CASA/include/sscs_win_secretstoredef.h
2006-02-01 17:48:29 +00:00

273 lines
6.9 KiB
C

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
#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_
//=========================================================================
//=========================================================================