cam_ccb.h (196352) | cam_ccb.h (198708) |
---|---|
1/*- 2 * Data structures and definitions for CAM Control Blocks (CCBs). 3 * 4 * Copyright (c) 1997, 1998 Justin T. Gibbs. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * | 1/*- 2 * Data structures and definitions for CAM Control Blocks (CCBs). 3 * 4 * Copyright (c) 1997, 1998 Justin T. Gibbs. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/cam/cam_ccb.h 196352 2009-08-18 08:46:54Z mav $ | 28 * $FreeBSD: head/sys/cam/cam_ccb.h 198708 2009-10-31 10:43:38Z mav $ |
29 */ 30 31#ifndef _CAM_CAM_CCB_H 32#define _CAM_CAM_CCB_H 1 33 34#include <sys/queue.h> 35#include <sys/cdefs.h> 36#include <sys/time.h> --- 774 unchanged lines hidden (view full) --- 811}; 812 813struct ccb_trans_settings_sas { 814 u_int valid; /* Which fields to honor */ 815#define CTS_SAS_VALID_SPEED 0x1000 816 u_int32_t bitrate; /* Mbps */ 817}; 818 | 29 */ 30 31#ifndef _CAM_CAM_CCB_H 32#define _CAM_CAM_CCB_H 1 33 34#include <sys/queue.h> 35#include <sys/cdefs.h> 36#include <sys/time.h> --- 774 unchanged lines hidden (view full) --- 811}; 812 813struct ccb_trans_settings_sas { 814 u_int valid; /* Which fields to honor */ 815#define CTS_SAS_VALID_SPEED 0x1000 816 u_int32_t bitrate; /* Mbps */ 817}; 818 |
819struct ccb_trans_settings_ata { 820 u_int valid; /* Which fields to honor */ 821#define CTS_ATA_VALID_MODE 0x01 822#define CTS_ATA_VALID_BYTECOUNT 0x04 823 u_int32_t mode; 824 u_int bytecount; /* Length of PIO transaction */ 825}; 826 |
|
819struct ccb_trans_settings_sata { 820 u_int valid; /* Which fields to honor */ 821#define CTS_SATA_VALID_SPEED 0x01 822#define CTS_SATA_VALID_PM 0x02 | 827struct ccb_trans_settings_sata { 828 u_int valid; /* Which fields to honor */ 829#define CTS_SATA_VALID_SPEED 0x01 830#define CTS_SATA_VALID_PM 0x02 |
831#define CTS_SATA_VALID_BYTECOUNT 0x04 |
|
823 u_int32_t bitrate; /* Mbps */ 824 u_int pm_present; /* PM is present (XPT->SIM) */ | 832 u_int32_t bitrate; /* Mbps */ 833 u_int pm_present; /* PM is present (XPT->SIM) */ |
834 u_int bytecount; /* Length of PIO transaction */ |
|
825}; 826 827/* Get/Set transfer rate/width/disconnection/tag queueing settings */ 828struct ccb_trans_settings { 829 struct ccb_hdr ccb_h; 830 cts_type type; /* Current or User settings */ 831 cam_proto protocol; 832 u_int protocol_version; 833 cam_xport transport; 834 u_int transport_version; 835 union { 836 u_int valid; /* Which fields to honor */ 837 struct ccb_trans_settings_scsi scsi; 838 } proto_specific; 839 union { 840 u_int valid; /* Which fields to honor */ 841 struct ccb_trans_settings_spi spi; 842 struct ccb_trans_settings_fc fc; 843 struct ccb_trans_settings_sas sas; | 835}; 836 837/* Get/Set transfer rate/width/disconnection/tag queueing settings */ 838struct ccb_trans_settings { 839 struct ccb_hdr ccb_h; 840 cts_type type; /* Current or User settings */ 841 cam_proto protocol; 842 u_int protocol_version; 843 cam_xport transport; 844 u_int transport_version; 845 union { 846 u_int valid; /* Which fields to honor */ 847 struct ccb_trans_settings_scsi scsi; 848 } proto_specific; 849 union { 850 u_int valid; /* Which fields to honor */ 851 struct ccb_trans_settings_spi spi; 852 struct ccb_trans_settings_fc fc; 853 struct ccb_trans_settings_sas sas; |
854 struct ccb_trans_settings_ata ata; |
|
844 struct ccb_trans_settings_sata sata; 845 } xport_specific; 846}; 847 848 849/* 850 * Calculate the geometry parameters for a device 851 * give the block size and volume size in blocks. --- 288 unchanged lines hidden --- | 855 struct ccb_trans_settings_sata sata; 856 } xport_specific; 857}; 858 859 860/* 861 * Calculate the geometry parameters for a device 862 * give the block size and volume size in blocks. --- 288 unchanged lines hidden --- |