u_macro.h

来自「EPSON USB DEVICE MASS-STORAGE CLASS driv」· C头文件 代码 · 共 72 行

H
72
字号
/******************************************************************************
 * File name   : macro.h
 * Module name : Macro declaration
 * Author	   : Hiromichi Kondo
 *-----------------------------------------------------------------------------
 * $Id: macro.h,v 1.1 2003/04/16 06:56:40 9551619 Exp $
 *****************************************************************************/

#ifndef _MACRO_H_
#define	_MACRO_H_

/*--- TYPEDEF  ---------------------------------------------------------*/
typedef	unsigned char	BYTE;
typedef	unsigned short	WORD;
typedef unsigned long	DWORD;


/*---------------------------------------------------------------------------
 * 
 * GLBREAL GLBREAL 
 * 
 */
#ifdef GLBREAL
#define GLOBAL	/**/
#define GLOBALC
#else /* GLBREAL */
#define GLOBAL	extern
#define GLOBALC	extern
#endif /* GLBREAL */

#define NULL ((void *)0L)/* null pointer */

/*  */
#define	DIRECT_B(a)	*(unsigned char *)&(a)

/* 168 */
#define WORD2BYTE_H(w)				((BYTE)((w) >> 8))
#define WORD2BYTE_L(w)				((BYTE)((w) 	))

/* 328 */
#define DWORD2BYTE_HH(dw)			((BYTE)((dw) >> 24))
#define DWORD2BYTE_HL(dw)			((BYTE)((dw) >> 16))
#define DWORD2BYTE_LH(dw)			((BYTE)((dw) >>  8))
#define DWORD2BYTE_LL(dw)			((BYTE)((dw)	  ))

/* 16 */
#define MKWORD(bh,bl)				((((WORD)(bh)) << 8) + (WORD)(bl))

/* 3216 */
#define DWORD2WORD_H(w)				((WORD)((w) >> 16))
#define DWORD2WORD_L(w)				((WORD)((w) 	))

/* 32 */
#define MKDWORD(bhh,bhl,blh,bll)	((((DWORD)(bhh)) << 24) + \
									(((DWORD)(bhl)) << 16) + \
									(((DWORD)(blh)) <<	8) + \
									(DWORD)(bll))

/*  */
#define WD(pw)						(((BYTE *)(pw))[1] * 256U + ((BYTE *)(pw))[0])

/*  */
#ifdef LITTLE
#define W(bh,bl)					(0x ## bh ## bl)
#else
#define W(bh,bl)					(0x ## bl ## bh)
#endif


#endif /* _MACRO_H_ */

⌨️ 快捷键说明

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