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.


Signed 32‐bit integer.


Unsigned 32‐bit integer.


Signed 16‐bit integer.


Unsigned 16‐bit integer.


Signed 8‐bit integer.


Unsigned 8‐bit integer.


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


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


32‐bit floating point number.


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.