]> granicus.if.org Git - sysstat/blob - systest.h
sar/sadc: Dereference nr array pointer in struct activity
[sysstat] / systest.h
1 /*
2  * sysstat: System performance tools for Linux
3  * (C) 1999-2020 by Sebastien Godard (sysstat <at> orange.fr)
4  */
5
6 #ifndef _SYSTEST_H
7 #define _SYSTEST_H
8
9 #include <time.h>
10 #include <dirent.h>
11 #include <sys/utsname.h>
12 #include <sys/statvfs.h>
13 #include <sys/stat.h>
14
15 #ifndef MINORBITS
16 #define MINORBITS       20
17 #endif
18 #define S_MAXMINOR      ((1U << MINORBITS) - 1)
19 #define S_MAXMAJOR      ((1U << (32 - MINORBITS)) - 1)
20
21 /* Test mode: Use alternate files and syscalls */
22 #ifdef TEST
23
24 #define PRE                     "./tests/root"
25 #define __time(m)               get_unix_time(m)
26 #define __uname(m)              get_uname(m)
27 #define __statvfs(m,n)          get_fs_stat(m,n)
28 #define __getenv(m)             get_env_value(m)
29 #define __alarm(m)
30 #define __pause()               next_time_step()
31 #define __stat(m,n)             virtual_stat(m,n)
32 #define __opendir(m)            open_list(m)
33 #define __readdir(m)            read_list(m)
34 #define __closedir(m)           close_list(m)
35 #define __realpath(m,n)         get_realname(m,n)
36 #define __gettimeofday(m,n)     get_day_time(m)
37 #define __getpwuid(m)           get_usrname(m)
38 #define __fork(m)               get_known_pid(m)
39 #define __major(m)              (m >> MINORBITS)
40 #define __minor(m)              (m & S_MAXMINOR)
41
42 #define ROOTDIR         "./tests/root"
43 #define ROOTFILE        "root"
44 #define TESTDIR         "./tests"
45 #define VIRTUALHD       "./tests/root/dev/mapper/virtualhd"
46 #define _LIST           "_list"
47
48 #else
49
50 #define PRE     ""
51
52 #define __time(m)               time(m)
53 #define __uname(m)              uname(m)
54 #define __statvfs(m,n)          statvfs(m,n)
55 #define __getenv(m)             getenv(m)
56 #define __alarm(m)              alarm(m)
57 #define __pause()               pause()
58 #define __stat(m,n)             stat(m,n)
59 #define __opendir(m)            opendir(m)
60 #define __readdir(m)            readdir(m)
61 #define __closedir(m)           closedir(m)
62 #define __realpath(m,n)         realpath(m,n)
63 #define __gettimeofday(m,n)     gettimeofday(m,n)
64 #define __getpwuid(m)           getpwuid(m)
65 #define __fork(m)               fork(m)
66 #define __major(m)              major(m)
67 #define __minor(m)              minor(m)
68
69 #endif
70
71 /*
72  ***************************************************************************
73  * Functions prototypes
74  ***************************************************************************
75  */
76 #ifdef TEST
77 void close_list
78         (DIR *);
79 void get_day_time
80         (struct timeval *);
81 char *get_env_value
82         (const char *);
83 int get_fs_stat
84         (char *, struct statvfs *);
85 pid_t get_known_pid
86         (void);
87 char *get_realname
88         (char *, char *);
89 void get_uname
90         (struct utsname *);
91 time_t get_unix_time
92         (time_t *);
93 struct passwd *get_usrname
94         (uid_t);
95 void next_time_step
96         (void);
97 DIR *open_list
98         (const char *);
99 struct dirent *read_list
100         (DIR *);
101 int virtual_stat
102         (const char *, struct stat *);
103
104 void int_handler
105         (int);
106 #endif
107
108 #endif  /* _SYSTEST_H */