[libmultipath] fix segfault in print.c when MAX_LINE_LEN is reached
[multipath-tools/.git] / libmultipath / print.h
1 /*
2  * path format magics :
3  * 
4  * %w : multipath uid
5  * %i : scsi tuple
6  * %d : device name
7  * %D : device major:minor
8  * %t : device mapper path status
9  * %T : checker path status
10  * %s : scsi strings
11  * %c : claimed
12  * 
13  * map format magics :
14  * 
15  * %w : multipath uid
16  * %d : DM device name
17  * %F : failback countdown
18  * %C : checker countdown
19  */
20 #define PRINT_PATH_LONG      "%w %i %d %D %t%T%c %s"
21 #define PRINT_PATH_INDENT    " \\_ %i %d %D %t%T%c"
22 #define PRINT_PATH_CHECKER   "%i %d %D %t%T %C"
23 #define PRINT_MAP_FAILBACK   "%w %d %F"
24
25 #define MAX_LINE_LEN 80
26
27 struct path_layout {
28         int hbtl_len;
29         int dev_len;
30         int dev_t_len;
31 };
32
33 struct map_layout {
34         int mapname_len;
35         int mapdev_len;
36 };
37
38
39 void get_path_layout (struct path_layout * pl, vector pathvec);
40 void get_map_layout (struct map_layout * pl, vector mpvec);
41 int snprint_path (char *, int, char *, struct path *, struct path_layout *);
42 int snprint_map (char *, int, char *,struct multipath *, struct map_layout *);