Common device parameters
This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.
The parameters common to all devices are:
DeviceType (device param)
integer
Once mounted, a device cannot be used in any operation until it has had its device type identified. The device type is a number which associates the name of the device with the implementation of how data is accessed on the device. Any attempt to change the device type once it has been set is ignored. The most useful values of DeviceType
are 0
, which represents the underlying filing system; 10
, the absolute device type (see The absolute device type, 10), and 15
and 17
on the Harlequin MultiRIP, which represent different kinds of input plugin (see Plugin channel device type, 15).
Type 16
is used for filters that are set up differently.
SearchOrder (device param)
integer
Only the negative values currently have any effect. They disable searching on a device for files when the device name is not explicitly specified. See Searching for files for more details.
Enable (device param)
Boolean
If a device is disabled (Enable
set to false
), its name is still available for operations on devices, but files and filing operations cannot be done on files on that device. Certain devices are mounted but disabled so that they cannot be used accidentally in PostScript-language programs; GGS can use them internally.
These parameters usually appear in an invocation of setdevparams
immediately after a devmount
call; these two together complete the introduction of a device to the PostScript-language part of the RIP. A typical construction follows (if it were to fail, it would do so silently because of the stopped
operator):
devmount
mounts a device so that it is available to the file operators; it returns a Boolean, but in the Harlequin RIP this is always true
. See systemdict file and device operators.
See PostScript-language interpreter bootstrap for the description of how the start-up of the Harlequin RIP is affected by the file Sys/ExtraDevices
.
mark {
(%mydevice%) dup devmount pop
<<
/DeviceType n
/Enable true
/Password 0
>> setdevparams
} stopped cleartomark