multipathd: fix reservation_key check
[multipath-tools/.git] / libmultipath / blacklist.h
1 #ifndef _BLACKLIST_H
2 #define _BLACKLIST_H
3
4 #include <libudev.h>
5 #include <regex.h>
6
7 #define MATCH_NOTHING        0
8 #define MATCH_WWID_BLIST     1
9 #define MATCH_DEVICE_BLIST   2
10 #define MATCH_DEVNODE_BLIST  3
11 #define MATCH_PROPERTY_BLIST 4
12 #define MATCH_PROPERTY_BLIST_MISSING 5
13 #define MATCH_WWID_BLIST_EXCEPT     -MATCH_WWID_BLIST
14 #define MATCH_DEVICE_BLIST_EXCEPT   -MATCH_DEVICE_BLIST
15 #define MATCH_DEVNODE_BLIST_EXCEPT  -MATCH_DEVNODE_BLIST
16 #define MATCH_PROPERTY_BLIST_EXCEPT -MATCH_PROPERTY_BLIST
17
18 struct blentry {
19         char * str;
20         regex_t regex;
21         int origin;
22 };
23
24 struct blentry_device {
25         char * vendor;
26         char * product;
27         regex_t vendor_reg;
28         regex_t product_reg;
29         int origin;
30 };
31
32 int setup_default_blist (struct config *);
33 int alloc_ble_device (vector);
34 int filter_devnode (vector, vector, char *);
35 int filter_wwid (vector, vector, char *, char *);
36 int filter_device (vector, vector, char *, char *);
37 int filter_path (struct config *, struct path *);
38 int filter_property(struct config *, struct udev_device *);
39 int store_ble (vector, char *, int);
40 int set_ble_device (vector, char *, char *, int);
41 void free_blacklist (vector);
42 void free_blacklist_device (vector);
43
44 #endif /* _BLACKLIST_H */