diff options
| author | 2002-10-23 21:18:49 +0000 | |
|---|---|---|
| committer | 2002-10-23 21:18:49 +0000 | |
| commit | 915a20a96f6fb81249f140a114b94f2b1502149d (patch) | |
| tree | 78511c7186615b5d3473bd72f9b513ba5d9e00e1 /src/kernel-raw1394.h | |
| parent | configure.ac: (diff) | |
merged weihs branch
git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@84 53a565d1-3bb7-0310-b661-cf11e63c67ab
Diffstat (limited to 'src/kernel-raw1394.h')
| -rw-r--r-- | src/kernel-raw1394.h | 80 |
1 files changed, 72 insertions, 8 deletions
diff --git a/src/kernel-raw1394.h b/src/kernel-raw1394.h index 98c6298..1fe55d0 100644 --- a/src/kernel-raw1394.h +++ b/src/kernel-raw1394.h @@ -14,20 +14,32 @@ #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_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_ASYNC_SEND 105 -#define RAW1394_REQ_ISO_LISTEN 200 -#define RAW1394_REQ_FCP_LISTEN 201 -#define RAW1394_REQ_RESET_BUS 202 +#define RAW1394_REQ_ISO_LISTEN 200 +#define RAW1394_REQ_FCP_LISTEN 201 +#define RAW1394_REQ_RESET_BUS 202 +#define RAW1394_REQ_GET_ROM 203 +#define RAW1394_REQ_UPDATE_ROM 204 +#define RAW1394_REQ_ECHO 205 + +#define RAW1394_REQ_ARM_REGISTER 300 +#define RAW1394_REQ_ARM_UNREGISTER 301 + +#define RAW1394_REQ_RESET_NOTIFY 400 + +#define RAW1394_REQ_PHYPACKET 500 /* kernel to user */ #define RAW1394_REQ_BUS_RESET 10000 #define RAW1394_REQ_ISO_RECEIVE 10001 #define RAW1394_REQ_FCP_REQUEST 10002 +#define RAW1394_REQ_ARM 10003 /* error codes */ #define RAW1394_ERROR_NONE 0 @@ -45,6 +57,17 @@ #define RAW1394_ERROR_ABORTED (-1101) #define RAW1394_ERROR_TIMEOUT (-1102) +/* arm_codes */ +#define ARM_READ 1 +#define ARM_WRITE 2 +#define ARM_LOCK 4 + +#define RAW1394_LONG_RESET 0 +#define RAW1394_SHORT_RESET 1 + +/* busresetnotify ... */ +#define RAW1394_NOTIFY_OFF 0 +#define RAW1394_NOTIFY_ON 1 #include <asm/types.h> @@ -69,6 +92,32 @@ struct raw1394_khost_list { __u8 name[32]; }; +/* moved to raw1394.h to make it available to applications +typedef struct arm_request { + nodeid_t destination_nodeid; + nodeid_t source_nodeid; + nodeaddr_t destination_offset; + u8 tlabel; + u8 tcode; + u_int8_t extended_transaction_code; + u_int32_t generation; + arm_length_t buffer_length; + byte_t *buffer; +} *arm_request_t; + +typedef struct arm_response { + int response_code; + arm_length_t buffer_length; + byte_t *buffer; +} *arm_response_t; + +typedef struct arm_request_response { + struct arm_request *request; + struct arm_response *response; +} *arm_request_response_t; + +*/ + #ifdef __KERNEL__ struct iso_block_store { @@ -91,11 +140,26 @@ struct file_info { spinlock_t reqlists_lock; wait_queue_head_t poll_wait_complete; + struct list_head addr_list; + u8 *fcp_buffer; u64 listen_channels; quadlet_t *iso_buffer; size_t iso_buffer_length; + + u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */ +}; + +struct arm_addr { + struct list_head addr_list; /* file_info list */ + u64 start, end; + u64 arm_tag; + u8 notification_options; + u8 access_rights; + u64 recvb; + u16 rec_length; + u8 *addr_space_buffer; /* accessed by read/write/lock */ }; struct pending_request { |
