⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 le1velib.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
字号:
/* le1veLib.c - LE1VE(TDMoIP) card driver header file
*
* Copyright     2004-2007 ZTE, Inc.
* author:       ZhengQishan
* date:         2004.02
*
* modification history
*------------------------------
*
*/

#ifndef _LE1VE_LIB_H
#define _LE1VE_LIB_H
#ifdef __cplusplus
extern "C" {
#endif
#include    "vxWorks.h"
#include    "stdio.h"
#include    "stdlib.h"
#include    "msgQLib.h"
#include    "iv.h"
#include    "intLib.h"
#include    "semLib.h"
#include    "taskLib.h"
#include    "cacheLib.h"
#include    "string.h"
#include    "logLib.h"
#include    "time.h"
#include    "drv/pci/pciIntLib.h"
#include    "ros_ex.h"
#include    "Driver/drvLib/include/drv_comm.h"
#include    "zl5011xError.h"
#include    "zl5011xAddrMap.h"
#include    "mux_ex.h"


#define LE1VE_MAX_NUM					8
#define LE1VE_SLOT_NUM                  Ros_LocalPanel
#define LE1VE_PORT_NUM					Ros_LocalPort
#define LE1VE_CHAN_NUM					Ros_LocalChannel
#define LE1VE_MT8986_REG_BASE(slot)     (IF_CARD_CPU_REG_BASE(slot) + 0x6000)
#define LE1VE_FPGA_REG_BASE(slot)       (IF_CARD_CPU_REG_BASE(slot) + 0x1000)
#define LE1VE_CPLD_REG_BASE(slot)       (IF_CARD_CPU_REG_BASE(slot) + 0x7C00)
/* add by shf */
#define DSCP_MASK  0xfc
#define PRE_MASK   0xe0
#define TOS_MASK   0x1e
#define T1_MAX_CHANNUM_PER_PORT 24
#define E1_MAX_CHANNUM_PER_PORT 32
/*end*/

typedef enum
{
	EXTERNAL_ETHERNET_INTF = 1,
	INTERNAL_ETHERNET_INTF = 2
}ETHERNAT_INF_NUM;

typedef enum
{
	CONTEXT_NO_PROVSIONED = 0,
	CONTEXT_PROVSIONED,
	CONTEXT_TAKEN
}CONTEXT_PROVISION_ATTRIB;

typedef struct
{
    UINT32 gPort;
    int provisioned;
    int frameNumPerPkt;
    int jiterBufLen;    /*n * 125us*/
    UINT32 timeSlot[4];
    TDMOIP_IP_STRUC ip_group;
    UINT8   desMac[6];
    /* add by shf 2005.6.30*/
    UINT8 Dscp_Pre_Tos;
    UINT8 reserved1;
    UINT16 adaptiveClock;
    /*end add */
    UINT16 reserved;
}CONTEXT_ATTRIB_T;

typedef struct
{
	char ipAddr[4];
	char macAddr[6];
}LE1VE_ETHERNET_ATTRIB_T;

typedef struct
{
    UINT32 udp_port;
    char *pbuf;
    char *pData;
    int size;
}LE1VE_SND_PKT_MSG;

/* slot number check macro */
#define ZL5011X_CHECK_SLOTNUM(arg1, pPtr2) \
      (((arg1) < 1) || ((arg1) > LE1VE_MAX_NUM) || ((pPtr2) == NULL)) ? \
         ZL5011X_ERROR_SLOT_NUM : ZL5011X_OK

/*get the base of FPGA and CPLD. if something is wrong ,then retun 0xFFFFFFFF*/
extern void lce1f_pm4354_init(int slotNum, int chip, int mode);
extern int lce1f_getFrameMode(int slot);
extern STATUS le1veMt8986Init(int slot);
extern STATUS drv_le1ve_init(int slot);
extern STATUS drv_le1ve_send(LE1VE_SND_PKT_MSG *pMsg);


/*==============================DEBUG CODE========================*/
extern void   enableMt8986(int slot);

#ifdef __cplusplus
}
#endif

#endif /*_LE1VE_LIB_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -