(v13) D_PSDEV_INITDEVICETYPES (PostScript device plugins)
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
D_PSDEV_INITDEVICETYPES Selector
Parameter: D_PSDEV_INITDEVICETYPES *
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;
majorVersion
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.
minorVersion
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
SwFindDevice
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.