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

📄 nmc93cx6.h

📁 思科路由器仿真器,用来仿7200系列得,可以在电脑上模拟路由器
💻 H
字号:
/* * Cisco router simulation platform. * Copyright (c) 2005,2006 Christophe Fillot. * * NMC93C46/NMC93C56 Serial EEPROM. */#ifndef __NMC93CX6_H__#define __NMC93CX6_H__#include <sys/types.h>#include "utils.h"#include "cisco_eeprom.h"/* EEPROM types */enum {   EEPROM_TYPE_NMC93C46,   EEPROM_TYPE_NMC93C56,};/* EEPROM data bit order */enum {   EEPROM_DORD_NORMAL = 0,   EEPROM_DORD_REVERSED,};/* EEPROM debugging */enum {   EEPROM_DEBUG_DISABLED = 0,   EEPROM_DEBUG_ENABLED,};/* EEPROM DOUT default status */enum {   EEPROM_DOUT_HIGH = 0,   EEPROM_DOUT_KEEP,};/* 8 groups with 4 differents bits (clock,select,data_in,data_out) */#define NMC93CX6_MAX_EEPROM_PER_GROUP  16/* NMC93C46 EEPROM command bit length */#define NMC93C46_CMD_BITLEN   9/* NMC93C56 EEPROM command bit length */#define NMC93C56_CMD_BITLEN   11/* NMC93C46 EEPROM data bit length */#define NMC93CX6_CMD_DATALEN  16/* NMC93C46 EEPROM commands:     SB (1) OP(2) Address(6/9) */#define NMC93CX6_CMD_CONTROL   	 (0x1 | 0x0)#define NMC93CX6_CMD_WRDS      	 (0x1 | 0x0 | 0x00)#define NMC93CX6_CMD_ERASE_ALL 	 (0x1 | 0x0 | 0x08)#define NMC93CX6_CMD_WRITE_ALL 	 (0x1 | 0x0 | 0x10)#define NMC93CX6_CMD_WREN      	 (0x1 | 0x0 | 0x18)#define NMC93CX6_CMD_READ      	 (0x1 | 0x2)#define NMC93CX6_CMD_WRITE     	 (0x1 | 0x4)#define NMC93CX6_CMD_ERASE     	 (0x1 | 0x6)struct nmc93cX6_eeprom_def {   u_int clock_bit;   u_int select_bit;   u_int din_bit;   u_int dout_bit;};struct nmc93cX6_eeprom_state {      u_int cmd_len;   u_int cmd_val;   u_int state;   u_int dataout_pos;   u_int dataout_val;};struct nmc93cX6_group {   u_int eeprom_type;   u_int nr_eeprom;   u_int eeprom_reg;   u_int reverse_data;   u_int dout_status;   int debug;   char *description;   const struct nmc93cX6_eeprom_def *def[NMC93CX6_MAX_EEPROM_PER_GROUP];   struct nmc93cX6_eeprom_state state[NMC93CX6_MAX_EEPROM_PER_GROUP];   struct cisco_eeprom *eeprom[NMC93CX6_MAX_EEPROM_PER_GROUP];};/* Handle write */void nmc93cX6_write(struct nmc93cX6_group *g,u_int data);/* Returns the TRUE if the EEPROM is active */u_int nmc93cX6_is_active(struct nmc93cX6_group *g,u_int group_id);/* Returns the DOUT bit value */u_int nmc93cX6_get_dout(struct nmc93cX6_group *g,u_int group_id);/* Handle read */u_int nmc93cX6_read(struct nmc93cX6_group *p);#endif /* __NMC93CX6_H__ */

⌨️ 快捷键说明

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