/* packet-rx.h
* Definitions for packet disassembly structures and routines
*
- * $Id: packet-rx.h,v 1.6 2001/08/04 04:04:34 guy Exp $
+ * $Id: packet-rx.h,v 1.9 2002/02/05 21:02:36 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
/*
* RX protocol definitions.
*/
-struct rx_header {
- guint32 epoch;
- guint32 cid;
- guint32 callNumber;
- guint32 seq;
- guint32 serial;
- u_char type;
+
+/*
+ * Packet types.
+ */
#define RX_PACKET_TYPE_DATA 1
#define RX_PACKET_TYPE_ACK 2
#define RX_PACKET_TYPE_BUSY 3
#define RX_PACKET_TYPE_DEBUG 8
#define RX_PACKET_TYPE_PARAMS 9
#define RX_PACKET_TYPE_VERSION 13
- u_char flags;
+
+/*
+ * Flag bits in the RX header.
+ */
#define RX_CLIENT_INITIATED 1
#define RX_REQUEST_ACK 2
#define RX_LAST_PACKET 4
#define RX_MORE_PACKETS 8
#define RX_FREE_PACKET 16
- u_char userStatus;
- u_char securityIndex;
- guint16 spare; /* How clever: even though the AFS */
- guint16 serviceId; /* header files indicate that the */
-}; /* serviceId is first, it's really */
- /* encoded _after_ the spare field */
- /* I wasted a day figuring that out! */
-#define RX_MAXACKS 255
-struct rx_ack_header {
- guint16 bufferspace; /* # of packet buffers available */
- guint16 maxskew;
- guint32 firstpacket; /* First packet in acks below */
- guint32 prevpacket;
- guint32 serial; /* Packet that prompted this one */
- u_char reason; /* rx_ack_reason */
- u_char nAcks; /* number of acks*/
- u_char acks[RX_MAXACKS];
-};
+#define RX_SLOW_START_OR_JUMBO 32
#define RX_ACK_TYPE_NACK 0
#define RX_ACK_TYPE_ACK 1
#define RX_ACK_PING 6
#define RX_ACK_PING_RESPONSE 7
#define RX_ACK_DELAY 8
-
-struct rxkad_challenge {
- guint32 version;
- guint32 nonce;
- guint32 min_level;
- guint32 unused;
-};
+#define RX_ACK_IDLE 9
#define RX_MAXCALLS 4
-struct rxkad_response {
- guint32 version;
- guint32 unused;
- struct {
- guint32 epoch;
- guint32 cid;
- guint32 cksum;
- guint32 security_index;
- guint32 call_numbers[RX_MAXCALLS];
- guint32 inc_nonce;
- guint32 level;
- } encrypted;
- guint32 kvno;
- guint32 ticket_len;
- u_char the_ticket[0];
-};
-
#endif