00001 /* 00002 This file is a part of the Dylp LP distribution. 00003 00004 Copyright (C) 2005 -- 2007 Lou Hafer 00005 00006 School of Computing Science 00007 Simon Fraser University 00008 Burnaby, B.C., V5A 1S6, Canada 00009 lou@cs.sfu.ca 00010 00011 This code is licensed under the terms of the Eclipse Public License (EPL). 00012 */ 00013 00014 #ifndef _DY_CMDINT_H 00015 #define _DY_CMDINT_H 00016 00017 /* 00018 @(#)dy_cmdint.h 3.3 06/22/04 00019 svn/cvs: $Id$ 00020 00021 Declarations specific to dylp's command interpreter. 00022 */ 00023 00024 #include "dylib_std.h" 00025 #include "dylib_io.h" 00026 #include "dylib_errs.h" 00027 00028 /* 00029 We need dylp.h only for the typedefs of lpopts_struct and lptols_struct, 00030 and extern declarations for dy_logchn and dy_gtxecho. 00031 */ 00032 #define DYLP_INTERNAL 00033 #include "dylp.h" 00034 00035 /* 00036 cmdint.c 00037 */ 00038 00039 /* 00040 Return codes for command execution routines called from the command 00041 interpreter: 00042 00043 cmdOK execution of the command was adequately successful, further 00044 command interpretation should continue. 00045 cmdHALTNOERROR execution of the command was adequately successful, but break 00046 out of the command interpretation loop. 00047 cmdHALTERROR an error occurred during execution of the command, break 00048 out of the command interpretation loop. 00049 00050 As return codes for process_cmds, the interpretation is slightly different: 00051 cmdOK command interpretation was ended by an eof on the top level 00052 command channel (this is the normal case when command execution 00053 completes without error). 00054 cmdHALTNOERROR some command returned a cmdHALTNOERROR return code. 00055 cmdHALTERROR either a command returned a cmdHALTERROR return code, or a 00056 fatal error occurred in process_cmds. 00057 */ 00058 00059 typedef enum { cmdOK, cmdHALTERROR, cmdHALTNOERROR } cmd_retval ; 00060 00061 cmd_retval dy_processcmds(ioid cmdchn, bool silent, 00062 lpopts_struct *lpopts, lptols_struct *lptols) ; 00063 00064 #endif /* _DY_CMDINT_H */