X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=pb_encode.h;h=e992c8dca18a1a0dad29ad1b6450f95e83ceb501;hb=1f86b707e3a845f2c403e77173d0859dbf6aa4b0;hp=3009820bbaaaa31dcaaf730ac73255abe94b879f;hpb=5b9ad17dc2014d7506a7dde92281d8c36a1433e4;p=apps%2Fagl-service-can-low-level.git diff --git a/pb_encode.h b/pb_encode.h index 3009820b..e992c8dc 100644 --- a/pb_encode.h +++ b/pb_encode.h @@ -3,8 +3,8 @@ * field descriptions created by nanopb_generator.py. */ -#ifndef _PB_ENCODE_H_ -#define _PB_ENCODE_H_ +#ifndef PB_ENCODE_H_INCLUDED +#define PB_ENCODE_H_INCLUDED #include "pb.h" @@ -24,7 +24,7 @@ extern "C" { * 4) Substreams will modify max_size and bytes_written. Don't use them * to calculate any pointers. */ -struct _pb_ostream_t +struct pb_ostream_s { #ifdef PB_BUFFER_ONLY /* Callback pointer is not used in buffer-only configuration. @@ -71,6 +71,10 @@ bool pb_encode(pb_ostream_t *stream, const pb_field_t fields[], const void *src_ */ bool pb_encode_delimited(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); +/* Encode the message to get the size of the encoded data, but do not store + * the data. */ +bool pb_get_encoded_size(size_t *size, const pb_field_t fields[], const void *src_struct); + /************************************** * Functions for manipulating streams * **************************************/ @@ -143,24 +147,6 @@ bool pb_encode_fixed64(pb_ostream_t *stream, const void *value); */ bool pb_encode_submessage(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct); - -/******************************* - * Internal / legacy functions * - *******************************/ - -#ifdef NANOPB_INTERNALS -bool pb_enc_varint(pb_ostream_t *stream, const pb_field_t *field, const void *src); -bool pb_enc_svarint(pb_ostream_t *stream, const pb_field_t *field, const void *src); -bool pb_enc_fixed32(pb_ostream_t *stream, const pb_field_t *field, const void *src); -bool pb_enc_fixed64(pb_ostream_t *stream, const pb_field_t *field, const void *src); -bool pb_enc_bytes(pb_ostream_t *stream, const pb_field_t *field, const void *src); -bool pb_enc_string(pb_ostream_t *stream, const pb_field_t *field, const void *src); -#endif - -/* This function is not recommended for new programs. Use pb_encode_submessage() - * instead, it has the same functionality with a less confusing interface. */ -bool pb_enc_submessage(pb_ostream_t *stream, const pb_field_t *field, const void *src); - #ifdef __cplusplus } /* extern "C" */ #endif