ipc_amf.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  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_IPC_AMF_H_DEFINED
  35. #define AIS_IPC_AMF_H_DEFINED
  36. #include <netinet/in.h>
  37. #include "ipc_gen.h"
  38. #include "saAis.h"
  39. #include "ais_amf.h"
  40. enum req_amf_response_interfaces {
  41. MESSAGE_REQ_AMF_RESPONSE_SAAMFHEALTHCHECKCALLBACK = 1,
  42. MESSAGE_REQ_AMF_RESPONSE_SAAMFREADINESSSTATESETCALLBACK,
  43. MESSAGE_REQ_AMF_RESPONSE_SAAMFCOMPONENTTERMINATECALLBACK,
  44. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSISETCALLBACK,
  45. MESSAGE_REQ_AMF_RESPONSE_SAAMFCSIREMOVECALLBACK,
  46. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTRESTARTCALLBACK,
  47. MESSAGE_REQ_AMF_RESPONSE_SAAMFEXTERNALCOMPONENTCONTROLCALLBACK,
  48. MESSAGE_REQ_AMF_RESPONSE_SAAMFPENDINGOPERATIONCONFIRMCALLBACK
  49. };
  50. enum req_amf_types {
  51. MESSAGE_REQ_AMF_COMPONENTREGISTER = 0,
  52. MESSAGE_REQ_AMF_COMPONENTUNREGISTER,
  53. MESSAGE_REQ_AMF_READINESSSTATEGET,
  54. MESSAGE_REQ_AMF_HASTATEGET,
  55. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTART,
  56. MESSAGE_REQ_AMF_PROTECTIONGROUPTRACKSTOP,
  57. MESSAGE_REQ_AMF_ERRORREPORT,
  58. MESSAGE_REQ_AMF_ERRORCANCELALL,
  59. MESSAGE_REQ_AMF_STOPPINGCOMPLETE,
  60. MESSAGE_REQ_AMF_RESPONSE,
  61. MESSAGE_REQ_AMF_COMPONENTCAPABILITYMODELGET
  62. };
  63. enum res_lib_amf_types {
  64. MESSAGE_RES_AMF_COMPONENTREGISTER = 0,
  65. MESSAGE_RES_AMF_COMPONENTUNREGISTER,
  66. MESSAGE_RES_AMF_READINESSSTATEGET,
  67. MESSAGE_RES_AMF_HASTATEGET,
  68. MESSAGE_RES_AMF_HEALTHCHECKCALLBACK,
  69. MESSAGE_RES_AMF_READINESSSTATESETCALLBACK,
  70. MESSAGE_RES_AMF_COMPONENTTERMINATECALLBACK,
  71. MESSAGE_RES_AMF_CSISETCALLBACK,
  72. MESSAGE_RES_AMF_CSIREMOVECALLBACK,
  73. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKSTART,
  74. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKCALLBACK,
  75. MESSAGE_RES_AMF_PROTECTIONGROUPTRACKSTOP,
  76. MESSAGE_RES_AMF_COMPONENTCAPABILITYMODELGET,
  77. MESSAGE_RES_AMF_ERRORREPORT,
  78. MESSAGE_RES_AMF_ERRORCANCELALL,
  79. MESSAGE_RES_AMF_STOPPINGCOMPLETE,
  80. MESSAGE_RES_AMF_RESPONSE
  81. };
  82. struct req_lib_amf_componentregister {
  83. struct req_header header;
  84. SaNameT compName;
  85. SaNameT proxyCompName;
  86. } __attribute__((packed));
  87. struct res_lib_amf_componentregister {
  88. struct res_header header;
  89. };
  90. struct req_lib_amf_componentunregister {
  91. struct req_header header;
  92. SaNameT compName;
  93. SaNameT proxyCompName;
  94. };
  95. struct res_lib_amf_componentunregister {
  96. struct res_header header;
  97. };
  98. struct req_amf_readinessstateget {
  99. struct req_header header;
  100. SaNameT compName;
  101. };
  102. struct res_lib_amf_readinessstateget {
  103. struct res_header header;
  104. SaAmfReadinessStateT readinessState;
  105. };
  106. struct res_lib_amf_healthcheckcallback {
  107. struct res_header header;
  108. int instance;
  109. SaInvocationT invocation;
  110. SaNameT compName;
  111. SaAmfHealthcheckT checkType;
  112. };
  113. struct res_lib_amf_readinessstatesetcallback {
  114. struct res_header header;
  115. SaInvocationT invocation;
  116. SaNameT compName;
  117. SaAmfReadinessStateT readinessState;
  118. };
  119. struct res_lib_amf_componentterminatecallback {
  120. struct res_header header;
  121. SaInvocationT invocation;
  122. SaNameT compName;
  123. };
  124. struct req_amf_hastateget {
  125. struct req_header header;
  126. SaNameT compName;
  127. SaNameT csiName;
  128. };
  129. struct res_lib_amf_hastateget {
  130. struct res_header header;
  131. SaAmfHAStateT haState;
  132. };
  133. struct res_lib_amf_csisetcallback {
  134. struct res_header header;
  135. SaInvocationT invocation;
  136. SaNameT compName;
  137. SaNameT csiName;
  138. SaAmfCSIFlagsT csiFlags;
  139. SaAmfHAStateT haState;
  140. SaNameT activeCompName;
  141. SaAmfCSITransitionDescriptorT transitionDescriptor;
  142. };
  143. struct res_lib_amf_csiremovecallback {
  144. struct res_header header;
  145. SaInvocationT invocation;
  146. SaNameT compName;
  147. SaNameT csiName;
  148. SaAmfCSIFlagsT csiFlags;
  149. };
  150. struct req_amf_protectiongrouptrackstart {
  151. struct req_header header;
  152. SaNameT csiName;
  153. SaUint8T trackFlags;
  154. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  155. SaUint32T numberOfItems;
  156. };
  157. struct res_lib_amf_protectiongrouptrackstart {
  158. struct res_header header;
  159. };
  160. struct req_amf_protectiongrouptrackstop {
  161. struct req_header header;
  162. SaNameT csiName;
  163. };
  164. struct res_lib_amf_protectiongrouptrackstop {
  165. struct res_header header;
  166. };
  167. struct res_lib_amf_protectiongrouptrackcallback {
  168. struct res_header header;
  169. SaNameT csiName;
  170. SaAmfProtectionGroupNotificationT *notificationBufferAddress;
  171. SaUint32T numberOfItems;
  172. SaUint32T numberOfMembers;
  173. SaUint32T error;
  174. SaAmfProtectionGroupNotificationT notificationBuffer[0];
  175. };
  176. struct req_lib_amf_errorreport {
  177. struct req_header header;
  178. SaNameT reportingComponent;
  179. SaNameT erroneousComponent;
  180. SaTimeT errorDetectionTime;
  181. SaAmfErrorDescriptorT errorDescriptor;
  182. SaAmfAdditionalDataT additionalData;
  183. };
  184. struct res_lib_amf_errorreport {
  185. struct res_header header;
  186. };
  187. struct req_lib_amf_errorcancelall {
  188. struct req_header header;
  189. SaNameT compName;
  190. };
  191. struct res_lib_amf_errorcancelall {
  192. struct res_header header;
  193. };
  194. struct req_amf_response {
  195. struct req_header header;
  196. SaInvocationT invocation;
  197. SaErrorT error;
  198. };
  199. struct res_lib_amf_response {
  200. struct res_header header;
  201. };
  202. struct req_amf_stoppingcomplete {
  203. struct req_header header;
  204. SaInvocationT invocation;
  205. SaErrorT error;
  206. };
  207. struct res_lib_amf_stoppingcomplete {
  208. struct res_header header;
  209. };
  210. struct req_amf_componentcapabilitymodelget {
  211. struct req_header header;
  212. SaNameT compName;
  213. };
  214. struct res_lib_amf_componentcapabilitymodelget {
  215. struct res_header header;
  216. SaAmfComponentCapabilityModelT componentCapabilityModel;
  217. };
  218. #endif /* AIS_IPC_AMF_H_DEFINED */