OpenScanDeviceLib
OpenScan Device Programming Interface
Loading...
Searching...
No Matches
OpenScanDeviceLibPrivate.h
Go to the documentation of this file.
1
8#pragma once
9
10#include "OpenScanDeviceLib.h"
11
12#ifdef __cplusplus
13extern "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
60uint32_t OScDevInternal_ENTRY_POINT_EXPORT OScDevInternal_ENTRY_POINT(
61 struct OScDevInternal_Interface ***devif, OScDev_ModuleImpl **impl);
62
64typedef 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.