#ifndef __NEODEVICE_H_ #define __NEODEVICE_H_ #include #include "icsneo/device/devicetype.h" #ifdef __cplusplus // A forward declaration is needed as there is a circular dependency namespace icsneo { class Device; class FoundDevice; } typedef icsneo::Device* devicehandle_t; #else typedef void* devicehandle_t; #endif typedef int32_t neodevice_handle_t; #pragma pack(push, 1) #ifdef __cplusplus typedef struct neodevice_t { neodevice_t(); neodevice_t(const icsneo::FoundDevice& found, devicetype_t inType); #else typedef struct { #endif devicehandle_t device; // Pointer back to the C++ device object neodevice_handle_t handle; // Handle for use by the underlying driver devicetype_t type; char serial[7]; } neodevice_t; #pragma pack(pop) #endif