/* \summary: IP Payload Compression Protocol (IPComp) printer */
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
+#include <config.h>
-#include <netdissect-stdinc.h>
-
-struct ipcomp {
- uint8_t comp_nxt; /* Next Header */
- uint8_t comp_flags; /* Length of data, in 32bit */
- uint16_t comp_cpi; /* Compression parameter index */
-};
+#include "netdissect-stdinc.h"
#include "netdissect.h"
#include "extract.h"
+struct ipcomp {
+ nd_uint8_t comp_nxt; /* Next Header */
+ nd_uint8_t comp_flags; /* Length of data, in 32bit */
+ nd_uint16_t comp_cpi; /* Compression parameter index */
+};
+
void
-ipcomp_print(netdissect_options *ndo, register const u_char *bp)
+ipcomp_print(netdissect_options *ndo, const u_char *bp)
{
- register const struct ipcomp *ipcomp;
+ const struct ipcomp *ipcomp;
uint16_t cpi;
+ ndo->ndo_protocol = "ipcomp";
ipcomp = (const struct ipcomp *)bp;
- ND_TCHECK(*ipcomp);
- cpi = EXTRACT_16BITS(&ipcomp->comp_cpi);
+ cpi = GET_BE_U_2(ipcomp->comp_cpi);
- ND_PRINT((ndo, "IPComp(cpi=0x%04x)", cpi));
+ ND_PRINT("IPComp(cpi=0x%04x)", cpi);
/*
* XXX - based on the CPI, we could decompress the packet here.
* stops - there's nothing more it can do with a compressed
* payload.
*/
- return;
-
-trunc:
- ND_PRINT((ndo, "[|IPCOMP]"));
- return;
}