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

📄 le1veconfig.h

📁 Zalink50114----TDMoIP芯片驱动源码
💻 H
字号:
/* le1veApp.c - LE1VE(TDMoIP) interface config head file
*
* Copyright     2004-2007 ZTE, Inc.
* author:       ZhengQishan
* date:         2004.03
*
* modification history
*------------------------------
* 2004-06-01  增加对TDM接口配置的宏定义
*/

#ifndef _LE1VE_CONFIG_H
#define _LE1VE_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif
#include  "vxworks.h"
#include "mux_ex.h"


#define LE1VE_DEFAULT_FRAMES_PER_PKT    8
#define LE1VE_PKT_HEADER_LENGTH			100   /*byte*/
#define LE1VE_DEFAULT_JITTER_BUFFER     8     /*单位是125us*/

#define LE1VE_UDP_MAX_LEN                      1024

#define ETHERNET_MAC_HDR_LEN            14
#define ETHERNET_IP_HDR_LEN             20
#define ETHERNET_UDP_HDR_LEN            8
#define ZL5011X_IP_UDP_RTP_PW_HEADER_LEN 58

/*add by shf 2005.7.5*/
#define LE1VE_ARP_OUT_CONTEXT_NUM    124
#define LE1VE_ARP_IN_CONTEXT_NUM       126
#define LE1VE_ICMP_OUT_CONTEXT_NUM  123
#define LE1VE_ICMP_IN_CONTEXT_NUM     125
#define CPLD_CET_CONTROL_REG          0x7c68 /*0x7c00 + 0x1a*4 写入0xFF 使能CET */
#define CPLD_HMVIP_CLOCK_SEL_REG      0x7c6c /*0x7c00 + 0x1b*4 写入1 或者2,选择时钟*/
/*以下pos 都以以太头为开始计算,以太头开始为0*/
#define PROTOCOL_ARP_POS                       12
#define PROTOCOL_ICMP_POS                     23
#define ARP_SOURCE_IP_POS                      28
#define ARP_DEST_IP_POS                          38
#define ICMP_SOURCE_IP_POS                     26
#define ICMP_DEST_IP_POS                         30
#define ZL5011X_IP_SIZE                            4
#define    FAKE_INT                 0x0    /*假中断号,用于zl50114中断初始化*/
#define LE1VE_CLOCK_ADAPTIVE DRV_TDMOIP_CLOCK_ADAPTIVE
#define LE1VE_CLOCK_LOCAL    DRV_TDMOIP_CLOCK_LOCAL

typedef enum
{
   LE1VE_FORWORD_ARP,
   LE1VE_FORWORD_ICMP
} Le1vePacketForwardProtocolTypeE;

typedef enum
{
   DIRECTION_IN,
   DIRECTION_OUT
} Le1vePacketForwardDirectionE;

typedef enum
{
    LE1VE_ADAPTIVE_CLOCK_NOT_USED = 0,
    LE1VE_ADAPTIVE_CLOCK_ENABLE,
    LE1VE_ADAPTIVE_CLOCK_DISABLE 
}ADAPTIVE_CLOCK_ATTRIB;

typedef struct
{
   Le1vePacketForwardProtocolTypeE protocolType;
   /*protocol */
   Uint32T protocolMatchNum;
   Uint8T *macAddr;
   Uint8T ipAddr[ZL5011X_IP_SIZE];
   Uint8T   context;
   /*direction*/
   Le1vePacketForwardDirectionE forwardDirction;
   /* packet header setup information */
   Uint8T portNum;
   Uint8T queueNum;
   Uint8T *header;
   zl5011xBooleanE enableVlan;
   zl5011xBooleanE ethernetSrcAddressFromMac;
} Le1vePacketForwardConfigs;

/*end*/
typedef enum
{
    DATA_FROM_TDM_TO_LAN = 0,
    DATA_FROM_LAN_TO_TDM = 1
} CONTEXT_DIR;

typedef enum
{
    LE1VE_LOCAL_LOOP_ENABLE = 0,
    LE1VE_LOCAL_LOOP_DISABLE
}LE1VE_LAN_LOOP_MODE;
#define checkGlobalPort(gPort)\
    do{\
        if ((LE1VE_SLOT_NUM((gPort)) < 1) ||\
            (LE1VE_SLOT_NUM((gPort)) > (LE1VE_MAX_NUM)) || \
            (LE1VE_PORT_NUM((gPort)) < 1) || \
            (LE1VE_PORT_NUM((gPort)) > 2) || \
            (LE1VE_CHAN_NUM((gPort)) < 1) || \
            (LE1VE_CHAN_NUM((gPort)) > 64)) \
        {\
            printf("Error Argument!\n");\
            return;\
        }\
    }while(0);

extern STATUS le1veIoCtrl(UINT32 gPort, int request, void *arg_in, void *arg_out);


#ifdef __cplusplus
}
#endif

#endif    /*_LE1VE_CONFIG_H*/

⌨️ 快捷键说明

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