ais_evt.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /*
  2. * Copyright (c) 2004 Mark Haverkamp
  3. * Copyright (c) 2004 Open Source Development Lab
  4. *
  5. * All rights reserved.
  6. *
  7. * This software licensed under BSD license, the text of which follows:
  8. *
  9. * Redistribution and use in source and binary forms, with or without
  10. * modification, are permitted provided that the following conditions are met:
  11. *
  12. * - Redistributions of source code must retain the above copyright notice,
  13. * this list of conditions and the following disclaimer.
  14. * - Redistributions in binary form must reproduce the above copyright notice,
  15. * this list of conditions and the following disclaimer in the documentation
  16. * and/or other materials provided with the distribution.
  17. * - Neither the name of the MontaVista Software, Inc. nor the names of its
  18. * contributors may be used to endorse or promote products derived from this
  19. * software without specific prior written permission.
  20. *
  21. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  25. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  26. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  27. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  28. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  29. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  30. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  31. * THE POSSIBILITY OF SUCH DAMAGE.
  32. */
  33. #include "ais_types.h"
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. SaErrorT
  38. saEvtInitialize(
  39. SaEvtHandleT *evtHandle,
  40. const SaEvtCallbacksT *callbacks,
  41. SaVersionT *version);
  42. SaErrorT
  43. saEvtSelectionObjectGet(
  44. SaEvtHandleT evtHandle,
  45. SaSelectionObjectT *selectionObject);
  46. SaErrorT
  47. saEvtDispatch(
  48. SaEvtHandleT evtHandle,
  49. SaDispatchFlagsT dispatchFlags);
  50. SaErrorT
  51. saEvtFinalize(
  52. SaEvtHandleT evtHandle);
  53. SaErrorT
  54. saEvtChannelOpen(
  55. SaEvtHandleT evtHandle,
  56. const SaNameT *channelName,
  57. SaEvtChannelOpenFlagsT channelOpenFlags,
  58. SaTimeT timeout,
  59. SaEvtChannelHandleT *channelHandle);
  60. SaErrorT
  61. saEvtChannelOpenAsync(
  62. SaEvtHandleT evtHandle,
  63. SaInvocationT invocation,
  64. const SaNameT *channelName,
  65. SaEvtChannelOpenFlagsT channelOpenFlags);
  66. SaErrorT
  67. saEvtChannelClose(
  68. SaEvtChannelHandleT channelHandle);
  69. SaErrorT
  70. saEvtChannelUnlink(
  71. SaEvtHandleT evtHandle,
  72. const SaNameT *channelName);
  73. SaErrorT
  74. saEvtEventAllocate(
  75. SaEvtChannelHandleT channelHandle,
  76. SaEvtEventHandleT *eventHandle);
  77. SaErrorT
  78. saEvtEventFree(
  79. SaEvtEventHandleT eventHandle);
  80. SaErrorT
  81. saEvtEventAttributesSet(
  82. SaEvtEventHandleT eventHandle,
  83. const SaEvtEventPatternArrayT *patternArray,
  84. SaEvtEventPriorityT priority,
  85. SaTimeT retentionTime,
  86. const SaNameT *publisherName);
  87. SaErrorT
  88. saEvtEventAttributesGet(
  89. SaEvtEventHandleT eventHandle,
  90. SaEvtEventPatternArrayT *patternArray,
  91. SaEvtEventPriorityT *priority,
  92. SaTimeT *retentionTime,
  93. SaNameT *publisherName,
  94. SaTimeT *publishTime,
  95. SaEvtEventIdT *eventId);
  96. SaErrorT
  97. saEvtEventDataGet(
  98. SaEvtEventHandleT eventHandle,
  99. void *eventData,
  100. SaSizeT *eventDataSize);
  101. SaErrorT
  102. saEvtEventPublish(
  103. SaEvtEventHandleT eventHandle,
  104. const void *eventData,
  105. SaSizeT eventDataSize,
  106. SaEvtEventIdT *eventId);
  107. SaErrorT
  108. saEvtEventSubscribe(
  109. SaEvtChannelHandleT channelHandle,
  110. const SaEvtEventFilterArrayT *filters,
  111. SaEvtSubscriptionIdT subscriptionId);
  112. SaErrorT
  113. saEvtEventUnsubscribe(
  114. SaEvtChannelHandleT channelHandle,
  115. SaEvtSubscriptionIdT subscriptionId);
  116. SaErrorT
  117. saEvtEventRetentionTimeClear(
  118. SaEvtChannelHandleT channelHandle,
  119. SaEvtEventIdT eventId);
  120. #ifdef __cplusplus
  121. }
  122. #endif