OUATDF ( type, bufsiz, name, namlen, option, opdata, ifail )
============================================================
Output an attribute type definition.
Can be called from the GO.
Receives:
KI_tag_attrib_def *type --- attribute type
<KI_int_nitems> *bufsiz --- amount of space available for
--- name
Returns:
KI_chr_string name[bufsiz] --- name of type
KI_int_nitems *namlen --- length of type name
KI_tag_list_int *option --- list of option codes
KI_tag_list_<list> *opdata --- corresponding list of data-lists
KI_cod_error *ifail --- error code
Description:
OUATDF returns the data supplied to CRATDF to define the attribute type,
or the equivalent data for types not defined by CRATDF.
Type name and bufsiz:
The value to supply in 'bufsiz' is the number of characters that can
legitimately be written to the array 'name' without overrunning the space
allocated to it. OUATDF will under no circumstances attempt to write more
than 'bufsiz' characters to 'name'. The value returned in 'namlen' is the
actual length of the name of the attribute type. If this is less than
'bufsiz' then the name of the attribute type definition is returned in
'name'; otherwise only the first 'bufsiz' characters are returned; if
the entire name is required, then the returned value of 'namlen' can be
used as the value of 'bufsiz' for a second call to OUATDF which is sure
to return the entire name.
Even when the function returns with 'ifail' zero the entire name will
not have been returned in 'name' if the value of 'namlen' is greater
than that of 'bufsiz'.
Option data:
The description of the type's fields, legal owners and behaviour under
modelling operations is returned in 'option' and 'opdata'. 'option'
contains integer option codes, while 'opdata' contains tags of lists of
data, each one relating to the option whose code is in the corresponding
position in 'option'. The meanings of the option codes and associated data
are explained in the documentation of CRATDF.