📄 le1velib.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 + -