int DMAbuf_open(int dev
, int mode
);
int DMAbuf_release(int dev
, int mode
);
int DMAbuf_read (int dev
, snd_rw_buf
*user_buf
, int count
);
int DMAbuf_getwrbuffer(int dev
, char **buf
, int *size
);
int DMAbuf_getrdbuffer(int dev
, char **buf
, int *len
);
int DMAbuf_rmchars(int dev
, int buff_no
, int c
);
int DMAbuf_start_output(int dev
, int buff_no
, int l
);
int DMAbuf_ioctl(int dev
, unsigned int cmd
, unsigned int arg
, int local
);
long DMAbuf_init(long mem_start
);
int DMAbuf_start_dma (int dev
, unsigned long physaddr
, int count
, int dma_mode
);
int DMAbuf_open_dma (int chan
);
void DMAbuf_close_dma (int chan
);
void DMAbuf_reset_dma (int chan
);
void DMAbuf_inputintr(int dev
);
void DMAbuf_outputintr(int dev
);
* System calls for the /dev/dsp
int dsp_read (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int dsp_write (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int dsp_open (int dev
, struct fileinfo
*file
, int bits
);
void dsp_release (int dev
, struct fileinfo
*file
);
int dsp_ioctl (int dev
, struct fileinfo
*file
,
unsigned int cmd
, unsigned int arg
);
int dsp_lseek (int dev
, struct fileinfo
*file
, off_t offset
, int orig
);
long dsp_init (long mem_start
);
* System calls for the /dev/audio
int audio_read (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int audio_write (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int audio_open (int dev
, struct fileinfo
*file
);
void audio_release (int dev
, struct fileinfo
*file
);
int audio_ioctl (int dev
, struct fileinfo
*file
,
unsigned int cmd
, unsigned int arg
);
int audio_lseek (int dev
, struct fileinfo
*file
, off_t offset
, int orig
);
long audio_init (long mem_start
);
* System calls for the /dev/sequencer
int sequencer_read (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int sequencer_write (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int sequencer_open (int dev
, struct fileinfo
*file
);
void sequencer_release (int dev
, struct fileinfo
*file
);
int sequencer_ioctl (int dev
, struct fileinfo
*file
,
unsigned int cmd
, unsigned int arg
);
int sequencer_lseek (int dev
, struct fileinfo
*file
, off_t offset
, int orig
);
long sequencer_init (long mem_start
);
void sequencer_midi_input(int dev
, unsigned char data
);
void sequencer_midi_output(int dev
);
void sequencer_timer(void);
int note_to_freq(int note_num
);
unsigned long compute_finetune(unsigned long base_freq
, int bend
, int range
);
int sequencer_select(int dev
, struct fileinfo
*file
, int sel_type
, select_table
* wait
);
* System calls for the /dev/midi
int MIDIbuf_read (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int MIDIbuf_write (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int MIDIbuf_open (int dev
, struct fileinfo
*file
);
void MIDIbuf_release (int dev
, struct fileinfo
*file
);
int MIDIbuf_ioctl (int dev
, struct fileinfo
*file
,
unsigned int cmd
, unsigned int arg
);
int MIDIbuf_lseek (int dev
, struct fileinfo
*file
, off_t offset
, int orig
);
void MIDIbuf_bytes_received(int dev
, unsigned char *buf
, int count
);
long MIDIbuf_init(long mem_start
);
* System calls for the generic midi interface.
long CMIDI_init (long mem_start
);
int CMIDI_open (int dev
, struct fileinfo
*file
);
int CMIDI_write (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int CMIDI_read (int dev
, struct fileinfo
*file
, snd_rw_buf
*buf
, int count
);
int CMIDI_close (int dev
, struct fileinfo
*file
);
* Misc calls from various sources
long pro_midi_attach(long mem_start
);
int pro_midi_open(int dev
, int mode
);
void pro_midi_close(int dev
);
int pro_midi_write(int dev
, struct uio
*uio
);
int pro_midi_read(int dev
, struct uio
*uio
);
long soundcard_init(long mem_start
);
void request_sound_timer (int count
);
void sound_stop_timer(void);
int snd_ioctl_return(int *addr
, int value
);
int sb_dsp_detect (struct address_info
*hw_config
);
long sb_dsp_init (long mem_start
, struct address_info
*hw_config
);
void sb_dsp_disable_midi(void);
int opl3_detect (int ioaddr
);
long opl3_init(long mem_start
);
long attach_sb_card(long mem_start
, struct address_info
*hw_config
);
int probe_sb(struct address_info
*hw_config
);
long attach_adlib_card(long mem_start
, struct address_info
*hw_config
);
int probe_adlib(struct address_info
*hw_config
);
long attach_pas_card(long mem_start
, struct address_info
*hw_config
);
int probe_pas(struct address_info
*hw_config
);
int pas_set_intr(int mask
);
int pas_remove_intr(int mask
);
unsigned char pas_read(int ioaddr
);
void pas_write(unsigned char data
, int ioaddr
);
void pas_pcm_interrupt(unsigned char status
, int cause
);
long pas_pcm_init(long mem_start
, struct address_info
*hw_config
);
int pas_init_mixer(void);
long pas_midi_init(long mem_start
);
void pas_midi_interrupt(void);
long attach_gus_card(long mem_start
, struct address_info
* hw_config
);
int probe_gus(struct address_info
*hw_config
);
int gus_set_midi_irq(int num
);
int gus_wave_detect(int baseaddr
);
long gus_wave_init(long mem_start
, int irq
, int dma
);
void gus_voice_irq(void);
unsigned char gus_read8 (int reg
);
void gus_write8(int reg
, unsigned char data
);
void guswave_dma_irq(void);
long gus_midi_init(long mem_start
);
void gus_midi_interrupt(int dummy
);
long attach_mpu401(long mem_start
, struct address_info
* hw_config
);
int probe_mpu401(struct address_info
*hw_config
);
void enable_opl3_mode(int left
, int right
, int both
);
void pmgr_release(int dev
);
int pmgr_read (int dev
, struct fileinfo
*file
, snd_rw_buf
* buf
, int count
);
int pmgr_write (int dev
, struct fileinfo
*file
, snd_rw_buf
* buf
, int count
);
int pmgr_access(int dev
, struct patmgr_info
*rec
);
int pmgr_inform(int dev
, int event
, unsigned long parm1
, unsigned long parm2
,
unsigned long parm3
, unsigned long parm4
);