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;
32 struct conf_global_option *global_options;
34 char *(*get_pair)(struct conf_context *conf, char *str, char **name_out,
35 char **value_out, char terminator);
36 void (*process_pair)(struct conf_context *conf, const char *name,
38 void (*finish)(struct conf_context *conf);
41 void conf_parse_buf(struct conf_context *conf, char *buf, int len);
42 char *conf_get_pair(struct conf_context *conf, char *str, char **name_out,
43 char **value_out, char delimiter, char terminator);
44 void conf_init_global_options(struct conf_context *conf);
45 const char *conf_get_global_option(struct conf_context *conf,
47 int conf_set_global_option(struct conf_context *conf, const char *name,
50 static inline char *conf_get_pair_equal(struct conf_context *conf, char *str,
51 char **name_out, char **value_out, char terminator)
53 return conf_get_pair(conf, str, name_out, value_out, '=', terminator);
56 static inline char *conf_get_pair_space(struct conf_context *conf, char *str,
57 char **name_out, char **value_out, char terminator)
59 return conf_get_pair(conf, str, name_out, value_out, ' ', terminator);
62 /* utility routines */
64 int conf_param_in_list(const char *const *list, const char *param);
65 char *conf_strip_str(char *s);
66 char *conf_replace_char(char *s, char from, char to);