Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwindef16.h
Go to the documentation of this file.
00001 /* 00002 * Basic type definitions for 16 bit variations on Windows types. 00003 * These types are provided mostly to insure compatibility with 00004 * 16 bit windows code. 00005 * 00006 * Copyright (C) the Wine project 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00021 */ 00022 00023 #ifndef __WINE_WINDEF16_H 00024 #define __WINE_WINDEF16_H 00025 00026 #ifndef RC_INVOKED 00027 #include <stdarg.h> 00028 #endif 00029 #include <windef.h> 00030 #include <winbase.h> 00031 #ifndef _NTNDK_ 00032 #include <exception.h> // ROS Hack 00033 #endif 00034 /* Standard data types */ 00035 00036 typedef unsigned short BOOL16; 00037 typedef DWORD SEGPTR; 00038 00039 typedef UINT16 HANDLE16; 00040 typedef HANDLE16 *LPHANDLE16; 00041 00042 typedef UINT16 WPARAM16; 00043 typedef INT16 *LPINT16; 00044 typedef UINT16 *LPUINT16; 00045 00046 typedef WORD CATCHBUF[9]; 00047 typedef WORD *LPCATCHBUF; 00048 00049 #define MAKESEGPTR(seg,off) ((SEGPTR)MAKELONG(off,seg)) 00050 #define SELECTOROF(ptr) (HIWORD(ptr)) 00051 #define OFFSETOF(ptr) (LOWORD(ptr)) 00052 00053 typedef WORD *VA_LIST16; 00054 00055 #define __VA_ROUNDED16(type) \ 00056 ((sizeof(type) + sizeof(WORD) - 1) / sizeof(WORD) * sizeof(WORD)) 00057 #define VA_ARG16(list,type) \ 00058 (((list) = (VA_LIST16)((char *)(list) + __VA_ROUNDED16(type))), \ 00059 *((type *)(void *)((char *)(list) - __VA_ROUNDED16(type)))) 00060 00061 #define HFILE_ERROR16 ((HFILE16)-1) 00062 00063 #define DECLARE_HANDLE16(a) \ 00064 typedef HANDLE16 a##16; \ 00065 typedef a##16 *P##a##16; \ 00066 typedef a##16 *NP##a##16; \ 00067 typedef a##16 *LP##a##16 00068 00069 DECLARE_HANDLE16(HACMDRIVERID); 00070 DECLARE_HANDLE16(HACMDRIVER); 00071 DECLARE_HANDLE16(HACMOBJ); 00072 DECLARE_HANDLE16(HACMSTREAM); 00073 DECLARE_HANDLE16(HMETAFILEPICT); 00074 00075 DECLARE_HANDLE16(HACCEL); 00076 DECLARE_HANDLE16(HBITMAP); 00077 DECLARE_HANDLE16(HBRUSH); 00078 DECLARE_HANDLE16(HCOLORSPACE); 00079 DECLARE_HANDLE16(HCURSOR); 00080 DECLARE_HANDLE16(HDC); 00081 DECLARE_HANDLE16(HDROP); 00082 DECLARE_HANDLE16(HDRVR); 00083 DECLARE_HANDLE16(HDWP); 00084 DECLARE_HANDLE16(HENHMETAFILE); 00085 DECLARE_HANDLE16(HFILE); 00086 DECLARE_HANDLE16(HFONT); 00087 DECLARE_HANDLE16(HICON); 00088 DECLARE_HANDLE16(HINSTANCE); 00089 DECLARE_HANDLE16(HKEY); 00090 DECLARE_HANDLE16(HMENU); 00091 DECLARE_HANDLE16(HMETAFILE); 00092 DECLARE_HANDLE16(HMIDI); 00093 DECLARE_HANDLE16(HMIDIIN); 00094 DECLARE_HANDLE16(HMIDIOUT); 00095 DECLARE_HANDLE16(HMIDISTRM); 00096 DECLARE_HANDLE16(HMIXER); 00097 DECLARE_HANDLE16(HMIXEROBJ); 00098 DECLARE_HANDLE16(HMMIO); 00099 DECLARE_HANDLE16(HPALETTE); 00100 DECLARE_HANDLE16(HPEN); 00101 DECLARE_HANDLE16(HQUEUE); 00102 DECLARE_HANDLE16(HRGN); 00103 DECLARE_HANDLE16(HRSRC); 00104 DECLARE_HANDLE16(HTASK); 00105 DECLARE_HANDLE16(HWAVE); 00106 DECLARE_HANDLE16(HWAVEIN); 00107 DECLARE_HANDLE16(HWAVEOUT); 00108 DECLARE_HANDLE16(HWINSTA); 00109 DECLARE_HANDLE16(HDESK); 00110 DECLARE_HANDLE16(HWND); 00111 DECLARE_HANDLE16(HKL); 00112 DECLARE_HANDLE16(HIC); 00113 DECLARE_HANDLE16(HRASCONN); 00114 #undef DECLARE_HANDLE16 00115 00116 typedef HINSTANCE16 HMODULE16; 00117 typedef HANDLE16 HGDIOBJ16; 00118 typedef HANDLE16 HGLOBAL16; 00119 typedef HANDLE16 HLOCAL16; 00120 00121 #include <pshpack1.h> 00122 00123 /* The SIZE structure */ 00124 00125 typedef struct 00126 { 00127 INT16 cx; 00128 INT16 cy; 00129 } SIZE16, *PSIZE16, *LPSIZE16; 00130 00131 /* The POINT structure */ 00132 00133 typedef struct 00134 { 00135 INT16 x; 00136 INT16 y; 00137 } POINT16, *PPOINT16, *LPPOINT16; 00138 00139 /* The RECT structure */ 00140 00141 typedef struct 00142 { 00143 INT16 left; 00144 INT16 top; 00145 INT16 right; 00146 INT16 bottom; 00147 } RECT16, *LPRECT16; 00148 00149 #include <poppack.h> 00150 00151 /* Callback function pointers types */ 00152 00153 typedef LRESULT (CALLBACK *DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM); 00154 typedef BOOL16 (CALLBACK *DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM); 00155 typedef INT16 (CALLBACK *EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16); 00156 typedef LRESULT (CALLBACK *FARPROC16)(); 00157 typedef INT16 (CALLBACK *PROC16)(); 00158 typedef BOOL16 (CALLBACK *GRAYSTRINGPROC16)(HDC16,LPARAM,INT16); 00159 typedef LRESULT (CALLBACK *HOOKPROC16)(INT16,WPARAM16,LPARAM); 00160 typedef BOOL16 (CALLBACK *PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16); 00161 typedef VOID (CALLBACK *TIMERPROC16)(HWND16,UINT16,UINT16,DWORD); 00162 typedef LRESULT (CALLBACK *WNDENUMPROC16)(HWND16,LPARAM); 00163 typedef LRESULT (CALLBACK *WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM); 00164 00165 #endif /* __WINE_WINDEF16_H */ Generated on Fri May 25 2012 04:31:50 for ReactOS by
1.7.6.1
|