22 namespace uhd { 
namespace usrp {
 
   55     typedef std::shared_ptr<dboard_iface> 
sptr;
 
   74     enum aux_adc_t { AUX_ADC_A = int(
'a'), AUX_ADC_B = int(
'b') };
 
   86     virtual special_props_t get_special_props(
void) = 0;
 
   95     virtual void write_aux_dac(unit_t unit, aux_dac_t which_dac, 
double value) = 0;
 
  104     virtual double read_aux_adc(unit_t unit, aux_adc_t which_adc) = 0;
 
  113     virtual void set_pin_ctrl(unit_t unit, uint32_t value, uint32_t 
mask = 0xffff) = 0;
 
  121     virtual uint32_t get_pin_ctrl(unit_t unit) = 0;
 
  131     virtual void set_atr_reg(
 
  132         unit_t unit, atr_reg_t reg, uint32_t value, uint32_t 
mask = 0xffff) = 0;
 
  141     virtual uint32_t get_atr_reg(unit_t unit, atr_reg_t reg) = 0;
 
  150     virtual void set_gpio_ddr(unit_t unit, uint32_t value, uint32_t 
mask = 0xffff) = 0;
 
  158     virtual uint32_t get_gpio_ddr(unit_t unit) = 0;
 
  167     virtual void set_gpio_out(unit_t unit, uint32_t value, uint32_t 
mask = 0xffff) = 0;
 
  175     virtual uint32_t get_gpio_out(unit_t unit) = 0;
 
  183     virtual uint32_t read_gpio(unit_t unit) = 0;
 
  193     virtual void write_spi(
 
  194         unit_t unit, 
const spi_config_t& config, uint32_t data, 
size_t num_bits) = 0;
 
  205     virtual uint32_t read_write_spi(
 
  206         unit_t unit, 
const spi_config_t& config, uint32_t data, 
size_t num_bits) = 0;
 
  214     virtual void set_clock_rate(unit_t unit, 
double rate) = 0;
 
  222     virtual double get_clock_rate(unit_t unit) = 0;
 
  230     virtual std::vector<double> get_clock_rates(unit_t unit) = 0;
 
  238     virtual void set_clock_enabled(unit_t unit, 
bool enb) = 0;
 
  247     virtual double get_codec_rate(unit_t unit) = 0;
 
  256     virtual void set_fe_connection(unit_t unit,
 
  257         const std::string& fe_name,
 
  283     virtual void sleep(
const std::chrono::nanoseconds& time);