00001
00058 #ifndef IXNPEDL_H
00059 #define IXNPEDL_H
00060
00061
00062
00063
00064 #include "IxTypes.h"
00065
00066
00067
00068
00069
00075 #define IX_NPEDL_PARAM_ERR 2
00076
00082 #define IX_NPEDL_RESOURCE_ERR 3
00083
00091 #define IX_NPEDL_CRITICAL_NPE_ERR 4
00092
00100 #define IX_NPEDL_CRITICAL_MICROCODE_ERR 5
00101
00130 #define IX_NPEDL_NPEIMAGE_FIELD_MASK 0xff
00131
00141 #define IX_NPEDL_NPEIMAGE_BIT_LOC_NPEID 24
00142
00152 #define IX_NPEDL_NPEIMAGE_BIT_LOC_FUNCTIONALITYID 16
00153
00163 #define IX_NPEDL_NPEIMAGE_BIT_LOC_MAJOR 8
00164
00174 #define IX_NPEDL_NPEIMAGE_BIT_LOC_MINOR 0
00175
00176
00177
00178
00179
00190 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0 0x00010000
00191
00204 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_SPHY_1_PORT 0x00020000
00205
00218 #define IX_NPEDL_NPEIMAGE_NPEA_HSS0_ATM_MPHY_1_PORT 0x00030000
00219
00231 #define IX_NPEDL_NPEIMAGE_NPEA_ATM_MPHY_12_PORT 0x00040000
00232
00243 #define IX_NPEDL_NPEIMAGE_NPEA_HSS_2_PORT 0x00090000
00244
00254 #define IX_NPEDL_NPEIMAGE_NPEA_DMA 0x00150100
00255
00265 #define IX_NPEDL_NPEIMAGE_NPEA_WEP 0x00400000
00266
00267
00268
00269
00270
00271
00281 #define IX_NPEDL_NPEIMAGE_NPEB_ETH 0x01000100
00282
00292 #define IX_NPEDL_NPEIMAGE_NPEB_ETH_FPATH 0x01010100
00293
00303 #define IX_NPEDL_NPEIMAGE_NPEB_DMA 0x01020100
00304
00305
00306
00307
00308
00318 #define IX_NPEDL_NPEIMAGE_NPEC_ETH 0x02000100
00319
00330 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO 0x02020100
00331
00344 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES 0x02030100
00345
00356 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_ETH 0x02040100
00357
00370 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_ETH 0x02050100
00371
00384 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_CCM 0x020A0100
00385
00400 #define IX_NPEDL_NPEIMAGE_NPEC_CRYPTO_AES_CCM_ETH 0x020B0100
00401
00411 #define IX_NPEDL_NPEIMAGE_NPEC_DMA 0x02080100
00412
00413
00414
00415
00430 #define ixNpeDlMicrocodeImageOverride(x) ixNpeDlMicrocodeImageLibraryOverride(x)
00431
00442 #define IxNpeDlVersionId IxNpeDlImageId
00443
00454 #define ixNpeDlVersionDownload(x,y) ixNpeDlImageDownload(x,y)
00455
00466 #define ixNpeDlAvailableVersionsCountGet(x) ixNpeDlAvailableImagesCountGet(x)
00467
00478 #define ixNpeDlAvailableVersionsListGet(x,y) ixNpeDlAvailableImagesListGet(x,y)
00479
00490 #define ixNpeDlLoadedVersionGet(x,y) ixNpeDlLoadedImageGet(x,y)
00491
00502 #define clientImage clientImageLibrary
00503
00514 #define versionIdPtr imageIdPtr
00515
00526 #define numVersionsPtr numImagesPtr
00527
00538 #define versionIdListPtr imageIdListPtr
00539
00550 #define IxNpeDlBuildId IxNpeDlFunctionalityId
00551
00562 #define buildId functionalityId
00563
00574 #define IX_NPEDL_MicrocodeImage IX_NPEDL_MicrocodeImageLibrary
00575
00576
00577
00578
00579
00588 typedef UINT8 IxNpeDlFunctionalityId;
00589
00598 typedef UINT8 IxNpeDlMajor;
00599
00608 typedef UINT8 IxNpeDlMinor;
00609
00610
00611
00612
00613
00623 typedef enum
00624 {
00625 IX_NPEDL_NPEID_NPEA = 0,
00626 IX_NPEDL_NPEID_NPEB,
00627 IX_NPEDL_NPEID_NPEC,
00628 IX_NPEDL_NPEID_MAX
00629 } IxNpeDlNpeId;
00630
00631
00632
00633
00634
00642 typedef struct
00643 {
00644 IxNpeDlNpeId npeId;
00645 IxNpeDlFunctionalityId functionalityId;
00646 IxNpeDlMajor major;
00647 IxNpeDlMinor minor;
00648 } IxNpeDlImageId;
00649
00650
00651
00652
00653
00703 PUBLIC IX_STATUS
00704 ixNpeDlNpeInitAndStart (UINT32 npeImageId);
00705
00764 PUBLIC IX_STATUS
00765 ixNpeDlCustomImageNpeInitAndStart (UINT32 *imageLibrary,
00766 UINT32 npeImageId);
00767
00768
00799 PUBLIC IX_STATUS
00800 ixNpeDlLoadedImageFunctionalityGet (IxNpeDlNpeId npeId,
00801 UINT8 *functionalityId);
00802
00803
00838 IX_STATUS
00839 ixNpeDlMicrocodeImageLibraryOverride (UINT32 *clientImageLibrary);
00840
00883 PUBLIC IX_STATUS
00884 ixNpeDlImageDownload (IxNpeDlImageId *imageIdPtr,
00885 BOOL verify);
00886
00914 PUBLIC IX_STATUS
00915 ixNpeDlAvailableImagesCountGet (UINT32 *numImagesPtr);
00916
00955 PUBLIC IX_STATUS
00956 ixNpeDlAvailableImagesListGet (IxNpeDlImageId *imageIdListPtr,
00957 UINT32 *listSizePtr);
00958
00988 PUBLIC IX_STATUS
00989 ixNpeDlLoadedImageGet (IxNpeDlNpeId npeId,
00990 IxNpeDlImageId *imageIdPtr);
00991
01019 PUBLIC IX_STATUS
01020 ixNpeDlLatestImageGet (IxNpeDlNpeId npeId,
01021 IxNpeDlFunctionalityId functionalityId,
01022 IxNpeDlImageId *imageIdPtr);
01023
01056 PUBLIC IX_STATUS
01057 ixNpeDlNpeStopAndReset (IxNpeDlNpeId npeId);
01058
01094 PUBLIC IX_STATUS
01095 ixNpeDlNpeExecutionStart (IxNpeDlNpeId npeId);
01096
01128 PUBLIC IX_STATUS
01129 ixNpeDlNpeExecutionStop (IxNpeDlNpeId npeId);
01130
01159 IX_STATUS ixNpeDlUnload (void);
01160
01171 PUBLIC void
01172 ixNpeDlStatsShow (void);
01173
01183 PUBLIC void
01184 ixNpeDlStatsReset (void);
01185
01186 #endif
01187