[ < ] | [ > ] | [ << ] | [ 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] | [ ? ] |