2 * Copyright (C) 2009 Sony Computer Entertainment Inc.
3 * Copyright 2009 Sony Corp.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; version 2 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #if !defined(_PB_DISCOVER_CONFIG_H)
20 #define _PB_DISCOVER_CONFIG_H
22 #include "device-handler.h"
24 struct conf_global_option {
31 struct discover_context *dc;
33 struct conf_global_option *global_options;
34 const char *const *conf_files;
36 char *(*get_pair)(struct conf_context *conf, char *str, char **name_out,
37 char **value_out, char terminator);
38 void (*process_pair)(struct conf_context *conf, const char *name,
40 void (*finish)(struct conf_context *conf);
43 int conf_parse(struct conf_context *conf);
44 char *conf_get_pair(struct conf_context *conf, char *str, char **name_out,
45 char **value_out, char delimiter, char terminator);
46 void conf_init_global_options(struct conf_context *conf);
47 const char *conf_get_global_option(struct conf_context *conf,
49 int conf_set_global_option(struct conf_context *conf, const char *name,
52 static inline char *conf_get_pair_equal(struct conf_context *conf, char *str,
53 char **name_out, char **value_out, char terminator)
55 return conf_get_pair(conf, str, name_out, value_out, '=', terminator);
58 static inline char *conf_get_pair_space(struct conf_context *conf, char *str,
59 char **name_out, char **value_out, char terminator)
61 return conf_get_pair(conf, str, name_out, value_out, ' ', terminator);
64 /* utility routines */
66 int conf_param_in_list(const char *const *list, const char *param);
67 char *conf_strip_str(char *s);
68 char *conf_replace_char(char *s, char from, char to);