102 lines
3.1 KiB
C
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
|