---
name: "struct_uio_info"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_uio_info"
---

# struct\_uio\_info(9)

UIO device capabilities

## NAME

struct\_uio\_info - UIO device capabilities

## SYNOPSIS

```
struct uio_info {
  struct uio_device * uio_dev;
  const char * name;
  const char * version;
  struct uio_mem mem[MAX_UIO_MAPS];
  struct uio_port port[MAX_UIO_PORT_REGIONS];
  long irq;
  unsigned long irq_flags;
  void * priv;
  irqreturn_t (* handler) (int irq, struct uio_info *dev_info);
  int (* mmap) (struct uio_info *info, struct vm_area_struct *vma);
  int (* open) (struct uio_info *info, struct inode *inode);
  int (* release) (struct uio_info *info, struct inode *inode);
  int (* irqcontrol) (struct uio_info *info, s32 irq_on);
};
```

## MEMBERS

uio\_dev

the UIO device this info belongs to

name

device name

version

device driver version

mem\[MAX\_UIO\_MAPS\]

list of mappable memory regions, size==0 for end of list

port\[MAX\_UIO\_PORT\_REGIONS\]

list of port regions, size==0 for end of list

irq

interrupt number or UIO\_IRQ\_CUSTOM

irq\_flags

flags for **request\_irq**

priv

optional private data

handler

the device's irq handler

mmap

mmap operation for this uio device

open

open operation for this uio device

release

release operation for this uio device

irqcontrol

disable/enable irqs when 0/1 is written to /dev/uioX

## COPYRIGHT
