CASA/LoginCapture/windows/external/provider/include/nwlgext.h
2005-10-11 19:51:00 +00:00

102 lines
3.1 KiB
C

/****************************************************************************
Source module name: nwlgext.h
Release Version: 1.00
$Workfile: nwlgext.h $
$Revision: 1.1 $
$Modtime:: $
$Copyright:
Copyright (c) 1989-1999 Novell, Inc. All Rights Reserved.
U.S. Patent Number 5,781,724 -- Novell, Inc.
THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED
COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,
EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED
WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
CRIMINAL AND CIVIL LIABILITY.$
****************************************************************************/
#ifndef NWLOGIN_H
# include <nwlogin.h>
#endif
#ifndef NWLGEXT_H
#define NWLGEXT_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct tagNWLGLoginExtInfo
{
nint loginExtIDLen; // ID buffer length (max allowed by api is 32)
pnstr loginExtID; // ID is the unique name for subkey in registry
nint loginExtDLLNameLen; // DLL file name length
pnstr loginExtDLLName; // DLL file name (may include path)
nint loginExtDescLen; // Descriptive text buffer length
pnstr loginExtDesc; // Any descriptive text
DWORD loginExtType; // Login extension in type, UI, Authentication, Script only,...
} NWLGLoginExtInfo;
typedef NWLGLoginExtInfo N_FAR * pNWLGLoginExtInfo;
/* some arbitrary limits set by API */
#define LOGIN_EXT_MAX_ID_BYTES 32
#define LOGIN_EXT_MAX_DLL_NAME MAX_PATH
#define LOGIN_EXT_MAX_DESC 64
/* definitions valid for loginExtType */
#define LOGIN_EXT_UI 0x0001
#define LOGIN_EXT_AUTHENTICATE 0x0002
#define LOGIN_EXT_SCRIPT 0x0004
#define LOGIN_EXT_ALL 0x00FF
#define LOGIN_EXT_MANDATORY 0x0100
#define LOGIN_EXT_OPTIONAL 0x0200
#define LOGIN_EXT_SECONDARY 0x4000
#define LOGIN_EXT_MASTER 0x8000
/* Login extension init (registration) entry point */
N_EXTERN_LIBRARY( NWCCODE )
NWLoginExtInit
(
pNWLGAccessRec * pAccess,
pNWVersion pCompiledVersion,
pNWVersion pRuntimeVersion,
nptr reserved1,
nptr reserved2
);
N_EXTERN_LIBRARY( NWCCODE )
NWLGLoginExtRegOpen
(
HKEY *hKey
);
N_EXTERN_LIBRARY( NWCCODE )
NWLGLoginExtRegGet
(
DWORD *iSubKey, // -1 = find from structure, 0 = read first, increment for next
pNWLGLoginExtInfo loginExtInfo
);
N_EXTERN_LIBRARY( NWCCODE )
NWLGLoginExtRegWrite
(
pNWLGLoginExtInfo
);
N_EXTERN_LIBRARY( NWCCODE )
NWLGLoginExtRegDelete
(
pNWLGLoginExtInfo loginExtInfo
);
#ifdef __cplusplus
}
#endif
#endif