IxNpeMhSend_p.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /**
  2. * @file IxNpeMhSend_p.h
  3. *
  4. * @author Intel Corporation
  5. * @date 18 Jan 2002
  6. *
  7. * @brief This file contains the private API for the Send module.
  8. *
  9. *
  10. * @par
  11. * IXP400 SW Release version 2.0
  12. *
  13. * -- Copyright Notice --
  14. *
  15. * @par
  16. * Copyright 2001-2005, Intel Corporation.
  17. * All rights reserved.
  18. *
  19. * @par
  20. * Redistribution and use in source and binary forms, with or without
  21. * modification, are permitted provided that the following conditions
  22. * are met:
  23. * 1. Redistributions of source code must retain the above copyright
  24. * notice, this list of conditions and the following disclaimer.
  25. * 2. Redistributions in binary form must reproduce the above copyright
  26. * notice, this list of conditions and the following disclaimer in the
  27. * documentation and/or other materials provided with the distribution.
  28. * 3. Neither the name of the Intel Corporation nor the names of its contributors
  29. * may be used to endorse or promote products derived from this software
  30. * without specific prior written permission.
  31. *
  32. * @par
  33. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
  34. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  36. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
  37. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  39. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  41. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  42. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  43. * SUCH DAMAGE.
  44. *
  45. * @par
  46. * -- End of Copyright Notice --
  47. */
  48. /**
  49. * @defgroup IxNpeMhSend_p IxNpeMhSend_p
  50. *
  51. * @brief The private API for the Send module.
  52. *
  53. * @{
  54. */
  55. #ifndef IXNPEMHSEND_P_H
  56. #define IXNPEMHSEND_P_H
  57. #include "IxNpeMh.h"
  58. #include "IxOsalTypes.h"
  59. /*
  60. * #defines for function return types, etc.
  61. */
  62. /*
  63. * Prototypes for interface functions.
  64. */
  65. /**
  66. * @fn IX_STATUS ixNpeMhSendMessageSend (
  67. IxNpeMhNpeId npeId,
  68. IxNpeMhMessage message,
  69. UINT32 maxSendRetries)
  70. *
  71. * @brief This function writes a message to the specified NPE's inFIFO,
  72. * and must be used when the message being sent does not solicit a response
  73. * from the NPE. This function will return TIMEOUT status if NPE hang / halt.
  74. *
  75. * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to send the message
  76. * to.
  77. * @param IxNpeMhMessage message (in) - The message to send.
  78. * @param UINT32 maxSendRetries (in) - Max num. of retries to perform
  79. * if the NPE's inFIFO is full.
  80. *
  81. * @return The function returns a status indicating success, failure or timeout.
  82. */
  83. IX_STATUS ixNpeMhSendMessageSend (
  84. IxNpeMhNpeId npeId,
  85. IxNpeMhMessage message,
  86. UINT32 maxSendRetries);
  87. /**
  88. * @fn IX_STATUS ixNpeMhSendMessageWithResponseSend (
  89. IxNpeMhNpeId npeId,
  90. IxNpeMhMessage message,
  91. IxNpeMhMessageId solicitedMessageId,
  92. IxNpeMhCallback solicitedCallback,
  93. UINT32 maxSendRetries)
  94. *
  95. * @brief This function writes a message to the specified NPE's inFIFO,
  96. * and must be used when the message being sent solicits a response from
  97. * the NPE. The ID of the solicited response must be specified so that it
  98. * can be recognised, and a callback provided to pass the response back to
  99. * the client. This function will return TIMEOUT status if NPE hang / halt.
  100. *
  101. * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to send the message
  102. * to.
  103. * @param IxNpeMhMessage message (in) - The message to send.
  104. * @param IxNpeMhMessageId solicitedMessageId (in) - The ID of the
  105. * solicited response.
  106. * @param IxNpeMhCallback solicitedCallback (in) - The callback to pass the
  107. * solicited response back to the client.
  108. * @param UINT32 maxSendRetries (in) - Max num. of retries to perform
  109. * if the NPE's inFIFO is full.
  110. *
  111. * @return The function returns a status indicating success, failure or timeout.
  112. */
  113. IX_STATUS ixNpeMhSendMessageWithResponseSend (
  114. IxNpeMhNpeId npeId,
  115. IxNpeMhMessage message,
  116. IxNpeMhMessageId solicitedMessageId,
  117. IxNpeMhCallback solicitedCallback,
  118. UINT32 maxSendRetries);
  119. /**
  120. * @fn void ixNpeMhSendShow (
  121. IxNpeMhNpeId npeId)
  122. *
  123. * @brief This function will display the current state of the Send module.
  124. *
  125. * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to display state
  126. * information for.
  127. *
  128. * @return No return value.
  129. */
  130. void ixNpeMhSendShow (
  131. IxNpeMhNpeId npeId);
  132. /**
  133. * @fn void ixNpeMhSendShowReset (
  134. IxNpeMhNpeId npeId)
  135. *
  136. * @brief This function will reset the current state of the Send module.
  137. *
  138. * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to reset state
  139. * information for.
  140. *
  141. * @return No return value.
  142. */
  143. void ixNpeMhSendShowReset (
  144. IxNpeMhNpeId npeId);
  145. #endif /* IXNPEMHSEND_P_H */
  146. /**
  147. * @} defgroup IxNpeMhSend_p
  148. */