home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.2 / LINUX-1.2 / LINUX-1 / linux / drivers / sound / sound_calls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-20  |  8.4 KB  |  244 lines

  1. /*
  2.  *    DMA buffer calls
  3.  */
  4.  
  5. int DMAbuf_open(int dev, int mode);
  6. int DMAbuf_release(int dev, int mode);
  7. int DMAbuf_getwrbuffer(int dev, char **buf, int *size);
  8. int DMAbuf_getrdbuffer(int dev, char **buf, int *len);
  9. int DMAbuf_rmchars(int dev, int buff_no, int c);
  10. int DMAbuf_start_output(int dev, int buff_no, int l);
  11. int DMAbuf_ioctl(int dev, unsigned int cmd, unsigned int arg, int local);
  12. long DMAbuf_init(long mem_start);
  13. int DMAbuf_start_dma (int dev, unsigned long physaddr, int count, int dma_mode);
  14. int DMAbuf_open_dma (int chan);
  15. void DMAbuf_close_dma (int chan);
  16. void DMAbuf_reset_dma (int chan);
  17. void DMAbuf_inputintr(int dev);
  18. void DMAbuf_outputintr(int dev, int underflow_flag);
  19.  
  20. /*
  21.  *    System calls for /dev/dsp and /dev/audio
  22.  */
  23.  
  24. int audio_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  25. int audio_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  26. int audio_open (int dev, struct fileinfo *file);
  27. void audio_release (int dev, struct fileinfo *file);
  28. int audio_ioctl (int dev, struct fileinfo *file,
  29.        unsigned int cmd, unsigned int arg);
  30. int audio_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
  31. long audio_init (long mem_start);
  32.  
  33. /*
  34.  *    System calls for the /dev/sequencer
  35.  */
  36.  
  37. int sequencer_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  38. int sequencer_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  39. int sequencer_open (int dev, struct fileinfo *file);
  40. void sequencer_release (int dev, struct fileinfo *file);
  41. int sequencer_ioctl (int dev, struct fileinfo *file,
  42.        unsigned int cmd, unsigned int arg);
  43. int sequencer_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
  44. long sequencer_init (long mem_start);
  45. void sequencer_timer(void);
  46. int note_to_freq(int note_num);
  47. unsigned long compute_finetune(unsigned long base_freq, int bend, int range);
  48. void seq_input_event(unsigned char *event, int len);
  49. void seq_copy_to_input (unsigned char *event, int len);
  50.  
  51. #ifdef ALLOW_SELECT
  52. int sequencer_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
  53. #endif
  54.  
  55. /*
  56.  *    System calls for the /dev/midi
  57.  */
  58.  
  59. int MIDIbuf_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  60. int MIDIbuf_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  61. int MIDIbuf_open (int dev, struct fileinfo *file);
  62. void MIDIbuf_release (int dev, struct fileinfo *file);
  63. int MIDIbuf_ioctl (int dev, struct fileinfo *file,
  64.        unsigned int cmd, unsigned int arg);
  65. int MIDIbuf_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
  66. void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count);
  67. long MIDIbuf_init(long mem_start);
  68.  
  69. #ifdef ALLOW_SELECT
  70. int MIDIbuf_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
  71. #endif
  72.  
  73. /*
  74.  *    System calls for the generic midi interface.
  75.  *
  76.  */
  77.  
  78. long  CMIDI_init  (long mem_start);
  79. int   CMIDI_open  (int dev, struct fileinfo *file);
  80. int   CMIDI_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  81. int   CMIDI_read  (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  82. int   CMIDI_close (int dev, struct fileinfo *file); 
  83.  
  84. /*
  85.  *
  86.  *    Misc calls from various sources
  87.  */
  88.  
  89. /*     From pro_midi.c     */
  90.  
  91. long pro_midi_attach(long mem_start);
  92. int  pro_midi_open(int dev, int mode);
  93. void pro_midi_close(int dev);
  94. int pro_midi_write(int dev, snd_rw_buf *uio);
  95. int pro_midi_read(int dev, snd_rw_buf *uio);
  96.  
  97. /*    From soundcard.c    */
  98. long soundcard_init(long mem_start);
  99. void tenmicrosec(void);
  100. void request_sound_timer (int count);
  101. void sound_stop_timer(void);
  102. int snd_ioctl_return(int *addr, int value);
  103. int snd_set_irq_handler (int interrupt_level, void(*hndlr)(int, struct pt_regs *));
  104. void snd_release_irq(int vect);
  105. void sound_dma_malloc(int dev);
  106. void sound_dma_free(int dev);
  107.  
  108. /*    From sound_switch.c    */
  109. int sound_read_sw (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  110. int sound_write_sw (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  111. int sound_open_sw (int dev, struct fileinfo *file);
  112. void sound_release_sw (int dev, struct fileinfo *file);
  113. int sound_ioctl_sw (int dev, struct fileinfo *file,
  114.          unsigned int cmd, unsigned long arg);
  115.  
  116. /*    From sb_dsp.c    */
  117. int sb_dsp_detect (struct address_info *hw_config);
  118. long sb_dsp_init (long mem_start, struct address_info *hw_config);
  119. void sb_dsp_disable_midi(void);
  120. int sb_get_irq(void);
  121. void sb_free_irq(void);
  122. int sb_dsp_command (unsigned char val);
  123. int sb_reset_dsp (void);
  124.  
  125. /*    From sb16_dsp.c    */
  126. void sb16_dsp_interrupt (int unused);
  127. long sb16_dsp_init(long mem_start, struct address_info *hw_config);
  128. int sb16_dsp_detect(struct address_info *hw_config);
  129.  
  130. /*    From sb16_midi.c    */
  131. void sb16midiintr (int unit);
  132. long attach_sb16midi(long mem_start, struct address_info * hw_config);
  133. int probe_sb16midi(struct address_info *hw_config);
  134. void sb_midi_interrupt(int dummy);
  135.  
  136. /*    From sb_midi.c    */
  137. void sb_midi_init(int model);
  138.  
  139. /*    From sb_mixer.c    */
  140. void sb_setmixer (unsigned int port, unsigned int value);
  141. int sb_getmixer (unsigned int port);
  142. void sb_mixer_set_stereo(int mode);
  143. int sb_mixer_init(int major_model);
  144.  
  145. /*    From opl3.c    */
  146. int opl3_detect (int ioaddr);
  147. long opl3_init(long mem_start);
  148.  
  149. /*    From sb_card.c    */
  150. long attach_sb_card(long mem_start, struct address_info *hw_config);
  151. int probe_sb(struct address_info *hw_config);
  152.  
  153. /*    From adlib_card.c    */
  154. long attach_adlib_card(long mem_start, struct address_info *hw_config);
  155. int probe_adlib(struct address_info *hw_config);
  156.  
  157. /*    From pas_card.c    */
  158. long attach_pas_card(long mem_start, struct address_info *hw_config);
  159. int probe_pas(struct address_info *hw_config);
  160. int pas_set_intr(int mask);
  161. int pas_remove_intr(int mask);
  162. unsigned char pas_read(int ioaddr);
  163. void pas_write(unsigned char data, int ioaddr);
  164.  
  165. /*    From pas_audio.c */
  166. void pas_pcm_interrupt(unsigned char status, int cause);
  167. long pas_pcm_init(long mem_start, struct address_info *hw_config);
  168.  
  169. /*    From pas_mixer.c */
  170. int pas_init_mixer(void);
  171.  
  172. /*    From pas_midi.c */
  173. long pas_midi_init(long mem_start);
  174. void pas_midi_interrupt(void);
  175.  
  176. /*    From gus_card.c */
  177. long attach_gus_card(long mem_start, struct address_info * hw_config);
  178. int probe_gus(struct address_info *hw_config);
  179. int gus_set_midi_irq(int num);
  180. void gusintr(int, struct pt_regs * regs);
  181. long attach_gus_db16(long mem_start, struct address_info * hw_config);
  182. int probe_gus_db16(struct address_info *hw_config);
  183.  
  184. /*    From gus_wave.c */
  185. int gus_wave_detect(int baseaddr);
  186. long gus_wave_init(long mem_start, int irq, int dma);
  187. void gus_voice_irq(void);
  188. unsigned char gus_read8 (int reg);
  189. void gus_write8(int reg, unsigned int data);
  190. void guswave_dma_irq(void);
  191. void gus_delay(void);
  192. int gus_default_mixer_ioctl (int dev, unsigned int cmd, unsigned int arg);
  193.  
  194. /*    From gus_midi.c */
  195. long gus_midi_init(long mem_start);
  196. void gus_midi_interrupt(int dummy);
  197.  
  198. /*    From mpu401.c */
  199. long attach_mpu401(long mem_start, struct address_info * hw_config);
  200. int probe_mpu401(struct address_info *hw_config);
  201.  
  202. /*    From uart6850.c */
  203. long attach_uart6850(long mem_start, struct address_info * hw_config);
  204. int probe_uart6850(struct address_info *hw_config);
  205.  
  206. /*    From opl3.c */
  207. void enable_opl3_mode(int left, int right, int both);
  208.  
  209. /*    From patmgr.c */
  210. int pmgr_open(int dev);
  211. void pmgr_release(int dev);
  212. int pmgr_read (int dev, struct fileinfo *file, snd_rw_buf * buf, int count);
  213. int pmgr_write (int dev, struct fileinfo *file, snd_rw_buf * buf, int count);
  214. int pmgr_access(int dev, struct patmgr_info *rec);
  215. int pmgr_inform(int dev, int event, unsigned long parm1, unsigned long parm2,
  216.                     unsigned long parm3, unsigned long parm4);
  217.  
  218. /*     From ics2101.c */
  219. long ics2101_mixer_init(long mem_start);
  220.  
  221. /*    From sound_timer.c */
  222. void sound_timer_init(int io_base);
  223. void sound_timer_interrupt(void);
  224.  
  225. /*    From ad1848.c */
  226. void ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture);
  227. int ad1848_detect (int io_base);
  228. void     ad1848_interrupt (int dev, struct pt_regs *regs);
  229. long attach_ms_sound(long mem_start, struct address_info * hw_config);
  230. int probe_ms_sound(struct address_info *hw_config);
  231.  
  232. /*     From pss.c */
  233. int probe_pss (struct address_info *hw_config);
  234. long attach_pss (long mem_start, struct address_info *hw_config);
  235.  
  236. int pss_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  237. int pss_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
  238. int pss_open (int dev, struct fileinfo *file);
  239. void pss_release (int dev, struct fileinfo *file);
  240. int pss_ioctl (int dev, struct fileinfo *file,
  241.        unsigned int cmd, unsigned int arg);
  242. int pss_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
  243. long pss_init(long mem_start);
  244.