#define SND_HWDEP_OPEN_DUPLEX (O_RDWR)
#define SND_HWDEP_OPEN_NONBLOCK (O_NONBLOCK)
+typedef struct _snd_hwdep snd_hwdep_t;
+
#ifdef __cplusplus
extern "C" {
#endif
-typedef struct _snd_hwdep snd_hwdep_t;
-
int snd_hwdep_open(snd_hwdep_t **handle, int card, int device, int mode);
int snd_hwdep_close(snd_hwdep_t *handle);
int snd_hwdep_poll_descriptor(snd_hwdep_t *handle);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
typedef struct _snd_input snd_input_t;
typedef enum _snd_input_type {
SND_INPUT_BUFFER,
} snd_input_type_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+
int snd_input_stdio_open(snd_input_t **inputp, const char *file);
int snd_input_stdio_attach(snd_input_t **inputp, FILE *fp, int close);
int snd_input_buffer_open(snd_input_t **inputp, const char *buffer, int size);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
typedef struct _snd_output snd_output_t;
typedef enum _snd_output_type {
SND_OUTPUT_BUFFER,
} snd_output_type_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+
int snd_output_stdio_open(snd_output_t **outputp, const char *file);
int snd_output_stdio_attach(snd_output_t **outputp, FILE *fp, int close);
int snd_output_buffer_open(snd_output_t **outputp);
* *
****************************************************************************/
+typedef struct snd_midi_event snd_midi_event_t;
+
#ifdef __cplusplus
extern "C" {
#endif
-typedef struct snd_midi_event snd_midi_event_t;
-
int snd_midi_event_new(int bufsize, snd_midi_event_t **rdev);
int snd_midi_event_resize_buffer(snd_midi_event_t *dev, int bufsize);
void snd_midi_event_free(snd_midi_event_t *dev);