Data Structures | |
| struct | SavedLength |
| Saved length. More... | |
Defines | |
| #define | SAVE_FOR_UNALIGN(str, boundary) |
| Saves the segment to delete in order to unalign the next item. More... | |
| #define | PERFORM_UNALIGN(str) |
| Deletes the alignment padding. More... | |
Functions | |
| dbus_bool_t | _dbus_message_data_load (DBusString *dest, const DBusString *filename) |
| Reads the given filename, which should be in "message description language" (look at some examples), and builds up the message data from it. More... | |
The code in here is used for unit testing, it loads up message data from a description in a file.
|
|
Value: if (unalign) \
{ \
_dbus_string_delete ((str), align_pad_start, \
align_pad_end - align_pad_start); \
unalign = FALSE; \
}
Definition at line 184 of file dbus-message-builder.c. |
|
|
Value: int align_pad_start = _dbus_string_get_length (str); \ int align_pad_end = _DBUS_ALIGN_VALUE (align_pad_start, (boundary))
Definition at line 179 of file dbus-message-builder.c. |
|
||||||||||||
|
Reads the given filename, which should be in "message description language" (look at some examples), and builds up the message data from it. The message data may be invalid, or valid. The parser isn't very strict, it's just a hack for test programs. The file format is: VALID_HEADER <type> normal header; byte order, type, padding, header len, body len, serial
REQUIRED_FIELDS add required fields with placeholder values
BIG_ENDIAN switch to big endian
LITTLE_ENDIAN switch to little endian
OPPOSITE_ENDIAN switch to opposite endian
ALIGN <N> aligns to the given value
UNALIGN skips alignment for the next marshal
BYTE <N> inserts the given integer in [0,255] or char in 'a' format
START_LENGTH <name> marks the start of a length to measure
END_LENGTH <name> records the length since START_LENGTH under the given name
(or if no START_LENGTH, absolute length)
LENGTH <name> inserts the saved length of the same name
CHOP <N> chops last N bytes off the data
HEADER_FIELD <fieldname> inserts a header field name byte
TYPE <typename> inserts a typecode byte
Following commands insert aligned data unless preceded by "UNALIGN": INT32 <N> marshals an INT32
UINT32 <N> marshals a UINT32
INT64 <N> marshals an INT64
UINT64 <N> marshals a UINT64
DOUBLE <N> marshals a double
STRING 'Foo' marshals a string
OBJECT_PATH '/foo/bar' marshals an object path
BYTE_ARRAY { 'a', 3, 4, 5, 6} marshals a BYTE array
BOOLEAN_ARRAY { false, true, false} marshals a BOOLEAN array
INT32_ARRAY { 3, 4, 5, 6} marshals an INT32 array
UINT32_ARRAY { 3, 4, 5, 6} marshals an UINT32 array
DOUBLE_ARRAY { 1.0, 2.0, 3.0, 4.0} marshals a DOUBLE array
STRING_ARRAY { "foo", "bar", "gazonk"} marshals a STRING array
Definition at line 577 of file dbus-message-builder.c. References SavedLength::endian, SavedLength::length, DBusError::message, SavedLength::name, SavedLength::offset, and SavedLength::start. |
1.2.15