]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - drivers/net/npe/include/IxNpeMhReceive_p.h
Merge branch 'master' of git://git.denx.de/u-boot-net
[karo-tx-uboot.git] / drivers / net / npe / include / IxNpeMhReceive_p.h
1 /**
2  * @file IxNpeMhReceive_p.h
3  *
4  * @author Intel Corporation
5  * @date 18 Jan 2002
6  *
7  * @brief This file contains the private API for the Receive 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 /**
50  * @defgroup IxNpeMhReceive_p IxNpeMhReceive_p
51  *
52  * @brief The private API for the Receive module.
53  * 
54  * @{
55  */
56
57 #ifndef IXNPEMHRECEIVE_P_H
58 #define IXNPEMHRECEIVE_P_H
59
60 #include "IxNpeMh.h"
61 #include "IxOsalTypes.h"
62
63 /*
64  * #defines for function return types, etc.
65  */
66
67 /*
68  * Prototypes for interface functions.
69  */
70
71 /**
72  * @fn void ixNpeMhReceiveInitialize (void)
73  *
74  * @brief This function registers an internal ISR to handle the NPEs'
75  * "outFIFO not empty" interrupts and receive messages from the NPEs when
76  * they become available.
77  *
78  * @return No return value.
79  */
80
81 void ixNpeMhReceiveInitialize (void);
82
83 /**
84  * @fn IX_STATUS ixNpeMhReceiveMessagesReceive (
85            IxNpeMhNpeId npeId)
86  *
87  * @brief This function reads messages from a particular NPE's outFIFO
88  * until the outFIFO is empty, and for each message looks first for an
89  * unsolicited callback, then a solicited callback, to pass the message
90  * back to the client.  If no callback can be found the message is
91  * discarded and an error reported. This function will return TIMEOUT 
92  * status if NPE hang / halt.
93  *
94  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to receive
95  * messages from.
96  *
97  * @return The function returns a status indicating success, failure or timeout.
98  */
99
100 IX_STATUS ixNpeMhReceiveMessagesReceive (
101     IxNpeMhNpeId npeId);
102
103 /**
104  * @fn void ixNpeMhReceiveShow (
105            IxNpeMhNpeId npeId)
106  *
107  * @brief This function will display the current state of the Receive
108  * module.
109  *
110  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to display state
111  * information for.
112  *
113  * @return No return status.
114  */
115
116 void ixNpeMhReceiveShow (
117     IxNpeMhNpeId npeId);
118
119 /**
120  * @fn void ixNpeMhReceiveShowReset (
121            IxNpeMhNpeId npeId)
122  *
123  * @brief This function will reset the current state of the Receive
124  * module.
125  *
126  * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to reset state
127  * information for.
128  *
129  * @return No return status.
130  */
131
132 void ixNpeMhReceiveShowReset (
133     IxNpeMhNpeId npeId);
134
135 #endif /* IXNPEMHRECEIVE_P_H */
136
137 /**
138  * @} defgroup IxNpeMhReceive_p
139  */