5 2005-08-23 vytvoril Milan
\r
10 #include <windows.h>
\r
17 typedef void (*PFN_ORTEInit)(void);
\r
19 typedef void (*PFN_ORTEDomainStart)(ORTEDomain, Boolean, Boolean, Boolean,
\r
22 typedef Boolean (*PFN_ORTEDomainPropDefaultGet)(ORTEDomainProp *);
\r
24 typedef Boolean (*PFN_ORTEDomainInitEvents)(ORTEDomainAppEvents *);
\r
26 typedef ORTEDomain* (*PFN_ORTEDomainAppCreate)(int, ORTEDomainProp *,
\r
27 ORTEDomainAppEvents *, Boolean suspended);
\r
29 typedef Boolean (*PFN_ORTEDomainAppDestroy)(ORTEDomain *);
\r
31 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternAdd)(ORTEDomain *,
\r
32 const char *, const char *, ORTESubscriptionPatternCallBack,
\r
35 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternRemove)(ORTEDomain *,
\r
36 const char *, const char *);
\r
38 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternDestroy)(ORTEDomain *);
\r
40 typedef ORTEDomain* (*PFN_ORTEDomainMgrCreate)(int, ORTEDomainProp *,
\r
41 ORTEDomainAppEvents *, Boolean);
\r
43 typedef Boolean (*PFN_ORTEDomainMgrDestroy)(ORTEDomain *);
\r
45 typedef ORTEPublication* (*PFN_ORTEPublicationCreate)(ORTEDomain *,
\r
46 const char *, const char *, void *, NtpTime *, int,
\r
47 ORTESendCallBack, void *, NtpTime *);
\r
49 typedef int (*PFN_ORTEPublicationDestroy)(ORTEPublication *);
\r
51 typedef int (*PFN_ORTEPublicationPropertiesGet)(ORTEPublication *,
\r
54 typedef int (*PFN_ORTEPublicationPropertiesSet)(ORTEPublication *,
\r
57 typedef int (*PFN_ORTEPublicationWaitForSubscriptions)(
\r
58 ORTEPublication *, NtpTime, unsigned int, unsigned int);
\r
60 typedef int (*PFN_ORTEPublicationGetStatus)(ORTEPublication *,
\r
63 typedef int (*PFN_ORTEPublicationSend)(ORTEPublication *);
\r
65 typedef int (*PFN_ORTEPublicationSendEx)(ORTEPublication *,
\r
66 ORTEPublicationSendParam *);
\r
68 typedef ORTESubscription* (*PFN_ORTESubscriptionCreate)(ORTEDomain *,
\r
69 SubscriptionMode, SubscriptionType, const char *, const char *,
\r
70 void *, NtpTime *, NtpTime *, ORTERecvCallBack, void *,
\r
73 typedef int (*PFN_ORTESubscriptionDestroy)(ORTESubscription *);
\r
75 typedef int (*PFN_ORTESubscriptionPropertiesGet)(ORTESubscription *,
\r
78 typedef int (*PFN_ORTESubscriptionPropertiesSet)(ORTESubscription *,
\r
81 typedef int (*PFN_ORTESubscriptionWaitForPublications)(ORTESubscription *,
\r
82 NtpTime, unsigned int,unsigned int);
\r
84 typedef int (*PFN_ORTESubscriptionGetStatus)(ORTESubscription *,
\r
87 typedef int (*PFN_ORTESubscriptionPull)(ORTESubscription *);
\r
89 typedef int (*PFN_ORTETypeRegisterAdd)(ORTEDomain *, const char *,
\r
90 ORTETypeSerialize, ORTETypeDeserialize, ORTETypeGetMaxSize,
\r
93 typedef int (*PFN_ORTETypeRegisterDestroyAll)(ORTEDomain *);
\r
95 typedef void (*PFN_ORTEVerbositySetOptions)(const char *);
\r
97 typedef void (*PFN_ORTEVerbositySetLogFile)(const char *);
\r
99 typedef void (*PFN_ORTESleepMs)(unsigned int);
\r
101 typedef char* (*PFN_IPAddressToString)(IPAddress, char *);
\r
103 typedef IPAddress (*PFN_StringToIPAddress)(const char *);
\r
105 typedef char* (*PFN_NtpTimeToStringMs)(NtpTime, char *);
\r
107 typedef char* (*PFN_NtpTimeToStringUs)(NtpTime, char *);
\r
109 #define __ORTE_API_ENTRY(symbol) PFN_##symbol pfn##symbol;
\r
110 #define __ORTE_API_DECL(symbol) __orte.apis.pfn##symbol
\r
112 struct __ORTE_APIS {
\r
113 __ORTE_API_ENTRY(ORTEInit)
\r
114 __ORTE_API_ENTRY(ORTEDomainStart)
\r
115 __ORTE_API_ENTRY(ORTEDomainPropDefaultGet)
\r
116 __ORTE_API_ENTRY(ORTEDomainInitEvents)
\r
117 __ORTE_API_ENTRY(ORTEDomainAppCreate)
\r
118 __ORTE_API_ENTRY(ORTEDomainAppDestroy)
\r
119 __ORTE_API_ENTRY(ORTEDomainAppSubscriptionPatternAdd)
\r
120 __ORTE_API_ENTRY(ORTEDomainAppSubscriptionPatternRemove)
\r
121 __ORTE_API_ENTRY(ORTEDomainAppSubscriptionPatternDestroy)
\r
122 __ORTE_API_ENTRY(ORTEDomainMgrCreate)
\r
123 __ORTE_API_ENTRY(ORTEDomainMgrDestroy)
\r
124 __ORTE_API_ENTRY(ORTEPublicationCreate)
\r
125 __ORTE_API_ENTRY(ORTEPublicationDestroy)
\r
126 __ORTE_API_ENTRY(ORTEPublicationPropertiesGet)
\r
127 __ORTE_API_ENTRY(ORTEPublicationPropertiesSet)
\r
128 __ORTE_API_ENTRY(ORTEPublicationWaitForSubscriptions)
\r
129 __ORTE_API_ENTRY(ORTEPublicationGetStatus)
\r
130 __ORTE_API_ENTRY(ORTEPublicationSend)
\r
131 __ORTE_API_ENTRY(ORTEPublicationSendEx)
\r
132 __ORTE_API_ENTRY(ORTESubscriptionCreate)
\r
133 __ORTE_API_ENTRY(ORTESubscriptionDestroy)
\r
134 __ORTE_API_ENTRY(ORTESubscriptionPropertiesGet)
\r
135 __ORTE_API_ENTRY(ORTESubscriptionPropertiesSet)
\r
136 __ORTE_API_ENTRY(ORTESubscriptionWaitForPublications)
\r
137 __ORTE_API_ENTRY(ORTESubscriptionGetStatus)
\r
138 __ORTE_API_ENTRY(ORTESubscriptionPull)
\r
139 __ORTE_API_ENTRY(ORTETypeRegisterAdd)
\r
140 __ORTE_API_ENTRY(ORTETypeRegisterDestroyAll)
\r
141 __ORTE_API_ENTRY(ORTEVerbositySetOptions)
\r
142 __ORTE_API_ENTRY(ORTEVerbositySetLogFile)
\r
143 __ORTE_API_ENTRY(ORTESleepMs)
\r
144 __ORTE_API_ENTRY(IPAddressToString)
\r
145 __ORTE_API_ENTRY(StringToIPAddress)
\r
146 __ORTE_API_ENTRY(NtpTimeToStringMs)
\r
147 __ORTE_API_ENTRY(NtpTimeToStringUs)
\r
150 struct __ORTE_DLL {
\r
151 HINSTANCE hInstance;
\r
155 struct __ORTE_APIS apis;
\r
158 extern struct __ORTE_DLL __orte;
\r
160 DWORD __ORTEDllLoad(void);
\r
161 DWORD __ORTEInit(void);
\r
163 #define ORTEInit() __ORTEInit()
\r
164 #define ORTEDomainStart __ORTE_API_DECL(ORTEDomainStart)
\r
165 #define ORTEDomainPropDefaultGet __ORTE_API_DECL(ORTEDomainPropDefaultGet)
\r
166 #define ORTEDomainInitEvents __ORTE_API_DECL(ORTEDomainInitEvents)
\r
167 #define ORTEDomainAppCreate __ORTE_API_DECL(ORTEDomainAppCreate)
\r
168 #define ORTEDomainAppDestroy __ORTE_API_DECL(ORTEDomainAppDestroy)
\r
169 #define ORTEDomainAppSubscriptionPatternAdd __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternAdd)
\r
170 #define ORTEDomainAppSubscriptionPatternRemove __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternRemove)
\r
171 #define ORTEDomainAppSubscriptionPatternDestroy __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternDestroy)
\r
172 #define ORTEDomainMgrCreate __ORTE_API_DECL(ORTEDomainMgrCreate)
\r
173 #define ORTEDomainMgrDestroy __ORTE_API_DECL(ORTEDomainMgrDestroy)
\r
174 #define ORTEPublicationCreate __ORTE_API_DECL(ORTEPublicationCreate)
\r
175 #define ORTEPublicationDestroy __ORTE_API_DECL(ORTEPublicationDestroy)
\r
176 #define ORTEPublicationPropertiesGet __ORTE_API_DECL(ORTEPublicationPropertiesGet)
\r
177 #define ORTEPublicationPropertiesSet __ORTE_API_DECL(ORTEPublicationPropertiesSet)
\r
178 #define ORTEPublicationWaitForSubscriptions __ORTE_API_DECL(ORTEPublicationWaitForSubscriptions)
\r
179 #define ORTEPublicationGetStatus __ORTE_API_DECL(ORTEPublicationGetStatus)
\r
180 #define ORTEPublicationSend __ORTE_API_DECL(ORTEPublicationSend)
\r
181 #define ORTEPublicationSendEx __ORTE_API_DECL(ORTEPublicationSendEx)
\r
182 #define ORTESubscriptionCreate __ORTE_API_DECL(ORTESubscriptionCreate)
\r
183 #define ORTESubscriptionDestroy __ORTE_API_DECL(ORTESubscriptionDestroy)
\r
184 #define ORTESubscriptionPropertiesGet __ORTE_API_DECL(ORTESubscriptionPropertiesGet)
\r
185 #define ORTESubscriptionPropertiesSet __ORTE_API_DECL(ORTESubscriptionPropertiesSet)
\r
186 #define ORTESubscriptionWaitForPublications __ORTE_API_DECL(ORTESubscriptionWaitForPublications)
\r
187 #define ORTESubscriptionGetStatus __ORTE_API_DECL(ORTESubscriptionGetStatus)
\r
188 #define ORTESubscriptionPull __ORTE_API_DECL(ORTESubscriptionPull)
\r
189 #define ORTETypeRegisterAdd __ORTE_API_DECL(ORTETypeRegisterAdd)
\r
190 #define ORTETypeRegisterDestroyAll __ORTE_API_DECL(ORTETypeRegisterDestroyAll)
\r
191 #define ORTEVerbositySetOptions __ORTE_API_DECL(ORTEVerbositySetOptions)
\r
192 #define ORTEVerbositySetLogFile __ORTE_API_DECL(ORTEVerbositySetLogFile)
\r
193 #define ORTESleepMs __ORTE_API_DECL(ORTESleepMs)
\r
194 #define IPAddressToString __ORTE_API_DECL(IPAddressToString)
\r
195 #define StringToIPAddress __ORTE_API_DECL(StringToIPAddress)
\r
196 #define NtpTimeToStringMs __ORTE_API_DECL(NtpTimeToStringMs)
\r
197 #define NtpTimeToStringUs __ORTE_API_DECL(NtpTimeToStringUs)
\r