16310a8261c922533a692fb3e74ece2da98d4bafaColin Cross/*
26310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * Copyright (C) 2010 The Android Open Source Project
36310a8261c922533a692fb3e74ece2da98d4bafaColin Cross *
46310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * Licensed under the Apache License, Version 2.0 (the "License");
56310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * you may not use this file except in compliance with the License.
66310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * You may obtain a copy of the License at
76310a8261c922533a692fb3e74ece2da98d4bafaColin Cross *
86310a8261c922533a692fb3e74ece2da98d4bafaColin Cross *      http://www.apache.org/licenses/LICENSE-2.0
96310a8261c922533a692fb3e74ece2da98d4bafaColin Cross *
106310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * Unless required by applicable law or agreed to in writing, software
116310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * distributed under the License is distributed on an "AS IS" BASIS,
126310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * See the License for the specific language governing permissions and
146310a8261c922533a692fb3e74ece2da98d4bafaColin Cross * limitations under the License.
156310a8261c922533a692fb3e74ece2da98d4bafaColin Cross */
166310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
176310a8261c922533a692fb3e74ece2da98d4bafaColin Cross#ifndef _INIT_INIT_PARSER_H_
186310a8261c922533a692fb3e74ece2da98d4bafaColin Cross#define _INIT_INIT_PARSER_H_
196310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
206310a8261c922533a692fb3e74ece2da98d4bafaColin Cross#define INIT_PARSER_MAXARGS 64
216310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
226310a8261c922533a692fb3e74ece2da98d4bafaColin Crossstruct action;
236310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
246310a8261c922533a692fb3e74ece2da98d4bafaColin Crossstruct action *action_remove_queue_head(void);
256310a8261c922533a692fb3e74ece2da98d4bafaColin Crossvoid action_add_queue_tail(struct action *act);
266310a8261c922533a692fb3e74ece2da98d4bafaColin Crossvoid action_for_each_trigger(const char *trigger,
276310a8261c922533a692fb3e74ece2da98d4bafaColin Cross                             void (*func)(struct action *act));
286310a8261c922533a692fb3e74ece2da98d4bafaColin Crossint action_queue_empty(void);
296310a8261c922533a692fb3e74ece2da98d4bafaColin Crossvoid queue_property_triggers(const char *name, const char *value);
306310a8261c922533a692fb3e74ece2da98d4bafaColin Crossvoid queue_all_property_triggers();
316310a8261c922533a692fb3e74ece2da98d4bafaColin Crossvoid queue_builtin_action(int (*func)(int nargs, char **args), char *name);
326310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
336310a8261c922533a692fb3e74ece2da98d4bafaColin Crossint init_parse_config_file(const char *fn);
34ebe2cb312d36788fa9956ef6829c6aada495606fDima Zavinint expand_props(char *dst, const char *src, int len);
356310a8261c922533a692fb3e74ece2da98d4bafaColin Cross
366310a8261c922533a692fb3e74ece2da98d4bafaColin Cross#endif
37