MAINSAIL Language Manual, Appendix A

previous   next   top   contents   index   framed top   this page unframed


A. Type Codes

The type code identifiers and their values are listed in Table A–1.

The programmer must use the identifiers rather than the associated values, since XIDAK reserves the right to change the values. If necessary, values may be examined with MAINDEBUG.

Table A–1. Type Code Identifiers
booleanCode
integerCode
longIntegerCode
realCode
longRealCode
bitsCode
longBitsCode
stringCode
addressCode
charadrCode
pointerCode
$recordCode
$procvarCode

Two identifiers have more limited use than the above:

$classCode
$moduleCode

The following identifiers (the extended type codes) are sometimes used for explicitly sized data types (see Section 3.12); however, the base type codes are also used in some contexts for explicitly sized types:

$boolean1Code
$boolean2Code
$boolean4Code
$integer1Code
$integer2Code
$integer4Code
$integerSigned1Code
$integerSigned2Code
$integerSigned4Code
$longInteger1Code
$longInteger2Code
$longInteger4Code
$longIntegerSigned1Code
$longIntegerSigned2Code
$longIntegerSigned4Code
$bits1Code
$bits2Code
$bits4Code
$longBits1Code
$longBits2Code
$longBits4Code

A.1. C Data Type Codes

The following INTEGER type codes are defined for each C data type; these may be useful for low-level manipulation of C data structures, e.g., liLoadSized(a,dspl,$cShortCode):

$charCode
$signedCharCode
$charBitsCode
$cShortCode
$cShortBitsCode
$cIntCode
$cIntBitsCode
$cLongCode
$cLongBitsCode
$cFloatCode
$cDoubleCode

Each C data type code is defined to be a platform-dependent explicitly sized MAINSAIL type code; for example, $charCode is $integer1Code on all platforms.


previous   next   top   contents   index   framed top   this page unframed

MAINSAIL Language Manual, Appendix A