X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Falsa%2Fprotocol.h;h=e844bc740afabed26327654f0deb0c25b5ac5bce;hb=be60a9e4a97ab68a140511afca83db1f202e7a0e;hp=61aafb384cb1e58835fac50a5c6c2f2862126aca;hpb=6944b2d02f23cf562574d3d1b37a2d698bdbde4e;p=libsigrok.git diff --git a/hardware/alsa/protocol.h b/hardware/alsa/protocol.h index 61aafb38..e844bc74 100644 --- a/hardware/alsa/protocol.h +++ b/hardware/alsa/protocol.h @@ -23,20 +23,19 @@ #ifndef LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H #define LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H +#include +#include #include "libsigrok.h" #include "libsigrok-internal.h" -#include -#include - -/* Message logging helpers with driver-specific prefix string. */ -#define DRIVER_LOG_DOMAIN "alsa: " -#define sr_log(l, s, args...) sr_log(l, DRIVER_LOG_DOMAIN s, ## args) -#define sr_spew(s, args...) sr_spew(DRIVER_LOG_DOMAIN s, ## args) -#define sr_dbg(s, args...) sr_dbg(DRIVER_LOG_DOMAIN s, ## args) -#define sr_info(s, args...) sr_info(DRIVER_LOG_DOMAIN s, ## args) -#define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) -#define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +/* Message logging helpers with subsystem-specific prefix string. */ +#define LOG_PREFIX "alsa: " +#define sr_log(l, s, args...) sr_log(l, LOG_PREFIX s, ## args) +#define sr_spew(s, args...) sr_spew(LOG_PREFIX s, ## args) +#define sr_dbg(s, args...) sr_dbg(LOG_PREFIX s, ## args) +#define sr_info(s, args...) sr_info(LOG_PREFIX s, ## args) +#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args) +#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args) /** Private, per-device-instance driver context. */ struct dev_context { @@ -44,15 +43,17 @@ struct dev_context { uint64_t limit_samples; uint64_t num_samples; uint8_t num_probes; - const char *hwdev; + uint64_t *samplerates; + char *hwdev; snd_pcm_t *capture_handle; snd_pcm_hw_params_t *hw_params; struct pollfd *ufds; void *cb_data; }; -SR_PRIV GSList *alsa_scan(GSList *options, struct sr_dev_driver *di); -SR_PRIV void alsa_dev_inst_clear(struct sr_dev_inst *sdi); +SR_PRIV GSList *alsa_scan(GSList *options, struct sr_dev_driver *di); +SR_PRIV int alsa_set_samplerate(const struct sr_dev_inst *sdi, + uint64_t newrate); SR_PRIV int alsa_receive_data(int fd, int revents, void *cb_data); -#endif /* LIBSIGROK_HARDWARE_ALSA_PROTOCOL_H */ +#endif