libmetal
Loading...
Searching...
No Matches
metal_io_ops Struct Reference

#include <io.h>

Data Fields

uint64_t(*) read (struct metal_io_region *io, unsigned long offset, memory_order order, int width)
void(*) write (struct metal_io_region *io, unsigned long offset, uint64_t value, memory_order order, int width)
int(*) block_read (struct metal_io_region *io, unsigned long offset, void *restrict dst, memory_order order, int len)
int(*) block_write (struct metal_io_region *io, unsigned long offset, const void *restrict src, memory_order order, int len)
void(*) block_set (struct metal_io_region *io, unsigned long offset, unsigned char value, memory_order order, int len)
void(*) close (struct metal_io_region *io)
metal_phys_addr_t(*) offset_to_phys (struct metal_io_region *io, unsigned long offset)
unsigned long(*) phys_to_offset (struct metal_io_region *io, metal_phys_addr_t phys)

Detailed Description

Generic I/O operations.

Field Documentation

◆ block_read

int(*) metal_io_ops::block_read(struct metal_io_region *io, unsigned long offset, void *restrict dst, memory_order order, int len)

◆ block_set

void(*) metal_io_ops::block_set(struct metal_io_region *io, unsigned long offset, unsigned char value, memory_order order, int len)

◆ block_write

int(*) metal_io_ops::block_write(struct metal_io_region *io, unsigned long offset, const void *restrict src, memory_order order, int len)

◆ close

void(*) metal_io_ops::close(struct metal_io_region *io)

◆ offset_to_phys

metal_phys_addr_t(*) metal_io_ops::offset_to_phys(struct metal_io_region *io, unsigned long offset)

◆ phys_to_offset

unsigned long(*) metal_io_ops::phys_to_offset(struct metal_io_region *io, metal_phys_addr_t phys)

◆ read

uint64_t(*) metal_io_ops::read(struct metal_io_region *io, unsigned long offset, memory_order order, int width)

◆ write

void(*) metal_io_ops::write(struct metal_io_region *io, unsigned long offset, uint64_t value, memory_order order, int width)

The documentation for this struct was generated from the following file: