Skip to main content
Skip table of contents

(v13) D_PSDEV_INITDEVICETYPES (PostScript device plugins)

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



Call type: Single‐call

This selector provides another initialization opportunity for the plugin, and also provides some version information about the RIP as well as some helper function pointers.

The structure definition (omitting parameter types) is:

      typedef struct initPSDeviceTypesParam { int32 majorVersion;
      uint32 minorVersion; uint32ripVersionMajor; uint32ripVersionMinor; uint32ripVersionRevision; DEVICELIST *(*SwFindDevice)(); uint8 *(SwAlloc)();
      uint8 *(SwRealloc)(); void (*SwFree)();
      int32 (*SwPatternMatch)();
      int32 (*SwLengthPatternMatch)(); int32 (*SwReadFilterBytes)(); int32 (*SwReplaceFilterBytes)(); int32 (*SwWriteFilterBytes)(); int32 (*SwSeekFilterBytes)(); int32 (*SwTestAndTickle)();
    } InitPSDeviceTypesParam;


This is the Major Version number of the DEVICETYPE interfaces. Any incompatible changes to this binary interface will have a later version number. If this number does not agree with the number for which the plugin was compiled, the plugin should return an error.


This is the Minor Version number of the DEVICETYPE interfaces. Increments to this version describe backwards compatible changes. The plugin should ensure that the number is greater than or equal to the number that the plugin was compiled for.

ripVersionMajor, ripVersionMinor, ripVersionRevision

The plugin might find the user‐visible version of the RIP of interest


This function looks up a device by name, returns NULL on failure.

SwAlloc, SwRealloc, SwFree

These functions allow the plugin to allocate memory from the RIPʹs memory pool. Large blocks should be freed as soon as possible to avoid interfering with jobs.

SwPatternMatch, SwLengthPatternMatch

These two functions are for use in the next_file routine to assist pattern  matching on file names.

SwReadFilterBytes, SwReplaceFilterBytes, SwWriteFilterBytes, SwSeekFilterBytes, SwTestAndTickle

These functions are used when adding custom filters via the device interface and are not documented here.

JavaScript errors detected

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

If this problem persists, please contact our support.