blob: 7b2afa0a3c25e039e2b51bece4984e915cd393b9 [file] [log] [blame]
Wolfgang Denk4646d2a2006-05-30 15:56:48 +02001/**
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
Wolfgang Denkc57eadc2013-07-28 22:12:47 +020020 * SPDX-License-Identifier: BSD-3-Clause
Wolfgang Denk4646d2a2006-05-30 15:56:48 +020021 * @par
22 * -- End of Copyright Notice --
23*/
24
25/**
26 * @defgroup IxNpeMhReceive_p IxNpeMhReceive_p
27 *
28 * @brief The private API for the Receive module.
29 *
30 * @{
31 */
32
33#ifndef IXNPEMHRECEIVE_P_H
34#define IXNPEMHRECEIVE_P_H
35
36#include "IxNpeMh.h"
37#include "IxOsalTypes.h"
38
39/*
40 * #defines for function return types, etc.
41 */
42
43/*
44 * Prototypes for interface functions.
45 */
46
47/**
48 * @fn void ixNpeMhReceiveInitialize (void)
49 *
50 * @brief This function registers an internal ISR to handle the NPEs'
51 * "outFIFO not empty" interrupts and receive messages from the NPEs when
52 * they become available.
53 *
54 * @return No return value.
55 */
56
57void ixNpeMhReceiveInitialize (void);
58
59/**
60 * @fn IX_STATUS ixNpeMhReceiveMessagesReceive (
61 IxNpeMhNpeId npeId)
62 *
63 * @brief This function reads messages from a particular NPE's outFIFO
64 * until the outFIFO is empty, and for each message looks first for an
65 * unsolicited callback, then a solicited callback, to pass the message
66 * back to the client. If no callback can be found the message is
67 * discarded and an error reported. This function will return TIMEOUT
68 * status if NPE hang / halt.
69 *
70 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to receive
71 * messages from.
72 *
73 * @return The function returns a status indicating success, failure or timeout.
74 */
75
76IX_STATUS ixNpeMhReceiveMessagesReceive (
77 IxNpeMhNpeId npeId);
78
79/**
80 * @fn void ixNpeMhReceiveShow (
81 IxNpeMhNpeId npeId)
82 *
83 * @brief This function will display the current state of the Receive
84 * module.
85 *
86 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to display state
87 * information for.
88 *
89 * @return No return status.
90 */
91
92void ixNpeMhReceiveShow (
93 IxNpeMhNpeId npeId);
94
95/**
96 * @fn void ixNpeMhReceiveShowReset (
97 IxNpeMhNpeId npeId)
98 *
99 * @brief This function will reset the current state of the Receive
100 * module.
101 *
102 * @param IxNpeMhNpeId npeId (in) - The ID of the NPE to reset state
103 * information for.
104 *
105 * @return No return status.
106 */
107
108void ixNpeMhReceiveShowReset (
109 IxNpeMhNpeId npeId);
110
111#endif /* IXNPEMHRECEIVE_P_H */
112
113/**
114 * @} defgroup IxNpeMhReceive_p
115 */