1 /* 2 * libdi - CD Audio Device Interface Library 3 * 4 * Copyright (C) 1993-2004 Ti Kan 5 * E-mail: xmcd@amb.org 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 */ 21 #ifndef __FBIOC_H__ 22 #define __FBIOC_H__ 23 24 #if defined(DI_FBIOC) && !defined(DEMO_ONLY) 25 26 #ifndef lint 27 static char *_fbioc_h_ident_ = "@(#)fbioc.h 6.27 04/04/06"; 28 #endif 29 30 #include <sys/cdio.h> 31 32 #ifndef CDIOCREADAUDIO 33 #define CDIOCREADAUDIO _IOWR('c',31,struct ioc_read_audio) 34 35 struct ioc_read_audio 36 { 37 u_char address_format; 38 union msf_lba address; 39 int nframes; 40 u_char *buffer; 41 }; 42 #endif /* CDIOCREADAUDIO */ 43 44 /* Ioctl name lookup table structure */ 45 typedef struct { 46 unsigned int cmd; 47 char *name; 48 } iocname_t; 49 50 /* 51 * Public functions 52 */ 53 extern void fbioc_enable(int); 54 extern void fbioc_disable(int); 55 extern bool_t fbioc_is_enabled(int); 56 extern bool_t fbioc_send(int, unsigned int, void *, bool_t); 57 extern void fbioc_init(curstat_t *, di_tbl_t *); 58 extern bool_t fbioc_playmode(curstat_t *); 59 extern bool_t fbioc_check_disc(curstat_t *); 60 extern void fbioc_status_upd(curstat_t *); 61 extern void fbioc_lock(curstat_t *, bool_t); 62 extern void fbioc_repeat(curstat_t *, bool_t); 63 extern void fbioc_shuffle(curstat_t *, bool_t); 64 extern void fbioc_load_eject(curstat_t *); 65 extern void fbioc_ab(curstat_t *); 66 extern void fbioc_sample(curstat_t *); 67 extern void fbioc_level(curstat_t *, byte_t, bool_t); 68 extern void fbioc_play_pause(curstat_t *); 69 extern void fbioc_stop(curstat_t *, bool_t); 70 extern void fbioc_chgdisc(curstat_t *); 71 extern void fbioc_prevtrk(curstat_t *); 72 extern void fbioc_nexttrk(curstat_t *); 73 extern void fbioc_previdx(curstat_t *); 74 extern void fbioc_nextidx(curstat_t *); 75 extern void fbioc_rew(curstat_t *, bool_t); 76 extern void fbioc_ff(curstat_t *, bool_t); 77 extern void fbioc_warp(curstat_t *); 78 extern void fbioc_route(curstat_t *); 79 extern void fbioc_mute_on(curstat_t *); 80 extern void fbioc_mute_off(curstat_t *); 81 extern void fbioc_cddajitter(curstat_t *); 82 extern void fbioc_debug(void); 83 extern void fbioc_start(curstat_t *); 84 extern void fbioc_icon(curstat_t *, bool_t); 85 extern void fbioc_halt(curstat_t *); 86 extern char *fbioc_methodstr(void); 87 88 #else /* DI_FBIOC DEMO_ONLY */ 89 90 #define fbioc_init NULL 91 92 #endif /* DI_FBIOC DEMO_ONLY */ 93 94 #endif /* __FBIOC_H__ */ 95 96