/* This file is the interface to the rest of rc for any locally
   defined addon builtins.  By default there are none.
   The interface consists of the following macro.
ADDONS: comma-separated list of pairs of function pointers and string literals.
The builtins all have the form: void b_NAME(char **av);
Builtins report their exit status using set(TRUE) or set(FALSE).
*/

/* MAKE SURE YOU USE COMMAS CORRECTLY! LAST ITEM SHOULDN'T HAVE ONE */

#ifdef ADDON
#define ADDONS   \
  { b_test,    "test"}, { b_test, "[" }, /* */   \
  { b_expr,    "expr"},                  /* */   \
  { b_getopt,  "getopt"},                /* */   \
  { b_seq,     "seq"},                   /* */   \
  { b_true,    "true"},                  /* */   \
  { b_false,   "false"},                 /* */   \
  { b_read,    "read"},                  /* */   \
  { b_ssub,    "ssub"}                   /* */    

extern void b_test(char **av);   /* */
extern void b_expr(char **av);   /* */
extern void b_getopt(char **av); /* */
extern void b_seq(char **av);    /* */
extern void b_true(char **av);   /* */
extern void b_false(char **av);  /* */
extern void b_read(char **av);   /* */
extern void b_ssub(char **av);   /* */

#endif
