Data Types
Hex Workshop supports a limited number of atomic data types. For added flexibility, users may define their own data type definitions that resolve to one of the corresponding data types listed below:
Type |
Aliases |
Size (bits) |
Signed |
Comment |
|
|
|
|
|
bool |
|
8 |
Unsigned |
|
|
|
|
|
|
char |
signed char |
8 |
Signed |
Treated as String in arrays |
unsigned char |
|
8 |
Unsigned |
|
|
|
|
|
|
__int8 |
Byte |
8 |
Signed |
|
unsigned __int8 |
UByte |
8 |
Unsigned |
|
|
|
|
|
|
__int16 |
Word |
16 |
Signed |
|
unsigned __int16 |
UWord |
16 |
Unsigned |
|
|
|
|
|
|
__int32 |
DWord |
32 |
Signed |
|
unsigned __int32 |
UDWord |
32 |
Unsigned |
|
|
|
|
|
|
__int64 |
QWord |
64 |
Signed |
|
unsigned _int64 |
UQWord |
64 |
Unsigned |
|
|
|
|
|
|
halffloat |
|
16 |
N/A |
16-bit half precision float (IEEE 754-2008) |
float |
|
16 |
N/A |
|
double |
|
32 |
N/A |
|
|
|
|
|
|
DATE |
|
64 |
N/A |
Microsoft OLE Date/Time structure. |
DOSDATE |
|
16 |
N/A |
MS-DOS style time. |
DOSTIME |
|
16 |
N/A |
MS-DOS date time. |
FILETIME |
|
64 |
N/A |
Window FILETIME structure. |
time_t |
|
32 |
N/A |
ANSI C time_t structure. |
time64_t |
|
64 |
N/A |
ANSI C time64_t structure. |
|
|
|
|
|
zstring |
|
variable |
N/A |
Zero-terminated string. |
In addition to the basic data types recognized by Hex Workshop, you can make use of standard types defined in the supplied standard-types.hsl file:
Data Type |
Maps To |
CHAR |
char |
WCHAR |
wchar |
BYTE |
signed __int8 |
byte |
signed __int8 |
UBYTE |
unsigned __int8 |
ubyte |
unsigned __int8 |
WORD |
signed __int16 |
word |
signed __int16 |
USHORT |
unsigned __int16 |
ushort |
unsigned __int16 |
SHORT |
signed __int16 |
DWORD |
signed __int32 |
dword |
signed __int32 |
LONG |
signed __int32 |
ulong |
unsigned __int32 |
quad |
signed __int64 |
UQUAD |
unsigned __int64 |
uquad |
unsigned __int64 |
FLOAT |
float |
DOUBLE |
double |
To utilize these standard types, please add the following line to the top of your structure library:
#include "standard-types.hsl"
Definition Overview, Data Types, Enumerated Types, Arrays, Strings, Bitfields, Expressions, Conditionals, Functions, Verification, Library Settings, Structure Settings, and Reserved Words and Symbols.