CASA/include/sscs_win_secretstoredef.h
2005-10-11 19:51:00 +00:00

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_
//=========================================================================
//=========================================================================