269 lines
6.7 KiB
C
269 lines
6.7 KiB
C
|
//++=======================================================================
|
||
|
// Program Name: Novell XTier Authentication Services
|
||
|
// File Name: SECRETSTORE.H
|
||
|
// Version: v1.00
|
||
|
// Authors: Jim Norman (jnorman)
|
||
|
// Abstract: This module contains definition and prototype information
|
||
|
// for the local secret store sevice.
|
||
|
// Revision History:
|
||
|
//
|
||
|
//
|
||
|
// (C) Unpublished Copyright of Novell, Inc. All Rights Reserved.
|
||
|
//
|
||
|
// No part of this file may be duplicated, revised, translated, localized,
|
||
|
// or modified in any manner or compiled, linked or uploaded or downloaded
|
||
|
// to or from any computer system without the prior written consent of
|
||
|
// Novell, Inc.
|
||
|
//=======================================================================--
|
||
|
|
||
|
#ifndef _SECRETSTOREDEF_
|
||
|
#define _SECRETSTOREDEF_
|
||
|
|
||
|
|
||
|
//===[ Header files specific to this module ]==============================
|
||
|
#include <ncpltype.h>
|
||
|
#include <cppsup.h>
|
||
|
#include <nscmdef.h>
|
||
|
|
||
|
//===[ Manifest constants ]==============================
|
||
|
|
||
|
// {A118B15C-66A3-46ba-BA3B-D45FBBF0C5DA}
|
||
|
DEFINE_GUID(CLSID_SecretStoreClientService,
|
||
|
0xa118b15c,
|
||
|
0x66a3,
|
||
|
0x46ba,
|
||
|
0xba, 0x3b, 0xd4, 0x5f, 0xbb, 0xf0, 0xc5, 0xda);
|
||
|
|
||
|
// {6DF6121E-C823-43dd-9D1C-7B89056CC4AE}
|
||
|
DEFINE_GUID(IID_SSCS,
|
||
|
0x6df6121e,
|
||
|
0xc823,
|
||
|
0x43dd,
|
||
|
0x9d, 0x1c, 0x7b, 0x89, 0x5, 0x6c, 0xc4, 0xae);
|
||
|
|
||
|
|
||
|
//===[ Structure Definitions ]==============================
|
||
|
|
||
|
//===[ Function Prototypes ]==============================
|
||
|
|
||
|
// {54BFEBE2-F726-44d9-AEDE-E9252FA99549}
|
||
|
DEFINE_GUID(IID_VerifyAccessSS_1,
|
||
|
0x2d4c7faa,
|
||
|
0x8e3c,
|
||
|
0x4c70,
|
||
|
0x87, 0xa7, 0xc8, 0x7d, 0xad, 0x80, 0x2a, 0xd);
|
||
|
|
||
|
/*
|
||
|
0x54bfebe2,
|
||
|
0xf726,
|
||
|
0x44d9,
|
||
|
0xae, 0xde, 0xe9, 0x25, 0x2f, 0xa9, 0x95, 0x49);
|
||
|
*/
|
||
|
|
||
|
#undef NICM_INTERFACE
|
||
|
#define NICM_INTERFACE IVerifiedAccessSS
|
||
|
|
||
|
|
||
|
NICM_DECLARE_INHERITTED_INTERFACE(IVerifiedAccessSS, NICM_IUnknown)
|
||
|
{
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(QueryInterface) (
|
||
|
IN THISPTR
|
||
|
IN const GUID *pIId,
|
||
|
OUT void **ppvObj
|
||
|
) PURE;
|
||
|
|
||
|
VIRT UINT32 NICM_STDMETHOD
|
||
|
(AddRef) (
|
||
|
IN THISPTRONLY
|
||
|
) PURE;
|
||
|
|
||
|
VIRT UINT32 NICM_STDMETHOD
|
||
|
(Release) (
|
||
|
IN THISPTRONLY
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(QuerySecureInterface) (
|
||
|
IN THISPTR
|
||
|
IN HMODULE hModule,
|
||
|
IN const GUID *pIId,
|
||
|
OUT void **ppvObj
|
||
|
) PURE;
|
||
|
};
|
||
|
|
||
|
typedef IVerifiedAccessSS FAR *PIVerifiedAccessSS;
|
||
|
|
||
|
|
||
|
#undef NICM_INTERFACE
|
||
|
#define NICM_INTERFACE ISecretStore
|
||
|
|
||
|
NICM_DECLARE_INHERITTED_INTERFACE(ISecretStore, NICM_IUnknown)
|
||
|
{
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(QueryInterface) (
|
||
|
IN THISPTR
|
||
|
IN const GUID *pIId,
|
||
|
OUT void **ppvObj
|
||
|
) PURE;
|
||
|
|
||
|
VIRT UINT32 NICM_STDMETHOD
|
||
|
(AddRef) (
|
||
|
IN THISPTRONLY
|
||
|
) PURE;
|
||
|
|
||
|
VIRT UINT32 NICM_STDMETHOD
|
||
|
(Release) (
|
||
|
IN THISPTRONLY
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheOpenSecretStore)
|
||
|
(
|
||
|
IN THISPTR
|
||
|
IN PVOID secretStoreID,
|
||
|
IN ULONG ssFlags,
|
||
|
OUT PVOID ssHandle,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheCloseSecretStore)
|
||
|
(
|
||
|
IN THISPTR
|
||
|
IN PVOID ssHandle,
|
||
|
IN ULONG ssFlags,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheRemoveSecretStore)
|
||
|
(
|
||
|
IN THISPTR
|
||
|
IN PVOID ssHandle,
|
||
|
IN ULONG ssFlags,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheRemoveSecret) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN SSCS_SECRET_ID_T *secretID,
|
||
|
IN SSCS_PASSWORD_T *epPassword,
|
||
|
IN PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheReadSecret) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN SSCS_SECRET_ID_T *secretID,
|
||
|
IN OUT SSCS_SECRET_T *secretData,
|
||
|
IN SSCS_PASSWORD_T *epPassword,
|
||
|
IN OUT void *bytesRequired,
|
||
|
IN OUT void *reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheWriteSecret) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN SSCS_SECRET_ID_T *secretID,
|
||
|
IN SSCS_SECRET_T *secretData,
|
||
|
IN SSCS_PASSWORD_T *epPassword,
|
||
|
IN void *reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheEnumerateSecretIDs) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN SSCS_SRCH_KEY_T *searchKey,
|
||
|
IN OUT SSCS_SECRET_ID_LIST_T *secretIDList,
|
||
|
IN OUT VOID *reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheEnumerateKeyChainIDs) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssflags,
|
||
|
IN SSCS_SRCH_KEY_T *searchKey,
|
||
|
IN OUT SSCS_KEYCHAIN_ID_LIST_T *kcIDList,
|
||
|
IN OUT VOID *reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheAddKeyChain) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheRemoveKeyChain) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheGetSecretStoreInfo) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_SECRETSTORE_INFO_T *ssInfo,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(CacheGetKeychainInfo) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_KEYCHAIN_ID_T *keyChainID,
|
||
|
IN SSCS_KEYCHAIN_INFO_T *kcInfo,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(LockCache ) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
|
||
|
VIRT NCSTATUS NICM_STDMETHOD
|
||
|
(UnLockCache ) (
|
||
|
IN THISPTR
|
||
|
IN SCHANDLE hSC,
|
||
|
IN ULONG ssFlags,
|
||
|
IN SSCS_PASSCODE_T *passcode,
|
||
|
IN OUT PVOID reserved
|
||
|
) PURE;
|
||
|
};
|
||
|
|
||
|
typedef ISecretStore FAR *PISecretStore;
|
||
|
|
||
|
#endif // _SECRETSTOREDEF_
|
||
|
|
||
|
//=========================================================================
|
||
|
//=========================================================================
|
||
|
|