LIBALPHA(2) | System Calls Manual (alpha) | LIBALPHA(2)

# NAME

`dense_base`, `inb`, `inl`, `inw`, `ioperm`, `map_memory`, `outb`, `outl`, `outw`, `readb`, `readl`, `readw`, `unmap_memory`, `writeb`, `writel`, `writew` — Alpha devices I/O ports and memory access functions

# SYNOPSIS

library “libalpha”
u_int64_t
`dense_base`(void);

u_int8_t
`inb`(u_int32_t port);

u_int32_t
`inl`(u_int32_t port);

u_int16_t
`inw`(u_int32_t port);

int
`ioperm`(unsigned long from, unsigned long num, int on);

void *
`map_memory`(u_int32_t address, u_int32_t size);

void
`outb`(u_int32_t port, u_int8_t val);

void
`outl`(u_int32_t port, u_int32_t val);

void
`outw`(u_int32_t port, u_int16_t val);

u_int8_t
`readb`(void *handle, u_int32_t offset);

u_int32_t
`readl`(void *handle, u_int32_t offset);

u_int16_t
`readw`(void *handle, u_int32_t offset);

void
`unmap_memory`(void *handle, u_int32_t size);

void
`writeb`(void *handle, u_int32_t offset, u_int8_t val);

void
`writel`(void *handle, u_int32_t offset, u_int32_t val);

void
`writew`(void *handle, u_int32_t offset, u_int16_t val);

# DESCRIPTION

The functions in libalpha give userland programs access to the I/O ports on the OpenBSD/alpha platform.

The `in*`() functions return data read from the specified I/O port.

The `out*`() functions write data to the specified I/O port.

`ioperm`() enables access to the specified port numbers if on is `TRUE` and disables access if on is `FALSE`.

The `map_memory`() function allows a user program to map part of a device memory.

The `unmap_memory`() function unmaps memory that was previously mapped by `map_memory`().

The `read*`() functions read data from device memory previously mapped by `map_memory`().

The `write*`() functions write data to the device memory previously mapped by `map_memory`().

# HISTORY

These functions originally appeared in FreeBSD.

# CAVEATS

Only BWX bus access method is supported for now. Machines requiring swiz type access are not supported.

Root credentials are needed to use these functions.

June 8, 2025 | Debian