]> The Tcpdump Group git mirrors - tcpdump/blobdiff - interface.h
Move safememcpy() to util.c so it doesn't get inlined.
[tcpdump] / interface.h
index 57d4636dd72884f50d31696c53036ea46392f1b0..8ed4a4a8f747ff2bc40150e20d8b82d86612ccaf 100644 (file)
@@ -17,8 +17,6 @@
  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.285 2008-08-16 11:36:20 hannes Exp $ (LBL)
  */
 
 #ifndef tcpdump_interface_h
 
 #if !defined(HAVE_SNPRINTF)
 int snprintf(char *, size_t, const char *, ...)
-     __attribute__((format(printf, 3, 4)));
-#endif
+#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)
-     __attribute__((format(printf, 3, 0)));
-#endif
+#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);
@@ -73,6 +77,10 @@ extern char *strsep(char **, const char *);
 #define PT_CARP                10      /* Common Address Redundancy Protocol */
 #define PT_RADIUS      11      /* RADIUS authentication Protocol */
 #define PT_ZMTP1       12      /* ZeroMQ Message Transport Protocol 1.0 */
+#define PT_VXLAN       13      /* Virtual eXtensible Local Area Network */
+#define PT_PGM         14      /* [UDP-encapsulated] Pragmatic General Multicast */
+#define PT_PGM_ZMTP1   15      /* ZMTP/1.0 inside PGM (native or UDP-encapsulated) */
+#define PT_LMP         16      /* Link Management Protocol */
 
 #ifndef min
 #define min(a,b) ((a)>(b)?(b):(a))
@@ -133,8 +141,16 @@ extern const char *tok2strary_internal(const char **, int, const char *, int);
 extern const char *dnaddr_string(u_short);
 
 extern void error(const char *, ...)
-    __attribute__((noreturn, format (printf, 1, 2)));
-extern void warning(const char *, ...) __attribute__ ((format (printf, 1, 2)));
+     __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 **);
@@ -142,6 +158,8 @@ extern char *copy_argv(char **);
 extern void safeputchar(int);
 extern void safeputs(const char *, int);
 
+extern void unaligned_memcpy(void *, const void *, size_t);
+
 extern const char *isonsap_string(const u_char *, register u_int);
 extern const char *protoid_string(const u_char *);
 extern const char *ipxsap_string(u_short);
@@ -157,13 +175,10 @@ extern u_int16_t create_osi_cksum(const u_int8_t *, int, int);
 
 #include <pcap.h>
 
-extern int print_unknown_data(const u_char *, const char *,int);
 extern void ascii_print(const u_char *, u_int);
 extern void hex_and_ascii_print_with_offset(const char *, const u_char *,
        u_int, u_int);
 extern void hex_and_ascii_print(const char *, const u_char *, u_int);
-extern void hex_print_with_offset(const char *, const u_char *, u_int, u_int);
-extern void hex_print(const char *, const u_char *, u_int);
 extern void telnet_print(const u_char *, u_int);
 extern int llc_print(const u_char *, u_int, u_int, const u_char *,
        const u_char *, u_short *);
@@ -215,11 +230,14 @@ extern u_int llap_print(const u_char *, u_int);
 extern u_int ltalk_if_print(const struct pcap_pkthdr *, const u_char *);
 extern void msdp_print(const unsigned char *, u_int);
 extern void nfsreply_print(const u_char *, u_int, const u_char *);
+extern void nfsreply_print_noaddr(const u_char *, u_int, const u_char *);
 extern void nfsreq_print(const u_char *, u_int, const u_char *);
+extern void nfsreq_print_noaddr(const u_char *, u_int, const u_char *);
 extern void ns_print(const u_char *, u_int, int);
 extern const u_char * ns_nprint (register const u_char *, register const u_char *);
 extern void ntp_print(const u_char *, u_int);
 extern u_int null_if_print(const struct pcap_pkthdr *, const u_char *);
+extern void openflow_print(const u_char *, const u_int);
 extern void ospf_print(const u_char *, u_int, const u_char *);
 extern void olsr_print (const u_char *, u_int, int);
 extern void pimv1_print(const u_char *, u_int);
@@ -313,13 +331,18 @@ extern void mpls_print(const u_char *, u_int);
 extern void mpls_lsp_ping_print(const u_char *, u_int);
 extern void zephyr_print(const u_char *, int);
 extern void zmtp1_print(const u_char *, u_int);
+extern void zmtp1_print_datagram(const u_char *, u_int);
 extern void hsrp_print(const u_char *, u_int);
 extern void bfd_print(const u_char *, u_int, u_int);
 extern void sip_print(const u_char *, u_int);
 extern void syslog_print(const u_char *, u_int);
+extern int mptcp_print(const u_char *, u_int, u_char);
 extern u_int bt_if_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int usb_linux_48_byte_print(const struct pcap_pkthdr *, const u_char *);
 extern u_int usb_linux_64_byte_print(const struct pcap_pkthdr *, const u_char *);
+extern void vxlan_print(const u_char *, u_int);
+extern void otv_print(const u_char *, u_int);
+extern void ahcp_print(const u_char *, const u_int);
 
 
 #ifdef INET6
@@ -357,30 +380,30 @@ extern void bpf_dump(const struct bpf_program *, int);
 #ifndef NETDISSECT_REWORKED
 extern netdissect_options *gndo;
 
-#define bflag gndo->ndo_bflag 
-#define eflag gndo->ndo_eflag 
-#define fflag gndo->ndo_fflag 
+#define bflag gndo->ndo_bflag
+#define eflag gndo->ndo_eflag
+#define fflag gndo->ndo_fflag
 #define jflag gndo->ndo_jflag
-#define Kflag gndo->ndo_Kflag 
-#define nflag gndo->ndo_nflag 
-#define Nflag gndo->ndo_Nflag 
-#define Oflag gndo->ndo_Oflag 
-#define pflag gndo->ndo_pflag 
-#define qflag gndo->ndo_qflag 
-#define Rflag gndo->ndo_Rflag 
-#define sflag gndo->ndo_sflag 
-#define Sflag gndo->ndo_Sflag 
-#define tflag gndo->ndo_tflag 
-#define Uflag gndo->ndo_Uflag 
-#define uflag gndo->ndo_uflag 
-#define vflag gndo->ndo_vflag 
-#define xflag gndo->ndo_xflag 
-#define Xflag gndo->ndo_Xflag 
-#define Cflag gndo->ndo_Cflag 
-#define Gflag gndo->ndo_Gflag 
-#define Aflag gndo->ndo_Aflag 
-#define Bflag gndo->ndo_Bflag 
-#define Iflag gndo->ndo_Iflag 
+#define Kflag gndo->ndo_Kflag
+#define nflag gndo->ndo_nflag
+#define Nflag gndo->ndo_Nflag
+#define Oflag gndo->ndo_Oflag
+#define pflag gndo->ndo_pflag
+#define qflag gndo->ndo_qflag
+#define Rflag gndo->ndo_Rflag
+#define sflag gndo->ndo_sflag
+#define Sflag gndo->ndo_Sflag
+#define tflag gndo->ndo_tflag
+#define Uflag gndo->ndo_Uflag
+#define uflag gndo->ndo_uflag
+#define vflag gndo->ndo_vflag
+#define xflag gndo->ndo_xflag
+#define Xflag gndo->ndo_Xflag
+#define Cflag gndo->ndo_Cflag
+#define Gflag gndo->ndo_Gflag
+#define Aflag gndo->ndo_Aflag
+#define Bflag gndo->ndo_Bflag
+#define Iflag gndo->ndo_Iflag
 #define suppress_default_print gndo->ndo_suppress_default_print
 #define packettype gndo->ndo_packettype
 #define sigsecret gndo->ndo_sigsecret
@@ -388,7 +411,7 @@ extern netdissect_options *gndo;
 #define WflagChars gndo->ndo_WflagChars
 #define Cflag_count gndo->ndo_Cflag_count
 #define Gflag_count gndo->ndo_Gflag_count
-#define Gflag_time gndo->ndo_Gflag_time 
+#define Gflag_time gndo->ndo_Gflag_time
 #define Hflag gndo->ndo_Hflag
 #define snaplen     gndo->ndo_snaplen
 #define snapend     gndo->ndo_snapend