diff options
author | Earnie Boyd <earnie@users.sf.net> | 2001-12-03 19:59:34 +0000 |
---|---|---|
committer | Earnie Boyd <earnie@users.sf.net> | 2001-12-03 19:59:34 +0000 |
commit | 6dfcb5a3a9bb858d36c9ab0545ac5ea8726897ba (patch) | |
tree | 8022cf0bf4134927b9c484a71d204b8e390f0d37 /winsup/w32api/include | |
parent | 2a50e3df6f78914a051398e2a3b46882cfe0df27 (diff) | |
download | newlib-6dfcb5a3a9bb858d36c9ab0545ac5ea8726897ba.zip newlib-6dfcb5a3a9bb858d36c9ab0545ac5ea8726897ba.tar.gz newlib-6dfcb5a3a9bb858d36c9ab0545ac5ea8726897ba.tar.bz2 |
2001-12-03 Earnie Boyd <earnie@users.sf.net>
* include/accctrl.h: Change \r\n to \n.
2001-11-30 Danny Smith <dannysmith@users.sourceforge.net>
* include/ipexport.h (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS):
Add structure definition.
* include/iptypes.h (IP_PER_ADAPTER_INFO): Ditto.
* include/iphlpapi.h (AddIPAddress,CreateProxyArpEntry,
DeleteIPAddress,DeleteProxyArpEntry,EnableRouter,
FlushIpNetTable,GetAdapterIndex,GetPerAdapterInfo,
GetUniDirectionalAdapterInfo,SendARP,SetAdapterIpAddress,
UnenableRouter) Declare functions.
* lib/iphlpapi.def: Add function names to import lib.
2001-11-24 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (PACCESS_MASK): Add typedef.
* include/aclapi.h: New file.
* include/acctrl.h: New file.
* lib/advapi32.def: Add missing symbols.
* lib/test.c: Add #include <aclapi.h>.
2001-11-23 Danny Smith <dannysmith@users.sourceforge.net>
* include/winbase.h (OSVERSIONINFO[AW],VER_PLATFORM_WIN32s,
VER_PLATFORM_WIN32_WINDOWS,VER_PLATFORM_WIN32_NT): Move from
here ...
* include/winnt.h: ... to here.
* include/winbase.h (VerifyVersionInfo[AW]): Add declaration.
* include/winnt.h (OSVERSIONINFOEX[AW]): Add structure definitions
and typedefs.
(VER_NT_WORKSTATION,VER_NT_DOMAIN_CONTROLLER,VER_NT_SERVER):
Add defines.
2001-11-19 Pierre Muller <muller@ics.u-strasbg.fr>
* w32api/include/winnt.h: prepare SSE register support.
(CONTEXT_EXTENDED_REGISTERS): Add new define.
(MAXIMUM_SUPPORTED_EXTENSION): New define.
(struct CONTEXT): ExtendedRegisters field added.
2001-11-16 Danny Smith <dannysmith@users.sourceforge.net>
* include/winuser.h (tagALTTABINFO, tagCOMBOBOXINFO,
tagCURSORINFO, tagMENUBARINFO, tagMENUINFO, tagMONITORINFO
tagSCROLLBARINFO, tagTITLEBARINFO. tagWINDOWINFO,
tagLASTINPUTINFO ): Define new structures.
(EndMenu, GetAltTabInfo[AW],GetComboBoxInfo,GetCursorInfo,
GetLastInputInfo, GetListBoxInfo, GetMenuBarInfo,
GetMonitorInfo[AW], GetScrollBarInfo, GetTitleBarInfo,
GetWindowInfo, GetWindowModuleFileName[AW],GetMenuInfo
SetMenuInfo): Add new prototypes.
* lib/user32.def: Add import stubs for above functions.
* include/winuser.h (IDC_STATIC): Protect against prior
definition.
2001-11-12 Corinna Vinschen <corinna@vinschen.de>
* include/winbase.h (OSVERSIONINFOEX): Add definition.
* include/winnt.h: Add VER_NT_* and VER_SUITE_* defines.
2001-11-10 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Add Danny Smith's text comment about gcc compiler
warnings with _AUTHORITY #defines.
2001-11-09 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h (GetCurrentFiber): Create a prototype before the
implementation;
(GetFiberData): Ditto.
2001-11-09 Robert Collins <rbtcollins@hotmail.com>
* include/winnt.h: Backout last change.
Diffstat (limited to 'winsup/w32api/include')
-rw-r--r-- | winsup/w32api/include/accctrl.h | 312 | ||||
-rw-r--r-- | winsup/w32api/include/aclapi.h | 101 | ||||
-rw-r--r-- | winsup/w32api/include/commdlg.h | 17 | ||||
-rw-r--r-- | winsup/w32api/include/ipexport.h | 4 | ||||
-rw-r--r-- | winsup/w32api/include/iphlpapi.h | 13 | ||||
-rw-r--r-- | winsup/w32api/include/iptypes.h | 7 | ||||
-rw-r--r-- | winsup/w32api/include/rpcdcep.h | 2 | ||||
-rw-r--r-- | winsup/w32api/include/rpcproxy.h | 13 | ||||
-rw-r--r-- | winsup/w32api/include/winbase.h | 11 | ||||
-rw-r--r-- | winsup/w32api/include/windef.h | 6 | ||||
-rw-r--r-- | winsup/w32api/include/windows.h | 7 | ||||
-rw-r--r-- | winsup/w32api/include/winnt.h | 87 | ||||
-rw-r--r-- | winsup/w32api/include/winsock.h | 14 | ||||
-rw-r--r-- | winsup/w32api/include/winsock2.h | 14 | ||||
-rw-r--r-- | winsup/w32api/include/winuser.h | 108 |
15 files changed, 673 insertions, 43 deletions
diff --git a/winsup/w32api/include/accctrl.h b/winsup/w32api/include/accctrl.h new file mode 100644 index 0000000..3db4279 --- /dev/null +++ b/winsup/w32api/include/accctrl.h @@ -0,0 +1,312 @@ +#ifndef _ACCCRTL_H +#define _ACCCRTL_H +#include <wtypes.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define AccFree LocalFree +#define ACTRL_RESERVED 0x00000000 +#define ACTRL_ACCESS_PROTECTED 0x00000001 +#define ACTRL_ACCESS_ALLOWED 0x00000001 +#define ACTRL_ACCESS_DENIED 0x00000002 +#define ACTRL_AUDIT_SUCCESS 0x00000004 +#define ACTRL_AUDIT_FAILURE 0x00000008 +#define ACTRL_SYSTEM_ACCESS 0x04000000 +#define ACTRL_DELETE 0x08000000 +#define ACTRL_READ_CONTROL 0x10000000 +#define ACTRL_CHANGE_ACCESS 0x20000000 +#define ACTRL_CHANGE_OWNER 0x40000000 +#define ACTRL_SYNCHRONIZE 0x80000000 +#define ACTRL_STD_RIGHTS_ALL 0xf8000000 + +#define ACTRL_FILE_READ 0x00000001 +#define ACTRL_FILE_WRITE 0x00000002 +#define ACTRL_FILE_APPEND 0x00000004 +#define ACTRL_FILE_READ_PROP 0x00000008 +#define ACTRL_FILE_WRITE_PROP 0x00000010 +#define ACTRL_FILE_EXECUTE 0x00000020 +#define ACTRL_FILE_READ_ATTRIB 0x00000080 +#define ACTRL_FILE_WRITE_ATTRIB 0x00000100 +#define ACTRL_FILE_CREATE_PIPE 0x00000200 +#define ACTRL_DIR_LIST 0x00000001 +#define ACTRL_DIR_CREATE_OBJECT 0x00000002 +#define ACTRL_DIR_CREATE_CHILD 0x00000004 +#define ACTRL_DIR_DELETE_CHILD 0x00000040 +#define ACTRL_DIR_TRAVERSE 0x00000020 +#define ACTRL_KERNEL_TERMINATE 0x00000001 +#define ACTRL_KERNEL_THREAD 0x00000002 +#define ACTRL_KERNEL_VM 0x00000004 +#define ACTRL_KERNEL_VM_READ 0x00000008 +#define ACTRL_KERNEL_VM_WRITE 0x00000010 +#define ACTRL_KERNEL_DUP_HANDLE 0x00000020 +#define ACTRL_KERNEL_PROCESS 0x00000040 +#define ACTRL_KERNEL_SET_INFO 0x00000080 +#define ACTRL_KERNEL_GET_INFO 0x00000100 +#define ACTRL_KERNEL_CONTROL 0x00000200 +#define ACTRL_KERNEL_ALERT 0x00000400 +#define ACTRL_KERNEL_GET_CONTEXT 0x00000800 +#define ACTRL_KERNEL_SET_CONTEXT 0x00001000 +#define ACTRL_KERNEL_TOKEN 0x00002000 +#define ACTRL_KERNEL_IMPERSONATE 0x00004000 +#define ACTRL_KERNEL_DIMPERSONATE 0x00008000 +#define ACTRL_PRINT_SADMIN 0x00000001 +#define ACTRL_PRINT_SLIST 0x00000002 +#define ACTRL_PRINT_PADMIN 0x00000004 +#define ACTRL_PRINT_PUSE 0x00000008 +#define ACTRL_PRINT_JADMIN 0x00000010 +#define ACTRL_SVC_GET_INFO 0x00000001 +#define ACTRL_SVC_SET_INFO 0x00000002 +#define ACTRL_SVC_STATUS 0x00000004 +#define ACTRL_SVC_LIST 0x00000008 +#define ACTRL_SVC_START 0x00000010 +#define ACTRL_SVC_STOP 0x00000020 +#define ACTRL_SVC_PAUSE 0x00000040 +#define ACTRL_SVC_INTERROGATE 0x00000080 +#define ACTRL_SVC_UCONTROL 0x00000100 +#define ACTRL_REG_QUERY 0x00000001 +#define ACTRL_REG_SET 0x00000002 +#define ACTRL_REG_CREATE_CHILD 0x00000004 +#define ACTRL_REG_LIST 0x00000008 +#define ACTRL_REG_NOTIFY 0x00000010 +#define ACTRL_REG_LINK 0x00000020 +#define ACTRL_WIN_CLIPBRD 0x00000001 +#define ACTRL_WIN_GLOBAL_ATOMS 0x00000002 +#define ACTRL_WIN_CREATE 0x00000004 +#define ACTRL_WIN_LIST_DESK 0x00000008 +#define ACTRL_WIN_LIST 0x00000010 +#define ACTRL_WIN_READ_ATTRIBS 0x00000020 +#define ACTRL_WIN_WRITE_ATTRIBS 0x00000040 +#define ACTRL_WIN_SCREEN 0x00000080 +#define ACTRL_WIN_EXIT 0x00000100 +#define ACTRL_ACCESS_NO_OPTIONS 0x00000000 +#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES 0x00000001 +#define ACCCTRL_DEFAULT_PROVIDERA "Windows NT Access Provider" +#define ACCCTRL_DEFAULT_PROVIDERW L"Windows NT Access Provider" +#define TRUSTEE_ACCESS_ALLOWED 0x00000001L +#define TRUSTEE_ACCESS_READ 0x00000002L +#define TRUSTEE_ACCESS_WRITE 0x00000004L +#define TRUSTEE_ACCESS_EXPLICIT 0x00000001L +#define TRUSTEE_ACCESS_READ_WRITE (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE) +#define TRUSTEE_ACCESS_ALL 0xFFFFFFFFL +#define NO_INHERITANCE 0x0 +#define SUB_OBJECTS_ONLY_INHERIT 0x1 +#define SUB_CONTAINERS_ONLY_INHERIT 0x2 +#define SUB_CONTAINERS_AND_OBJECTS_INHERIT 0x3 +#define INHERIT_NO_PROPAGATE 0x4 +#define INHERIT_ONLY 0x8 +#define INHERITED_ACCESS_ENTRY 0x10 +#define INHERITED_PARENT 0x10000000 +#define INHERITED_GRANDPARENT 0x20000000 + +typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS; +typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS; + +typedef enum _ACCESS_MODE { + NOT_USED_ACCESS = 0, + GRANT_ACCESS, + SET_ACCESS, + DENY_ACCESS, + REVOKE_ACCESS, + SET_AUDIT_SUCCESS, + SET_AUDIT_FAILURE +} ACCESS_MODE; +typedef enum _SE_OBJECT_TYPE { + SE_UNKNOWN_OBJECT_TYPE = 0, + SE_FILE_OBJECT, + SE_SERVICE, + SE_PRINTER, + SE_REGISTRY_KEY, + SE_LMSHARE, + SE_KERNEL_OBJECT, + SE_WINDOW_OBJECT, + SE_DS_OBJECT, + SE_DS_OBJECT_ALL, + SE_PROVIDER_DEFINED_OBJECT, + SE_WMIGUID_OBJECT +} SE_OBJECT_TYPE; +typedef enum _TRUSTEE_TYPE { + TRUSTEE_IS_UNKNOWN, + TRUSTEE_IS_USER, + TRUSTEE_IS_GROUP, + TRUSTEE_IS_DOMAIN, + TRUSTEE_IS_ALIAS, + TRUSTEE_IS_WELL_KNOWN_GROUP, + TRUSTEE_IS_DELETED, + TRUSTEE_IS_INVALID, + TRUSTEE_IS_COMPUTER +} TRUSTEE_TYPE; +typedef enum _TRUSTEE_FORM { + TRUSTEE_IS_SID, + TRUSTEE_IS_NAME, + TRUSTEE_BAD_FORM, + TRUSTEE_IS_OBJECTS_AND_SID, + TRUSTEE_IS_OBJECTS_AND_NAME +} TRUSTEE_FORM; +typedef enum _MULTIPLE_TRUSTEE_OPERATION { + NO_MULTIPLE_TRUSTEE, + TRUSTEE_IS_IMPERSONATE +} MULTIPLE_TRUSTEE_OPERATION; +typedef struct _TRUSTEE_A { + struct _TRUSTEE_A *pMultipleTrustee; + MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; + TRUSTEE_FORM TrusteeForm; + TRUSTEE_TYPE TrusteeType; + LPSTR ptstrName; +} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA; +typedef struct _TRUSTEE_W { + struct _TRUSTEE_W *pMultipleTrustee; + MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; + TRUSTEE_FORM TrusteeForm; + TRUSTEE_TYPE TrusteeType; + LPWSTR ptstrName; +} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW; +typedef struct _ACTRL_ACCESS_ENTRYA { + TRUSTEE_A Trustee; + ULONG fAccessFlags; + ACCESS_RIGHTS Access; + ACCESS_RIGHTS ProvSpecificAccess; + INHERIT_FLAGS Inheritance; + LPSTR lpInheritProperty; +} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA; +typedef struct _ACTRL_ACCESS_ENTRYW { + TRUSTEE_W Trustee; + ULONG fAccessFlags; + ACCESS_RIGHTS Access; + ACCESS_RIGHTS ProvSpecificAccess; + INHERIT_FLAGS Inheritance; + LPWSTR lpInheritProperty; +} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW; +typedef struct _ACTRL_ACCESS_ENTRY_LISTA { + ULONG cEntries; + ACTRL_ACCESS_ENTRYA *pAccessList; +} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA; +typedef struct _ACTRL_ACCESS_ENTRY_LISTW { + ULONG cEntries; + ACTRL_ACCESS_ENTRYW *pAccessList; +} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW; +typedef struct _ACTRL_PROPERTY_ENTRYA { + LPSTR lpProperty; + PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList; + ULONG fListFlags; +} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA; +typedef struct _ACTRL_PROPERTY_ENTRYW { + LPWSTR lpProperty; + PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList; + ULONG fListFlags; +} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW; +typedef struct _ACTRL_ALISTA { + ULONG cEntries; + PACTRL_PROPERTY_ENTRYA pPropertyAccessList; +} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA; +typedef struct _ACTRL_ALISTW { + ULONG cEntries; + PACTRL_PROPERTY_ENTRYW pPropertyAccessList; +} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW; +typedef struct _TRUSTEE_ACCESSA { + LPSTR lpProperty; + ACCESS_RIGHTS Access; + ULONG fAccessFlags; + ULONG fReturnedAccess; +} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA; +typedef struct _TRUSTEE_ACCESSW { + LPWSTR lpProperty; + ACCESS_RIGHTS Access; + ULONG fAccessFlags; + ULONG fReturnedAccess; +} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW; +typedef struct _ACTRL_OVERLAPPED { + _ANONYMOUS_UNION + union { + PVOID Provider; + ULONG Reserved1; + } DUMMYUNIONNAME; + ULONG Reserved2; + HANDLE hEvent; +} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED; +typedef struct _ACTRL_ACCESS_INFOA { + ULONG fAccessPermission; + LPSTR lpAccessPermissionName; +} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA; +typedef struct _ACTRL_ACCESS_INFOW { + ULONG fAccessPermission; + LPWSTR lpAccessPermissionName; +} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW; +typedef struct _ACTRL_CONTROL_INFOA { + LPSTR lpControlId; + LPSTR lpControlName; +} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA; +typedef struct _ACTRL_CONTROL_INFOW { + LPWSTR lpControlId; + LPWSTR lpControlName; +} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW; +typedef struct _EXPLICIT_ACCESS_A { + DWORD grfAccessPermissions; + ACCESS_MODE grfAccessMode; + DWORD grfInheritance; + TRUSTEE_A Trustee; +} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA; +typedef struct _EXPLICIT_ACCESS_W { + DWORD grfAccessPermissions; + ACCESS_MODE grfAccessMode; + DWORD grfInheritance; + TRUSTEE_W Trustee; +} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW; +typedef struct _OBJECTS_AND_SID { + DWORD ObjectsPresent; + GUID ObjectTypeGuid; + GUID InheritedObjectTypeGuid; + SID * pSid; +} OBJECTS_AND_SID, *POBJECTS_AND_SID; +typedef struct _OBJECTS_AND_NAME_A { + DWORD ObjectsPresent; + SE_OBJECT_TYPE ObjectType; + LPSTR ObjectTypeName; + LPSTR InheritedObjectTypeName; + LPSTR ptstrName; +} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A; +typedef struct _OBJECTS_AND_NAME_W { + DWORD ObjectsPresent; + SE_OBJECT_TYPE ObjectType; + LPWSTR ObjectTypeName; + LPWSTR InheritedObjectTypeName; + LPWSTR ptstrName; +} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W; + + +#ifdef UNICODE +#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW +typedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_; +typedef TRUSTEEW TRUSTEE, *PTRUSTEE; +typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS; +typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST; +typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO; +typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY; +typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT; +typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO; +typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_; +typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS; +typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS; +typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_; +#else +#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA +typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_; +typedef TRUSTEEA TRUSTEE, *PTRUSTEE; +typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS; +typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST; +typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO; +typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY; +typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT; +typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO; +typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_; +typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS; +typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS; +typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_; +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _ACCCRTL_H */ diff --git a/winsup/w32api/include/aclapi.h b/winsup/w32api/include/aclapi.h new file mode 100644 index 0000000..7e7e629 --- /dev/null +++ b/winsup/w32api/include/aclapi.h @@ -0,0 +1,101 @@ +#ifndef _ACLAPI_H +#define _ACLAPI_H + +#include <windows.h> +#include <accctrl.h> + +#ifdef __cplusplus +extern "C" { +#endif +VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD); +VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD); +DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A, + ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*); +DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W, + ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*); +VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR); +VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR); +VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE, + LPSTR,LPSTR,LPSTR); +VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE, + LPWSTR,LPWSTR,LPWSTR); +VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID); +VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID); +VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID); +VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID); +DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK); +DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK); +DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK); +DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK); +DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*); +DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*); +DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A); +TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W); +LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A); +LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W); +TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A); +TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W); +DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*, + PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR); +DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*, + PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR); +DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*); +DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*); +DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); +DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); +DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); + +/* These are deprecated by MS and not documented in Aug 2001 PSDK +BuildImpersonateExplicitAccessWithName[AW] +BuildImpersonateTrustee[AW] +GetMultipleTrustee[AW] +GetMultipleTrusteeOperation[AW] +*/ + +#ifdef UNICODE +#define BuildExplicitAccessWithName BuildExplicitAccessWithNameW +#define BuildSecurityDescriptor BuildSecurityDescriptorW +#define BuildTrusteeWithName BuildTrusteeWithNameW +#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW +#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW +#define BuildTrusteeWithSid BuildTrusteeWithSidW +#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW +#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW +#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW +#define GetNamedSecurityInfo GetNamedSecurityInfoW +#define GetTrusteeForm GetTrusteeFormW +#define GetTrusteeName GetTrusteeNameW +#define GetTrusteeType GetTrusteeTypeW +#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW +#define SetEntriesInAcl SetEntriesInAclW +#define SetNamedSecurityInfo SetNamedSecurityInfoW +#else +#define BuildExplicitAccessWithName BuildExplicitAccessWithNameA +#define BuildSecurityDescriptor BuildSecurityDescriptorA +#define BuildTrusteeWithName BuildTrusteeWithNameA +#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA +#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA +#define BuildTrusteeWithSid BuildTrusteeWithSidA +#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA +#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA +#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA +#define GetNamedSecurityInfo GetNamedSecurityInfoA +#define GetTrusteeForm GetTrusteeFormA +#define GetTrusteeName GetTrusteeNameA +#define GetTrusteeType GetTrusteeTypeA +#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA +#define SetEntriesInAcl SetEntriesInAclA +#define SetNamedSecurityInfo SetNamedSecurityInfoA +#endif /* UNICODE */ + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/winsup/w32api/include/commdlg.h b/winsup/w32api/include/commdlg.h index cc19c41..d1a4433 100644 --- a/winsup/w32api/include/commdlg.h +++ b/winsup/w32api/include/commdlg.h @@ -427,21 +427,8 @@ typedef struct tagPDW { HANDLE hSetupTemplate; } PRINTDLGW,*LPPRINTDLGW; #if (WINVER >= 0x0500) -/* We could #include <unknwn.h> here but that would bring -in a cascade of rpc dependencies */ -#ifndef __IUnknown_INTERFACE_DEFINED__ -#define __IUnknown_INTERFACE_DEFINED__ -#undef INTERFACE -#define INTERFACE IUnknown -DECLARE_INTERFACE(IUnknown) -{ - STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; -}; -typedef IUnknown *LPUNKNOWN; -#endif -#include <prsht.h> /* for HPROPSHEETPAGE */ +#include <unknwn.h> /* for LPUNKNOWN */ +#include <prsht.h> /* for HPROPSHEETPAGE */ typedef struct tagPRINTPAGERANGE { DWORD nFromPage; DWORD nToPage; diff --git a/winsup/w32api/include/ipexport.h b/winsup/w32api/include/ipexport.h index 4505dc4..d2c7553 100644 --- a/winsup/w32api/include/ipexport.h +++ b/winsup/w32api/include/ipexport.h @@ -74,6 +74,10 @@ typedef struct { LONG NumAdapters; IP_ADAPTER_INDEX_MAP Adapter[ANY_SIZE]; } IP_INTERFACE_INFO, *PIP_INTERFACE_INFO; +typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS { + ULONG NumAdapters; + IPAddr Address[1]; +} IP_UNIDIRECTIONAL_ADAPTER_ADDRESS, *PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS; #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/iphlpapi.h b/winsup/w32api/include/iphlpapi.h index e71da0a..d2d112d 100644 --- a/winsup/w32api/include/iphlpapi.h +++ b/winsup/w32api/include/iphlpapi.h @@ -6,10 +6,17 @@ #ifdef __cplusplus extern "C" { #endif +DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG); DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW); +DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD); +DWORD WINAPI DeleteIPAddress(ULONG); DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW); +DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD); +DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*); +DWORD WINAPI FlushIpNetTable(DWORD); +DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG); DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG); DWORD WINAPI GetBestInterface(IPAddr,PDWORD); DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW); @@ -24,19 +31,25 @@ DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL); DWORD WINAPI GetIpStatistics(PMIB_IPSTATS); DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG); DWORD WINAPI GetNumberOfInterfaces(PDWORD); +DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG); BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG); DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS); DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL); +DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG); DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS); DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL); DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP); DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP); +DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED); +DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED); +DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG); DWORD WINAPI SetIfEntry(PMIB_IFROW); DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW); DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW); DWORD WINAPI SetIpStatistics(PMIB_IPSTATS); DWORD WINAPI SetIpTTL(UINT); DWORD WINAPI SetTcpEntry(PMIB_TCPROW); +DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD); #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/iptypes.h b/winsup/w32api/include/iptypes.h index 09abe15..8b5e8ae 100644 --- a/winsup/w32api/include/iptypes.h +++ b/winsup/w32api/include/iptypes.h @@ -50,6 +50,12 @@ typedef struct _IP_ADAPTER_INFO { time_t LeaseObtained; time_t LeaseExpires; } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO; +typedef struct _IP_PER_ADAPTER_INFO { + UINT AutoconfigEnabled; + UINT AutoconfigActive; + PIP_ADDR_STRING CurrentDnsServer; + IP_ADDR_STRING DnsServerList; +} IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO; typedef struct _FIXED_INFO { char HostName[MAX_HOSTNAME_LEN+4] ; char DomainName[MAX_DOMAIN_NAME_LEN+4]; @@ -61,6 +67,7 @@ typedef struct _FIXED_INFO { UINT EnableProxy; UINT EnableDns; } FIXED_INFO, *PFIXED_INFO; + #ifdef __cplusplus } #endif diff --git a/winsup/w32api/include/rpcdcep.h b/winsup/w32api/include/rpcdcep.h index 8479360..184d352 100644 --- a/winsup/w32api/include/rpcdcep.h +++ b/winsup/w32api/include/rpcdcep.h @@ -81,7 +81,7 @@ long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*); void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*); void __stdcall I_RpcClearMutex(I_RPC_MUTEX); void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX); -__stdcall void *I_RpcAllocate(unsigned int); +DECLARE_STDCALL_P(void *) I_RpcAllocate(unsigned int); void __stdcall I_RpcFree(void*); void __stdcall I_RpcPauseExecution(unsigned long); typedef void(__stdcall *PRPC_RUNDOWN) (void*); diff --git a/winsup/w32api/include/rpcproxy.h b/winsup/w32api/include/rpcproxy.h index fa968fc..5c6dba0 100644 --- a/winsup/w32api/include/rpcproxy.h +++ b/winsup/w32api/include/rpcproxy.h @@ -6,6 +6,9 @@ */ #ifndef _RPCPROXY_H #define _RPCPROXY_H +#if defined __cplusplus && !defined CINTERFACE +#warning "rpcproxy type definitions require CINTERFACE" +#else #ifdef __cplusplus extern "C" { #endif @@ -121,7 +124,14 @@ typedef struct tagCInterfaceProxyHeader { } CInterfaceProxyHeader; typedef struct tagCInterfaceProxyVtbl { CInterfaceProxyHeader header; +#if defined(__WATCOMC__) + void *Vtbl[1]; +#else +#ifdef __GNUC__ +__extension__ +#endif void *Vtbl[0]; +#endif } CInterfaceProxyVtbl; typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*); typedef struct tagCInterfaceStubHeader { @@ -181,5 +191,6 @@ NdrCStdStubBuffer2_Release(IRpcStubBuffer*,IPSFactoryBuffer*); #ifdef __cplusplus } #endif -#endif +#endif /* defined __cplusplus && !defined CINTERFACE */ +#endif /* ndef _RPCPROXY_H */ diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h index a75a7d5..a71c115 100644 --- a/winsup/w32api/include/winbase.h +++ b/winsup/w32api/include/winbase.h @@ -427,9 +427,6 @@ extern "C" { #define CBR_115200 115200 #define CBR_128000 128000 #define CBR_256000 256000 -#define VER_PLATFORM_WIN32s 0 -#define VER_PLATFORM_WIN32_WINDOWS 1 -#define VER_PLATFORM_WIN32_NT 2 #define BACKUP_INVALID 0 #define BACKUP_DATA 1 #define BACKUP_EA_DATA 2 @@ -1572,6 +1569,8 @@ BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED); BOOL WINAPI UnmapViewOfFile(PVOID); BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD); BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD); +BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG); +BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG); PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD); BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD); BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD); @@ -1610,8 +1609,6 @@ DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL); typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO; typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*LPWIN32_FIND_DATA; typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO; -typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; -typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW #define AddAtom AddAtomW #define BackupEventLog BackupEventLogW @@ -1737,6 +1734,7 @@ typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; #define SetFileSecurity SetFileSecurityW #define SetVolumeLabel SetVolumeLabelW #define UpdateResource UpdateResourceW +#define VerifyVersionInfo VerifyVersionInfoW #define WaitNamedPipe WaitNamedPipeW #define WritePrivateProfileSection WritePrivateProfileSectionW #define WritePrivateProfileString WritePrivateProfileStringW @@ -1747,8 +1745,6 @@ typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO; typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA; typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO; -typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; -typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA #define AddAtom AddAtomA #define BackupEventLog BackupEventLogA @@ -1874,6 +1870,7 @@ typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; #define SetFileSecurity SetFileSecurityA #define SetVolumeLabel SetVolumeLabelA #define UpdateResource UpdateResourceA +#define VerifyVersionInfo VerifyVersionInfoA #define WaitNamedPipe WaitNamedPipeA #define WritePrivateProfileSection WritePrivateProfileSectionA #define WritePrivateProfileString WritePrivateProfileStringA diff --git a/winsup/w32api/include/windef.h b/winsup/w32api/include/windef.h index 2d16d44..f4de5ca 100644 --- a/winsup/w32api/include/windef.h +++ b/winsup/w32api/include/windef.h @@ -88,7 +88,13 @@ extern "C" { #define DECLSPEC_IMPORT __declspec(dllimport) #define DECLSPEC_EXPORT __declspec(dllexport) +#ifdef __GNUC__ #define DECLSPEC_NORETURN __declspec(noreturn) +#define DECLARE_STDCALL_P( type ) __stdcall type +#elif defined(__WATCOMC__) +#define DECLSPEC_NORETURN +#define DECLARE_STDCALL_P( type ) type __stdcall +#endif /* __GNUC__/__WATCOMC__ */ #define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8))) #define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) #define LOWORD(l) ((WORD)((DWORD)(l))) diff --git a/winsup/w32api/include/windows.h b/winsup/w32api/include/windows.h index 64e70c9..ce8928b 100644 --- a/winsup/w32api/include/windows.h +++ b/winsup/w32api/include/windows.h @@ -48,10 +48,13 @@ #else #if defined(__cplusplus) #define _ANONYMOUS_UNION __extension__ -#endif +#endif /* __cplusplus */ #endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */ #endif /* NONAMELESSUNION */ -#endif /* __GNUC__ */ +#elif defined(__WATCOMC__) +#define _ANONYMOUS_UNION +#define _ANONYMOUS_STRUCT +#endif /* __GNUC__/__WATCOMC__ */ #ifndef _ANONYMOUS_UNION #define _ANONYMOUS_UNION diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index 1a21d8f..a88605d 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -117,7 +117,9 @@ typedef WORD LANGID; #define _INTEGRAL_MAX_BITS 64 #undef __int64 #define __int64 long long -#endif +#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 ) +#define _HAVE_INT64 +#endif /* __GNUC__/__WATCOMC */ #if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64) typedef __int64 LONGLONG; typedef unsigned __int64 DWORDLONG; @@ -1057,6 +1059,12 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define TAPE_LOCK 3 #define TAPE_UNLOCK 4 #define TAPE_FORMAT 5 +#define VER_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 +#define VER_NT_WORKSTATION 1 +#define VER_NT_DOMAIN_CONTROLLER 2 +#define VER_NT_SERVER 3 #define BTYPE(x) ((x)&N_BTMASK) #define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)) #define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT)) @@ -1089,7 +1097,7 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define VER_SUITE_DATACENTER 128 #define VER_SUITE_PERSONAL 512 #ifndef RC_INVOKED -typedef DWORD ACCESS_MASK; +typedef DWORD ACCESS_MASK, *PACCESS_MASK; #ifndef _GUID_DEFINED /* also defined in basetyps.h */ #define _GUID_DEFINED typedef struct _GUID { @@ -1790,7 +1798,6 @@ typedef struct _SE_IMPERSONATION_STATE { BOOLEAN EffectiveOnly; SECURITY_IMPERSONATION_LEVEL Level; } SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE; - typedef struct _SID_IDENTIFIER_AUTHORITY { BYTE Value[6]; } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; @@ -2015,6 +2022,48 @@ typedef struct _EVENTLOGRECORD { DWORD DataLength; DWORD DataOffset; } EVENTLOGRECORD,*PEVENTLOGRECORD; +typedef struct _OSVERSIONINFOA { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; +} OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA; +typedef struct _OSVERSIONINFOW { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; +} OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW; +typedef struct _OSVERSIONINFOEXA { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; +} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA; +typedef struct _OSVERSIONINFOEXW { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; +} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW; #pragma pack(push,2) typedef struct _IMAGE_VXD_HEADER { WORD e32_magic; @@ -2542,6 +2591,20 @@ typedef struct _REPARSE_POINT_INFORMATION { WORD ReparseDataLength; WORD UnparsedNameLength; } REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION; + +#ifdef UNICODE +typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; +#else +typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; +#endif + +#if defined(__GNUC__) + +PVOID GetCurrentFiber(void); +PVOID GetFiberData(void); + PVOID GetCurrentFiber(void); extern __inline__ PVOID GetCurrentFiber(void) { @@ -2553,6 +2616,7 @@ extern __inline__ PVOID GetCurrentFiber(void) ); return ret; } + PVOID GetFiberData(void); extern __inline__ PVOID GetFiberData(void) { @@ -2566,6 +2630,23 @@ extern __inline__ PVOID GetFiberData(void) return ret; } +#else + +extern PVOID GetCurrentFiber(void); +#pragma aux GetCurrentFiber = \ + "mov eax, dword ptr fs:0x10" \ + value [eax] \ + modify [eax]; + +extern PVOID GetFiberData(void); +#pragma aux GetFiberData = \ + "mov eax, dword ptr fs:0x10" \ + "mov eax, [eax]" \ + value [eax] \ + modify [eax]; + +#endif /* __GNUC__ */ + #endif #ifdef __cplusplus } diff --git a/winsup/w32api/include/winsock.h b/winsup/w32api/include/winsock.h index e88ad3b..8ab4899 100644 --- a/winsup/w32api/include/winsock.h +++ b/winsup/w32api/include/winsock.h @@ -429,7 +429,7 @@ int PASCAL getpeername(SOCKET,struct sockaddr*,int*); int PASCAL getsockname(SOCKET,struct sockaddr*,int*); int PASCAL getsockopt(SOCKET,int,int,char*,int*); unsigned long PASCAL inet_addr(const char*); -PASCAL char *inet_ntoa(struct in_addr); +DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr); int PASCAL listen(SOCKET,int); int PASCAL recv(SOCKET,char*,int,int); int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*); @@ -438,12 +438,12 @@ int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int); int PASCAL setsockopt(SOCKET,int,int,const char*,int); int PASCAL shutdown(SOCKET,int); SOCKET PASCAL socket(int,int,int); -PASCAL struct hostent *gethostbyaddr(const char*,int,int); -PASCAL struct hostent *gethostbyname(const char*); -PASCAL struct servent *getservbyport(int,const char*); -PASCAL struct servent *getservbyname(const char*,const char*); -PASCAL struct protoent *getprotobynumber(int); -PASCAL struct protoent *getprotobyname(const char*); +DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int); +DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*); +DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*); +DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*); +DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int); +DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*); int PASCAL WSAStartup(WORD,LPWSADATA); int PASCAL WSACleanup(void); void PASCAL WSASetLastError(int); diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h index 721d341..1af6933 100644 --- a/winsup/w32api/include/winsock2.h +++ b/winsup/w32api/include/winsock2.h @@ -448,7 +448,7 @@ int PASCAL getpeername(SOCKET,struct sockaddr*,int*); int PASCAL getsockname(SOCKET,struct sockaddr*,int*); int PASCAL getsockopt(SOCKET,int,int,char*,int*); unsigned long PASCAL inet_addr(const char*); -PASCAL char *inet_ntoa(struct in_addr); +DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr); int PASCAL listen(SOCKET,int); int PASCAL recv(SOCKET,char*,int,int); int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*); @@ -457,12 +457,12 @@ int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int); int PASCAL setsockopt(SOCKET,int,int,const char*,int); int PASCAL shutdown(SOCKET,int); SOCKET PASCAL socket(int,int,int); -PASCAL struct hostent *gethostbyaddr(const char*,int,int); -PASCAL struct hostent *gethostbyname(const char*); -PASCAL struct servent *getservbyport(int,const char*); -PASCAL struct servent *getservbyname(const char*,const char*); -PASCAL struct protoent *getprotobynumber(int); -PASCAL struct protoent *getprotobyname(const char*); +DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int); +DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*); +DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*); +DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*); +DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int); +DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*); int PASCAL WSAStartup(WORD,LPWSADATA); int PASCAL WSACleanup(void); void PASCAL WSASetLastError(int); diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 26986cc..4c5777b 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -544,6 +544,9 @@ extern "C" { #define GCL_MENUNAME (-8) #define GCL_STYLE (-26) #define GCL_WNDPROC (-24) +#ifndef IDC_STATIC /* May be predefined by resource compiler. */ +#define IDC_STATIC (-1) +#endif #define IDC_ARROW MAKEINTRESOURCE(32512) #define IDC_IBEAM MAKEINTRESOURCE(32513) #define IDC_WAIT MAKEINTRESOURCE(32514) @@ -2447,6 +2450,88 @@ typedef struct tagSTYLESTRUCT { DWORD styleOld; DWORD styleNew; } STYLESTRUCT,*LPSTYLESTRUCT; +typedef struct tagALTTABINFO { + DWORD cbSize; + int cItems; + int cColumns; + int cRows; + int iColFocus; + int iRowFocus; + int cxItem; + int cyItem; + POINT ptStart; +} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO; +typedef struct tagCOMBOBOXINFO { + DWORD cbSize; + RECT rcItem; + RECT rcButton; + DWORD stateButton; + HWND hwndCombo; + HWND hwndItem; + HWND hwndList; +} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO; +typedef struct tagCURSORINFO { + DWORD cbSize; + DWORD flags; + HCURSOR hCursor; + POINT ptScreenPos; +} CURSORINFO,*PCURSORINFO,*LPCURSORINFO; +typedef struct tagMENUBARINFO { + DWORD cbSize; + RECT rcBar; + HMENU hMenu; + HWND hwndMenu; + BOOL fBarFocused:1; + BOOL fFocused:1; +} MENUBARINFO, *PMENUBARINFO; +typedef struct tagMENUINFO { + DWORD cbSize; + DWORD fMask; + DWORD dwStyle; + UINT cyMax; + HBRUSH hbrBack; + DWORD dwContextHelpID; + ULONG_PTR dwMenuData; +} MENUINFO, *LPMENUINFO; +typedef MENUINFO CONST *LPCMENUINFO; +#define CCHILDREN_SCROLLBAR 5 +typedef struct tagSCROLLBARINFO { + DWORD cbSize; + RECT rcScrollBar; + int dxyLineButton; + int xyThumbTop; + int xyThumbBottom; + int reserved; + DWORD rgstate[CCHILDREN_SCROLLBAR + 1]; +} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO; +#define CCHILDREN_TITLEBAR 5 +typedef struct tagTITLEBARINFO { + DWORD cbSize; + RECT rcTitleBar; + DWORD rgstate[CCHILDREN_TITLEBAR + 1]; +} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO; +typedef struct tagWINDOWINFO { + DWORD cbSize; + RECT rcWindow; + RECT rcClient; + DWORD dwStyle; + DWORD dwExStyle; + DWORD dwWindowStatus; + UINT cxWindowBorders; + UINT cyWindowBorders; + ATOM atomWindowType; + WORD wCreatorVersion; +} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO; +typedef struct tagLASTINPUTINFO { + UINT cbSize; + DWORD dwTime; +} LASTINPUTINFO, * PLASTINPUTINFO; +typedef struct tagMONITORINFO { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; +} MONITORINFO,*LPMONITORINFO; #define AnsiToOem CharToOemA #define OemToAnsi OemToCharA @@ -2613,6 +2698,7 @@ BOOL WINAPI EnableScrollBar(HWND,UINT,UINT); BOOL WINAPI EnableWindow(HWND,BOOL); BOOL WINAPI EndDeferWindowPos(HDWP); BOOL WINAPI EndDialog(HWND,int); +BOOL WINAPI EndMenu(VOID); BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*); BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM); UINT WINAPI EnumClipboardFormats(UINT); @@ -2747,6 +2833,21 @@ int WINAPI GetWindowTextLengthA(HWND); int WINAPI GetWindowTextLengthW(HWND); int WINAPI GetWindowTextW(HWND,LPWSTR,int); WORD WINAPI GetWindowWord(HWND,int); +BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT); +BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT); +BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO); +BOOL WINAPI GetCursorInfo(PCURSORINFO); +BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO); +DWORD WINAPI GetListBoxInfo(HWND); +BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO); +BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO); +BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO); +BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO); +BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO); +BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO); +BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO); +UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT); +UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT); BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); BOOL WINAPI HideCaret(HWND); @@ -2903,6 +3004,7 @@ BOOL WINAPI SetKeyboardState(PBYTE); BOOL WINAPI SetMenu(HWND,HMENU); BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD); BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT); +BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO); BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP); BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW); @@ -3070,12 +3172,15 @@ typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; #define GetMenuItemInfo GetMenuItemInfoW #define GetMenuString GetMenuStringW #define GetMessage GetMessageW +#define GetMonitorInfo GetMonitorInfoW #define GetProp GetPropW #define GetTabbedTextExtent GetTabbedTextExtentW #define GetUserObjectInformation GetUserObjectInformationW #define GetWindowLong GetWindowLongW #define GetWindowText GetWindowTextW #define GetWindowTextLength GetWindowTextLengthW +#define GetAltTabInfo GetAltTabInfoW +#define GetWindowModuleFileName GetWindowModuleFileNameW #define GrayString GrayStringW #define InsertMenu InsertMenuW #define InsertMenuItem InsertMenuItemW @@ -3218,12 +3323,15 @@ typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; #define GetMenuItemInfo GetMenuItemInfoA #define GetMenuString GetMenuStringA #define GetMessage GetMessageA +#define GetMonitorInfo GetMonitorInfoA #define GetProp GetPropA #define GetTabbedTextExtent GetTabbedTextExtentA #define GetUserObjectInformation GetUserObjectInformationA #define GetWindowLong GetWindowLongA #define GetWindowText GetWindowTextA #define GetWindowTextLength GetWindowTextLengthA +#define GetAltTabInfo GetAltTabInfoA +#define GetWindowModuleFileName GetWindowModuleFileNameA #define GrayString GrayStringA #define InsertMenu InsertMenuA #define InsertMenuItem InsertMenuItemA |