summaryrefslogtreecommitdiffstats
path: root/private/windows/gina/policy/inc
diff options
context:
space:
mode:
Diffstat (limited to 'private/windows/gina/policy/inc')
-rw-r--r--private/windows/gina/policy/inc/choosusr.h106
-rw-r--r--private/windows/gina/policy/inc/sec32api.h173
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*/