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

📄 nic.h

📁 自己根据lkd和情境分析
💻 H
字号:
/* $Id: nic.h,v 1.1.1.1 2004/02/04 12:57:42 laputa Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Colin Ngam */#ifndef _ASM_SN_NIC_H#define _ASM_SN_NIC_H#include <asm/types.h>#define MCR_DATA(x)			((int) ((x) & 1))#define MCR_DONE(x)			((x) & 2)#define MCR_PACK(pulse, sample)		((pulse) << 10 | (sample) << 2)typedef __psunsigned_t	nic_data_t;typedef int		nic_access_f(nic_data_t data,	     int pulse, int sample, int delay);typedef nic_access_f   *nic_access_t;typedef struct nic_vmce_s      *nic_vmce_t;typedef void			nic_vmc_func(devfs_handle_t v);/* * PRIVATE data for Dallas NIC */typedef struct nic_state_t {    nic_access_t	access;    nic_data_t		data;    int			last_disc;    int			done;    int			bit_index;    int			disc_marker;    uchar_t		bits[64];} nic_state_t;/* * Public interface for Dallas NIC * * *   Access Routine * *   nic_setup requires an access routine that pulses the NIC line for a *   specified duration, samples the NIC line after a specified duration, *   then delays for a third specified duration (for precharge). * *   This general scheme allows us to access NICs through any medium *   (e.g. hub regs, bridge regs, vector writes, system ctlr commands). * *   The access routine should return the sample value 0 or 1, or if an *   error occurs, return a negative error code.  Negative error codes from *   the access routine will abort the NIC operation and be propagated *   through out of the top-level NIC call. */#define NIC_OK			0#define NIC_DONE		1#define NIC_FAIL		2#define NIC_BAD_CRC		3#define NIC_NOT_PRESENT		4#define NIC_REDIR_LOOP		5#define NIC_PARAM		6#define NIC_NOMEM		7uint64_t nic_get_phase_bits(void);extern int nic_setup(nic_state_t *ns,		     nic_access_t access,		     nic_data_t data);extern int nic_next(nic_state_t *ns,		    char *serial,		    char *family,		    char *crc);extern int nic_read_one_page(nic_state_t *ns,			     char *family,			     char *serial,			     char *crc,			     int start,			     uchar_t *redirect,			     uchar_t *byte);extern int nic_read_mfg(nic_state_t *ns,			char *family,			char *serial,			char *crc,			uchar_t *pageA,			uchar_t *pageB);extern int nic_info_get(nic_access_t access,			nic_data_t data,			char *info);extern int nic_item_info_get(char *buf, char *item, char **item_info);nic_access_f	nic_access_mcr32;extern char *nic_vertex_info_get(devfs_handle_t v);extern char *nic_vertex_info_set(nic_access_t access,				 nic_data_t data, 				 devfs_handle_t v);extern int nic_vertex_info_match(devfs_handle_t vertex,				 char *name);extern char *nic_bridge_vertex_info(devfs_handle_t vertex,				    nic_data_t	data);extern char *nic_hq4_vertex_info(devfs_handle_t vertex,				 nic_data_t data);extern char *nic_ioc3_vertex_info(devfs_handle_t vertex,				    nic_data_t	data,				    int32_t *gpcr_s);extern char *nic_hub_vertex_info(devfs_handle_t vertex);extern nic_vmce_t	nic_vmc_add(char *, nic_vmc_func *);extern void		nic_vmc_del(nic_vmce_t);#endif /* _ASM_SN_NIC_H */

⌨️ 快捷键说明

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