forked from Atoptool/atop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
netatop.h
47 lines (34 loc) · 1.17 KB
/
netatop.h
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
43
44
45
46
47
#define COMLEN 16
struct taskcount {
unsigned long long tcpsndpacks;
unsigned long long tcpsndbytes;
unsigned long long tcprcvpacks;
unsigned long long tcprcvbytes;
unsigned long long udpsndpacks;
unsigned long long udpsndbytes;
unsigned long long udprcvpacks;
unsigned long long udprcvbytes;
/* space for future extensions */
};
struct netpertask {
pid_t id; // tgid or tid (depending on command)
unsigned long btime;
char command[COMLEN];
struct taskcount tc;
};
/*
** getsocktop commands
*/
#define NETATOP_BASE_CTL 15661
// just probe if the netatop module is active
#define NETATOP_PROBE (NETATOP_BASE_CTL)
// force garbage collection to make finished processes available
#define NETATOP_FORCE_GC (NETATOP_BASE_CTL+1)
// wait until all finished processes are read (blocks until done)
#define NETATOP_EMPTY_EXIT (NETATOP_BASE_CTL+2)
// get info for finished process (blocks until available)
#define NETATOP_GETCNT_EXIT (NETATOP_BASE_CTL+3)
// get counters for thread group (i.e. process): input is 'id' (pid)
#define NETATOP_GETCNT_TGID (NETATOP_BASE_CTL+4)
// get counters for thread: input is 'id' (tid)
#define NETATOP_GETCNT_PID (NETATOP_BASE_CTL+5)