gpib(4) General-Purpose Instrument Bus (GPIB) driver


Either of the pcii(4) or tnt4882(4) drivers use this driver as the backend.


The driver provides support for driving an IEEE-488 bus, also called IEC-625 (or just "IEC bus"), or HP-IB (Hewlett Packard Instrument Bus), or GPIB (General Purpose Instrument Bus). The device can become either a listener, talker, controller, and in particular a master controller on the bus.


The following example code queries the device provided as argv[1] for its identification response.
/* compile with:  cc -O -o ibtest ibtest.c -lgpib */
#include <stdio.h>
#include <stdlib.h>
#include <err.h>
#include <vis.h>
#include <gpib/gpib.h>
main(int argc, char **argv)
        int dmm;
        unsigned char buf[100];
        char vbuf[sizeof(buf) * 4];
        /* DVM */
        dmm = ibdev(0, (argc > 1? atoi(argv[1]): 7), 0,
                    T10s, 1, 0);
        if (dmm < 0)
                errx(1, "ibdev = %d\n", dmm);
        ibwrt(dmm, "*IDN?\r\n", 7);
        ibrd(dmm, buf, sizeof(buf) - 1);
        strvisx(vbuf, buf, ibcnt, VIS_WHITE | VIS_CSTYLE);
        printf("%s\n", vbuf);
        return (0);


/dev/gpib N ib
Main device node to access the driver.
/dev/gpib N l
Listen-only entry to the driver. When opening, an instrument can send data to this device on the bus in an unaddressed mode, for example hard-copy printer data.


The driver was written by Poul-Henning Kamp, and first appeared in Fx 5.4 .


This manual page was written by An Jörg Wunsch .