summaryrefslogtreecommitdiffstats
path: root/pb.h
AgeCommit message (Collapse)AuthorFilesLines
2014-12-26Add support for POINTER type in extensionsPetteri Aimonen1-2/+4
2014-12-22Add compilation option to disable struct packing.Petteri Aimonen1-1/+10
Update issue 136 Status: FixedInGit
2014-09-16Set version to nanopb-0.3.2-devPetteri Aimonen1-1/+1
2014-09-11Publishing nanopb-0.3.1Petteri Aimonen1-1/+1
2014-08-26Setting version to 0.3.1-devPetteri Aimonen1-1/+1
2014-08-26Publishing nanopb-0.3.0Petteri Aimonen1-1/+1
2014-08-19Add #if guard for .pb.h version.Petteri Aimonen1-14/+6
The version in PB_PROTO_HEADER_VERSION can be bumped whenever there is a breaking change to the generated files, and it will then alert to the difference. Update issue 129 Status: FixedInGit
2014-08-18Rename poorly named identifier to avoid name conflicts.Petteri Aimonen1-14/+14
Update issue 106 Status: FixedInGit
2014-08-18Rename UNUSED() and STATIC_ASSERT() macros with PB_ prefix.Petteri Aimonen1-18/+22
This avoids possible namespace conflicts with other macros.
2014-08-18Change the _count fields to use pb_size_t datatype.Petteri Aimonen1-2/+5
Update issue 82 Status: FixedInGit
2014-08-09Setting version to 0.3.0-devPetteri Aimonen1-1/+1
2014-08-09Publishing nanopb-0.2.9Petteri Aimonen1-1/+1
2014-05-30Add PB_PACKED_STRUCT support for Keil MDK-ARM toolchainPetteri Aimonen1-2/+2
Patch from Jon Read. Update issue 119 Status: FixedInGit
2014-05-20Setting version to 0.2.9-devPetteri Aimonen1-1/+1
2014-05-20Publishing nanopb-0.2.8Petteri Aimonen1-1/+1
2014-04-07Setting version to 0.2.8-devPetteri Aimonen1-1/+1
2014-04-07Publishing nanopb-0.2.7Petteri Aimonen1-1/+1
2014-04-05Fix unused parameter warning when building without errmsg.Petteri Aimonen1-1/+5
2014-04-05Add a 'found' field to pb_extension_t.Petteri Aimonen1-0/+4
Update issue 112 Status: FixedInGit
2014-03-17More configuration options for dynamic allocPetteri Aimonen1-0/+14
2014-03-15Get rid of pb_bytes_ptr_t, just allocate pb_bytes_array_t dynamically.Petteri Aimonen1-9/+3
This makes the internal logic much simpler, and also keeps the datatypes more similar between STATIC/POINTER cases. It will still be a bit cumbersome to use because of variable length array member. Macros PB_BYTES_ARRAY_T(n) and PB_BYTES_ARRAY_T_ALLOCSIZE(n) have been added to make life a bit easier. This has the drawback that it is no longer as easy to use externally allocated byte array as input for bytes field in pointer mode. However, this is still easy to do using callbacks, so it shouldn't be a large issue.
2014-02-24Beginnings of malloc support in pb_decodePetteri Aimonen1-0/+4
2014-02-15Setting version to 0.2.7-devPetteri Aimonen1-1/+1
2014-02-15Publishing nanopb-0.2.6Petteri Aimonen1-1/+1
2014-02-04Add coments to places where STATIC_ASSERT is used.Petteri Aimonen1-3/+13
Update issue 96 Status: FixedInGit
2014-01-01Setting version to 0.2.6-devPetteri Aimonen1-1/+1
2014-01-01Publishing nanopb-0.2.5Petteri Aimonen1-1/+1
2013-12-29Organize allocation logic in generator, add pb_bytes_ptr_t.Petteri Aimonen1-3/+11
Allocation decision is now made before the field data type is decided. This way the data type decisions can more cleanly account for the allocation type, i.e. FT_DEFAULT logic etc. Added pb_bytes_ptr_t for pointer-allocated bytes-fields. There is no point generating separate structs for these, as they would all be of the same type.
2013-12-29Generating and encoding messages with dynamic allocaitonMartin Donath1-0/+17
2013-12-21Add PB_LTYPE_UVARINT to fix encoding of negative int32 values.Petteri Aimonen1-17/+13
Apparently int32 values that are negative must be cast into int64 first before being encoded. Because uint32 still needs to be cast to uint64, the cases for int32 and uint32 had to be separated. Update issue 97 Status: FixedInGit
2013-11-07Setting version to 0.2.5-devPetteri Aimonen1-1/+1
2013-11-07Publishing nanopb-0.2.4Petteri Aimonen1-1/+1
2013-10-20Define pb_size_t and pb_ssize_t data types.Petteri Aimonen1-22/+19
Use these in pb_field_t definition to clean up some #ifs, and also to prepare for solving issue #82.
2013-09-18Setting version to 0.2.4-devPetteri Aimonen1-1/+1
2013-09-18Publishing nanopb-0.2.3Petteri Aimonen1-1/+1
2013-09-13Merge branch 'dev_get_rid_of_ternary_operator'Petteri Aimonen1-19/+43
2013-09-13Fine-tune the naming of new macros before merging into master.Petteri Aimonen1-11/+17
Requires re-generation of files generated with dev_get_rid_of_ternary_operator.
2013-09-11Get rid of the ternary operator in the pb_field_t initialization.Petteri Aimonen1-19/+37
Some compilers where unable to detect that the ternary operator can be evaluated at the compile time. This commit does the evaluation on the Python side, which should fix the problem. The new .pb.c files are generated using PB_FIELD2() macro. The old PB_FIELD() macro remains, so that previously generated files keep working.
2013-09-10Add an example pb_syshdr.h file for platforms without C99.Petteri Aimonen1-0/+11
This allows building the tests easily on Visual C++ in C mode. Also add checks to pb.h that the defined integer types are of the proper sizes. This may prevent some difficult to debug problems later..
2013-08-18Setting version to 0.2.3-devPetteri Aimonen1-1/+1
2013-08-18Publishing nanopb-0.2.2Petteri Aimonen1-1/+1
2013-07-22Fix bugs in extension support when multiple extension fields are present.Petteri Aimonen1-0/+11
2013-07-17Implement extension support for the encoderPetteri Aimonen1-1/+1
2013-07-17Implement generator support for extension fields (no encoder/decoder support ↵Petteri Aimonen1-2/+53
yet)
2013-07-06Add section in pb.h for changing compilation settings.Petteri Aimonen1-16/+57
Update issue 76 Status: FixedInGit
2013-04-14Setting version to 0.2.2-devPetteri Aimonen1-1/+1
2013-04-14Publishing nanopb-0.2.1Petteri Aimonen1-1/+1
2013-04-08__pragma keyword is only supported by recent Microsoft compilersdch1-1/+1
2013-04-02Change the callback function to use void**.Petteri Aimonen1-0/+9
NOTE: This change breaks backwards-compatibility by default. If you have old callback functions, you can define PB_OLD_CALLBACK_STYLE to retain the old behaviour. If you want to convert your old callbacks to new signature, you need to do the following: 1) Change decode callback argument to void **arg and encode callback argument to void * const *arg. 2) Change any reference to arg into *arg. The rationale for making the new behaviour the default is that it simplifies the common case of "allocate some memory in decode callback". Update issue 69 Status: FixedInGit
2013-03-13Fix warning on clang.Petteri Aimonen1-1/+1
Update issue 67 Status: FixedInGit