|
LAR Library
1.14
|
Set of pre-defined formatting functions. More...
Functions | |
| int | formatFilterISO8583 (const format_t *fmt, const formatField_t *field) |
Use this function as the filter function for a ISO8583 buffer. More... | |
| int | formatBodyISO8583 (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
| Read/write the bitmap of a ISO8583 message. More... | |
| int | formatBodyPacked (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
| Format a field as a recursive call to formatPack() and formatUnpack(). More... | |
| int | formatBodySkip (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Skip field->size bytes from message. More... | |
| int | formatBodyMemcpy (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Copy field->size bytes of field->data to/from buffer. More... | |
| int | formatBodyStrcpy (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
| Formatting for variable-sized zero-terminated strings. More... | |
| int | formatBodyUint64Dec (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an uint64_t field as a decimal string. More... | |
| int | formatBodyUint32Dec (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an uint32_t field as a decimal string. More... | |
| int | formatBodyUint16Dec (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an uint16_t field as a decimal string. More... | |
| int | formatBodyUint8Dec (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an uint8_t field as a decimal string. More... | |
| int | formatBodyUint64Buf (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an uint64_t field as a sequence of bytes. More... | |
| int | formatBodyBufHex (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Format an buffer field as a hexadecimal string. More... | |
| int | formatSizeAsc2 (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Read or write the value of bodySize as a 2-digit base-10 string. More... | |
| int | formatSizeAsc3 (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Read or write the value of bodySize as a 3-digit base-10 string. More... | |
| int | formatSizeBcd2 (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Read of write the value of bodySize as a 2-digit BCD number (1 byte). More... | |
| int | formatSizeBcd3 (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Read of write the value of bodySize as a 3-digit BCD number (2 bytes). More... | |
| int | formatPadSpaces (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Write or skip field->size - field->bodySize spaces. More... | |
| int | formatPadZeroes (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Write or skip field->size - field->bodySize ASCII '0' chars. More... | |
| int | formatPadZeroBytes (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Write or skip field->size - field->bodySize 0x00 bytes. More... | |
| int | formatPadSkip (uint8_t *buffer, int limit, formatDirection_t direction, format_t *fmt, formatField_t *field) |
Skip exactly field->size - field->bodySize bytes. More... | |
Detailed Description
Set of pre-defined formatting functions.
- Todo:
- Review the list of format functions and add new ones.
Function Documentation
| int formatBodyBufHex | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an buffer field as a hexadecimal string.
field->data must point to an char array, its values will be read and written as a string in base-16.
- Note
- No padding is done, the return is the number of hexadecimal digits actually used. Use
prefixorsuffixfor padding.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatBodyISO8583 | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Read/write the bitmap of a ISO8583 message.
field->size must include the size of the bitmap, in bytes (8 for 64-bits, 16 for 128-bits).
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the ISO8583 bitmap.
- Returns
- Positive number of bytes actually read or written.
- Negative number on error.
| int formatBodyMemcpy | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Copy field->size bytes of field->data to/from buffer.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Positive number of bytes actually read or written (always
field->size). - Negative number on error.
| int formatBodyPacked | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format a field as a recursive call to formatPack() and formatUnpack().
Packs the field by calling formatPack(field->data, buffer, limit) and unpacks the field by calling formatUnpack(field->data, buffer, field->bodySize).
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about this field, field->datashould point to a format_t instance.
- Returns
- Positive number of bytes actually read or written.
- Negative number on error.
| int formatBodySkip | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Skip field->size bytes from message.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Positive number of bytes actually skipped (always
field->size). - Negative number on error.
| int formatBodyStrcpy | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Formatting for variable-sized zero-terminated strings.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read (alwaysbodySize). - Negative number on error.
| int formatBodyUint16Dec | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an uint16_t field as a decimal string.
field->data must point to an unsigned short, its value will be read and written as a string in base-10.
- Note
- No padding with zeroes is done, the return is the number of decimal digits actually used. Use
prefixorsuffixfor padding. Also note that negative numbers are not supported!
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatBodyUint32Dec | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an uint32_t field as a decimal string.
field->data must point to an unsigned int, its value will be read and written as a string in base-10.
- Note
- No padding with zeroes is done, the return is the number of decimal digits actually used. Use
prefixorsuffixfor padding. Also note that negative numbers are not supported!
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatBodyUint64Buf | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an uint64_t field as a sequence of bytes.
field->data must point to an uint64_t, its value will be read and written as a sequence of bytes in big-endian order.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error
| int formatBodyUint64Dec | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an uint64_t field as a decimal string.
field->data must point to an uint64_t, its value will be read and written as a string in base-10.
- Note
- No padding with zeroes is done, the return is the number of decimal digits actually used. Use
prefixorsuffixfor padding. Also note that negative numbers are not supported!
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatBodyUint8Dec | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Format an uint8_t field as a decimal string.
field->data must point to an unsigned char, its value will be read and written as a string in base-10.
- Note
- No padding with zeroes is done, the return is the number of decimal digits actually used. Use
prefixorsuffixfor padding. Also note that negative numbers are not supported!
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatFilterISO8583 | ( | const format_t * | fmt, |
| const formatField_t * | field | ||
| ) |
Use this function as the filter function for a ISO8583 buffer.
This function uses field->index as the index of a bit in fmt->fieldMap to check if this field should be read or written.
Always return non-zero (allowed) if fieldMap is NULL or field->index is negative.
- Parameters
-
fmt Formatting instance. field Pointer to field data.
- Returns
- Non-zero if
fieldshould be read or written. - Zero if not.
| int formatPadSkip | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Skip exactly field->size - field->bodySize bytes.
- Attention
- Nothing is written to the output buffer during FORMAT_PACK!
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
field->size - field->bodySize
| int formatPadSpaces | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Write or skip field->size - field->bodySize spaces.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
field->size - field->bodySize- Negative number on error.
| int formatPadZeroBytes | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Write or skip field->size - field->bodySize 0x00 bytes.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
field->size - field->bodySize- Negative number on error.
| int formatPadZeroes | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Write or skip field->size - field->bodySize ASCII '0' chars.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field.
- Returns
field->size - field->bodySize- Negative number on error.
| int formatSizeAsc2 | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Read or write the value of bodySize as a 2-digit base-10 string.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field. Only bodySizeis used.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatSizeAsc3 | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Read or write the value of bodySize as a 3-digit base-10 string.
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field. Only bodySizeis used.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatSizeBcd2 | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Read of write the value of bodySize as a 2-digit BCD number (1 byte).
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field. Only bodySizeis used.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
| int formatSizeBcd3 | ( | uint8_t * | buffer, |
| int | limit, | ||
| formatDirection_t | direction, | ||
| format_t * | fmt, | ||
| formatField_t * | field | ||
| ) |
Read of write the value of bodySize as a 3-digit BCD number (2 bytes).
- Parameters
-
buffer Output buffer. limit Max number of bytes to write to buffer.direction FORMAT_PACK or FORMAT_UNPACK fmt Formatting context field Information about the field. Only bodySizeis used.
- Returns
- Number of bytes actually written to
buffer, or number of bytes read. - Negative number on error.
Generated on Mon Mar 27 2017 15:42:53 for LAR Library by
1.8.9.1