zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

intsafe.h (44120B) - Raw


      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _INTSAFE_H_INCLUDED_
      8 #define _INTSAFE_H_INCLUDED_
      9 
     10 #include <winapifamily.h>
     11 
     12 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     13 
     14 #include <wtypesbase.h>
     15 #include <specstrings.h>
     16 
     17 #define INTSAFE_E_ARITHMETIC_OVERFLOW ((HRESULT)0x80070216)
     18 
     19 #ifndef S_OK
     20 #define S_OK ((HRESULT)0)
     21 #endif
     22 
     23 #ifdef __clang__
     24 #if __has_builtin(__builtin_add_overflow)
     25 #define __MINGW_INTSAFE_WORKS
     26 #endif
     27 #elif __GNUC__ >= 5
     28 #define __MINGW_INTSAFE_WORKS
     29 #endif
     30 
     31 #ifdef __MINGW_INTSAFE_WORKS
     32 
     33 #ifndef __MINGW_INTSAFE_API
     34 #define __MINGW_INTSAFE_API FORCEINLINE
     35 #endif
     36 
     37 /** If CHAR is unsigned, use static inline for functions that operate
     38 on chars.  This avoids the risk of linking to the wrong function when
     39 different translation units with different types of chars are linked
     40 together, and code using signed chars will not be affected. */
     41 #ifndef __MINGW_INTSAFE_CHAR_API
     42 #ifdef __CHAR_UNSIGNED__
     43 #define __MINGW_INTSAFE_CHAR_API static inline
     44 #else
     45 #define __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_API
     46 #endif
     47 #endif
     48 
     49 #define __MINGW_INTSAFE_BODY(operation, x, y, overflow)	\
     50 { \
     51   if (__builtin_##operation##_overflow(x, y, result)) \
     52   { \
     53       *result = overflow; \
     54       return INTSAFE_E_ARITHMETIC_OVERFLOW; \
     55   } \
     56   return S_OK; \
     57 }
     58 
     59 #define __MINGW_INTSAFE_CONV_UCHAR(name, type_src, type_dest) \
     60     HRESULT name(type_src operand, type_dest * result) \
     61     __MINGW_INTSAFE_BODY(add, operand, 0, 0)
     62 
     63 #define __MINGW_INTSAFE_CONV(name, type_src, type_dest) \
     64     HRESULT name(type_src operand, type_dest * result) \
     65     __MINGW_INTSAFE_BODY(add, operand, 0, ~0)
     66 
     67 #define __MINGW_INTSAFE_MATH(name, type, operation) \
     68     HRESULT name(type x, type y, type * result) \
     69     __MINGW_INTSAFE_BODY(operation, x, y, ~0)
     70 
     71 #ifdef __CHAR_UNSIGNED__
     72 #define __MINGW_INTSAFE_CONV_CHAR __MINGW_INTSAFE_CONV_UCHAR
     73 #else
     74 #define __MINGW_INTSAFE_CONV_CHAR __MINGW_INTSAFE_CONV
     75 #endif
     76 
     77 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UInt8ToInt8, UINT8, INT8)
     78 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(UInt8ToChar, UINT8, CHAR)
     79 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ByteToInt8, BYTE, INT8)
     80 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(ByteToChar, BYTE, CHAR)
     81 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(Int8ToUChar, INT8, UCHAR)
     82 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToUInt8, INT8, UINT8)
     83 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToUShort, INT8, USHORT)
     84 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToUInt, INT8, UINT)
     85 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToULong, INT8, ULONG)
     86 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToUIntPtr, INT8, UINT_PTR)
     87 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToULongPtr, INT8, ULONG_PTR)
     88 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int8ToULongLong, INT8, ULONGLONG)
     89 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(UShortToUChar, USHORT, UCHAR)
     90 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UShortToUInt8, USHORT, UINT8)
     91 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UShortToByte, USHORT, BYTE)
     92 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UShortToInt8, USHORT, INT8)
     93 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UShortToShort, USHORT, SHORT)
     94 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(UShortToChar, USHORT, CHAR)
     95 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(WordToUChar, WORD, UCHAR)
     96 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(WordToByte, WORD, BYTE)
     97 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(WordToShort, WORD, SHORT)
     98 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(WordToChar, WORD, CHAR)
     99 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(ShortToUChar, SHORT, UCHAR)
    100 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToUInt8, SHORT, UINT8)
    101 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToByte, SHORT, BYTE)
    102 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToInt8, SHORT, INT8)
    103 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToUShort, SHORT, USHORT)
    104 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToWord, SHORT, WORD)
    105 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToUInt, SHORT, UINT)
    106 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToULong, SHORT, ULONG)
    107 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToUIntPtr, SHORT, UINT_PTR)
    108 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToULongPtr, SHORT, ULONG_PTR)
    109 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToDWordPtr, SHORT, DWORD_PTR)
    110 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ShortToULongLong, SHORT, ULONGLONG)
    111 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(ShortToChar, SHORT, CHAR)
    112 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(UIntToUChar, UINT, UCHAR)
    113 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToUInt8, UINT, UINT8)
    114 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToByte, UINT, BYTE)
    115 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToInt8, UINT, INT8)
    116 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToUShort, UINT, USHORT)
    117 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToWord, UINT, WORD)
    118 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToShort, UINT, SHORT)
    119 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToLong, UINT, LONG)
    120 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToInt, UINT, INT)
    121 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToIntPtr, UINT, INT_PTR)
    122 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToPtrdiffT, UINT, ptrdiff_t)
    123 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToLongPtr, UINT, LONG_PTR)
    124 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntToSSIZET, UINT, SSIZE_T)
    125 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(UIntToChar, UINT, CHAR)
    126 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(ULongToUChar, ULONG, UCHAR)
    127 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToUInt8, ULONG, UINT8)
    128 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToByte, ULONG, BYTE)
    129 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToInt8, ULONG, INT8)
    130 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToUShort, ULONG, USHORT)
    131 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToWord, ULONG, WORD)
    132 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToShort, ULONG, SHORT)
    133 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToUInt, ULONG, UINT)
    134 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToLong, ULONG, LONG)
    135 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToInt, ULONG, INT)
    136 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToUIntPtr, ULONG, UINT_PTR)
    137 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToIntPtr, ULONG, INT_PTR)
    138 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToPtrdiffT, ULONG, ptrdiff_t)
    139 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToLongPtr, ULONG, LONG_PTR)
    140 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongToSSIZET, ULONG, SSIZE_T)
    141 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(ULongToChar, ULONG, CHAR)
    142 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(DWordToUChar, DWORD, UCHAR)
    143 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToByte, DWORD, BYTE)
    144 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToUShort, DWORD, USHORT)
    145 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToWord, DWORD, WORD)
    146 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToShort, DWORD, SHORT)
    147 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToUInt, DWORD, UINT)
    148 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToLong, DWORD, LONG)
    149 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToInt, DWORD, INT)
    150 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToUIntPtr, DWORD, UINT_PTR)
    151 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToIntPtr, DWORD, INT_PTR)
    152 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToPtrdiffT, DWORD, ptrdiff_t)
    153 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToLongPtr, DWORD, LONG_PTR)
    154 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordToSSIZET, DWORD, SSIZE_T)
    155 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(DWordToChar, DWORD, CHAR)
    156 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(LongToUChar, LONG, UCHAR)
    157 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToUInt8, LONG, UINT8)
    158 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToByte, LONG, BYTE)
    159 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToInt8, LONG, INT8)
    160 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToUShort, LONG, USHORT)
    161 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToWord, LONG, WORD)
    162 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToShort, LONG, SHORT)
    163 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToUInt, LONG, UINT)
    164 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToULong, LONG, ULONG)
    165 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToDWord, LONG, DWORD)
    166 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToInt, LONG, INT)
    167 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToUIntPtr, LONG, UINT_PTR)
    168 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToSizeT, LONG, size_t)
    169 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToULongPtr, LONG, ULONG_PTR)
    170 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToDWordPtr, LONG, DWORD_PTR)
    171 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToIntPtr, LONG, INT_PTR)
    172 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToPtrdiffT, LONG, ptrdiff_t)
    173 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongToULongLong, LONG, ULONGLONG)
    174 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(LongToChar, LONG, CHAR)
    175 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(IntToUChar, INT, UCHAR)
    176 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToUInt8, INT, UINT8)
    177 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToByte, INT, BYTE)
    178 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToInt8, INT, INT8)
    179 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToUShort, INT, USHORT)
    180 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToWord, INT, WORD)
    181 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToShort, INT, SHORT)
    182 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToUInt, INT, UINT)
    183 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToULong, INT, ULONG)
    184 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToDWord, INT, DWORD)
    185 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToUIntPtr, INT, UINT_PTR)
    186 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToSizeT, INT, size_t)
    187 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToULongPtr, INT, ULONG_PTR)
    188 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToDWordPtr, INT, DWORD_PTR)
    189 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntToULongLong, INT, ULONGLONG)
    190 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(IntToChar, INT, CHAR)
    191 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(UIntPtrToUChar, UINT_PTR, UCHAR)
    192 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToUInt8, UINT_PTR, UINT8)
    193 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToInt8, UINT_PTR, INT8)
    194 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToUInt16, UINT_PTR, UINT16)
    195 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToUShort, UINT_PTR, USHORT)
    196 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToInt16, UINT_PTR, INT16)
    197 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToShort, UINT_PTR, SHORT)
    198 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToUInt, UINT_PTR, UINT)
    199 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToULong, UINT_PTR, ULONG)
    200 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToDWord, UINT_PTR, DWORD)
    201 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToLong, UINT_PTR, LONG)
    202 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToInt, UINT_PTR, INT)
    203 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToIntPtr, UINT_PTR, INT_PTR)
    204 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToLongPtr, UINT_PTR, LONG_PTR)
    205 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToSSIZET, UINT_PTR, SSIZE_T)
    206 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToInt64, UINT_PTR, INT64)
    207 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(UIntPtrToLongLong, UINT_PTR, LONGLONG)
    208 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(UIntPtrToChar, UINT_PTR, CHAR)
    209 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToUInt, size_t, UINT)
    210 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToULong, size_t, ULONG)
    211 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToDWord, size_t, DWORD)
    212 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToLong, size_t, LONG)
    213 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToInt, size_t, INT)
    214 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToIntPtr, size_t, INT_PTR)
    215 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToPtrdiffT, size_t, ptrdiff_t)
    216 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToLongPtr, size_t, LONG_PTR)
    217 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToSSIZET, size_t, SSIZE_T)
    218 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToInt64, size_t, INT64)
    219 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SizeTToUInt32, size_t, UINT32)
    220 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(ULongPtrToUChar, ULONG_PTR, UCHAR)
    221 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToUInt8, ULONG_PTR, UINT8)
    222 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToInt8, ULONG_PTR, INT8)
    223 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToUShort, ULONG_PTR, USHORT)
    224 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToShort, ULONG_PTR, SHORT)
    225 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToUInt, ULONG_PTR, UINT)
    226 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToULong, ULONG_PTR, ULONG)
    227 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToDWord, ULONG_PTR, DWORD)
    228 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToLong, ULONG_PTR, LONG)
    229 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToInt, ULONG_PTR, INT)
    230 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToUIntPtr, ULONG_PTR, UINT_PTR)
    231 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToIntPtr, ULONG_PTR, INT_PTR)
    232 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToPtrdiffT, ULONG_PTR, ptrdiff_t)
    233 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToLongPtr, ULONG_PTR, LONG_PTR)
    234 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToSSIZET, ULONG_PTR, SSIZE_T)
    235 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToInt64, ULONG_PTR, INT64)
    236 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongPtrToLongLong, ULONG_PTR, LONGLONG)
    237 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(ULongPtrToChar, ULONG_PTR, CHAR)
    238 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToUInt, DWORD_PTR, UINT)
    239 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToULong, DWORD_PTR, ULONG)
    240 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToDWord, DWORD_PTR, DWORD)
    241 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToLong, DWORD_PTR, LONG)
    242 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToInt, DWORD_PTR, INT)
    243 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToUIntPtr, DWORD_PTR, UINT_PTR)
    244 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToIntPtr, DWORD_PTR, INT_PTR)
    245 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToPtrdiffT, DWORD_PTR, ptrdiff_t)
    246 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToLongPtr, DWORD_PTR, LONG_PTR)
    247 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToSSIZET, DWORD_PTR, SSIZE_T)
    248 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(DWordPtrToInt64, DWORD_PTR, INT64)
    249 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(IntPtrToUChar, INT_PTR, UCHAR)
    250 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToUInt8, INT_PTR, UINT8)
    251 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToInt8, INT_PTR, INT8)
    252 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToUShort, INT_PTR, USHORT)
    253 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToShort, INT_PTR, SHORT)
    254 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToUInt, INT_PTR, UINT)
    255 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToULong, INT_PTR, ULONG)
    256 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToDWord, INT_PTR, DWORD)
    257 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToLong, INT_PTR, LONG)
    258 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToInt, INT_PTR, INT)
    259 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToUIntPtr, INT_PTR, UINT_PTR)
    260 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToSizeT, INT_PTR, size_t)
    261 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToULongPtr, INT_PTR, ULONG_PTR)
    262 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToDWordPtr, INT_PTR, DWORD_PTR)
    263 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToLongPtr, INT_PTR, LONG_PTR)
    264 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(IntPtrToULongLong, INT_PTR, ULONGLONG)
    265 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(IntPtrToChar, INT_PTR, CHAR)
    266 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToUInt, ptrdiff_t, UINT)
    267 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToULong, ptrdiff_t, ULONG)
    268 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToDWord, ptrdiff_t, DWORD)
    269 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToLong, ptrdiff_t, LONG)
    270 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToInt, ptrdiff_t, INT)
    271 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToUIntPtr, ptrdiff_t, UINT_PTR)
    272 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToSizeT, ptrdiff_t, size_t)
    273 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToULongPtr, ptrdiff_t, ULONG_PTR)
    274 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(PtrdiffTToDWordPtr, ptrdiff_t, DWORD_PTR)
    275 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(LongPtrToUChar, LONG_PTR, UCHAR)
    276 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToUInt8, LONG_PTR, UINT8)
    277 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToInt8, LONG_PTR, INT8)
    278 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToUShort, LONG_PTR, USHORT)
    279 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToShort, LONG_PTR, SHORT)
    280 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToUInt, LONG_PTR, UINT)
    281 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToULong, LONG_PTR, ULONG)
    282 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToDWord, LONG_PTR, DWORD)
    283 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToLong, LONG_PTR, LONG)
    284 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToInt, LONG_PTR, INT)
    285 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToUIntPtr, LONG_PTR, UINT_PTR)
    286 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToSizeT, LONG_PTR, size_t)
    287 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToULongPtr, LONG_PTR, ULONG_PTR)
    288 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToDWordPtr, LONG_PTR, DWORD_PTR)
    289 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToIntPtr, LONG_PTR, INT_PTR)
    290 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongPtrToULongLong, LONG_PTR, ULONGLONG)
    291 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(LongPtrToChar, LONG_PTR, CHAR)
    292 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToUInt, SSIZE_T, UINT)
    293 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToULong, SSIZE_T, ULONG)
    294 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToDWord, SSIZE_T, DWORD)
    295 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToLong, SSIZE_T, LONG)
    296 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToInt, SSIZE_T, INT)
    297 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToUIntPtr, SSIZE_T, UINT_PTR)
    298 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToSizeT, SSIZE_T, size_t)
    299 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToULongPtr, SSIZE_T, ULONG_PTR)
    300 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToDWordPtr, SSIZE_T, DWORD_PTR)
    301 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(SSIZETToIntPtr, SSIZE_T, INT_PTR)
    302 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(ULongLongToUChar, ULONGLONG, UCHAR)
    303 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToUInt8, ULONGLONG, UINT8)
    304 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToInt8, ULONGLONG, INT8)
    305 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToUShort, ULONGLONG, USHORT)
    306 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToShort, ULONGLONG, SHORT)
    307 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToUInt, ULONGLONG, UINT)
    308 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToULong, ULONGLONG, ULONG)
    309 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToDWord, ULONGLONG, DWORD)
    310 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToLong, ULONGLONG, LONG)
    311 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToInt, ULONGLONG, INT)
    312 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToUIntPtr, ULONGLONG, UINT_PTR)
    313 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToSizeT, ULONGLONG, size_t)
    314 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToULongPtr, ULONGLONG, ULONG_PTR)
    315 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToDWordPtr, ULONGLONG, DWORD_PTR)
    316 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToIntPtr, ULONGLONG, INT_PTR)
    317 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToPtrdiffT, ULONGLONG, ptrdiff_t)
    318 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToLongPtr, ULONGLONG, LONG_PTR)
    319 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToSSIZET, ULONGLONG, SSIZE_T)
    320 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToInt64, ULONGLONG, INT64)
    321 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(ULongLongToLongLong, ULONGLONG, LONGLONG)
    322 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(ULongLongToChar, ULONGLONG, CHAR)
    323 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToUInt, INT64, UINT)
    324 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToULong, INT64, ULONG)
    325 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToDWord, INT64, DWORD)
    326 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToLong, INT64, LONG)
    327 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToInt, INT64, INT)
    328 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToUIntPtr, INT64, UINT_PTR)
    329 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToSizeT, INT64, size_t)
    330 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToULongPtr, INT64, ULONG_PTR)
    331 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToDWordPtr, INT64, DWORD_PTR)
    332 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToIntPtr, INT64, INT_PTR)
    333 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToPtrdiffT, INT64, ptrdiff_t)
    334 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToLongPtr, INT64, LONG_PTR)
    335 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToSSIZET, INT64, SSIZE_T)
    336 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(Int64ToULongLong, INT64, ULONGLONG)
    337 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV_UCHAR(LongLongToUChar, LONGLONG, UCHAR)
    338 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToUInt8, LONGLONG, UINT8)
    339 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToInt8, LONGLONG, INT8)
    340 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToUShort, LONGLONG, USHORT)
    341 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToShort, LONGLONG, SHORT)
    342 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToUInt, LONGLONG, UINT)
    343 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToULong, LONGLONG, ULONG)
    344 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToLong, LONGLONG, LONG)
    345 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToInt, LONGLONG, INT)
    346 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToIntPtr, LONGLONG, INT_PTR)
    347 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToLongPtr, LONGLONG, LONG_PTR)
    348 __MINGW_INTSAFE_API __MINGW_INTSAFE_CONV(LongLongToULongLong, LONGLONG, ULONGLONG)
    349 __MINGW_INTSAFE_CHAR_API __MINGW_INTSAFE_CONV_CHAR(LongLongToChar, LONGLONG, CHAR)
    350 
    351 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UInt8Add, UINT8, add)
    352 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(Int8Add, INT8, add)
    353 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UShortAdd, USHORT, add)
    354 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(WordAdd, WORD, add)
    355 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ShortAdd, SHORT, add)
    356 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntAdd, UINT, add)
    357 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongAdd, ULONG, add)
    358 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordAdd, DWORD, add)
    359 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongAdd, LONG, add)
    360 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntAdd, INT, add)
    361 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntPtrAdd, UINT_PTR, add)
    362 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SizeTAdd, size_t, add)
    363 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongPtrAdd, ULONG_PTR, add)
    364 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordPtrAdd, DWORD_PTR, add)
    365 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntPtrAdd, INT_PTR, add)
    366 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(PtrdiffTAdd, ptrdiff_t, add)
    367 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongPtrAdd, LONG_PTR, add)
    368 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SIZETAdd, SIZE_T, add)
    369 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SSIZETAdd, SSIZE_T, add)
    370 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongAdd, ULONGLONG, add)
    371 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongAdd, LONGLONG, add)
    372 
    373 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UInt8Sub, UINT8, sub)
    374 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(Int8Sub, INT8, sub)
    375 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UShortSub, USHORT, sub)
    376 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(WordSub, WORD, sub)
    377 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ShortSub, SHORT, sub)
    378 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntSub, UINT, sub)
    379 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongSub, ULONG, sub)
    380 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordSub, DWORD, sub)
    381 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongSub, LONG, sub)
    382 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntSub, INT, sub)
    383 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntPtrSub, UINT_PTR, sub)
    384 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SizeTSub, size_t, sub)
    385 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongPtrSub, ULONG_PTR, sub)
    386 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordPtrSub, DWORD_PTR, sub)
    387 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntPtrSub, INT_PTR, sub)
    388 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(PtrdiffTSub, ptrdiff_t, sub)
    389 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongPtrSub, LONG_PTR, sub)
    390 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SIZETSub, SIZE_T, sub)
    391 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SSIZETSub, SSIZE_T, sub)
    392 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongSub, ULONGLONG, sub)
    393 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongSub, LONGLONG, sub)
    394 
    395 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UInt8Mult, UINT8, mul)
    396 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(Int8Mult, INT8, mul)
    397 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UShortMult, USHORT, mul)
    398 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(WordMult, WORD, mul)
    399 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ShortMult, SHORT, mul)
    400 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntMult, UINT, mul)
    401 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongMult, ULONG, mul)
    402 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordMult, DWORD, mul)
    403 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongMult, LONG, mul)
    404 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntMult, INT, mul)
    405 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(UIntPtrMult, UINT_PTR, mul)
    406 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SizeTMult, size_t, mul)
    407 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongPtrMult, ULONG_PTR, mul)
    408 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(DWordPtrMult, DWORD_PTR, mul)
    409 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(IntPtrMult, INT_PTR, mul)
    410 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(PtrdiffTMult, ptrdiff_t, mul)
    411 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongPtrMult, LONG_PTR, mul)
    412 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SIZETMult, SIZE_T, mul)
    413 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(SSIZETMult, SSIZE_T, mul)
    414 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(ULongLongMult, ULONGLONG, mul)
    415 __MINGW_INTSAFE_API __MINGW_INTSAFE_MATH(LongLongMult, LONGLONG, mul)
    416 
    417 #define Int8ToByte Int8ToUInt8
    418 #define Int8ToUInt16 Int8ToUShort
    419 #define Int8ToWord Int8ToUShort
    420 #define Int8ToUInt32 Int8ToUInt
    421 #define Int8ToDWord Int8ToULong
    422 #define Int8ToDWordPtr Int8ToULongPtr
    423 #define Int8ToDWordLong Int8ToULongLong
    424 #define Int8ToULong64 Int8ToULongLong
    425 #define Int8ToDWord64 Int8ToULongLong
    426 #define Int8ToUInt64 Int8ToULongLong
    427 #define Int8ToSizeT Int8ToUIntPtr
    428 #define Int8ToSIZET Int8ToULongPtr
    429 #define ShortToUInt16 ShortToUShort
    430 #define ShortToUInt32 ShortToUInt
    431 #define ShortToDWord ShortToULong
    432 #define ShortToDWordLong ShortToULongLong
    433 #define ShortToULong64 ShortToULongLong
    434 #define ShortToDWord64 ShortToULongLong
    435 #define ShortToUInt64 ShortToULongLong
    436 #define ShortToSizeT ShortToUIntPtr
    437 #define ShortToSIZET ShortToULongPtr
    438 #define Int16ToChar ShortToChar
    439 #define Int16ToInt8 ShortToInt8
    440 #define Int16ToUChar ShortToUChar
    441 #define Int16ToUInt8 ShortToUInt8
    442 #define Int16ToByte ShortToUInt8
    443 #define Int16ToUShort ShortToUShort
    444 #define Int16ToUInt16 ShortToUShort
    445 #define Int16ToWord ShortToUShort
    446 #define Int16ToUInt ShortToUInt
    447 #define Int16ToUInt32 ShortToUInt
    448 #define Int16ToUIntPtr ShortToUIntPtr
    449 #define Int16ToULong ShortToULong
    450 #define Int16ToULongPtr ShortToULongPtr
    451 #define Int16ToDWord ShortToULong
    452 #define Int16ToDWordPtr ShortToULongPtr
    453 #define Int16ToULongLong ShortToULongLong
    454 #define Int16ToDWordLong ShortToULongLong
    455 #define Int16ToULong64 ShortToULongLong
    456 #define Int16ToDWord64 ShortToULongLong
    457 #define Int16ToUInt64 ShortToULongLong
    458 #define Int16ToSizeT ShortToUIntPtr
    459 #define Int16ToSIZET ShortToULongPtr
    460 #define UShortToInt16 UShortToShort
    461 #define UInt16ToChar UShortToChar
    462 #define UInt16ToInt8 UShortToInt8
    463 #define UInt16ToUChar UShortToUChar
    464 #define UInt16ToUInt8 UShortToUInt8
    465 #define UInt16ToByte UShortToUInt8
    466 #define UInt16ToShort UShortToShort
    467 #define UInt16ToInt16 UShortToShort
    468 #define WordToInt8 UShortToInt8
    469 #define WordToUInt8 UShortToUInt8
    470 #define WordToInt16 UShortToShort
    471 #define IntToInt16 IntToShort
    472 #define IntToUInt16 IntToUShort
    473 #define IntToDWordLong IntToULongLong
    474 #define IntToULong64 IntToULongLong
    475 #define IntToDWord64 IntToULongLong
    476 #define IntToUInt64 IntToULongLong
    477 #define IntToSIZET IntToULongPtr
    478 #define Int32ToChar IntToChar
    479 #define Int32ToInt8 IntToInt8
    480 #define Int32ToUChar IntToUChar
    481 #define Int32ToByte IntToUInt8
    482 #define Int32ToUInt8 IntToUInt8
    483 #define Int32ToShort IntToShort
    484 #define Int32ToInt16 IntToShort
    485 #define Int32ToUShort IntToUShort
    486 #define Int32ToUInt16 IntToUShort
    487 #define Int32ToWord IntToUShort
    488 #define Int32ToUInt IntToUInt
    489 #define Int32ToUInt32 IntToUInt
    490 #define Int32ToUIntPtr IntToUIntPtr
    491 #define Int32ToULong IntToULong
    492 #define Int32ToULongPtr IntToULongPtr
    493 #define Int32ToDWord IntToULong
    494 #define Int32ToDWordPtr IntToULongPtr
    495 #define Int32ToULongLong IntToULongLong
    496 #define Int32ToDWordLong IntToULongLong
    497 #define Int32ToULong64 IntToULongLong
    498 #define Int32ToDWord64 IntToULongLong
    499 #define Int32ToUInt64 IntToULongLong
    500 #define Int32ToSizeT IntToUIntPtr
    501 #define Int32ToSIZET IntToULongPtr
    502 #define IntPtrToByte IntPtrToUInt8
    503 #define IntPtrToInt16 IntPtrToShort
    504 #define IntPtrToUInt16 IntPtrToUShort
    505 #define IntPtrToWord IntPtrToUShort
    506 #define IntPtrToInt32 IntPtrToInt
    507 #define IntPtrToUInt32 IntPtrToUInt
    508 #define IntPtrToDWordLong IntPtrToULongLong
    509 #define IntPtrToULong64 IntPtrToULongLong
    510 #define IntPtrToDWord64 IntPtrToULongLong
    511 #define IntPtrToUInt64 IntPtrToULongLong
    512 #define IntPtrToSIZET IntPtrToULongPtr
    513 #define UIntToInt16 UIntToShort
    514 #define UIntToUInt16 UIntToUShort
    515 #define UIntToInt32 UIntToInt
    516 #define UInt32ToChar UIntToChar
    517 #define UInt32ToInt8 UIntToInt8
    518 #define UInt32ToUChar UIntToUChar
    519 #define UInt32ToUInt8 UIntToUInt8
    520 #define UInt32ToByte UInt32ToUInt8
    521 #define UInt32ToShort UIntToShort
    522 #define UInt32ToInt16 UIntToShort
    523 #define UInt32ToUShort UIntToUShort
    524 #define UInt32ToUInt16 UIntToUShort
    525 #define UInt32ToWord UIntToUShort
    526 #define UInt32ToInt UIntToInt
    527 #define UInt32ToIntPtr UIntToIntPtr
    528 #define UInt32ToInt32 UIntToInt
    529 #define UInt32ToLong UIntToLong
    530 #define UInt32ToLongPtr UIntToLongPtr
    531 #define UInt32ToPtrdiffT UIntToPtrdiffT
    532 #define UInt32ToSSIZET UIntToSSIZET
    533 #define UIntPtrToByte UIntPtrToUInt8
    534 #define UIntPtrToWord UIntPtrToUShort
    535 #define UIntPtrToInt32 UIntPtrToInt
    536 #define UIntPtrToUInt32 UIntPtrToUInt
    537 #define UIntPtrToLong64 UIntPtrToLongLong
    538 #define UIntPtrToPtrdiffT UIntPtrToIntPtr
    539 #define LongToInt16 LongToShort
    540 #define LongToUInt16 LongToUShort
    541 #define LongToInt32 LongToInt
    542 #define LongToUInt32 LongToUInt
    543 #define LongToDWordLong LongToULongLong
    544 #define LongToULong64 LongToULongLong
    545 #define LongToDWord64 LongToULongLong
    546 #define LongToUInt64 LongToULongLong
    547 #define LongToSIZET LongToULongPtr
    548 #define LongPtrToByte LongPtrToUInt8
    549 #define LongPtrToInt16 LongPtrToShort
    550 #define LongPtrToUInt16 LongPtrToUShort
    551 #define LongPtrToWord LongPtrToUShort
    552 #define LongPtrToInt32 LongPtrToInt
    553 #define LongPtrToUInt32 LongPtrToUInt
    554 #define LongPtrToDWordLong LongPtrToULongLong
    555 #define LongPtrToULong64 LongPtrToULongLong
    556 #define LongPtrToDWord64 LongPtrToULongLong
    557 #define LongPtrToUInt64 LongPtrToULongLong
    558 #define LongPtrToSIZET LongPtrToULongPtr
    559 #define ULongToInt16 ULongToShort
    560 #define ULongToUInt16 ULongToUShort
    561 #define ULongToInt32 ULongToInt
    562 #define ULongToUInt32 ULongToUInt
    563 #define ULongPtrToByte ULongPtrToUInt8
    564 #define ULongPtrToInt16 ULongPtrToShort
    565 #define ULongPtrToUInt16 ULongPtrToUShort
    566 #define ULongPtrToWord ULongPtrToUShort
    567 #define ULongPtrToInt32 ULongPtrToInt
    568 #define ULongPtrToUInt32 ULongPtrToUInt
    569 #define ULongPtrToLong64 ULongPtrToLongLong
    570 #define DWordToInt8 ULongToInt8
    571 #define DWordToUInt8 ULongToUInt8
    572 #define DWordToInt16 ULongToShort
    573 #define DWordToUInt16 ULongToUShort
    574 #define DWordToInt32 ULongToInt
    575 #define DWordToUInt32 ULongToUInt
    576 #define DWordPtrToInt8 ULongPtrToInt8
    577 #define DWordPtrToUChar ULongPtrToUChar
    578 #define DWordPtrToChar ULongPtrToChar
    579 #define DWordPtrToUInt8 ULongPtrToUInt8
    580 #define DWordPtrToByte ULongPtrToUInt8
    581 #define DWordPtrToShort ULongPtrToShort
    582 #define DWordPtrToInt16 ULongPtrToShort
    583 #define DWordPtrToUShort ULongPtrToUShort
    584 #define DWordPtrToUInt16 ULongPtrToUShort
    585 #define DWordPtrToWord ULongPtrToUShort
    586 #define DWordPtrToInt32 ULongPtrToInt
    587 #define DWordPtrToUInt32 ULongPtrToUInt
    588 #define DWordPtrToLongLong ULongPtrToLongLong
    589 #define DWordPtrToLong64 ULongPtrToLongLong
    590 #define LongLongToByte LongLongToUInt8
    591 #define LongLongToInt16 LongLongToShort
    592 #define LongLongToUInt16 LongLongToUShort
    593 #define LongLongToWord LongLongToUShort
    594 #define LongLongToInt32 LongLongToInt
    595 #define LongLongToUInt32 LongLongToUInt
    596 #define LongLongToUIntPtr Int64ToUIntPtr
    597 #define LongLongToULongPtr Int64ToULongPtr
    598 #define LongLongToDWord LongLongToULong
    599 #define LongLongToDWordPtr LongLongToULongPtr
    600 #define LongLongToDWordLong LongLongToULongLong
    601 #define LongLongToULong64 LongLongToULongLong
    602 #define LongLongToDWord64 LongLongToULongLong
    603 #define LongLongToUInt64 LongLongToULongLong
    604 #define LongLongToPtrdiffT LongLongToIntPtr
    605 #define LongLongToSizeT LongLongToUIntPtr
    606 #define LongLongToSSIZET LongLongToLongPtr
    607 #define LongLongToSIZET LongLongToULongPtr
    608 #define Long64ToChar LongLongToChar
    609 #define Long64ToInt8 LongLongToInt8
    610 #define Long64ToUChar LongLongToUChar
    611 #define Long64ToUInt8 LongLongToUInt8
    612 #define Long64ToByte LongLongToUInt8
    613 #define Long64ToShort LongLongToShort
    614 #define Long64ToInt16 LongLongToShort
    615 #define Long64ToUShort LongLongToUShort
    616 #define Long64ToUInt16 LongLongToUShort
    617 #define Long64ToWord LongLongToUShort
    618 #define Long64ToInt LongLongToInt
    619 #define Long64ToInt32 LongLongToInt
    620 #define Long64ToIntPtr LongLongToIntPtr
    621 #define Long64ToUInt LongLongToUInt
    622 #define Long64ToUInt32 LongLongToUInt
    623 #define Long64ToUIntPtr LongLongToUIntPtr
    624 #define Long64ToLong LongLongToLong
    625 #define Long64ToLongPtr LongLongToLongPtr
    626 #define Long64ToULong LongLongToULong
    627 #define Long64ToULongPtr LongLongToULongPtr
    628 #define Long64ToDWord LongLongToULong
    629 #define Long64ToDWordPtr LongLongToULongPtr
    630 #define Long64ToULongLong LongLongToULongLong
    631 #define Long64ToPtrdiffT LongLongToIntPtr
    632 #define Long64ToSizeT LongLongToUIntPtr
    633 #define Long64ToSSIZET LongLongToLongPtr
    634 #define Long64ToSIZET LongLongToULongPtr
    635 #define Int64ToChar LongLongToChar
    636 #define Int64ToInt8 LongLongToInt8
    637 #define Int64ToUChar LongLongToUChar
    638 #define Int64ToUInt8 LongLongToUInt8
    639 #define Int64ToByte LongLongToUInt8
    640 #define Int64ToShort LongLongToShort
    641 #define Int64ToInt16 LongLongToShort
    642 #define Int64ToUShort LongLongToUShort
    643 #define Int64ToUInt16 LongLongToUShort
    644 #define Int64ToWord LongLongToUShort
    645 #define Int64ToInt32 LongLongToInt
    646 #define Int64ToUInt32 LongLongToUInt
    647 #define Int64ToDWordLong LongLongToULongLong
    648 #define Int64ToULong64 LongLongToULongLong
    649 #define Int64ToDWord64 LongLongToULongLong
    650 #define Int64ToUInt64 LongLongToULongLong
    651 #define Int64ToSIZET LongLongToULongPtr
    652 #define ULongLongToByte ULongLongToUInt8
    653 #define ULongLongToInt16 ULongLongToShort
    654 #define ULongLongToUInt16 ULongLongToUShort
    655 #define ULongLongToWord ULongLongToUShort
    656 #define ULongLongToInt32 ULongLongToInt
    657 #define ULongLongToUInt32 ULongLongToUInt
    658 #define ULongLongToLong64 ULongLongToLongLong
    659 #define ULongLongToSIZET ULongLongToULongPtr
    660 #define DWordLongToChar ULongLongToChar
    661 #define DWordLongToInt8 ULongLongToInt8
    662 #define DWordLongToUChar ULongLongToUChar
    663 #define DWordLongToUInt8 ULongLongToUInt8
    664 #define DWordLongToByte ULongLongToUInt8
    665 #define DWordLongToShort ULongLongToShort
    666 #define DWordLongToInt16 ULongLongToShort
    667 #define DWordLongToUShort ULongLongToUShort
    668 #define DWordLongToUInt16 ULongLongToUShort
    669 #define DWordLongToWord ULongLongToUShort
    670 #define DWordLongToInt ULongLongToInt
    671 #define DWordLongToInt32 ULongLongToInt
    672 #define DWordLongToIntPtr ULongLongToIntPtr
    673 #define DWordLongToUInt ULongLongToUInt
    674 #define DWordLongToUInt32 ULongLongToUInt
    675 #define DWordLongToUIntPtr ULongLongToUIntPtr
    676 #define DWordLongToLong ULongLongToLong
    677 #define DWordLongToLongPtr ULongLongToLongPtr
    678 #define DWordLongToULong ULongLongToULong
    679 #define DWordLongToULongPtr ULongLongToULongPtr
    680 #define DWordLongToDWord ULongLongToULong
    681 #define DWordLongToDWordPtr ULongLongToULongPtr
    682 #define DWordLongToLongLong ULongLongToLongLong
    683 #define DWordLongToLong64 ULongLongToLongLong
    684 #define DWordLongToInt64 ULongLongToLongLong
    685 #define DWordLongToPtrdiffT ULongLongToIntPtr
    686 #define DWordLongToSizeT ULongLongToUIntPtr
    687 #define DWordLongToSSIZET ULongLongToLongPtr
    688 #define DWordLongToSIZET ULongLongToULongPtr
    689 #define ULong64ToChar ULongLongToChar
    690 #define ULong64ToInt8 ULongLongToInt8
    691 #define ULong64ToUChar ULongLongToUChar
    692 #define ULong64ToUInt8 ULongLongToUInt8
    693 #define ULong64ToByte ULongLongToUInt8
    694 #define ULong64ToShort ULongLongToShort
    695 #define ULong64ToInt16 ULongLongToShort
    696 #define ULong64ToUShort ULongLongToUShort
    697 #define ULong64ToUInt16 ULongLongToUShort
    698 #define ULong64ToWord ULongLongToUShort
    699 #define ULong64ToInt ULongLongToInt
    700 #define ULong64ToInt32 ULongLongToInt
    701 #define ULong64ToIntPtr ULongLongToIntPtr
    702 #define ULong64ToUInt ULongLongToUInt
    703 #define ULong64ToUInt32 ULongLongToUInt
    704 #define ULong64ToUIntPtr ULongLongToUIntPtr
    705 #define ULong64ToLong ULongLongToLong
    706 #define ULong64ToLongPtr ULongLongToLongPtr
    707 #define ULong64ToULong ULongLongToULong
    708 #define ULong64ToULongPtr ULongLongToULongPtr
    709 #define ULong64ToDWord ULongLongToULong
    710 #define ULong64ToDWordPtr ULongLongToULongPtr
    711 #define ULong64ToLongLong ULongLongToLongLong
    712 #define ULong64ToLong64 ULongLongToLongLong
    713 #define ULong64ToInt64 ULongLongToLongLong
    714 #define ULong64ToPtrdiffT ULongLongToIntPtr
    715 #define ULong64ToSizeT ULongLongToUIntPtr
    716 #define ULong64ToSSIZET ULongLongToLongPtr
    717 #define ULong64ToSIZET ULongLongToULongPtr
    718 #define DWord64ToChar ULongLongToChar
    719 #define DWord64ToInt8 ULongLongToInt8
    720 #define DWord64ToUChar ULongLongToUChar
    721 #define DWord64ToUInt8 ULongLongToUInt8
    722 #define DWord64ToByte ULongLongToUInt8
    723 #define DWord64ToShort ULongLongToShort
    724 #define DWord64ToInt16 ULongLongToShort
    725 #define DWord64ToUShort ULongLongToUShort
    726 #define DWord64ToUInt16 ULongLongToUShort
    727 #define DWord64ToWord ULongLongToUShort
    728 #define DWord64ToInt ULongLongToInt
    729 #define DWord64ToInt32 ULongLongToInt
    730 #define DWord64ToIntPtr ULongLongToIntPtr
    731 #define DWord64ToUInt ULongLongToUInt
    732 #define DWord64ToUInt32 ULongLongToUInt
    733 #define DWord64ToUIntPtr ULongLongToUIntPtr
    734 #define DWord64ToLong ULongLongToLong
    735 #define DWord64ToLongPtr ULongLongToLongPtr
    736 #define DWord64ToULong ULongLongToULong
    737 #define DWord64ToULongPtr ULongLongToULongPtr
    738 #define DWord64ToDWord ULongLongToULong
    739 #define DWord64ToDWordPtr ULongLongToULongPtr
    740 #define DWord64ToLongLong ULongLongToLongLong
    741 #define DWord64ToLong64 ULongLongToLongLong
    742 #define DWord64ToInt64 ULongLongToLongLong
    743 #define DWord64ToPtrdiffT ULongLongToIntPtr
    744 #define DWord64ToSizeT ULongLongToUIntPtr
    745 #define DWord64ToSSIZET ULongLongToLongPtr
    746 #define DWord64ToSIZET ULongLongToULongPtr
    747 #define UInt64ToChar ULongLongToChar
    748 #define UInt64ToInt8 ULongLongToInt8
    749 #define UInt64ToUChar ULongLongToUChar
    750 #define UInt64ToUInt8 ULongLongToUInt8
    751 #define UInt64ToByte ULongLongToUInt8
    752 #define UInt64ToShort ULongLongToShort
    753 #define UInt64ToInt16 ULongLongToShort
    754 #define UInt64ToUShort ULongLongToUShort
    755 #define UInt64ToUInt16 ULongLongToUShort
    756 #define UInt64ToWord ULongLongToUShort
    757 #define UInt64ToInt ULongLongToInt
    758 #define UInt64ToInt32 ULongLongToInt
    759 #define UInt64ToIntPtr ULongLongToIntPtr
    760 #define UInt64ToUInt ULongLongToUInt
    761 #define UInt64ToUInt32 ULongLongToUInt
    762 #define UInt64ToUIntPtr ULongLongToUIntPtr
    763 #define UInt64ToLong ULongLongToLong
    764 #define UInt64ToLongPtr ULongLongToLongPtr
    765 #define UInt64ToULong ULongLongToULong
    766 #define UInt64ToULongPtr ULongLongToULongPtr
    767 #define UInt64ToDWord ULongLongToULong
    768 #define UInt64ToDWordPtr ULongLongToULongPtr
    769 #define UInt64ToLongLong ULongLongToLongLong
    770 #define UInt64ToLong64 ULongLongToLongLong
    771 #define UInt64ToInt64 ULongLongToLongLong
    772 #define UInt64ToPtrdiffT ULongLongToIntPtr
    773 #define UInt64ToSizeT ULongLongToUIntPtr
    774 #define UInt64ToSSIZET ULongLongToLongPtr
    775 #define UInt64ToSIZET ULongLongToULongPtr
    776 #define PtrdiffTToChar IntPtrToChar
    777 #define PtrdiffTToInt8 IntPtrToInt8
    778 #define PtrdiffTToUChar IntPtrToUChar
    779 #define PtrdiffTToUInt8 IntPtrToUInt8
    780 #define PtrdiffTToByte IntPtrToUInt8
    781 #define PtrdiffTToShort IntPtrToShort
    782 #define PtrdiffTToInt16 IntPtrToShort
    783 #define PtrdiffTToUShort IntPtrToUShort
    784 #define PtrdiffTToUInt16 IntPtrToUShort
    785 #define PtrdiffTToWord IntPtrToUShort
    786 #define PtrdiffTToInt32 IntPtrToInt
    787 #define PtrdiffTToUInt32 IntPtrToUInt
    788 #define PtrdiffTToLongPtr IntPtrToLongPtr
    789 #define PtrdiffTToULongLong IntPtrToULongLong
    790 #define PtrdiffTToDWordLong IntPtrToULongLong
    791 #define PtrdiffTToULong64 IntPtrToULongLong
    792 #define PtrdiffTToDWord64 IntPtrToULongLong
    793 #define PtrdiffTToUInt64 IntPtrToULongLong
    794 #define PtrdiffTToSIZET IntPtrToULongPtr
    795 #define SizeTToInt8 UIntPtrToInt8
    796 #define SizeTToUChar UIntPtrToUChar
    797 #define SizeTToChar UIntPtrToChar
    798 #define SizeTToUInt8 UIntPtrToUInt8
    799 #define SizeTToByte UIntPtrToUInt8
    800 #define SizeTToShort UIntPtrToShort
    801 #define SizeTToInt16 UIntPtrToShort
    802 #define SizeTToUShort UIntPtrToUShort
    803 #define SizeTToUInt16 UIntPtrToUShort
    804 #define SizeTToWord UIntPtrToUShort
    805 #define SizeTToInt32 UIntPtrToInt
    806 #define SizeTToLongLong UIntPtrToLongLong
    807 #define SizeTToLong64 UIntPtrToLongLong
    808 #define SSIZETToInt8 LongPtrToInt8
    809 #define SSIZETToUChar LongPtrToUChar
    810 #define SSIZETToChar LongPtrToChar
    811 #define SSIZETToUInt8 LongPtrToUInt8
    812 #define SSIZETToByte LongPtrToUInt8
    813 #define SSIZETToShort LongPtrToShort
    814 #define SSIZETToInt16 LongPtrToShort
    815 #define SSIZETToUShort LongPtrToUShort
    816 #define SSIZETToUInt16 LongPtrToUShort
    817 #define SSIZETToWord LongPtrToUShort
    818 #define SSIZETToInt32 LongPtrToInt
    819 #define SSIZETToUInt32 LongPtrToUInt
    820 #define SSIZETToULongLong LongPtrToULongLong
    821 #define SSIZETToDWordLong LongPtrToULongLong
    822 #define SSIZETToULong64 LongPtrToULongLong
    823 #define SSIZETToDWord64 LongPtrToULongLong
    824 #define SSIZETToUInt64 LongPtrToULongLong
    825 #define SSIZETToSIZET LongPtrToULongPtr
    826 #define SIZETToInt8 ULongPtrToInt8
    827 #define SIZETToUChar ULongPtrToUChar
    828 #define SIZETToChar ULongPtrToChar
    829 #define SIZETToUInt8 ULongPtrToUInt8
    830 #define SIZETToByte ULongPtrToUInt8
    831 #define SIZETToShort ULongPtrToShort
    832 #define SIZETToInt16 ULongPtrToShort
    833 #define SIZETToUShort ULongPtrToUShort
    834 #define SIZETToUInt16 ULongPtrToUShort
    835 #define SIZETToWord ULongPtrToUShort
    836 #define SIZETToInt ULongPtrToInt
    837 #define SIZETToInt32 ULongPtrToInt
    838 #define SIZETToIntPtr ULongPtrToIntPtr
    839 #define SIZETToUInt ULongPtrToUInt
    840 #define SIZETToUInt32 ULongPtrToUInt
    841 #define SIZETToUIntPtr ULongPtrToUIntPtr
    842 #define SIZETToLong ULongPtrToLong
    843 #define SIZETToLongPtr ULongPtrToLongPtr
    844 #define SIZETToULong ULongPtrToULong
    845 #define SIZETToDWord ULongPtrToULong
    846 #define SIZETToLongLong ULongPtrToLongLong
    847 #define SIZETToLong64 ULongPtrToLongLong
    848 #define SIZETToInt64 ULongPtrToLongLong
    849 #define SIZETToPtrdiffT ULongPtrToIntPtr
    850 #define SIZETToSSIZET ULongPtrToLongPtr
    851 
    852 #define UInt16Add UShortAdd
    853 #define UInt32Add UIntAdd
    854 #define DWordLongAdd ULongLongAdd
    855 #define ULong64Add ULongLongAdd
    856 #define DWord64Add ULongLongAdd
    857 #define UInt64Add ULongLongAdd
    858 #define UInt16Sub UShortSub
    859 #define UInt32Sub UIntSub
    860 #define DWordLongSub ULongLongSub
    861 #define ULong64Sub ULongLongSub
    862 #define DWord64Sub ULongLongSub
    863 #define UInt64Sub ULongLongSub
    864 #define UInt16Mult UShortMult
    865 #define UInt32Mult UIntMult
    866 #define DWordLongMult ULongLongMult
    867 #define ULong64Mult ULongLongMult
    868 #define DWord64Mult ULongLongMult
    869 #define UInt64Mult ULongLongMult
    870 #define Int16Add ShortAdd
    871 #define Int32Add IntAdd
    872 #define Long32Add IntAdd
    873 #define Long64Add LongLongAdd
    874 #define Int64Add LongLongAdd
    875 #define Int16Sub ShortSub
    876 #define Int32Sub IntSub
    877 #define Long32Sub IntSub
    878 #define Long64Sub LongLongSub
    879 #define Int64Sub LongLongSub
    880 #define Int16Mult ShortMult
    881 #define Int32Mult IntMult
    882 #define Long32Mult IntMult
    883 #define Long64Mult LongLongMult
    884 #define Int64Mult LongLongMult
    885 
    886 #endif /* __MINGW_INTSAFE_WORKS */
    887 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
    888 #endif /* _INTSAFE_H_INCLUDED_ */