28 #include <rtl-sdr_export.h>
32 RTLSDR_API uint32_t rtlsdr_get_device_count(
void);
34 RTLSDR_API
const char* rtlsdr_get_device_name(uint32_t index);
47 RTLSDR_API
int rtlsdr_get_device_usb_strings(uint32_t index,
61 RTLSDR_API
int rtlsdr_get_index_by_serial(
const char *serial);
63 RTLSDR_API
int rtlsdr_open(
rtlsdr_dev_t **dev, uint32_t index);
83 RTLSDR_API
int rtlsdr_set_xtal_freq(
rtlsdr_dev_t *dev, uint32_t rtl_freq,
96 RTLSDR_API
int rtlsdr_get_xtal_freq(
rtlsdr_dev_t *dev, uint32_t *rtl_freq,
97 uint32_t *tuner_freq);
110 RTLSDR_API
int rtlsdr_get_usb_strings(
rtlsdr_dev_t *dev,
char *manufact,
111 char *product,
char *serial);
126 RTLSDR_API
int rtlsdr_write_eeprom(
rtlsdr_dev_t *dev, uint8_t *data,
127 uint8_t offset, uint16_t len);
142 RTLSDR_API
int rtlsdr_read_eeprom(
rtlsdr_dev_t *dev, uint8_t *data,
143 uint8_t offset, uint16_t len);
145 RTLSDR_API
int rtlsdr_set_center_freq(
rtlsdr_dev_t *dev, uint32_t freq);
153 RTLSDR_API uint32_t rtlsdr_get_center_freq(
rtlsdr_dev_t *dev);
162 RTLSDR_API
int rtlsdr_set_freq_correction(
rtlsdr_dev_t *dev,
int ppm);
170 RTLSDR_API
int rtlsdr_get_freq_correction(
rtlsdr_dev_t *dev);
173 RTLSDR_TUNER_UNKNOWN = 0,
187 RTLSDR_API
enum rtlsdr_tuner rtlsdr_get_tuner_type(
rtlsdr_dev_t *dev);
199 RTLSDR_API
int rtlsdr_get_tuner_gains(
rtlsdr_dev_t *dev,
int *gains);
215 RTLSDR_API
int rtlsdr_set_tuner_gain(
rtlsdr_dev_t *dev,
int gain);
223 RTLSDR_API
int rtlsdr_get_tuner_gain(
rtlsdr_dev_t *dev);
233 RTLSDR_API
int rtlsdr_set_tuner_if_gain(
rtlsdr_dev_t *dev,
int stage,
int gain);
243 RTLSDR_API
int rtlsdr_set_tuner_gain_mode(
rtlsdr_dev_t *dev,
int manual);
246 RTLSDR_API
int rtlsdr_set_sample_rate(
rtlsdr_dev_t *dev, uint32_t rate);
254 RTLSDR_API uint32_t rtlsdr_get_sample_rate(
rtlsdr_dev_t *dev);
264 RTLSDR_API
int rtlsdr_set_testmode(
rtlsdr_dev_t *dev,
int on);
273 RTLSDR_API
int rtlsdr_set_agc_mode(
rtlsdr_dev_t *dev,
int on);
285 RTLSDR_API
int rtlsdr_set_direct_sampling(
rtlsdr_dev_t *dev,
int on);
294 RTLSDR_API
int rtlsdr_get_direct_sampling(
rtlsdr_dev_t *dev);
304 RTLSDR_API
int rtlsdr_set_offset_tuning(
rtlsdr_dev_t *dev,
int on);
312 RTLSDR_API
int rtlsdr_get_offset_tuning(
rtlsdr_dev_t *dev);
318 RTLSDR_API
int rtlsdr_read_sync(
rtlsdr_dev_t *dev,
void *buf,
int len,
int *n_read);
320 typedef void(*rtlsdr_read_async_cb_t)(
unsigned char *buf, uint32_t len,
void *ctx);
333 RTLSDR_API
int rtlsdr_wait_async(
rtlsdr_dev_t *dev, rtlsdr_read_async_cb_t cb,
void *ctx);
349 rtlsdr_read_async_cb_t cb,