---
name: "visa"
section: "7visa"
platform: "linux"
package: "libvisa-dev"
version: "0.0.20130812-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/visa"
---

# visa(7visa)

Virtual Instrument Software Architecture

## NAME

visa - Virtual Instrument Software Architecture

## SYNOPSIS

**#include \<visa.h\>**

## DESCRIPTION

The Virtual Instrument Software Architecture provides a generic interface for communication with test and measurement equipment.

### Resource Names

Each device is identified by a resource name that specifies the type of connection used, location information and the device type.

- **USB Devices**

  **USB**\[ *bus*\] **::***manufacturer***::***product***::***serial* \[**::** *type*\]

  The *manufacturer* and *product* identifiers must be given as hexadecimal numbers prefixed with **0x**. The *serial* number is mandatory, even if the device would be unique otherwise.

- **Ethernet/VXI-11 Devices**

  **TCPIP**\[ *interface*\] **::***host* \[**::** *type*\]

### Resource Manager

Access to resources is mediated through a resource manager; while technically there could be multiple instances, usually only the default resource manager is used.

A handle to the default resource manager can be obtained from the [**viOpenDefaultRM**(3visa)](/viOpenDefaultRM/3visa.md) function.

### Finding Devices

If the resource name is not known in advance, the resource manager can be queried for a list of known devices by using the **viFindRsrc**(3visa) function.

This function returns a **ViFindList** object (along with the first known resource), and further resource names are then queried from the find list using **viFindNext**(3visa) before finally freeing the list using [**viClose**(3visa)](/viClose/3visa.md).
