[multipathd] show maps/paths to grow its output buffer
[platform/upstream/multipath-tools.git] / multipathd / cli.h
1 enum {
2         __LIST,
3         __ADD,
4         __DEL,
5         __SWITCH,
6         __SUSPEND,
7         __RESUME,
8         __REINSTATE,
9         __FAIL,
10         __PATHS,
11         __MAPS,
12         __PATH,
13         __MAP,
14         __GROUP,
15         __DUMP,
16         __PATHVEC,
17         __RECONFIGURE
18 };
19
20 #define LIST            (1 << __LIST)
21 #define ADD             (1 << __ADD)
22 #define DEL             (1 << __DEL)
23 #define SWITCH          (1 << __SWITCH)
24 #define SUSPEND         (1 << __SUSPEND)
25 #define RESUME          (1 << __RESUME)
26 #define REINSTATE       (1 << __REINSTATE)
27 #define FAIL            (1 << __FAIL)
28 #define PATHS           (1 << __PATHS)
29 #define MAPS            (1 << __MAPS)
30 #define PATH            (1 << __PATH)
31 #define MAP             (1 << __MAP)
32 #define GROUP           (1 << __GROUP)
33 #define DUMP            (1 << __DUMP)
34 #define PATHVEC         (1 << __PATHVEC)
35 #define RECONFIGURE     (1 << __RECONFIGURE)
36
37 #define INITIAL_REPLY_LEN 1000
38
39 struct key {
40         char * str;
41         char * param;
42         int code;
43         int has_param;
44 };
45
46 struct handler {
47         int fingerprint;
48         int (*fn)(void *, char **, int *, void *);
49 };
50
51 vector keys;
52 vector handlers;
53
54 int alloc_handlers (void);
55 int add_handler (int fp, int (*fn)(void *, char **, int *, void *));
56 int parse_cmd (char * cmd, char ** reply, int * len, void *);
57 int load_keys (void);
58 char * get_keyparam (vector v, int code);
59 void free_keys (vector vec);
60 void free_handlers (vector vec);