Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
uioc Struct Reference

#include <megaraid_ioctl.h>

Data Fields

uint8_t signature [EXT_IOCTL_SIGN_SZ]
 
uint16_t mb_type
 
uint16_t app_type
 
uint32_t opcode
 
uint32_t adapno
 
uint64_t cmdbuf
 
uint32_t xferlen
 
uint32_t data_dir
 
int32_t status
 
uint8_t reserved [128]
 
void __useruser_data
 
uint32_t user_data_len
 
uint32_t pad_for_64bit_align
 
mraid_passthru_t __useruser_pthru
 
mraid_passthru_t * pthru32
 
dma_addr_t pthru32_h
 
struct list_head list
 
void(* done )(struct uioc *)
 
caddr_t buf_vaddr
 
dma_addr_t buf_paddr
 
int8_t pool_index
 
uint8_t free_buf
 
uint8_t timedout
 

Detailed Description

struct uioc_t - the common ioctl packet structure

: Must be "$$_EXTD_IOCTL_$$" : Type of the mail box (MB_LEGACY or MB_HPE) : Type of the issuing application (existing or new) : Opcode of the command : Adapter number : Pointer to buffer - can point to mbox or plain data buffer : xferlen for DCMD and non mailbox commands : Direction of the data transfer : Status from the driver : reserved bytes for future expansion

: user data transfer address is saved in this : length of the data buffer sent by user app : user passthru address is saves in this (null if DCMD) : kernel address passthru (allocated per kioc) : physicall address of : for kioc free pool list maintenance : call back routine for llds to call when kioc is completed : dma pool buffer attached to kioc for data transfer : physical address of the dma pool buffer : index of the dma pool that is taken from : indicates if buffer needs to be freed after kioc completes

Note : All LSI drivers understand only this packet. Any other : format sent by applications would be converted to this.

Definition at line 117 of file megaraid_ioctl.h.

Field Documentation

uint32_t adapno

Definition at line 125 of file megaraid_ioctl.h.

uint16_t app_type

Definition at line 123 of file megaraid_ioctl.h.

dma_addr_t buf_paddr

Definition at line 148 of file megaraid_ioctl.h.

caddr_t buf_vaddr

Definition at line 147 of file megaraid_ioctl.h.

uint64_t cmdbuf

Definition at line 126 of file megaraid_ioctl.h.

uint32_t data_dir

Definition at line 128 of file megaraid_ioctl.h.

void(* done)(struct uioc *)

Definition at line 145 of file megaraid_ioctl.h.

uint8_t free_buf

Definition at line 150 of file megaraid_ioctl.h.

Definition at line 144 of file megaraid_ioctl.h.

uint16_t mb_type

Definition at line 122 of file megaraid_ioctl.h.

Definition at line 124 of file megaraid_ioctl.h.

uint32_t pad_for_64bit_align

Definition at line 137 of file megaraid_ioctl.h.

int8_t pool_index

Definition at line 149 of file megaraid_ioctl.h.

mraid_passthru_t* pthru32

Definition at line 141 of file megaraid_ioctl.h.

dma_addr_t pthru32_h

Definition at line 142 of file megaraid_ioctl.h.

uint8_t reserved[128]

Definition at line 130 of file megaraid_ioctl.h.

Definition at line 121 of file megaraid_ioctl.h.

Definition at line 129 of file megaraid_ioctl.h.

uint8_t timedout

Definition at line 152 of file megaraid_ioctl.h.

Definition at line 133 of file megaraid_ioctl.h.

uint32_t user_data_len

Definition at line 134 of file megaraid_ioctl.h.

mraid_passthru_t __user* user_pthru

Definition at line 139 of file megaraid_ioctl.h.

uint32_t xferlen

Definition at line 127 of file megaraid_ioctl.h.


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