init_parser.h revision ebe2cb312d36788fa9956ef6829c6aada495606f
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