diff options
| author | Ashish Chaudhari <ashish@ettus.com> | 2015-08-14 15:34:20 -0700 | 
|---|---|---|
| committer | Ashish Chaudhari <ashish@ettus.com> | 2015-08-14 15:34:20 -0700 | 
| commit | 3deb5484eb227c268579f3b595e6ffb9d1b4b54c (patch) | |
| tree | eeed2d939be60999782fea483b21c710291b4fe3 /host/include | |
| parent | d35a0e28b6af67e4500b51c4739886f7544bca35 (diff) | |
| download | uhd-3deb5484eb227c268579f3b595e6ffb9d1b4b54c.tar.gz uhd-3deb5484eb227c268579f3b595e6ffb9d1b4b54c.tar.bz2 uhd-3deb5484eb227c268579f3b595e6ffb9d1b4b54c.zip  | |
nirio: Changes to kernel proxy to work with RIO 15.0 on linux
- Implemented IOCTL macro for linux and macosx
- Refactored v1 and v2 proxy code
Diffstat (limited to 'host/include')
| -rw-r--r-- | host/include/uhd/transport/nirio/nirio_driver_iface.h | 101 | ||||
| -rw-r--r-- | host/include/uhd/transport/nirio/niriok_proxy.h | 29 | ||||
| -rw-r--r-- | host/include/uhd/transport/nirio/niriok_proxy_impl_v1.h | 339 | ||||
| -rw-r--r-- | host/include/uhd/transport/nirio/niriok_proxy_impl_v2.h | 269 | 
4 files changed, 66 insertions, 672 deletions
diff --git a/host/include/uhd/transport/nirio/nirio_driver_iface.h b/host/include/uhd/transport/nirio/nirio_driver_iface.h index 2668c10b9..6804f6171 100644 --- a/host/include/uhd/transport/nirio/nirio_driver_iface.h +++ b/host/include/uhd/transport/nirio/nirio_driver_iface.h @@ -34,51 +34,74 @@      #endif  #elif defined(UHD_PLATFORM_MACOS)      #include <IOKit/IOKitLib.h> +#elif defined(UHD_PLATFORM_LINUX) +   #include <linux/ioctl.h>  #endif -// CTL_CODE macro for non-win OSes -#ifndef UHD_PLATFORM_WIN32 -    #define CTL_CODE(a,controlCode,b,c) (controlCode) +#if __GNUC__ +    typedef uint64_t  aligned_uint64_t __attribute__ ((aligned(8))); +#else +    typedef uint64_t  aligned_uint64_t;  #endif -namespace nirio_driver_iface { +//IOCTL Definitions + +#if defined(UHD_PLATFORM_WIN32) + +    #define IOCTL_ACCESS_ANY       (FILE_ANY_ACCESS) +    #define IOCTL_ACCESS_READ      (FILE_READ_ACCESS) +    #define IOCTL_ACCESS_WRITE     (FILE_WRITE_ACCESS) +    #define IOCTL_ACCESS_RW        (FILE_READ_ACCESS | FILE_WRITE_ACCESS) -const uint32_t NIRIO_IOCTL_BASE = 0x800; - -const uint32_t NIRIO_IOCTL_SYNCOP = -   CTL_CODE(FILE_DEVICE_UNKNOWN, -            NIRIO_IOCTL_BASE + 4, -            METHOD_OUT_DIRECT, -            FILE_READ_DATA | FILE_WRITE_DATA); -                                ///< The synchronous operation code. Note: We -                                /// must use METHOD_OUT_DIRECT on the syncOp() -                                /// IOCTL to ensure the contents of the output -                                /// block are available in the kernel. - -const uint32_t NIRIO_IOCTL_GET_IFACE_NUM = -   CTL_CODE(FILE_DEVICE_UNKNOWN, -            NIRIO_IOCTL_BASE + 6, -            METHOD_BUFFERED, -            FILE_READ_DATA);    ///< Get the interface number for a device - -const uint32_t NIRIO_IOCTL_GET_SESSION = -   CTL_CODE(FILE_DEVICE_UNKNOWN, -            NIRIO_IOCTL_BASE + 8, -            METHOD_BUFFERED, -            FILE_READ_ACCESS);  ///< Gets a previously opened session to a device - -const uint32_t NIRIO_IOCTL_POST_OPEN = -   CTL_CODE(FILE_DEVICE_UNKNOWN, -            NIRIO_IOCTL_BASE + 9, -            METHOD_BUFFERED, -            FILE_READ_ACCESS);  ///< Called after opening a session - -const uint32_t NIRIO_IOCTL_PRE_CLOSE = -   CTL_CODE(FILE_DEVICE_UNKNOWN, -            NIRIO_IOCTL_BASE + 10, -            METHOD_BUFFERED, -            FILE_READ_ACCESS);  ///< Called before closing a session +    #define IOCTL(type, function, access) \ +        CTL_CODE((0x8000+type), (0x800+function), METHOD_BUFFERED, access) + +#elif defined(UHD_PLATFORM_MACOS) + +    #define IOCTL_ACCESS_ANY       (0U) +    #define IOCTL_ACCESS_READ      (1U) +    #define IOCTL_ACCESS_WRITE     (2U) +    #define IOCTL_ACCESS_RW        (3U) + +    #define IOCTL(type, function, access) \ +        (((access   & 0x0003) << 30) | \ +         ((type     & 0x00FF) << 16) | \ +         ((function & 0xFFFF) << 0)) + +#elif defined(UHD_PLATFORM_LINUX) + +    #define IOCTL_ACCESS_ANY       (_IOC_NONE) +    #define IOCTL_ACCESS_READ      (_IOC_READ) +    #define IOCTL_ACCESS_WRITE     (_IOC_WRITE) +    #define IOCTL_ACCESS_RW        (_IOC_READ | _IOC_WRITE) + +    struct nirio_ioctl_block_t { +        aligned_uint64_t in_buf; +        aligned_uint64_t out_buf; +        uint32_t in_buf_len; +        uint32_t out_buf_len; +        uint32_t bytes_returned; +        uint32_t padding; +    }; +    #define IOCTL(type, function, access) \ +        _IOC(access, type, function, sizeof(nirio_ioctl_block_t)) + +#else + +    #define IOCTL_ACCESS_ANY       (0U) +    #define IOCTL_ACCESS_READ      (1U) +    #define IOCTL_ACCESS_WRITE     (2U) +    #define IOCTL_ACCESS_RW        (3U) + +    #define IOCTL(type, function, access) \ +        (((access   & 0x0003) << 30) | \ +         ((type     & 0x00FF) << 16) | \ +         ((function & 0xFFFF) << 0)) + +#endif + +namespace nirio_driver_iface {  //Device handle definition  #if defined(UHD_PLATFORM_LINUX) diff --git a/host/include/uhd/transport/nirio/niriok_proxy.h b/host/include/uhd/transport/nirio/niriok_proxy.h index 07bcb59b6..bb112dd8a 100644 --- a/host/include/uhd/transport/nirio/niriok_proxy.h +++ b/host/include/uhd/transport/nirio/niriok_proxy.h @@ -145,29 +145,9 @@ namespace uhd { namespace niusrprio      class UHD_API niriok_proxy : public boost::noncopyable {      public: -        struct nirio_ioctl_packet_t { -             nirio_ioctl_packet_t( -                 void* const _outBuf, -                 const uint32_t _outSize, -                 const int32_t _statusCode) -             { -                 outBuf._64BitField = 0; -                 outBuf.pointer = _outBuf; -                 outSize    = _outSize; -                 statusCode = _statusCode; -             }; - -             union { -                 void* pointer; -                 uint64_t _64BitField; -             } outBuf; - -             uint32_t outSize; -             int32_t statusCode; -         }; -      typedef boost::shared_ptr<niriok_proxy> sptr; - -      static sptr make_and_open(const std::string& interface_path); +        typedef boost::shared_ptr<niriok_proxy> sptr; + +        static sptr make_and_open(const std::string& interface_path);          niriok_proxy();          virtual ~niriok_proxy(); @@ -180,9 +160,6 @@ namespace uhd { namespace niusrprio          uint32_t get_interface_num() { return _interface_num; } -        virtual nirio_status get_cached_session( -            uint32_t& session) = 0; -          virtual nirio_status get_version(              nirio_version_t type,              uint32_t& major, diff --git a/host/include/uhd/transport/nirio/niriok_proxy_impl_v1.h b/host/include/uhd/transport/nirio/niriok_proxy_impl_v1.h index 173d43ed6..a10d1aaff 100644 --- a/host/include/uhd/transport/nirio/niriok_proxy_impl_v1.h +++ b/host/include/uhd/transport/nirio/niriok_proxy_impl_v1.h @@ -33,341 +33,8 @@ namespace uhd { namespace niusrprio        are not compatible with NI-RIO 14.0 and later.     */ -   class UHD_API niriok_proxy_impl_v1 : virtual public niriok_proxy { +    class UHD_API niriok_proxy_impl_v1 : virtual public niriok_proxy {      public: - -         // ------------------------------- -         // Function Codes: defined as integers rather than enums because they -         // are going to be carried accross boundaries so size matters - -         struct NIRIO_FUNC -         { -            static const uint32_t GET32             = 0x00000001; -            static const uint32_t SET32             = 0x00000002; -            static const uint32_t SET_DRIVER_CONFIG = 0x00000007; -            static const uint32_t FIFO              = 0x00000008; -            static const uint32_t IO                = 0x0000000A; -            static const uint32_t FIFO_STOP_ALL     = 0x0000000C; -            static const uint32_t ADD_RESOURCE      = 0x0000000D; -            static const uint32_t GET_STRING        = 0x0000000E; -            static const uint32_t SET_STRING        = 0x0000000F; -            static const uint32_t DOWNLOAD          = 0x00000013; -            static const uint32_t RESET             = 0x00000014; -         }; - -         struct NIRIO_RESOURCE -         { -            static const uint32_t INPUT_FIFO    = 0xD0000001; -            static const uint32_t OUTPUT_FIFO   = 0xD0000002; -         }; - -         struct NIRIO_FIFO -         { -            static const uint32_t CONFIGURE = 0x80000001; -            static const uint32_t START     = 0x80000002; -            static const uint32_t STOP      = 0x80000003; -            static const uint32_t READ      = 0x80000004; -            static const uint32_t WRITE     = 0x80000005; -            static const uint32_t WAIT      = 0x80000006; -            static const uint32_t GRANT     = 0x80000007; -         }; - -         struct NIRIO_IO -         { -            static const uint32_t POKE64             = 0xA0000005; -            static const uint32_t POKE32             = 0xA0000006; -            static const uint32_t POKE16             = 0xA0000007; -            static const uint32_t POKE8              = 0xA0000008; -            static const uint32_t PEEK64             = 0xA0000009; -            static const uint32_t PEEK32             = 0xA000000A; -            static const uint32_t PEEK16             = 0xA000000B; -            static const uint32_t PEEK8              = 0xA000000C; -            static const uint32_t READ_BLOCK         = 0xA000000D; -            static const uint32_t WRITE_BLOCK        = 0xA000000E; -            static const uint32_t GET_IO_WINDOW      = 0xA000000F; -            static const uint32_t GET_IO_WINDOW_SIZE = 0xA0000010; -         }; - -         struct nirio_syncop_in_params_t -         { -            uint32_t function; -            uint32_t subfunction; - -            union -            { -               struct -               { -                  uint32_t attribute; -                  uint32_t value; -               } attribute32; - -               struct -               { -                  uint32_t attribute; -                  uint64_t value; -               } attribute64; - -               struct -               { -                  uint32_t attribute; -               } attributeStr; - -               struct -               { -                  uint32_t attribute; -               } download; - -               union -               { -                  struct -                  { -                     uint32_t reserved_field_0_0_0; -                  } reserved_field_0_0; -                  struct -                  { -                     uint32_t reserved_field_0_1_0; -                     uint32_t reserved_field_0_1_1; -                  } reserved_field_0_1; -                  struct -                  { -                     uint32_t reserved_field_0_2_0; -                  } reserved_field_0_2; -               } reserved_field_0; - -               union -               { -                  struct -                  { -                     uint32_t channel; -                     uint32_t baseAddress; -                     uint32_t depthInSamples; -                     uint32_t version; -                  } fifo; -                  struct -                  { -                     uint32_t channel; -                     uint32_t baseAddress; -                     uint32_t depthInSamples; -                     uint32_t version; -                     uint32_t scalarType; -                     uint32_t bitWidth; -                  } fifoWithDataType; -                  struct -                  { -                     uint64_t rangeBaseAddress; -                     uint32_t rangeSizeInBytes; -                     uint32_t rangeAttribute; -                  } atomic; // obsolete -               } add; - -               struct -               { -                  uint32_t channel; - -                  union -                  { -                     struct -                     { -                        uint32_t requestedDepth; -                        uint8_t  requiresActuals; -                     } config; -                     struct -                     { -                        uint32_t timeout; -                     } read; -                     struct -                     { -                        uint32_t timeout; -                        uint32_t scalarType; -                        uint32_t bitWidth; -                     } readWithDataType; -                     struct -                     { -                        uint32_t timeout; -                     } write; -                     struct -                     { -                        uint32_t timeout; -                        uint32_t scalarType; -                        uint32_t bitWidth; -                     } writeWithDataType; -                     struct -                     { -                        uint32_t elementsRequested; -                        uint32_t scalarType; -                        uint32_t bitWidth; -                        uint32_t timeout; -                        uint8_t  output; -                     } wait; -                     struct -                     { -                        uint32_t elements; -                     } grant; -                  } op; -               } fifo; - -               struct -               { -                  uint64_t reserved_field_1_0; -                  uint32_t reserved_field_1_1; -                  uint32_t reserved_field_1_2; -               } reserved_field_1; // Obsolete - -               struct -               { -                  uint32_t offset; -                  union -                  { -                     uint64_t value64; -                     uint32_t value32; -                     uint16_t value16; -                     uint8_t  value8; -                  } value; -                  union -                  { -                     uint32_t   sizeToMap; -                  } memoryMappedIoWindow; -               } io; - -               struct -               { -                  uint32_t reserved_field_2_0; -                  uint32_t reserved_field_2_1; -               } reserved_field_2; - -               struct -               { -                  uint32_t reserved_field_3_0; -               } reserved_field_3; - -               union -               { -                  struct -                  { -                     uint32_t reserved_field_4_0; -                     int32_t  reserved_field_4_1; -                  } wait; -               } reserved_field_4; - -            } params; - -            uint32_t inbufByteLen; - -            union -            { -               const void* pointer; -               uint64_t    _64BitField; -            } inbuf; -         }; - -         static inline void init_syncop_in_params(nirio_syncop_in_params_t& param, const void* const buf, const uint32_t len) -         { -            param.inbuf._64BitField = 0; -            param.inbuf.pointer = buf; -            param.inbufByteLen = len; -         } - - -         struct nirio_syncop_out_params_t -         { -            union -            { -               struct -               { -                  uint32_t value; -               } attribute32; - -               struct -               { -                  uint64_t value; -               } attribute64; - -               union -               { -                  struct -                  { -                     uint32_t reserved_field_0_0; -                  } enable; -               } reserved_field_0; - -               struct -               { -                  union -                  { -                     struct -                     { -                        uint32_t actualDepth; -                        uint32_t actualSize; -                     } config; -                     struct -                     { -                        uint32_t numberRead; -                        uint32_t numberRemaining; -                     } read; -                     struct -                     { -                        uint32_t numberRemaining; -                     } write; -                     struct -                     { -                        union -                        { -                           void*    pointer; -                           uint64_t _64BitField; -                        } elements; -                     } wait; -                  } op; -               } fifo; - -               struct -               { -                 union -                  { -                     union -                     { -                        uint64_t value64; -                        uint32_t value32; -                        uint16_t value16; -                        uint8_t  value8; -                     } value; -                     union -                     { -                        void*    memoryMappedAddress; -                        uint64_t _64BitField; -                     } memoryMappedIoWindow; -                     union -                     { -                        uint32_t   size; -                     } memoryMappedIoWindowSize; -                  }; -               } io; - -               uint32_t stringLength; - -               struct -               { -                  uint32_t reserved_field_1_0; -               } reserved_field_1; - -            } params; - -            uint32_t    outbufByteLen; - -            union -            { -               void*    pointer; -               uint64_t _64BitField; -            } outbuf; -         }; - - -         static inline void init_syncop_out_params(nirio_syncop_out_params_t& param, void* buf, uint32_t len) -         { -            param.outbuf._64BitField = 0; -            param.outbuf.pointer = buf; -            param.outbufByteLen = len; -         } -          niriok_proxy_impl_v1();          virtual ~niriok_proxy_impl_v1(); @@ -377,9 +44,6 @@ namespace uhd { namespace niusrprio          virtual nirio_status reset(); -        virtual nirio_status get_cached_session( -            uint32_t& session); -          virtual nirio_status get_version(              nirio_version_t type,              uint32_t& major, @@ -477,7 +141,6 @@ namespace uhd { namespace niusrprio                  size_t writeBufferLength,                  void *readBuffer,                  size_t readBufferLength); -      };  }} diff --git a/host/include/uhd/transport/nirio/niriok_proxy_impl_v2.h b/host/include/uhd/transport/nirio/niriok_proxy_impl_v2.h index 333ab4348..c0183502a 100644 --- a/host/include/uhd/transport/nirio/niriok_proxy_impl_v2.h +++ b/host/include/uhd/transport/nirio/niriok_proxy_impl_v2.h @@ -24,12 +24,6 @@  #include <uhd/transport/nirio/nirio_quirks.h>  #include <uhd/transport/nirio/niriok_proxy.h> -#if __GNUC__ -    typedef uint64_t  tAlignedU64 __attribute__ ((aligned(8))); -#else -    typedef uint64_t  tAlignedU64;  -#endif -  namespace uhd { namespace niusrprio  {     /*  @@ -39,267 +33,8 @@ namespace uhd { namespace niusrprio        are not compatible with NI-RIO versions older than 14.0.     */ -   #define IOCTL(type, function, access) \ -      CTL_CODE((0x8000+type), (0x800+function), METHOD_BUFFERED, access) - -   #define IOCTL_ACCESS_ANY       (FILE_ANY_ACCESS) -   #define IOCTL_ACCESS_READ      (FILE_READ_ACCESS) -   #define IOCTL_ACCESS_WRITE     (FILE_WRITE_ACCESS) -   #define IOCTL_ACCESS_RW        (FILE_READ_ACCESS | FILE_WRITE_ACCESS) - -   #define IOCTL_TRANSPORT_GET32 IOCTL(0, 0, IOCTL_ACCESS_READ) -   #define IOCTL_TRANSPORT_SET32 IOCTL(0, 1, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_GET_STRING IOCTL(0, 2, IOCTL_ACCESS_READ) -   #define IOCTL_TRANSPORT_SET_STRING IOCTL(0, 3, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_RESET IOCTL(1, 1, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_ADD_INPUT_FIFO_RESOURCE IOCTL(2, 0, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_ADD_OUTPUT_FIFO_RESOURCE IOCTL(2, 1, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_SET_DEVICE_CONFIG IOCTL(2, 3, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_FIFO_CONFIG IOCTL(4, 0, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_FIFO_START IOCTL(4, 1, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_FIFO_STOP IOCTL(4, 2, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_FIFO_READ IOCTL(4, 3, IOCTL_ACCESS_READ) -   #define IOCTL_TRANSPORT_FIFO_WRITE IOCTL(4, 4, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_FIFO_WAIT IOCTL(4, 5, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_FIFO_GRANT IOCTL(4, 6, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_FIFO_STOP_ALL IOCTL(4, 7, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_PEEK64 IOCTL(5, 2, IOCTL_ACCESS_READ) -   #define IOCTL_TRANSPORT_PEEK32 IOCTL(5, 3, IOCTL_ACCESS_READ) -   #define IOCTL_TRANSPORT_POKE64 IOCTL(5, 6, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_POKE32 IOCTL(5, 7, IOCTL_ACCESS_WRITE) -   #define IOCTL_TRANSPORT_POST_OPEN IOCTL(8, 0, IOCTL_ACCESS_ANY) -   #define IOCTL_TRANSPORT_PRE_CLOSE IOCTL(8, 1, IOCTL_ACCESS_ANY) - -   typedef struct { -      nirio_scalar_type_t scalarType; -      nirio_u32_t     bitWidth; -      nirio_i32_t     integerWordLength; -   } nirio_fifo_data_type_t; -     class UHD_API niriok_proxy_impl_v2 : virtual public niriok_proxy {      public: -		typedef struct in_transport_get32 -		{ -		   nirio_device_attribute32_t attribute; -		   int32_t status; -		} in_transport_get32_t; -		typedef struct out_transport_get32 -		{ -		   uint32_t retVal__; -		   int32_t status; -		} out_transport_get32_t; -		typedef struct in_transport_set32 -		{ -		   nirio_device_attribute32_t attribute; -		   uint32_t value; -		   int32_t status; -		} in_transport_set32_t; -		typedef struct out_transport_set32 -		{ -		   int32_t status; -		} out_transport_set32_t; -		typedef struct out_transport_get_string -		{ -		   uint32_t  stringLen; -		   int32_t status; -		} out_transport_get_string_t; -		typedef struct out_transport_set_string -		{ -		   int32_t status; -		} out_transport_set_string_t; -		typedef struct in_transport_reset -		{ -		   int32_t status; -		} in_transport_reset_t; -		typedef struct out_transport_reset -		{ -		   int32_t status; -		} out_transport_reset_t; -		typedef struct in_transport_add_input_fifo_resource -		{ -		   uint32_t channel; -		   uint32_t baseAddress; -		   uint32_t depthInSamples; -		   nirio_fifo_data_type_t dataType; -		   uint32_t version; -		   int32_t status; -		} in_transport_add_input_fifo_resource_t; -		typedef struct out_transport_addInputFifo_resource -		{ -		   int32_t status; -		} out_transport_add_input_fifo_resource_t; -		typedef struct in_transport_addOutputFifo_resource -		{ -		   uint32_t channel; -		   uint32_t baseAddress; -		   uint32_t depthInSamples; -		   nirio_fifo_data_type_t dataType; -		   uint32_t version; -		   int32_t status; -		} in_transport_add_output_fifo_resource_t; -		typedef struct out_transport_addOutputFifo_resource -		{ -		   int32_t status; -		} out_transport_add_output_fifo_resource_t; -		typedef struct in_transport_setDevice_config -		{ -		   uint32_t attribute; -		   int32_t status; -		} in_transport_set_device_config_t; -		typedef struct out_transport_setDevice_config -		{ -		   int32_t status; -		} out_transport_set_device_config_t; -		typedef struct in_transport_fifo_config -		{ -		   uint32_t channel; -		   tAlignedU64 requestedDepth; -		   int32_t status; -		} in_transport_fifo_config_t; -		typedef struct out_transport_fifo_config -		{ -		   tAlignedU64  actualDepth; -		   tAlignedU64  actualSize; -		   int32_t status; -		} out_transport_fifo_config_t; -		typedef struct in_transport_fifo_start -		{ -		   uint32_t channel; -		   int32_t status; -		} in_transport_fifo_start_t; -		typedef struct out_transport_fifo_start -		{ -		   int32_t status; -		} out_transport_fifo_start_t; -		typedef struct in_transport_fifo_stop -		{ -		   uint32_t channel; -		   int32_t status; -		} in_transport_fifo_stop_t; -		typedef struct out_transport_fifo_stop -		{ -		   int32_t status; -		} out_transport_fifo_stop_t; -		typedef struct in_transport_fifo_read -		{ -		   uint32_t channel; -		   tAlignedU64 buf; -		   uint32_t numberElements; -		   nirio_fifo_data_type_t dataType; -		   uint32_t timeout; -		   int32_t status; -		} in_transport_fifo_read_t; -		typedef struct out_transport_fifo_read -		{ -		   uint32_t  read; -		   uint32_t  remaining; -		   int32_t status; -		} out_transport_fifo_read_t; -		typedef struct in_transport_fifo_write -		{ -		   uint32_t channel; -		   tAlignedU64 buf; -		   uint32_t numberElements; -		   nirio_fifo_data_type_t dataType; -		   uint32_t timeout; -		   int32_t status; -		} in_transport_fifo_write_t; -		typedef struct out_transport_fifo_write -		{ -		   uint32_t  remaining; -		   int32_t status; -		} out_transport_fifo_write_t; -		typedef struct in_transport_fifo_wait -		{ -		   uint32_t channel; -		   tAlignedU64 elementsRequested; -		   nirio_fifo_data_type_t dataType; -		   bool output; -		   uint32_t timeout; -		   int32_t status; -		} in_transport_fifo_wait_t; -		typedef struct out_transport_fifo_wait -		{ -		   tAlignedU64  elements; -		   tAlignedU64  elementsAcquired; -		   tAlignedU64  elementsRemaining; -		   int32_t status; -		} out_transport_fifo_wait_t; -		typedef struct in_transport_fifo_grant -		{ -		   uint32_t channel; -		   tAlignedU64 elements; -		   int32_t status; -		} in_transport_fifo_grant_t; -		typedef struct out_transport_fifo_grant -		{ -		   int32_t status; -		} out_transport_fifo_grant_t; -		typedef struct in_transport_fifoStop_all -		{ -		   int32_t status; -		} in_transport_fifo_stop_all_t; -		typedef struct out_transport_fifoStop_all -		{ -		   int32_t status; -		} out_transport_fifo_stop_all_t; -		typedef struct in_transport_peek64 -		{ -		   uint32_t offset; -		   int32_t status; -		} in_transport_peek64_t; -		typedef struct out_transport_peek64 -		{ -		   tAlignedU64 retVal__; -		   int32_t status; -		} out_transport_peek64_t; -		typedef struct in_transport_peek32 -		{ -		   uint32_t offset; -		   int32_t status; -		} in_transport_peek32_t; -		typedef struct out_transport_peek32 -		{ -		   uint32_t retVal__; -		   int32_t status; -		} out_transport_peek32_t; -		typedef struct in_transport_poke64 -		{ -		   uint32_t offset; -		   tAlignedU64 value; -		   int32_t status; -		} in_transport_poke64_t; -		typedef struct out_transport_poke64 -		{ -		   int32_t status; -		} out_transport_poke64_t; -		typedef struct in_transport_poke32 -		{ -		   uint32_t offset; -		   uint32_t value; -		   int32_t status; -		} in_transport_poke32_t; -		typedef struct out_transport_poke32 -		{ -		   int32_t status; -		} out_transport_poke32_t; -		typedef struct in_transport_post_open -		{ -		   int32_t status; -		} in_transport_post_open_t; -		typedef struct out_transport_post_open -		{ -		   int32_t status; -		} out_transport_post_open_t; -		typedef struct in_transport_pre_close -		{ -		   int32_t status; -		} in_transport_pre_close_t; -		typedef struct out_transport_pre_close -		{ -		   int32_t status; -		} out_transport_pre_close_t; -          niriok_proxy_impl_v2();          virtual ~niriok_proxy_impl_v2(); @@ -309,9 +44,6 @@ namespace uhd { namespace niusrprio          virtual nirio_status reset(); -        virtual nirio_status get_cached_session( -            uint32_t& session); -          virtual nirio_status get_version(              nirio_version_t type,              uint32_t& major, @@ -402,7 +134,6 @@ namespace uhd { namespace niusrprio          protected:              // protected close function that doesn't acquire synchronization lock              virtual void _close(); -      };  }}  | 
