In 3Com's documentation, arguments for system functions are described using C typedefs. Many of these typedefs refer to exactly the same underlying data type. The table below lists all of the typedefs 3Com defines, with their representation and examples of those values in Quartus Forth.
C typedef |
Representing |
Example values in Quartus Forth |
Quartus Forth Stack Diagram Notation( argument -- result ) |
Fixed Size
Data Types
|
|||
typedef char SByte |
8 bits {-128..127} |
-128 char A |
( name[>byte] -- name ) |
typedef unsigned char Byte |
8 bits {0..255} | 64 | ( name[>byte] -- name ) |
typedef unsigned char Boolean | 8 bits {0=false, non-zero=true} |
TRUE |
( name? ) |
typedef unsigned short UInt |
16 bits {0..65535} | 41288 | ( u ) |
typedef short SWord |
16 bits {-32768..32767} | -15000 | ( n ) |
typedef unsigned long UInt32 |
32 bits {0..4294967295} | 8675309. | ( u. ) |
typedef DWord LocalID | 32 bits representing a database ID | returned by DmFindDatabase, DmGetDatabase, etc. | ( localID. ) |
typedef long Long |
32 bits {-2147483648..2147483647} |
-12345678. | ( d. ) |
Pointer Types
|
|||
typedef void* VoidPtr |
32 bits representing an address in memory |
here >abs
|
( &name. ) |
typedef Long (*ProcPtr)() | 32 bits representing the address of a function | ' type xt>abs | ( &funcname. ) |