📄 pieeprom.h
字号:
/*
* Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
* All rights reserved.
*
* This software is copyrighted by and is the sole property of
* VIA Networking Technologies, Inc. This software may only be used
* in accordance with the corresponding license agreement. Any unauthorized
* use, duplication, transmission, distribution, or disclosure of this
* software is expressly forbidden.
*
* This software is provided by VIA Networking Technologies, Inc. "as is"
* and any express or implied warranties, including, but not limited to, the
* implied warranties of merchantability and fitness for a particular purpose
* are disclaimed. In no event shall VIA Networking Technologies, Inc.
* be liable for any direct, indirect, incidental, special, exemplary, or
* consequential damages.
*
*
* File: pieeprom.h
*
* Purpose: UI controlled EEPROM accessing functions
*
* Author: Tevin Chen
*
* Date: Jan 08, 2002
*
*/
#ifndef _PIEEPROM_H
#define _PIEEPROM_H
#include "ttype.h"
#include "switch.h"
#include "pitrunk.h"
#include "pivlan.h"
#include "pisniff.h"
#include "pimisc.h"
#include "piadmin.h"
#ifdef __MODULE_WEB_SMART
#include "piipcfg.h"
#endif
#ifndef __ASIC_VT6524
#include "piport.h"
#include "piqos.h"
#ifdef __ASIC_VT6526
#include "pirate.h"
#endif
#include "pimod.h"
#else
#include "pipc_qos.h"
#endif
/*--------------------- Export Definitions -------------------------*/
// Define for EEPROM signature and firmware version
#define EEP_SIZE_SIGNATURE 1
#define EEP_VALUE_SIGNATURE 0x73
#define EEP_SIZE_CONTENT_VER 1
//
// Definition of EEPROM address and block size of each page
//
#define EEP_ADDR_BASE (EEP_DEV_ID*0x100)
#ifdef __MODULE_WEB_SMART
#define EEP_ADDR_MAC_ADDR EEP_ADDR_BASE
#define EEP_ADDR_SIGNATURE (EEP_ADDR_BASE + 6)
#else
#define EEP_ADDR_SIGNATURE EEP_ADDR_BASE
#endif
#define EEP_ADDR_CHECKSUM_START EEP_ADDR_SIGNATURE
#define EEP_ADDR_CONTENT_VER (EEP_ADDR_SIGNATURE + EEP_SIZE_SIGNATURE)
#define EEP_ADDR_TRUNK_CFG (EEP_ADDR_CONTENT_VER + EEP_SIZE_CONTENT_VER)
#define EEP_ADDR_VLAN_CFG (EEP_ADDR_TRUNK_CFG + EEP_SIZE_TRUNK_CFG)
#define EEP_ADDR_SNIFF_CFG (EEP_ADDR_VLAN_CFG + EEP_SIZE_VLAN_CFG)
#define EEP_ADDR_MISC_CFG (EEP_ADDR_SNIFF_CFG + EEP_SIZE_SNIFF_CFG)
#ifdef __MODULE_WEB_SMART
#define EEP_ADDR_IP_CONF (EEP_ADDR_MISC_CFG + EEP_SIZE_MISC_CFG)
#define EEP_ADDR_ADM_CFG (EEP_ADDR_IP_CONF + EEP_SIZE_IP_CONF)
#else
#define EEP_ADDR_ADM_CFG (EEP_ADDR_MISC_CFG + EEP_SIZE_MISC_CFG)
#endif
#if defined __ASIC_VT6526
#define EEP_ADDR_PORT_CFG (EEP_ADDR_ADM_CFG + EEP_SIZE_ADM_CFG)
#define EEP_ADDR_QOS_CFG (EEP_ADDR_PORT_CFG + EEP_SIZE_PORT_CFG)
#define EEP_ADDR_MOD_CARD_TYPE (EEP_ADDR_QOS_CFG + EEP_SIZE_QOS_CFG)
#define EEP_ADDR_RATE_CFG (EEP_ADDR_MOD_CARD_TYPE + EEP_SIZE_MOD_CARD_TYPE)
#define EEP_ADDR_END (EEP_ADDR_RATE_CFG + EEP_SIZE_RATE_CFG)
#elif defined __ASIC_VT6526D
#define EEP_ADDR_PORT_CFG (EEP_ADDR_ADM_CFG + EEP_SIZE_ADM_CFG)
#define EEP_ADDR_QOS_CFG (EEP_ADDR_PORT_CFG + EEP_SIZE_PORT_CFG)
#define EEP_ADDR_MOD_CARD_TYPE (EEP_ADDR_QOS_CFG + EEP_SIZE_QOS_CFG)
#define EEP_ADDR_END (EEP_ADDR_MOD_CARD_TYPE + EEP_SIZE_MOD_CARD_TYPE)
#else
#define EEP_ADDR_PORT_QOS_CFG (EEP_ADDR_ADM_CFG + EEP_SIZE_ADM_CFG)
#define EEP_ADDR_END (EEP_ADDR_PORT_QOS_CFG + EEP_SIZE_PORT_QOS_CFG)
#endif
#define EEP_ADDR_CHECKSUM EEP_ADDR_END
/*--------------------- Export Classes -----------------------------*/
/*--------------------- Export Variables --------------------------*/
/*--------------------- Export Macros -----------------------------*/
/*--------------------- Export Functions --------------------------*/
void PIEEP_vGetCfgFromEep (UINT16 byAddr, UINT8 bySize, PBYTE abyCfgBuf) DIRECT_FUNTYPE_REENT;
void PIEEP_vSetCfgIntoEep (PBYTE abyCfgBuf, UINT16 byAddr, UINT8 bySize) DIRECT_FUNTYPE_REENT;
// NOTE: EEPROM checksum is always put at the last byte
void PIEEP_vUpdateChecksum(void) DIRECT_FUNTYPE_REENT;
BOOL PIEEP_bVerifyChecksum(void) DIRECT_FUNTYPE_REENT;
BOOL PIEEP_bCheckVerAndSig(void) DIRECT_FUNTYPE_REENT;
void PIEEP_vSetVerAndSig(void) DIRECT_FUNTYPE_REENT;
#endif /* __PIEEPROM_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -