(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