Deleted Added
full compact
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
160 __attribute__ ((format (printf, 2, 3)))
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);
294extern int ethertype_print(netdissect_options *,u_short, const u_char *,
295 u_int, 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 *);
322extern void ether_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
437#if 0
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);
441extern int nextproto6_cksum(const struct ip6_hdr *, const u_short *, u_int, u_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*/
458extern u_short in_cksum(const u_short *,
459 register u_int, int);
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 */