18#elif defined( __APPLE__ )
20 #include <IOKit/IOKitLib.h>
21 #include <ApplicationServices/ApplicationServices.h>
22 #include <IOKit/usb/IOUSBLib.h>
27 #include <sys/ioctl.h>
33#include <CArcDeviceDllMain.h>
68 #elif defined( __APPLE__ )
81 constexpr auto INVALID_HANDLE_VALUE = IO_OBJECT_NULL;
82 constexpr auto MAX_IOCTL_IN_COUNT = 4;
83 constexpr auto MAX_IOCTL_OUT_COUNT = 2;
86 constexpr auto kARC460ClassName =
"com_arc_gen4_ARC460";
102 #define MKCMD( cmd ) ( 0x41524300 | cmd )
121 constexpr auto INVALID_HANDLE_VALUE = int( -1 );
124 constexpr auto DEVICE_DIR =
"/dev/";
125 constexpr auto DEVICE_NAME =
"Arc460";
132 #define MKCMD( cmd ) ( 0x41524300 | cmd )
150 io_service_t tService;
186 static
bool write(
arc::gen4::
arcDevHandle_t hDevice, const std::uint8_t* pBuffer, const std::uint32_t uiBufferSize, std::uint32_t* pBytesWritten =
nullptr ) noexcept;
194 static
bool read(
arc::gen4::
arcDevHandle_t hDevice, std::uint8_t* pBuffer, const std::uint32_t uiBufferSize, std::uint32_t* pBytesRead =
nullptr ) noexcept;
205 static
bool ioctl(
arc::gen4::
arcDevHandle_t hDevice, const std::uint32_t uiCommand,
void* pIn, std::uint32_t uiInSize,
void* pOut =
nullptr, std::uint32_t uiOutSize = 0 ) noexcept;
213 static
void* mmap(
arc::gen4::
arcDevHandle_t hDevice, const std::int32_t iMapCommand, const std::
size_t uiSize ) noexcept;
221 static
bool munmap(
arc::gen4::
arcDevHandle_t hDevice, const std::int32_t iMapCommand,
void* pAddress, const std::
size_t uiSize ) noexcept;
static bool open(arc::gen4::arcDevHandle_t &hDevice, const arcDev_t &tDevice, std::uint64_t uiFlags=0) noexcept
constexpr auto ARC_MAX_PATH
constexpr auto MAP_FAILED
constexpr auto ARC_CTRL_ID