This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
The string operations define one opaque data structure, the string record (PlgFwStrRecord ) and several opaque data variables (ODVs). The following ODVs are defined for handling 64‐bit integers:
PlgFwByte A single byte. No assumptions are made about the byte's content.
PlgFwRawByte A single byte with no encoding.
PlgFwTextString Pointer to a string of PlgFwTextByte .
Table 18.5 Data types used in string handling
PlgFwTextCharacter A single character encoded using the HES.
The numeric equivalents of the values that a character may take are as follows:
-
Greater than zero a valid HES character encoding value
-
Zero the zero terminator for an HES string
-
Less than zero an invalid HES encoding
Table 18.5 Data types used in string handling
PlgFwStrRecord
Many string operations are based around the string record (PlgFwStrRecord ). This is a data structure designed for the storage of multi‐byte encoded strings. A string record can store either an extensible string, or a fixed length string.
PlgFwStrRecord is an opaque data structure.
A string record has a lifecycle described by the following section of pseudocode:
Allocate the record
(PlgFwStrRecordAlloc) REPEAT AS NEEDED
{
EITHER
{
Open the record as extensible (PlgFwStrRecordOpen[Size] ) Perform operations changing and/or inspecting the record.
Close the record (PlgFwStrRecordClose). Perform operations which only inspect the record. Abandon the record
(PlgFwStrRecordAbandon).
}
OR
{
Open the record as fixed (PlgFwStrRecordOpenOn). Perform operations changing and/or inspecting the record. Close the record (PlgFwStrRecordClose).
Perform operations which only inspect the record. Abandon the record
(PlgFwStrRecordAbandon).
}
}
Deallocate the record (PlgFwStrRecordFree).