OpenScanDeviceLib
OpenScan Device Programming Interface
OpenScanDeviceLibPrivate.h
Go to the documentation of this file.
1 
8 #pragma once
9 
10 #include "OpenScanDeviceLib.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
20 #ifdef OScDevInternal_BUILDING_OPENSCANLIB
21 #define OScDevInternal_ENTRY_POINT_EXPORT
22 #else
23 #ifdef _MSC_VER
24 #define OScDevInternal_ENTRY_POINT_EXPORT __declspec(dllexport)
25 #else
26 #error Not implemented for this platform.
27 #endif
28 #endif // OScDev_IMPORT
29 
31 
36 #define OScDevInternal_ENTRY_POINT OScDev_Module_EntryPoint_v0
37 
38 // See the GCC manual under "Stringification" for an explanation of this trick
39 #define OScDevInternal_STRINGIFY_EXPANSION(s) OScDevInternal_STRINGIFY(s)
40 #define OScDevInternal_STRINGIFY(s) #s
41 
43 #define OScDevInternal_ENTRY_POINT_NAME \
44  OScDevInternal_STRINGIFY_EXPANSION(OScDevInternal_ENTRY_POINT)
45 
47 
60 uint32_t OScDevInternal_ENTRY_POINT_EXPORT OScDevInternal_ENTRY_POINT(
61  struct OScDevInternal_Interface ***devif, OScDev_ModuleImpl **impl);
62 
64 typedef uint32_t (*OScDevInternal_EntryPointPtr)(
65  struct OScDevInternal_Interface ***devif, OScDev_ModuleImpl **impl);
66  // addtogroup internal
68 
69 #ifdef __cplusplus
70 } // extern "C"
71 #endif
Public header for OpenScanDeviceLib.
#define OScDevInternal_ENTRY_POINT
Name of the device module entry point function.
uint32_t(* OScDevInternal_EntryPointPtr)(struct OScDevInternal_Interface ***devif, OScDev_ModuleImpl **impl)
Pointer to module entry point function.
Interface function table for module to call OpenScanLib.
The module implementation function table.