diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 83cda5a3c..abed26b98 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,19 @@ +2006-05-11 Dimitri Papadopoulos + + * include/strmif.h (IAMAnalogVideoDecoder,IAMAudioInputMixer) + (IAMAudioRendererStats,IAMBufferNegotiation,IAMCameraControl) + (IAMCertifiedOutputProtection): Add interfaces. + * include/adsprop.h: New file. + * include/cmnquery.h: New file. + * include/dsadmin.h: New file. + * include/dsclient.h: New file. + * include/dsgetdc.h: New file. + * include/dsquery.h: New file. + * include/dsrole.h: New file. + * include/ntdsapi.h: New file. + * include/ntdsbcli.h: New file. + * include/objsel.h: New file. + 2006-05-10 Dimitri Papadopoulos * include/qedit.h (DEXTER_*,SCompFmt0): Add structures. @@ -79,7 +95,8 @@ 2006-05-05 Chris Sutcliffe - * lib/directx/Makefile.in: Remove reference to libquartz.a since it was moved. + * lib/directx/Makefile.in: Remove reference to libquartz.a since + it was moved. 2006-05-05 Earnie Boyd diff --git a/winsup/w32api/include/adsprop.h b/winsup/w32api/include/adsprop.h new file mode 100644 index 000000000..8036b768f --- /dev/null +++ b/winsup/w32api/include/adsprop.h @@ -0,0 +1,59 @@ +/* + * adsprop.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _ADSPROP_H +#define _ADSPROP_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Messages */ +#define WM_ADSPROP_NOTIFY_APPLY (WM_USER+1104) +#define WM_ADSPROP_NOTIFY_CHANGE (WM_USER+1103) +#define WM_ADSPROP_NOTIFY_ERROR (WM_USER+1110) +#define WM_ADSPROP_NOTIFY_EXIT (WM_USER+1107) +#define WM_ADSPROP_NOTIFY_FOREGROUND (WM_USER+1106) +#define WM_ADSPROP_NOTIFY_PAGEHWND (WM_USER+1102) +#define WM_ADSPROP_NOTIFY_PAGEINIT (WM_USER+1101) +#define WM_ADSPROP_NOTIFY_SETFOCUS (WM_USER+1105) +/*--- Active Directory Reference - Active Directory Structures - Active Directory MMC Property Page Structures */ +#if (_WIN32_WINNT >= 0x0501) +typedef struct { + HWND hwndPage; + PWSTR pszPageTitle; + PWSTR pszObjPath; + PWSTR pszObjClass; + HRESULT hr; + PWSTR pszError; +} ADSPROPERROR,*PADSPROPERROR; +#endif /* (_WIN32_WINNT >= 0x0501) */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct { + DWORD dwSize; + DWORD dwFlags; + HRESULT hr; + IDirectoryObject *pDsObj; + LPWSTR pwzCN; + PADS_ATTR_INFO pWritableAttrs; +} ADSPROPINITPARAMS,*PADSPROPINITPARAMS; +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/cmnquery.h b/winsup/w32api/include/cmnquery.h new file mode 100644 index 000000000..e846a0842 --- /dev/null +++ b/winsup/w32api/include/cmnquery.h @@ -0,0 +1,81 @@ +/* + * cmnquery.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _CMNQUERY_H +#define _CMNQUERY_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct { + DWORD cbStruct; + DWORD dwFlags; + CLSID clsid; + HICON hIcon; + LPWSTR pszTitle; +} CQFORM,*LPCQFORM; +#define CQFF_NOGLOBALPAGES 0x00000001 +#define CQFF_ISOPTIONAL 0x00000002 +typedef struct { + DWORD cbStruct; + DWORD dwFlags; + LPCQPAGEPROC pPageProc; + HINSTANCE hInstance; + INT idPageName; + INT idPageTemplate; + DLGPROC pDlgProc; + LPARAM lParam; +} CQPAGE,*LPCQPAGE; +/********* +typedef struct { + DWORD cbStruct; + DWORD dwFlags; + CLSID clsidHandler; + LPVOID pHandlerParameters; + CLSID clsidDefaultForm; + IPersistQuery* pPersistQuery; + union { + void* pFormParameters; + IPropertyBag* ppbFormParameters; + }; +} OPENQUERYWINDOW,*LPOPENQUERYWINDOW; +*********/ +#define OQWF_OKCANCEL 0x00000001 +#define OQWF_DEFAULTFORM 0x00000002 +#define OQWF_SINGLESELECT 0x00000004 +#define OQWF_LOADQUERY 0x00000008 +#define OQWF_REMOVESCOPES 0x00000010 +#define OQWF_REMOVEFORMS 0x00000020 +#define OQWF_ISSUEONOPEN 0x00000040 +#define OQWF_SHOWOPTIONAL 0x00000080 +#define OQWF_SAVEQUERYONOK 0x00000200 +#define OQWF_HIDEMENUS 0x00000400 +#define OQWF_HIDESEARCHUI 0x00000800 +#define OQWF_PARAMISPROPERTYBAG 0x80000000 +/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions */ +typedef HRESULT (CALLBACK* CQAddFormsProc)(LPARAM,LPCQFORM); +typedef HRESULT (CALLBACK* CQAddPagesProc)(LPARAM,REFCLSID,LPCQPAGE); +typedef HRESULT (CALLBACK* CQPageProc)(LPCQPAGE,HWND,UINT,WPARAM,LPARAM); +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dsadmin.h b/winsup/w32api/include/dsadmin.h new file mode 100644 index 000000000..e2eb1ce14 --- /dev/null +++ b/winsup/w32api/include/dsadmin.h @@ -0,0 +1,38 @@ +/* + * dsadmin.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _DSADMIN_H +#define _DSADMIN_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Active Directory Admin Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct { + DWORD dwSize; + HICON hObjClassIcon; + LPWSTR lpszWizTitle; + LPWSTR lpszContDisplayName; +} DSA_NEWOBJ_DISPINFO,*LPDSA_NEWOBJ_DISPINFO; +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dsclient.h b/winsup/w32api/include/dsclient.h new file mode 100644 index 000000000..341ca99ac --- /dev/null +++ b/winsup/w32api/include/dsclient.h @@ -0,0 +1,186 @@ +/* + * dsclient.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _DSCLIENT_H +#define _DSCLIENT_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if (_WIN32_WINNT >= 0x0500) +/*--- Active Directory Reference - Active Directory Functions - Active Directory Display Functions - BFFCallBack */ +#define DSBM_QUERYINSERTW 0x0064 +#define DSBM_QUERYINSERTA 0x0065 +#define DSBM_CHANGEIMAGESTATE 0x0066 +#define DSBM_HELP 0x0067 +#define DSBM_CONTEXTMENU 0x0068 +#ifdef UNICODE +#define DSBM_QUERYINSERT DSBM_QUERYINSERTW +#else +#define DSBM_QUERYINSERT DSBM_QUERYINSERTA +#endif +/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */ +typedef struct _DOMAINDESC { + LPWSTR pszName; + LPWSTR pszPath; + LPWSTR pszNCName; + LPWSTR pszTrustParent; + LPWSTR pszObjectClass; + ULONG ulFlags; + BOOL fDownLevel; + struct _DOMAINDESC* pdChildList; + struct _DOMAINDESC* pdNextSibling; +} DOMAIN_DESC,DOMAINDESC,*PDOMAIN_DESC,*LPDOMAINDESC; +typedef struct { + DWORD dsSize; + DWORD dwCount; + DOMAINDESC aDomains[1]; +} DOMAINTREE,DOMAIN_TREE,*PDOMAIN_TREE,*LPDOMAINTREE; +#define DSB_MAX_DISPLAYNAME_CHARS 64 +typedef struct { + DWORD cbStruct; + LPCWSTR pszADsPath; + LPCWSTR pszClass; + DWORD dwMask; + DWORD dwState; + DWORD dwStateMask; + CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS]; + CHAR szIconLocation[MAX_PATH]; + INT iIconResID; +} DSBITEMA,*PDSBITEMA; +typedef struct { + DWORD cbStruct; + LPCWSTR pszADsPath; + LPCWSTR pszClass; + DWORD dwMask; + DWORD dwState; + DWORD dwStateMask; + CHAR szDisplayName[DSB_MAX_DISPLAYNAME_CHARS]; + CHAR szIconLocation[MAX_PATH]; + INT iIconResID; +} DSBITEMW,*PDSBITEMW; +#define DSBF_STATE 0x00000001 +#define DSBF_ICONLOCATION 0x00000002 +#define DSBF_DISPLAYNAME 0x00000004 +#define DSBS_CHECKED 0x00000001 +#define DSBS_HIDDEN 0x00000002 +#define DSBS_ROOT 0x00000004 +typedef struct { + DWORD cbStruct; + HWND hwndOwner; + LPCSTR pszCaption; + LPCSTR pszTitle; + LPCWSTR pszRoot; + LPWSTR pszPath; + ULONG cchPath; + DWORD dwFlags; + BFFCALLBACK pfnCallback; + LPARAM lParam; + DWORD dwReturnFormat; + LPCWSTR pUserName; + LPCWSTR pPassword; + LPWSTR pszObjectClass; + ULONG cchObjectClass; +} DSBROWSEINFOA,*PDSBROWSEINFOA; +typedef struct { + DWORD cbStruct; + HWND hwndOwner; + LPCWSTR pszCaption; + LPCWSTR pszTitle; + LPCWSTR pszRoot; + LPWSTR pszPath; + ULONG cchPath; + DWORD dwFlags; + BFFCALLBACK pfnCallback; + LPARAM lParam; + DWORD dwReturnFormat; + LPCWSTR pUserName; + LPCWSTR pPassword; + LPWSTR pszObjectClass; + ULONG cchObjectClass; +} DSBROWSEINFOW,*PDSBROWSEINFOW; +#define DSBI_NOBUTTONS 0x00000001 +#define DSBI_NOLINES 0x00000002 +#define DSBI_NOLINESATROOT 0x00000004 +#define DSBI_CHECKBOXES 0x00000100 +#define DSBI_NOROOT 0x00010000 +#define DSBI_INCLUDEHIDDEN 0x00020000 +#define DSBI_EXPANDONOPEN 0x00040000 +#define DSBI_ENTIREDIRECTORY 0x00090000 +#define DSBI_RETURN_FORMAT 0x00100000 +#define DSBI_HASCREDENTIALS 0x00200000 +#define DSBI_IGNORETREATASLEAF 0x00400000 +#define DSBI_SIMPLEAUTHENTICATE 0x00800000 +#define DSBI_RETURNOBJECTCLASS 0x01000000 +#define DSBI_DONTSIGNSEAL 0x02000000 +typedef struct { + DWORD dwFlags; + CLSID clsidWizardDialog; + CLSID clsidWizardPrimaryPage; + DWORD cWizardExtensions; + CLSID aWizardExtensions[1]; +} DSCLASSCREATIONINFO,*LPDSCLASSCREATIONINFO; +#define DSCCIF_HASWIZARDDIALOG 0x00000001 +#define DSCCIF_HASWIZARDPRIMARYPAGE 0x00000002 +typedef struct _DSDISPLAYSPECOPTIONS { + DWORD dwSize; + DWORD dwFlags; + DWORD offsetAttribPrefix; + DWORD offsetUserName; + DWORD offsetPassword; + DWORD offsetServer; + DWORD offsetServerConfigPath; +} DSDISPLAYSPECOPTIONS,*PDSDISPLAYSPECOPTIONS,*LPDSDISPLAYSPECOPTIONS; +#define DSDSOF_HASUSERANDSERVERINFO 0x00000001 +#define DSDSOF_SIMPLEAUTHENTICATE 0x00000002 +#define DSDSOF_DONTSIGNSEAL 0x00000004 +#define DSDSOF_DSAVAILABLE 0x40000000 +typedef struct { + DWORD dwFlags; + DWORD dwProviderFlags; + DWORD offsetName; + DWORD offsetClass; +} DSOBJECT,*LPDSOBJECT; +#define DSOBJECT_ISCONTAINER 0x00000001 +#define DSOBJECT_READONLYPAGES 0x80000000 +#define DSPROVIDER_UNUSED_0 0x00000001 +#define DSPROVIDER_UNUSED_1 0x00000002 +#define DSPROVIDER_UNUSED_2 0x00000004 +#define DSPROVIDER_UNUSED_3 0x00000008 +#define DSPROVIDER_ADVANCED 0x00000010 +typedef struct { + CLSID clsidNamespace; + UINT cItems; + DSOBJECT aObjects[1]; +} DSOBJECTNAMES,*LPDSOBJECTNAMES; +typedef struct { + DWORD offsetString; +} DSPROPERTYPAGEINFO,*LPDSPROPERTYPAGEINFO; +#ifdef UNICODE +typedef DSBITEMW DSBITEM,*PDSBITEM; +typedef DSBROWSEINFOW DSBROWSEINFO,*PDSBROWSEINFO; +#else +typedef DSBITEMA DSBITEM,*PDSBITEM; +typedef DSBROWSEINFOA DSBROWSEINFO,*PDSBROWSEINFO; +#endif +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dsgetdc.h b/winsup/w32api/include/dsgetdc.h new file mode 100644 index 000000000..e0f3c3c1a --- /dev/null +++ b/winsup/w32api/include/dsgetdc.h @@ -0,0 +1,98 @@ +/* + * dsgetdc.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _DSGETDC_H +#define _DSGETDC_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct _DOMAIN_CONTROLLER_INFOA { + LPSTR DomainControllerName; + LPSTR DomainControllerAddress; + ULONG DomainControllerAddressType; + GUID DomainGuid; + LPSTR DomainName; + LPSTR DnsForestName; + ULONG Flags; + LPSTR DcSiteName; + LPSTR ClientSiteName; +} DOMAIN_CONTROLLER_INFOA,*PDOMAIN_CONTROLLER_INFOA; +typedef struct _DOMAIN_CONTROLLER_INFOW { + LPWSTR DomainControllerName; + LPWSTR DomainControllerAddress; + ULONG DomainControllerAddressType; + GUID DomainGuid; + LPWSTR DomainName; + LPWSTR DnsForestName; + ULONG Flags; + LPWSTR DcSiteName; + LPWSTR ClientSiteName; +} DOMAIN_CONTROLLER_INFOW,*PDOMAIN_CONTROLLER_INFOW; +#define DS_INET_ADDRESS 0x0001 +#define DS_NETBIOS_ADDRESS 0x0002 +#define DS_PDC_FLAG 0x00000001 +#define DS_GC_FLAG 0x00000004 +#define DS_DS_FLAG 0x00000010 +#define DS_KDC_FLAG 0x00000020 +#define DS_TIMESERV_FLAG 0x00000040 +#define DS_WRITABLE_FLAG 0x00000100 +#define DS_DNS_CONTROLLER_FLAG 0x20000000 +#define DS_DNS_DOMAIN_FLAG 0x40000000 +#define DS_DNS_FOREST_FLAG 0x80000000 +typedef struct _DS_DOMAIN_TRUSTSA { + LPSTR NetbiosDomainName; + LPSTR DnsDomainName; + ULONG Flags; + ULONG ParentIndex; + ULONG TrustType; + ULONG TrustAttributes; + PSID DomainSid; + GUID DomainGuid; +} DS_DOMAIN_TRUSTSA,*PDS_DOMAIN_TRUSTSA; +typedef struct _DS_DOMAIN_TRUSTSW { + LPWSTR NetbiosDomainName; + LPWSTR DnsDomainName; + ULONG Flags; + ULONG ParentIndex; + ULONG TrustType; + ULONG TrustAttributes; + PSID DomainSid; + GUID DomainGuid; +} DS_DOMAIN_TRUSTSW,*PDS_DOMAIN_TRUSTSW; +#define DS_DOMAIN_IN_FOREST 0x0001 +#define DS_DOMAIN_DIRECT_OUTBOUND 0x0002 +#define DS_DOMAIN_TREE_ROOT 0x0004 +#define DS_DOMAIN_PRIMARY 0x0008 +#define DS_DOMAIN_NATIVE_MODE 0x0010 +#define DS_DOMAIN_DIRECT_INBOUND 0x0020 +#ifdef UNICODE +typedef DOMAIN_CONTROLLER_INFOW DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO; +typedef DS_DOMAIN_TRUSTSW DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS; +#else +typedef DOMAIN_CONTROLLER_INFOA DOMAIN_CONTROLLER_INFO,*PDOMAIN_CONTROLLER_INFO; +typedef DS_DOMAIN_TRUSTSA DS_DOMAIN_TRUSTS,*PDS_DOMAIN_TRUSTS; +#endif +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dsquery.h b/winsup/w32api/include/dsquery.h new file mode 100644 index 000000000..0f3f870fb --- /dev/null +++ b/winsup/w32api/include/dsquery.h @@ -0,0 +1,72 @@ +/* + * dsquery.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _DSQUERY_H +#define _DSQUERY_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Active Directory Display Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct { + DWORD dwFlags; + INT fmt; + INT cx; + INT idsName; + LONG offsetProperty; + DWORD dwReserved; +} DSCOLUMN,*LPDSCOLUMN; +#define DSCOLUMNPROP_ADSPATH -1 +#define DSCOLUMNPROP_OBJECTCLASS -2 +typedef struct { + DWORD cbStruct; + LONG cClasses; + DWORD offsetClass[1]; +} DSQUERYCLASSLIST,*LPDSQUERYCLASSLIST; +typedef struct { + DWORD cbStruct; + DWORD dwFlags; + LPWSTR pDefaultScope; + LPWSTR pDefaultSaveLocation; + LPWSTR pUserName; + LPWSTR pPassword; + LPWSTR pServer; +} DSQUERYINITPARAMS,*LPDSQUERYINITPARAMS; +#define DSQPF_NOSAVE 0x00000001 +#define DSQPF_SAVELOCATION 0x00000002 +#define DSQPF_SHOWHIDDENOBJECTS 0x00000004 +#define DSQPF_ENABLEADMINFEATURES 0x00000008 +#define DSQPF_ENABLEADVANCEDFEATURES 0x00000010 +#define DSQPF_HASCREDENTIALS 0x00000020 +#define DSQPF_NOCHOOSECOLUMNS 0x00000040 +typedef struct { + DWORD cbStruct; + DWORD dwFlags; + HINSTANCE hInstance; + LONG offsetQuery; + LONG iColumns; + DWORD dwReserved; + DSCOLUMN aColumns[1]; +} DSQUERYPARAMS,*LPDSQUERYPARAMS; +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/dsrole.h b/winsup/w32api/include/dsrole.h new file mode 100644 index 000000000..6b950f9be --- /dev/null +++ b/winsup/w32api/include/dsrole.h @@ -0,0 +1,75 @@ +/* + * dsrole.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _DSROLE_H +#define _DSROLE_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if (_WIN32_WINNT >= 0x0500) +/*--- Active Directory Reference - Active Directory Enumerations */ +typedef enum { + DsRole_RoleStandaloneWorkstation, + DsRole_RoleMemberWorkstation, + DsRole_RoleStandaloneServer, + DsRole_RoleMemberServer, + DsRole_RoleBackupDomainController, + DsRole_RolePrimaryDomainController +} DSROLE_MACHINE_ROLE; +typedef enum { + DsRoleOperationIdle, + DsRoleOperationActive, + DsRoleOperationNeedReboot +} DSROLE_OPERATION_STATE; +typedef enum { + DsRolePrimaryDomainInfoBasic, + DsRoleUpgradeStatus, + DsRoleOperationState +} DSROLE_PRIMARY_DOMAIN_INFO_LEVEL; +typedef enum { + DsRoleServerUnknown, + DsRoleServerPrimary, + DsRoleServerBackup +} DSROLE_SERVER_STATE; +/*--- Active Directory Reference - Active Directory Structures - Directory Service Structures */ +typedef struct { + DSROLE_OPERATION_STATE OperationState; +} DSROLE_OPERATION_STATE_INFO; +typedef struct _DSROLE_PRIMARY_DOMAIN_INFO_BASIC { + DSROLE_MACHINE_ROLE MachineRole; + ULONG Flags; + LPWSTR DomainNameFlat; + LPWSTR DomainNameDns; + LPWSTR DomainForestName; + GUID DomainGuid; +} DSROLE_PRIMARY_DOMAIN_INFO_BASIC,*PDSROLE_PRIMARY_DOMAIN_INFO_BASIC; +#define DSROLE_PRIMARY_DS_RUNNING 0x00000001 +#define DSROLE_PRIMARY_DS_MIXED_MODE 0x00000002 +#define DSROLE_UPGRADE_IN_PROGRESS 0x00000004 +#define DSROLE_PRIMARY_DOMAIN_GUID_PRESENT 0x01000000 +typedef struct _DSROLE_UPGRADE_STATUS_INFO { + ULONG OperationState; + DSROLE_SERVER_STATE PreviousServerState; +} DSROLE_UPGRADE_STATUS_INFO,*PDSROLE_UPGRADE_STATUS_INFO; +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/ntdsapi.h b/winsup/w32api/include/ntdsapi.h new file mode 100644 index 000000000..2218bee74 --- /dev/null +++ b/winsup/w32api/include/ntdsapi.h @@ -0,0 +1,115 @@ +/* + * ntdsapi.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _NTDSAPI_H +#define _NTDSAPI_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Enumerations */ +#if (_WIN32_WINNT >= 0x0501) +typedef enum _DS_MANGLE_FOR { + DS_MANGLE_UNKNOWN = 0, + DS_MANGLE_OBJECT_RDN_FOR_DELETION = 1, + DS_MANGLE_OBJECT_RDN_FOR_NAME_CONFLICT = 2 +} DS_MANGLE_FOR; +#endif /* (_WIN32_WINNT >= 0x0501) */ +#if (_WIN32_WINNT >= 0x0500) +typedef enum { + DS_NAME_NO_ERROR = 0, + DS_NAME_ERROR_RESOLVING = 1, + DS_NAME_ERROR_NOT_FOUND = 2, + DS_NAME_ERROR_NOT_UNIQUE = 3, + DS_NAME_ERROR_NO_MAPPING = 4, + DS_NAME_ERROR_DOMAIN_ONLY = 5, + DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 6, + DS_NAME_ERROR_TRUST_REFERRAL = 7 +} DS_NAME_ERROR; +typedef enum { + DS_NAME_NO_FLAGS = 0x0, + DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1, + DS_NAME_FLAG_EVAL_AT_DC = 0x2, + DS_NAME_FLAG_GCVERIFY = 0x4, + DS_NAME_FLAG_TRUST_REFERRAL = 0x8 +} DS_NAME_FLAGS; +typedef enum { + DS_UNKNOWN_NAME = 0, + DS_FQDN_1779_NAME = 1, + DS_NT4_ACCOUNT_NAME = 2, + DS_DISPLAY_NAME = 3, + DS_UNIQUE_ID_NAME = 6, + DS_CANONICAL_NAME = 7, + DS_USER_PRINCIPAL_NAME = 8, + DS_CANONICAL_NAME_EX = 9, + DS_SERVICE_PRINCIPAL_NAME = 10, + DS_SID_OR_SID_HISTORY_NAME = 11, + DS_DNS_DOMAIN_NAME = 12 +} DS_NAME_FORMAT; +typedef enum _DS_REPL_INFO_TYPE { + DS_REPL_INFO_NEIGHBORS = 0, + DS_REPL_INFO_CURSORS_FOR_NC = 1, + DS_REPL_INFO_METADATA_FOR_OBJ = 2, + DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES = 3, + DS_REPL_INFO_KCC_DSA_LINK_FAILURES = 4, + DS_REPL_INFO_PENDING_OPS = 5, + DS_REPL_INFO_METADATA_FOR_ATTR_VALUE = 6, + DS_REPL_INFO_CURSORS_2_FOR_NC = 7, + DS_REPL_INFO_CURSORS_3_FOR_NC = 8, + DS_REPL_INFO_METADATA_2_FOR_OBJ = 9, + DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE = 10 +} DS_REPL_INFO_TYPE; +typedef enum { + DS_REPL_OP_TYPE_SYNC = 0, + DS_REPL_OP_TYPE_ADD, + DS_REPL_OP_TYPE_DELETE, + DS_REPL_OP_TYPE_MODIFY, + DS_REPL_OP_TYPE_UPDATE_REFS +} DS_REPL_OP_TYPE; +typedef enum { + DS_REPSYNCALL_WIN32_ERROR_CONTACTING_SERVER = 0, + DS_REPSYNCALL_WIN32_ERROR_REPLICATING = 1, + DS_REPSYNCALL_SERVER_UNREACHABLE = 2 +} DS_REPSYNCALL_ERROR; +typedef enum { + DS_REPSYNCALL_EVENT_ERROR = 0, + DS_REPSYNCALL_EVENT_SYNC_STARTED = 1, + DS_REPSYNCALL_EVENT_SYNC_COMPLETED = 2, + DS_REPSYNCALL_EVENT_FINISHED = 3 +} DS_REPSYNCALL_EVENT; +typedef enum { + DS_SPN_DNS_HOST = 0, + DS_SPN_DN_HOST = 1, + DS_SPN_NB_HOST = 2, + DS_SPN_DOMAIN = 3, + DS_SPN_NB_DOMAIN = 4, + DS_SPN_SERVICE = 5 +} DS_SPN_NAME_TYPE; +typedef enum { + DS_SPN_ADD_SPN_OP = 0, + DS_SPN_REPLACE_SPN_OP = 1, + DS_SPN_DELETE_SPN_OP = 2 +} DS_SPN_WRITE_OP; + + +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/ntdsbcli.h b/winsup/w32api/include/ntdsbcli.h new file mode 100644 index 000000000..3508fef5b --- /dev/null +++ b/winsup/w32api/include/ntdsbcli.h @@ -0,0 +1,45 @@ +/* + * ntdsbcli.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _NTDSBCLI_H +#define _NTDSBCLI_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Directory Backup Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct { + LPSTR szDatabaseName; + LPSTR szNewDatabaseName; +} EDB_RSTMAPA,*PEDB_RSTMAPA; +typedef struct { + LPWSTR szDatabaseName; + LPWSTR szNewDatabaseName; +} EDB_RSTMAPW,*PEDB_RSTMAPW; +#ifdef UNICODE +typedef EDB_RSTMAPW EDB_RSTMAP,*PEDB_RSTMAP; +#else +typedef EDB_RSTMAPA EDB_RSTMAP,*PEDB_RSTMAP; +#endif +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/objsel.h b/winsup/w32api/include/objsel.h new file mode 100644 index 000000000..c298a55a2 --- /dev/null +++ b/winsup/w32api/include/objsel.h @@ -0,0 +1,118 @@ +/* + * objsel.h - Active Directory + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may use, + * modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ +#ifndef _OBJSEL_H +#define _OBJSEL_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*--- Active Directory Reference - Active Directory Structures - Object Picker Dialog Box Structures */ +#if (_WIN32_WINNT >= 0x0500) +typedef struct _DS_SELECTION { + PWSTR pwzName; + PWSTR pwzADsPath; + PWSTR pwzClass; + PWSTR pwzUPN; + VARIANT *pvarFetchedAttributes; + ULONG flScopeType; +} DS_SELECTION,*PDS_SELECTION; +typedef struct _DS_SELECTION_LIST { + ULONG cItems; + ULONG cFetchedAttributes; + DS_SELECTION aDsSelection[ANYSIZE_ARRAY]; +} DS_SELECTION_LIST,*PDS_SELECTION_LIST; + +typedef struct _DSOP_UPLEVEL_FILTER_FLAGS { + ULONG flBothModes; + ULONG flMixedModeOnly; + ULONG flNativeModeOnly; +} DSOP_UPLEVEL_FILTER_FLAGS; +#define DSOP_FILTER_INCLUDE_ADVANCED_VIEW 0x00000001 +#define DSOP_FILTER_USERS 0x00000002 +#define DSOP_FILTER_BUILTIN_GROUPS 0x00000004 +#define DSOP_FILTER_WELL_KNOWN_PRINCIPALS 0x00000008 +#define DSOP_FILTER_UNIVERSAL_GROUPS_DL 0x00000010 +#define DSOP_FILTER_UNIVERSAL_GROUPS_SE 0x00000020 +#define DSOP_FILTER_GLOBAL_GROUPS_DL 0x00000040 +#define DSOP_FILTER_GLOBAL_GROUPS_SE 0x00000080 +#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_DL 0x00000100 +#define DSOP_FILTER_DOMAIN_LOCAL_GROUPS_SE 0x00000200 +#define DSOP_FILTER_CONTACTS 0x00000400 +#define DSOP_FILTER_COMPUTERS 0x00000800 +typedef struct _DSOP_FILTER_FLAGS { + DSOP_UPLEVEL_FILTER_FLAGS Uplevel; + ULONG flDownlevel; +} DSOP_FILTER_FLAGS; +#define DSOP_DOWNLEVEL_FILTER_USERS 0x80000001 +#define DSOP_DOWNLEVEL_FILTER_LOCAL_GROUPS 0x80000002 +#define DSOP_DOWNLEVEL_FILTER_GLOBAL_GROUPS 0x80000004 +#define DSOP_DOWNLEVEL_FILTER_COMPUTERS 0x80000008 +#define DSOP_DOWNLEVEL_FILTER_WORLD 0x80000010 +#define DSOP_DOWNLEVEL_FILTER_AUTHENTICATED_USER 0x80000020 +#define DSOP_DOWNLEVEL_FILTER_ANONYMOUS 0x80000040 +#define DSOP_DOWNLEVEL_FILTER_BATCH 0x80000080 +#define DSOP_DOWNLEVEL_FILTER_CREATOR_OWNER 0x80000100 +#define DSOP_DOWNLEVEL_FILTER_CREATOR_GROUP 0x80000200 +#define DSOP_DOWNLEVEL_FILTER_DIALUP 0x80000400 +#define DSOP_DOWNLEVEL_FILTER_INTERACTIVE 0x80000800 +#define DSOP_DOWNLEVEL_FILTER_NETWORK 0x80001000 +#define DSOP_DOWNLEVEL_FILTER_SERVICE 0x80002000 +#define DSOP_DOWNLEVEL_FILTER_SYSTEM 0x80004000 +#define DSOP_DOWNLEVEL_FILTER_EXCLUDE_BUILTIN_GROUPS 0x80008000 +#define DSOP_DOWNLEVEL_FILTER_TERMINAL_SERVER 0x80010000 +#define DSOP_DOWNLEVEL_FILTER_ALL_WELLKNOWN_SIDS 0x80020000 +#define DSOP_DOWNLEVEL_FILTER_LOCAL_SERVICE 0x80040000 +#define DSOP_DOWNLEVEL_FILTER_NETWORK_SERVICE 0x80080000 +#define DSOP_DOWNLEVEL_FILTER_REMOTE_LOGON 0x80100000 +typedef struct _DSOP_SCOPE_INIT_INFO { + ULONG cbSize; + ULONG flType; + ULONG flScope; + DSOP_FILTER_FLAGS FilterFlags; + PCWSTR pwzDcName; + PCWSTR pwzADsPath; + HRESULT hr; +} DSOP_SCOPE_INIT_INFO,*PDSOP_SCOPE_INIT_INFO,*PCDSOP_SCOPE_INIT_INFO; +#define DSOP_SCOPE_TYPE_TARGET_COMPUTER 0x00000001 +#define DSOP_SCOPE_TYPE_UPLEVEL_JOINED_DOMAIN 0x00000002 +#define DSOP_SCOPE_TYPE_DOWNLEVEL_JOINED_DOMAIN 0x00000004 +#define DSOP_SCOPE_TYPE_ENTERPRISE_DOMAIN 0x00000008 +#define DSOP_SCOPE_TYPE_GLOBAL_CATALOG 0x00000010 +#define DSOP_SCOPE_TYPE_EXTERNAL_UPLEVEL_DOMAIN 0x00000020 +#define DSOP_SCOPE_TYPE_EXTERNAL_DOWNLEVEL_DOMAIN 0x00000040 +#define DSOP_SCOPE_TYPE_WORKGROUP 0x00000080 +#define DSOP_SCOPE_TYPE_USER_ENTERED_UPLEVEL_SCOPE 0x00000100 +#define DSOP_SCOPE_TYPE_USER_ENTERED_DOWNLEVEL_SCOPE 0x00000200 +typedef struct _DSOP_INIT_INFO { + ULONG cbSize; + PCWSTR pwzTargetComputer; + ULONG cDsScopeInfos; + PDSOP_SCOPE_INIT_INFO aDsScopeInfos; + ULONG flOptions; + ULONG cAttributesToFetch; + PCWSTR* apwzAttributeNames; +} DSOP_INIT_INFO,*PDSOP_INIT_INFO; +#define DSOP_FLAG_MULTISELECT 0x00000001 +#define DSOP_FLAG_SKIP_TARGET_COMPUTER_DC_CHECK 0x00000002 +#endif /* (_WIN32_WINNT >= 0x0500) */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/winsup/w32api/include/strmif.h b/winsup/w32api/include/strmif.h index a697450bf..da1460e69 100644 --- a/winsup/w32api/include/strmif.h +++ b/winsup/w32api/include/strmif.h @@ -1067,6 +1067,91 @@ typedef struct _VMRVIDEOSTREAMINFO { NORMALIZEDRECT rNormal; } VMRVIDEOSTREAMINFO; **********/ +/*--- DirectShow Reference - Interfaces */ +#define INTERFACE IAMAnalogVideoDecoder +DECLARE_INTERFACE_(IAMAnalogVideoDecoder, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,get_AvailableTVFormats)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,get_HorizontalLocked)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,get_NumberOfLines)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,get_OutputEnable)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,get_TVFormat)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,get_VCRHorizontalLocking)(THIS_ long*) PURE; + STDMETHOD_(HRESULT,put_OutputEnable)(THIS_ long) PURE; + STDMETHOD_(HRESULT,put_TVFormat)(THIS_ long) PURE; + STDMETHOD_(HRESULT,put_VCRHorizontalLocking)(THIS_ long) PURE; +}; +#undef INTERFACE +#define INTERFACE IAMAudioInputMixer +DECLARE_INTERFACE_(IAMAudioInputMixer, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,get_Bass)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,get_BassRange)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,get_Enable)(THIS_ BOOL*) PURE; + STDMETHOD_(HRESULT,get_Loudness)(THIS_ BOOL*) PURE; + STDMETHOD_(HRESULT,get_MixLevel)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,get_Mono)(THIS_ BOOL*) PURE; + STDMETHOD_(HRESULT,get_Pan)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,get_Treble)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,get_TrebleRange)(THIS_ double*) PURE; + STDMETHOD_(HRESULT,put_Bass)(THIS_ double) PURE; + STDMETHOD_(HRESULT,put_Enable)(THIS_ BOOL) PURE; + STDMETHOD_(HRESULT,put_Loudness)(THIS_ BOOL) PURE; + STDMETHOD_(HRESULT,put_MixLevel)(THIS_ double) PURE; + STDMETHOD_(HRESULT,put_Mono)(THIS_ BOOL) PURE; + STDMETHOD_(HRESULT,put_Pan)(THIS_ double) PURE; + STDMETHOD_(HRESULT,put_Treble)(THIS_ double) PURE; +}; +#undef INTERFACE +#define INTERFACE IAMAudioRendererStats +DECLARE_INTERFACE_(IAMAudioRendererStats, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,GetStatParam)(THIS_ DWORD,DWORD*,DWORD*) PURE; +}; +#undef INTERFACE +#define INTERFACE IAMBufferNegotiation +DECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,GetAllocatorProperties)(THIS_ ALLOCATOR_PROPERTIES*) PURE; + STDMETHOD_(HRESULT,SuggestAllocatorProperties)(THIS_ const ALLOCATOR_PROPERTIES*) PURE; +}; +#undef INTERFACE +#define INTERFACE IAMCameraControl +DECLARE_INTERFACE_(IAMCameraControl, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,Get)(THIS_ long,long*,long*) PURE; + STDMETHOD_(HRESULT,GetRange)(THIS_ long,long*,long*,long*,long*,long*) PURE; + STDMETHOD_(HRESULT,Set)(THIS_ long,long,long) PURE; +}; +#undef INTERFACE + +#define INTERFACE IAMCertifiedOutputProtection +DECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD_(HRESULT,KeyExchange)(THIS_ GUID*,BYTE**,DWORD*) PURE; + STDMETHOD_(HRESULT,ProtectionCommand)(THIS_ const AMCOPPCommand*) PURE; + STDMETHOD_(HRESULT,ProtectionStatus)(THIS_ const AMCOPPStatusInput*,AMCOPPStatusOutput*) PURE; + STDMETHOD_(HRESULT,SessionSequenceStart)(THIS_ const AMCOPPSignature*) PURE; +}; +#undef INTERFACE #ifdef __cplusplus }