.TH RTLSDR 3 .SH NAME rtlsdr.lib - userspace RTL2832U and R820T2 radio driver .SH SYNOPSIS .nf #include .fi .SH DESCRIPTION The library at .B 0:/os/rtlsdr.lib drives supported Realtek RTL2832U USB receivers from userspace through the generic process-owned USB API. Supported USB product IDs are 0bda:2832 and 0bda:2838. Samples are returned as interleaved unsigned 8-bit I/Q pairs. Applications load the library with libloader, resolve the .B rtlsdr_* symbols declared in the header, enumerate devices, open one, configure it, start bulk reception, read samples, stop, and close it. Claims are exclusive and are released by the kernel if the process exits or the device disconnects. .SH API .B rtlsdr_count and .B rtlsdr_get_device_info enumerate compatible unbound USB interfaces. .B rtlsdr_open claims an interface and returns an opaque device pointer. .B rtlsdr_set_center_freq, .B rtlsdr_set_sample_rate, .B rtlsdr_set_tuner_gain_mode, .B rtlsdr_set_tuner_gain, .B rtlsdr_set_freq_correction, .B rtlsdr_set_agc_mode, and .B rtlsdr_set_direct_sampling configure the receiver. .B rtlsdr_start, .B rtlsdr_read, and .B rtlsdr_stop control non-blocking reception. .SH NOTES Syscall numbers 140 through 148 are reserved former SDR slots and are not an API. Device-specific control and tuner programming live entirely in this library.