From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/2408 Path: news.gmane.org!not-for-mail From: John Spencer Newsgroups: gmane.linux.lib.musl.general Subject: cleaned up scsi headers Date: Wed, 05 Dec 2012 06:59:44 +0100 Message-ID: <50BEE2D0.9050907@barfooze.de> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060303040507030804040901" X-Trace: ger.gmane.org 1354687186 18836 80.91.229.3 (5 Dec 2012 05:59:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Dec 2012 05:59:46 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-2409-gllmg-musl=m.gmane.org@lists.openwall.com Wed Dec 05 07:00:00 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1Tg81Q-0004GJ-5t for gllmg-musl@plane.gmane.org; Wed, 05 Dec 2012 06:59:52 +0100 Original-Received: (qmail 22379 invoked by uid 550); 5 Dec 2012 05:59:40 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 22371 invoked from network); 5 Dec 2012 05:59:39 -0000 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Mail/1.0 Xref: news.gmane.org gmane.linux.lib.musl.general:2408 Archived-At: This is a multi-part message in MIME format. --------------060303040507030804040901 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit those are required for qemu and udev --------------060303040507030804040901 Content-Type: text/x-chdr; name="scsi.h" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="scsi.h" #ifndef _SCSI_SCSI_H #define _SCSI_SCSI_H #define TEST_UNIT_READY 0x00 #define REZERO_UNIT 0x01 #define REQUEST_SENSE 0x03 #define FORMAT_UNIT 0x04 #define READ_BLOCK_LIMITS 0x05 #define REASSIGN_BLOCKS 0x07 #define READ_6 0x08 #define WRITE_6 0x0a #define SEEK_6 0x0b #define READ_REVERSE 0x0f #define WRITE_FILEMARKS 0x10 #define SPACE 0x11 #define INQUIRY 0x12 #define RECOVER_BUFFERED_DATA 0x14 #define MODE_SELECT 0x15 #define RESERVE 0x16 #define RELEASE 0x17 #define COPY 0x18 #define ERASE 0x19 #define MODE_SENSE 0x1a #define START_STOP 0x1b #define RECEIVE_DIAGNOSTIC 0x1c #define SEND_DIAGNOSTIC 0x1d #define ALLOW_MEDIUM_REMOVAL 0x1e #define SET_WINDOW 0x24 #define READ_CAPACITY 0x25 #define READ_10 0x28 #define WRITE_10 0x2a #define SEEK_10 0x2b #define WRITE_VERIFY 0x2e #define VERIFY 0x2f #define SEARCH_HIGH 0x30 #define SEARCH_EQUAL 0x31 #define SEARCH_LOW 0x32 #define SET_LIMITS 0x33 #define PRE_FETCH 0x34 #define READ_POSITION 0x34 #define SYNCHRONIZE_CACHE 0x35 #define LOCK_UNLOCK_CACHE 0x36 #define READ_DEFECT_DATA 0x37 #define MEDIUM_SCAN 0x38 #define COMPARE 0x39 #define COPY_VERIFY 0x3a #define WRITE_BUFFER 0x3b #define READ_BUFFER 0x3c #define UPDATE_BLOCK 0x3d #define READ_LONG 0x3e #define WRITE_LONG 0x3f #define CHANGE_DEFINITION 0x40 #define WRITE_SAME 0x41 #define READ_TOC 0x43 #define LOG_SELECT 0x4c #define LOG_SENSE 0x4d #define MODE_SELECT_10 0x55 #define RESERVE_10 0x56 #define RELEASE_10 0x57 #define MODE_SENSE_10 0x5a #define PERSISTENT_RESERVE_IN 0x5e #define PERSISTENT_RESERVE_OUT 0x5f #define MOVE_MEDIUM 0xa5 #define READ_12 0xa8 #define WRITE_12 0xaa #define WRITE_VERIFY_12 0xae #define SEARCH_HIGH_12 0xb0 #define SEARCH_EQUAL_12 0xb1 #define SEARCH_LOW_12 0xb2 #define READ_ELEMENT_STATUS 0xb8 #define SEND_VOLUME_TAG 0xb6 #define WRITE_LONG_2 0xea #define GOOD 0x00 #define CHECK_CONDITION 0x01 #define CONDITION_GOOD 0x02 #define BUSY 0x04 #define INTERMEDIATE_GOOD 0x08 #define INTERMEDIATE_C_GOOD 0x0a #define RESERVATION_CONFLICT 0x0c #define COMMAND_TERMINATED 0x11 #define QUEUE_FULL 0x14 #define STATUS_MASK 0x3e #define NO_SENSE 0x00 #define RECOVERED_ERROR 0x01 #define NOT_READY 0x02 #define MEDIUM_ERROR 0x03 #define HARDWARE_ERROR 0x04 #define ILLEGAL_REQUEST 0x05 #define UNIT_ATTENTION 0x06 #define DATA_PROTECT 0x07 #define BLANK_CHECK 0x08 #define COPY_ABORTED 0x0a #define ABORTED_COMMAND 0x0b #define VOLUME_OVERFLOW 0x0d #define MISCOMPARE 0x0e #define TYPE_DISK 0x00 #define TYPE_TAPE 0x01 #define TYPE_PROCESSOR 0x03 #define TYPE_WORM 0x04 #define TYPE_ROM 0x05 #define TYPE_SCANNER 0x06 #define TYPE_MOD 0x07 #define TYPE_MEDIUM_CHANGER 0x08 #define TYPE_ENCLOSURE 0x0d #define TYPE_NO_LUN 0x7f #define COMMAND_COMPLETE 0x00 #define EXTENDED_MESSAGE 0x01 #define EXTENDED_MODIFY_DATA_POINTER 0x00 #define EXTENDED_SDTR 0x01 #define EXTENDED_EXTENDED_IDENTIFY 0x02 #define EXTENDED_WDTR 0x03 #define SAVE_POINTERS 0x02 #define RESTORE_POINTERS 0x03 #define DISCONNECT 0x04 #define INITIATOR_ERROR 0x05 #define ABORT 0x06 #define MESSAGE_REJECT 0x07 #define NOP 0x08 #define MSG_PARITY_ERROR 0x09 #define LINKED_CMD_COMPLETE 0x0a #define LINKED_FLG_CMD_COMPLETE 0x0b #define BUS_DEVICE_RESET 0x0c #define INITIATE_RECOVERY 0x0f #define RELEASE_RECOVERY 0x10 #define SIMPLE_QUEUE_TAG 0x20 #define HEAD_OF_QUEUE_TAG 0x21 #define ORDERED_QUEUE_TAG 0x22 #define SCSI_IOCTL_GET_IDLUN 0x5382 #define SCSI_IOCTL_TAGGED_ENABLE 0x5383 #define SCSI_IOCTL_TAGGED_DISABLE 0x5384 #define SCSI_IOCTL_PROBE_HOST 0x5385 #define SCSI_IOCTL_GET_BUS_NUMBER 0x5386 struct ccs_modesel_head { unsigned char _r1; unsigned char medium; unsigned char _r2; unsigned char block_desc_length; unsigned char density; unsigned char number_blocks_hi; unsigned char number_blocks_med; unsigned char number_blocks_lo; unsigned char _r3; unsigned char block_length_hi; unsigned char block_length_med; unsigned char block_length_lo; }; #endif --------------060303040507030804040901 Content-Type: text/x-chdr; name="sg.h" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="sg.h" #ifndef _SCSI_SG_H #define _SCSI_SG_H #define SG_DXFER_NONE -1 #define SG_DXFER_TO_DEV -2 #define SG_DXFER_FROM_DEV -3 #define SG_DXFER_TO_FROM_DEV -4 #define SG_FLAG_DIRECT_IO 1 #define SG_FLAG_LUN_INHIBIT 2 #define SG_FLAG_NO_DXFER 0x10000 #define SG_INFO_OK_MASK 0x1 #define SG_INFO_OK 0x0 #define SG_INFO_CHECK 0x1 #define SG_INFO_DIRECT_IO_MASK 0x6 #define SG_INFO_INDIRECT_IO 0x0 #define SG_INFO_DIRECT_IO 0x2 #define SG_INFO_MIXED_IO 0x4 #define SG_EMULATED_HOST 0x2203 #define SG_SET_TRANSFORM 0x2204 #define SG_GET_TRANSFORM 0x2205 #define SG_SET_RESERVED_SIZE 0x2275 #define SG_GET_RESERVED_SIZE 0x2272 #define SG_GET_SCSI_ID 0x2276 #define SG_SET_FORCE_LOW_DMA 0x2279 #define SG_GET_LOW_DMA 0x227a #define SG_SET_FORCE_PACK_ID 0x227b #define SG_GET_PACK_ID 0x227c #define SG_GET_NUM_WAITING 0x227d #define SG_GET_SG_TABLESIZE 0x227F #define SG_GET_VERSION_NUM 0x2282 #define SG_SCSI_RESET 0x2284 #define SG_SCSI_RESET_NOTHING 0 #define SG_SCSI_RESET_DEVICE 1 #define SG_SCSI_RESET_BUS 2 #define SG_SCSI_RESET_HOST 3 #define SG_IO 0x2285 #define SG_GET_REQUEST_TABLE 0x2286 #define SG_SET_KEEP_ORPHAN 0x2287 #define SG_GET_KEEP_ORPHAN 0x2288 #define SG_SCATTER_SZ (8 * 4096) #define SG_DEFAULT_RETRIES 1 #define SG_DEF_FORCE_LOW_DMA 0 #define SG_DEF_FORCE_PACK_ID 0 #define SG_DEF_KEEP_ORPHAN 0 #define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ #define SG_MAX_QUEUE 16 #define SG_BIG_BUFF SG_DEF_RESERVED_SIZE #define SG_MAX_SENSE 16 #define SG_SET_TIMEOUT 0x2201 #define SG_GET_TIMEOUT 0x2202 #define SG_GET_COMMAND_Q 0x2270 #define SG_SET_COMMAND_Q 0x2271 #define SG_SET_DEBUG 0x227e #define SG_NEXT_CMD_LEN 0x2283 #define SG_DEFAULT_TIMEOUT (60*HZ) #define SG_DEF_COMMAND_Q 0 #define SG_DEF_UNDERRUN_FLAG 0 typedef struct sg_iovec { void *iov_base; unsigned long iov_len; } sg_iovec_t; typedef struct sg_io_hdr { int interface_id; int dxfer_direction; unsigned char cmd_len; unsigned char mx_sb_len; unsigned short iovec_count; unsigned dxfer_len; void *dxferp; unsigned char *cmdp; unsigned char *sbp; unsigned timeout; unsigned flags; int pack_id; void *usr_ptr; unsigned char status; unsigned char masked_status; unsigned char msg_status; unsigned char sb_len_wr; unsigned short host_status; unsigned short driver_status; int resid; unsigned int duration; unsigned int info; } sg_io_hdr_t; struct sg_scsi_id { int host_no; int channel; int scsi_id; int lun; int scsi_type; short h_cmd_per_lun; short d_queue_depth; int unused[2]; }; typedef struct sg_req_info { char req_state; char orphan; char sg_io_owned; char problem; int pack_id; void *usr_ptr; unsigned duration; int unused; } sg_req_info_t; typedef struct sg_io_hdr Sg_io_hdr; typedef struct sg_io_vec Sg_io_vec; typedef struct sg_scsi_id Sg_scsi_id; typedef struct sg_req_info Sg_req_info; struct sg_header { int pack_len; int reply_len; int pack_id; int result; unsigned twelve_byte:1; unsigned target_status:5; unsigned host_status:8; unsigned driver_status:8; unsigned other_flags:10; unsigned char sense_buffer[SG_MAX_SENSE]; }; #endif --------------060303040507030804040901--