X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=pb.h;h=dce8df304d46be3c6662c3ccc4061b586b05d182;hb=dcab39a41c0a403db38860c22426075e6ae9f25d;hp=85f4421cbf711079e682bd7af6f3b0659019f3c8;hpb=0fb5e5e068326b23493952619d7efb640cb37377;p=apps%2Fagl-service-can-low-level.git diff --git a/pb.h b/pb.h index 85f4421c..dce8df30 100644 --- a/pb.h +++ b/pb.h @@ -75,6 +75,7 @@ typedef enum { /* Number of declared LTYPES */ PB_LTYPES_COUNT = 7, + PB_LTYPE_MASK = 0x0F, /****************** * Modifier flags * @@ -95,11 +96,13 @@ typedef enum { * data_offset points to pb_callback_t structure. * LTYPE should be 0 (it is ignored, but sometimes * used to speculatively index an array). */ - PB_HTYPE_CALLBACK = 0x30 + PB_HTYPE_CALLBACK = 0x30, + + PB_HTYPE_MASK = 0xF0 } pb_packed pb_type_t; -#define PB_HTYPE(x) ((x) & 0xF0) -#define PB_LTYPE(x) ((x) & 0x0F) +#define PB_HTYPE(x) ((x) & PB_HTYPE_MASK) +#define PB_LTYPE(x) ((x) & PB_LTYPE_MASK) /* This structure is used in auto-generated constants * to specify struct fields. @@ -194,7 +197,7 @@ typedef enum { #define pb_arraysize(st, m) (pb_membersize(st, m) / pb_membersize(st, m[0])) #define pb_delta(st, m1, m2) ((int)offsetof(st, m1) - (int)offsetof(st, m2)) #define pb_delta_end(st, m1, m2) (offsetof(st, m1) - offsetof(st, m2) - pb_membersize(st, m2)) -#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0} +#define PB_LAST_FIELD {0,(pb_type_t) 0,0,0,0,0,0} /* These macros are used for giving out error messages. * They are mostly a debugging aid; the main error information