root/compat/linux/linux_cdrom.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


    1 /*      $OpenBSD: linux_cdrom.h,v 1.2 1997/12/10 00:01:40 provos Exp $  */
    2 /*
    3  * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
    4  * All rights reserved.
    5  *
    6  * Redistribution and use in source and binary forms, with or without
    7  * modification, are permitted provided that the following conditions
    8  * are met:
    9  * 1. Redistributions of source code must retain the above copyright
   10  *    notice, this list of conditions and the following disclaimer.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  * 3. All advertising materials mentioning features or use of this software
   15  *    must display the following acknowledgement:
   16  *      This product includes software developed by Niels Provos.
   17  * 4. The name of the author may not be used to endorse or promote products
   18  *    derived from this software without specific prior written permission.
   19  *
   20  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   21  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   22  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   23  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   25  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   29  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   30  */
   31 
   32 struct linux_cdrom_blk 
   33 {
   34         unsigned from;
   35         unsigned short len;
   36 };
   37 
   38 
   39 struct linux_cdrom_msf 
   40 {
   41         u_char  cdmsf_min0;     /* start */
   42         u_char  cdmsf_sec0;
   43         u_char  cdmsf_frame0;
   44         u_char  cdmsf_min1;     /* end */
   45         u_char  cdmsf_sec1;
   46         u_char  cdmsf_frame1;
   47 };
   48 
   49 struct linux_cdrom_ti 
   50 {
   51         u_char  cdti_trk0;      /* start */
   52         u_char  cdti_ind0;
   53         u_char  cdti_trk1;      /* end */
   54         u_char  cdti_ind1;
   55 };
   56 
   57 struct linux_cdrom_tochdr       
   58 {
   59         u_char  cdth_trk0;      /* start */
   60         u_char  cdth_trk1;      /* end */
   61 };
   62 
   63 struct linux_cdrom_msf0
   64 {
   65         u_char  minute;
   66         u_char  second;
   67         u_char  frame;
   68 };
   69 
   70 union linux_cdrom_addr
   71 {
   72         struct linux_cdrom_msf0 msf;
   73         int                     lba;
   74 };
   75 
   76 struct linux_cdrom_tocentry 
   77 {
   78         u_char  cdte_track;
   79         u_char  cdte_adr        :4;
   80         u_char  cdte_ctrl       :4;
   81         u_char  cdte_format;
   82         union linux_cdrom_addr cdte_addr;
   83         u_char  cdte_datamode;
   84 };
   85 
   86 #define LINUX_CDROM_LBA 0x01
   87 #define LINUX_CDROM_MSF 0x02
   88 
   89 #define LINUX_CDROM_DATA_TRACK  0x04
   90 
   91 #define LINUX_CDROM_LEADOUT     0xAA
   92 
   93 struct linux_cdrom_subchnl 
   94 {
   95         u_char  cdsc_format;
   96         u_char  cdsc_audiostatus;
   97         u_char  cdsc_adr:       4;
   98         u_char  cdsc_ctrl:      4;
   99         u_char  cdsc_trk;
  100         u_char  cdsc_ind;
  101         union linux_cdrom_addr cdsc_absaddr;
  102         union linux_cdrom_addr cdsc_reladdr;
  103 };
  104 
  105 struct linux_cdrom_mcn {
  106   u_char medium_catalog_number[14];
  107 };
  108 
  109 
  110 struct linux_cdrom_volctrl
  111 {
  112         u_char  channel0;
  113         u_char  channel1;
  114         u_char  channel2;
  115         u_char  channel3;
  116 };
  117 
  118 struct linux_cdrom_read      
  119 {
  120         int     cdread_lba;
  121         caddr_t cdread_bufaddr;
  122         int     cdread_buflen;
  123 };
  124 
  125 #define LINUX_CDROMPAUSE                0x5301
  126 #define LINUX_CDROMRESUME               0x5302
  127 #define LINUX_CDROMPLAYMSF              0x5303
  128 #define LINUX_CDROMPLAYTRKIND           0x5304
  129 
  130 #define LINUX_CDROMREADTOCHDR           0x5305
  131 #define LINUX_CDROMREADTOCENTRY         0x5306
  132 
  133 #define LINUX_CDROMSTOP                 0x5307
  134 #define LINUX_CDROMSTART                0x5308
  135 
  136 #define LINUX_CDROMEJECT                0x5309
  137 
  138 #define LINUX_CDROMVOLCTRL              0x530a
  139 
  140 #define LINUX_CDROMSUBCHNL              0x530b
  141 
  142 #define LINUX_CDROMREADMODE2            0x530c
  143 #define LINUX_CDROMREADMODE1            0x530d
  144 #define LINUX_CDROMREADAUDIO            0x530e
  145 
  146 #define LINUX_CDROMEJECT_SW             0x530f
  147  
  148 #define LINUX_CDROMMULTISESSION         0x5310
  149 
  150 #define LINUX_CDROM_GET_UPC             0x5311
  151 
  152 #define LINUX_CDROMRESET                0x5312
  153 #define LINUX_CDROMVOLREAD              0x5313
  154 
  155 #define LINUX_CDROMPLAYBLK              0x5317

/* [<][>][^][v][top][bottom][index][help] */