00001
00058 #ifndef IXNPEMH_H
00059 #define IXNPEMH_H
00060
00061 #include "IxTypes.h"
00062
00063
00064
00065
00066
00067 #define IX_NPEMH_MIN_MESSAGE_ID (0x00)
00068 #define IX_NPEMH_MAX_MESSAGE_ID (0xFF)
00070 #define IX_NPEMH_SEND_RETRIES_DEFAULT (3)
00083 typedef enum
00084 {
00085 IX_NPEMH_NPEID_NPEA = 0,
00086 IX_NPEMH_NPEID_NPEB,
00087 IX_NPEMH_NPEID_NPEC,
00088 IX_NPEMH_NUM_NPES
00089 } IxNpeMhNpeId;
00090
00098 typedef enum
00099 {
00100 IX_NPEMH_NPEINTERRUPTS_NO = 0,
00101 IX_NPEMH_NPEINTERRUPTS_YES
00102 } IxNpeMhNpeInterrupts;
00103
00109 typedef struct
00110 {
00111 UINT32 data[2];
00112 } IxNpeMhMessage;
00113
00115 typedef UINT32 IxNpeMhMessageId;
00116
00134 typedef void (*IxNpeMhCallback) (IxNpeMhNpeId, IxNpeMhMessage);
00135
00136
00137
00138
00139
00167 IX_STATUS ixNpeMhInitialize (
00168 IxNpeMhNpeInterrupts npeInterrupts);
00169
00191 IX_STATUS ixNpeMhUnload (void);
00192
00235 IX_STATUS ixNpeMhUnsolicitedCallbackRegister (
00236 IxNpeMhNpeId npeId,
00237 IxNpeMhMessageId messageId,
00238 IxNpeMhCallback unsolicitedCallback);
00239
00274 IX_STATUS ixNpeMhUnsolicitedCallbackForRangeRegister (
00275 IxNpeMhNpeId npeId,
00276 IxNpeMhMessageId minMessageId,
00277 IxNpeMhMessageId maxMessageId,
00278 IxNpeMhCallback unsolicitedCallback);
00279
00324 IX_STATUS ixNpeMhMessageSend (
00325 IxNpeMhNpeId npeId,
00326 IxNpeMhMessage message,
00327 UINT32 maxSendRetries);
00328
00382 IX_STATUS ixNpeMhMessageWithResponseSend (
00383 IxNpeMhNpeId npeId,
00384 IxNpeMhMessage message,
00385 IxNpeMhMessageId solicitedMessageId,
00386 IxNpeMhCallback solicitedCallback,
00387 UINT32 maxSendRetries);
00388
00417 IX_STATUS ixNpeMhMessagesReceive (
00418 IxNpeMhNpeId npeId);
00419
00440 IX_STATUS ixNpeMhShow (
00441 IxNpeMhNpeId npeId);
00442
00463 IX_STATUS ixNpeMhShowReset (
00464 IxNpeMhNpeId npeId);
00465
00466 #endif
00467