---
name: "bus_get_resource"
section: "9"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bus_get_resource"
---

# bus\_get\_resource(9)

read a resource range/value with a given resource ID

## NAME

**bus\_get\_resource** – read a resource range/value with a given resource ID

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/bus.h\>**

**#include \<sys/rman.h\>**

*int*\

**bus\_get\_resource**(*device\_t dev*, *int type*, *int rid*, *rman\_res\_t \*startp*, *rman\_res\_t \*countp*);

## DESCRIPTION

The **bus\_get\_resource**() function reads the range or value of the resource *type*, *rid*, pair and stores it in the *startp* and *countp* arguments.

The arguments are as follows:

- *dev*

  The device to read the resource from.

- *type*

  The type of resource you want to read. It is one of:

  - SYS\_RES\_IRQ

    for IRQs

  - SYS\_RES\_DRQ

    for ISA DMA lines

  - SYS\_RES\_MEMORY

    for I/O memory

  - SYS\_RES\_IOPORT

    for I/O ports

- *rid*

  A bus-specific handle that identifies the resource being read.

- *startp*

  A pointer to the start address of this resource.

- *countp*

  A pointer to the length of the resource. For example, the size of the memory in bytes.

## RETURN VALUES

Zero is returned on success, otherwise an error is returned.

## SEE ALSO

[bus\_set\_resource(9)](/bus_set_resource/9.md), [device(9)](/device/9.md), [driver(9)](/driver/9.md)

## AUTHORS

This manual page was written by Sascha Wildner.
