(v13) devicetypeflags
This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP
This field specifies if the device is device-relative and if it can be written to, and selects one of two sizes of buffer to be used for I/O with this device type. The value of the field is the inclusive-OR of the selected flags.
The flags (defined in swdevice.h
) are:
| Devices of this type take filenames |
| Devices of this type can be written to |
| Devices of this type do not need a large buffer |
| Output for this device will be line-buffered |
DEVICEWRITABLE
means only that writing may be appropriate; some files within the device may still not be writable. For instance, a device type that implemented access to a floppy disk would almost certainly set DEVICEWRITABLE
, but one would not be able to write to a floppy disk that was itself write-protected.
DEVICESMALLBUFF
is only a hint to the interpreter that it need not use a large buffer for read or write, since the amount of data transferred per call is unlikely to be large; it does not imply any particular buffer size. The only guarantee about buffer sizes is that the size of read requests will always be at least 1024 bytes. Devices can also specify their required buffer size see (v13) device_buffersize determine file buffer size
DEVICELINEBUFF
indicates that output will only be buffered until an end-of-line is seen, rather than until the buffer is full. This is to make a device type suitable for interactive operation.