Lines Matching +full:- +full:- +full:add +full:- +full:architecture
8 1. Using the -D switch on the C compiler command line.
16 * `PB_FIELD_32BIT`: Add support for field tag numbers over 65535, fields larger than 64 kiB and arr…
19 * `PB_SYSTEM_HEADER`: Replace the standards header files with a single system-specific header file.…
20 … `PB_WITHOUT_64BIT`: Disable support of 64-bit integer fields, for old compilers or for a slight s…
22 * `PB_CONVERT_DOUBLE_FLOAT`: Convert doubles to floats for platforms that do not support 64-bit `do…
23 * `PB_VALIDATE_UTF8`: Check whether incoming strings are valid UTF-8 sequences. Adds a small perfor…
29 recognized automatically by C-preprocessor `#if`-directives in the
56 converted using the nanopb-generator.py. There are three ways to define
89 - Lines starting with `#` or `//` are regarded as comments.
90 - Blank lines are ignored.
91 - All other lines should start with a field name pattern, followed by
93 - The field name pattern is matched against a string of form
97 - The field name pattern may use the notation recognized by Python
99 - `*` matches any part of string, like `Message.*` for all
101 - `?` matches any single character
102 - `[seq]` matches any of characters `s`, `e` and `q`
103 - `[!seq]` matches any other character
104 - The options are written as `option_name:option_value` and
107 - Options defined later in the file override the ones specified
111 To debug problems in applying the options, you can use the `-v` option
113 `--nanopb_opt`:
115 nanopb_generator -v message.proto # When invoked directly
116 protoc ... --nanopb_opt=-v --nanopb_out=. message.proto # When invoked through protoc
123 protoc -Isubdir --nanopb_opt=-Isubdir --nanopb_out=. message.proto
126 argument `-f`.
147 protoc -Inanopb/generator/proto -I. --nanopb_out=. message.proto
162 The nanopb_generator.py has a simple command line option `-s OPTION:VALUE`.
168 * `--c-style`: Modify symbol names to better match C naming conventions.
169 * `--no-timestamp`: Do not add timestamp to generated files.
170 * `--strip-path`: Remove relative path from generated `#include` directives.
171 * `--cpp-descriptors`: Generate extra convenience definitions for use from C++
177 Type used for storing byte-sized data, such as raw binary input and
178 bytes-type fields.
183 however do not support 8-bit variables, and on those platforms 16 or 32
189 default the type is 16-bit:
194 option can be used to change the type to 32-bit value.
203 The low-order nibble of the enumeration values defines the function that
207 | ---------------------------------|-------|------------------------------------------------
212 | `PB_LTYPE_FIXED32` |0x04 |32-bit integer or floating point.
213 | `PB_LTYPE_FIXED64` |0x05 |64-bit integer or floating point.
215 | `PB_LTYPE_STRING` |0x07 |Null-terminated string.
217 | `PB_LTYPE_SUBMSG_W_CB` |0x09 |Submessage with pre-decoding callback.
221 The bits 4-5 define whether the field is required, optional or repeated.
227 …|---------------------|-------|-------------------------------------------------------------------…
230 |`PB_HTYPE_SINGULAR` |0x10 |Proto3 field, which is present when its value is non-zero.
233 |`PB_HTYPE_ONEOF` |0x30 |Oneof-field, only one of each group can be present.
235 The bits 6-7 define the how the storage for the field is allocated:
238 |---------------------|-------|--------------------------------------------------------------------…
260 |-----------------|--------------------------------------------------------|
265 …s in this message. By default `pb_default_field_callback()` which loads per-field callbacks from …
296 |----------------------|--------------------------------------------------------|
312 By default [pb_size_t](#pb_size_t) is 16-bit, limiting the sizes and
396 add a `pb_extension_t*` field. It should point to a linked list of
407 |----------------------|--------------------------------------------------------|
449 arrays, based on a list of fields in [X-macro](https://en.wikipedia.org/wiki/X_Macro) format. :
454 |----------------------|--------------------------------------------------------|
473 |----------------------|--------------------------------------------------------|
490 |----------------------|--------------------------------------------------------|
510 |----------------------|--------------------------------------------------------|
514 … | True on success, false on any error condition. Error message is set to `stream->errmsg`.
529 |----------------------|--------------------------------------------------------|
534 … | True on success, false on any error condition. Error message is set to `stream->errmsg`.
538 * `PB_ENCODE_DELIMITED`: Indicate the length of the message by prefixing with a varint-encoded leng…
548 |----------------------|--------------------------------------------------------|
563 can call exactly one of the content-writing functions to encode the
576 See [Google Protobuf Encoding Format Documentation](https://developers.google.com/protocol-buffers/…
587 |----------------------|--------------------------------------------------------|
588 | stream | Output stream to write to. 1-5 bytes will be written.
590 …r | Identifier for the field, defined in the .proto file. You can get it from `field->tag`.
601 |----------------------|--------------------------------------------------------|
602 | stream | Output stream to write to. 1-5 bytes will be written.
613 |--------------------------------------------------|-----------------
628 |----------------------|--------------------------------------------------------|
629 | stream | Output stream to write to. 1-10 bytes will be written.
638 Encodes a signed integer in the [zig-zagged](https://developers.google.com/protocol-buffers/docs/en…
653 |----------------------|--------------------------------------------------------|
661 Writes 4 bytes to stream and swaps bytes on big-endian architectures.
667 |----------------------|--------------------------------------------------------|
669 | value | Pointer to a 4-bytes large C variable, for example `uint32_t foo;`.
674 Writes 8 bytes to stream and swaps bytes on big-endian architecture.
680 |----------------------|--------------------------------------------------------|
682 | value | Pointer to a 8-bytes large C variable, for example `uint64_t foo;`.
687 Encodes a 32-bit `float` value so that it appears like a 64-bit `double` in the encoded message.
688 This is sometimes needed when platforms like AVR that do not support 64-bit `double` need to commun…
694 |----------------------|--------------------------------------------------------|
707 |----------------------|--------------------------------------------------------|
732 |----------------------|--------------------------------------------------------|
745 |----------------------|--------------------------------------------------------|
749 | returns | True on success, false if `stream->bytes_left` is less than `count` or if …
751 End of file is signalled by `stream->bytes_left` being zero after pb_read returns false.
761 |----------------------|--------------------------------------------------------|
765 … | True on success, false on any error condition. Error message will be in `stream->errmsg`.
767 In Protocol Buffers binary format, end-of-file is only allowed between fields.
787 |----------------------|--------------------------------------------------------|
792 … | True on success, false on any error condition. Error message will be in `stream->errmsg`.
815 |----------------------|--------------------------------------------------------|
832 |----------------------|--------------------------------------------------------|
836 | eof | Pointer to variable where to store end-of-file status.
849 |----------------------|--------------------------------------------------------|
867 They take a pointer to a 32- or 64-bit C variable, which you may then cast to smaller datatype for …
869 … the length has already been decoded and the callback function is given a length-limited substream.
870 You can therefore check the total length in `stream->bytes_left` and read the data using [pb_read](…
882 |----------------------|--------------------------------------------------------|
883 | stream | Input stream to read from. 1-10 bytes will be read.
901 performs zigzag-decoding on the value. This corresponds to the Protocol
915 |----------------------|--------------------------------------------------------|
931 |----------------------|--------------------------------------------------------|
941 Decodes a 64-bit `double` value into a 32-bit `float`
947 |----------------------|--------------------------------------------------------|
960 |----------------------|--------------------------------------------------------|
977 |----------------------|--------------------------------------------------------|
994 |----------------------|--------------------------------------------------------|
1007 |----------------------|--------------------------------------------------------|
1022 |----------------------|--------------------------------------------------------|
1037 |----------------------|--------------------------------------------------------|
1039 | returns | True, if string is valid UTF-8, false otherwise.
1042 UTF-8 encoded text, while `bytes` fields can contain arbitrary data.