?? ttype.h
字號(hào):
/* * 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: ttype.h * * Purpose: define basic common types and macros * * Author: Tevin Chen * * Date: May 21, 1996 * */#ifndef __TTYPE_H__#define __TTYPE_H__/******* Common definitions and typedefs ***********************************/#ifndef VOID#define VOID void#endif#ifndef CONST#define CONST const#endif#ifndef STATIC#define STATIC static#endif#ifndef IN#define IN#endif#ifndef OUT#define OUT#endif#if! defined(__CPU8051)typedef int BOOL;typedef int BOOLEAN;#else // __CPU8051#define BOOL int#endif // __CPU8051#if !defined(TRUE)#define TRUE 1#endif#if !defined(FALSE)#define FALSE 0#endif#if !defined(SUCCESS)#define SUCCESS 0#endif#if !defined(FAILED)#define FAILED -1#endif/****** Simple typedefs ***************************************************/#if! defined(__CPU8051)/* These lines assume that your compiler's longs are 32 bits and * shorts are 16 bits. It is already assumed that chars are 8 bits, * but it doesn't matter if they're signed or unsigned. */typedef signed char I8; /* 8-bit signed integer */typedef signed short I16; /* 16-bit signed integer */typedef signed long I32; /* 32-bit signed integer */typedef unsigned char U8; /* 8-bit unsigned integer */typedef unsigned short U16; /* 16-bit unsigned integer */typedef unsigned long U32; /* 32-bit unsigned integer */#if defined(__WIN32)typedef signed __int64 I64; /* 64-bit signed integer */typedef unsigned __int64 U64; /* 64-bit unsigned integer */#endif // __WIN32typedef char CHAR;typedef signed short SHORT;typedef signed int INT;typedef signed long LONG;typedef unsigned char UCHAR;typedef unsigned short USHORT;typedef unsigned int UINT;typedef unsigned long ULONG;typedef unsigned long long ULONGLONG; //64 bittypedef unsigned long long ULONGULONG;typedef unsigned char BYTE; // 8-bittypedef unsigned short WORD; // 16-bittypedef unsigned long DWORD; // 32-bit// QWORD is for those situation that we want// an 8-byte-aligned 8 byte long structure// which is NOT really a floating point number.typedef union tagUQuadWord { struct { DWORD dwLowDword; DWORD dwHighDword; } u; double DoNotUseThisField; } UQuadWord; typedef UQuadWord QWORD; // 64-bit#ifndef _TCHAR_DEFINEDtypedef char TCHAR;typedef char* PTCHAR;typedef unsigned char TBYTE;typedef unsigned char* PTBYTE;#define _TCHAR_DEFINED#endif#else // __CPU8051#define U8 unsigned char#define U16 unsigned short#define U32 unsigned long#define USHORT unsigned short#define UINT unsigned int#define BYTE unsigned char#define WORD unsigned short#define DWORD unsigned long#endif // __CPU8051// maybe this should be defined in <limits.h>#define U8_MAX 0xFFU#define U16_MAX 0xFFFFU#define U32_MAX 0xFFFFFFFFUL#define BYTE_MAX 0xFFU#define WORD_MAX 0xFFFFU#define DWORD_MAX 0xFFFFFFFFUL/******* 32-bit vs. 16-bit definitions and typedefs ************************/#if !defined(NULL)#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif // __cplusplus#endif // !NULL#if defined(__WIN32) || defined(__CPU8051)#if !defined(FAR)#define FAR #endif#if !defined(NEAR)#define NEAR #endif#if !defined(DEF)#define DEF#endif#if !defined(CALLBACK)#define CALLBACK #endif#else // !__WIN32__#if !defined(FAR)#define FAR #endif#if !defined(NEAR)#define NEAR #endif#if !defined(DEF)// default pointer type is FAR, if you want near pointer just redefine it to NEAR#define DEF #endif#if !defined(CALLBACK)#define CALLBACK #endif#endif // !__WIN32__/****** Common pointer types ***********************************************/#if! defined(__CPU8051)typedef signed char DEF* PI8;typedef signed short DEF* PI16;typedef signed long DEF* PI32;typedef unsigned char DEF* PU8;typedef unsigned short DEF* PU16;typedef unsigned long DEF* PU32;#if defined(__WIN32)typedef signed __int64 DEF* PI64;typedef unsigned __int64 DEF* PU64;#endif // __WIN32#if !defined(_WIN64)typedef unsigned long ULONG_PTR; // 32-bittypedef unsigned long DWORD_PTR; // 32-bit#endif // _WIN64// boolean pointertypedef int DEF* PBOOL;typedef int NEAR* NPBOOL;typedef int FAR* LPBOOL;typedef int DEF* PINT;typedef int NEAR* NPINT;typedef int FAR* LPINT;typedef const int DEF* PCINT;typedef const int NEAR* NPCINT;typedef const int FAR* LPCINT;typedef unsigned int DEF* PUINT;typedef const unsigned int DEF* PCUINT;typedef long DEF* PLONG;typedef long NEAR* NPLONG;typedef long FAR* LPLONG;//typedef const long DEF* PCLONG;typedef const long NEAR* NPCLONG;typedef const long FAR* LPCLONG;typedef BYTE DEF* PBYTE;typedef BYTE NEAR* NPBYTE;typedef BYTE FAR* LPBYTE;typedef const BYTE DEF* PCBYTE;typedef const BYTE NEAR* NPCBYTE;typedef const BYTE FAR* LPCBYTE;typedef WORD DEF* PWORD;typedef WORD NEAR* NPWORD;typedef WORD FAR* LPWORD;typedef const WORD DEF* PCWORD;typedef const WORD NEAR* NPCWORD;typedef const WORD FAR* LPCWORD;typedef DWORD DEF* PDWORD;typedef DWORD NEAR* NPDWORD;typedef DWORD FAR* LPDWORD;typedef const DWORD DEF* PCDWORD;typedef const DWORD NEAR* NPCDWORD;typedef const DWORD FAR* LPCDWORD;typedef QWORD DEF* PQWORD;typedef QWORD NEAR* NPQWORD;typedef QWORD FAR* LPQWORD;typedef const QWORD DEF* PCQWORD;typedef const QWORD NEAR* NPCQWORD;typedef const QWORD FAR* LPCQWORD;typedef void DEF* PVOID;typedef void NEAR* NPVOID;typedef void FAR* LPVOID;// handle declaration#ifdef STRICTtypedef void *HANDLE;#elsetypedef PVOID HANDLE;#endif//// ANSI (Single-byte Character) types//typedef char DEF* PCH;typedef char NEAR* NPCH;typedef char FAR* LPCH;typedef const char DEF* PCCH;typedef const char NEAR* NPCCH;typedef const char FAR* LPCCH;typedef char DEF* PSTR;typedef char NEAR* NPSTR;typedef char FAR* LPSTR;typedef const char DEF* PCSTR;typedef const char NEAR* NPCSTR;typedef const char FAR* LPCSTR;#endif // !__CPU8051/****** Misc definitions, types ********************************************/// parameter prefix#ifndef IN#define IN#endif#ifndef OUT#define OUT#endif// unreferenced parameter macro to avoid warning message in MS C#if defined(__TURBOC__)//you should use "#pragma argsused" to avoid warning message in Borland C#ifndef UNREFERENCED_PARAMETER#define UNREFERENCED_PARAMETER(x) #endif#else#ifndef UNREFERENCED_PARAMETER//#define UNREFERENCED_PARAMETER(x) x#define UNREFERENCED_PARAMETER(x) #endif#endif// in-line assembly prefix#if defined(__TURBOC__)#define ASM asm#else // !__TURBOC__#define ASM _asm#endif // !__TURBOC__#endif // __TTYPE_H__
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -