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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#ifndef _CONFIG_H
#define _CONFIG_H
#ifndef _VECTOR_H
#include "vector.h"
#endif
enum devtypes {
DEV_NONE,
DEV_DEVT,
DEV_DEVNODE,
DEV_DEVMAP
};
struct hwentry {
int selector_args;
int pgpolicy;
int checker_index;
int pgfailback;
int rr_weight;
char * vendor;
char * product;
char * selector;
char * getuid;
char * getprio;
char * features;
char * hwhandler;
};
struct mpentry {
int selector_args;
int pgpolicy;
int pgfailback;
int rr_weight;
char * wwid;
char * selector;
char * getuid;
char * alias;
};
struct config {
int verbosity;
int dry_run;
int list;
int pgpolicy_flag;
int with_sysfs;
int default_selector_args;
int default_pgpolicy;
int default_checker_index;
int dev_type;
int minio;
int checkint;
int max_checkint;
int pgfailback;
int remove;
int rr_weight;
char * dev;
char * udev_dir;
char * default_selector;
char * default_getuid;
char * default_getprio;
char * default_features;
char * default_hwhandler;
vector mptable;
vector hwtable;
vector blist;
};
struct config * conf;
struct hwentry * find_hwe (vector hwtable, char * vendor, char * product);
struct mpentry * find_mpe (char * wwid);
char * get_mpe_wwid (char * alias);
struct mpentry * alloc_mpe (void);
void free_hwe (struct hwentry * hwe);
void free_hwtable (vector hwtable);
void free_mpe (struct mpentry * mpe);
void free_mptable (vector mptable);
int store_hwe (vector hwtable, char * vendor, char * product, int pgp,
char * getuid);
int store_hwe_ext (vector hwtable, char * vendor, char * product, int pgp,
char * getuid, char * getprio, char * hwhandler,
char * features, char * checker, int pgfailback);
int load_config (char * file);
struct config * alloc_config (void);
void free_config (struct config * conf);
#endif
|