---
name: "bus_set_resource"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/bus_set_resource"
---

# bus\_set\_resource(9)

associate a definite resource with a given resource ID

## NAME

**bus\_set\_resource** – associate a definite resource with a given resource ID

## SYNOPSIS

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

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

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

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

**#include \<machine/resource.h\>**

*int*\

**bus\_set\_resource**(*device\_t dev*, *int type*, *int rid*, *u\_long start*, *u\_long count*);

## DESCRIPTION

The **bus\_set\_resource**() function sets the start address of the resource *type*, *rid*, pair to be *count* long. Typically, client drivers do not use this interface. Bus drivers, however, often use it to set up the resources a client driver uses.

The arguments are as follows:

- *dev*

  The device to set the resource on.

- *type*

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

  - SYS\_RES\_IRQ

    for IRQs

  - SYS\_RES\_DRQ

    for ISA DMA lines

  - SYS\_RES\_IOPORT

    for I/O ports

  - SYS\_RES\_MEMORY

    for I/O memory

- *rid*

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

- *start*

  The start address of this resource.

- *count*

  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\_alloc\_resource(9)](/bus_alloc_resource/9.md), [bus\_get\_resource(9)](/bus_get_resource/9.md), [device(9)](/device/9.md), [driver(9)](/driver/9.md)

## AUTHORS

This manual page was written by Warner Losh ⟨imp@FreeBSD.org⟩.
