The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/scsipi/scsipi_disk.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: scsipi_disk.h,v 1.9 2003/09/17 23:33:43 mycroft Exp $  */
    2 
    3 /*
    4  * SCSI and SCSI-like interfaces description
    5  */
    6 
    7 /*
    8  * Some lines of this file come from a file of the name "scsi.h"
    9  * distributed by OSF as part of mach2.5,
   10  *  so the following disclaimer has been kept.
   11  *
   12  * Copyright 1990 by Open Software Foundation,
   13  * Grenoble, FRANCE
   14  *
   15  *              All Rights Reserved
   16  *
   17  *   Permission to use, copy, modify, and distribute this software and
   18  * its documentation for any purpose and without fee is hereby granted,
   19  * provided that the above copyright notice appears in all copies and
   20  * that both the copyright notice and this permission notice appear in
   21  * supporting documentation, and that the name of OSF or Open Software
   22  * Foundation not be used in advertising or publicity pertaining to
   23  * distribution of the software without specific, written prior
   24  * permission.
   25  *
   26  *   OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
   27  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
   28  * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
   29  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
   30  * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
   31  * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
   32  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   33  */
   34 
   35 /*
   36  * Largely written by Julian Elischer (julian@tfs.com)
   37  * for TRW Financial Systems.
   38  *
   39  * TRW Financial Systems, in accordance with their agreement with Carnegie
   40  * Mellon University, makes this software available to CMU to distribute
   41  * or use in any manner that they see fit as long as this message is kept with
   42  * the software. For this reason TFS also grants any other persons or
   43  * organisations permission to use or modify this software.
   44  *
   45  * TFS supplies this software to be publicly redistributed
   46  * on the understanding that TFS is not responsible for the correct
   47  * functioning of this software in any circumstances.
   48  *
   49  * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
   50  */
   51 
   52 #ifndef _DEV_SCSIPI_SCSIPI_DISK_H_
   53 #define _DEV_SCSIPI_SCSIPI_DISK_H_
   54 
   55 /*
   56  * SCSI command format
   57  */
   58 
   59 #define READ_BIG                0x28
   60 #define WRITE_BIG               0x2a
   61 struct scsipi_rw_big {
   62         u_int8_t opcode;
   63         u_int8_t byte2;
   64 #define SRWB_RELADDR    0x01
   65 #define SRWB_FUA        0x08    /* force unit access */
   66 #define SRWB_DPO        0x10    /* disable page out */
   67         u_int8_t addr[4];
   68         u_int8_t reserved;
   69         u_int8_t length[2];
   70         u_int8_t control;
   71 } __attribute__((packed));
   72 
   73 #define READ_CAPACITY           0x25
   74 struct scsipi_read_capacity {
   75         u_int8_t opcode;
   76         u_int8_t byte2;
   77         u_int8_t addr[4];
   78         u_int8_t unused[3];
   79         u_int8_t control;
   80 } __attribute__((packed));
   81 
   82 /* DATAs definitions for the above commands */
   83 
   84 struct scsipi_read_cap_data {
   85         u_int8_t addr[4];
   86         u_int8_t length[4];
   87 } __attribute__((packed));
   88 
   89 #define READ_FORMAT_CAPACITIES  0x23
   90 struct scsipi_read_format_capacities {
   91         u_int8_t opcode;
   92         u_int8_t byte2;
   93         u_int8_t reserved1[5];
   94         u_int8_t length[2];
   95         u_int8_t reserved2[3];
   96 } __attribute__((packed));
   97 
   98 struct scsipi_capacity_list_header {
   99         u_int8_t reserved[3];
  100         u_int8_t length;
  101 } __attribute__((packed));
  102 
  103 struct scsipi_capacity_descriptor {
  104         u_int8_t nblks[4];
  105         u_int8_t byte5;
  106         u_int8_t blklen[3];
  107 } __attribute__((packed));
  108 
  109 /* codes only valid in the current/maximum capacity descriptor */
  110 #define SCSIPI_CAP_DESC_CODE_MASK               0x3
  111 #define SCSIPI_CAP_DESC_CODE_RESERVED           0x0
  112 #define SCSIPI_CAP_DESC_CODE_UNFORMATTED        0x1
  113 #define SCSIPI_CAP_DESC_CODE_FORMATTED          0x2
  114 #define SCSIPI_CAP_DESC_CODE_NONE               0x3
  115 
  116 #endif /* _DEV_SCSIPI_SCSIPI_DISK_H_ */

Cache object: 6d9a1fef5b1b85f5da7eed4631b6753a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.