blob: 06c48e63f89bc1a9663abea9efba8fa6d74f69d8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef __INCLUDE_UTILS__
#define __INCLUDE_UTILS__
enum {
/* Mandatory */
PATH_TO_SERIAL_PORT_POS,
PATH_TO_GPIO_CHIP_POS,
/* Optional */
NETWORK_USERNAME_POS,
NETWORK_PASSWORD_POS,
NETWORK_AUTH_POS,
STR_LIST_LENGTH
};
enum { PIN_PWR_KEY_POS, PIN_STATUS_POS, INT_LIST_LENGTH };
typedef struct {
char *name;
char *value;
} strData;
typedef struct {
char *name;
int value;
} intData;
typedef struct {
strData *strDataList;
intData *intDataList;
} listCfgData;
int checkPinVal(char *pathToChip, int pinNum);
/* Example config file:
path_to_serial_port = "/dev/serial0"
path_to_gpio_chip = "/dev/gpiochip0"
pin_pwr_key = "17"
pin_status = "27"
Below are optional:
network_username = "something something"
network_password = "something something"
network_auth = "something something"
*/
int readCfg(listCfgData dataCfg, const char *pathExe);
int freeCfgData(listCfgData cfgData);
#endif
|