IO_BURST(3I)
Series 200, 300 Only
NAME
io_burst − perform low-overhead I/O on an HP-IB/GPIO channel
SYNOPSIS
#include <dvio.h>
io_burst (eid, flag)
DESCRIPTION
Io_burst enables you to perform low-overhead burst transfers on the specified HP-IB or GPIO channel. Eid is the entity identifier for an open HP-IB/GPIO device file returned by a previous call to open(2), dup(2), creat(2), or fcntl(2) with an FDUPD command option. Flag is an integer which, if non-zero, enables burst mode or, if zero, disables it.
In burst mode, memory-mapped I/O address space assigned to the interface card select code is mapped directly into user space such that data can be transferred directly between user memory and the interface card, eliminating the need for kernel calls and the associated overhead. Burst mode affects only read(2), write(2), gpio_get_status(3I), gpio_set_ctl(3I), hpib_io(3I), and hpib_send_cmd(3I) calls. All other operations are unaffected. When burst mode is enabled, the interface is locked so that no other process can access it until burst mode is disabled.
RETURN VALUE
Io_burst returns zero if successful or −1 if an error is detected.
DIAGNOSTICS
Io_burst fails under any of the following circumstances and sets errno (see errno(2)) to the value in square brackets:
[EBADF] eid does not refer to an open file.
[ENOTTY] eid does not refer to an HP-IB or GPIO device special file.
[EIO] a timeout occurred during the call to ioburst.
WARNINGS
Enabling burst mode locks the interface from all other processes, so it should never be used with any interface that supports a system disk or swap device.
HARDWARE DEPENDENCIES
Series 200, 300
Eid is in integer file descriptor (fildes) that identifies an open device special file.
Timeouts for read(2), write(2), gpio_get_status(3I), gpio_set_ctl(3I), hpib_io(3I), and hpib_send_cmd(3I) do not work while in burst mode, but these commands can be interrupted by signals.
SEE ALSO
read(2), write(2), gpio_get_status(3I), gpio_set_ctl(3I), hpib_io(3I), hpib_send_cmd(3I).
Hewlett-Packard Company — May 11, 2021