DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(readline.info.gz) Readline Typedefs

Info Catalog (readline.info.gz) Custom Functions (readline.info.gz) Function Writing
 
 2.2.1 Readline Typedefs
 -----------------------
 
 For readabilty, we declare a number of new object types, all pointers
 to functions.
 
    The reason for declaring these new types is to make it easier to
 write code describing pointers to C functions with appropriately
 prototyped arguments and return values.
 
    For instance, say we want to declare a variable FUNC as a pointer to
 a function which takes two `int' arguments and returns an `int' (this
 is the type of all of the Readline bindable functions).  Instead of the
 classic C declaration
 
    `int (*func)();'
 
 or the ANSI-C style declaration
 
    `int (*func)(int, int);'
 
 we may write
 
    `rl_command_func_t *func;'
 
    The full list of function pointer types available is
 
 `typedef int rl_command_func_t (int, int);'
 
 `typedef char *rl_compentry_func_t (const char *, int);'
 
 `typedef char **rl_completion_func_t (const char *, int, int);'
 
 `typedef char *rl_quote_func_t (char *, int, char *);'
 
 `typedef char *rl_dequote_func_t (char *, int);'
 
 `typedef int rl_compignore_func_t (char **);'
 
 `typedef void rl_compdisp_func_t (char **, int, int);'
 
 `typedef int rl_hook_func_t (void);'
 
 `typedef int rl_getc_func_t (FILE *);'
 
 `typedef int rl_linebuf_func_t (char *, int);'
 
 `typedef int rl_intfunc_t (int);'
 
 `#define rl_ivoidfunc_t rl_hook_func_t'
 
 `typedef int rl_icpfunc_t (char *);'
 
 `typedef int rl_icppfunc_t (char **);'
 
 `typedef void rl_voidfunc_t (void);'
 
 `typedef void rl_vintfunc_t (int);'
 
 `typedef void rl_vcpfunc_t (char *);'
 
 `typedef void rl_vcppfunc_t (char **);'
 
Info Catalog (readline.info.gz) Custom Functions (readline.info.gz) Function Writing
automatically generated byinfo2html