12949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/*
22949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Copyright (c) 1988-2002
32949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project *	The Regents of the University of California.  All rights reserved.
42949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project *
52949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Redistribution and use in source and binary forms, with or without
62949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * modification, are permitted provided that: (1) source code distributions
72949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * retain the above copyright notice and this paragraph in its entirety, (2)
82949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * distributions including binary code include the above copyright notice and
92949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * this paragraph in its entirety in the documentation or other materials
102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * provided with the distribution, and (3) all advertising materials mentioning
112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * features or use of this software display the following acknowledgement:
122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * ``This product includes software developed by the University of California,
132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * the University nor the names of its contributors may be used to endorse
152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * or promote products derived from this software without specific prior
162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * written permission.
172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project *
212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.244.2.21 2007/03/28 07:45:46 hannes Exp $ (LBL)
222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */
232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef tcpdump_interface_h
252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define tcpdump_interface_h
262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef HAVE_OS_PROTO_H
282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "os-proto.h"
292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE___ATTRIBUTE__
322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define __attribute__(x)
332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* snprintf et al */
362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <stdarg.h>
382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#if HAVE_STDINT_H
402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <stdint.h>
412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#if !defined(HAVE_SNPRINTF)
442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectint snprintf(char *, size_t, const char *, ...)
452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project     __attribute__((format(printf, 3, 4)));
462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#if !defined(HAVE_VSNPRINTF)
492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectint vsnprintf(char *, size_t, const char *, va_list)
502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project     __attribute__((format(printf, 3, 0)));
512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_STRLCAT
542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern size_t strlcat(char *, const char *, size_t);
552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_STRLCPY
572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern size_t strlcpy(char *, const char *, size_t);
582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_STRDUP
612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *strdup(const char *);
622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_STRSEP
652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *strsep(char **, const char *);
662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_VAT		1	/* Visual Audio Tool */
692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_WB		2	/* distributed White Board */
702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_RPC		3	/* Remote Procedure Call */
712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_RTP		4	/* Real-Time Applications protocol */
722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_RTCP		5	/* Real-Time Applications control protocol */
732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_SNMP		6	/* Simple Network Management Protocol */
742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_CNFP		7	/* Cisco NetFlow protocol */
752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_TFTP		8	/* trivial file transfer protocol */
762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PT_AODV		9	/* Ad-hoc On-demand Distance Vector Protocol */
772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef min
792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define min(a,b) ((a)>(b)?(b):(a))
802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef max
822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define max(a,b) ((b)>(a)?(b):(a))
832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/*
862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * The default snapshot length.  This value allows most printers to print
872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * useful information while keeping the amount of unwanted data down.
882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */
892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef INET6
902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define DEFAULT_SNAPLEN 68	/* ether + IPv4 + TCP + 14 */
912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#else
922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define DEFAULT_SNAPLEN 96	/* ether + IPv6 + TCP + 22 */
932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef BIG_ENDIAN
962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define BIG_ENDIAN 4321
972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define LITTLE_ENDIAN 1234
982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define ESRC(ep) ((ep)->ether_shost)
1012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define EDST(ep) ((ep)->ether_dhost)
1022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef NTOHL
1042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define NTOHL(x)	(x) = ntohl(x)
1052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define NTOHS(x)	(x) = ntohs(x)
1062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define HTONL(x)	(x) = htonl(x)
1072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define HTONS(x)	(x) = htons(x)
1082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
1092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
1102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef MIN
1122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define MIN(a,b) ((a)<(b)?(a):(b))
1132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
1142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *program_name;	/* used to generate self-identifying messages */
1162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int32_t thiszone;	/* seconds offset from gmt to local time */
1182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/*
1202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * True if  "l" bytes of "var" were captured.
1212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project *
1222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * The "snapend - (l) <= snapend" checks to make sure "l" isn't so large
1232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * that "snapend - (l)" underflows.
1242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project *
1252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * The check is for <= rather than < because "l" might be 0.
1262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */
1272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define TTEST2(var, l) (snapend - (l) <= snapend && \
1282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project			(const u_char *)&(var) <= snapend - (l))
1292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* True if "var" was captured */
1312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define TTEST(var) TTEST2(var, sizeof(var))
1322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* Bail if "l" bytes of "var" were not captured */
1342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define TCHECK2(var, l) if (!TTEST2(var, l)) goto trunc
1352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* Bail if "var" was not captured */
1372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define TCHECK(var) TCHECK2(var, sizeof(var))
1382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ts_print(const struct timeval *);
1402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void relts_print(int);
1412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int fn_print(const u_char *, const u_char *);
1432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int fn_printn(const u_char *, u_int, const u_char *);
1442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int fn_printzp(const u_char *, u_int, const u_char *);
1452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int mask2plen(u_int32_t);
1462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *tok2strary_internal(const char **, int, const char *, int);
1472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define	tok2strary(a,f,i) tok2strary_internal(a, sizeof(a)/sizeof(a[0]),f,i)
1482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *dnaddr_string(u_short);
1502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void error(const char *, ...)
1522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project    __attribute__((noreturn, format (printf, 1, 2)));
1532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void warning(const char *, ...) __attribute__ ((format (printf, 1, 2)));
1542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *read_infile(char *);
1562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *copy_argv(char **);
1572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void safeputchar(int);
1592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void safeputs(const char *, int);
1602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *isonsap_string(const u_char *, register u_int);
1622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *protoid_string(const u_char *);
1632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *ipxsap_string(u_short);
1642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *dnname_string(u_short);
1652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *dnnum_string(u_short);
1662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* The printer routines. */
1682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include <pcap.h>
1702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
1712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int print_unknown_data(const u_char *, const char *,int);
1722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ascii_print(const u_char *, u_int);
1732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void hex_and_ascii_print_with_offset(const char *, const u_char *,
1742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project	u_int, u_int);
1752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void hex_and_ascii_print(const char *, const u_char *, u_int);
1762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void hex_print_with_offset(const char *, const u_char *, u_int, u_int);
1772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void hex_print(const char *, const u_char *, u_int);
1782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void telnet_print(const u_char *, u_int);
1792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int ether_encap_print(u_short, const u_char *, u_int, u_int, u_short *);
1802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int llc_print(const u_char *, u_int, u_int, const u_char *,
1812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project	const u_char *, u_short *);
1822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int snap_print(const u_char *, u_int, u_int, u_short *, u_int);
1832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void aarp_print(const u_char *, u_int);
1842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void aodv_print(const u_char *, u_int, int);
1852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void atalk_print(const u_char *, u_int);
1862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void atm_print(u_int, u_int, u_int, const u_char *, u_int, u_int);
1872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int atm_if_print(const struct pcap_pkthdr *, const u_char *);
1882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int sunatm_if_print(const struct pcap_pkthdr *, const u_char *);
1892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int oam_print(const u_char *, u_int, u_int);
1902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void bootp_print(const u_char *, u_int);
1912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void bgp_print(const u_char *, int);
1922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void beep_print(const u_char *, u_int);
1932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void cnfp_print(const u_char *, const u_char *);
1942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void decnet_print(const u_char *, u_int, u_int);
1952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void default_print(const u_char *, u_int);
1962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void dvmrp_print(const u_char *, u_int);
1972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void egp_print(const u_char *, u_int);
1982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int enc_if_print(const struct pcap_pkthdr *, const u_char *);
1992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int pflog_if_print(const struct pcap_pkthdr *, const u_char *);
2002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int arcnet_if_print(const struct pcap_pkthdr *, const u_char *);
2012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int arcnet_linux_if_print(const struct pcap_pkthdr *, const u_char *);
2022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ether_print(const u_char *, u_int, u_int);
2032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ether_if_print(const struct pcap_pkthdr *, const u_char *);
2042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int token_print(const u_char *, u_int, u_int);
2052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int token_if_print(const struct pcap_pkthdr *, const u_char *);
2062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void fddi_print(const u_char *, u_int, u_int);
2072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int fddi_if_print(const struct pcap_pkthdr *, const u_char *);
2082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int fr_if_print(const struct pcap_pkthdr *, const u_char *);
2092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int mfr_if_print(const struct pcap_pkthdr *, const u_char *);
2102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int fr_print(register const u_char *, u_int);
2112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int mfr_print(register const u_char *, u_int);
2122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ieee802_11_if_print(const struct pcap_pkthdr *, const u_char *);
2132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ieee802_11_radio_if_print(const struct pcap_pkthdr *,
2142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project	const u_char *);
2152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ap1394_if_print(const struct pcap_pkthdr *, const u_char *);
2162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void gre_print(const u_char *, u_int);
2172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void icmp_print(const u_char *, u_int, const u_char *, int);
2182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void igmp_print(const u_char *, u_int);
2192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void igrp_print(const u_char *, u_int, const u_char *);
2202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ipN_print(const u_char *, u_int);
2212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ipfc_if_print(const struct pcap_pkthdr *, const u_char *);
2222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ipx_print(const u_char *, u_int);
2232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void isoclns_print(const u_char *, u_int, u_int);
2242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void krb_print(const u_char *);
2252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int llap_print(const u_char *, u_int);
2262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ltalk_if_print(const struct pcap_pkthdr *, const u_char *);
2272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void msdp_print(const unsigned char *, u_int);
2282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void nfsreply_print(const u_char *, u_int, const u_char *);
2292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void nfsreq_print(const u_char *, u_int, const u_char *);
2302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ns_print(const u_char *, u_int, int);
2312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ntp_print(const u_char *, u_int);
2322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int null_if_print(const struct pcap_pkthdr *, const u_char *);
2332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ospf_print(const u_char *, u_int, const u_char *);
2342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void olsr_print (const u_char *, u_int);
2352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void pimv1_print(const u_char *, u_int);
2362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void cisco_autorp_print(const u_char *, u_int);
2372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void rsvp_print(const u_char *, u_int);
2382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ldp_print(const u_char *, u_int);
2392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void lmp_print(const u_char *, u_int);
2402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void lspping_print(const u_char *, u_int);
2412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void eigrp_print(const u_char *, u_int);
2422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void mobile_print(const u_char *, u_int);
2432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void pim_print(const u_char *, u_int);
2442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int pppoe_print(const u_char *, u_int);
2452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ppp_print(register const u_char *, u_int);
2462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ppp_if_print(const struct pcap_pkthdr *, const u_char *);
2472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ppp_hdlc_if_print(const struct pcap_pkthdr *, const u_char *);
2482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int ppp_bsdos_if_print(const struct pcap_pkthdr *, const u_char *);
2492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int pppoe_if_print(const struct pcap_pkthdr *, const u_char *);
2502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int prism_if_print(const struct pcap_pkthdr *, const u_char *);
2512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void q933_print(const u_char *, u_int);
2522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int vjc_print(register const char *, u_short);
2532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int raw_if_print(const struct pcap_pkthdr *, const u_char *);
2542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void rip_print(const u_char *, u_int);
2552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int sl_if_print(const struct pcap_pkthdr *, const u_char *);
2562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void lane_print(const u_char *, u_int, u_int);
2572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int lane_if_print(const struct pcap_pkthdr *, const u_char *);
2582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int cip_if_print(const struct pcap_pkthdr *, const u_char *);
2592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int sl_bsdos_if_print(const struct pcap_pkthdr *, const u_char *);
2602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int chdlc_if_print(const struct pcap_pkthdr *, const u_char *);
2612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int chdlc_print(register const u_char *, u_int);
2622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_atm1_print(const struct pcap_pkthdr *, const u_char *);
2632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_atm2_print(const struct pcap_pkthdr *, const u_char *);
2642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_mfr_print(const struct pcap_pkthdr *, register const u_char *);
2652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_mlfr_print(const struct pcap_pkthdr *, const u_char *);
2662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_mlppp_print(const struct pcap_pkthdr *, const u_char *);
2672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_pppoe_print(const struct pcap_pkthdr *, const u_char *);
2682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_pppoe_atm_print(const struct pcap_pkthdr *, const u_char *);
2692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_ggsn_print(const struct pcap_pkthdr *, const u_char *);
2702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_es_print(const struct pcap_pkthdr *, const u_char *);
2712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_monitor_print(const struct pcap_pkthdr *, const u_char *);
2722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_services_print(const struct pcap_pkthdr *, const u_char *);
2732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_ether_print(const struct pcap_pkthdr *, const u_char *);
2742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_ppp_print(const struct pcap_pkthdr *, const u_char *);
2752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_frelay_print(const struct pcap_pkthdr *, const u_char *);
2762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int juniper_chdlc_print(const struct pcap_pkthdr *, const u_char *);
2772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int sll_if_print(const struct pcap_pkthdr *, const u_char *);
2782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void snmp_print(const u_char *, u_int);
2792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void sunrpcrequest_print(const u_char *, u_int, const u_char *);
2802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int symantec_if_print(const struct pcap_pkthdr *, const u_char *);
2812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void tcp_print(const u_char *, u_int, const u_char *, int);
2822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void tftp_print(const u_char *, u_int);
2832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void timed_print(const u_char *);
2842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void udp_print(const u_char *, u_int, const u_char *, int);
2852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void wb_print(const void *, u_int);
2862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int ah_print(register const u_char *);
2872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int ipcomp_print(register const u_char *, int *);
2882949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void rx_print(register const u_char *, int, int, int, u_char *);
2892949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void netbeui_print(u_short, const u_char *, int);
2902949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ipx_netbios_print(const u_char *, u_int);
2912949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void nbt_tcp_print(const u_char *, int);
2922949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void nbt_udp137_print(const u_char *, int);
2932949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void nbt_udp138_print(const u_char *, int);
2942949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern char *smb_errstr(int, int);
2952949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern const char *nt_errstr(u_int32_t);
2962949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void print_data(const unsigned char *, int);
2972949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void l2tp_print(const u_char *, u_int);
2982949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void vrrp_print(const u_char *, u_int, int);
2992949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void slow_print(const u_char *, u_int);
3002949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void pgm_print(const u_char *, u_int, const u_char *);
3012949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void cdp_print(const u_char *, u_int, u_int);
3022949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void stp_print(const u_char *, u_int);
3032949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void radius_print(const u_char *, u_int);
3042949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void lwres_print(const u_char *, u_int);
3052949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void pptp_print(const u_char *);
3062949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void dccp_print(const u_char *, const u_char *, u_int);
3072949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void sctp_print(const u_char *, const u_char *, u_int);
3082949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void mpls_print(const u_char *, u_int);
3092949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void mpls_lsp_ping_print(const u_char *, u_int);
3102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void zephyr_print(const u_char *, int);
3112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void hsrp_print(const u_char *, u_int);
3122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void bfd_print(const u_char *, u_int, u_int);
3132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void sip_print(const u_char *, u_int);
3142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void syslog_print(const u_char *, u_int);
3152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef INET6
3172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ip6_print(const u_char *, u_int);
3182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ip6_opt_print(const u_char *, int);
3192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int hbhopt_print(const u_char *);
3202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int dstopt_print(const u_char *);
3212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int frag6_print(const u_char *, const u_char *);
3222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int mobility_print(const u_char *, const u_char *);
3232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void icmp6_print(const u_char *, u_int, const u_char *, int);
3242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ripng_print(const u_char *, unsigned int);
3252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern int rt6_print(const u_char *, const u_char *);
3262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void ospf6_print(const u_char *, u_int);
3272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void dhcp6_print(const u_char *, u_int);
3282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /*INET6*/
3292949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_short in_cksum(const u_short *, register u_int, int);
3302949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern u_int16_t in_cksum_shouldbe(u_int16_t, u_int16_t);
3312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3322949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_BPF_DUMP
3332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectstruct bpf_program;
3342949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern void bpf_dump(struct bpf_program *, int);
3362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif
3382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3392949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#include "netdissect.h"
3402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* forward compatibility */
3422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projectextern netdissect_options *gndo;
3442949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
3452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define eflag gndo->ndo_eflag
3462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define fflag gndo->ndo_fflag
3472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define nflag gndo->ndo_nflag
3482949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Nflag gndo->ndo_Nflag
3492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Oflag gndo->ndo_Oflag
3502949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define pflag gndo->ndo_pflag
3512949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define qflag gndo->ndo_qflag
3522949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Rflag gndo->ndo_Rflag
3532949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define sflag gndo->ndo_sflag
3542949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Sflag gndo->ndo_Sflag
3552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define tflag gndo->ndo_tflag
3562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Uflag gndo->ndo_Uflag
3572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define uflag gndo->ndo_uflag
3582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define vflag gndo->ndo_vflag
3592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define xflag gndo->ndo_xflag
3602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Xflag gndo->ndo_Xflag
3612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Cflag gndo->ndo_Cflag
3622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Aflag gndo->ndo_Aflag
3632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define suppress_default_print gndo->ndo_suppress_default_print
3642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define packettype gndo->ndo_packettype
3652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define tcpmd5secret gndo->ndo_tcpmd5secret
3662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Wflag gndo->ndo_Wflag
3672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define WflagChars gndo->ndo_WflagChars
3682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define Cflag_count gndo->ndo_Cflag_count
3692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define snaplen     gndo->ndo_snaplen
3702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define snapend     gndo->ndo_snapend
3712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project
372