?? interface.h
字號:
/* * Copyright (c) 1988-2002 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and this paragraph in its entirety, (2) * distributions including binary code include the above copyright notice and * this paragraph in its entirety in the documentation or other materials * provided with the distribution, and (3) all advertising materials mentioning * features or use of this software display the following acknowledgement: * ``This product includes software developed by the University of California, * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of * the University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific prior * written permission. * 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.280.2.4 2008-04-04 19:42:52 guy Exp $ (LBL) */#ifndef tcpdump_interface_h#define tcpdump_interface_h#ifdef HAVE_OS_PROTO_H#include "os-proto.h"#endif#ifndef HAVE___ATTRIBUTE__#define __attribute__(x)#endif/* snprintf et al */#include <stdarg.h>#if HAVE_STDINT_H#include <stdint.h>#endif#if !defined(HAVE_SNPRINTF)int snprintf(char *, size_t, const char *, ...) __attribute__((format(printf, 3, 4)));#endif#if !defined(HAVE_VSNPRINTF)int vsnprintf(char *, size_t, const char *, va_list) __attribute__((format(printf, 3, 0)));#endif#ifndef HAVE_STRLCATextern size_t strlcat(char *, const char *, size_t);#endif#ifndef HAVE_STRLCPYextern size_t strlcpy(char *, const char *, size_t);#endif#ifndef HAVE_STRDUPextern char *strdup(const char *);#endif#ifndef HAVE_STRSEPextern char *strsep(char **, const char *);#endif#define PT_VAT 1 /* Visual Audio Tool */#define PT_WB 2 /* distributed White Board */#define PT_RPC 3 /* Remote Procedure Call */#define PT_RTP 4 /* Real-Time Applications protocol */#define PT_RTCP 5 /* Real-Time Applications control protocol */#define PT_SNMP 6 /* Simple Network Management Protocol */#define PT_CNFP 7 /* Cisco NetFlow protocol */#define PT_TFTP 8 /* trivial file transfer protocol */#define PT_AODV 9 /* Ad-hoc On-demand Distance Vector Protocol */#ifndef min#define min(a,b) ((a)>(b)?(b):(a))#endif#ifndef max#define max(a,b) ((b)>(a)?(b):(a))#endif/* * The default snapshot length. This value allows most printers to print * useful information while keeping the amount of unwanted data down. */#ifndef INET6#define DEFAULT_SNAPLEN 68 /* ether + IPv4 + TCP + 14 */#else#define DEFAULT_SNAPLEN 96 /* ether + IPv6 + TCP + 22 */#endif#ifndef BIG_ENDIAN#define BIG_ENDIAN 4321#define LITTLE_ENDIAN 1234#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#ifndef MIN#define MIN(a,b) ((a)<(b)?(a):(b))#endifextern char *program_name; /* used to generate self-identifying messages */extern int32_t thiszone; /* seconds offset from gmt to local time *//* * True if "l" bytes of "var" were captured. * * The "snapend - (l) <= snapend" checks to make sure "l" isn't so large * that "snapend - (l)" underflows. * * The check is for <= rather than < because "l" might be 0. */#define TTEST2(var, l) (snapend - (l) <= snapend && \ (const u_char *)&(var) <= snapend - (l))/* True if "var" was captured */#define TTEST(var) TTEST2(var, sizeof(var))/* Bail if "l" bytes of "var" were not captured */#define TCHECK2(var, l) if (!TTEST2(var, l)) goto trunc/* Bail if "var" was not captured */#define TCHECK(var) TCHECK2(var, sizeof(var))extern void ts_print(const struct timeval *);extern void relts_print(int);extern int fn_print(const u_char *, const u_char *);extern int fn_printn(const u_char *, u_int, const u_char *);extern int fn_printzp(const u_char *, u_int, const u_char *);extern int mask2plen(u_int32_t);extern const char *tok2strary_internal(const char **, int, const char *, int);#define tok2strary(a,f,i) tok2strary_internal(a, sizeof(a)/sizeof(a[0]),f,i)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)));extern char *read_infile(char *);extern char *copy_argv(char **);extern void safeputchar(int);extern void safeputs(const char *, int);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);extern const char *dnname_string(u_short);extern const char *dnnum_string(u_short);/* checksum routines */extern void init_checksum(void);extern u_int16_t verify_crc10_cksum(u_int16_t, const u_char *, int);extern u_int16_t create_osi_cksum(const u_int8_t *, int, int);/* The printer routines. */#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 ether_encap_print(u_short, const u_char *, u_int, u_int, u_short *);extern int llc_print(const u_char *, u_int, u_int, const u_char *, const u_char *, u_short *);extern int snap_print(const u_char *, u_int, u_int, u_short *, u_int);extern void aarp_print(const u_char *, u_int);extern void aodv_print(const u_char *, u_int, int);extern void atalk_print(const u_char *, u_int);extern void atm_print(u_int, u_int, u_int, const u_char *, u_int, u_int);extern u_int atm_if_print(const struct pcap_pkthdr *, const u_char *);extern u_int sunatm_if_print(const struct pcap_pkthdr *, const u_char *);extern int oam_print(const u_char *, u_int, u_int);extern void bootp_print(const u_char *, u_int);extern void bgp_print(const u_char *, int);extern void beep_print(const u_char *, u_int);extern void cnfp_print(const u_char *, const u_char *);extern void decnet_print(const u_char *, u_int, u_int);extern void default_print(const u_char *, u_int);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -