
  TYPE
    clt$variable_value = record
      descriptor: string (osc$max_name_size),
      case kind: clt$variable_kinds of
      = clc$string_value =
{ The max_string_size and string_value fields which follow should be
{ interpreted as though they were replaced by:
{       string_value: ^array [1 .. * ] of record
{         current_string_size: ost$string_size,
{         value: string ( * ),
{       recend,
{ where STRLENGTH(string_value^[i].value) = max_string_size
{   and string_value^[i].current_string_size <= max_string_size
        max_string_size: ost$string_size,
        string_value: ^array [1 .. * ] of cell,
      = clc$real_value =
        real_value: ^array [1 .. * ] of clt$real,
      = clc$integer_value =
        integer_value: ^array [1 .. * ] of clt$integer,
      = clc$boolean_value =
        boolean_value: ^array [1 .. * ] of clt$boolean,
      = clc$status_value =
{ Status variables are mapped to clt$status records rather than ost$status
{ records so that the individual fields of an SCL status variable can be
{ directly referenced as if they were SCL variables of the appropriate kind.
{ The size subfields of the identifier and text fields of a clt$status record
{ represent the corresponding current_string_size.
        status_value: ^array [1 .. * ] of clt$status,
      casend,
    recend;

*copyc clt$boolean
*copyc clt$integer
*copyc clt$real
*copyc clt$status
*copyc clt$variable_kinds
*copyc ost$name
*copyc ost$string
