chiark / gitweb /
Up to halfway down rhs p.12, inc builtin services, but not working yet.
[userv.git] / lexer.l.m4
index 0337686c72827a52541d05fdfa6d320262423b23..2f360606017eb44ba2695832c90e79015f3d2f3e 100644 (file)
@@ -46,7 +46,7 @@ include(language.i4)
 
 typedef int directive_fnt(int dtoken);
 static directive_fnt df_reject, df_execute, df_executefrompath;
-static directive_fnt df_executefromdirectory;
+static directive_fnt df_executefromdirectory, df_executebuiltin;
 static directive_fnt df_errorstostderr, df_errorstosyslog, df_errorstofile;
 static directive_fnt dfg_fdwant, dfg_setflag;
 static directive_fnt df_reset, df_cd, df_userrcfile, df_include;
@@ -81,11 +81,23 @@ static parameter_fnt pf_callingusershell, pf_serviceusershell;
  * freeparm can be used to free such an array.
  */
 
+typedef int builtinserviceparse_fnt(char ***rnewargs);
+static builtinserviceparse_fnt bispa_none, bispa_parameter;
+/* These parse the arguments to a builtin service, including the
+ * newline at the end of the line.  *rnewargs will initially be
+ * null, indicating that no arguments are to be set; the function
+ * may store a mallocd array of mallocd strings in it,
+ * containing the arguments it wishes to have set (null-pointer
+ * terminated).
+ */
+
 static int yylex(void);
 /* Returns a token (which may be an eof or error exception) */
 
 static directive_fnt *lr_dir;
 static parmcondition_fnt *lr_parmcond;
+static builtinserviceparse_fnt *lr_bispa;
+static builtinserviceexec_fnt *lr_bisexec;
 static parameter_fnt *lr_parameter;
 static int lr_loglevel, lr_logfacility, lr_min, lr_max, *lr_flag;
 static int lr_flagval, lr_controlend;