ais_msg.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968
  1. /*
  2. * Copyright (c) 2002-2004 MontaVista Software, Inc.
  3. *
  4. * All rights reserved.
  5. *
  6. * Author: Steven Dake (sdake@mvista.com)
  7. *
  8. * This software licensed under BSD license, the text of which follows:
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions are met:
  12. *
  13. * - Redistributions of source code must retain the above copyright notice,
  14. * this list of conditions and the following disclaimer.
  15. * - Redistributions in binary form must reproduce the above copyright notice,
  16. * this list of conditions and the following disclaimer in the documentation
  17. * and/or other materials provided with the distribution.
  18. * - Neither the name of the MontaVista Software, Inc. nor the names of its
  19. * contributors may be used to endorse or promote products derived from this
  20. * software without specific prior written permission.
  21. *
  22. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  23. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  26. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  27. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  28. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  29. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  30. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  31. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  32. * THE POSSIBILITY OF SUCH DAMAGE.
  33. */
  34. #ifndef AIS_MSG_H_DEFINED
  35. #define AIS_MSG_H_DEFINED
  36. #include <netinet/in.h>
  37. #include "ais_types.h"
  38. enum req_amf_response_interfaces {
  39. MESSAGE_REQ_AMF_RESPONSE_SAAMFHEALTHCHECKCALLBACK = 1,
  40. MESSAGE_REQ_AMF_RESPONSE_SAAMFREADINESSSTATESETCALLBACK,
  41. MESSAGE_REQ_AMF_RESPONSE_SAAMFCOMPONENTTERMINATECALLBACK,
  42. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSISETCALLBACK,
  43. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSIREMOVECALLBACK,
  44. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTRESTARTCALLBACK,
  45. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTCONTROLCALLBACK,
  46. MESSAGE_REQ_AMF_RESPONSE_SAAMFPENDINGOPERATIONCONFIRMCALLBACK
  47. };
  48. enum req_init_types {
  49. MESSAGE_REQ_CLM_INIT,
  50. MESSAGE_REQ_AMF_INIT,
  51. MESSAGE_REQ_CKPT_INIT,
  52. MESSAGE_REQ_CKPT_CHECKPOINT_INIT,
  53. MESSAGE_REQ_CKPT_SECTIONITERATOR_INIT,
  54. MESSAGE_REQ_EVT_INIT
  55. };
  56. enum res_init_types {
  57. MESSAGE_RES_INIT
  58. };
  59. #define MESSAGE_REQ_LIB_ACTIVATEPOLL 0
  60. #define MESSAGE_RES_LIB_ACTIVATEPOLL 0
  61. enum req_clm_types {
  62. MESSAGE_REQ_CLM_TRACKSTART = 1,
  63. MESSAGE_REQ_CLM_TRACKSTOP,
  64. MESSAGE_REQ_CLM_NODEGET
  65. };
  66. enum res_clm_types {
  67. MESSAGE_RES_CLM_TRACKCALLBACK = 1,
  68. MESSAGE_RES_CLM_TRACKSTART,
  69. MESSAGE_RES_CLM_TRACKSTOP,
  70. MESSAGE_RES_CLM_NODEGET,
  71. MESSAGE_RES_CLM_NODEGETCALLBACK
  72. };
  73. enum req_amf_types {
  74. MESSAGE_REQ_AMF_COMPONENTREGISTER = 1,
  75. MESSAGE_REQ_AMF_COMPONENTUNREGISTER,
  76. MESSAGE_REQ_AMF_READINESSSTATEGET,
  77. MESSAGE_REQ_AMF_HASTATEGET,
  78. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTART,
  79. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTOP,
  80. MESSAGE_REQ_AMF_ERRORREPORT,
  81. MESSAGE_REQ_AMF_ERRORCANCELALL,
  82. MESSAGE_REQ_AMF_STOPPINGCOMPLETE,
  83. MESSAGE_REQ_AMF_RESPONSE,
  84. MESSAGE_REQ_AMF_COMPONENTCAPABILITYMODELGET
  85. };
  86. enum res_lib_amf_types {
  87. MESSAGE_RES_AMF_COMPONENTREGISTER = 1,
  88. MESSAGE_RES_AMF_COMPONENTUNREGISTER,
  89. MESSAGE_RES_AMF_READINESSSTATEGET,
  90. MESSAGE_RES_AMF_HASTATEGET,
  91. MESSAGE_RES_AMF_HEALTHCHECKCALLBACK,
  92. MESSAGE_RES_AMF_READINESSSTATESETCALLBACK,
  93. MESSAGE_RES_AMF_COMPONENTTERMINATECALLBACK,
  94. MESSAGE_RES_AMF_CSISETCALLBACK,
  95. MESSAGE_RES_AMF_CSIREMOVECALLBACK,
  96. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKSTART,
  97. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKCALLBACK,
  98. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKSTOP,
  99. MESSAGE_RES_AMF_COMPONENTCAPABILITYMODELGET,
  100. MESSAGE_RES_AMF_ERRORREPORT,
  101. MESSAGE_RES_AMF_ERRORCANCELALL,
  102. MESSAGE_RES_AMF_STOPPINGCOMPLETE,
  103. MESSAGE_RES_AMF_RESPONSE
  104. };
  105. enum req_lib_ckpt_checkpoint_types {
  106. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTOPEN = 1,
  107. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTOPENASYNC,
  108. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTUNLINK,
  109. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTRETENTIONDURATIONSET,
  110. MESSAGE_REQ_CKPT_CHECKPOINT_ACTIVECHECKPOINTSET,
  111. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSTATUSGET,
  112. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONCREATE,
  113. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONDELETE,
  114. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONEXPIRATIONTIMESET,
  115. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONWRITE,
  116. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONOVERWRITE,
  117. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONREAD,
  118. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZE,
  119. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC
  120. };
  121. enum req_lib_ckpt_sectioniterator_types {
  122. MESSAGE_REQ_CKPT_SECTIONITERATOR_SECTIONITERATORINITIALIZE = 1,
  123. MESSAGE_REQ_CKPT_SECTIONITERATOR_SECTIONITERATORNEXT
  124. };
  125. enum res_lib_ckpt_types {
  126. MESSAGE_RES_CKPT_CHECKPOINTOPENASYNC = 1,
  127. MESSAGE_RES_CKPT_CHECKPOINTSYNCHRONIZEASYNC
  128. };
  129. enum res_lib_ckpt_checkpoint_types {
  130. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTOPEN = 1,
  131. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTOPENASYNC,
  132. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTUNLINK,
  133. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTRETENTIONDURATIONSET,
  134. MESSAGE_RES_CKPT_CHECKPOINT_ACTIVECHECKPOINTSET,
  135. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSTATUSGET,
  136. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONCREATE,
  137. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONDELETE,
  138. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONEXPIRATIONTIMESET,
  139. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONWRITE,
  140. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONOVERWRITE,
  141. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONREAD,
  142. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZE,
  143. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC
  144. };
  145. enum res_lib_ckpt_sectioniterator_types {
  146. MESSAGE_RES_CKPT_SECTIONITERATOR_SECTIONITERATORINITIALIZE = 1,
  147. MESSAGE_RES_CKPT_SECTIONITERATOR_SECTIONITERATORNEXT
  148. };
  149. enum nodeexec_message_types {
  150. MESSAGE_REQ_EXEC_CLM_NODEJOIN,
  151. MESSAGE_REQ_EXEC_AMF_COMPONENTREGISTER,
  152. MESSAGE_REQ_EXEC_AMF_COMPONENTUNREGISTER,
  153. MESSAGE_REQ_EXEC_AMF_ERRORREPORT,
  154. MESSAGE_REQ_EXEC_AMF_ERRORCANCELALL,
  155. MESSAGE_REQ_EXEC_AMF_READINESSSTATESET,
  156. MESSAGE_REQ_EXEC_AMF_HASTATESET,
  157. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTOPEN,
  158. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTCLOSE,
  159. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTUNLINK,
  160. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTRETENTIONDURATIONSET,
  161. MESSAGE_REQ_EXEC_CKPT_SECTIONCREATE,
  162. MESSAGE_REQ_EXEC_CKPT_SECTIONDELETE,
  163. MESSAGE_REQ_EXEC_CKPT_SECTIONEXPIRATIONTIMESET,
  164. MESSAGE_REQ_EXEC_CKPT_SECTIONWRITE,
  165. MESSAGE_REQ_EXEC_CKPT_SECTIONOVERWRITE,
  166. MESSAGE_REQ_EXEC_CKPT_SECTIONREAD
  167. };
  168. enum req_evt_types {
  169. MESSAGE_REQ_EVT_OPEN_CHANNEL = 1,
  170. MESSAGE_REQ_EVT_CLOSE_CHANNEL,
  171. MESSAGE_REQ_EVT_SUBSCRIBE,
  172. MESSAGE_REQ_EVT_UNSUBSCRIBE,
  173. MESSAGE_REQ_EVT_PUBLISH,
  174. MESSAGE_REQ_EVT_CLEAR_RETENTIONTIME
  175. };
  176. enum res_evt_types {
  177. MESSAGE_RES_EVT_OPEN_CHANNEL = 1,
  178. MESSAGE_RES_EVT_CLOSE_CHANNEL,
  179. MESSAGE_RES_EVT_SUBSCRIBE,
  180. MESSAGE_RES_EVT_UNSUBSCRIBE,
  181. MESSAGE_RES_EVT_PUBLISH,
  182. MESSAGE_RES_EVT_CLEAR_RETENTIONTIME,
  183. MESSAGE_RES_EVT_CHAN_OPEN_CALLBACK,
  184. MESSAGE_RES_EVT_EVENT_DATA
  185. };
  186. struct req_header {
  187. int size;
  188. int id;
  189. };
  190. struct res_header {
  191. int size;
  192. int id;
  193. SaErrorT error;
  194. };
  195. struct message_source {
  196. struct conn_info *conn_info;
  197. struct in_addr in_addr;
  198. };
  199. struct req_execauth_xmit_authkey {
  200. struct req_header header;
  201. int authModule;
  202. unsigned char random[16];
  203. };
  204. struct res_execauth_xmit_signature {
  205. struct req_header header;
  206. unsigned char signature[64];
  207. unsigned int signature_length;
  208. };
  209. struct req_execauth_connection_authorized {
  210. struct req_header header;
  211. };
  212. struct req_clm_trackstart {
  213. struct req_header header;
  214. SaUint8T trackFlags;
  215. SaClmClusterNotificationT *notificationBufferAddress;
  216. SaUint32T numberOfItems;
  217. };
  218. struct res_clm_trackstart {
  219. struct res_header header;
  220. };
  221. struct req_lib_init {
  222. struct req_header header;
  223. };
  224. struct res_lib_init {
  225. struct res_header header;
  226. };
  227. struct req_lib_amf_componentregister {
  228. struct req_header header;
  229. SaNameT compName;
  230. SaNameT proxyCompName;
  231. };
  232. struct req_exec_amf_componentregister {
  233. struct req_header header;
  234. struct message_source source;
  235. struct req_lib_amf_componentregister req_lib_amf_componentregister;
  236. };
  237. struct res_lib_amf_componentregister {
  238. struct res_header header;
  239. };
  240. struct req_lib_amf_componentunregister {
  241. struct req_header header;
  242. SaNameT compName;
  243. SaNameT proxyCompName;
  244. };
  245. struct req_exec_amf_componentunregister {
  246. struct req_header header;
  247. struct message_source source;
  248. struct req_lib_amf_componentunregister req_lib_amf_componentunregister;
  249. };
  250. struct res_lib_amf_componentunregister {
  251. struct res_header header;
  252. };
  253. struct req_amf_readinessstateget {
  254. struct req_header header;
  255. SaNameT compName;
  256. };
  257. struct res_lib_amf_readinessstateget {
  258. struct res_header header;
  259. SaAmfReadinessStateT readinessState;
  260. };
  261. struct res_lib_amf_healthcheckcallback {
  262. struct res_header header;
  263. int instance;
  264. SaInvocationT invocation;
  265. SaNameT compName;
  266. SaAmfHealthcheckT checkType;
  267. };
  268. struct res_lib_amf_readinessstatesetcallback {
  269. struct res_header header;
  270. SaInvocationT invocation;
  271. SaNameT compName;
  272. SaAmfReadinessStateT readinessState;
  273. };
  274. struct req_exec_amf_readinessstateset {
  275. struct req_header header;
  276. SaNameT compName;
  277. SaAmfReadinessStateT readinessState;
  278. };
  279. struct req_exec_amf_hastateset {
  280. struct req_header header;
  281. SaNameT compName;
  282. SaAmfHAStateT haState;
  283. };
  284. struct req_exec_ckpt_checkpointclose {
  285. struct req_header header;
  286. SaNameT checkpointName;
  287. };
  288. struct req_exec_ckpt_checkpointretentiondurationset {
  289. struct req_header header;
  290. SaNameT checkpointName;
  291. SaTimeT retentionDuration;
  292. };
  293. struct res_lib_amf_componentterminatecallback {
  294. struct res_header header;
  295. SaInvocationT invocation;
  296. SaNameT compName;
  297. };
  298. struct req_amf_hastateget {
  299. struct req_header header;
  300. SaNameT compName;
  301. SaNameT csiName;
  302. };
  303. struct res_lib_amf_hastateget {
  304. struct res_header header;
  305. SaAmfHAStateT haState;
  306. };
  307. struct res_lib_amf_csisetcallback {
  308. struct res_header header;
  309. SaInvocationT invocation;
  310. SaNameT compName;
  311. SaNameT csiName;
  312. SaAmfCSIFlagsT csiFlags;
  313. SaAmfHAStateT haState;
  314. SaNameT activeCompName;
  315. SaAmfCSITransitionDescriptorT transitionDescriptor;
  316. };
  317. struct res_lib_amf_csiremovecallback {
  318. struct res_header header;
  319. SaInvocationT invocation;
  320. SaNameT compName;
  321. SaNameT csiName;
  322. SaAmfCSIFlagsT csiFlags;
  323. };
  324. struct req_amf_protectiongrouptrackstart {
  325. struct req_header header;
  326. SaNameT csiName;
  327. SaUint8T trackFlags;
  328. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  329. SaUint32T numberOfItems;
  330. };
  331. struct res_lib_amf_protectiongrouptrackstart {
  332. struct res_header header;
  333. };
  334. struct req_amf_protectiongrouptrackstop {
  335. struct req_header header;
  336. SaNameT csiName;
  337. };
  338. struct res_lib_amf_protectiongrouptrackstop {
  339. struct res_header header;
  340. };
  341. struct res_lib_amf_protectiongrouptrackcallback {
  342. struct res_header header;
  343. SaNameT csiName;
  344. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  345. SaUint32T numberOfItems;
  346. SaUint32T numberOfMembers;
  347. SaUint32T error;
  348. SaAmfProtectionGroupNotificationT notificationBuffer[0];
  349. };
  350. struct req_lib_amf_errorreport {
  351. struct req_header header;
  352. SaNameT reportingComponent;
  353. SaNameT erroneousComponent;
  354. SaTimeT errorDetectionTime;
  355. SaAmfErrorDescriptorT errorDescriptor;
  356. SaAmfAdditionalDataT additionalData;
  357. };
  358. struct req_exec_amf_errorreport {
  359. struct req_header header;
  360. struct message_source source;
  361. struct req_lib_amf_errorreport req_lib_amf_errorreport;
  362. };
  363. struct res_lib_amf_errorreport {
  364. struct res_header header;
  365. };
  366. struct req_lib_amf_errorcancelall {
  367. struct req_header header;
  368. SaNameT compName;
  369. };
  370. struct req_exec_amf_errorcancelall {
  371. struct req_header header;
  372. struct message_source source;
  373. struct req_lib_amf_errorcancelall req_lib_amf_errorcancelall;
  374. };
  375. struct res_lib_amf_errorcancelall {
  376. struct res_header header;
  377. };
  378. struct req_amf_response {
  379. struct req_header header;
  380. SaInvocationT invocation;
  381. SaErrorT error;
  382. };
  383. struct res_lib_amf_response {
  384. struct res_header header;
  385. };
  386. struct req_amf_stoppingcomplete {
  387. struct req_header header;
  388. SaInvocationT invocation;
  389. SaErrorT error;
  390. };
  391. struct res_lib_amf_stoppingcomplete {
  392. struct req_header header;
  393. };
  394. struct req_amf_componentcapabilitymodelget {
  395. struct req_header header;
  396. SaNameT compName;
  397. };
  398. struct res_lib_amf_componentcapabilitymodelget {
  399. struct res_header header;
  400. SaAmfComponentCapabilityModelT componentCapabilityModel;
  401. };
  402. struct req_lib_activatepoll {
  403. struct req_header header;
  404. };
  405. struct res_lib_activatepoll {
  406. struct res_header header;
  407. };
  408. struct req_lib_ckpt_checkpointopen {
  409. struct req_header header;
  410. SaNameT checkpointName;
  411. SaCkptCheckpointCreationAttributesT checkpointCreationAttributes;
  412. SaCkptCheckpointOpenFlagsT checkpointOpenFlags;
  413. };
  414. struct res_lib_ckpt_checkpointopen {
  415. struct res_header header;
  416. };
  417. struct req_exec_ckpt_checkpointopen {
  418. struct req_header header;
  419. struct message_source source;
  420. struct req_lib_ckpt_checkpointopen req_lib_ckpt_checkpointopen;
  421. };
  422. struct req_lib_ckpt_checkpointopenasync {
  423. struct req_header header;
  424. SaNameT checkpointName;
  425. SaCkptCheckpointCreationAttributesT checkpointCreationAttributes;
  426. SaCkptCheckpointOpenFlagsT checkpointOpenFlags;
  427. SaInvocationT invocation;
  428. };
  429. struct res_lib_ckpt_checkpointopenasync {
  430. struct res_header header;
  431. SaCkptCheckpointHandleT checkpointHandle;
  432. SaInvocationT invocation;
  433. };
  434. struct req_lib_ckpt_checkpointclose {
  435. struct req_header header;
  436. };
  437. struct res_lib_ckpt_checkpointclose {
  438. struct res_header header;
  439. SaNameT checkpointName;
  440. };
  441. struct req_lib_ckpt_checkpointunlink {
  442. struct req_header header;
  443. SaNameT checkpointName;
  444. };
  445. struct res_lib_ckpt_checkpointunlink {
  446. struct res_header header;
  447. };
  448. struct req_exec_ckpt_checkpointunlink {
  449. struct req_header header;
  450. struct message_source source;
  451. struct req_lib_ckpt_checkpointunlink req_lib_ckpt_checkpointunlink;
  452. };
  453. struct req_lib_ckpt_checkpointretentiondurationset {
  454. struct req_header header;
  455. SaTimeT retentionDuration;
  456. };
  457. struct res_lib_ckpt_checkpointretentiondurationset {
  458. struct res_header header;
  459. };
  460. struct req_lib_ckpt_activecheckpointset {
  461. struct req_header header;
  462. };
  463. struct res_lib_ckpt_activecheckpointset {
  464. struct res_header header;
  465. };
  466. struct req_lib_ckpt_checkpointstatusget {
  467. struct req_header header;
  468. };
  469. struct res_lib_ckpt_checkpointstatusget {
  470. struct res_header header;
  471. SaCkptCheckpointStatusT checkpointStatus;
  472. };
  473. struct req_lib_ckpt_sectioncreate {
  474. struct req_header header;
  475. SaUint32T idLen;
  476. SaTimeT expirationTime;
  477. SaUint32T initialDataSize;
  478. };
  479. struct res_lib_ckpt_sectioncreate {
  480. struct res_header header;
  481. };
  482. struct req_exec_ckpt_sectioncreate {
  483. struct req_header header;
  484. struct message_source source;
  485. SaNameT checkpointName;
  486. struct req_lib_ckpt_sectioncreate req_lib_ckpt_sectioncreate; /* this must be last */
  487. };
  488. struct req_lib_ckpt_sectiondelete {
  489. struct req_header header;
  490. SaUint32T idLen;
  491. };
  492. struct res_lib_ckpt_sectiondelete {
  493. struct res_header header;
  494. };
  495. struct req_exec_ckpt_sectiondelete {
  496. struct req_header header;
  497. struct message_source source;
  498. SaNameT checkpointName;
  499. struct req_lib_ckpt_sectiondelete req_lib_ckpt_sectiondelete; /* this must be last */
  500. };
  501. struct req_lib_ckpt_sectionexpirationtimeset {
  502. struct req_header header;
  503. SaUint32T idLen;
  504. SaTimeT expirationTime;
  505. };
  506. struct res_lib_ckpt_sectionexpirationtimeset {
  507. struct res_header header;
  508. };
  509. struct req_exec_ckpt_sectionexpirationtimeset {
  510. struct req_header header;
  511. struct message_source source;
  512. SaNameT checkpointName;
  513. struct req_lib_ckpt_sectionexpirationtimeset req_lib_ckpt_sectionexpirationtimeset;
  514. };
  515. struct req_lib_ckpt_sectioniteratorinitialize {
  516. struct req_header header;
  517. SaNameT checkpointName;
  518. SaCkptSectionsChosenT sectionsChosen;
  519. SaTimeT expirationTime;
  520. };
  521. struct res_lib_ckpt_sectioniteratorinitialize {
  522. struct res_header header;
  523. };
  524. struct req_lib_ckpt_sectioniteratornext {
  525. struct req_header header;
  526. };
  527. struct res_lib_ckpt_sectioniteratornext {
  528. struct res_header header;
  529. SaCkptSectionDescriptorT sectionDescriptor;
  530. };
  531. struct req_lib_ckpt_sectionwrite {
  532. struct req_header header;
  533. SaUint32T idLen;
  534. SaOffsetT dataOffset;
  535. SaOffsetT dataSize;
  536. };
  537. struct res_lib_ckpt_sectionwrite {
  538. struct res_header header;
  539. };
  540. struct req_exec_ckpt_sectionwrite {
  541. struct req_header header;
  542. struct message_source source;
  543. SaNameT checkpointName;
  544. struct req_lib_ckpt_sectionwrite req_lib_ckpt_sectionwrite;
  545. };
  546. struct req_lib_ckpt_sectionoverwrite {
  547. struct req_header header;
  548. SaUint32T idLen;
  549. SaUint32T dataSize;
  550. };
  551. struct res_lib_ckpt_sectionoverwrite {
  552. struct res_header header;
  553. };
  554. struct req_exec_ckpt_sectionoverwrite {
  555. struct req_header header;
  556. struct message_source source;
  557. SaNameT checkpointName;
  558. struct req_lib_ckpt_sectionoverwrite req_lib_ckpt_sectionoverwrite;
  559. };
  560. struct req_lib_ckpt_sectionread {
  561. struct req_header header;
  562. SaUint32T idLen;
  563. SaOffsetT dataOffset;
  564. SaOffsetT dataSize;
  565. };
  566. struct res_lib_ckpt_sectionread {
  567. struct res_header header;
  568. SaSizeT dataRead;
  569. };
  570. struct req_exec_ckpt_sectionread {
  571. struct req_header header;
  572. struct message_source source;
  573. SaNameT checkpointName;
  574. struct req_lib_ckpt_sectionread req_lib_ckpt_sectionread;
  575. };
  576. struct req_lib_ckpt_checkpointsynchronize {
  577. struct req_header header;
  578. };
  579. struct res_lib_ckpt_checkpointsynchronize {
  580. struct res_header header;
  581. };
  582. struct req_lib_ckpt_checkpointsynchronizeasync {
  583. struct req_header header;
  584. SaInvocationT invocation;
  585. };
  586. struct res_lib_ckpt_checkpointsynchronizeasync {
  587. struct res_header header;
  588. };
  589. struct req_clm_trackstop {
  590. struct req_header header;
  591. SaSizeT dataRead;
  592. SaErrorT error;
  593. };
  594. struct res_clm_trackstop {
  595. struct res_header header;
  596. };
  597. struct res_clm_trackcallback {
  598. struct res_header header;
  599. SaUint64T viewNumber;
  600. SaUint32T numberOfItems;
  601. SaUint32T numberOfMembers;
  602. SaClmClusterNotificationT *notificationBufferAddress;
  603. SaClmClusterNotificationT notificationBuffer[0];
  604. };
  605. struct req_clm_nodeget {
  606. struct req_header header;
  607. SaClmClusterNodeT *clusterNodeAddress;
  608. SaInvocationT invocation;
  609. SaClmNodeIdT nodeId;
  610. };
  611. struct res_clm_nodeget {
  612. struct res_header header;
  613. SaInvocationT invocation;
  614. SaClmClusterNodeT *clusterNodeAddress;
  615. SaClmClusterNodeT clusterNode;
  616. int valid;
  617. };
  618. struct res_clm_nodegetcallback {
  619. struct res_header header;
  620. SaInvocationT invocation;
  621. SaClmClusterNodeT *clusterNodeAddress;
  622. SaClmClusterNodeT clusterNode;
  623. int valid;
  624. };
  625. struct req_exec_clm_heartbeat {
  626. struct req_header header;
  627. };
  628. struct res_exec_clm_heartbeat {
  629. struct res_header header;
  630. };
  631. struct req_exec_clm_nodejoin {
  632. struct req_header header;
  633. SaClmClusterNodeT clusterNode;
  634. };
  635. /*
  636. * MESSAGE_REQ_EVT_OPEN_CHANNEL
  637. *
  638. * ico_head Request head
  639. * ico_open_flag: Channel open flags
  640. * ico_channel_name: Name of channel to open
  641. * ico_c_handle: Local lib channel handle (used in returned event data)
  642. * ico_timeout: Used only by open
  643. * ico_invocation: Used only by async open
  644. *
  645. */
  646. struct req_evt_channel_open {
  647. struct req_header ico_head;
  648. SaUint8T ico_open_flag;
  649. SaNameT ico_channel_name;
  650. SaEvtChannelHandleT ico_c_handle; /* client chan handle */
  651. SaTimeT ico_timeout; /* open only */
  652. SaInvocationT ico_invocation; /* open async only */
  653. };
  654. /*
  655. * MESSAGE_RES_EVT_OPEN_CHANNEL
  656. *
  657. *
  658. * ico_head: Results head
  659. * ico_error: Request results
  660. * ico_channel_handle: Server side channel handle (used in channel ops)
  661. *
  662. */
  663. struct res_evt_channel_open {
  664. struct res_header ico_head;
  665. uint32_t ico_channel_handle;/* svr chan handle */
  666. };
  667. /*
  668. * MESSAGE_RES_EVT_CHAN_OPEN_CALLBACK
  669. *
  670. * TODO: Define this
  671. */
  672. struct res_evt_open_chan_async {
  673. struct res_header ico_head;
  674. };
  675. /*
  676. * MESSAGE_REQ_EVT_CLOSE_CHANNEL
  677. *
  678. * icc_head: Request head
  679. * icc_channel_handle: Server handle of channel to close
  680. *
  681. */
  682. struct req_evt_channel_close {
  683. struct req_header icc_head;
  684. uint32_t icc_channel_handle;
  685. };
  686. /*
  687. * MESSAGE_RES_EVT_CLOSE_CHANNEL
  688. *
  689. * icc_head: Results head
  690. * icc_error: Request result
  691. *
  692. */
  693. struct res_evt_channel_close {
  694. struct res_header icc_head;
  695. };
  696. /*
  697. * MESSAGE_REQ_EVT_SUBSCRIBE
  698. *
  699. * ics_head: Request head
  700. * ics_channel_handle: Server handle of channel
  701. * ics_sub_id: Subscription ID
  702. * ics_filter_size: Size of supplied filter data
  703. * ics_filter_count: Number of filters supplied
  704. * ics_filter_data: Filter data
  705. *
  706. */
  707. struct req_evt_channel_subscribe {
  708. struct req_header ics_head;
  709. uint32_t ics_channel_handle;
  710. SaEvtSubscriptionIdT ics_sub_id;
  711. uint32_t ics_filter_size;
  712. uint32_t ics_filter_count;
  713. uint8_t ics_filter_data[0];
  714. };
  715. /*
  716. * MESSAGE_RES_EVT_SUBSCRIBE
  717. *
  718. * ics_head: Result head
  719. * ics_error: Request results
  720. *
  721. */
  722. struct res_evt_channel_subscribe {
  723. struct res_header ics_head;
  724. };
  725. /*
  726. * MESSAGE_REQ_EVT_UNSUBSCRIBE
  727. *
  728. * icu_head: Request head
  729. * icu_channel_handle: Server handle of channel
  730. * icu_sub_id: Subscription ID
  731. *
  732. */
  733. struct req_evt_channel_unsubscribe {
  734. struct req_header icu_head;
  735. uint32_t icu_channel_handle;
  736. SaEvtSubscriptionIdT icu_sub_id;
  737. };
  738. /*
  739. * MESSAGE_RES_EVT_UNSUBSCRIBE
  740. *
  741. * icu_head: Results head
  742. * icu_error: request result
  743. *
  744. */
  745. struct res_evt_channel_unsubscribe {
  746. struct res_header icu_head;
  747. };
  748. /*
  749. * MESSAGE_REQ_EVT_PUBLISH
  750. * MESSAGE_RES_EVT_EVENT_DATA
  751. *
  752. * led_head: Request/Results head
  753. * led_svr_channel_handle: Server channel handle (Publish only)
  754. * led_lib_channel_handle: Lib channel handle (Event Data only)
  755. * led_event_id: Event ID (Event Data only)
  756. * led_sub_id: Subscription ID (Event Data only)
  757. * led_publisher_node_id: Node ID of event publisher
  758. * led_publisher_name: Node name of event publisher
  759. * led_retention_time: Event retention time
  760. * led_publish_time: Publication time of the event
  761. * led_priority: Event priority
  762. * led_user_data_offset: Offset to user data
  763. * led_user_data_size: Size of user data
  764. * led_patterns_number: Number of patterns in the event
  765. * led_body: Pattern and user data
  766. */
  767. struct lib_event_data {
  768. struct req_header led_head;
  769. uint32_t led_svr_channel_handle;
  770. uint32_t led_lib_channel_handle;
  771. SaEvtEventIdT led_event_id;
  772. SaEvtSubscriptionIdT led_sub_id;
  773. SaClmNodeIdT led_publisher_node_id;
  774. SaNameT led_publisher_name;
  775. SaTimeT led_retention_time;
  776. SaTimeT led_publish_time;
  777. SaEvtEventPriorityT led_priority;
  778. uint32_t led_user_data_offset;
  779. uint32_t led_user_data_size;
  780. uint32_t led_patterns_number;
  781. uint8_t led_body[0];
  782. };
  783. /*
  784. * MESSAGE_RES_EVT_PUBLISH
  785. *
  786. * iep_head: Result head
  787. * iep_error: Request results
  788. * iep_event_id: Event ID of published message
  789. *
  790. */
  791. struct res_evt_event_publish {
  792. struct res_header iep_head;
  793. SaEvtEventIdT iep_event_id;
  794. };
  795. /*
  796. * MESSAGE_REQ_EVT_CLEAR_RETENTIONTIME
  797. *
  798. * Request message:
  799. *
  800. * iec_head: Request head
  801. * iec_event_id: ID of event to clear
  802. * iec_channel_handle: Server handle of associate channel
  803. *
  804. */
  805. struct req_evt_event_clear_retentiontime {
  806. struct req_header iec_head;
  807. uint64_t iec_event_id;
  808. uint32_t iec_channel_handle;
  809. };
  810. /*
  811. * MESSAGE_RES_EVT_CLEAR_RETENTIONTIME
  812. *
  813. * iec_head: Results head
  814. * iec_error: Request result
  815. *
  816. */
  817. struct res_evt_event_clear_retentiontime {
  818. struct res_header iec_head;
  819. };
  820. #endif /* AIS_MSG_H_DEFINED */