www.pudn.com > truecrypt.zip > TCDEFS.H


/* Copyright (C) 2004 TrueCrypt Team, truecrypt.org 
   This product uses components written by Paul Le Roux  */ 
 
// Version displayed to user  
#define VERSION_STRING                  "1.0" 
 
// Version number to compare against driver 
#define VERSION_NUM						0x0100 
 
// Version number written to volume header during format, 
// specifies the minimum program version required to mount the volume 
#define VOLUME_VERSION_NUM				0x0100  
 
#define TC_MAX_PATH						260	/* Includes the null terminator */ 
#define SECTOR_SIZE                     512	/* sector size */ 
 
#define BYTES_PER_KB                    1024	 
#define BYTES_PER_MB                    1048576 
 
/* GUI/driver errors */ 
 
#define ERR_OS_ERROR                    1 
#define ERR_OUTOFMEMORY                 2 
#define ERR_PASSWORD_WRONG              3 
#define ERR_VOL_FORMAT_BAD              4 
#define ERR_BAD_DRIVE_LETTER            5 
#define ERR_DRIVE_NOT_FOUND             6 
#define ERR_FILES_OPEN                  7 
#define ERR_VOL_SIZE_WRONG              8 
#define ERR_COMPRESSION_NOT_SUPPORTED   9 
#define ERR_PASSWORD_CHANGE_VOL_TYPE    10 
#define ERR_PASSWORD_CHANGE_VOL_VERSION 11 
#define ERR_VOL_SEEKING                 12 
#define ERR_VOL_WRITING                 13 
#define ERR_FILES_OPEN_LOCK             14 
#define ERR_VOL_READING                 15 
#define ERR_DRIVER_VERSION				16 
#define ERR_NEW_VERSION_REQUIRED		17 
 
#define ERR_VOL_ALREADY_MOUNTED         32 
#define ERR_NO_FREE_SLOTS               33 
#define ERR_NO_FREE_DRIVES              34 
#define ERR_FILE_OPEN_FAILED            35 
#define ERR_VOL_MOUNT_FAILED            36 
#define ERR_INVALID_DEVICE              37 
#define ERR_ACCESS_DENIED               38 
 
#define MIN_VOLUME_SIZE                 19456 
#define MAX_VOLUME_SIZE                 0x7fffFFFFffffFFFFI64 
 
#define burn(mem,size) \ 
	memset(mem,0xff,size); \ 
	memset(mem,0,size); 
 
#define WIDE(x) (LPWSTR)L##x 
 
#include  
 
#pragma intrinsic(memcmp, memcpy, memset, strcat, strcmp, strcpy, strlen) 
 
#ifdef NT4_DRIVER 
 
#pragma warning( disable : 4201 ) 
#pragma warning( disable : 4214 ) 
#pragma warning( disable : 4115 ) 
#pragma warning( disable : 4100 ) 
#pragma warning( disable : 4101 ) 
#pragma warning( disable : 4057 ) 
#pragma warning( disable : 4244 ) 
#pragma warning( disable : 4514 ) 
#pragma warning( disable : 4127 ) 
 
 
#include 		/* Standard header file for nt drivers */ 
#undef _WIN32_WINNT 
#define	_WIN32_WINNT 0x0501 
#include 		/* Standard I/O control codes  */ 
#include  
 
#pragma warning( default : 4201 ) 
#pragma warning( default : 4214 ) 
#pragma warning( default : 4115 ) 
#pragma warning( default : 4100 ) 
#pragma warning( default : 4101 ) 
#pragma warning( default : 4057 ) 
#pragma warning( default : 4244 ) 
#pragma warning( default : 4127 ) 
 
/* #pragma warning( default : 4514 ) this warning remains disabled */ 
 
#define TCalloc(size) ((void *) ExAllocatePoolWithTag( NonPagedPool, size, 'MMCT' )) 
#define TCfree(memblock) ExFreePoolWithTag( memblock, 'MMCT' ) 
 
#define DEVICE_DRIVER 
 
#endif				/* NT4_DRIVER */ 
 
 
#ifdef WIN9X_DRIVER 
 
#pragma warning( disable : 4047 ) 
 
#include "iosdcls.inc"		/* VMM and IOS headers */ 
 
#pragma warning( default : 4047 ) 
 
#include  
#include  
#undef WANTVDXWRAPS 
#pragma warning( disable : 4229 ) 
#include  
#pragma warning( default : 4229 ) 
#pragma hdrstop 
#include  
#include  
#include "ifs.h" 
#include  
#define MBYTE16 3967 
#define UWORD unsigned short 
#define UBYTE unsigned char 
 
#define MBYTE16 3967 
 
#define TCalloc(size) _PageAllocate(size % 4096 ? (size/4096)+1 : size/4096,\ 
	PG_SYS,0,0,0,MBYTE16,NULL,PAGEZEROINIT|PAGEFIXED|PAGECONTIG|PAGEUSEALIGN); 
 
#define TCfree(memblock) _PageFree(memblock,0) 
 
#define DEVICE_DRIVER 
 
#endif				/* WIN9X_DRIVER */ 
 
#ifdef DEVICE_DRIVER 
 
#ifndef BOOL 
typedef int BOOL; 
#endif 
 
#ifndef TRUE 
#define TRUE 1 
#endif 
 
#ifndef FALSE 
#define FALSE !TRUE 
#endif 
 
/* Define dummies for the drivers */ 
typedef int HFILE; 
typedef unsigned int WPARAM; 
typedef unsigned long LPARAM; 
#define CALLBACK 
 
#ifndef UINT 
typedef unsigned int UINT; 
#endif 
 
#ifndef LRESULT 
typedef unsigned long LRESULT; 
#endif 
 
#else 
 
#define TCalloc malloc 
#define TCfree free 
 
#pragma warning( disable : 4201 ) 
#pragma warning( disable : 4214 ) 
#pragma warning( disable : 4115 ) 
#pragma warning( disable : 4514 ) 
 
#undef _WIN32_WINNT 
#define	_WIN32_WINNT 0x0501 
#include 		/* Windows header */ 
#include 		/* The common controls */ 
#include 		/* Process control */ 
#include  
#include 		/* For sprintf */ 
 
#pragma warning( default : 4201 ) 
#pragma warning( default : 4214 ) 
#pragma warning( default : 4115 ) 
 
/* #pragma warning( default : 4514 ) this warning remains disabled */ 
 
/* This is needed to fix a bug with VC 5, the TCHAR macro _ttoi64 maps 
   incorrectly to atoi64 when it should be _atoi64 */ 
#define atoi64 _atoi64 
 
#endif				/* DEVICE_DRIVER */ 
 
typedef UINT (_stdcall * diskio_f) (int, void *, UINT); 
 
#pragma hdrstop