Remove DAEMON defines
[platform/upstream/multipath-tools.git] / libmultipath / structs_vec.h
1 #ifndef _STRUCTS_VEC_H
2 #define _STRUCTS_VEC_H
3
4 struct vectors {
5         pthread_mutex_t *lock;
6         vector pathvec;
7         vector mpvec;
8 };
9
10 void set_no_path_retry(struct multipath *mpp);
11
12 int adopt_paths (vector pathvec, struct multipath * mpp);
13 void orphan_paths (vector pathvec, struct multipath * mpp);
14 void orphan_path (struct path * pp);
15
16 int verify_paths(struct multipath * mpp, struct vectors * vecs, vector rpvec);
17 int update_mpp_paths(struct multipath * mpp, vector pathvec);
18 int setup_multipath (struct vectors * vecs, struct multipath * mpp);
19 int update_multipath_strings (struct multipath *mpp, vector pathvec);
20         
21 void remove_map (struct multipath * mpp, struct vectors * vecs, int purge_vec);
22 void remove_map_and_stop_waiter (struct multipath * mpp, struct vectors * vecs, int purge_vec);
23 void remove_maps (struct vectors * vecs);
24 void remove_maps_and_stop_waiters (struct vectors * vecs);
25
26 struct multipath * add_map_without_path (struct vectors * vecs,
27                                 int minor, char * alias);
28 struct multipath * add_map_with_path (struct vectors * vecs,
29                                 struct path * pp, int add_vec);
30 int update_multipath (struct vectors *vecs, char *mapname);
31 void update_queue_mode_del_path(struct multipath *mpp);
32 void update_queue_mode_add_path(struct multipath *mpp);
33
34 #endif /* _STRUCTS_VEC_H */