summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Ovsienko <denis@ovsienko.info>2021-01-12 18:13:26 +0000
committerDenis Ovsienko <denis@ovsienko.info>2021-01-13 00:21:24 +0000
commit6e33955f9ee75103e0dae40787c81d88a709f2bd (patch)
tree6c436918f23d1766cb9cbeb9673241e02d9eca37
parentd9740d6f4c1b81bd431c1d195ae9d4623fe535ef (diff)
downloadtcpdump-6e33955f9ee75103e0dae40787c81d88a709f2bd.tar.gz
AppleTalk: Declutter appletalk.h.
Lose unused definitions and structures. Move most other contents into print-atalk.c and rearrange for clarity. Lose a dead #ifdef block.
-rw-r--r--CHANGES1
-rw-r--r--appletalk.h124
-rw-r--r--print-atalk.c77
3 files changed, 72 insertions, 130 deletions
diff --git a/CHANGES b/CHANGES
index 630a9dee..20959f36 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ Monthday, Month DD, YYYY by gharris and denis
EGP: Replace custom code with tok2str()
EIGRP: Get the packet header fields right.
UDP: Clean up address and port printing.
+ AppleTalk: Declutter appletalk.h.
Monthday, Month DD, YYYY by gharris
Summary for 4.99.1 tcpdump release (so far!)
diff --git a/appletalk.h b/appletalk.h
index ef4013f1..59379ba9 100644
--- a/appletalk.h
+++ b/appletalk.h
@@ -30,130 +30,6 @@ struct LAP {
#define lapDDP 2 /* DDP type */
#define lapKLAP 'K' /* Kinetics KLAP type */
-/* Datagram Delivery Protocol */
-
-struct atDDP {
- nd_uint16_t length;
- nd_uint16_t checksum;
- nd_uint16_t dstNet;
- nd_uint16_t srcNet;
- nd_uint8_t dstNode;
- nd_uint8_t srcNode;
- nd_uint8_t dstSkt;
- nd_uint8_t srcSkt;
- nd_uint8_t type;
-};
-
-struct atShortDDP {
- nd_uint16_t length;
- nd_uint8_t dstSkt;
- nd_uint8_t srcSkt;
- nd_uint8_t type;
-};
-
-#define ddpMaxWKS 0x7F
-#define ddpMaxData 586
-#define ddpLengthMask 0x3FF
-#define ddpHopShift 10
-#define ddpSize 13 /* size of DDP header (avoid struct padding) */
-#define ddpSSize 5
-#define ddpWKS 128 /* boundary of DDP well known sockets */
-#define ddpRTMP 1 /* RTMP type */
-#define ddpRTMPrequest 5 /* RTMP request type */
-#define ddpNBP 2 /* NBP type */
-#define ddpATP 3 /* ATP type */
-#define ddpECHO 4 /* ECHO type */
-#define ddpIP 22 /* IP type */
-#define ddpARP 23 /* ARP type */
-#define ddpEIGRP 88 /* EIGRP over Appletalk */
-#define ddpKLAP 0x4b /* Kinetics KLAP type */
-
-
-/* AppleTalk Transaction Protocol */
-
-struct atATP {
- nd_uint8_t control;
- nd_uint8_t bitmap;
- nd_uint16_t transID;
- nd_uint32_t userData;
-};
-
-#define atpReqCode 0x40
-#define atpRspCode 0x80
-#define atpRelCode 0xC0
-#define atpXO 0x20
-#define atpEOM 0x10
-#define atpSTS 0x08
-#define atpFlagMask 0x3F
-#define atpControlMask 0xF8
-#define atpMaxNum 8
-#define atpMaxData 578
-
-
-/* AppleTalk Echo Protocol */
-
-struct atEcho {
- nd_uint8_t echoFunction;
- nd_uint8_t echoData[1]; /* Should be [], C99-style */
-};
-
-#define echoSkt 4 /* the echoer socket */
-#define echoSize 1 /* size of echo header */
-#define echoRequest 1 /* echo request */
-#define echoReply 2 /* echo request */
-
-
-/* Name Binding Protocol */
-
-struct atNBP {
- nd_uint8_t control;
- nd_uint8_t id;
-};
-
-struct atNBPtuple {
- nd_uint16_t net;
- nd_uint8_t node;
- nd_uint8_t skt;
- nd_uint8_t enumerator;
-};
-
-#define nbpBrRq 0x10
-#define nbpLkUp 0x20
-#define nbpLkUpReply 0x30
-
-#define nbpNIS 2
-#define nbpTupleMax 15
-
-#define nbpHeaderSize 2
-#define nbpTupleSize 5
-
-#define nbpSkt 2 /* NIS */
-
-
-/* Routing Table Maint. Protocol */
-
-#define rtmpSkt 1 /* number of RTMP socket */
-#define rtmpSize 4 /* minimum size */
-#define rtmpTupleSize 3
-
-
-/* Zone Information Protocol */
-
-struct zipHeader {
- nd_uint8_t command;
- nd_uint8_t netcount;
-};
-
-#define zipHeaderSize 2
-#define zipQuery 1
-#define zipReply 2
-#define zipTakedown 3
-#define zipBringup 4
-#define ddpZIP 6
-#define zipSkt 6
-#define GetMyZone 7
-#define GetZoneList 8
-
/*
* UDP port range used for ddp-in-udp encapsulation is 16512-16639
* for client sockets (128-255) and 200-327 for server sockets
diff --git a/print-atalk.c b/print-atalk.c
index d9f86c72..ae191397 100644
--- a/print-atalk.c
+++ b/print-atalk.c
@@ -36,7 +36,74 @@
#include "extract.h"
#include "appletalk.h"
+/* Datagram Delivery Protocol */
+
+struct atDDP {
+ nd_uint16_t length;
+ nd_uint16_t checksum;
+ nd_uint16_t dstNet;
+ nd_uint16_t srcNet;
+ nd_uint8_t dstNode;
+ nd_uint8_t srcNode;
+ nd_uint8_t dstSkt;
+ nd_uint8_t srcSkt;
+ nd_uint8_t type;
+};
+#define ddpSize 13
+
+struct atShortDDP {
+ nd_uint16_t length;
+ nd_uint8_t dstSkt;
+ nd_uint8_t srcSkt;
+ nd_uint8_t type;
+};
+#define ddpSSize 5
+
+/* AppleTalk Transaction Protocol */
+
+struct atATP {
+ nd_uint8_t control;
+ nd_uint8_t bitmap;
+ nd_uint16_t transID;
+ nd_uint32_t userData;
+};
+
+#define atpReqCode 0x40
+#define atpRspCode 0x80
+#define atpRelCode 0xC0
+#define atpXO 0x20
+#define atpEOM 0x10
+#define atpSTS 0x08
+/* Name Binding Protocol */
+
+struct atNBP {
+ nd_uint8_t control;
+ nd_uint8_t id;
+};
+#define nbpHeaderSize 2
+
+struct atNBPtuple {
+ nd_uint16_t net;
+ nd_uint8_t node;
+ nd_uint8_t skt;
+ nd_uint8_t enumerator;
+};
+#define nbpTupleSize 5
+
+#define nbpBrRq 0x10
+#define nbpLkUp 0x20
+#define nbpLkUpReply 0x30
+
+#define ddpRTMP 1 /* RTMP type */
+#define ddpNBP 2 /* NBP type */
+#define ddpATP 3 /* ATP type */
+#define ddpECHO 4 /* ECHO type */
+#define ddpRTMPrequest 5 /* RTMP request type */
+#define ddpIP 22 /* IP type */
+#define ddpARP 23 /* ARP type */
+#define ddpKLAP 0x4b /* Kinetics KLAP type */
+#define ddpEIGRP 88 /* EIGRP over Appletalk */
static const struct tok type2str[] = {
{ ddpRTMP, "rtmp" },
{ ddpRTMPrequest, "rtmpReq" },
@@ -163,12 +230,6 @@ llap_print(netdissect_options *ndo,
GET_U_1(dp->srcNode), GET_U_1(dp->srcSkt));
break;
-#ifdef notdef
- case lapKLAP:
- klap_print(bp, length);
- break;
-#endif
-
default:
ND_PRINT("%u > %u at-lap#%u %u",
GET_U_1(lp->src), GET_U_1(lp->dst), GET_U_1(lp->type),
@@ -679,6 +740,10 @@ ataddr_string(netdissect_options *ndo,
return (tp->name);
}
+#define rtmpSkt 1
+#define nbpSkt 2
+#define echoSkt 4
+#define zipSkt 6
static const struct tok skt2str[] = {
{ rtmpSkt, "rtmp" }, /* routing table maintenance */
{ nbpSkt, "nis" }, /* name info socket */