diff options
Diffstat (limited to 'include/usrp_uhd.hpp')
-rw-r--r-- | include/usrp_uhd.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/usrp_uhd.hpp b/include/usrp_uhd.hpp new file mode 100644 index 000000000..1cbd064b7 --- /dev/null +++ b/include/usrp_uhd.hpp @@ -0,0 +1,43 @@ +// +// Copyright 2010 Ettus Research LLC +// + +#ifndef INCLUDED_USRP_UHD_HPP +#define INCLUDED_USRP_UHD_HPP + +#include <usrp_uhd/device_addr.hpp> +#include <usrp_uhd/wax.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/function.hpp> +#include <vector> +#include <sys/uio.h> + +namespace usrp_uhd{ + + class usrp_uhd{ + + public: + typedef boost::shared_ptr<usrp_uhd> sptr; + typedef boost::function<bool(void *data, size_t len)> recv_hdlr_t; + usrp_uhd(device_addr_t device_addr); + ~usrp_uhd(void); + + //the io interface + void send(const std::vector<iovec> &iovs); + void send(void* data, size_t len); //wrapper + void recv(const recv_hdlr_t &recv_hdlr); + void recv(void* &data, size_t &len); //wrapper + + //connect dsps and subdevs + void connect(const wax::type &src, const wax::type &sink); + + //the properties interface + wax::proxy props(void); + + private: + wax::type d_mboard; + }; + +} //namespace usrp_uhd + +#endif /* INCLUDED_USRP_UHD_HPP */ |