#include "os-proto.h"
#endif
-/* snprintf et al */
+#include "funcattrs.h"
#include <stdarg.h>
-
-#if HAVE_STDINT_H
#include <stdint.h>
-#endif
-
-#if !defined(HAVE_SNPRINTF)
-int snprintf(char *, size_t, const char *, ...)
-#ifdef __ATTRIBUTE___FORMAT_OK
- __attribute__((format(printf, 3, 4)))
-#endif /* __ATTRIBUTE___FORMAT_OK */
- ;
-#endif /* !defined(HAVE_SNPRINTF) */
-
-#if !defined(HAVE_VSNPRINTF)
-int vsnprintf(char *, size_t, const char *, va_list)
-#ifdef __ATTRIBUTE___FORMAT_OK
- __attribute__((format(printf, 3, 0)))
-#endif /* __ATTRIBUTE___FORMAT_OK */
- ;
-#endif /* !defined(HAVE_VSNPRINTF) */
#ifndef HAVE_STRLCAT
extern size_t strlcat(char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
#endif
-#ifndef HAVE_STRDUP
-extern char *strdup(const char *);
-#endif
-
#ifndef HAVE_STRSEP
extern char *strsep(char **, const char *);
#endif
-#define ESRC(ep) ((ep)->ether_shost)
-#define EDST(ep) ((ep)->ether_dhost)
-
-#ifndef NTOHL
-#define NTOHL(x) (x) = ntohl(x)
-#define NTOHS(x) (x) = ntohs(x)
-#define HTONL(x) (x) = htonl(x)
-#define HTONS(x) (x) = htons(x)
-#endif
#endif
extern char *program_name; /* used to generate self-identifying messages */
-extern int32_t thiszone; /* seconds offset from gmt to local time */
-
-extern void error(const char *, ...)
- __attribute__((noreturn))
-#ifdef __ATTRIBUTE___FORMAT_OK
- __attribute__((format (printf, 1, 2)))
-#endif /* __ATTRIBUTE___FORMAT_OK */
- ;
-extern void warning(const char *, ...)
-#ifdef __ATTRIBUTE___FORMAT_OK
- __attribute__((format (printf, 1, 2)))
-#endif /* __ATTRIBUTE___FORMAT_OK */
- ;
-
-extern char *read_infile(char *);
-extern char *copy_argv(char **);
-
-/* The printer routines. */
-
#include <pcap.h>
#ifndef HAVE_BPF_DUMP
struct bpf_program;
+#endif
+/*
+ * With Capsicum bpf_dump() may be not declared even if HAVE_BPF_DUMP is set.
+ */
+#if !defined(HAVE_BPF_DUMP) || \
+ (defined(HAVE_BPF_DUMP) && defined(HAVE_CAPSICUM) && !defined(bpf_dump))
extern void bpf_dump(const struct bpf_program *, int);
#endif
-
-#include "netdissect.h"