]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-token.c
Add CAP_FCNTL and use cap_fcntls_limit().
[tcpdump] / print-token.c
index 8dd23b3373eb8aa21315e490e2e473efeccfaa85..b88bcf7925207540c90547ae18c4f8c6a8cfe813 100644 (file)
 #define SEGMENT_COUNT(trp)     ((int)((RIF_LENGTH(trp) - 2) / 2))
 
 struct token_header {
 #define SEGMENT_COUNT(trp)     ((int)((RIF_LENGTH(trp) - 2) / 2))
 
 struct token_header {
-       u_int8_t  token_ac;
-       u_int8_t  token_fc;
-       u_int8_t  token_dhost[TOKEN_RING_MAC_LEN];
-       u_int8_t  token_shost[TOKEN_RING_MAC_LEN];
-       u_int16_t token_rcf;
-       u_int16_t token_rseg[ROUTING_SEGMENT_MAX];
+       uint8_t  token_ac;
+       uint8_t  token_fc;
+       uint8_t  token_dhost[TOKEN_RING_MAC_LEN];
+       uint8_t  token_shost[TOKEN_RING_MAC_LEN];
+       uint16_t token_rcf;
+       uint16_t token_rseg[ROUTING_SEGMENT_MAX];
 };
 
 static const char tstr[] = "[|token-ring]";
 };
 
 static const char tstr[] = "[|token-ring]";
@@ -110,8 +110,8 @@ token_hdr_print(netdissect_options *ndo,
 {
        const char *srcname, *dstname;
 
 {
        const char *srcname, *dstname;
 
-       srcname = etheraddr_string(fsrc);
-       dstname = etheraddr_string(fdst);
+       srcname = etheraddr_string(ndo, fsrc);
+       dstname = etheraddr_string(ndo, fdst);
 
        if (ndo->ndo_vflag)
                ND_PRINT((ndo, "%02x %02x %s %s %d: ",
 
        if (ndo->ndo_vflag)
                ND_PRINT((ndo, "%02x %02x %s %s %d: ",
@@ -211,7 +211,7 @@ token_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen
        /* Frame Control field determines interpretation of packet */
        if (FRAME_TYPE(trp) == TOKEN_FC_LLC) {
                /* Try to print the LLC-layer header & higher layers */
        /* Frame Control field determines interpretation of packet */
        if (FRAME_TYPE(trp) == TOKEN_FC_LLC) {
                /* Try to print the LLC-layer header & higher layers */
-               if (llc_print(p, length, caplen, ESRC(&ehdr), EDST(&ehdr),
+               if (llc_print(ndo, p, length, caplen, ESRC(&ehdr), EDST(&ehdr),
                    &extracted_ethertype) == 0) {
                        /* ether_type not known, print raw packet */
                        if (!ndo->ndo_eflag)
                    &extracted_ethertype) == 0) {
                        /* ether_type not known, print raw packet */
                        if (!ndo->ndo_eflag)
@@ -223,7 +223,7 @@ token_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen
                        etherproto_string(htons(extracted_ethertype))));
                        }
                        if (!ndo->ndo_suppress_default_print)
                        etherproto_string(htons(extracted_ethertype))));
                        }
                        if (!ndo->ndo_suppress_default_print)
-                               ndo->ndo_default_print(ndo, p, caplen);
+                               ND_DEFAULTPRINT(p, caplen);
                }
        } else {
                /* Some kinds of TR packet we cannot handle intelligently */
                }
        } else {
                /* Some kinds of TR packet we cannot handle intelligently */
@@ -232,7 +232,7 @@ token_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen
                        token_hdr_print(ndo, trp, length + TOKEN_HDRLEN + route_len,
                            ESRC(&ehdr), EDST(&ehdr));
                if (!ndo->ndo_suppress_default_print)
                        token_hdr_print(ndo, trp, length + TOKEN_HDRLEN + route_len,
                            ESRC(&ehdr), EDST(&ehdr));
                if (!ndo->ndo_suppress_default_print)
-                       ndo->ndo_default_print(ndo, p, caplen);
+                       ND_DEFAULTPRINT(p, caplen);
        }
        return (hdr_len);
 }
        }
        return (hdr_len);
 }