/
usb_moded-config.h
101 lines (81 loc) · 3.22 KB
1
2
3
/*
Copyright (C) 2010 Nokia Corporation. All rights reserved.
4
Copyright (C) 2012-2015 Jolla. All rights reserved.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
author: Philippe De Swert <philippe.de-swert@nokia.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the Lesser GNU General Public License
version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the Lesser GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA
*/
24
#define CONFIG_FILE_DIR "/etc/usb-moded"
25
#define FS_MOUNT_CONFIG_FILE CONFIG_FILE_DIR"/usb-moded.ini"
26
27
28
#define MODE_SETTING_ENTRY "usbmode"
#define MODE_SETTING_KEY "mode"
29
30
31
32
33
34
35
#define FS_MOUNT_DEFAULT "/dev/mmcblk0p1"
#define FS_MOUNT_ENTRY "mountpoints"
#define FS_MOUNT_KEY "mount"
#define FS_SYNC_ENTRY "sync"
#define FS_SYNC_KEY "nofua"
#define ALT_MOUNT_ENTRY "altmount"
#define ALT_MOUNT_KEY "mount"
36
37
#define UDEV_PATH_ENTRY "udev"
#define UDEV_PATH_KEY "path"
38
#define UDEV_SUBSYSTEM_KEY "subsystem"
39
#define CDROM_ENTRY "cdrom"
40
#define CDROM_PATH_KEY "path"
41
#define CDROM_TIMEOUT_KEY "timeout"
42
43
#define TRIGGER_ENTRY "trigger"
#define TRIGGER_PATH_KEY "path"
44
#define TRIGGER_UDEV_SUBSYSTEM "udev_subsystem"
45
#define TRIGGER_MODE_KEY "mode"
46
47
#define TRIGGER_PROPERTY_KEY "property"
#define TRIGGER_PROPERTY_VALUE_KEY "value"
48
49
50
#define NETWORK_ENTRY "network"
#define NETWORK_IP_KEY "ip"
#define NETWORK_INTERFACE_KEY "interface"
51
#define NETWORK_GATEWAY_KEY "gateway"
52
#define NETWORK_NAT_INTERFACE_KEY "nat_interface"
53
#define NETWORK_NETMASK_KEY "netmask"
54
#define NO_ROAMING_KEY "noroaming"
55
#define ANDROID_ENTRY "android"
56
57
58
59
#define ANDROID_MANUFACTURER_KEY "iManufacturer"
#define ANDROID_VENDOR_ID_KEY "idVendor"
#define ANDROID_PRODUCT_KEY "iProduct"
#define ANDROID_PRODUCT_ID_KEY "idProduct"
60
#define MODE_HIDE_KEY "hide"
61
#define MODE_WHITELIST_KEY "whitelist"
62
63
char * find_mounts(void);
64
int find_sync(void);
65
char * find_alt_mount(void);
66
67
68
char * find_udev_path(void);
char * find_udev_subsystem(void);
69
70
71
72
73
74
char * check_trigger(void);
char * get_trigger_subsystem(void);
char * get_trigger_mode(void);
char * get_trigger_property(void);
char * get_trigger_value(void);
75
76
char * get_network_setting(const char *config);
77
78
79
80
81
char * get_android_manufacturer(void);
char * get_android_vendor_id(void);
char * get_android_product(void);
char * get_android_product_id(void);
82
83
char * get_hidden_modes(void);
84
char * get_mode_whitelist(void);
85
86
87
int check_android_section(void);
88
89
int is_roaming_not_allowed(void);
90
91
92
93
94
95
typedef enum set_config_result_t {
SET_CONFIG_ERROR = -1,
SET_CONFIG_UPDATED,
SET_CONFIG_UNCHANGED
} set_config_result_t;
96
int conf_file_merge(void);
97
98
int config_value_changed(GKeyFile *settingsfile, const char *entry, const char *key, const char *new_value);
99
100
101
set_config_result_t set_config_setting(const char *entry, const char *key, const char *value);
#define SET_CONFIG_OK(ret) ((ret) >= SET_CONFIG_UPDATED)