X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=pb.h;h=63d313dc21e26d20ee6fbd48440b6c474b7b266e;hb=b63e582bdb34b4727a8eb551fc72ee0476047a46;hp=d6cb1d40111abbf1c2dfc1d6eba68bf7f665cb60;hpb=9be2cfe968b4223f9d416aecd483f3b999bbab71;p=apps%2Fagl-service-can-low-level.git diff --git a/pb.h b/pb.h index d6cb1d40..63d313dc 100644 --- a/pb.h +++ b/pb.h @@ -10,6 +10,9 @@ * uncommenting the lines, or on the compiler command line. * *****************************************************************/ +/* Enable support for dynamically allocated fields */ +/* #define PB_ENABLE_MALLOC 1 */ + /* Define this if your CPU architecture is big endian, i.e. it * stores the most-significant byte first. */ /* #define __BIG_ENDIAN__ 1 */ @@ -338,8 +341,23 @@ struct _pb_extension_t { * If this extension does not match a field, the next handler is * automatically called. */ pb_extension_t *next; + + /* The decoder sets this to true if the extension was found. + * Ignored for encoding. */ + bool found; }; +/* Memory allocation functions to use. You can define pb_realloc and + * pb_free to custom functions if you want. */ +#ifdef PB_ENABLE_MALLOC +# ifndef pb_realloc +# define pb_realloc(ptr, size) realloc(ptr, size) +# endif +# ifndef pb_free +# define pb_free(ptr) free(ptr) +# endif +#endif + /* These macros are used to declare pb_field_t's in the constant array. */ /* Size of a structure member, in bytes. */ #define pb_membersize(st, m) (sizeof ((st*)0)->m)