Skip to main content
Skip table of contents

Data types used in the plugin kit

This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core

In order to ensure values of uniform size and sign on all platforms, the plugin kit uses the following type definitions to declare fields within data structures that will be used in the plugin interface.

int32

Signed 32‐bit integer.

uint32

Unsigned 32‐bit integer.

int16

Signed 16‐bit integer.

uint16

Unsigned 16‐bit integer.

int8

Signed 8‐bit integer.

uint8

Unsigned 8‐bit integer.

intptr_t

Signed integer of a size large enough to hold a memory address (pointer).

unintptr_t

Unsigned integer of a size large enough to hold a memory address (pointer).

USERVALUE

32‐bit floating point number.

PATHVALUE

64‐bit floating point number.

See the header file plugdefs.h .

Note: The file hq32x2.h implements a signed 64-bit type, similar to an int64. and an unsigned 64-bit type, similar to a uint64. Getting a 64-bit integer on all our compiler/platform combinations is extremely difficult, and sometimes itʹs not supported at all. This implementation allows 64-bit integers to be faked where performance is not critical.

Note: Enum values are avoided, and have generally been replaced by int32 values to avoid problems with compilers allocating unexpected sizes for enum fields. Some defined constants have been used where previously there were just numbers. Also, a few typedef s have been separated from the corresponding structure definitions.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.