File: structs_vec.h

package info (click to toggle)
multipath-tools 0.13.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,992 kB
  • sloc: ansic: 63,788; perl: 1,622; makefile: 729; sh: 647; pascal: 150
file content (42 lines) | stat: -rw-r--r-- 1,556 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef STRUCTS_VEC_H_INCLUDED
#define STRUCTS_VEC_H_INCLUDED

#include "vector.h"
#include "config.h"
#include "lock.h"

struct vectors {
	vector pathvec;
	vector mpvec;
	struct mutex_lock lock; /* defined in lock.h */
};

void set_no_path_retry(struct multipath *mpp);

int adopt_paths (vector pathvec, struct multipath *mpp,
		 const struct multipath *current_mpp);
void orphan_path (struct path * pp, const char *reason);
void set_path_removed(struct path *pp);

int verify_paths(struct multipath *mpp);
int update_mpp_paths(struct multipath * mpp, vector pathvec);
int update_multipath_strings (struct multipath *mpp, vector pathvec);
void extract_hwe_from_path(struct multipath * mpp);

void remove_map (struct multipath *mpp, vector pathvec, vector mpvec);
void remove_map_by_alias(const char *alias, struct vectors * vecs);
void remove_maps (struct vectors * vecs);

void sync_map_state (struct multipath *mpp, bool reinstate_only);
struct multipath * add_map_with_path (struct vectors * vecs,
				      struct path * pp, int add_vec,
				      const struct multipath *current_mpp);
void update_queue_mode_del_path(struct multipath *mpp);
void update_queue_mode_add_path(struct multipath *mpp);
int update_multipath_table__ (struct multipath *mpp, vector pathvec, int flags,
			      const char *params, const char *status);
int update_multipath_table (struct multipath *mpp, vector pathvec, int flags);
int update_multipath_status (struct multipath *mpp);
vector get_used_hwes(const struct vector_s *pathvec);

#endif /* STRUCTS_VEC_H_INCLUDED */