raw1394.h

来自「讲述linux的初始化过程」· C头文件 代码 · 共 121 行

H
121
字号
#ifndef IEEE1394_RAW1394_H#define IEEE1394_RAW1394_H#define RAW1394_DEVICE_MAJOR      171#define RAW1394_DEVICE_NAME       "raw1394"#define RAW1394_KERNELAPI_VERSION 4/* state: opened */#define RAW1394_REQ_INITIALIZE    1/* state: initialized */#define RAW1394_REQ_LIST_CARDS    2#define RAW1394_REQ_SET_CARD      3/* state: connected */#define RAW1394_REQ_ASYNC_READ    100#define RAW1394_REQ_ASYNC_WRITE   101#define RAW1394_REQ_LOCK          102#define RAW1394_REQ_LOCK64        103#define RAW1394_REQ_ISO_SEND      104#define RAW1394_REQ_ISO_LISTEN    200#define RAW1394_REQ_FCP_LISTEN    201#define RAW1394_REQ_RESET_BUS     202/* kernel to user */#define RAW1394_REQ_BUS_RESET     10000#define RAW1394_REQ_ISO_RECEIVE   10001#define RAW1394_REQ_FCP_REQUEST   10002/* error codes */#define RAW1394_ERROR_NONE        0#define RAW1394_ERROR_COMPAT      (-1001)#define RAW1394_ERROR_STATE_ORDER (-1002)#define RAW1394_ERROR_GENERATION  (-1003)#define RAW1394_ERROR_INVALID_ARG (-1004)#define RAW1394_ERROR_MEMFAULT    (-1005)#define RAW1394_ERROR_ALREADY     (-1006)#define RAW1394_ERROR_EXCESSIVE   (-1020)#define RAW1394_ERROR_UNTIDY_LEN  (-1021)#define RAW1394_ERROR_SEND_ERROR  (-1100)#define RAW1394_ERROR_ABORTED     (-1101)#define RAW1394_ERROR_TIMEOUT     (-1102)#include <asm/types.h>struct raw1394_request {        __u32 type;        __s32 error;        __u32 misc;        __u32 generation;        __u32 length;        __u64 address;        __u64 tag;        __u64 sendb;        __u64 recvb;};struct raw1394_khost_list {        __u32 nodes;        __u8 name[32];};#ifdef __KERNEL__struct iso_block_store {        atomic_t refcount;        size_t data_size;        quadlet_t data[0];};struct file_info {        struct list_head list;        enum { opened, initialized, connected } state;        unsigned int protocol_version;        struct hpsb_host *host;        struct list_head req_pending;        struct list_head req_complete;        struct semaphore complete_sem;        spinlock_t reqlists_lock;        wait_queue_head_t poll_wait_complete;        u8 *fcp_buffer;        u64 listen_channels;        quadlet_t *iso_buffer;        size_t iso_buffer_length;};struct pending_request {        struct list_head list;        struct file_info *file_info;        struct hpsb_packet *packet;        struct tq_struct tq;        struct iso_block_store *ibs;        quadlet_t *data;        int free_data;        struct raw1394_request req;};struct host_info {        struct list_head list;        struct hpsb_host *host;        struct list_head file_info_list;};#endif /* __KERNEL__ */#endif /* IEEE1394_RAW1394_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?