move a few more headers to the PSDK Deleted: trunk/reactos/include/wine/msiquery.h Deleted: trunk/reactos/include/wine/npapi.h Deleted: trunk/reactos/include/wine/winternl.h Modified: trunk/reactos/lib/crt/except/unwind.c Modified: trunk/reactos/lib/crt/wine/cpp.c Modified: trunk/reactos/lib/crt/wine/cppexcept.c Added: trunk/reactos/w32api/include/msiquery.h Added: trunk/reactos/w32api/include/npapi.h Modified: trunk/reactos/w32api/include/wininet.h Added: trunk/reactos/w32api/include/winternl.h _____
Deleted: trunk/reactos/include/wine/msiquery.h --- trunk/reactos/include/wine/msiquery.h 2005-06-28 23:36:28 UTC (rev 16318) +++ trunk/reactos/include/wine/msiquery.h 2005-06-29 00:11:39 UTC (rev 16319) @@ -1,180 +0,0 @@
-/* - * Copyright (C) 2002,2003 Mike McCormack - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __WINE_MSIQUERY_H -#define __WINE_MSIQUERY_H - -#include <msi.h> - -typedef enum tagMSICONDITION -{ - MSICONDITION_FALSE = 0, - MSICONDITION_TRUE = 1, - MSICONDITION_NONE = 2, - MSICONDITION_ERROR = 3, -} MSICONDITION; - -#define MSI_NULL_INTEGER 0x80000000 - -typedef enum tagMSICOLINFO -{ - MSICOLINFO_NAMES = 0, - MSICOLINFO_TYPES = 1 -} MSICOLINFO; - -typedef enum tagMSIMODIFY -{ - MSIMODIFY_REFRESH = 0, - MSIMODIFY_INSERT = 1, - MSIMODIFY_UPDATE = 2, - MSIMODIFY_ASSIGN = 3, - MSIMODIFY_REPLACE = 4, - MSIMODIFY_MERGE = 5, - MSIMODIFY_DELETE = 6, - MSIMODIFY_INSERT_TEMPORARY = 7, - MSIMODIFY_VALIDATE = 8, - MSIMODIFY_VALIDATE_NEW = 9, - MSIMODIFY_VALIDATE_FIELD = 10, - MSIMODIFY_VALIDATE_DELETE = 11 -} MSIMODIFY; - -#define MSI_NULL_INTEGER 0x80000000 - -#define MSIDBOPEN_READONLY (LPCTSTR)0 -#define MSIDBOPEN_TRANSACT (LPCTSTR)1 -#define MSIDBOPEN_DIRECT (LPCTSTR)2 -#define MSIDBOPEN_CREATE (LPCTSTR)3 -#define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4 - -typedef enum tagMSIRUNMODE -{ - MSIRUNMODE_ADMIN = 0, - MSIRUNMODE_ADVERTISE = 1, - MSIRUNMODE_MAINTENANCE = 2, - MSIRUNMODE_ROLLBACKENABLED = 3, - MSIRUNMODE_LOGENABLED = 4, - MSIRUNMODE_OPERATIONS = 5, - MSIRUNMODE_REBOOTATEND = 6, - MSIRUNMODE_REBOOTNOW = 7, - MSIRUNMODE_CABINET = 8, - MSIRUNMODE_SOURCESHORTNAMES = 9, - MSIRUNMODE_TARGETSHORTNAMES = 10, - MSIRUNMODE_RESERVED11 = 11, - MSIRUNMODE_WINDOWS9X = 12, - MSIRUNMODE_ZAWENABLED = 13, - MSIRUNMODE_RESERVED14 = 14, - MSIRUNMODE_RESERVED15 = 15, - MSIRUNMODE_SCHEDULED = 16, - MSIRUNMODE_ROLLBACK = 17, - MSIRUNMODE_COMMIT = 18 -} MSIRUNMODE; - -/* view manipulation */ -UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*); -UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE); -UINT WINAPI MsiViewClose(MSIHANDLE); -UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*); -UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*); -#define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView) - -/* record manipulation */ -MSIHANDLE WINAPI MsiCreateRecord(unsigned int); -UINT WINAPI MsiRecordClearData(MSIHANDLE); -UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int); -UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR); -UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR); -#define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString) -UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*); -UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*); -#define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString) -UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE); -int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int); -UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int); -BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int); -UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*); -UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*); -#define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord) -UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR); -UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR); -#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream) -UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *); - -UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*); -UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*); -#define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys) - -/* installing */ -UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR ); -UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR ); -#define MsiDoAction WINELIB_NAME_AW(MsiDoAction) - -/* database transforms */ -UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int); -UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int); -#define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform) -UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int); -UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int); -#define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform) - -UINT WINAPI MsiDatabaseCommit(MSIHANDLE); - -/* install state */ -UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*); -UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*); -#define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState) -UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*); -UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*); -#define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState) - -MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR); -MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR); -#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition) - -/* property functions */ -UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*); -UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*); -#define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty) - -UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR); -UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR); -#define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty) - -UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*); -UINT WINAPI MsiGetTargetPathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*); -#define MsiGetTargetPath WINELIB_NAME_AW(MsiGetTargetPath) - -UINT WINAPI MsiSetTargetPathA(MSIHANDLE, LPCSTR, LPCSTR); -UINT WINAPI MsiSetTargetPathW(MSIHANDLE, LPCWSTR, LPCWSTR); -#define MsiSetTargetPath WINELIB_NAME_AW(MsiSetTargetPath) - -UINT WINAPI MsiGetSourcePathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*); -UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*); -#define MsiGetSourcePath WINELIB_NAME_AW(MsiGetSourcePath) - -MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE); - -UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*); -INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE); - -UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE); -UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE); -#define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState) - -BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE); - -#endif /* __WINE_MSIQUERY_H */ _____
Deleted: trunk/reactos/include/wine/npapi.h --- trunk/reactos/include/wine/npapi.h 2005-06-28 23:36:28 UTC (rev 16318) +++ trunk/reactos/include/wine/npapi.h 2005-06-29 00:11:39 UTC (rev 16319) @@ -1,203 +0,0 @@
-/* - * Copyright (C) 2004 Juan Lang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef __WINE_NPAPI_H__ -#define __WINE_NPAPI_H__ - -/* capabilities */ -#define WNNC_SPEC_VERSION 0x00000001 -#define WNNC_SPEC_VERSION51 0x00050001 -#define WNNC_NET_TYPE 0x00000002 -#define WNNC_NET_NONE 0x00000000 - -#define WNNC_DRIVER_VERSION 0x00000003 - -#define WNNC_USER 0x00000004 -#define WNNC_USR_GETUSER 0x00000001 - -#define WNNC_CONNECTION 0x00000006 -#define WNNC_CON_ADDCONNECTION 0x00000001 -#define WNNC_CON_CANCELCONNECTION 0x00000002 -#define WNNC_CON_GETCONNECTIONS 0x00000004 -#define WNNC_CON_ADDCONNECTION3 0x00000008 - -#define WNNC_DIALOG 0x00000008 -#define WNNC_DLG_DEVICEMODE 0x00000001 -#define WNNC_DLG_PROPERTYDIALOG 0x00000020 -#define WNNC_DLG_SEARCHDIALOG 0x00000040 -#define WNNC_DLG_FORMATNETWORKNAME 0x00000080 - -#define WNNC_ADMIN 0x00000009 -#define WNNC_ADM_GETDIRECTORYTYPE 0x00000001 -#define WNNC_ADM_DIRECTORYNOTIFY 0x00000002 - -#define WNNC_ENUMERATION 0x0000000b -#define WNNC_ENUM_GLOBAL 0x00000001 -#define WNNC_ENUM_LOCAL 0x00000002 - -#define WNNC_START 0x0000000c -#define WNNC_WAIT_FOR_START 0x00000001 - -typedef DWORD APIENTRY (*PF_NPGetCaps)(DWORD ndex); - -/* get user */ -typedef DWORD APIENTRY (*PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName, - LPDWORD lpnBufferLen); - -/* enumeration-related */ -typedef DWORD APIENTRY (*PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage, - LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum); -typedef DWORD APIENTRY (*PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount, - LPVOID lpBuffer, LPDWORD lpBufferSize); -typedef DWORD APIENTRY (*PF_NPCloseEnum)(HANDLE hEnum); - -/* connection-related */ -typedef DWORD APIENTRY (*PF_NPAddConnection)(LPNETRESOURCEW lpNetResource, - LPWSTR lpPassword, LPWSTR lpUserName); -typedef DWORD APIENTRY (*PF_NPAddConnection3)(HWND hwndOwner, - LPNETRESOURCEW lpNetResource, LPWSTR lpPassword, LPWSTR lpUserName, - DWORD dwFlags); -typedef DWORD APIENTRY (*PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce); -typedef DWORD APIENTRY (*PF_NPGetConnection)(LPWSTR lpLocalName, - LPWSTR lpRemoteName, LPDWORD lpnBufferLen); - -/* network name manipulation */ -typedef DWORD APIENTRY (*PF_NPGetUniversalName)(LPWSTR lpLocalPath, - DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpnBufferSize); -typedef DWORD APIENTRY (*PF_NPFormatNetworkName)(LPWSTR lpRemoteName, - LPWSTR lpFormattedName, LPDWORD lpnLength, DWORD dwFlags, - DWORD dwAveCharPerLine); - -/* dialogs */ -typedef DWORD APIENTRY (*PF_NPDeviceMode)(HWND hParent); - -/* search dialog */ -#define WNSRCH_REFRESH_FIRST_LEVEL 0x00000001 - -typedef DWORD APIENTRY (*PF_NPSearchDialog)(HWND hwndParent, - LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, DWORD cbBuffer, - LPDWORD lpnFlags); - -/* property dialog */ - -#define WNTYPE_DRIVE 1 -#define WNTYPE_FILE 2 -#define WNTYPE_PRINTER 3 -#define WNTYPE_COMM 4 - -#define WNPS_FILE 0 -#define WNPS_DIR 1 -#define WNPS_MULT 2 - -typedef DWORD APIENTRY (*PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel, - LPWSTR lpName, LPWSTR lpButtonName, DWORD nButtonNameLen, DWORD nType); - -typedef DWORD APIENTRY (*PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg, - DWORD nPropSel, LPWSTR lpFileName, DWORD nType); - -/* admin */ -#define WNDT_NORMAL 0 -#define WNDT_NETWORK 1 - -#define WNDN_MKDIR 1 -#define WNDN_RMDIR 2 -#define WNDN_MVDIR 3 - -typedef DWORD APIENTRY (*PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType, - BOOL bFlushCache); -typedef DWORD APIENTRY (*PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir, - DWORD dwOper); - -/* permission editor dialogs */ -#define WNPERMC_PERM 0x00000001 -#define WNPERMC_AUDIT 0x00000002 -#define WNPERMC_OWNER 0x00000004 - -typedef DWORD APIENTRY (*PF_NPFMXGetPermCaps)(LPWSTR lpDriveName); - -#define WNPERM_DLG_PERM 0 -#define WNPERM_DLG_AUDIT 1 -#define WNPERM_DLG_OWNER 2 - -typedef DWORD APIENTRY (*PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX, - DWORD nDialogType); - -typedef DWORD APIENTRY (*PF_NPFMXGetPermHelp)(LPWSTR lpDriveName, - DWORD nDialogType, BOOL fDirectory, LPVOID lpFileNameBuffer, - LPDWORD lpBufferSize, LPDWORD lpnHelpContext); - -VOID WINAPI WNetSetLastErrorA(DWORD err, LPSTR lpError, LPSTR lpProviders); -VOID WINAPI WNetSetLastErrorW(DWORD err, LPWSTR lpError, LPWSTR lpProviders); -#define WNetSetLastError WINELIB_NAME_AW(WNetSetLastError) - -/* provider classes */ -#define WN_NETWORK_CLASS 0x00000001 -#define WN_CREDENTIAL_CLASS 0x00000002 -#define WN_PRIMARY_AUTHENT_CLASS 0x00000004 -#define WN_SERVICE_CLASS 0x00000008 - -#define WN_VALID_LOGON_ACCOUNT 0x00000001 -#define WN_NT_PASSWORD_CHANGED 0x00000002 - -/* notifications */ -typedef DWORD APIENTRY (*PF_NPLogonNotify)(PLUID lpLogonId, - LPCWSTR lpAuthentInfoType, LPVOID lpAuthentInfo, - LPCWSTR lpPreviousAuthentInfoType, LPVOID lpPreviousAuthentInfo, - LPWSTR lpStationName, LPVOID StationHandle, LPWSTR *lpLogonScript); -typedef DWORD APIENTRY (*PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType, - LPVOID lpAuthentInfo, LPCWSTR lpPreviousAuthentInfoType, - LPVOID lpPreviousAuthentInfo, LPWSTR lpStationName, LPVOID StationHandle, - DWORD dwChangeInfo); - -#define NOTIFY_PRE 0x00000001 -#define NOTIFY_POST 0x00000002 - -typedef struct _NOTIFYINFO -{ - DWORD dwNotifyStatus; - DWORD dwOperationStatus; - LPVOID lpContext; -} NOTIFYINFO, *LPNOTIFYINFO; - -/* FIXME: NetResource is declared as a NETRESOURCE in psdk, not a NETRESOURCEW, - * but how can the type change in a service provider? Defaulting to wide-char - * for consistency with the rest of the api. - */ -typedef struct _NOTIFYADD -{ - HWND hwndOwner; - NETRESOURCEW NetResource; - DWORD dwAddFlags; -} NOTIFYADD, *LPNOTIFYADD; - -/* FIXME: lpName and lpProvider are declared as LPTSTRs in psdk, but again - * for consistency with rest of api defaulting to LPWSTRs. - */ -typedef struct _NOTIFYCANCEL -{ - LPWSTR lpName; - LPWSTR lpProvider; - DWORD dwFlags; - BOOL fForce; -} NOTIFYCANCEL, *LPNOTIFYCANCEL; - -typedef DWORD APIENTRY (*PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo, - LPNOTIFYADD lpAddInfo); -typedef DWORD APIENTRY (*PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo, - LPNOTIFYADD lpAddInfo); - -#endif /* ndef __WINE_NPAPI_H__ */ _____
Deleted: trunk/reactos/include/wine/winternl.h --- trunk/reactos/include/wine/winternl.h 2005-06-28 23:36:28 UTC (rev 16318) +++ trunk/reactos/include/wine/winternl.h 2005-06-29 00:11:39 UTC (rev 16319) @@ -1,1475 +0,0 @@
-/* - * Internal NT APIs and data structures - * - * Copyright (C) the Wine project - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __WINE_WINTERNAL_H -#define __WINE_WINTERNAL_H - -#include <windef.h> -#include <wine/winnt.h> - -#ifdef __cplusplus -extern "C" { -#endif /* defined(__cplusplus) */ - - -/********************************************************************** - * Fundamental types and data structures - */ - -typedef LONG NTSTATUS, *PNTSTATUS; - -typedef CONST char *PCSZ; - -typedef short CSHORT; -typedef CSHORT *PCSHORT; - -typedef struct _STRING { - USHORT Length; - USHORT MaximumLength; - PCHAR Buffer; -} STRING, *PSTRING; - -typedef STRING ANSI_STRING; -typedef PSTRING PANSI_STRING; -typedef const STRING *PCANSI_STRING; - -typedef STRING OEM_STRING; -typedef PSTRING POEM_STRING; -typedef const STRING *PCOEM_STRING; - -typedef struct _UNICODE_STRING { - USHORT Length; /* bytes */ - USHORT MaximumLength; /* bytes */ - PWSTR Buffer; -} UNICODE_STRING, *PUNICODE_STRING; - -typedef const UNICODE_STRING *PCUNICODE_STRING; - -typedef struct _CLIENT_ID -{ - HANDLE UniqueProcess; - HANDLE UniqueThread; -} CLIENT_ID, *PCLIENT_ID; - -typedef struct _CURDIR -{ - UNICODE_STRING DosPath; - PVOID Handle; -} CURDIR, *PCURDIR; - -typedef struct RTL_DRIVE_LETTER_CURDIR -{ - USHORT Flags; - USHORT Length; - ULONG TimeStamp; - UNICODE_STRING DosPath; -} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR; - -typedef struct tagRTL_BITMAP { - ULONG SizeOfBitMap; /* Number of bits in the bitmap */ - LPBYTE BitMapBuffer; /* Bitmap data, assumed sized to a DWORD boundary */ -} RTL_BITMAP, *PRTL_BITMAP; - -typedef const RTL_BITMAP *PCRTL_BITMAP; - -typedef struct tagRTL_BITMAP_RUN { - ULONG StartOfRun; /* Bit position at which run starts - FIXME: Name? */ - ULONG SizeOfRun; /* Size of the run in bits - FIXME: Name? */ -} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN; - -typedef const RTL_BITMAP_RUN *PCRTL_BITMAP_RUN; - -typedef struct _RTL_USER_PROCESS_PARAMETERS -{ - ULONG AllocationSize; - ULONG Size; - ULONG Flags; - ULONG DebugFlags; - HANDLE hConsole; - ULONG ProcessGroup; - HANDLE hStdInput; - HANDLE hStdOutput; - HANDLE hStdError; - UNICODE_STRING CurrentDirectoryName; - HANDLE CurrentDirectoryHandle; - UNICODE_STRING DllPath; - UNICODE_STRING ImagePathName; - UNICODE_STRING CommandLine; - PWSTR Environment; - ULONG dwX; - ULONG dwY; - ULONG dwXSize; - ULONG dwYSize; - ULONG dwXCountChars; - ULONG dwYCountChars; - ULONG dwFillAttribute; - ULONG dwFlags; - ULONG wShowWindow; - UNICODE_STRING WindowTitle; - UNICODE_STRING Desktop; - UNICODE_STRING ShellInfo; - UNICODE_STRING RuntimeInfo; - RTL_DRIVE_LETTER_CURDIR DLCurrentDirectory[0x20]; -} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS; - -/* value for Flags field (FIXME: not the correct name) */ -#define PROCESS_PARAMS_FLAG_NORMALIZED 1 - -typedef struct _PEB_LDR_DATA -{ - ULONG Length; - BOOLEAN Initialized; - PVOID SsHandle; - LIST_ENTRY InLoadOrderModuleList; - LIST_ENTRY InMemoryOrderModuleList; - LIST_ENTRY InInitializationOrderModuleList; -} PEB_LDR_DATA, *PPEB_LDR_DATA; - -/********************************************************************** * - * PEB data structure - */ -typedef struct _PEB -{ - BYTE Reserved1[2]; /* 00 */ - BYTE BeingDebugged; /* 02 */ - BYTE Reserved2[5]; /* 03 */ - HMODULE ImageBaseAddress; /* 08 */ - PPEB_LDR_DATA LdrData; /* 0c */ - RTL_USER_PROCESS_PARAMETERS *ProcessParameters; /* 10 */ - PVOID __pad_14; /* 14 */ - HANDLE ProcessHeap; /* 18 */ - BYTE __pad_1c[36]; /* 1c */ - PRTL_BITMAP TlsBitmap; /* 40 */ - ULONG TlsBitmapBits[2]; /* 44 */ - BYTE __pad_4c[104]; /* 4c */ - ULONG ImageSubSystem; /* b4 */ - BYTE __pad_b8[48]; /* b8 */ - PVOID Reserved3[59]; /* e8 */ - ULONG SessionId; /* 1d4 */ -} PEB, *PPEB; - - -/********************************************************************** * - * TEB data structure - */ -#if defined(_NTSYSTEM_) || defined(_KERNEL32_) /* hack, should go away */ -# define WINE_NO_TEB -#endif - -#ifndef WINE_NO_TEB /* don't define TEB if included from thread.h */ -# ifndef WINE_TEB_DEFINED -# define WINE_TEB_DEFINED -typedef struct _TEB -{ - NT_TIB Tib; /* 000 */ - PVOID EnvironmentPointer; /* 01c */ - CLIENT_ID ClientId; /* 020 */ - PVOID ActiveRpcHandle; /* 028 */ - PVOID ThreadLocalStoragePointer; /* 02c */ - PPEB Peb; /* 030 */ - ULONG LastErrorValue; /* 034 */ - BYTE __pad038[140]; /* 038 */ - ULONG CurrentLocale; /* 0c4 */ - BYTE __pad0c8[1752]; /* 0c8 */ - PVOID Reserved2[278]; /* 7a0 */ - UNICODE_STRING StaticUnicodeString; /* bf8 used by advapi32 */ - WCHAR StaticUnicodeBuffer[261]; /* c00 used by advapi32 */ - PVOID DeallocationStack; /* e0c */ - PVOID TlsSlots[64]; /* e10 */ - LIST_ENTRY TlsLinks; /* f10 */ - PVOID Reserved4[26]; /* f18 */ - PVOID ReservedForOle; /* f80 Windows 2000 only */ - PVOID Reserved5[4]; /* f84 */ - PVOID TlsExpansionSlots; /* f94 */ -} TEB, *PTEB; -# endif /* WINE_TEB_DEFINED */ -#endif /* WINE_NO_TEB */ - -/********************************************************************** * - * Enums - */ - -typedef enum _FILE_INFORMATION_CLASS { - FileDirectoryInformation = 1, - FileFullDirectoryInformation, - FileBothDirectoryInformation, - FileBasicInformation, - FileStandardInformation, - FileInternalInformation, - FileEaInformation, - FileAccessInformation, - FileNameInformation, - FileRenameInformation, - FileLinkInformation, - FileNamesInformation, - FileDispositionInformation, - FilePositionInformation, - FileFullEaInformation, - FileModeInformation, - FileAlignmentInformation, - FileAllInformation, - FileAllocationInformation, - FileEndOfFileInformation, - FileAlternateNameInformation, - FileStreamInformation, - FilePipeInformation, - FilePipeLocalInformation, - FilePipeRemoteInformation, - FileMailslotQueryInformation, - FileMailslotSetInformation, - FileCompressionInformation, - FileObjectIdInformation, - FileCompletionInformation, - FileMoveClusterInformation, - FileQuotaInformation, - FileReparsePointInformation, - FileNetworkOpenInformation, - FileAttributeTagInformation, - FileTrackingInformation, - FileMaximumInformation -} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; - -#include <pshpack8.h> -typedef struct _FILE_BASIC_INFORMATION { - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - ULONG FileAttributes; -} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; -#include <poppack.h> - -typedef struct _FILE_STANDARD_INFORMATION { - LARGE_INTEGER AllocationSize; - LARGE_INTEGER EndOfFile; - ULONG NumberOfLinks; - BOOLEAN DeletePending; - BOOLEAN Directory; -} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION; - -typedef struct _FILE_POSITION_INFORMATION { - LARGE_INTEGER CurrentByteOffset; -} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION; - -typedef struct _FILE_ALIGNMENT_INFORMATION { - ULONG AlignmentRequirement; -} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION; - -typedef struct _FILE_NETWORK_OPEN_INFORMATION { - LARGE_INTEGER CreationTime; - LARGE_INTEGER LastAccessTime; - LARGE_INTEGER LastWriteTime; - LARGE_INTEGER ChangeTime; - LARGE_INTEGER AllocationSize; - LARGE_INTEGER EndOfFile; - ULONG FileAttributes; -} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; - -typedef struct _FILE_FULL_EA_INFORMATION { - ULONG NextEntryOffset; - UCHAR Flags; - UCHAR EaNameLength; - USHORT EaValueLength; - CHAR EaName[1]; -} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION; - -typedef struct _FILE_STREAM_INFORMATION -{ - ULONG NextEntryOffset; - ULONG StreamNameLength; - LARGE_INTEGER StreamSize; - LARGE_INTEGER StreamAllocationSize; - WCHAR StreamName[1]; -} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION; - -struct _FILE_ATTRIBUTE_TAG_INFORMATION -{ - ULONG FileAttributes; - ULONG ReparseTag; -} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION; - -typedef enum _FSINFOCLASS { - FileFsVolumeInformation = 1, - FileFsLabelInformation, - FileFsSizeInformation, - FileFsDeviceInformation, - FileFsAttributeInformation, - FileFsControlInformation, - FileFsFullSizeInformation, - FileFsObjectIdInformation, - FileFsMaximumInformation -} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; - -typedef enum _KEY_INFORMATION_CLASS { - KeyBasicInformation, - KeyNodeInformation, - KeyFullInformation -} KEY_INFORMATION_CLASS; - -typedef enum _KEY_VALUE_INFORMATION_CLASS { - KeyValueBasicInformation, - KeyValueFullInformation, - KeyValuePartialInformation, - KeyValueFullInformationAlign64, - KeyValuePartialInformationAlign64 -} KEY_VALUE_INFORMATION_CLASS; - -typedef enum _OBJECT_INFORMATION_CLASS { - ObjectBasicInformation, - ObjectNameInformation, - ObjectTypeInformation, - ObjectAllInformation, - ObjectDataInformation -} OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; - -typedef enum _PROCESSINFOCLASS { - ProcessBasicInformation = 0, - ProcessQuotaLimits = 1, - ProcessIoCounters = 2, - ProcessVmCounters = 3, - ProcessTimes = 4, - ProcessBasePriority = 5, - ProcessRaisePriority = 6, - ProcessDebugPort = 7, - ProcessExceptionPort = 8, - ProcessAccessToken = 9, - ProcessLdtInformation = 10, - ProcessLdtSize = 11, - ProcessDefaultHardErrorMode = 12, - ProcessIoPortHandlers = 13, - ProcessPooledUsageAndLimits = 14, - ProcessWorkingSetWatch = 15, - ProcessUserModeIOPL = 16, - ProcessEnableAlignmentFaultFixup = 17, - ProcessPriorityClass = 18, - ProcessWx86Information = 19, - ProcessHandleCount = 20, - ProcessAffinityMask = 21, - ProcessPriorityBoost = 22, - ProcessDeviceMap = 23, - ProcessSessionInformation = 24, - ProcessForegroundInformation = 25, - ProcessWow64Information = 26, - MaxProcessInfoClass -} PROCESSINFOCLASS; - -typedef enum _SECTION_INHERIT { - ViewShare = 1, - ViewUnmap = 2 -} SECTION_INHERIT; - -typedef enum SYSTEM_INFORMATION_CLASS { - SystemBasicInformation = 0, - Unknown1, - SystemPerformanceInformation = 2, - SystemTimeOfDayInformation = 3, /* was SystemTimeInformation */ - Unknown4, - SystemProcessInformation = 5, - Unknown6, - Unknown7, - SystemProcessorPerformanceInformation = 8, - Unknown9, - Unknown10, - SystemDriverInformation, - Unknown12, - Unknown13, - Unknown14, - Unknown15, - SystemHandleList, - Unknown17, - Unknown18, - Unknown19, - Unknown20, - SystemCacheInformation, - Unknown22, - SystemInterruptInformation = 23, - SystemExceptionInformation = 33, - SystemRegistryQuotaInformation = 37, - SystemLookasideInformation = 45 -} SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS; - -typedef enum _TIMER_TYPE { - NotificationTimer, - SynchronizationTimer -} TIMER_TYPE; - -typedef enum _THREADINFOCLASS { - ThreadBasicInformation, - ThreadTimes, - ThreadPriority, - ThreadBasePriority, - ThreadAffinityMask, - ThreadImpersonationToken, - ThreadDescriptorTableEntry, - ThreadEnableAlignmentFaultFixup, - ThreadEventPair_Reusable, - ThreadQuerySetWin32StartAddress, - ThreadZeroTlsCell, - ThreadPerformanceCount, - ThreadAmILastThread, - ThreadIdealProcessor, - ThreadPriorityBoost, - ThreadSetTlsArrayAddress, - ThreadIsIoPending, - MaxThreadInfoClass -} THREADINFOCLASS; - -typedef struct _THREAD_BASIC_INFORMATION -{ - NTSTATUS ExitStatus; - PVOID TebBaseAddress; - CLIENT_ID ClientId; - ULONG AffinityMask; - LONG Priority; - LONG BasePriority; -} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION; - - -typedef enum _WINSTATIONINFOCLASS { - WinStationInformation = 8 -} WINSTATIONINFOCLASS; - -typedef enum -{ - MemoryBasicInformation = 0 -} MEMORY_INFORMATION_CLASS; - -/* return type of RtlDetermineDosPathNameType_U (FIXME: not the correct names) */ -typedef enum -{ - INVALID_PATH = 0, - UNC_PATH, /* "//foo" */ - ABSOLUTE_DRIVE_PATH, /* "c:/foo" */ - RELATIVE_DRIVE_PATH, /* "c:foo" */ - ABSOLUTE_PATH, /* "/foo" */ - RELATIVE_PATH, /* "foo" */ - DEVICE_PATH, /* "//./foo" */ - UNC_DOT_PATH /* "//." */ -} DOS_PATHNAME_TYPE; - -/********************************************************************** * - * IA64 specific types and data structures - */ - -#ifdef __ia64__ - -typedef struct _FRAME_POINTERS { - ULONGLONG MemoryStackFp; - ULONGLONG BackingStoreFp; -} FRAME_POINTERS, *PFRAME_POINTERS; - -#define UNWIND_HISTORY_TABLE_SIZE 12 - -typedef struct _RUNTIME_FUNCTION { - ULONG BeginAddress; - ULONG EndAddress; - ULONG UnwindInfoAddress; -} RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; - -typedef struct _UNWIND_HISTORY_TABLE_ENTRY { - ULONG64 ImageBase; - ULONG64 Gp; - PRUNTIME_FUNCTION FunctionEntry; -} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; - -typedef struct _UNWIND_HISTORY_TABLE { - ULONG Count; - UCHAR Search; - ULONG64 LowAddress; - ULONG64 HighAddress; - UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; -} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; - -#endif /* defined(__ia64__) */ - -/********************************************************************** * - * Types and data structures - */ - -/* This is used by NtQuerySystemInformation */ -/* FIXME: Isn't THREAD_INFO and THREADINFO the same structure? */ -typedef struct { - FILETIME ftKernelTime; - FILETIME ftUserTime; - FILETIME ftCreateTime; - DWORD dwTickCount; - DWORD dwStartAddress; - DWORD dwOwningPID; - DWORD dwThreadID; - DWORD dwCurrentPriority; - DWORD dwBasePriority; - DWORD dwContextSwitches; - DWORD dwThreadState; - DWORD dwWaitReason; -} THREADINFO, *PTHREADINFO; - -/* FIXME: Isn't THREAD_INFO and THREADINFO the same structure? */ -typedef struct _THREAD_INFO{ - DWORD Unknown1[6]; - DWORD ThreadID; - DWORD Unknown2[3]; - DWORD Status; - DWORD WaitReason; - DWORD Unknown3[4]; -} THREAD_INFO, PTHREAD_INFO; - -/********************************************************************** * - * Types and data structures - */ - -typedef struct _IO_STATUS_BLOCK { - union { - NTSTATUS Status; - PVOID Pointer; - } DUMMYUNIONNAME; - - ULONG_PTR Information; -} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; - -typedef void (WINAPI * PIO_APC_ROUTINE)(PVOID,PIO_STATUS_BLOCK,ULONG); - -typedef struct _KEY_BASIC_INFORMATION { - LARGE_INTEGER LastWriteTime; - ULONG TitleIndex; - ULONG NameLength; - WCHAR Name[1]; -} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION; - -typedef struct _KEY_NODE_INFORMATION -{ - LARGE_INTEGER LastWriteTime; - ULONG TitleIndex; - ULONG ClassOffset; - ULONG ClassLength; - ULONG NameLength; - WCHAR Name[1]; - /* Class[1]; */ -} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION; - -typedef struct _KEY_FULL_INFORMATION -{ - LARGE_INTEGER LastWriteTime; - ULONG TitleIndex; - ULONG ClassOffset; - ULONG ClassLength; - ULONG SubKeys; - ULONG MaxNameLen; - ULONG MaxClassLen; - ULONG Values; - ULONG MaxValueNameLen; - ULONG MaxValueDataLen; - WCHAR Class[1]; -} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION; - -typedef struct _KEY_VALUE_ENTRY -{ - PUNICODE_STRING ValueName; - ULONG DataLength; - ULONG DataOffset; - ULONG Type; -} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY; - -typedef struct _KEY_VALUE_BASIC_INFORMATION { - ULONG TitleIndex; - ULONG Type; - ULONG NameLength; - WCHAR Name[1]; -} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION; - -typedef struct _KEY_VALUE_FULL_INFORMATION { - ULONG TitleIndex; - ULONG Type; - ULONG DataOffset; - ULONG DataLength; - ULONG NameLength; - WCHAR Name[1]; [truncated at 1000 lines; 3359 more skipped]