?? zl5011xmisc.h
字號:
/*******************************************************************************
*
* File name: zl5011xMisc.h
*
* Version: 11
*
* Author: MRC
*
* Date created: 12/09/2002
*
* Copyright 2002, 2003, 2004, 2005, Zarlink Semiconductor Limited.
* All rights reserved.
*
* Module Description:
*
* This is the header file for the device initialisation functions.
*
* Revision History:
*
* Rev: Date: Author: Comments:
* 1 12/09/2002 MRC Creation
* 2 13/09/2002 MRC Added PHY access functions
* 3 20/09/2002 MRC Added Release and Revision fn
* 4 25/09/2002 MRC Added parameter check fns
* 5 30/10/2002 MRC Added active check to the check context fns
* 6 31/10/2002 MRC Added variants + minor fixes
* 7 13/11/2002 MRC Added struct init for free function
* 8 21/02/2003 MRC Added packet checksum functions
* 9 30/06/2003 JFE Changed name of GetApiVersion parameter consistent
* with function definition.
* 10 29/07/2003 APL Added support for devices with no TDM
* 11 17/03/2005 APL Allows semaphores to be deleted without taking first
*
*******************************************************************************/
#ifndef _ZL5011X_MISC_H
#define _ZL5011X_MISC_H
#ifdef __cplusplus
extern "C" {
#endif
/***************** INCLUDE FILES ******************************************/
/***************** # DEFINES **********************************************/
#define ZL5011X_MUTEX_TIMEOUT_MS 2000
#define ZL5011X_PHY_MUTEX_TIMEOUT_MS 2000
#define ZL5011X_WAIT_100MS 100
/***************** DATA TYPES *********************************************/
/***************** DATA STRUCTURES and FUNCTION DECLARATIONS **************/
typedef enum
{
ZL5011X_CHECK_CONTEXT_NUMBER,
ZL5011X_CHECK_CONTEXT_INIT,
ZL5011X_CHECK_CONTEXT_MODIFY,
ZL5011X_CHECK_CONTEXT_ACTIVE,
ZL5011X_CHECK_CONTEXT_IN_USE
} zl5011xCheckContextStateE;
typedef struct
{
Uint32T baseAddress;
} zl5011xCreateDeviceS;
zlStatusE zl5011xCreateDeviceStructInit(zl5011xCreateDeviceS *par);
zlStatusE zl5011xCreateDevice(zl5011xParamsS **zl5011xParams, zl5011xCreateDeviceS *par);
/********************************/
typedef struct
{
Uint16T revisionNumberMajor;
Uint16T revisionNumberMinor;
Uint16T revisionNumberMicro;
Sint8T releaseDate[80];
Sint8T releaseTime[80];
} zl5011xGetApiVersionS;
zlStatusE zl5011xGetApiVersion(zl5011xGetApiVersionS *par);
/********************************/
typedef struct
{
zl5011xBooleanE takeDeviceBeforeReset;
zl5011xBooleanE takePhyBeforeReset;
} zl5011xResetS;
zlStatusE zl5011xResetStructInit(zl5011xParamsS *zl5011xParams, zl5011xResetS *par);
zlStatusE zl5011xReset(zl5011xParamsS *zl5011xParams, zl5011xResetS *par);
/********************************/
typedef struct
{
zl5011xBooleanE takeDeviceBeforeSemDelete;
zl5011xBooleanE takePhyBeforeSemDelete;
} zl5011xFreeDeviceS;
zlStatusE zl5011xFreeDeviceStructInit(zl5011xParamsS *zl5011xParams, zl5011xFreeDeviceS *par);
zlStatusE zl5011xFreeDevice(zl5011xParamsS *zl5011xParams, zl5011xFreeDeviceS *par);
/***************** FUNCTION DECLARATIONS **********************************/
zlStatusE zl5011xEnterFreezeMode(zl5011xParamsS *zl5011xParams);
zlStatusE zl5011xCreateSemaphore(zl5011xParamsS *zl5011xParams);
zlStatusE zl5011xDeleteSemaphore(zl5011xParamsS *zl5011xParams);
zlStatusE zl5011xDeleteSemaphoreEx(zl5011xParamsS *zl5011xParams,
zl5011xBooleanE takeDeviceBeforeDelete, zl5011xBooleanE takePhyBeforeDelete);
zlStatusE zl5011xGetDevice(zl5011xParamsS *zl5011xParams, zl5011xBooleanE waitForever);
zlStatusE zl5011xReleaseDevice(zl5011xParamsS *zl5011xParams);
zlStatusE zl5011xGetLanPhy(zl5011xParamsS *zl5011xParams, zl5011xBooleanE waitForever);
zlStatusE zl5011xReleaseLanPhy(zl5011xParamsS *zl5011xParams);
zlStatusE zl5011xLanPortCheck(zl5011xParamsS *zl5011xParams, Uint8T portNum);
zlStatusE zl5011xContextCheckTx(zl5011xParamsS *zl5011xParams, Uint32T context,
zl5011xCheckContextStateE check);
zlStatusE zl5011xContextCheckRx(zl5011xParamsS *zl5011xParams, Uint32T context,
zl5011xCheckContextStateE check);
/* Packet checksum functions */
zlStatusE zl5011xPacketCalculateChecksum(Uint8T *buf, Uint16T length, Uint16T *chkOut);
zlStatusE zl5011xPacketChangeField(Uint8T *buf, Uint8T modPos,
Uint16T newValue, Uint16T bitMask, Uint16T *chkChange);
zlStatusE zl5011xPacketUpdateChecksum(Uint8T *buf, Uint8T chkPos, Uint16T chkChange);
zlStatusE zl5011xPacketInvertChecksum(Uint8T *buf, Uint8T chkPos);
#ifdef __cplusplus
}
#endif
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -