]> The Tcpdump Group git mirrors - tcpdump/blob - interface.h
More use of PRINTFLIKE().
[tcpdump] / interface.h
1 /*
2 * Copyright (c) 1988-2002
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that: (1) source code distributions
7 * retain the above copyright notice and this paragraph in its entirety, (2)
8 * distributions including binary code include the above copyright notice and
9 * this paragraph in its entirety in the documentation or other materials
10 * provided with the distribution, and (3) all advertising materials mentioning
11 * features or use of this software display the following acknowledgement:
12 * ``This product includes software developed by the University of California,
13 * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
14 * the University nor the names of its contributors may be used to endorse
15 * or promote products derived from this software without specific prior
16 * written permission.
17 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
18 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
20 */
21
22 #ifndef tcpdump_interface_h
23 #define tcpdump_interface_h
24
25 #ifdef HAVE_OS_PROTO_H
26 #include "os-proto.h"
27 #endif
28
29 #include "funcattrs.h"
30
31 /* snprintf et al */
32
33 #include <stdarg.h>
34
35 #if HAVE_STDINT_H
36 #include <stdint.h>
37 #endif
38
39 #if !defined(HAVE_SNPRINTF)
40 int snprintf(char *, size_t, FORMAT_STRING(const char *), ...)
41 PRINTFLIKE(3, 4);
42 #endif /* !defined(HAVE_SNPRINTF) */
43
44 #if !defined(HAVE_VSNPRINTF)
45 int vsnprintf(char *, size_t, FORMAT_STRING(const char *), va_list)
46 PRINTFLIKE(3, 0);
47 #endif /* !defined(HAVE_VSNPRINTF) */
48
49 #ifndef HAVE_STRLCAT
50 extern size_t strlcat(char *, const char *, size_t);
51 #endif
52 #ifndef HAVE_STRLCPY
53 extern size_t strlcpy(char *, const char *, size_t);
54 #endif
55
56 #ifndef HAVE_STRDUP
57 extern char *strdup(const char *);
58 #endif
59
60 #ifndef HAVE_STRSEP
61 extern char *strsep(char **, const char *);
62 #endif
63
64 #endif
65
66 extern char *program_name; /* used to generate self-identifying messages */
67
68 #include <pcap.h>
69
70 #ifndef HAVE_BPF_DUMP
71 struct bpf_program;
72
73 extern void bpf_dump(const struct bpf_program *, int);
74
75 #endif