(v13) String Data types


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:

Plugin_18_-3.png

PlgFwByte A single byte. No assumptions are made about the byte's content.

Plugin_18_-4.png

Plugin_18_-5.png
PlgFwRawByte A single byte with no encoding.

PlgFwTextString Pointer to a string of PlgFwTextByte .

Plugin_18_-6.png

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).