Rename the README to README.md
[multipath-tools/.git] / multipathd / main.h
1 #ifndef MAIN_H
2 #define MAIN_H
3
4 #define MAPGCINT 5
5
6 enum daemon_status {
7         DAEMON_INIT = 0,
8         DAEMON_START,
9         DAEMON_CONFIGURE,
10         DAEMON_IDLE,
11         DAEMON_RUNNING,
12         DAEMON_SHUTDOWN,
13         DAEMON_STATUS_SIZE,
14 };
15
16 struct prout_param_descriptor;
17 struct prin_resp;
18
19 extern pid_t daemon_pid;
20 extern int uxsock_timeout;
21
22 void exit_daemon(void);
23 const char * daemon_status(void);
24 enum daemon_status wait_for_state_change_if(enum daemon_status oldstate,
25                                             unsigned long ms);
26 int need_to_delay_reconfig (struct vectors *);
27 int reconfigure (struct vectors *);
28 int ev_add_path (struct path *, struct vectors *, int);
29 int ev_remove_path (struct path *, struct vectors *, int);
30 int ev_add_map (char *, const char *, struct vectors *);
31 int ev_remove_map (char *, char *, int, struct vectors *);
32 int flush_map(struct multipath *, struct vectors *, int);
33 int set_config_state(enum daemon_status);
34 void * mpath_alloc_prin_response(int prin_sa);
35 int prin_do_scsi_ioctl(char *, int rq_servact, struct prin_resp * resp,
36                        int noisy);
37 void dumpHex(const char * , int len, int no_ascii);
38 int prout_do_scsi_ioctl(char * , int rq_servact, int rq_scope,
39                         unsigned int rq_type,
40                         struct prout_param_descriptor *param, int noisy);
41 int mpath_pr_event_handle(struct path *pp);
42 void * mpath_pr_event_handler_fn (void * );
43 int update_map_pr(struct multipath *mpp);
44 void * mpath_pr_event_handler_fn (void * pathp );
45 void handle_signals(bool);
46 int __setup_multipath (struct vectors * vecs, struct multipath * mpp,
47                        int reset);
48 #define setup_multipath(vecs, mpp) __setup_multipath(vecs, mpp, 1)
49 int update_multipath (struct vectors *vecs, char *mapname, int reset);
50 int reload_and_sync_map(struct multipath *mpp, struct vectors *vecs,
51                         int refresh);
52
53 #endif /* MAIN_H */