]> gitweb.fperrin.net Git - iftop.git/blob - iftop.h
gitignore
[iftop.git] / iftop.h
1 /*
2  * iftop.h:
3  *
4  */
5
6 #ifndef __IFTOP_H_ /* include guard */
7 #define __IFTOP_H_
8
9 #include "config.h"
10
11 /* 40 / 2  */
12 #define HISTORY_LENGTH  20
13 #define RESOLUTION 2
14 #define DUMP_RESOLUTION 300
15
16 /* At least OpenBSD and NexentaCore do not
17  * define s6_addr32 for user land settings.
18  */
19 #if !defined s6_addr32 && defined __sun__
20 #       define s6_addr32 _S6_un._S6_u32
21 #elif !defined s6_addr32 && \
22                 ( defined __OpenBSD__ || defined __FreeBSD__ )
23 #       define s6_addr32 __u6_addr.__u6_addr32
24 #endif  /* !defined s6_addr32 */
25
26 typedef struct {
27     long recv[HISTORY_LENGTH];
28     long sent[HISTORY_LENGTH];
29     double long total_sent;
30     double long total_recv;
31     long lost_packets;
32     int last_write;
33 } history_type;
34
35 void tick(int print);
36
37 void *xmalloc(size_t n);
38 void *xcalloc(size_t n, size_t m);
39 void *xrealloc(void *w, size_t n);
40 char *xstrdup(const char *s);
41 void xfree(void *v);
42
43 /* options.c */
44 void options_read(int argc, char **argv);
45
46 struct pfloghdr {
47       unsigned char             length;
48       unsigned char             af;
49       unsigned char             action;
50       unsigned char             reason;
51       char                              ifname[16];
52       char                              ruleset[16];
53       unsigned int              rulenr;
54       unsigned int              subrulenr;
55       unsigned char             dir;
56       unsigned char             pad[3];
57 };
58
59 #endif /* __IFTOP_H_ */