Binary Coded Decimal (BCD) Helper Functions
Defines | |
#define | rtQ825TBCDToString(numocts, data, buffer, bufsiz) rtxQ825TBCDToString(numocts, data, buffer, bufsiz) |
#define | rtDecQ825TBCDString(pctxt, numocts, buffer, bufsiz) rtxDecQ825TBCDString(pctxt, numocts, buffer, bufsiz) |
#define | rtEncQ825TBCDString(pctxt, str) rtxEncQ825TBCDString(pctxt, str) |
#define | rtTBCDBinToChar(bcdDigit, pdigit) rtxTBCDBinToChar(bcdDigit, pdigit) |
#define | rtTBCDCharToBin(digit, pbyte) rtxTBCDCharToBin(digit, pbyte) |
Functions | |
const char * | rtBCDToString (OSUINT32 numocts, const OSOCTET *data, char *buffer, size_t bufsiz, OSBOOL isTBCD) |
int | rtStringToBCD (const char *str, OSOCTET *bcdStr, size_t bufsiz, OSBOOL isTBCD) |
int | rtStringToDynBCD (OSCTXT *pctxt, const char *str, ASN1DynOctStr *poctstr) |
int | rtStringToTBCD (const char *str, OSOCTET *bcdStr, size_t bufsiz) |
const char * | rtTBCDToString (OSUINT32 numocts, const OSOCTET *data, char *buffer, size_t bufsiz) |
Detailed Description
Binary Coded Decimal (BCD) helper functions provide assistance in working with BCD numbers. Functions are provided to convert to a BCD values to and from string form.
Define Documentation
#define rtDecQ825TBCDString | ( | pctxt, | |||
numocts, | |||||
buffer, | |||||
bufsiz | ) | rtxDecQ825TBCDString(pctxt, numocts, buffer, bufsiz) |
This function decodes a Q.825 TBCD value to a standard null-terminated string. TBCD digits are read from the decode buffer/stream and converted to their character equivalents. See 'rtQ825TBCDToString' for a description of the Q.825 TBCD format.
- Parameters:
-
pctxt Pointer to a context structure block. numocts The number of octets in the BCD value to be read from input stream. buffer The destination buffer. Should not be less than bufsiz argument is. bufsiz The size of the destination buffer (in octets). The buffer size should be at least ((numocts * 2) + 1) to hold the BCD to String conversion.
- Returns:
- Status of conversion: 0 = success, negative = error.
- Since:
- 6.6
#define rtEncQ825TBCDString | ( | pctxt, | |||
str | ) | rtxEncQ825TBCDString(pctxt, str) |
This function encodes a null-terminated string Q.825 TBCD string. TBCD digits are converted and written to the encode buffer/stream. See 'rtQ825TBCDToString' for a description of the Q.825 TBCD format.
- Parameters:
-
pctxt Pointer to a context structure block. str Null-terminate string to be encoded. This string may only contain valid Q.825 TBCD characters.
- Returns:
- Status of operation: 0 = success, negative = error.
- Since:
- 6.6
#define rtQ825TBCDToString | ( | numocts, | |||
data, | |||||
buffer, | |||||
bufsiz | ) | rtxQ825TBCDToString(numocts, data, buffer, bufsiz) |
This function converts a Q.825 TBCD value to a standard null-terminated string. Octet values can contain the filler digit to represent the odd number of BCD digits.
The encoding is as follows per Q.825:
This type (Telephony Binary Coded Decimal String) is used to represent digits from 0 through 9, *, #, a, b, c, two digits per octet, each digit encoded 0000 to 1001 (0 to 9), 1010 (*) 1011(#), 1100 (a), 1101 (b) or 1110 (c); 1111 (end of pulsing signal-ST); 0000 is used as a filler when there is an odd number of digits.
- Parameters:
-
numocts The number of octets in the BCD value. data The pointer to the BCD value. buffer The destination buffer. Should not be less than bufsiz argument is. bufsiz The size of the destination buffer (in octets). The buffer size should be at least ((numocts * 2) + 1) to hold the BCD to String conversion.
- Returns:
- Status of conversion: 0 = success, negative = error.
- Since:
- 6.6
#define rtTBCDBinToChar | ( | bcdDigit, | |||
pdigit | ) | rtxTBCDBinToChar(bcdDigit, pdigit) |
This function converts a TBCD binary character into its ASCII equivalent.
- Parameters:
-
bcdDigit TBCD digit pdigit Pointer to character to receive converted character
- Returns:
- 0 if conversion successful, or negative error code
- Since:
- 6.6
#define rtTBCDCharToBin | ( | digit, | |||
pbyte | ) | rtxTBCDCharToBin(digit, pbyte) |
This function converts a TBCD character ('0'-'9',"*#abc") into its binary equivalent.
- Parameters:
-
digit TBCD digit character ('0'-'9',"*#abc") pbyte Pointer to byte to receive binary result.
- Returns:
- 0 if conversion successful, or negative error code
- Since:
- 6.6
Function Documentation
const char* rtBCDToString | ( | OSUINT32 | numocts, | |
const OSOCTET * | data, | |||
char * | buffer, | |||
size_t | bufsiz, | |||
OSBOOL | isTBCD | |||
) |
This function converts a packed BCD value to a standard null-terminated string. Octet values may contain filler digits if the number of BCD digits is odd.
BCD digits can be 0(0000) to 9(1001). Filler digits can be A(1010), B(1011), C(1100), D(1101), E(1110) or F(1111)
- Parameters:
-
numocts The number of octets in the BCD value. data The pointer to the BCD value. buffer The destination buffer. Should not be less than buffsiz argument is. bufsiz The size of the destination buffer (in octets). The buffer size should be atleast ((numocts * 2) + 1) to hold the BCD to String conversion. isTBCD Whether the input data is formatted as a TBCD string or not.
- Returns:
- The converted null-terminated string. NULL, if error has occurred or destination buffer is not enough.
- See also:
- rtTBCDToString
int rtStringToBCD | ( | const char * | str, | |
OSOCTET * | bcdStr, | |||
size_t | bufsiz, | |||
OSBOOL | isTBCD | |||
) |
This function converts a standard null-terminated string into a BCD value. The source string should contain only characters '0' - '9', 'A' - 'F', or 'a' - 'f'. Otherwise, an error will occur.
- Parameters:
-
str The source standard null-terminated string. bcdStr The destination buffer. Should not be less than bufsiz is. bufsiz The size of the destination buffer (in octets). isTBCD Whether the string is a TBCD string or not.
- Returns:
- The number of octets in the resulting BCD value or a negative value if an error occurs.
- See also:
- rtStringToTBCD
int rtStringToDynBCD | ( | OSCTXT * | pctxt, | |
const char * | str, | |||
ASN1DynOctStr * | poctstr | |||
) |
This function converts a standard null-terminated string into a BCD value. The source string should contain only characters '0' - '9', 'A' - 'F', or 'a' - 'f'. Otherwise, an error will occur.
- Parameters:
-
str The source standard null-terminated string. pctxt Pointer to a context structure block. poctstr Pointer to a dynamic octet string variable. Memory will be allocated for the data member of this structure with rtMemAlloc.
- Returns:
- The number of octets in the resulting BCD value or a negative value if an error occurs.
int rtStringToTBCD | ( | const char * | str, | |
OSOCTET * | bcdStr, | |||
size_t | bufsiz | |||
) |
This function converts a standard null-terminated string into a TBCD value. The source string should contain only characters '0' - '9', 'A' - 'F', or 'a' - 'f'. Otherwise, an error will occur. A TBCD string differs from a normal BCD string in that its bytes are flipped. The BCD string 0x12345f would be represented 0x2143f5 as a TBCD string.
- Parameters:
-
str The source standard null-terminated string. bcdStr The destination buffer. Should not be less than bufsiz is. bufsiz The size of the destination buffer (in octets).
- Returns:
- The number of octets in the resulting BCD value or a negative value if an error occurs.
- Since:
- 6.06
const char* rtTBCDToString | ( | OSUINT32 | numocts, | |
const OSOCTET * | data, | |||
char * | buffer, | |||
size_t | bufsiz | |||
) |
This function converts a packed TBCD value to a standard null-terminated string. Octet value can contain the filler digit to represent the odd number of BCD digits. A TBCD string differs from a normal BCD string in that the byte values of the octets are flipped. The BCD string 0x12345f would be represented 0x2143f5 as a TBCD string.
TBCD digits can be 0(0000) to 9(1001). Filler digits can be A(1010), B(1011), C(1100), D(1101), E(1110) or F(1111)
- Parameters:
-
numocts The number of octets in the BCD value. data The pointer to the BCD value. buffer The destination buffer. Should not be less than buffsiz argument is. bufsiz The size of the destination buffer (in octets). The buffer size should be atleast ((numocts * 2) + 1) to hold the BCD to String conversion.
- Returns:
- The converted null-terminated string. NULL, if error has occurred or destination buffer is not enough.
- Since:
- 6.06