12 #include <boost/optional.hpp> 
   14 namespace uhd { 
namespace rfnoc {
 
   36     static const uint16_t MAJOR_COMPAT;
 
   37     static const uint16_t MINOR_COMPAT;
 
   39     static const uint32_t RB_COMPAT_NUM;
 
   40     static const uint32_t RB_NUM_HB;
 
   41     static const uint32_t RB_CIC_MAX_DECIM;
 
   43     static const uint32_t SR_N_ADDR;
 
   44     static const uint32_t SR_M_ADDR;
 
   45     static const uint32_t SR_CONFIG_ADDR;
 
   46     static const uint32_t SR_FREQ_ADDR;
 
   47     static const uint32_t SR_SCALE_IQ_ADDR;
 
   48     static const uint32_t SR_DECIM_ADDR;
 
   49     static const uint32_t SR_MUX_ADDR;
 
   50     static const uint32_t SR_COEFFS_ADDR;
 
   51     static const uint32_t SR_TIME_INCR_ADDR;
 
   72     virtual 
double set_freq(const 
double freq,
 
   80     virtual 
double get_freq(const 
size_t chan) const = 0;
 
   93     virtual 
uhd::
freq_range_t get_frequency_range(const 
size_t chan) const = 0;
 
  100     virtual 
double get_input_rate(const 
size_t chan) const = 0;
 
  107     virtual 
void set_input_rate(const 
double rate, const 
size_t chan) = 0;
 
  116     virtual 
double get_output_rate(const 
size_t chan) const = 0;
 
  123     virtual 
uhd::
meta_range_t get_output_rates(const 
size_t chan) const = 0;
 
  135     virtual 
double set_output_rate(const 
double rate, const 
size_t chan) = 0;
 
  145     virtual 
void issue_stream_cmd(