1/* 2 * Copyright (c) 1988-1997 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Copyright (c) 1998-2004 Michael Richardson <mcr@tcpdump.org> 6 * The TCPDUMP project 7 * 8 * Redistribution and use in source and binary forms, with or without --- 93 unchanged lines hidden (view full) --- 102 int ndo_Xflag; /* print packet in hex/ascii */ 103 int ndo_Aflag; /* print packet only in ascii observing TAB, 104 * LF, CR and SPACE as graphical chars 105 */ 106 int ndo_Bflag; /* buffer size */ 107 int ndo_Iflag; /* rfmon (monitor) mode */ 108 int ndo_Oflag; /* run filter code optimizer */ 109 int ndo_dlt; /* if != -1, ask libpcap for the DLT it names*/ |
110 int ndo_jflag; /* packet time stamp source */ |
111 int ndo_pflag; /* don't go promiscuous */ 112 113 int ndo_Cflag; /* rotate dump files after this many bytes */ 114 int ndo_Cflag_count; /* Keep track of which file number we're writing */ 115 int ndo_Gflag; /* rotate dump files after this many seconds */ 116 int ndo_Gflag_count; /* number of files created with Gflag rotation */ 117 time_t ndo_Gflag_time; /* The last time_t the dump file was rotated. */ 118 int ndo_Wflag; /* recycle output files after this number of files */ 119 int ndo_WflagChars; |
120 int ndo_Hflag; /* dissect 802.11s draft mesh standard */ |
121 int ndo_suppress_default_print; /* don't use default_print() for unknown packet types */ 122 const char *ndo_dltname; 123 124 char *ndo_espsecret; 125 struct sa_list *ndo_sa_list_head; /* used by print-esp.c */ 126 struct sa_list *ndo_sa_default; 127 128 char *ndo_sigsecret; /* Signature verification secret key */ --- 25 unchanged lines hidden (view full) --- 154 const char *fmt, ...) 155#ifdef __ATTRIBUTE___FORMAT_OK_FOR_FUNCTION_POINTERS 156 __attribute__ ((format (printf, 2, 3))) 157#endif 158 ; 159 void (*ndo_error)(netdissect_options *, 160 const char *fmt, ...) 161#ifdef __ATTRIBUTE___FORMAT_OK_FOR_FUNCTION_POINTERS |
162 __attribute__ ((noreturn, format (printf, 2, 3))) |
163#endif 164 ; 165 void (*ndo_warning)(netdissect_options *, 166 const char *fmt, ...) 167#ifdef __ATTRIBUTE___FORMAT_OK_FOR_FUNCTION_POINTERS 168 __attribute__ ((format (printf, 2, 3))) 169#endif 170 ; --- 78 unchanged lines hidden (view full) --- 249#if 0 250extern char *read_infile(netdissect_options *, char *); 251extern char *copy_argv(netdissect_options *, char **); 252#endif 253 254extern void safeputchar(int); 255extern void safeputs(const char *, int); 256 |
257#define PLURAL_SUFFIX(n) \ 258 (((n) != 1) ? "s" : "") 259 |
260#if 0 261extern const char *isonsap_string(netdissect_options *, const u_char *); 262extern const char *protoid_string(netdissect_options *, const u_char *); 263extern const char *dnname_string(netdissect_options *, u_short); 264extern const char *dnnum_string(netdissect_options *, u_short); 265#endif 266 267/* The printer routines. */ 268 269#include <pcap.h> 270 |
271typedef u_int (*if_ndo_printer)(struct netdissect_options *ndo, 272 const struct pcap_pkthdr *, const u_char *); 273typedef u_int (*if_printer)(const struct pcap_pkthdr *, const u_char *); |
274 |
275extern if_ndo_printer lookup_ndo_printer(int); 276extern if_printer lookup_printer(int); 277 |
278extern void eap_print(netdissect_options *,const u_char *, u_int); 279extern int esp_print(netdissect_options *, 280 register const u_char *bp, int len, register const u_char *bp2, 281 int *nhdr, int *padlen); 282extern void arp_print(netdissect_options *,const u_char *, u_int, u_int); 283extern void icmp6_print(netdissect_options *ndo, const u_char *, 284 u_int, const u_char *, int); 285extern void isakmp_print(netdissect_options *,const u_char *, 286 u_int, const u_char *); 287extern void isakmp_rfc3948_print(netdissect_options *,const u_char *, 288 u_int, const u_char *); 289extern void ip_print(netdissect_options *,const u_char *, u_int); 290extern void ip_print_inner(netdissect_options *ndo, 291 const u_char *bp, u_int length, u_int nh, 292 const u_char *bp2); 293extern void rrcp_print(netdissect_options *,const u_char *, u_int); 294 |
295extern void ether_print(netdissect_options *, 296 const u_char *, u_int, u_int, 297 void (*)(netdissect_options *, const u_char *), 298 const u_char *); 299 300extern u_int ether_if_print(netdissect_options *, 301 const struct pcap_pkthdr *,const u_char *); 302extern u_int netanalyzer_if_print(netdissect_options *, 303 const struct pcap_pkthdr *,const u_char *); 304extern u_int netanalyzer_transparent_if_print(netdissect_options *, 305 const struct pcap_pkthdr *, 306 const u_char *); 307 308extern int ethertype_print(netdissect_options *,u_short, const u_char *, 309 u_int, u_int); 310 |
311/* stuff that has not yet been rototiled */ 312#if 0 313extern void ascii_print(netdissect_options *,u_int); 314extern void hex_and_ascii_print_with_offset(netdissect_options *,const char *, 315 u_int, u_int); 316extern void hex_and_ascii_print(netdissect_options *,const char *, u_int); 317extern void hex_print_with_offset(netdissect_options *,const char *, 318 u_int, u_int); 319extern void hex_print(netdissect_options *,const char *, u_int); 320extern void telnet_print(netdissect_options *,const u_char *, u_int); |
321extern int llc_print(netdissect_options *, 322 const u_char *, u_int, u_int, const u_char *, 323 const u_char *, u_short *); 324extern void aarp_print(netdissect_options *,const u_char *, u_int); 325extern void atalk_print(netdissect_options *,const u_char *, u_int); 326extern void atm_if_print(u_char *,const struct pcap_pkthdr *, const u_char *); 327extern void bootp_print(netdissect_options *,const u_char *, 328 u_int, u_short, u_short); --- 10 unchanged lines hidden (view full) --- 339extern void decnet_print(netdissect_options *,const u_char *, 340 u_int, u_int); 341extern void default_print(netdissect_options *,const u_char *, u_int); 342extern void dvmrp_print(netdissect_options *,const u_char *, u_int); 343extern void egp_print(netdissect_options *,const u_char *, u_int, 344 const u_char *); 345 346extern void arcnet_if_print(u_char*,const struct pcap_pkthdr *,const u_char *); |
347extern void token_if_print(u_char *,const struct pcap_pkthdr *,const u_char *); 348extern void fddi_if_print(u_char *,const struct pcap_pkthdr *, const u_char *); 349 350extern void gre_print(netdissect_options *,const u_char *, u_int); 351extern void icmp_print(netdissect_options *,const u_char *, u_int, 352 const u_char *); 353extern void hsrp_print(netdissect_options *ndo, 354 register const u_char *bp, register u_int len); 355extern void ieee802_11_if_print(u_char *,const struct pcap_pkthdr *, const u_char *); 356extern void igmp_print(netdissect_options *, 357 register const u_char *, u_int); 358extern void igrp_print(netdissect_options *,const u_char *, u_int, 359 const u_char *); |
360extern int nextproto4_cksum(const struct ip *, const u_int8_t *, u_int, u_int); |
361extern void ipN_print(netdissect_options *,const u_char *, u_int); 362extern void ipx_print(netdissect_options *,const u_char *, u_int); 363extern void isoclns_print(netdissect_options *,const u_char *, 364 u_int, u_int, const u_char *, const u_char *); 365extern void krb_print(netdissect_options *,const u_char *, u_int); 366extern void llap_print(netdissect_options *,const u_char *, u_int); 367extern const char *linkaddr_string(netdissect_options *ndo, 368 const u_char *ep, const unsigned int len); --- 29 unchanged lines hidden (view full) --- 398 399extern int vjc_print(netdissect_options *,register const char *, 400 register u_int, u_short); 401 402extern void raw_if_print(u_char *, 403 const struct pcap_pkthdr *, const u_char *); 404 405extern void rip_print(netdissect_options *,const u_char *, u_int); |
406extern void rpki_rtr_print(netdissect_options *,const u_char *, u_int); |
407 408extern void sctp_print(netdissect_options *ndo, 409 const u_char *bp, const u_char *bp2, 410 u_int sctpPacketLength); 411 412extern void sl_if_print(u_char *,const struct pcap_pkthdr *, const u_char *); 413 414extern void lane_if_print(u_char *,const struct pcap_pkthdr *,const u_char *); --- 30 unchanged lines hidden (view full) --- 445 const u_char *data, int); 446extern char *smb_errstr(netdissect_options *,int, int); 447extern const char *nt_errstr(netdissect_options *, u_int32_t); 448extern void print_data(netdissect_options *,const unsigned char *, int); 449extern void l2tp_print(netdissect_options *,const u_char *, u_int); 450extern void lcp_print(netdissect_options *,const u_char *, u_int); 451extern void vrrp_print(netdissect_options *,const u_char *bp, 452 u_int len, int ttl); |
453extern void carp_print(netdissect_options *,const u_char *bp, 454 u_int len, int ttl); |
455extern void cdp_print(netdissect_options *,const u_char *, 456 u_int, u_int, const u_char *, const u_char *); 457extern void stp_print(netdissect_options *,const u_char *p, u_int length); 458extern void radius_print(netdissect_options *,const u_char *, u_int); 459extern void lwres_print(netdissect_options *,const u_char *, u_int); 460extern void pptp_print(netdissect_options *,const u_char *, u_int); 461#endif 462 463extern u_int ipnet_if_print(netdissect_options *,const struct pcap_pkthdr *, const u_char *); |
464extern u_int ppi_if_print(netdissect_options *,const struct pcap_pkthdr *, const u_char *); |
465 |
466extern u_int ieee802_15_4_if_print(netdissect_options *,const struct pcap_pkthdr *, const u_char *); 467 |
468#ifdef INET6 469extern void ip6_print(netdissect_options *,const u_char *, u_int); |
470#if 0 |
471extern void ip6_opt_print(netdissect_options *,const u_char *, int); |
472extern int nextproto6_cksum(const struct ip6_hdr *, const u_int8_t *, u_int, u_int); |
473extern int hbhopt_print(netdissect_options *,const u_char *); 474extern int dstopt_print(netdissect_options *,const u_char *); 475extern int frag6_print(netdissect_options *,const u_char *, 476 const u_char *); 477extern void icmp6_print(netdissect_options *,const u_char *, 478 const u_char *); 479extern void ripng_print(netdissect_options *,const u_char *, int); 480extern int rt6_print(netdissect_options *,const u_char *, const u_char *); 481extern void ospf6_print(netdissect_options *,const u_char *, u_int); 482extern void dhcp6_print(netdissect_options *,const u_char *, 483 u_int, u_int16_t, u_int16_t); 484 485extern void zephyr_print(netdissect_options * ndo, 486 const u_char *cp, int length); |
487#endif /* 0 */ |
488 489#endif /*INET6*/ |
490 |
491#if 0 492struct cksum_vec { 493 const u_int8_t *ptr; 494 int len; 495}; 496extern u_int16_t in_cksum(const struct cksum_vec *, int); 497extern u_int16_t in_cksum_shouldbe(u_int16_t, u_int16_t); |
498#endif 499 500extern void esp_print_decodesecret(netdissect_options *ndo); 501extern int esp_print_decrypt_buffer_by_ikev2(netdissect_options *ndo, 502 int initiator, 503 u_char spii[8], u_char spir[8], 504 u_char *buf, u_char *end); 505 506 507#endif /* netdissect_h */ |