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 97 98
|
#ifndef _CONFIG_H
#define _CONFIG_H
enum devtypes {
DEV_NONE,
DEV_DEVT,
DEV_DEVNODE,
DEV_DEVMAP
};
struct hwentry {
char * vendor;
char * product;
char * getuid;
char * getprio;
char * features;
char * hwhandler;
char * selector;
char * checker_name;
int pgpolicy;
int pgfailback;
int rr_weight;
int no_path_retry;
int minio;
struct checker * checker;
char * bl_product;
};
struct mpentry {
char * wwid;
char * alias;
char * getuid;
char * selector;
int pgpolicy;
int pgfailback;
int rr_weight;
int no_path_retry;
int minio;
};
struct config {
int verbosity;
int dry_run;
int list;
int pgpolicy_flag;
int with_sysfs;
int pgpolicy;
struct checker * checker;
enum devtypes dev_type;
int minio;
int checkint;
int max_checkint;
int pgfailback;
int remove;
int rr_weight;
int no_path_retry;
int user_friendly_names;
char * dev;
char * udev_dir;
char * selector;
char * getuid;
char * getprio;
char * features;
char * hwhandler;
char * bindings_file;
vector keywords;
vector mptable;
vector hwtable;
vector blist_devnode;
vector blist_wwid;
vector blist_device;
};
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, struct hwentry *);
int load_config (char * file);
struct config * alloc_config (void);
void free_config (struct config * conf);
#endif
|