Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IxCryptoAccCodelet_p.h

Go to the documentation of this file.
00001 
00050 #ifndef IxCryptoAccCodelet_p_H
00051 #define IxCryptoAccCodelet_p_H
00052 
00053 #include "IxTypes.h"
00054 #include "IxOsBuffMgt.h"
00055 #include "IxNpeDl.h"
00056 #include "IxOsCacheMMU.h"
00057 #include "IxCryptoAcc.h"
00058 
00060 extern BOOL forwardRegisterCBCalled;    
00061 extern BOOL reverseRegisterCBCalled;    
00062 extern IxCryptoAccRegisterCompleteCallback registerCB; 
00065 extern IxCryptoAccPerformCompleteCallback performCB;   
00069 #define IX_CRYPTOACC_CODELET_MAX_STR_SIZE    128       
00082 typedef struct {
00083 
00084     IxCryptoAccOperation  frwdOperation ; 
00085     IxCryptoAccOperation  revOperation ;  
00086     IxCryptoAccCipherAlgo cipherAlgo;     
00087     IxCryptoAccCipherMode cipherMode;     
00088     UINT32 cipherKeyLen;                  
00089     UINT32 cipherBlockLen;        
00090     UINT32 cipherInitialVectorLen;        
00091     IxCryptoAccAuthAlgo  authAlgo;        
00092     UINT32 authKeyLen;                    
00093     UINT32 authDigestLen;                 
00094     UINT32 aadLen;                        
00098     BOOL useDifferentSrcAndDestMbufs;     
00101     BOOL invokeXScaleWepPerform;          
00106     UINT8 infoString[IX_CRYPTOACC_CODELET_MAX_STR_SIZE]; 
00110 }IxCryptoCodeletServiceParam;
00111 
00112 
00113 /**************************************************************************
00114  *                           Function Prototype 
00115  **************************************************************************/
00116 
00136 PRIVATE IX_STATUS ixCryptoAccCodeletInit (IxCryptoAccCfg ixCryptoAccCodeletCfg);
00137 
00152 #define IX_CRYPTO_ACC_CODELET_DRV_DMA_FREE(pData, size) \
00153             IX_ACC_DRV_DMA_FREE(pData,size)
00154 
00155 
00168 INLINE BOOL 
00169 ixCryptoAccCodeletBufIsQEmpty (void);
00170 
00171 
00184 INLINE BOOL 
00185 ixCryptoAccCodeletBufIsQFull (void);
00186 
00187 
00198 void ixCryptoAccCodeletCryptoMbufToQTailAdd (IX_MBUF *pMbufToAdd);
00199 
00200 
00211 void ixCryptoAccCodeletCryptoMbufFromQHeadRemove (IX_MBUF **pMbufToRem);
00212 
00213 
00225 IX_STATUS ixCryptoAccCodeletCryptoMemPoolInit (UINT32 pktLen);
00226 
00227 
00237 void ixCryptoAccCodeletCryptoMemPoolFree (UINT32 pktLen);
00238  
00239  
00253 IX_STATUS ixCryptoAccCodeletNpeInit (
00254                         IxNpeDlNpeId npeId,
00255                         IxNpeDlBuildId buildId);
00256 
00257 
00268 void ixCryptoAccCodeletDispatcherPoll (void);
00269 
00270 
00282 IX_STATUS ixCryptoAccCodeletDispatcherStart (BOOL useInterrupt);
00283 
00284 
00310 IX_STATUS ixCryptoAccCodeletRegisterCtx (
00311             INT32  srvIndex,
00312             IxCryptoAccCtx *pForwardCtx,
00313             IxCryptoAccCtx *pReverseCtx,
00314             UINT32 *pForwardCtxId,
00315             UINT32 *pReverseCtxId);
00316 
00317 
00332 IX_STATUS ixCryptoAccCodeletPerform (UINT32 pktLen);
00333 
00334 
00335 
00345 void ixCryptoAccCodeletUnregisterCtx (void);
00346 
00347 
00362 PRIVATE IX_STATUS ixCryptoAccCodeletXScaleWepPerform( IX_MBUF *pMbuf ,UINT32 pktLen);
00363 
00376 IX_STATUS ixCryptoAccCodeletDispatcherStop (BOOL useInterrupt);
00377 
00378 
00388 void ixCryptoAccCodeletUsageShow (void);
00389 
00390 #endif /* IxCryptoAccCodelet_p_H */
00391 
00392 
Automatically generated from sources. © Intel Corp. 2003