io_burst(3I) — Series 300, 400 Only
NAME
io_burst() − perform low-overhead I/O on an HP-IB/GPIO channel
SYNOPSIS
#include <dvio.h>
int io_burst(int eid, int flag);
DESCRIPTION
io_burst() is used to perform low-overhead burst transfers on the specified HP-IB, or GPIO interface. eid is the entity identifier for an open HP-IB or GPIO device file returned by a previous call to open(), dup(), creat(), or fcntl() 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(), write(), gpio_get_status(), gpio_set_ctl(), hpib_io(), and hpib_send_cmd() 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. When burst mode is disabled, the interface is reset (see io_reset(3I)).
RETURN VALUE
io_burst() returns zero if successful or −1 if an error is detected.
ERRORS
io_burst() fails under any of the following circumstances and sets errno (see errno(2)) to one of the following values:
[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() (Series 300/400 only).
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.
Timeouts for read(), write(), gpio_get_status(), gpio_set_ctl(), hpib_io(), and hpib_send_cmd() do not work while in burst mode, but these commands can be interrupted by signals.
AUTHOR
io_burst() was developed by HP.
SEE ALSO
dup(2), creat(2), fcntl(2), open(2), read(2), write(2), gpio_get_status(3I), gpio_set_ctl(3I), hpib_io(3I), hpib_send_cmd(3I), io_reset(3I).
Hewlett-Packard Company — HP-UX Release 9.10: April 1995