nathan@0: /* cdrom.h nathan@4: Copyright (c) 2000-2004 Craig Condit, Stefan Hülswitt. nathan@0: nathan@0: Redistribution and use in source and binary forms, with or without nathan@0: modification, are permitted provided that the following conditions are met: nathan@0: nathan@0: 1. Redistributions of source code must retain the above copyright notice, nathan@0: this list of conditions and the following disclaimer. nathan@0: 2. Redistributions in binary form must reproduce the above copyright notice, nathan@0: this list of conditions and the following disclaimer in the documentation nathan@0: and/or other materials provided with the distribution. nathan@0: nathan@0: THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS nathan@0: OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED nathan@0: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE nathan@0: DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR nathan@0: ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL nathan@0: DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR nathan@0: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER nathan@0: CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT nathan@0: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY nathan@0: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF nathan@0: SUCH DAMAGE. nathan@0: */ nathan@0: nathan@0: #ifndef _CDBACKUP_CDROM_H nathan@0: #define _CDBACKUP_CDROM_H nathan@0: nathan@4: #ifdef linux nathan@4: #include nathan@4: #endif nathan@0: nathan@4: #ifdef sun nathan@4: #include nathan@4: #endif nathan@2: nathan@4: #ifndef CD_FRAMESIZE nathan@4: #define CD_FRAMESIZE 2048 nathan@4: #endif nathan@4: nathan@4: struct cd_header { nathan@4: int start_track, end_track; nathan@4: int used; nathan@4: }; nathan@4: nathan@4: struct cd_track { nathan@4: int start_sec; nathan@4: int leadout_size; nathan@4: int is_data; nathan@4: int start_track; nathan@4: }; nathan@4: nathan@2: void get_param(int fd, unsigned long *ahead, unsigned long *fahead); nathan@2: void set_param(int fd, unsigned long ahead, unsigned long fahead); nathan@4: int getCdHeader(struct cd_header *cd); nathan@4: void getCdTrack(int num, struct cd_track *cd); nathan@0: nathan@0: #endif