#define ERRMSG_RESERVE_ERRNO 128
int parse_string(const char *string, const char *descrip, int isinternal);
-void parseerrprint(const char *fmt, ...) PRINTFFORMAT(1,2);
+int parseerrprint(const char *fmt, ...) PRINTFFORMAT(1,2);
void ensurelogopen(int wantfacility);
void ensurefdarray(int fd);
const char *printtoken(int token);
typedef void builtinserviceexec_fnt(const char *const *args);
builtinserviceexec_fnt NONRETURNING bisexec_environment, bisexec_parameter;
-builtinserviceexec_fnt NONRETURNING bisexec_version;
+builtinserviceexec_fnt NONRETURNING bisexec_version, bisexec_help;
builtinserviceexec_fnt NONRETURNING bisexec_toplevel, bisexec_override, bisexec_reset;
-builtinserviceexec_fnt NONRETURNING bisexec_execute;
+builtinserviceexec_fnt NONRETURNING bisexec_execute, bisexec_shutdown;
+extern const char *const builtinservicehelpstrings[];
void execservice(const int synchsocket[], int clientfd) NONRETURNING;
void servicerequest(int sfd) NONRETURNING;