--- libaitio/inc/aitio.h 2010/04/16 13:25:27 1.4 +++ libaitio/inc/aitio.h 2010/04/16 13:33:00 1.4.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.4 2010/04/16 13:25:27 misho Exp $ +* $Id: aitio.h,v 1.4.2.1 2010/04/16 13:33:00 misho Exp $ * *************************************************************************/ #ifndef __AITIO_H @@ -29,19 +29,7 @@ struct tagIOURL { char *url_reserved; }; -struct tagIOCmd { - const char *cmd_name; - int (*cmd_func)(void *, FILE *, char **); - const char *cmd_doc; - const char *cmd_help; - char *(*cmd_comp)(const char *, int); -}; -typedef struct tagIOCmd ioCommands_t; -typedef char *io_CompEntry_t(const char *, int); -typedef char **io_Completion_t(const char *, int, int); - - // io_GetErrno() Get error code of last operation inline int io_GetErrno(); // io_GetError() Get error text of last operation @@ -142,25 +130,25 @@ inline int io_MakeArray(char * __restrict psArgs, cons * @psLine = Text string * return: 0 nothing to do; 1 successful unquoted string */ -inline int io_UnquotStr(unsigned char *psLine); +inline int io_UnquotStr(unsigned char * __restrict psLine); /* * io_LTrimStr() Remove left whitespaces from text string * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int io_LTrimStr(unsigned char *psLine); +inline int io_LTrimStr(unsigned char * __restrict psLine); /* * io_RTrimStr() Remove right whitespaces from text string * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int io_RTrimStr(unsigned char *psLine); +inline int io_RTrimStr(unsigned char * __restrict psLine); /* * io_TrimStr() Remove left and right whitespaces from text string * @psLine = Text string * return: 0 nothing to do; !=0 Removed bytes */ -inline int io_TrimStr(unsigned char *psLine); +inline int io_TrimStr(unsigned char * __restrict psLine); /* * io_Char2Hex() Convert from Char string to Hex string * @psLine = Text string @@ -201,83 +189,6 @@ int ioURLGetValue(struct tagIOURL *url, const char *cs * return: -1 error:: can`t read; 0 ok */ int ioURLGetFile(struct tagIOURL *url, char * __restrict psValue, int valLen); - -/* - * ioCLIComp() Initialize completion CLI features - * @cmdComplete = Completion function - * @cmdEntry = Compentry function - * return: none -*/ -inline void ioCLIComp(io_Completion_t *cmdComplete, io_CompEntry_t *cmdEntry); -/* - * ioCLIExec() Execute CLI main loop - * @cmdList = Commands list - * @out = Output handle - * @csPrompt = Prompt text - * return: -1 error, 0 = exit w/^+D, 1 done. -*/ -int ioCLIExec(ioCommands_t *cmdList, FILE *out, const char *csPrompt); - -/* - * io_Cmd_Unsupported() Builtin helper function for unsupported commands - * @cmds = Commands list - * @out = Output handle - * @args = Parsed arguments array - * return: -1 error, 0 = ok, 1 exit from Cli! -*/ -int io_Cmd_Unsupported(void *cmds, FILE *out, char ** __restrict args); -/* - * io_Cmd_Help() Builtin helper function for Help screen - * @cmds = Commands list - * @out = Output handle - * @args = Parsed arguments array - * return: -1 error, 0 = ok -*/ -int io_Cmd_Help(void *cmds, FILE *out, char ** __restrict args); -/* - * io_Cmd_Exit() Builtin helper function for Exit from Cli - * @cmds = Commands list - * @out = Output handle - * @args = Parsed arguments array - * return: 1 exit from Cli! -*/ -int io_Cmd_Exit(void *cmds, FILE *out, char ** __restrict args); - - -/* - * io_Make_Comp_Commands - Declare helper function for Commands completion arguments -*/ -#define IO_MAKE_COMP_COMMANDS(FUNC, CMDS) \ - char *FUNC(const char *text, int state) \ - { \ - register int i; \ - int len = strlen(text); \ - for (i = state; CMDS[i].cmd_name; i++) { \ - if (strncmp(CMDS[i].cmd_name, "---", 3) && \ - !strncmp(CMDS[i].cmd_name, text, len)) \ - return strdup(CMDS[i].cmd_name); \ - } \ - return NULL; \ - } - -/* - * io_Make_Comp_Args - Declare helper function for Arguments completion -*/ -#define IO_MAKE_COMP_ARGS(FUNC, ARGS) \ - char *FUNC(const char *text __attribute__((unused)), int state) \ - { \ - while (ARGS[state]) \ - return strdup(ARGS[state]); \ - return NULL; \ - } - -/* - * io_Comp_Filename() Builtin helper function for filename completion arguments - * @text = Text line - * @state = Position state - * return: NULL not found filename, != NULL filename -*/ -char *io_Comp_Filename(const char *text, int state); #endif