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

📄 gen_tool.h

📁 scsi脚本文件(scripts)编程例子
💻 H
字号:
/***************************************************************************
 *                                                                         *
 *  Copyright 1995 Symbios Logic Incorporated.  All rights reserved.       *
 *                                                                         *
 * This software was written by Symbios Logic Inc. to develop and test new *
 * products.  Symbios Logic assumes no liability for its use. This software*
 * is released to the public domain to illustrate certain programming      *
 * techniques for testing the 53c8xx chips                                 *
 *                                                                         *
 ***************************************************************************/

/*           Name:  GEN_TOOL.H
 *          Title:  Validation test code gen_tool.c header
 *      $Workfile:  $
 *      $Revision:  $
 *       $Modtime:  $
 *     Programmer:  Symbios Logic
 *  Creation Date:  11/29/95
 *
 *  Version History
 *  ---------------
 *
 *    Date    Who?  Description
 *  --------  ----  -------------------------------------------------------
#BeginRevision
 *  03/06/96  SYM   Documented RMWon/off macros
#EndRevision
 *
 *  11/29/95  SYM   Initial Revision.
 *
#BeginDescription
 *
 *  This file contains structures and #defines used by the GEN_TOOL.C source
 *  file.
 *
#EndDescription
 *
 *-------------------------------------------------------------------------
 *
 *  $Header: $
 *
 */

#include "valtypes.h"

/* Used in Writelog function to indicate a basic log entry */
#define LOG_BASIC 0
/* Used in Writelog function to indicate a detail log entry */
#define LOG_DETAIL 1
/* Used in Writelog function to indicate a PASSing test log entry */
#define LOG_PASS 0
/* Used in Writelog function to indicate a FAILing test log entry */
#define LOG_FAIL 1

/* Macro Functions */

/******************************************************************************
 Function: RMWon
	Purpose: Used to turn on a bits in an 8 bit register
	Input: IO port address and mask indicating which bits to turn on
			 1 indicating turn bit on and 0 indicating leave bit alone.
	Output: None
	Assumptions: That the IO port actually exists
	Restrictions: Although IO_Addr is defined as a VULONG it must not
				exceed 16 bits in length as this is the maximum
				IO address the X86 archtecture can produce
	Other functions called: IOWrite8 and IORead8 to write and read to the io port

******************************************************************************/
#define RMWon(reg, value) IOWrite8(reg, IORead8(reg) | value)

/******************************************************************************
 Function: RMWoff
	Purpose: Used to turn off a bits in an 8 bit register
	Input: IO port address and mask indicating which bits to turn off
			 1 indicating turn bit off and 0 indicating leave bit alone.
	Output: None
	Assumptions: That the IO port actually exists
	Restrictions: Although IO_Addr is defined as a VULONG it must not
				exceed 16 bits in length as this is the maximum
				IO address the X86 archtecture can produce
	Other functions called: IOWrite8 and IORead8 to write and read to the io port

******************************************************************************/
#define RMWoff(reg, value) IOWrite8(reg, IORead8(reg) & ~value)

/* function prototypes */
extern VULONG getPhysAddr(void far * addr);
extern VUBYTE IORead8(VULONG IO_Addr);
extern void IOWrite8(VULONG IO_Addr, VUBYTE value);
extern VULONG IORead32(VULONG IO_Addr);
extern void IOWrite32(VULONG IO_Addr, VULONG value);
extern void far *ByteAlignBuffer(void far *buffer, VINT alignment);
extern void far *CacheAlignBuffer(void far *buffer, VINT cls, VINT offset);
extern void InitBuffer(VUBYTE far *buffer, VUINT size, VINT operation,
								VUBYTE fill_val);
extern VULONG Get_Time(void);
extern VINT HasTimeElapsed(VULONG StartTime, VINT Seconds);
extern VINT WriteLog(VINT P_F, VINT B_D, VCHAR *Str1, VCHAR *Str2);
extern VINT VDSActive( void );

/* global ptr for the log file name */
/* didn't really want to do this but to make the WriteLog function work */
/* anywhere without having to pass the flags structure everywhere is was */
/* necessary, this is the only global passed from one file to another */
extern VCHAR *logfilename_ptr;

⌨️ 快捷键说明

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