GNU Info

Info Node: (readline.info)Readline Typedefs

(readline.info)Readline Typedefs


Next: Function Writing Up: Custom Functions
Enter node , (file) or (file)node

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 **);'

automatically generated by info2www version 1.2.2.9