| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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 **);
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
