blob: b094fd99cbb81329f11ac3ff3ec8d3c84b77a598 [file] [log] [blame]
Wolfgang Denkba94a1b2006-05-30 15:56:48 +02001/**
2 * @file IxNpeMhSolicitedCbMgr_p.h
3 *
4 * @author Intel Corporation
5 * @date 18 Jan 2002
6 *
7 * @brief This file contains the private API for the Solicited Callback
8 * Manager module.
9 *
10 *
11 * @par
12 * IXP400 SW Release version 2.0
13 *
14 * -- Copyright Notice --
15 *
16 * @par
17 * Copyright 2001-2005, Intel Corporation.
18 * All rights reserved.
19 *
20 * @par
Wolfgang Denkcb3761e2013-07-28 22:12:47 +020021 * SPDX-License-Identifier: BSD-3-Clause
Wolfgang Denkba94a1b2006-05-30 15:56:48 +020022 * @par
23 * -- End of Copyright Notice --
24*/
25
26/**
27 * @defgroup IxNpeMhSolicitedCbMgr_p IxNpeMhSolicitedCbMgr_p
28 *
29 * @brief The private API for the Solicited Callback Manager module.
30 *
31 * @{
32 */
33
34#ifndef IXNPEMHSOLICITEDCBMGR_P_H
35#define IXNPEMHSOLICITEDCBMGR_P_H
36
37#include "IxNpeMh.h"
38#include "IxOsalTypes.h"
39
40/*
41 * #defines for function return types, etc.
42 */
43
44/** Maximum number of solicited callbacks that can be stored in the list */
45#define IX_NPEMH_MAX_CALLBACKS (16)
46
47/*
48 * Prototypes for interface functions.
49 */
50
51/**
52 * @fn void ixNpeMhSolicitedCbMgrInitialize (void)
53 *
54 * @brief This function initializes the Solicited Callback Manager module,
55 * setting up a callback data structure for each NPE.
56 *
57 * @return No return value.
58 */
59
60void ixNpeMhSolicitedCbMgrInitialize (void);
61
62/**
63 * @fn IX_STATUS ixNpeMhSolicitedCbMgrCallbackSave (
64 IxNpeMhNpeId npeId,
65 IxNpeMhMessageId solicitedMessageId,
66 IxNpeMhCallback solicitedCallback)
67 *
68 * @brief This function saves a callback in the specified NPE's callback
69 * list. If the callback list is full the function will fail.
70 *
71 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE in whose callback
72 * list the callback will be saved.
73 * @param IxNpeMhMessageId solicitedMessageId (in) - The ID of the message
74 * that this callback is for.
75 * @param IxNpeMhCallback solicitedCallback (in) - The callback function
76 * pointer to save.
77 *
78 * @return The function returns a status indicating success or failure.
79 */
80
81IX_STATUS ixNpeMhSolicitedCbMgrCallbackSave (
82 IxNpeMhNpeId npeId,
83 IxNpeMhMessageId solicitedMessageId,
84 IxNpeMhCallback solicitedCallback);
85
86/**
87 * @fn void ixNpeMhSolicitedCbMgrCallbackRetrieve (
88 IxNpeMhNpeId npeId,
89 IxNpeMhMessageId solicitedMessageId,
90 IxNpeMhCallback *solicitedCallback)
91 *
92 * @brief This function retrieves the first ID-matching callback from the
93 * specified NPE's callback list. If no matching callback can be found the
94 * function will fail.
95 *
96 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE from whose callback
97 * list the callback will be retrieved.
98 * @param IxNpeMhMessageId solicitedMessageId (in) - The ID of the message
99 * that the callback is for.
100 * @param IxNpeMhCallback solicitedCallback (out) - The callback function
101 * pointer retrieved.
102 *
103 * @return No return value.
104 */
105
106void ixNpeMhSolicitedCbMgrCallbackRetrieve (
107 IxNpeMhNpeId npeId,
108 IxNpeMhMessageId solicitedMessageId,
109 IxNpeMhCallback *solicitedCallback);
110
111/**
112 * @fn void ixNpeMhSolicitedCbMgrShow (
113 IxNpeMhNpeId npeId)
114 *
115 * @brief This function will display the current state of the Solicited
116 * Callback Manager module.
117 *
118 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to display state
119 * information for.
120 *
121 * @return No return value.
122 */
123
124void ixNpeMhSolicitedCbMgrShow (
125 IxNpeMhNpeId npeId);
126
127/**
128 * @fn void ixNpeMhSolicitedCbMgrShowReset (
129 IxNpeMhNpeId npeId)
130 *
131 * @brief This function will reset the current state of the Solicited
132 * Callback Manager module.
133 *
134 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to reset state
135 * information for.
136 *
137 * @return No return value.
138 */
139
140void ixNpeMhSolicitedCbMgrShowReset (
141 IxNpeMhNpeId npeId);
142
143#endif /* IXNPEMHSOLICITEDCBMGR_P_H */
144
145/**
146 * @} defgroup IxNpeMhSolicitedCbMgr_p
147 */