ais_msg.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728
  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 = 0x10000000,
  40. MESSAGE_REQ_AMF_RESPONSE_SAAMFREADINESSSTATESETCALLBACK = 0x20000000,
  41. MESSAGE_REQ_AMF_RESPONSE_SAAMFCOMPONENTTERMINATECALLBACK = 0x30000000,
  42. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSISETCALLBACK = 0x40000000,
  43. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSIREMOVECALLBACK = 0x50000000,
  44. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTRESTARTCALLBACK = 0x60000000,
  45. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTCONTROLCALLBACK = 0x70000000,
  46. MESSAGE_REQ_AMF_RESPONSE_SAAMFPENDINGOPERATIONCONFIRMCALLBACK = 0x80000000
  47. };
  48. #define req_amf_response_get_interface(a) (a & 0xf0000000)
  49. #define req_amf_response_get_connection(a) (a & 0x0fffffff)
  50. #define req_amf_response_set(interface,connection) (interface | connection)
  51. enum req_init_types {
  52. MESSAGE_REQ_CLM_INIT,
  53. MESSAGE_REQ_AMF_INIT,
  54. MESSAGE_REQ_CKPT_INIT,
  55. MESSAGE_REQ_CKPT_CHECKPOINT_INIT,
  56. MESSAGE_REQ_CKPT_SECTIONITERATOR_INIT
  57. };
  58. enum res_init_types {
  59. MESSAGE_RES_INIT
  60. };
  61. enum req_clm_types {
  62. MESSAGE_REQ_CLM_TRACKSTART,
  63. MESSAGE_REQ_CLM_TRACKSTOP,
  64. MESSAGE_REQ_CLM_NODEGET
  65. };
  66. enum res_clm_types {
  67. MESSAGE_RES_CLM_TRACKCALLBACK,
  68. MESSAGE_RES_CLM_NODEGET,
  69. MESSAGE_RES_CLM_NODEGETCALLBACK
  70. };
  71. enum req_amf_types {
  72. MESSAGE_REQ_AMF_ACTIVATEPOLL,
  73. MESSAGE_REQ_AMF_COMPONENTREGISTER,
  74. MESSAGE_REQ_AMF_COMPONENTUNREGISTER,
  75. MESSAGE_REQ_AMF_READINESSSTATEGET,
  76. MESSAGE_REQ_AMF_HASTATEGET,
  77. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTART,
  78. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTOP,
  79. MESSAGE_REQ_AMF_ERRORREPORT,
  80. MESSAGE_REQ_AMF_ERRORCANCELALL,
  81. MESSAGE_REQ_AMF_STOPPINGCOMPLETE,
  82. MESSAGE_REQ_AMF_RESPONSE,
  83. MESSAGE_REQ_AMF_COMPONENTCAPABILITYMODELGET
  84. };
  85. enum res_amf_types {
  86. MESSAGE_RES_AMF_ACTIVATEPOLL,
  87. MESSAGE_RES_AMF_COMPONENTREGISTER,
  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. };
  103. enum req_lib_ckpt_checkpoint_types {
  104. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTOPEN,
  105. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTOPENASYNC,
  106. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTUNLINK,
  107. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTRETENTIONDURATIONSET,
  108. MESSAGE_REQ_CKPT_CHECKPOINT_ACTIVECHECKPOINTSET,
  109. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSTATUSGET,
  110. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONCREATE,
  111. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONDELETE,
  112. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONEXPIRATIONTIMESET,
  113. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONWRITE,
  114. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONOVERWRITE,
  115. MESSAGE_REQ_CKPT_CHECKPOINT_SECTIONREAD,
  116. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZE,
  117. MESSAGE_REQ_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC
  118. };
  119. enum req_lib_ckpt_sectioniterator_types {
  120. MESSAGE_REQ_CKPT_SECTIONITERATOR_SECTIONITERATORINITIALIZE,
  121. MESSAGE_REQ_CKPT_SECTIONITERATOR_SECTIONITERATORNEXT
  122. };
  123. enum res_lib_ckpt_types {
  124. MESSAGE_RES_CKPT_CHECKPOINTOPENASYNC,
  125. MESSAGE_RES_CKPT_CHECKPOINTSYNCHRONIZEASYNC
  126. };
  127. enum res_lib_ckpt_checkpoint_types {
  128. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTOPEN,
  129. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTUNLINK,
  130. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTRETENTIONDURATIONSET,
  131. MESSAGE_RES_CKPT_CHECKPOINT_ACTIVECHECKPOINTSET,
  132. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSTATUSGET,
  133. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONCREATE,
  134. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONDELETE,
  135. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONEXPIRATIONTIMESET,
  136. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONWRITE,
  137. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONOVERWRITE,
  138. MESSAGE_RES_CKPT_CHECKPOINT_SECTIONREAD,
  139. MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZE
  140. };
  141. enum res_lib_ckpt_sectioniterator_types {
  142. MESSAGE_RES_CKPT_SECTIONITERATOR_SECTIONITERATORINITIALIZE,
  143. MESSAGE_RES_CKPT_SECTIONITERATOR_SECTIONITERATORNEXT
  144. };
  145. enum nodeexec_message_types {
  146. MESSAGE_REQ_EXEC_CLM_NODEJOIN,
  147. MESSAGE_REQ_EXEC_AMF_COMPONENTREGISTER,
  148. MESSAGE_REQ_EXEC_AMF_COMPONENTUNREGISTER,
  149. MESSAGE_REQ_EXEC_AMF_ERRORREPORT,
  150. MESSAGE_REQ_EXEC_AMF_ERRORCANCELALL,
  151. MESSAGE_REQ_EXEC_AMF_READINESSSTATESET,
  152. MESSAGE_REQ_EXEC_AMF_HASTATESET,
  153. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTOPEN,
  154. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTCLOSE,
  155. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTUNLINK,
  156. MESSAGE_REQ_EXEC_CKPT_CHECKPOINTRETENTIONDURATIONSET,
  157. MESSAGE_REQ_EXEC_CKPT_SECTIONCREATE,
  158. MESSAGE_REQ_EXEC_CKPT_SECTIONDELETE,
  159. MESSAGE_REQ_EXEC_CKPT_SECTIONEXPIRATIONTIMESET,
  160. MESSAGE_REQ_EXEC_CKPT_SECTIONWRITE,
  161. MESSAGE_REQ_EXEC_CKPT_SECTIONOVERWRITE,
  162. MESSAGE_REQ_EXEC_CKPT_SECTIONREAD
  163. };
  164. #define MESSAGE_MAGIC 0x5a6b7c8d
  165. struct message_header {
  166. int magic;
  167. int size;
  168. int id;
  169. };
  170. struct message_source {
  171. int fd;
  172. struct in_addr in_addr;
  173. };
  174. struct message_temp {
  175. struct message_header header;
  176. char message_data[0];
  177. };
  178. struct req_execauth_xmit_authkey {
  179. struct message_header header;
  180. int authModule;
  181. unsigned char random[16];
  182. };
  183. struct res_execauth_xmit_signature {
  184. struct message_header header;
  185. unsigned char signature[64];
  186. unsigned int signature_length;
  187. };
  188. struct req_execauth_connection_authorized {
  189. struct message_header header;
  190. };
  191. struct req_clm_trackstart {
  192. struct message_header header;
  193. SaUint8T trackFlags;
  194. SaClmClusterNotificationT *notificationBufferAddress;
  195. SaUint32T numberOfItems;
  196. };
  197. struct req_lib_init {
  198. struct message_header header;
  199. };
  200. struct res_lib_init {
  201. struct message_header header;
  202. SaErrorT error;
  203. };
  204. struct req_lib_amf_componentregister {
  205. struct message_header header;
  206. SaNameT compName;
  207. SaNameT proxyCompName;
  208. };
  209. struct req_exec_amf_componentregister {
  210. struct message_header header;
  211. struct message_source source;
  212. struct req_lib_amf_componentregister req_lib_amf_componentregister;
  213. };
  214. struct res_lib_amf_componentregister {
  215. struct message_header header;
  216. SaErrorT error;
  217. };
  218. struct req_lib_amf_componentunregister {
  219. struct message_header header;
  220. SaNameT compName;
  221. SaNameT proxyCompName;
  222. };
  223. struct req_exec_amf_componentunregister {
  224. struct message_header header;
  225. struct message_source source;
  226. struct req_lib_amf_componentunregister req_lib_amf_componentunregister;
  227. };
  228. struct res_lib_amf_componentunregister {
  229. struct message_header header;
  230. SaErrorT error;
  231. };
  232. struct req_amf_readinessstateget {
  233. struct message_header header;
  234. SaNameT compName;
  235. };
  236. struct res_amf_readinessstateget {
  237. struct message_header header;
  238. SaAmfReadinessStateT readinessState;
  239. SaErrorT error;
  240. };
  241. struct res_amf_healthcheckcallback {
  242. struct message_header header;
  243. int instance;
  244. SaInvocationT invocation;
  245. SaNameT compName;
  246. SaAmfHealthcheckT checkType;
  247. };
  248. struct res_amf_readinessstatesetcallback {
  249. struct message_header header;
  250. SaInvocationT invocation;
  251. SaNameT compName;
  252. SaAmfReadinessStateT readinessState;
  253. };
  254. struct req_exec_amf_readinessstateset {
  255. struct message_header header;
  256. SaNameT compName;
  257. SaAmfReadinessStateT readinessState;
  258. };
  259. struct req_exec_amf_hastateset {
  260. struct message_header header;
  261. SaNameT compName;
  262. SaAmfHAStateT haState;
  263. };
  264. struct req_exec_ckpt_checkpointclose {
  265. struct message_header header;
  266. SaNameT checkpointName;
  267. };
  268. struct req_exec_ckpt_checkpointretentiondurationset {
  269. struct message_header header;
  270. SaNameT checkpointName;
  271. SaTimeT retentionDuration;
  272. };
  273. struct res_amf_componentterminatecallback {
  274. struct message_header header;
  275. SaInvocationT invocation;
  276. SaNameT compName;
  277. };
  278. struct req_amf_hastateget {
  279. struct message_header header;
  280. SaNameT compName;
  281. SaNameT csiName;
  282. };
  283. struct res_amf_hastateget {
  284. struct message_header header;
  285. SaAmfHAStateT haState;
  286. SaErrorT error;
  287. };
  288. struct res_amf_csisetcallback {
  289. struct message_header header;
  290. SaInvocationT invocation;
  291. SaNameT compName;
  292. SaNameT csiName;
  293. SaAmfCSIFlagsT csiFlags;
  294. SaAmfHAStateT haState;
  295. SaNameT activeCompName;
  296. SaAmfCSITransitionDescriptorT transitionDescriptor;
  297. };
  298. struct res_amf_csiremovecallback {
  299. struct message_header header;
  300. SaInvocationT invocation;
  301. SaNameT compName;
  302. SaNameT csiName;
  303. SaAmfCSIFlagsT csiFlags;
  304. };
  305. struct req_amf_protectiongrouptrackstart {
  306. struct message_header header;
  307. SaNameT csiName;
  308. SaUint8T trackFlags;
  309. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  310. SaUint32T numberOfItems;
  311. };
  312. struct res_amf_protectiongrouptrackstart {
  313. struct message_header header;
  314. SaErrorT error;
  315. };
  316. struct req_amf_protectiongrouptrackstop {
  317. struct message_header header;
  318. SaNameT csiName;
  319. };
  320. struct res_amf_protectiongrouptrackstop {
  321. struct message_header header;
  322. SaErrorT error;
  323. };
  324. struct res_amf_protectiongrouptrackcallback {
  325. struct message_header header;
  326. SaNameT csiName;
  327. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  328. SaUint32T numberOfItems;
  329. SaUint32T numberOfMembers;
  330. SaUint32T error;
  331. SaAmfProtectionGroupNotificationT notificationBuffer[0];
  332. };
  333. struct req_lib_amf_errorreport {
  334. struct message_header header;
  335. SaNameT reportingComponent;
  336. SaNameT erroneousComponent;
  337. SaTimeT errorDetectionTime;
  338. SaAmfErrorDescriptorT errorDescriptor;
  339. SaAmfAdditionalDataT additionalData;
  340. };
  341. struct req_exec_amf_errorreport {
  342. struct message_header header;
  343. struct message_source source;
  344. struct req_lib_amf_errorreport req_lib_amf_errorreport;
  345. };
  346. struct res_lib_amf_errorreport {
  347. struct message_header header;
  348. SaErrorT error;
  349. };
  350. struct req_lib_amf_errorcancelall {
  351. struct message_header header;
  352. SaNameT compName;
  353. };
  354. struct req_exec_amf_errorcancelall {
  355. struct message_header header;
  356. struct message_source source;
  357. struct req_lib_amf_errorcancelall req_lib_amf_errorcancelall;
  358. };
  359. struct res_lib_amf_errorcancelall {
  360. struct message_header header;
  361. SaErrorT error;
  362. };
  363. struct req_amf_response {
  364. struct message_header header;
  365. SaInvocationT invocation;
  366. SaErrorT error;
  367. };
  368. struct req_amf_stoppingcomplete {
  369. struct message_header header;
  370. SaInvocationT invocation;
  371. SaErrorT error;
  372. };
  373. struct req_amf_componentcapabilitymodelget {
  374. struct message_header header;
  375. SaNameT compName;
  376. };
  377. struct res_amf_componentcapabilitymodelget {
  378. struct message_header header;
  379. SaAmfComponentCapabilityModelT componentCapabilityModel;
  380. SaErrorT error;
  381. };
  382. struct req_amf_activatepoll {
  383. struct message_header header;
  384. };
  385. struct res_amf_activatepoll {
  386. struct message_header header;
  387. };
  388. struct req_lib_ckpt_checkpointopen {
  389. struct message_header header;
  390. SaNameT checkpointName;
  391. SaCkptCheckpointCreationAttributesT checkpointCreationAttributes;
  392. SaCkptCheckpointOpenFlagsT checkpointOpenFlags;
  393. };
  394. struct res_lib_ckpt_checkpointopen {
  395. struct message_header header;
  396. SaErrorT error;
  397. };
  398. struct req_exec_ckpt_checkpointopen {
  399. struct message_header header;
  400. struct message_source source;
  401. struct req_lib_ckpt_checkpointopen req_lib_ckpt_checkpointopen;
  402. };
  403. struct req_lib_ckpt_checkpointopenasync {
  404. struct message_header header;
  405. SaNameT checkpointName;
  406. SaCkptCheckpointCreationAttributesT checkpointCreationAttributes;
  407. SaCkptCheckpointOpenFlagsT checkpointOpenFlags;
  408. SaInvocationT invocation;
  409. };
  410. struct res_lib_ckpt_checkpointopenasync {
  411. struct message_header header;
  412. SaCkptCheckpointHandleT checkpointHandle;
  413. SaInvocationT invocation;
  414. SaErrorT error;
  415. };
  416. struct req_lib_ckpt_checkpointclose {
  417. struct message_header header;
  418. };
  419. struct res_lib_ckpt_checkpointclose {
  420. struct message_header header;
  421. SaNameT checkpointName;
  422. };
  423. struct req_lib_ckpt_checkpointunlink {
  424. struct message_header header;
  425. SaNameT checkpointName;
  426. };
  427. struct res_lib_ckpt_checkpointunlink {
  428. struct message_header header;
  429. SaErrorT error;
  430. };
  431. struct req_exec_ckpt_checkpointunlink {
  432. struct message_header header;
  433. struct message_source source;
  434. struct req_lib_ckpt_checkpointunlink req_lib_ckpt_checkpointunlink;
  435. };
  436. struct req_lib_ckpt_checkpointretentiondurationset {
  437. struct message_header header;
  438. SaTimeT retentionDuration;
  439. };
  440. struct req_lib_ckpt_activecheckpointset {
  441. struct message_header header;
  442. };
  443. struct res_lib_ckpt_activecheckpointset {
  444. struct message_header header;
  445. SaErrorT error;
  446. };
  447. struct req_lib_ckpt_checkpointstatusget {
  448. struct message_header header;
  449. };
  450. struct res_lib_ckpt_checkpointstatusget {
  451. struct message_header header;
  452. SaCkptCheckpointStatusT checkpointStatus;
  453. };
  454. struct req_lib_ckpt_sectioncreate {
  455. struct message_header header;
  456. SaUint32T idLen;
  457. SaTimeT expirationTime;
  458. SaUint32T initialDataSize;
  459. };
  460. struct res_lib_ckpt_sectioncreate {
  461. struct message_header header;
  462. SaErrorT error;
  463. };
  464. struct req_exec_ckpt_sectioncreate {
  465. struct message_header header;
  466. struct message_source source;
  467. SaNameT checkpointName;
  468. struct req_lib_ckpt_sectioncreate req_lib_ckpt_sectioncreate; /* this must be last */
  469. };
  470. struct req_lib_ckpt_sectiondelete {
  471. struct message_header header;
  472. SaUint32T idLen;
  473. };
  474. struct res_lib_ckpt_sectiondelete {
  475. struct message_header header;
  476. SaErrorT error;
  477. };
  478. struct req_exec_ckpt_sectiondelete {
  479. struct message_header header;
  480. struct message_source source;
  481. SaNameT checkpointName;
  482. struct req_lib_ckpt_sectiondelete req_lib_ckpt_sectiondelete; /* this must be last */
  483. };
  484. struct req_lib_ckpt_sectionexpirationtimeset {
  485. struct message_header header;
  486. SaUint32T idLen;
  487. SaTimeT expirationTime;
  488. };
  489. struct res_lib_ckpt_sectionexpirationtimeset {
  490. struct message_header header;
  491. SaErrorT error;
  492. };
  493. struct req_exec_ckpt_sectionexpirationtimeset {
  494. struct message_header header;
  495. struct message_source source;
  496. SaNameT checkpointName;
  497. struct req_lib_ckpt_sectionexpirationtimeset req_lib_ckpt_sectionexpirationtimeset;
  498. };
  499. struct req_lib_ckpt_sectioniteratorinitialize {
  500. struct message_header header;
  501. SaNameT checkpointName;
  502. SaCkptSectionsChosenT sectionsChosen;
  503. SaTimeT expirationTime;
  504. };
  505. struct res_lib_ckpt_sectioniteratorinitialize {
  506. struct message_header header;
  507. SaErrorT error;
  508. };
  509. struct req_lib_ckpt_sectioniteratornext {
  510. struct message_header header;
  511. };
  512. struct res_lib_ckpt_sectioniteratornext {
  513. struct message_header header;
  514. SaCkptSectionDescriptorT sectionDescriptor;
  515. SaErrorT error;
  516. };
  517. struct req_lib_ckpt_sectionwrite {
  518. struct message_header header;
  519. SaUint32T idLen;
  520. SaOffsetT dataOffset;
  521. SaOffsetT dataSize;
  522. };
  523. struct res_lib_ckpt_sectionwrite {
  524. struct message_header header;
  525. SaErrorT error;
  526. };
  527. struct req_exec_ckpt_sectionwrite {
  528. struct message_header header;
  529. struct message_source source;
  530. SaNameT checkpointName;
  531. struct req_lib_ckpt_sectionwrite req_lib_ckpt_sectionwrite;
  532. };
  533. struct req_lib_ckpt_sectionoverwrite {
  534. struct message_header header;
  535. SaUint32T idLen;
  536. SaUint32T dataSize;
  537. };
  538. struct res_lib_ckpt_sectionoverwrite {
  539. struct message_header header;
  540. SaErrorT error;
  541. };
  542. struct req_exec_ckpt_sectionoverwrite {
  543. struct message_header header;
  544. struct message_source source;
  545. SaNameT checkpointName;
  546. struct req_lib_ckpt_sectionoverwrite req_lib_ckpt_sectionoverwrite;
  547. };
  548. struct req_lib_ckpt_sectionread {
  549. struct message_header header;
  550. SaUint32T idLen;
  551. SaOffsetT dataOffset;
  552. SaOffsetT dataSize;
  553. };
  554. struct res_lib_ckpt_sectionread {
  555. struct message_header header;
  556. SaErrorT error;
  557. SaSizeT dataRead;
  558. };
  559. struct req_exec_ckpt_sectionread {
  560. struct message_header header;
  561. struct message_source source;
  562. SaNameT checkpointName;
  563. struct req_lib_ckpt_sectionread req_lib_ckpt_sectionread;
  564. };
  565. struct req_lib_ckpt_checkpointsynchronize {
  566. struct message_header header;
  567. };
  568. struct res_lib_ckpt_checkpointsynchronize {
  569. struct message_header header;
  570. SaErrorT error;
  571. };
  572. struct req_lib_ckpt_checkpointsynchronizeasync {
  573. struct message_header header;
  574. SaInvocationT invocation;
  575. };
  576. struct req_clm_trackstop {
  577. struct message_header header;
  578. SaSizeT dataRead;
  579. SaErrorT error;
  580. };
  581. struct res_clm_trackcallback {
  582. struct message_header header;
  583. SaUint64T viewNumber;
  584. SaUint32T numberOfItems;
  585. SaUint32T numberOfMembers;
  586. SaClmClusterNotificationT *notificationBufferAddress;
  587. SaClmClusterNotificationT notificationBuffer[0];
  588. };
  589. struct req_clm_nodeget {
  590. struct message_header header;
  591. SaClmClusterNodeT *clusterNodeAddress;
  592. SaInvocationT invocation;
  593. SaClmNodeIdT nodeId;
  594. };
  595. struct res_clm_nodeget {
  596. struct message_header header;
  597. SaInvocationT invocation;
  598. SaClmClusterNodeT *clusterNodeAddress;
  599. SaClmClusterNodeT clusterNode;
  600. int valid;
  601. };
  602. struct res_clm_nodegetcallback {
  603. struct message_header header;
  604. SaInvocationT invocation;
  605. SaClmClusterNodeT *clusterNodeAddress;
  606. SaClmClusterNodeT clusterNode;
  607. int valid;
  608. };
  609. struct req_exec_clm_heartbeat {
  610. struct message_header header;
  611. };
  612. struct res_exec_clm_heartbeat {
  613. struct message_header header;
  614. };
  615. struct req_exec_clm_nodejoin {
  616. struct message_header header;
  617. SaClmClusterNodeT clusterNode;
  618. };
  619. #endif /* AIS_MSG_H_DEFINED */