Data type definitions
To insure a consistent interpretation of the arguments, the data
type definitions listed in Table 1 are
used in the callable service descriptions. When declaring fixed length
strings in C or C++ of size n,
specify a length of n+1 so the NULL can
be placed in the n+1 position. Language Environment neither
sets nor interrogates the n+1st position.
A stack frame in the next section is equivalent
to a DSA.
| Data type | Definition |
|---|---|
| CEE_COND | A condition variable, as defined by the type pthread_cond_t |
| CEE_CONDATTR | A condition variable attributes object, as defined by the type pthread_condattr_t |
| CEE_ENTRY | Entry point address of a Language Environment-conforming function to be run on a new thread |
| CEE_LOCKATTR | A mutex attributes object, as defined by the type pthread_mutexattr_t, or a read-write lock attributes object, as defined by the type pthread_rwlockattr_t |
| CEE_MUTEX | A mutex object, as defined by the type pthread_mutex_t |
| CEE_PTAT | A thread attributes object, as defined by the type pthread_attr_t |
| CEE_RWLOCK | A read/write lock, as defined by the type pthread_rwlock_t |
| CEE_THDID | An identifier representing a pthread-crafted thread, as defined by the type pthread_t |
| CEE_THDKEY | A key identifier, as defined by the type pthread_key_t, that is used to associate thread-specific data with a given thread |
| CEE_TOKEN | A miscellaneous identifier, used in specific instances where more general data types do not apply |
| CHARn | A string (character array) of length n |
| CONST INT | A fullword constant numeric value |
| ENTRY | Language-dependent entry constant and/or entry variable |
| FEED_BACK | A mapping of the feedback (condition) code; see Condition representation. |
| FLOAT4 | A 4-byte single-precision floating-point number |
| FLOAT8 | A 8-byte double-precision floating-point number |
| INT2 | A 2-byte signed integer |
| INT4 | A 4-byte signed integer |
| LABEL | Language-dependent label variable |
| LABEL370 | 370 extensions to CSC label variable; see LABEL variable |
| POINTER | A fullword address pointer |
| VSTRING | A Language Environment® string of arbitrary length, which is used for polymorphic
string parameter declarations. The string may be any one of a fixed-length
string, a null-terminated varying string (known as an ASCIIZ string),
or a length-prefixed string. Language Environment assumes
the following defaults for VSTRING:
|
Strong alignment is assumed in all data structures. Each item is aligned on the proper boundary for its type with padding, if necessary.