Lines Matching refs:state

33 static void parse_line_device(struct parse_state *state, int nargs, char **args);
70 static void parse_line_no_op(struct parse_state *state __attribute__((unused)),
100 static void *parse_subsystem(struct parse_state *state,
106 parse_error(state, "invalid subsystem name '%s'\n", args[1]);
112 parse_error(state, "ignored duplicate definition of subsystem '%s'\n",
119 parse_error(state, "out of memory\n");
128 static void parse_line_subsystem(struct parse_state *state, int nargs,
131 struct ueventd_subsystem *s = state->context;
146 parse_error(state, "invalid devname '%s'\n", args[1]);
153 parse_error(state, "dirname '%s' does not start with '/'\n",
158 parse_error(state, "invalid option '%s'\n", args[0]);
162 static void parse_new_section(struct parse_state *state, int kw,
170 state->context = parse_subsystem(state, nargs, args);
171 if (state->context) {
172 state->parse_line = parse_line_subsystem;
177 state->parse_line = parse_line_no_op;
180 static void parse_line(struct parse_state *state, char **args, int nargs)
186 parse_error(state, "%s requires %d %s\n", args[0], kw_nargs - 1,
192 parse_new_section(state, kw, nargs, args);
194 state->parse_line(state, nargs, args);
196 parse_line_device(state, nargs, args);
202 struct parse_state state;
206 state.filename = fn;
207 state.line = 1;
208 state.ptr = s;
209 state.nexttoken = 0;
210 state.parse_line = parse_line_no_op;
212 int token = next_token(&state);
215 parse_line(&state, args, nargs);
219 parse_line(&state, args, nargs);
222 state.line++;
226 args[nargs++] = state.text;
244 static void parse_line_device(struct parse_state *state __attribute__((unused)),