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
signed __int8

8

Signed

 

unsigned __int8

UByte

8

Unsigned

 

 

 

 

 

 

__int16

Word
signed __int16
short

16

Signed

 

unsigned __int16

UWord
unsigned short

16

Unsigned

 

 

 

 

 

 

__int32

DWord
signed __int32
int
long

32

Signed

 

unsigned __int32

UDWord
unsigned int
unsigned long

32

Unsigned

 

 

 

 

 

 

__int64

QWord
signed __int64

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"

More Information on Structure Definitions

Definition Overview, Data Types, Enumerated Types, Arrays, Strings, Bitfields, Expressions, Conditionals, Functions, Verification, Library Settings, Structure Settings, and Reserved Words and Symbols.