diff options
Diffstat (limited to 'private/windows/gina/policy/inc')
-rw-r--r-- | private/windows/gina/policy/inc/choosusr.h | 106 | ||||
-rw-r--r-- | private/windows/gina/policy/inc/sec32api.h | 173 |
2 files changed, 279 insertions, 0 deletions
diff --git a/private/windows/gina/policy/inc/choosusr.h b/private/windows/gina/policy/inc/choosusr.h new file mode 100644 index 000000000..888083f27 --- /dev/null +++ b/private/windows/gina/policy/inc/choosusr.h @@ -0,0 +1,106 @@ + +/*****************************************************************************\ +* * +* choosusr.h - choose user dialog function, types, and definitions * +* * +* Version 1.0 * +* * +* NOTE: windows.h must be #included first * +* * +* Copyright (c) 1993, Microsoft Corp. All rights reserved. * +* * +\*****************************************************************************/ + +#ifndef _INC_CHOOSUSR +#define _INC_CHOOSUSR + +#ifndef RC_INVOKED +#pragma pack(1) /* Assume byte packing throughout */ +#endif /* !RC_INVOKED */ + +#ifdef __cplusplus +extern "C" { /* Assume C declarations for C++ */ +#endif /* __cplusplus */ + +#ifndef WINAPI /* If not included with 3.1 headers... */ +#define WINAPI FAR PASCAL +#define CALLBACK FAR PASCAL +#define LPCSTR LPSTR +#define UINT WORD +#define LPARAM LONG +#define WPARAM WORD +#define LRESULT LONG +#define HMODULE HANDLE +#define HINSTANCE HANDLE +#define HLOCAL HANDLE +#define HGLOBAL HANDLE +#endif /* _INC_WINDOWS */ + + +#define MAX_BINS 3 + +// codes in CHOOSEUSER.dwError +#define CUERR_NO_ERROR 0 +#define CUERR_BUF_TOO_SMALL 80 +#define CUERR_INVALID_PARAMETER 81 +#define CUERR_PROVIDER_ERROR 82 +#define CUERR_NO_AB_PROVIDER 83 +#define CUERR_INVALID_AB_PROVIDER 84 + +// codes in CHOOSEUSER.Flags +#define CUFLG_USR_ONLY 0x00000001 +#define CUFLG_GRP_ONLY 0x00000002 + +struct tagCHOOSEUSER +{ + DWORD lStructSize; + HWND hwndOwner; + HINSTANCE hInstance; + DWORD Flags; + UINT nBins; + LPSTR lpszDialogTitle; + LPSTR lpszProvider; + LPSTR lpszReserved; + LPSTR lpszRemote; + LPSTR lpszHelpFile; + LPSTR lpszBinButtonText[MAX_BINS]; + DWORD dwBinValue[MAX_BINS]; + DWORD dwBinHelpID[MAX_BINS]; + LPBYTE lpBuf; + DWORD cbBuf; + DWORD nEntries; // OUT + DWORD cbData; // OUT + DWORD dwError; // OUT + DWORD dwErrorDetails; // OUT +}; +typedef struct tagCHOOSEUSER CHOOSEUSER; +typedef struct tagCHOOSEUSER FAR *LPCHOOSEUSER; + +// codes for CHOOSEUSERENTRY.dwEntryAttributes +#define CUE_ATTR_USER 0x00000001 +#define CUE_ATTR_GROUP 0x00000002 +#define CUE_ATTR_WORLD 0x00000004 + +struct tagCHOOSEUSERENTRY +{ + LPSTR lpszShortName; + LPSTR lpszLongName; + DWORD dwBinAttributes; + DWORD dwEntryAttributes; +}; + +typedef struct tagCHOOSEUSERENTRY CHOOSEUSERENTRY; +typedef struct tagCHOOSEUSERENTRY FAR *LPCHOOSEUSERENTRY; + +BOOL WINAPI ChooseUser(CHOOSEUSER FAR*); +typedef BOOL (WINAPI *LPFNCU)(LPCHOOSEUSER); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#ifndef RC_INVOKED +#pragma pack() +#endif /* !RC_INVOKED */ + +#endif /* !_INC_CHOOSUSR */ diff --git a/private/windows/gina/policy/inc/sec32api.h b/private/windows/gina/policy/inc/sec32api.h new file mode 100644 index 000000000..ac9728c26 --- /dev/null +++ b/private/windows/gina/policy/inc/sec32api.h @@ -0,0 +1,173 @@ +/*****************************************************************/ +/** Microsoft Windows **/ +/** Copyright (C) Microsoft Corp., 1993-5 **/ +/*****************************************************************/ + +/* + SEC32API.H + + This header file contains declarations for the internal versions + of the 32-bit Access API, as exported by FILESEC.386. It also + contains constant definitions used by securty components + + This file relies, in part, on NETVXD.H and VXDCALL.H. + + This file must be H2INC-able. + + FILE HISTORY: + dannygl 09/25/93 Initial version + dannygl 09/29/93 Add NetAccessSetInfo + dannygl 10/04/93 Add security-related string constants + dannygl 01/17/94 Replace Win32 services with IOCtls + dannygl 02/10/94 Add NetAccess arg count constants + dannygl 02/16/94 Update registry string constants + dannygl 11/17/94 Add Logon2 API (supported by MSSP only) +*/ + + +// Registry string constants +// Security provider information (in HKEY_LOCAL_MACHINE) +#define REGKEY_SP_CONFIG "Security\\Provider" + +#define REGVAL_SP_PLATFORM "Platform_Type" +#define REGVAL_SP_CONTAINER "Container" +#define REGVAL_SP_ABSERVER "Address_Server" +#define REGVAL_SP_ONEOFFABSERVER "One_Off_Address_Server" +#define REGVAL_SP_ABPROVIDER "Address_Book" +#define REGVAL_SP_NO_SORT "NoSort" + +// Obsolescent definition -- will be deleted soon +//#define REGVAL_SP_PTPROVIDER "Pass_Through" + +// Definitions for the IOControl interface that FILESEC uses for Win32 API +// support + +#define FSIOC_API_Base 100 + +/*XLATOFF*/ + +typedef enum +{ + FSIOC_AccessAddAPI = FSIOC_API_Base, + FSIOC_AccessCheckAPI, + FSIOC_AccessDelAPI, + FSIOC_AccessEnumAPI, + FSIOC_AccessGetInfoAPI, + FSIOC_AccessGetUserPermsAPI, + FSIOC_AccessSetInfoAPI +} FSIOC_Ordinal; + +/*XLATON*/ + +// Important: We define this constant separately because we need it +// to be H2INC'able. It must match the above enumerated type. +#define FSIOC_API_Count 7 + +// Arg counts for Access functions +// +// Note: These constants are defined for readability purposes and should not +// be modified independently. +#define Argc_AccessAdd 3 +#define Argc_AccessCheck 4 +#define Argc_AccessDel 1 +#define Argc_AccessEnum 7 +#define Argc_AccessGetInfo 5 +#define Argc_AccessGetUserPerms 3 +#define Argc_AccessSetInfo 5 + +// Definitions used by the Security Provider VxDs to expose interfaces +// to Win32 code via IOCtls + +#define SPIOC_API_Base 100 + +/*XLATOFF*/ + +typedef enum +{ + SPIOC_PreLogonAPI = SPIOC_API_Base, + SPIOC_LogonAPI, + SPIOC_LogoffAPI, + SPIOC_GetFlagsAPI, + SPIOC_GetContainerAPI, + SPIOC_NW_GetUserObjectId, // NWSP only + SPIOC_Logon2API, // Currently MSSP only + SPIOC_DiscoverDC // MSSP only +} SPIOC_Ordinal; + +/*XLATON*/ + +// Important: We define this constant separately because we need it +// to be H2INC'able. It must match the above enumerated type. +#define SPIOC_API_Count 8 + +/*XLATOFF*/ + +typedef struct +{ + unsigned char *pbChallenge; + unsigned long *pcbChallenge; +} AUTHPRELOGONINFO, *PAUTHPRELOGONINFO; + +typedef struct +{ + const char *pszContainer; + const char *pszUserName; + const char *pszClientName; + const unsigned char *pbResponse; + unsigned long cbResponse; + const unsigned char *pbChallenge; + unsigned long cbChallenge; + unsigned long fResponseType; + unsigned long *pfResult; +} AUTHLOGONINFO, *PAUTHLOGONINFO; + +typedef struct +{ + const char *pszContainer; + char *pszContainerValidated; + const char *pszUserName; + char *pszUserValidated; + const char *pszClientName; + const unsigned char *pbResponse; + unsigned long cbResponse; + const unsigned char *pbResponse2; + unsigned long cbResponse2; + const unsigned char *pbChallenge; + unsigned long cbChallenge; + unsigned long *pfFlags; + unsigned long *pfResult; +} AUTHLOGON2INFO, *PAUTHLOGON2INFO; + +typedef struct +{ + const char *pszContainer; + const char *pszUserName; + const char *pszClientName; +} AUTHLOGOFFINFO, *PAUTHLOGOFFINFO; + +typedef struct +{ + unsigned long *pdwFlags; + unsigned long *pdwSecurity; +} AUTHGETFLAGS, *PAUTHGETFLAGS; + +typedef struct +{ + char *pszContainer; + unsigned long *pcbContainer; +} AUTHGETCONTAINER, *PAUTHGETCONTAINER; + +typedef struct +{ + char *pszUserName; + unsigned long dwObjectId; +} AUTHNWGETUSEROBJECTID, *PAUTHNWGETUSEROBJECTID; + +typedef struct +{ + const char *pszDomain; + char *pszDCs; // Concatenated strings, ended with an extra null + unsigned long *pcbDCs; +} AUTHDISCOVERDC, *PAUTHDISCOVERDC; + +/*XLATON*/ |