]> rtime.felk.cvut.cz Git - orte.git/blob - orte/contrib/pharlap/ortedll.h
Reformat the sources with orte/uncrustify script
[orte.git] / orte / contrib / pharlap / ortedll.h
1 /*\r
2         ortedll.h\r
3 \r
4         Historie zmen:\r
5                 2005-08-23      vytvoril        Milan\r
6 */\r
7 \r
8 #pragma once\r
9 \r
10 #include <windows.h>\r
11 #include <orte.h>\r
12 \r
13 #ifdef __cplusplus\r
14 extern "C" {\r
15 #endif\r
16 \r
17 typedef void (*PFN_ORTEInit)(void);\r
18 \r
19 typedef void (*PFN_ORTEDomainStart)(ORTEDomain, Boolean, Boolean, Boolean,\r
20                                     Boolean, Boolean);\r
21 \r
22 typedef Boolean (*PFN_ORTEDomainPropDefaultGet)(ORTEDomainProp *);\r
23 \r
24 typedef Boolean (*PFN_ORTEDomainInitEvents)(ORTEDomainAppEvents *);\r
25 \r
26 typedef ORTEDomain * (*PFN_ORTEDomainAppCreate)(int, ORTEDomainProp *,\r
27                                                 ORTEDomainAppEvents *, Boolean suspended);\r
28 \r
29 typedef Boolean (*PFN_ORTEDomainAppDestroy)(ORTEDomain *);\r
30 \r
31 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternAdd)(ORTEDomain *,\r
32                                                            const char *, const char *, ORTESubscriptionPatternCallBack,\r
33                                                            void *);\r
34 \r
35 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternRemove)(ORTEDomain *,\r
36                                                               const char *, const char *);\r
37 \r
38 typedef Boolean (*PFN_ORTEDomainAppSubscriptionPatternDestroy)(ORTEDomain *);\r
39 \r
40 typedef ORTEDomain * (*PFN_ORTEDomainMgrCreate)(int, ORTEDomainProp *,\r
41                                                 ORTEDomainAppEvents *, Boolean);\r
42 \r
43 typedef Boolean (*PFN_ORTEDomainMgrDestroy)(ORTEDomain *);\r
44 \r
45 typedef ORTEPublication * (*PFN_ORTEPublicationCreate)(ORTEDomain *,\r
46                                                        const char *, const char *, void *, NtpTime *, int,\r
47                                                        ORTESendCallBack, void *, NtpTime *);\r
48 \r
49 typedef int (*PFN_ORTEPublicationDestroy)(ORTEPublication *);\r
50 \r
51 typedef int (*PFN_ORTEPublicationPropertiesGet)(ORTEPublication *,\r
52                                                 ORTEPublProp *);\r
53 \r
54 typedef int (*PFN_ORTEPublicationPropertiesSet)(ORTEPublication *,\r
55                                                 ORTEPublProp *);\r
56 \r
57 typedef int (*PFN_ORTEPublicationWaitForSubscriptions)(\r
58   ORTEPublication *, NtpTime, unsigned int, unsigned int);\r
59 \r
60 typedef int (*PFN_ORTEPublicationGetStatus)(ORTEPublication *,\r
61                                             ORTEPublStatus *);\r
62 \r
63 typedef int (*PFN_ORTEPublicationSend)(ORTEPublication *);\r
64 \r
65 typedef int (*PFN_ORTEPublicationSendEx)(ORTEPublication *,\r
66                                          ORTEPublicationSendParam *);\r
67 \r
68 typedef ORTESubscription * (*PFN_ORTESubscriptionCreate)(ORTEDomain *,\r
69                                                          SubscriptionMode, SubscriptionType, const char *, const char *,\r
70                                                          void *, NtpTime *, NtpTime *, ORTERecvCallBack, void *,\r
71                                                          IPAddress);\r
72 \r
73 typedef int (*PFN_ORTESubscriptionDestroy)(ORTESubscription *);\r
74 \r
75 typedef int (*PFN_ORTESubscriptionPropertiesGet)(ORTESubscription *,\r
76                                                  ORTESubsProp *);\r
77 \r
78 typedef int (*PFN_ORTESubscriptionPropertiesSet)(ORTESubscription *,\r
79                                                  ORTESubsProp *);\r
80 \r
81 typedef int (*PFN_ORTESubscriptionWaitForPublications)(ORTESubscription *,\r
82                                                        NtpTime, unsigned int, unsigned int);\r
83 \r
84 typedef int (*PFN_ORTESubscriptionGetStatus)(ORTESubscription *,\r
85                                              ORTESubsStatus *);\r
86 \r
87 typedef int (*PFN_ORTESubscriptionPull)(ORTESubscription *);\r
88 \r
89 typedef int (*PFN_ORTETypeRegisterAdd)(ORTEDomain *, const char *,\r
90                                        ORTETypeSerialize, ORTETypeDeserialize, ORTETypeGetMaxSize,\r
91                                        unsigned int);\r
92 \r
93 typedef int (*PFN_ORTETypeRegisterDestroyAll)(ORTEDomain *);\r
94 \r
95 typedef void (*PFN_ORTEVerbositySetOptions)(const char *);\r
96 \r
97 typedef void (*PFN_ORTEVerbositySetLogFile)(const char *);\r
98 \r
99 typedef void (*PFN_ORTESleepMs)(unsigned int);\r
100 \r
101 typedef char * (*PFN_IPAddressToString)(IPAddress, char *);\r
102 \r
103 typedef IPAddress (*PFN_StringToIPAddress)(const char *);\r
104 \r
105 typedef char * (*PFN_NtpTimeToStringMs)(NtpTime, char *);\r
106 \r
107 typedef char * (*PFN_NtpTimeToStringUs)(NtpTime, char *);\r
108 \r
109 #define __ORTE_API_ENTRY(symbol)        PFN_ ## symbol    pfn ## symbol;\r
110 #define __ORTE_API_DECL(symbol)         __orte.apis.pfn ## symbol\r
111 \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
148 };\r
149 \r
150 struct __ORTE_DLL {\r
151   HINSTANCE hInstance;\r
152   DWORD dwResult;\r
153   LONG cLoads;\r
154   int fLoadTried;\r
155   struct __ORTE_APIS apis;\r
156 };\r
157 \r
158 extern struct __ORTE_DLL __orte;\r
159 \r
160 DWORD\r
161 __ORTEDllLoad(void);\r
162 DWORD\r
163 __ORTEInit(void);\r
164 \r
165 #define ORTEInit()                              __ORTEInit()\r
166 #define ORTEDomainStart                         __ORTE_API_DECL(ORTEDomainStart)\r
167 #define ORTEDomainPropDefaultGet                __ORTE_API_DECL(ORTEDomainPropDefaultGet)\r
168 #define ORTEDomainInitEvents                    __ORTE_API_DECL(ORTEDomainInitEvents)\r
169 #define ORTEDomainAppCreate                     __ORTE_API_DECL(ORTEDomainAppCreate)\r
170 #define ORTEDomainAppDestroy                    __ORTE_API_DECL(ORTEDomainAppDestroy)\r
171 #define ORTEDomainAppSubscriptionPatternAdd     __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternAdd)\r
172 #define ORTEDomainAppSubscriptionPatternRemove  __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternRemove)\r
173 #define ORTEDomainAppSubscriptionPatternDestroy __ORTE_API_DECL(ORTEDomainAppSubscriptionPatternDestroy)\r
174 #define ORTEDomainMgrCreate                     __ORTE_API_DECL(ORTEDomainMgrCreate)\r
175 #define ORTEDomainMgrDestroy                    __ORTE_API_DECL(ORTEDomainMgrDestroy)\r
176 #define ORTEPublicationCreate                   __ORTE_API_DECL(ORTEPublicationCreate)\r
177 #define ORTEPublicationDestroy                  __ORTE_API_DECL(ORTEPublicationDestroy)\r
178 #define ORTEPublicationPropertiesGet            __ORTE_API_DECL(ORTEPublicationPropertiesGet)\r
179 #define ORTEPublicationPropertiesSet            __ORTE_API_DECL(ORTEPublicationPropertiesSet)\r
180 #define ORTEPublicationWaitForSubscriptions     __ORTE_API_DECL(ORTEPublicationWaitForSubscriptions)\r
181 #define ORTEPublicationGetStatus                __ORTE_API_DECL(ORTEPublicationGetStatus)\r
182 #define ORTEPublicationSend                     __ORTE_API_DECL(ORTEPublicationSend)\r
183 #define ORTEPublicationSendEx                   __ORTE_API_DECL(ORTEPublicationSendEx)\r
184 #define ORTESubscriptionCreate                  __ORTE_API_DECL(ORTESubscriptionCreate)\r
185 #define ORTESubscriptionDestroy                 __ORTE_API_DECL(ORTESubscriptionDestroy)\r
186 #define ORTESubscriptionPropertiesGet           __ORTE_API_DECL(ORTESubscriptionPropertiesGet)\r
187 #define ORTESubscriptionPropertiesSet           __ORTE_API_DECL(ORTESubscriptionPropertiesSet)\r
188 #define ORTESubscriptionWaitForPublications     __ORTE_API_DECL(ORTESubscriptionWaitForPublications)\r
189 #define ORTESubscriptionGetStatus               __ORTE_API_DECL(ORTESubscriptionGetStatus)\r
190 #define ORTESubscriptionPull                    __ORTE_API_DECL(ORTESubscriptionPull)\r
191 #define ORTETypeRegisterAdd                     __ORTE_API_DECL(ORTETypeRegisterAdd)\r
192 #define ORTETypeRegisterDestroyAll              __ORTE_API_DECL(ORTETypeRegisterDestroyAll)\r
193 #define ORTEVerbositySetOptions                 __ORTE_API_DECL(ORTEVerbositySetOptions)\r
194 #define ORTEVerbositySetLogFile                 __ORTE_API_DECL(ORTEVerbositySetLogFile)\r
195 #define ORTESleepMs                             __ORTE_API_DECL(ORTESleepMs)\r
196 #define IPAddressToString                       __ORTE_API_DECL(IPAddressToString)\r
197 #define StringToIPAddress                       __ORTE_API_DECL(StringToIPAddress)\r
198 #define NtpTimeToStringMs                       __ORTE_API_DECL(NtpTimeToStringMs)\r
199 #define NtpTimeToStringUs                       __ORTE_API_DECL(NtpTimeToStringUs)\r
200 \r
201 #ifdef __cplusplus\r
202 }\r
203 #endif\r