13 #include <boost/optional.hpp> 
   15 namespace uhd { 
namespace rfnoc {
 
   37     static const uint16_t MAJOR_COMPAT;
 
   38     static const uint16_t MINOR_COMPAT;
 
   40     static const uint32_t RB_COMPAT_NUM;
 
   41     static const uint32_t RB_NUM_HB;
 
   42     static const uint32_t RB_CIC_MAX_INTERP;
 
   44     static const uint32_t SR_N_ADDR;
 
   45     static const uint32_t SR_M_ADDR;
 
   46     static const uint32_t SR_CONFIG_ADDR;
 
   47     static const uint32_t SR_FREQ_ADDR;
 
   48     static const uint32_t SR_SCALE_IQ_ADDR;
 
   49     static const uint32_t SR_INTERP_ADDR;
 
   50     static const uint32_t SR_TIME_INCR_ADDR;
 
   71     virtual 
double set_freq(const 
double freq,
 
   79     virtual 
double get_freq(const 
size_t chan) const = 0;
 
   92     virtual 
uhd::
freq_range_t get_frequency_range(const 
size_t chan) const = 0;
 
   99     virtual 
double get_input_rate(const 
size_t chan) const = 0;
 
  108     virtual 
double get_output_rate(const 
size_t chan) const = 0;
 
  115     virtual 
void set_output_rate(const 
double rate, const 
size_t chan) = 0;
 
  122     virtual 
uhd::
meta_range_t get_input_rates(const 
size_t chan) const = 0;
 
  134     virtual 
double set_input_rate(const 
double rate, const 
size_t chan) = 0;