summaryrefslogtreecommitdiffstats
path: root/driver.h
blob: 0eee0ed93ea8ef8ca663793173d93c569b147c62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef foodriverhfoo
#define foodriverhfoo

#include "sydney.h"

int device_open(sa_device_t *dev);
int device_destroy(sa_device_t *dev);
int device_start_thread(sa_device_t *dev, sa_event_callback_t *callback);

int device_change_device(sa_device_t *dev, const char *device_name);
int device_change_input_volume(sa_device_t *dev, const int vol[]);
int device_change_output_volume(sa_device_t *dev, const int vol[]);
int device_change_rate(sa_device_t *dev, unsigned rate);
int device_change_meta_data(sa_device_t *dev, const char *name, const void *data, size_t size);

int device_get_state(sa_device_t *dev, sa_state_t *state);
int device_get_position(sa_device_t *dev, sa_position_t position, int64_t *pos);
int device_pread(sa_device_t *dev, void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
int device_pwrite(sa_device_t *dev, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
int device_pread_ni(sa_device_t *dev, unsigned channel, void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
int device_pwrite_ni(sa_device_t *dev, unsigned channel, const void *data, size_t nbytes, int64_t offset, sa_seek_t whence);
int device_get_read_size(sa_device_t *dev, size_t *size);
int device_get_write_size(sa_device_t *dev, size_t *size);
int device_resume(sa_device_t *dev);
int device_pause(sa_device_t *dev);
int device_drain(sa_device_t *dev);

#endif