tizen 2.4 release
[kernel/u-boot-tm1.git] / arch / arm / cpu / ixp / npe / include / IxNpeMhUnsolicitedCbMgr_p.h
1 /**
2  * @file IxNpeMhUnsolicitedCbMgr_p.h
3  *
4  * @author Intel Corporation
5  * @date 18 Jan 2002
6  *
7  * @brief This file contains the private API for the Unsolicited 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
21  * Redistribution and use in source and binary forms, with or without
22  * modification, are permitted provided that the following conditions
23  * are met:
24  * 1. Redistributions of source code must retain the above copyright
25  *    notice, this list of conditions and the following disclaimer.
26  * 2. Redistributions in binary form must reproduce the above copyright
27  *    notice, this list of conditions and the following disclaimer in the
28  *    documentation and/or other materials provided with the distribution.
29  * 3. Neither the name of the Intel Corporation nor the names of its contributors
30  *    may be used to endorse or promote products derived from this software
31  *    without specific prior written permission.
32  * 
33  * @par
34  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
35  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
38  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
40  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
41  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
42  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
43  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44  * SUCH DAMAGE.
45  * 
46  * @par
47  * -- End of Copyright Notice --
48  */
49
50 /**
51  * @defgroup IxNpeMhUnsolicitedCbMgr_p IxNpeMhUnsolicitedCbMgr_p
52  *
53  * @brief The private API for the Unsolicited Callback Manager module.
54  * 
55  * @{
56  */
57
58 #ifndef IXNPEMHUNSOLICITEDCBMGR_P_H
59 #define IXNPEMHUNSOLICITEDCBMGR_P_H
60
61 #include "IxNpeMh.h"
62 #include "IxOsalTypes.h"
63
64 /*
65  * #defines for function return types, etc.
66  */
67
68 /*
69  * Prototypes for interface functions.
70  */
71
72 /**
73  * @fn void ixNpeMhUnsolicitedCbMgrInitialize (void)
74  *
75  * @brief This function initializes the Unsolicited Callback Manager
76  * module, setting up a callback data structure for each NPE.
77  *
78  * @return No return value.
79  */
80
81 void ixNpeMhUnsolicitedCbMgrInitialize (void);
82
83 /**
84  * @fn void ixNpeMhUnsolicitedCbMgrCallbackSave (
85            IxNpeMhNpeId npeId,
86            IxNpeMhMessageId unsolicitedMessageId,
87            IxNpeMhCallback unsolicitedCallback)
88  *
89  * @brief This function saves a callback in the specified NPE's callback
90  * table.  If a callback already exists for the specified ID then it will
91  * be overwritten.
92  *
93  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE in whose callback
94  * table the callback will be saved.
95  * @param IxNpeMhMessageId unsolicitedMessageId (in) - The ID of the
96  * messages that this callback is for.
97  * @param IxNpeMhCallback unsolicitedCallback (in) - The callback function
98  * pointer to save.
99  *
100  * @return No return value.
101  */
102
103 void ixNpeMhUnsolicitedCbMgrCallbackSave (
104     IxNpeMhNpeId npeId,
105     IxNpeMhMessageId unsolicitedMessageId,
106     IxNpeMhCallback unsolicitedCallback);
107
108 /**
109  * @fn void ixNpeMhUnsolicitedCbMgrCallbackRetrieve (
110            IxNpeMhNpeId npeId,
111            IxNpeMhMessageId unsolicitedMessageId,
112            IxNpeMhCallback *unsolicitedCallback)
113  *
114  * @brief This function retrieves the callback for the specified ID from
115  * the specified NPE's callback table.  If no callback is registered for
116  * the specified ID and NPE then a callback value of NULL will be returned.
117  *
118  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE from whose callback
119  * table the callback will be retrieved.
120  * @param IxNpeMhMessageId unsolicitedMessageId (in) - The ID of the
121  * messages that the callback is for.
122  * @param IxNpeMhCallback unsolicitedCallback (out) - The callback function
123  * pointer retrieved.
124  *
125  * @return No return value.
126  */
127
128 void ixNpeMhUnsolicitedCbMgrCallbackRetrieve (
129     IxNpeMhNpeId npeId,
130     IxNpeMhMessageId unsolicitedMessageId,
131     IxNpeMhCallback *unsolicitedCallback);
132
133 /**
134  * @fn void ixNpeMhUnsolicitedCbMgrShow (
135            IxNpeMhNpeId npeId)
136  *
137  * @brief This function will display the current state of the Unsolicited
138  * Callback Manager module.
139  *
140  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to display state
141  * information for.
142  *
143  * @return No return value.
144  */
145
146 void ixNpeMhUnsolicitedCbMgrShow (
147     IxNpeMhNpeId npeId);
148
149 /**
150  * @fn void ixNpeMhUnsolicitedCbMgrShowReset (
151            IxNpeMhNpeId npeId)
152  *
153  * @brief This function will reset the current state of the Unsolicited
154  * Callback Manager module.
155  *
156  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to reset state
157  * information for.
158  *
159  * @return No return value.
160  */
161
162 void ixNpeMhUnsolicitedCbMgrShowReset (
163     IxNpeMhNpeId npeId);
164
165 #endif /* IXNPEMHUNSOLICITEDCBMGR_P_H */
166
167 /**
168  * @} defgroup IxNpeMhUnsolicitedCbMgr_p
169  */