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/scsi/scsi_worm.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 #ifndef _SCSI_SCSI_WORM_H
    2 #define _SCSI_SCSI_WORM_H
    3 
    4 #define PAGE_HEADERLEN 2
    5 
    6 /*
    7  * Opcodes
    8  */
    9 
   10 #define REZERO_UNIT             0x01    /* re-init; XXX belongs to scsi_all? */
   11 #define SYNCHRONIZE_CACHE       0x35    /* flush write buffer, close wr chn */
   12 #define FIRST_WRITEABLE_ADDR    0xe2    /* return first available LBA */
   13 #define RESERVE_TRACK           0xe4    /* reserve a track for later write */
   14 #define READ_TRACK_INFORMATION  0xe5    /* get info for a particular track */
   15 #define WRITE_TRACK             0xe6    /* open the write channel */
   16 #define LOAD_UNLOAD             0xe7    /* resembles part of START_STOP */
   17 #define FIXATION                0xe9    /* write leadin/leadout */
   18 
   19 struct scsi_rezero_unit
   20 {
   21         u_char  op_code;
   22         u_char  byte2;
   23         u_char  reserved[3];
   24         u_char  control;
   25 };
   26 
   27 struct scsi_synchronize_cache
   28 {
   29         u_char  op_code;
   30         u_char  byte2;
   31         u_char  reserved[7];
   32         u_char  control;
   33 };
   34 
   35 /* struct scsi_first_writeable_address; */
   36 
   37 struct scsi_reserve_track
   38 {
   39         u_char  op_code;
   40         u_char  byte2;
   41         u_char  reserved[3];
   42         u_char  reserve_length_3; /* MSB */
   43         u_char  reserve_length_2;
   44         u_char  reserve_length_1;
   45         u_char  reserve_length_0; /* LSB */
   46         u_char  control;
   47 };
   48 
   49 /* struct scsi_read_track_information; */
   50 
   51 struct scsi_write_track
   52 {
   53         u_char  op_code;
   54         u_char  byte2;
   55         u_char  reserved[3];
   56         u_char  track_number;   /* 0 means: use next available */
   57         u_char  mode;
   58 #define WORM_TRACK_MODE_RAW     0x08
   59 #define WORM_TRACK_MODE_AUDIO   0x04
   60 #define WORM_TRACK_MODE_MODE1   0x01 /* also audio with preemphasis */
   61 #define WORM_TRACK_MODE_MODE2   0x02
   62         u_char  transfer_length_1; /* number of blocks to transfer, MSB */
   63         u_char  transfer_length_0; /* LSB */
   64         u_char  control;
   65 #define WORM_TRACK_CONTROL_MIX  0x40 /* mixed mode blocks */
   66 };
   67 
   68 struct scsi_load_unload
   69 {
   70         u_char  op_code;
   71         u_char  byte2;
   72         u_char  reserved[6];
   73         u_char  load;
   74 #define WORM_LOAD_MEDIUM        0x01
   75         u_char  control;
   76 };
   77 
   78 struct scsi_fixation
   79 {
   80         u_char  op_code;
   81         u_char  byte2;
   82         u_char  reserved[6];
   83         u_char  action;
   84 #define WORM_FIXATION_ONP       0x08 /* open next program area (new session) */
   85 #define WORM_TOC_TYPE_AUDIO     0x00
   86 #define WORM_TOC_TYPE_CDROM     0x01
   87 #define WORM_TOC_TYPE_CDROM_1   0x02 /* CD-ROM, first track mode 1 (?) */
   88 #define WORM_TOC_TYPE_CDROM_2   0x03 /* CD-ROM, first track mode 2 */
   89 #define WORM_TOC_TYPE_CDI       0x04
   90         u_char  control;
   91 };
   92 
   93 #endif /* _SCSI_SCSI_WORM_H */

Cache object: 9365b14c0ce969edf64bc2bd34cdb243


[ 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.