diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c index 873ec037649..56ca6a4c931 100644 --- a/dlls/advapi32/service.c +++ b/dlls/advapi32/service.c @@ -183,7 +183,7 @@ RegisterServiceCtrlHandlerW( LPCWSTR lpServiceName, */ BOOL WINAPI SetServiceStatus( SERVICE_STATUS_HANDLE hService, LPSERVICE_STATUS lpStatus ) -{ FIXME("%lx %p\n",hService, lpStatus); +{ FIXME("%x %p\n",hService, lpStatus); TRACE("\tType:%lx\n",lpStatus->dwServiceType); TRACE("\tState:%lx\n",lpStatus->dwCurrentState); TRACE("\tControlAccepted:%lx\n",lpStatus->dwControlsAccepted); @@ -371,7 +371,7 @@ OpenServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName, * CreateServiceW [ADVAPI32.29] */ SC_HANDLE WINAPI -CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName, +CreateServiceW( SC_HANDLE hSCManager, LPCWSTR lpServiceName, LPCWSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, @@ -379,7 +379,7 @@ CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword ) { - FIXME("(%ld,%s,%s,...)\n", hSCManager, debugstr_w(lpServiceName), debugstr_w(lpDisplayName)); + FIXME("(%u,%s,%s,...)\n", hSCManager, debugstr_w(lpServiceName), debugstr_w(lpDisplayName)); return FALSE; } @@ -388,7 +388,7 @@ CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName, * CreateServiceA [ADVAPI32.28] */ SC_HANDLE WINAPI -CreateServiceA( DWORD hSCManager, LPCSTR lpServiceName, +CreateServiceA( SC_HANDLE hSCManager, LPCSTR lpServiceName, LPCSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCSTR lpBinaryPathName, @@ -400,7 +400,7 @@ CreateServiceA( DWORD hSCManager, LPCSTR lpServiceName, LONG r; DWORD dp; - TRACE("(%ld,%s,%s,...)\n", hSCManager, debugstr_a(lpServiceName), debugstr_a(lpDisplayName)); + TRACE("(%u,%s,%s,...)\n", hSCManager, debugstr_a(lpServiceName), debugstr_a(lpDisplayName)); r = RegCreateKeyExA(hSCManager, lpServiceName, 0, NULL, REG_OPTION_NON_VOLATILE, dwDesiredAccess, NULL, &hKey, &dp); diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index d536377e66f..901d2103d5e 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -214,11 +214,11 @@ BOOL PROPSHEET_CollectPageInfo(LPCPROPSHEETPAGEA lppsp, * Process page template. */ if (dwFlags & PSP_DLGINDIRECT) - pTemplate = (DLGTEMPLATE*)lppsp->u1.pResource; + pTemplate = (DLGTEMPLATE*)lppsp->u.pResource; else { HRSRC hResource = FindResourceA(lppsp->hInstance, - lppsp->u1.pszTemplate, + lppsp->u.pszTemplate, RT_DIALOGA); HGLOBAL hTemplate = LoadResource(lppsp->hInstance, hResource); @@ -1017,11 +1017,11 @@ static int PROPSHEET_CreatePage(HWND hwndParent, TRACE("index %d\n", index); if (ppshpage->dwFlags & PSP_DLGINDIRECT) - pTemplate = (DLGTEMPLATE*)ppshpage->u1.pResource; + pTemplate = (DLGTEMPLATE*)ppshpage->u.pResource; else { HRSRC hResource = FindResourceA(ppshpage->hInstance, - ppshpage->u1.pszTemplate, + ppshpage->u.pszTemplate, RT_DIALOGA); HGLOBAL hTemplate = LoadResource(ppshpage->hInstance, hResource); pTemplate = (LPDLGTEMPLATEA)LockResource(hTemplate); @@ -1976,8 +1976,8 @@ HPROPSHEETPAGE WINAPI CreatePropertySheetPageA( *ppsp = *lpPropSheetPage; - if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u1.pszTemplate ) ) - ppsp->u1.pszTemplate = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u1.pszTemplate ); + if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u.pszTemplate ) ) + ppsp->u.pszTemplate = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u.pszTemplate ); if ( (ppsp->dwFlags & PSP_USEICONID) && HIWORD( ppsp->u2.pszIcon ) ) ppsp->u2.pszIcon = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u2.pszIcon ); @@ -2011,8 +2011,8 @@ BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage) if (!psp) return FALSE; - if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u1.pszTemplate ) ) - HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u1.pszTemplate); + if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u.pszTemplate ) ) + HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u.pszTemplate); if ( (psp->dwFlags & PSP_USEICONID) && HIWORD( psp->u2.pszIcon ) ) HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u2.pszIcon); @@ -2116,18 +2116,18 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) if (psInfo->ppshheader.dwFlags & PSH_USEICONID) hIcon = LoadImageA(psInfo->ppshheader.hInstance, - psInfo->ppshheader.u1.pszIcon, + psInfo->ppshheader.u.pszIcon, IMAGE_ICON, icon_cx, icon_cy, LR_DEFAULTCOLOR); else - hIcon = psInfo->ppshheader.u1.hIcon; + hIcon = psInfo->ppshheader.u.hIcon; SendMessageA(hwnd, WM_SETICON, 0, hIcon); } if (psInfo->ppshheader.dwFlags & PSH_USEHICON) - SendMessageA(hwnd, WM_SETICON, 0, psInfo->ppshheader.u1.hIcon); + SendMessageA(hwnd, WM_SETICON, 0, psInfo->ppshheader.u.hIcon); psInfo->strPropertiesFor = strCaption; diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index 2085d983de4..c595afd6a58 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -244,7 +244,7 @@ import kernel32.dll 292 stdcall ShellExecuteExA (long) ShellExecuteExA 293 stdcall ShellExecuteExW (long) ShellExecuteExW 294 stdcall ShellExecuteW (long wstr wstr wstr wstr long) ShellExecuteW - 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIcon + 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA 297 stdcall Shell_NotifyIconA(long ptr) Shell_NotifyIconA 298 stdcall Shell_NotifyIconW(long ptr) Shell_NotifyIconW 299 stub Shl1632_ThunkData32 diff --git a/dlls/shell32/systray.c b/dlls/shell32/systray.c index e8fc7abb799..1279a33ceea 100644 --- a/dlls/shell32/systray.c +++ b/dlls/shell32/systray.c @@ -334,7 +334,7 @@ BOOL SYSTRAY_Init(void) } /************************************************************************* - * Shell_NotifyIconA [SHELL32.297] + * Shell_NotifyIconA [SHELL32.297][SHELL32.296] */ BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid ) { @@ -356,7 +356,7 @@ BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid ) } /************************************************************************* - * Shell_NotifyIconW [SHELL32.297] + * Shell_NotifyIconW [SHELL32.298] */ BOOL WINAPI Shell_NotifyIconW (DWORD dwMessage, PNOTIFYICONDATAW pnid ) { @@ -372,11 +372,3 @@ BOOL WINAPI Shell_NotifyIconW (DWORD dwMessage, PNOTIFYICONDATAW pnid ) HeapFree(GetProcessHeap(),0,p); return ret; } - -/************************************************************************* - * Shell_NotifyIcon [SHELL32.296] - */ -BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATAA pnid) -{ - return Shell_NotifyIconA(dwMessage, pnid); -} diff --git a/include/commctrl.h b/include/commctrl.h index a66da740693..0522eaafc45 100644 --- a/include/commctrl.h +++ b/include/commctrl.h @@ -340,6 +340,11 @@ typedef struct tagUDACCEL #define UDM_GETBASE (WM_USER+110) #define UDM_SETRANGE32 (WM_USER+111) #define UDM_GETRANGE32 (WM_USER+112) +#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT +#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT +#define UDM_SETPOS32 (WM_USER+113) +#define UDM_GETPOS32 (WM_USER+114) + #define NMUPDOWN NM_UPDOWN #define LPNMUPDOWN LPNM_UPDOWN @@ -2041,6 +2046,8 @@ typedef struct tagNMTREEVIEWW { #define NM_TREEVIEW WINELIB_NAME_AW(NMTREEVIEW) #define LPNMTREEVIEW WINELIB_NAME_AW(LPNMTREEVIEW) +#define LPNM_TREEVIEW LPNMTREEVIEW + typedef struct tagTVDISPINFOA { NMHDR hdr; TVITEMA item; @@ -3442,6 +3449,10 @@ typedef struct tagNMDAYSTATE #define DTN_FORMATW (DTN_FIRST + 17) #define DTN_FORMATQUERYW (DTN_FIRST + 18) +#define DTN_USERSTRING WINELIB_NAME_AW(DTN_USERSTRING) +#define DTN_WMKEYDOWN WINELIB_NAME_AW(DTN_WMKEYDOWN) +#define DTN_FORMAT WINELIB_NAME_AW(DTN_FORMAT) +#define DTN_FORMATQUERY WINELIB_NAME_AW(DTN_FORMATQUERY) #define DTS_SHORTDATEFORMAT 0x0000 #define DTS_UPDOWN 0x0001 @@ -3474,6 +3485,8 @@ typedef struct tagNMDATETIMESTRINGW DWORD dwFlags; } NMDATETIMESTRINGW, *LPNMDATETIMESTRINGW; +DECL_WINELIB_TYPE_AW(NMDATETIMESTRING) +DECL_WINELIB_TYPE_AW(LPNMDATETIMESTRING) typedef struct tagNMDATETIMEWMKEYDOWNA { @@ -3491,7 +3504,8 @@ typedef struct tagNMDATETIMEWMKEYDOWNW SYSTEMTIME st; } NMDATETIMEWMKEYDOWNW, *LPNMDATETIMEWMKEYDOWNW; - +DECL_WINELIB_TYPE_AW(NMDATETIMEWMKEYDOWN) +DECL_WINELIB_TYPE_AW(LPNMDATETIMEWMKEYDOWN) typedef struct tagNMDATETIMEFORMATA { @@ -3512,7 +3526,8 @@ typedef struct tagNMDATETIMEFORMATW WCHAR szDisplay[64]; } NMDATETIMEFORMATW, *LPNMDATETIMEFORMATW; - +DECL_WINELIB_TYPE_AW(NMDATETIMEFORMAT) +DECL_WINELIB_TYPE_AW(LPNMDATETIMEFORMAT) typedef struct tagNMDATETIMEFORMATQUERYA { @@ -3528,13 +3543,8 @@ typedef struct tagNMDATETIMEFORMATQUERYW SIZE szMax; } NMDATETIMEFORMATQUERYW, *LPNMDATETIMEFORMATQUERYW; - -#define NMDATETIMESTRING WINELIB_NAME_AW(NMDATETIMESTRING) -#define NMDATETIMEWMKEYDOWN WINELIB_NAME_AW(NMDATETIMEWMKEYDOWN) -#define NMDATETIMEFORMAT WINELIB_NAME_AW(NMDATETIMEFORMAT) -#define NMDATETIMEFORMATQUERY WINELIB_NAME_AW(NMDATETIMEFORMATQUERY) - - +DECL_WINELIB_TYPE_AW(NMDATETIMEFORMATQUERY) +DECL_WINELIB_TYPE_AW(LPNMDATETIMEFORMATQUERY) diff --git a/include/oleauto.h b/include/oleauto.h index f7877d13f78..44529e7ed95 100644 --- a/include/oleauto.h +++ b/include/oleauto.h @@ -517,4 +517,20 @@ HRESULT WINAPI LoadTypeLib(OLECHAR *szFile, ITypeLib **pptLib); HRESULT WINAPI LoadTypeLibEx(LPOLESTR szFile, REGKIND regKind, ITypeLib **pptLib); INT WINAPI DosDateTimeToVariantTime(USHORT,USHORT,DATE*); +HRESULT WINAPI DispGetParam(DISPPARAMS* pdispparams, UINT position, + VARTYPE vtTarg, VARIANT* pvarResult, UINT* puArgErr); +HRESULT WINAPI DispGetIDsOfNames(ITypeInfo* ptinfo, OLECHAR** rgszNames, + UINT cNames, DISPID* rgdispid); +HRESULT WINAPI DispInvoke(void* _this, ITypeInfo* ptinfo, DISPID dispidMember, + WORD wFlags, DISPPARAMS* pparams, VARIANT* pvarResult, + EXCEPINFO* pexcepinfo, UINT* puArgErr); +HRESULT WINAPI CreateDispTypeInfo(INTERFACEDATA* pidata, LCID lcid, + ITypeInfo** pptinfo); +HRESULT WINAPI CreateStdDispatch(IUnknown* punkOuter, void* pvThis, + ITypeInfo* ptinfo, IUnknown** ppunkStdDisp); +HRESULT WINAPI DispCallFunc(void* pvInstance, ULONG oVft, CALLCONV cc, + VARTYPE vtReturn, UINT cActuals, VARTYPE* prgvt, + VARIANTARG** prgpvarg, VARIANT* pvargResult); + + #endif /*__WINE_OLEAUTO_H*/ diff --git a/include/prsht.h b/include/prsht.h index acc47cbbc56..ad2e3cdbfe6 100644 --- a/include/prsht.h +++ b/include/prsht.h @@ -43,7 +43,7 @@ typedef struct _PROPSHEETPAGEA { LPCSTR pszTemplate; LPCDLGTEMPLATEA pResource; - }DUMMYUNIONNAME1; + }DUMMYUNIONNAME; union { HICON hIcon; @@ -69,7 +69,7 @@ typedef struct _PROPSHEETPAGEW { LPCWSTR pszTemplate; LPCDLGTEMPLATEW pResource; - }DUMMYUNIONNAME1; + }DUMMYUNIONNAME; union { HICON hIcon; @@ -97,7 +97,7 @@ typedef struct _PROPSHEETHEADERA { HICON hIcon; LPCSTR pszIcon; - }DUMMYUNIONNAME1; + }DUMMYUNIONNAME; LPCSTR pszCaption; UINT nPages; union diff --git a/include/shellapi.h b/include/shellapi.h index c9472ef3ed7..d8e0f831e50 100644 --- a/include/shellapi.h +++ b/include/shellapi.h @@ -235,6 +235,13 @@ typedef struct _NOTIFYICONDATAW WCHAR szTip[64]; } NOTIFYICONDATAW, *PNOTIFYICONDATAW; +DECL_WINELIB_TYPE_AW(NOTIFYICONDATA) +DECL_WINELIB_TYPE_AW(PNOTIFYICONDATA) + +BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData); +BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData); + +#define Shell_NotifyIcon WINELIB_NAME_AW(Shell_NotifyIcon) /****************************************** * Misc diff --git a/include/winbase.h b/include/winbase.h index 8685b23a728..82343f5dea0 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -17,6 +17,18 @@ extern "C" { typedef DWORD CALLBACK (*LPTHREAD_START_ROUTINE)(LPVOID); +typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter ); +typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; + +typedef RTL_CRITICAL_SECTION CRITICAL_SECTION; +typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION; +typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; + +typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; +typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; +typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; + + #define EXCEPTION_DEBUG_EVENT 1 #define CREATE_THREAD_DEBUG_EVENT 2 #define CREATE_PROCESS_DEBUG_EVENT 3 @@ -965,16 +977,6 @@ typedef DWORD CALLBACK (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF -/* Could this type be considered opaque? */ -typedef struct { - LPVOID DebugInfo; - LONG LockCount; - LONG RecursionCount; - HANDLE OwningThread; - HANDLE LockSemaphore; - DWORD Reserved; -}CRITICAL_SECTION; - #ifdef __WINE__ #define CRITICAL_SECTION_INIT { 0, -1, 0, 0, 0, 0 } #endif diff --git a/include/windef.h b/include/windef.h index e36f3a32a7d..e60f3513a02 100644 --- a/include/windef.h +++ b/include/windef.h @@ -450,11 +450,10 @@ typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM); /* The SIZE structure */ typedef struct tagSIZE { - INT cx; - INT cy; + LONG cx; + LONG cy; } SIZE, *PSIZE, *LPSIZE; - typedef SIZE SIZEL, *PSIZEL, *LPSIZEL; #define CONV_SIZE16TO32(s16,s32) \ diff --git a/include/winnt.h b/include/winnt.h index 33fccd5a83e..cc0a550ac91 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -2766,6 +2766,93 @@ typedef enum tagSID_NAME_USE { /* ------------------------------ end registry ------------------------------ */ +typedef struct _RTL_CRITICAL_SECTION_DEBUG +{ + WORD Type; + WORD CreatorBackTraceIndex; + struct _RTL_CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Spare[ 2 ]; +} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG; + +typedef struct _RTL_CRITICAL_SECTION { + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + ULONG_PTR SpinCount; +} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION; + + +#define EVENTLOG_SUCCESS 0x0000 +#define EVENTLOG_ERROR_TYPE 0x0001 +#define EVENTLOG_WARNING_TYPE 0x0002 +#define EVENTLOG_INFORMATION_TYPE 0x0004 +#define EVENTLOG_AUDIT_SUCCESS 0x0008 +#define EVENTLOG_AUDIT_FAILURE 0x0010 + +#define SERVICE_BOOT_START 0x00000000 +#define SERVICE_SYSTEM_START 0x00000001 +#define SERVICE_AUTO_START 0x00000002 +#define SERVICE_DEMAND_START 0x00000003 +#define SERVICE_DISABLED 0x00000004 + +#define SERVICE_ERROR_IGNORE 0x00000000 +#define SERVICE_ERROR_NORMAL 0x00000001 +#define SERVICE_ERROR_SEVERE 0x00000002 +#define SERVICE_ERROR_CRITICAL 0x00000003 + +/* Service types */ +#define SERVICE_KERNEL_DRIVER 0x00000001 +#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002 +#define SERVICE_ADAPTER 0x00000004 +#define SERVICE_RECOGNIZER_DRIVER 0x00000008 + +#define SERVICE_DRIVER ( SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | \ + SERVICE_RECOGNIZER_DRIVER ) + +#define SERVICE_WIN32_OWN_PROCESS 0x00000010 +#define SERVICE_WIN32_SHARE_PROCESS 0x00000020 +#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS) + +#define SERVICE_INTERACTIVE_PROCESS 0x00000100 + +#define SERVICE_TYPE_ALL ( SERVICE_WIN32 | SERVICE_ADAPTER | \ + SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS ) + + +typedef enum _CM_SERVICE_NODE_TYPE +{ + DriverType = SERVICE_KERNEL_DRIVER, + FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, + Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, + Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, + AdapterType = SERVICE_ADAPTER, + RecognizerType = SERVICE_RECOGNIZER_DRIVER +} SERVICE_NODE_TYPE; + +typedef enum _CM_SERVICE_LOAD_TYPE +{ + BootLoad = SERVICE_BOOT_START, + SystemLoad = SERVICE_SYSTEM_START, + AutoLoad = SERVICE_AUTO_START, + DemandLoad = SERVICE_DEMAND_START, + DisableLoad = SERVICE_DISABLED +} SERVICE_LOAD_TYPE; + +typedef enum _CM_ERROR_CONTROL_TYPE +{ + IgnoreError = SERVICE_ERROR_IGNORE, + NormalError = SERVICE_ERROR_NORMAL, + SevereError = SERVICE_ERROR_SEVERE, + CriticalError = SERVICE_ERROR_CRITICAL +} SERVICE_ERROR_TYPE; + + + #define RtlEqualMemory(Destination, Source, Length) (!memcmp((Destination),(Source),(Length))) #define RtlMoveMemory(Destination, Source, Length) memmove((Destination),(Source),(Length)) #define RtlCopyMemory(Destination, Source, Length) memcpy((Destination),(Source),(Length)) diff --git a/include/winsock2.h b/include/winsock2.h index 4f88973a67c..31293295dbf 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -13,6 +13,19 @@ /* proper 4-byte packing */ #include "pshpack4.h" +#define WS_SO_GROUP_ID 0x2001 +#define WS_SO_GROUP_PRIORITY 0x2002 +#define WS_SO_MAX_MSG_SIZE 0x2003 +#define WS_SO_PROTOCOL_INFOA 0x2004 +#define WS_SO_PROTOCOL_INFOW 0x2005 +#define WS_SO_PROTOCOL_INFO WINELIB_NAME_AW(WS_SO_PROTOCOL_INFO) + +#define PVD_CONFIG 0x3001 +#define SO_CONDITIONAL_ACCEPT 0x3002 + + +/* option flags per socket */ + #define FD_MAX_EVENTS 10 #define FD_READ_BIT 0 #define FD_WRITE_BIT 1 diff --git a/include/winsvc.h b/include/winsvc.h index 04397975fde..9254484f82c 100644 --- a/include/winsvc.h +++ b/include/winsvc.h @@ -7,11 +7,83 @@ extern "C" { #include "windef.h" +/* Controls */ +#define SERVICE_CONTROL_STOP 0x00000001 +#define SERVICE_CONTROL_PAUSE 0x00000002 +#define SERVICE_CONTROL_CONTINUE 0x00000003 +#define SERVICE_CONTROL_INTERROGATE 0x00000004 +#define SERVICE_CONTROL_SHUTDOWN 0x00000005 +#define SERVICE_CONTROL_PARAMCHANGE 0x00000006 +#define SERVICE_CONTROL_NETBINDADD 0x00000007 +#define SERVICE_CONTROL_NETBINDREMOVE 0x00000008 +#define SERVICE_CONTROL_NETBINDENABLE 0x00000009 +#define SERVICE_CONTROL_NETBINDDISABLE 0x0000000A +#define SERVICE_CONTROL_DEVICEEVENT 0x0000000B +#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C +#define SERVICE_CONTROL_POWEREVENT 0x0000000D + +/* Service State */ +#define SERVICE_STOPPED 0x00000001 +#define SERVICE_START_PENDING 0x00000002 +#define SERVICE_STOP_PENDING 0x00000003 +#define SERVICE_RUNNING 0x00000004 +#define SERVICE_CONTINUE_PENDING 0x00000005 +#define SERVICE_PAUSE_PENDING 0x00000006 +#define SERVICE_PAUSED 0x00000007 + +/* Controls Accepted */ +#define SERVICE_ACCEPT_STOP 0x00000001 +#define SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002 +#define SERVICE_ACCEPT_SHUTDOWN 0x00000004 +#define SERVICE_ACCEPT_PARAMCHANGE 0x00000008 +#define SERVICE_ACCEPT_NETBINDCHANGE 0x00000010 +#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020 +#define SERVICE_ACCEPT_POWEREVENT 0x00000040 + +/* Service Control Manager Object access types */ +#define SC_MANAGER_CONNECT 0x0001 +#define SC_MANAGER_CREATE_SERVICE 0x0002 +#define SC_MANAGER_ENUMERATE_SERVICE 0x0004 +#define SC_MANAGER_LOCK 0x0008 +#define SC_MANAGER_QUERY_LOCK_STATUS 0x0010 +#define SC_MANAGER_MODIFY_BOOT_CONFIG 0x0020 +#define SC_MANAGER_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \ + SC_MANAGER_CONNECT | \ + SC_MANAGER_CREATE_SERVICE | \ + SC_MANAGER_ENUMERATE_SERVICE | \ + SC_MANAGER_LOCK | \ + SC_MANAGER_QUERY_LOCK_STATUS | \ + SC_MANAGER_MODIFY_BOOT_CONFIG ) + +#define SERVICE_QUERY_CONFIG 0x0001 +#define SERVICE_CHANGE_CONFIG 0x0002 +#define SERVICE_QUERY_STATUS 0x0004 +#define SERVICE_ENUMERATE_DEPENDENTS 0x0008 +#define SERVICE_START 0x0010 +#define SERVICE_STOP 0x0020 +#define SERVICE_PAUSE_CONTINUE 0x0040 +#define SERVICE_INTERROGATE 0x0080 +#define SERVICE_USER_DEFINED_CONTROL 0x0100 + +#define SERVICE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \ + SERVICE_QUERY_CONFIG | \ + SERVICE_CHANGE_CONFIG | \ + SERVICE_QUERY_STATUS | \ + SERVICE_ENUMERATE_DEPENDENTS | \ + SERVICE_START | \ + SERVICE_STOP | \ + SERVICE_PAUSE_CONTINUE | \ + SERVICE_INTERROGATE | \ + SERVICE_USER_DEFINED_CONTROL ) + + + /* Handle types */ -typedef HANDLE SC_HANDLE, *LPSC_HANDLE; +DECLARE_HANDLE(SC_HANDLE); + +DECLARE_HANDLE(SERVICE_STATUS_HANDLE); -typedef DWORD SERVICE_STATUS_HANDLE; /* Service status structure */ @@ -71,9 +143,9 @@ typedef VOID (WINAPI *LPHANDLER_FUNCTION)(DWORD); BOOL WINAPI CloseServiceHandle(SC_HANDLE); BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS); -SC_HANDLE WINAPI CreateServiceA(DWORD,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR, +SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR, LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR); -SC_HANDLE WINAPI CreateServiceW(DWORD,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR, +SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR, LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR); #define CreateService WINELIB_NAME_AW(CreateService) BOOL WINAPI DeleteService(SC_HANDLE); diff --git a/include/wtypes.h b/include/wtypes.h index d7cfcc78f98..a3c7a39dfd0 100644 --- a/include/wtypes.h +++ b/include/wtypes.h @@ -53,9 +53,18 @@ typedef enum tagSTGC STGC_DEFAULT = 0, STGC_OVERWRITE = 1, STGC_ONLYIFCURRENT = 2, - STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4 + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, + STGC_CONSOLIDATE = 8 } STGC; +typedef enum tagSTGMOVE +{ + STGMOVE_MOVE = 0, + STGMOVE_COPY = 1, + STGMOVE_SHALLOWCOPY = 2 +} STGMOVE; + + typedef struct _COAUTHIDENTITY { USHORT* User;