18 #ifndef INCLUDED_UHD_TRANSPORT_NIRIO_NIRIO_DRIVER_IFACE_H
19 #define INCLUDED_UHD_TRANSPORT_NIRIO_NIRIO_DRIVER_IFACE_H
26 #if defined(UHD_PLATFORM_WIN32)
28 #pragma warning(disable:4201) // nonstandard extension used : nameless struct/union
30 #pragma warning(default:4201)
31 #elif !defined(UHD_PLATFORM_LINUX)
32 #include <IOKit/IOKitLib.h>
36 #ifndef UHD_PLATFORM_WIN32
37 #define CTL_CODE(a,controlCode,b,c) (controlCode)
40 namespace nirio_driver_iface {
48 FILE_READ_DATA | FILE_WRITE_DATA);
80 #if defined(UHD_PLATFORM_LINUX)
82 #elif defined(UHD_PLATFORM_WIN32)
90 #if defined(UHD_PLATFORM_LINUX)
96 bool is_null() {
return (size == 0 ||
addr == NULL); }
98 #elif defined(UHD_PLATFORM_WIN32)
104 struct rio_mmap_params_t
106 uint64_t mapped_va_ptr;
107 uint64_t map_ready_event_handle;
113 struct rio_mmap_threadargs_t
116 rio_mmap_params_t params;
124 HANDLE map_thread_handle;
125 rio_mmap_threadargs_t map_thread_args;
139 const std::string& device_path,
151 const void *write_buf,
152 size_t write_buf_len,
154 size_t read_buf_len);
158 uint16_t memory_type,