make multipathd disable queue_without_daemon by default
[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         __RESIZE,
11         __RESET,
12         __RELOAD,
13         __FORCEQ,
14         __DISABLEQ,
15         __RESTOREQ,
16         __PATHS,
17         __MAPS,
18         __PATH,
19         __MAP,
20         __GROUP,
21         __RECONFIGURE,
22         __DAEMON,
23         __STATUS,
24         __STATS,
25         __TOPOLOGY,
26         __CONFIG,
27         __BLACKLIST,
28         __DEVICES,
29         __FMT,
30         __WILDCARDS,
31         __QUIT,
32         __SHUTDOWN,
33         __GETPRSTATUS,
34         __SETPRSTATUS,
35         __UNSETPRSTATUS,
36 };
37
38 #define LIST            (1 << __LIST)
39 #define ADD             (1 << __ADD)
40 #define DEL             (1 << __DEL)
41 #define SWITCH          (1 << __SWITCH)
42 #define SUSPEND         (1 << __SUSPEND)
43 #define RESUME          (1 << __RESUME)
44 #define REINSTATE       (1 << __REINSTATE)
45 #define FAIL            (1 << __FAIL)
46 #define RESIZE          (1 << __RESIZE)
47 #define RESET           (1 << __RESET)
48 #define RELOAD          (1 << __RELOAD)
49 #define FORCEQ          (1 << __FORCEQ)
50 #define DISABLEQ        (1 << __DISABLEQ)
51 #define RESTOREQ        (1 << __RESTOREQ)
52 #define PATHS           (1 << __PATHS)
53 #define MAPS            (1 << __MAPS)
54 #define PATH            (1 << __PATH)
55 #define MAP             (1 << __MAP)
56 #define GROUP           (1 << __GROUP)
57 #define RECONFIGURE     (1 << __RECONFIGURE)
58 #define DAEMON          (1 << __DAEMON)
59 #define STATUS          (1 << __STATUS)
60 #define STATS           (1 << __STATS)
61 #define TOPOLOGY        (1 << __TOPOLOGY)
62 #define CONFIG          (1 << __CONFIG)
63 #define BLACKLIST       (1 << __BLACKLIST)
64 #define DEVICES         (1 << __DEVICES)
65 #define FMT             (1 << __FMT)
66 #define COUNT           (1 << __COUNT)
67 #define WILDCARDS       (1 << __WILDCARDS)
68 #define QUIT            (1 << __QUIT)
69 #define SHUTDOWN        (1 << __SHUTDOWN)
70 #define GETPRSTATUS     (1UL << __GETPRSTATUS)
71 #define SETPRSTATUS     (1UL << __SETPRSTATUS)
72 #define UNSETPRSTATUS   (1UL << __UNSETPRSTATUS)
73
74 #define INITIAL_REPLY_LEN       1100
75
76 struct key {
77         char * str;
78         char * param;
79         unsigned long code;
80         int has_param;
81 };
82
83 struct handler {
84         unsigned long fingerprint;
85         int (*fn)(void *, char **, int *, void *);
86 };
87
88 int alloc_handlers (void);
89 int add_handler (unsigned long fp, int (*fn)(void *, char **, int *, void *));
90 int set_handler_callback (unsigned long fp, int (*fn)(void *, char **, int *, void *));
91 int parse_cmd (char * cmd, char ** reply, int * len, void *);
92 int load_keys (void);
93 char * get_keyparam (vector v, unsigned long code);
94 void free_keys (vector vec);
95 void free_handlers (void);
96 int cli_init (void);
97 void cli_exit(void);
98 char * key_generator (const char * str, int state);