00001
00009 #ifndef DKUTIL_CSTD_OS_H
00010 #define DKUTIL_CSTD_OS_H
00011
00012
00013
00014 #ifdef WIN32
00015 #ifndef _WIN32_IE
00016 # define _WIN32_IE 0x0200
00017 #endif
00018 #ifndef _WIN32_WINNT
00019 # define _WIN32_WINNT 0x0400
00020 #endif
00021 #ifndef WINVER
00022 # define WINVER 0x0400
00023 #endif
00024 #define WIN32_LEAN_AND_MEAN
00025 #define NOMINMAX
00026 # include <windows.h>
00027 #undef _WIN32_IE
00028 #undef _WIN32_WINNT
00029 #undef WINVER
00030 # undef WIN32_LEAN_AND_MEAN
00031 # undef NOMINMAX
00032
00033 #include <stddef.h>
00034 #else
00035
00036 #include "stddef.h"
00037
00038 #endif
00039
00040 #include "define.h"
00041
00043 #ifndef BOOL
00044 # define BOOL int
00045 #endif
00046 #ifndef TRUE
00047 # define TRUE 1
00048 #endif
00049 #ifndef FALSE
00050 # define FALSE 0
00051 #endif
00052
00053
00054
00055
00056 typedef unsigned long uint32;
00057 typedef unsigned short uint16;
00058 typedef unsigned char uint8;
00059
00060 typedef long int32;
00061 typedef short int16;
00062 typedef char int8;
00063
00064
00065
00066 #ifdef WIN32
00067
00068
00069 typedef ULARGE_INTEGER DKC_UINT64_STRUCT;
00070 typedef LARGE_INTEGER DKC_INT64_STRUCT;
00071
00072
00073 #else
00074
00075 #ifndef ULONGLONG
00076 # define ULONGLONG unsigned long long int
00077 #endif
00078
00079 #ifndef LONGLONG
00080 # define LONGLONG long long int
00081 #endif
00082
00084
00085
00086
00087
00088 typedef union dkc_s64bit_struct {
00089
00090 struct {
00091 uint32 LowPart;
00092 int32 HighPart;
00093 };
00094
00095 struct {
00096 uint32 LowPart;
00097 int32 HighPart;
00098 }u;
00099
00100 LONGLONG QuadPart;
00101 } DKC_INT64_STRUCT;
00102
00103
00104 typedef union dkc_u64bit_struct {
00105
00106 struct {
00107 uint32 LowPart;
00108 uint32 HighPart;
00109 };
00110
00111 struct {
00112 uint32 LowPart;
00113 uint32 HighPart;
00114 } u;
00115
00116 ULONGLONG QuadPart;
00117 } DKC_UINT64_STRUCT;
00118
00119 #endif //end of WIN32
00120
00121 #ifndef uint64
00122 # define uint64 ULONGLONG
00123 #endif
00124
00125 #endif //end of include once
00126