/* packet.h
* Definitions for packet disassembly structures and routines
*
- * $Id: packet.h,v 1.123 1999/10/29 05:25:59 guy Exp $
+ * $Id: packet.h,v 1.136 1999/11/11 21:22:00 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
seek-and-read, so that we don't have to save it for all frames? */
typedef struct _frame_data {
struct _frame_data *next; /* Next element in list */
+ struct _frame_data *prev; /* Previous element in list */
guint32 num; /* Frame number */
guint32 pkt_len; /* Packet length */
guint32 cap_len; /* Amount actually captured */
ETT_DNS_QD,
ETT_DNS_ANS,
ETT_DNS_RR,
- ETT_CL_ICQ,
- ETT_CL_ICQ_DECODE,
- ETT_ICQ_SUBTREE,
- ETT_SRV_ICQ,
+ ETT_EIGRP,
+ ETT_ICQ,
+ ETT_ICQ_DECODE,
+ ETT_ICQ_HEADER,
+ ETT_ICQ_BODY,
+ ETT_ICQ_BODY_PARTS,
ETT_ISAKMP,
ETT_ISAKMP_FLAGS,
ETT_ISAKMP_PAYLOAD,
ETT_CLIP,
ETT_BOOTP,
ETT_BOOTP_OPTION,
+ ETT_BOOTPARAMS,
ETT_IPv6,
ETT_BGP,
+ ETT_BGP_OPEN,
+ ETT_BGP_UPDATE,
+ ETT_BGP_NOTIFICATION,
+ ETT_BGP_ATTRS,
+ ETT_BGP_ATTR,
+ ETT_BGP_ATTR_FLAGS,
+ ETT_BGP_UNFEAS,
+ ETT_BGP_NLRI,
+ ETT_BGP_MP_REACH_NLRI,
+ ETT_BGP_MP_UNREACH_NLRI,
ETT_CLNP,
ETT_COTP,
ETT_VINES_FRP,
ETT_ICMPv6OPT,
ETT_ICMPv6FLAG,
ETT_POP,
+ ETT_IMAP,
ETT_FTP,
ETT_TELNET,
ETT_TELNET_SUBOPT,
ETT_RADIUS,
ETT_RADIUS_AVP,
ETT_LAPB,
+ ETT_LAPD,
+ ETT_LAPD_ADDRESS,
ETT_X25,
ETT_XDLC_CONTROL,
+ ETT_Q931,
ETT_ATM,
ETT_ATM_LANE,
ETT_ATM_LANE_LC_FLAGS,
ETT_SNA_RU,
ETT_YHOO,
ETT_RPC,
+ ETT_RPC_STRING,
ETT_RPC_CRED,
ETT_RPC_VERF,
ETT_RPC_GIDS,
+ ETT_MOUNT,
ETT_NFS,
- ETT_NFS2_FH,
- ETT_NFS3_FH,
- ETT_BOOT,
- ETT_MNT,
+ ETT_NFS_FHANDLE,
+ ETT_NFS_TIMEVAL,
+ ETT_NFS_MODE,
+ ETT_NFS_FATTR,
+ ETT_NFS_MODE3,
+ ETT_NFS_SPECDATA3,
+ ETT_NFS_FH3,
+ ETT_NFS_NFSTIME3,
+ ETT_NFS_FATTR3,
ETT_NLM,
- ETT_PMAP,
+ ETT_PORTMAP,
ETT_STAT,
ETT_YPBIND,
ETT_YPSERV,
+ ETT_YPXFR,
ETT_DDP,
NUM_TREE_TYPES /* last item number plus one */
};
void dissect_atm(const u_char *, frame_data *, proto_tree *);
void dissect_clip(const u_char *, frame_data *, proto_tree *);
void dissect_lapb(const u_char *, frame_data *, proto_tree *);
+void dissect_lapd(const u_char *, frame_data *, proto_tree *);
void dissect_null(const u_char *, frame_data *, proto_tree *);
void dissect_ppp(const u_char *, frame_data *, proto_tree *);
void dissect_raw(const u_char *, frame_data *, proto_tree *);
void dissect_data(const u_char *, int, frame_data *, proto_tree *);
void dissect_ddp(const u_char *, int, frame_data *, proto_tree *);
void dissect_dns(const u_char *, int, frame_data *, proto_tree *);
+void dissect_eigrp(const u_char *, int, frame_data *, proto_tree *);
void dissect_esp(const u_char *, int, frame_data *, proto_tree *);
void dissect_eth(const u_char *, int, frame_data *, proto_tree *);
void dissect_ftp(const u_char *, int, frame_data *, proto_tree *);
void dissect_pppoes(const u_char *, int, frame_data *, proto_tree *);
void dissect_icp(const u_char *,int, frame_data *, proto_tree *);
void dissect_icq(const u_char *,int, frame_data *, proto_tree *);
+void dissect_imap(const u_char *,int, frame_data *, proto_tree *);
void dissect_isakmp(const u_char *, int, frame_data *, proto_tree *);
void dissect_pim(const u_char *, int, frame_data *, proto_tree *);
+void dissect_q931(const u_char *, int, frame_data *, proto_tree *);
void dissect_radius(const u_char *, int, frame_data *, proto_tree *);
void dissect_rip(const u_char *, int, frame_data *, proto_tree *);
void dissect_ripng(const u_char *, int, frame_data *, proto_tree *);