|
|
1.1 ! root 1: /* Copyright (C) 2004 TrueCrypt Team, truecrypt.org ! 2: This product uses components written by Paul Le Roux <[email protected]> */ ! 3: ! 4: // Version displayed to user ! 5: #define VERSION_STRING "1.0" ! 6: ! 7: // Version number to compare against driver ! 8: #define VERSION_NUM 0x0100 ! 9: ! 10: // Version number written to volume header during format, ! 11: // specifies the minimum program version required to mount the volume ! 12: #define VOLUME_VERSION_NUM 0x0100 ! 13: ! 14: #define TC_MAX_PATH 260 /* Includes the null terminator */ ! 15: #define SECTOR_SIZE 512 /* sector size */ ! 16: ! 17: #define BYTES_PER_KB 1024 ! 18: #define BYTES_PER_MB 1048576 ! 19: ! 20: /* GUI/driver errors */ ! 21: ! 22: #define ERR_OS_ERROR 1 ! 23: #define ERR_OUTOFMEMORY 2 ! 24: #define ERR_PASSWORD_WRONG 3 ! 25: #define ERR_VOL_FORMAT_BAD 4 ! 26: #define ERR_BAD_DRIVE_LETTER 5 ! 27: #define ERR_DRIVE_NOT_FOUND 6 ! 28: #define ERR_FILES_OPEN 7 ! 29: #define ERR_VOL_SIZE_WRONG 8 ! 30: #define ERR_COMPRESSION_NOT_SUPPORTED 9 ! 31: #define ERR_PASSWORD_CHANGE_VOL_TYPE 10 ! 32: #define ERR_PASSWORD_CHANGE_VOL_VERSION 11 ! 33: #define ERR_VOL_SEEKING 12 ! 34: #define ERR_VOL_WRITING 13 ! 35: #define ERR_FILES_OPEN_LOCK 14 ! 36: #define ERR_VOL_READING 15 ! 37: #define ERR_DRIVER_VERSION 16 ! 38: #define ERR_NEW_VERSION_REQUIRED 17 ! 39: ! 40: #define ERR_VOL_ALREADY_MOUNTED 32 ! 41: #define ERR_NO_FREE_SLOTS 33 ! 42: #define ERR_NO_FREE_DRIVES 34 ! 43: #define ERR_FILE_OPEN_FAILED 35 ! 44: #define ERR_VOL_MOUNT_FAILED 36 ! 45: #define ERR_INVALID_DEVICE 37 ! 46: #define ERR_ACCESS_DENIED 38 ! 47: ! 48: #define MIN_VOLUME_SIZE 19456 ! 49: #define MAX_VOLUME_SIZE 0x7fffFFFFffffFFFFI64 ! 50: ! 51: #define burn(mem,size) \ ! 52: memset(mem,0xff,size); \ ! 53: memset(mem,0,size); ! 54: ! 55: #define WIDE(x) (LPWSTR)L##x ! 56: ! 57: #include <string.h> ! 58: ! 59: #pragma intrinsic(memcmp, memcpy, memset, strcat, strcmp, strcpy, strlen) ! 60: ! 61: #ifdef NT4_DRIVER ! 62: ! 63: #pragma warning( disable : 4201 ) ! 64: #pragma warning( disable : 4214 ) ! 65: #pragma warning( disable : 4115 ) ! 66: #pragma warning( disable : 4100 ) ! 67: #pragma warning( disable : 4101 ) ! 68: #pragma warning( disable : 4057 ) ! 69: #pragma warning( disable : 4244 ) ! 70: #pragma warning( disable : 4514 ) ! 71: #pragma warning( disable : 4127 ) ! 72: ! 73: ! 74: #include <ntddk.h> /* Standard header file for nt drivers */ ! 75: #undef _WIN32_WINNT ! 76: #define _WIN32_WINNT 0x0501 ! 77: #include <ntdddisk.h> /* Standard I/O control codes */ ! 78: #include <ntiologc.h> ! 79: ! 80: #pragma warning( default : 4201 ) ! 81: #pragma warning( default : 4214 ) ! 82: #pragma warning( default : 4115 ) ! 83: #pragma warning( default : 4100 ) ! 84: #pragma warning( default : 4101 ) ! 85: #pragma warning( default : 4057 ) ! 86: #pragma warning( default : 4244 ) ! 87: #pragma warning( default : 4127 ) ! 88: ! 89: /* #pragma warning( default : 4514 ) this warning remains disabled */ ! 90: ! 91: #define TCalloc(size) ((void *) ExAllocatePoolWithTag( NonPagedPool, size, 'MMCT' )) ! 92: #define TCfree(memblock) ExFreePoolWithTag( memblock, 'MMCT' ) ! 93: ! 94: #define DEVICE_DRIVER ! 95: ! 96: #endif /* NT4_DRIVER */ ! 97: ! 98: ! 99: #ifdef WIN9X_DRIVER ! 100: ! 101: #pragma warning( disable : 4047 ) ! 102: ! 103: #include "iosdcls.inc" /* VMM and IOS headers */ ! 104: ! 105: #pragma warning( default : 4047 ) ! 106: ! 107: #include <vwin32.h> ! 108: #include <winerror.h> ! 109: #undef WANTVDXWRAPS ! 110: #pragma warning( disable : 4229 ) ! 111: #include <shell.h> ! 112: #pragma warning( default : 4229 ) ! 113: #pragma hdrstop ! 114: #include <malloc.h> ! 115: #include <vmm.h> ! 116: #include "ifs.h" ! 117: #include <dbt.h> ! 118: #define MBYTE16 3967 ! 119: #define UWORD unsigned short ! 120: #define UBYTE unsigned char ! 121: ! 122: #define MBYTE16 3967 ! 123: ! 124: #define TCalloc(size) _PageAllocate(size % 4096 ? (size/4096)+1 : size/4096,\ ! 125: PG_SYS,0,0,0,MBYTE16,NULL,PAGEZEROINIT|PAGEFIXED|PAGECONTIG|PAGEUSEALIGN); ! 126: ! 127: #define TCfree(memblock) _PageFree(memblock,0) ! 128: ! 129: #define DEVICE_DRIVER ! 130: ! 131: #endif /* WIN9X_DRIVER */ ! 132: ! 133: #ifdef DEVICE_DRIVER ! 134: ! 135: #ifndef BOOL ! 136: typedef int BOOL; ! 137: #endif ! 138: ! 139: #ifndef TRUE ! 140: #define TRUE 1 ! 141: #endif ! 142: ! 143: #ifndef FALSE ! 144: #define FALSE !TRUE ! 145: #endif ! 146: ! 147: /* Define dummies for the drivers */ ! 148: typedef int HFILE; ! 149: typedef unsigned int WPARAM; ! 150: typedef unsigned long LPARAM; ! 151: #define CALLBACK ! 152: ! 153: #ifndef UINT ! 154: typedef unsigned int UINT; ! 155: #endif ! 156: ! 157: #ifndef LRESULT ! 158: typedef unsigned long LRESULT; ! 159: #endif ! 160: ! 161: #else ! 162: ! 163: #define TCalloc malloc ! 164: #define TCfree free ! 165: ! 166: #pragma warning( disable : 4201 ) ! 167: #pragma warning( disable : 4214 ) ! 168: #pragma warning( disable : 4115 ) ! 169: #pragma warning( disable : 4514 ) ! 170: ! 171: #undef _WIN32_WINNT ! 172: #define _WIN32_WINNT 0x0501 ! 173: #include <windows.h> /* Windows header */ ! 174: #include <commctrl.h> /* The common controls */ ! 175: #include <process.h> /* Process control */ ! 176: #include <winioctl.h> ! 177: #include <stdio.h> /* For sprintf */ ! 178: ! 179: #pragma warning( default : 4201 ) ! 180: #pragma warning( default : 4214 ) ! 181: #pragma warning( default : 4115 ) ! 182: ! 183: /* #pragma warning( default : 4514 ) this warning remains disabled */ ! 184: ! 185: /* This is needed to fix a bug with VC 5, the TCHAR macro _ttoi64 maps ! 186: incorrectly to atoi64 when it should be _atoi64 */ ! 187: #define atoi64 _atoi64 ! 188: ! 189: #endif /* DEVICE_DRIVER */ ! 190: ! 191: typedef UINT (_stdcall * diskio_f) (int, void *, UINT); ! 192: ! 193: #pragma hdrstop
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.