xref: /haiku/headers/os/net/net_settings.h (revision f2b4344867e97c3f4e742a1b4a15e6879644601a)
1 /*
2  * Copyright 2009, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _NET_SETTINGS_H
6 #define _NET_SETTINGS_H
7 
8 
9 #include <SupportDefs.h>
10 
11 #if __cplusplus
12 	extern "C" {
13 #endif /* __cplusplus */
14 
15 
16 /* private types */
17 typedef struct _ns_entry {
18 	const char*		key;
19 	const char*		value;
20 } _ns_entry_t;
21 
22 typedef struct _ns_section {
23 	const char*		heading;
24 	unsigned		nentries;
25 	_ns_entry_t*	entries;
26 } _ns_section_t;
27 
28 
29 /* public type (data members are private) */
30 typedef struct _net_settings {
31 	int				_dirty;
32 	unsigned		_nsections;
33 	_ns_section_t*	_sections;
34 	char			_fname[64];
35 } net_settings;
36 
37 /* finding and setting network preferences */
38 extern char* find_net_setting(net_settings* ncw, const char* heading,
39 	const char* name, char* value, unsigned nbytes);
40 
41 extern status_t set_net_setting(net_settings* ncw, const char* heading,
42 	const char* name, const char* value);
43 
44 
45 #if __cplusplus
46 }
47 #endif /* __cplusplus */
48 
49 #endif /* _NET_SETTINGS_H */
50