- uint8_t dccph_doff;
- uint8_t dccph_ccval_cscov;
- uint16_t dccph_checksum;
- uint8_t dccph_xtr;
- uint8_t dccph_seq[3];
+ nd_uint8_t dccph_doff;
+ nd_uint8_t dccph_ccval_cscov;
+ nd_uint16_t dccph_checksum;
+ nd_uint8_t dccph_xtr;
+ nd_uint8_t dccph_seq[3];
- uint8_t dccph_doff;
- uint8_t dccph_ccval_cscov;
- uint16_t dccph_checksum;
- uint8_t dccph_xtr;
- uint8_t reserved;
- uint8_t dccph_seq[6];
+ nd_uint8_t dccph_doff;
+ nd_uint8_t dccph_ccval_cscov;
+ nd_uint16_t dccph_checksum;
+ nd_uint8_t dccph_xtr;
+ nd_uint8_t reserved;
+ nd_uint8_t dccph_seq[6];
-#define DCCPH_CCVAL(dh) (((dh)->dccph_ccval_cscov >> 4) & 0xF)
-#define DCCPH_CSCOV(dh) (((dh)->dccph_ccval_cscov) & 0xF)
+#define DCCPH_CCVAL(dh) ((EXTRACT_U_1((dh)->dccph_ccval_cscov) >> 4) & 0xF)
+#define DCCPH_CSCOV(dh) (EXTRACT_U_1((dh)->dccph_ccval_cscov) & 0xF)
-#define DCCPH_X(dh) ((dh)->dccph_xtr & 1)
-#define DCCPH_TYPE(dh) (((dh)->dccph_xtr >> 1) & 0xF)
+#define DCCPH_X(dh) (EXTRACT_U_1((dh)->dccph_xtr) & 1)
+#define DCCPH_TYPE(dh) ((EXTRACT_U_1((dh)->dccph_xtr) >> 1) & 0xF)
* @dccph_resp_service - Echoes the Service Code on a received DCCP-Request
*/
struct dccp_hdr_response {
* @dccph_resp_service - Echoes the Service Code on a received DCCP-Request
*/
struct dccp_hdr_response {
- uint8_t dccph_reset_ack[8]; /* always 8 bytes */
- uint8_t dccph_reset_code,
- dccph_reset_data[3];
+ nd_uint8_t dccph_reset_ack[8]; /* always 8 bytes */
+ nd_uint8_t dccph_reset_code,
+ dccph_reset_data[3];
- sport = EXTRACT_BE_U_2(&dh->dccph_sport);
- dport = EXTRACT_BE_U_2(&dh->dccph_dport);
- hlen = dh->dccph_doff * 4;
+ sport = EXTRACT_BE_U_2(dh->dccph_sport);
+ dport = EXTRACT_BE_U_2(dh->dccph_dport);
+ hlen = EXTRACT_U_1(dh->dccph_doff) * 4;
if (ndo->ndo_vflag && ND_TTEST_LEN(bp, len)) {
uint16_t sum = 0, dccp_sum;
if (ndo->ndo_vflag && ND_TTEST_LEN(bp, len)) {
uint16_t sum = 0, dccp_sum;
ND_PRINT((ndo, "cksum 0x%04x ", dccp_sum));
if (IP_V(ip) == 4)
sum = dccp_cksum(ndo, ip, dh, len);
ND_PRINT((ndo, "cksum 0x%04x ", dccp_sum));
if (IP_V(ip) == 4)
sum = dccp_cksum(ndo, ip, dh, len);
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (service=%d) ",
tok2str(dccp_pkt_type_str, "", dccph_type),
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (service=%d) ",
tok2str(dccp_pkt_type_str, "", dccph_type),
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (service=%d) ",
tok2str(dccp_pkt_type_str, "", dccph_type),
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (service=%d) ",
tok2str(dccp_pkt_type_str, "", dccph_type),
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (code=%s) ",
tok2str(dccp_pkt_type_str, "", dccph_type),
ND_TCHECK(*dhr);
ND_PRINT((ndo, "%s (code=%s) ",
tok2str(dccp_pkt_type_str, "", dccph_type),