OSDN Git Service

b69c270337aadc9f91131ea33521dd1928b4f462
[android-x86/external-alsa-lib.git] / include / rawmidi.h
1 /****************************************************************************
2  *                                                                          *
3  *                              rawmidi.h                                   *
4  *                          RawMIDI interface                               *
5  *                                                                          *
6  ****************************************************************************/
7
8 #define SND_RAWMIDI_OPEN_OUTPUT         (O_WRONLY)
9 #define SND_RAWMIDI_OPEN_OUTPUT_APPEND  (O_WRONLY|O_APPEND|O_NONBLOCK)
10 #define SND_RAWMIDI_OPEN_INPUT          (O_RDONLY)
11 #define SND_RAWMIDI_OPEN_DUPLEX         (O_RDWR)
12 #define SND_RAWMIDI_OPEN_DUPLEX_APPEND  (O_RDWR|O_APPEND|O_NONBLOCK)
13 #define SND_RAWMIDI_OPEN_NONBLOCK       (O_NONBLOCK)
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19 typedef struct snd_rawmidi snd_rawmidi_t;
20
21 int snd_rawmidi_open(snd_rawmidi_t **handle, int card, int device, int mode);
22 int snd_rawmidi_close(snd_rawmidi_t *handle);
23 int snd_rawmidi_poll_descriptor(snd_rawmidi_t *handle);
24 int snd_rawmidi_block_mode(snd_rawmidi_t *handle, int enable);
25 int snd_rawmidi_info(snd_rawmidi_t *handle, snd_rawmidi_info_t * info);
26 int snd_rawmidi_stream_params(snd_rawmidi_t *handle, snd_rawmidi_params_t * params);
27 int snd_rawmidi_stream_setup(snd_rawmidi_t *handle, snd_rawmidi_setup_t * setup);
28 int snd_rawmidi_stream_status(snd_rawmidi_t *handle, snd_rawmidi_status_t * status);
29 int snd_rawmidi_output_drop(snd_rawmidi_t *handle);
30 int snd_rawmidi_output_drain(snd_rawmidi_t *handle);
31 int snd_rawmidi_input_drain(snd_rawmidi_t *handle);
32 int snd_rawmidi_stream_drain(snd_rawmidi_t *handle, int channel);
33 ssize_t snd_rawmidi_write(snd_rawmidi_t *handle, const void *buffer, size_t size);
34 ssize_t snd_rawmidi_read(snd_rawmidi_t *handle, void *buffer, size_t size);
35
36 #ifdef __cplusplus
37 }
38 #endif
39