---
name: "gpib"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "10.1~RC1-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gpib"
---

# gpib(4freebsd)

General-Purpose Instrument Bus (GPIB) driver

## NAME

**gpib** – General-Purpose Instrument Bus (GPIB) driver

## SYNOPSIS

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

## DESCRIPTION

The **gpib** 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.

### Example

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>
int
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);
}
```

## FILES

- */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.

## SEE ALSO

gpib(3), pcii(4), tnt4882(4)

## HISTORY

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

## AUTHORS

This manual page was written by Jörg Wunsch.
