mm: Hold a file reference in madvise_remove
[linux-2.6.git] / sound / oss / sound_calls.h
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, int dontblock);
8 int DMAbuf_getrdbuffer(int dev, char **buf, int *len, int dontblock);
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_move_wrpointer(int dev, int l);
12 /* int DMAbuf_ioctl(int dev, unsigned int cmd, void __user *arg, int local); */
13 void DMAbuf_init(int dev, int dma1, int dma2);
14 void DMAbuf_deinit(int dev);
15 int DMAbuf_start_dma (int dev, unsigned long physaddr, int count, int dma_mode);
16 void DMAbuf_inputintr(int dev);
17 void DMAbuf_outputintr(int dev, int underflow_flag);
18 struct dma_buffparms;
19 int DMAbuf_space_in_queue (int dev);
20 int DMAbuf_activate_recording (int dev, struct dma_buffparms *dmap);
21 int DMAbuf_get_buffer_pointer (int dev, struct dma_buffparms *dmap, int direction);
22 void DMAbuf_launch_output(int dev, struct dma_buffparms *dmap);
23 unsigned int DMAbuf_poll(struct file *file, int dev, poll_table *wait);
24 void DMAbuf_start_devices(unsigned int devmask);
25 void DMAbuf_reset (int dev);
26 int DMAbuf_sync (int dev);
27
28 /*
29  *      System calls for /dev/dsp and /dev/audio (audio.c)
30  */
31
32 int audio_read (int dev, struct file *file, char __user *buf, int count);
33 int audio_write (int dev, struct file *file, const char __user *buf, int count);
34 int audio_open (int dev, struct file *file);
35 void audio_release (int dev, struct file *file);
36 int audio_ioctl (int dev, struct file *file,
37            unsigned int cmd, void __user *arg);
38 void audio_init_devices (void);
39 void reorganize_buffers (int dev, struct dma_buffparms *dmap, int recording);
40
41 /*
42  *      System calls for the /dev/sequencer
43  */
44
45 int sequencer_read (int dev, struct file *file, char __user *buf, int count);
46 int sequencer_write (int dev, struct file *file, const char __user *buf, int count);
47 int sequencer_open (int dev, struct file *file);
48 void sequencer_release (int dev, struct file *file);
49 int sequencer_ioctl (int dev, struct file *file, unsigned int cmd, void __user *arg);
50 unsigned int sequencer_poll(int dev, struct file *file, poll_table * wait);
51
52 void sequencer_init (void);
53 void sequencer_unload (void);
54 void sequencer_timer(unsigned long dummy);
55 int note_to_freq(int note_num);
56 unsigned long compute_finetune(unsigned long base_freq, int bend, int range,
57                                int vibrato_bend);
58 void seq_input_event(unsigned char *event, int len);
59 void seq_copy_to_input (unsigned char *event, int len);
60
61 /*
62  *      System calls for the /dev/midi
63  */
64
65 int MIDIbuf_read (int dev, struct file *file, char __user *buf, int count);
66 int MIDIbuf_write (int dev, struct file *file, const char __user *buf, int count);
67 int MIDIbuf_open (int dev, struct file *file);
68 void MIDIbuf_release (int dev, struct file *file);
69 int MIDIbuf_ioctl (int dev, struct file *file, unsigned int cmd, void __user *arg);
70 unsigned int MIDIbuf_poll(int dev, struct file *file, poll_table * wait);
71 int MIDIbuf_avail(int dev);
72
73 void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count);
74
75
76 /*      From soundcard.c        */
77 void request_sound_timer (int count);
78 void sound_stop_timer(void);
79 void conf_printf(char *name, struct address_info *hw_config);
80 void conf_printf2(char *name, int base, int irq, int dma, int dma2);
81
82 /*      From sound_timer.c */
83 void sound_timer_interrupt(void);
84 void sound_timer_syncinterval(unsigned int new_usecs);
85
86 /*      From midi_synth.c       */
87 void do_midi_msg (int synthno, unsigned char *msg, int mlen);