Juan Lang : crypt32: Move cert store definitions to header.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 17 06:30:30 CDT 2007


Module: wine
Branch: master
Commit: adaaab923d1bce88a624b14012d215721cd48408
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=adaaab923d1bce88a624b14012d215721cd48408

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Aug 16 10:46:04 2007 -0700

crypt32: Move cert store definitions to header.

---

 dlls/crypt32/crypt32_private.h |   62 ++++++++++++++++++++++++++++++++++++++--
 dlls/crypt32/store.c           |   55 -----------------------------------
 2 files changed, 59 insertions(+), 58 deletions(-)

diff --git a/dlls/crypt32/crypt32_private.h b/dlls/crypt32/crypt32_private.h
index 9104b98..fe1c39e 100644
--- a/dlls/crypt32/crypt32_private.h
+++ b/dlls/crypt32/crypt32_private.h
@@ -172,6 +172,65 @@ extern PCWINE_CONTEXT_INTERFACE pCertInterface;
 extern PCWINE_CONTEXT_INTERFACE pCRLInterface;
 extern PCWINE_CONTEXT_INTERFACE pCTLInterface;
 
+/* (Internal) certificate store types and functions */
+struct WINE_CRYPTCERTSTORE;
+
+typedef struct WINE_CRYPTCERTSTORE * (*StoreOpenFunc)(HCRYPTPROV hCryptProv,
+ DWORD dwFlags, const void *pvPara);
+
+/* Called to enumerate the next context in a store. */
+typedef void * (*EnumFunc)(struct WINE_CRYPTCERTSTORE *store, void *pPrev);
+
+/* Called to add a context to a store.  If toReplace is not NULL,
+ * context replaces toReplace in the store, and access checks should not be
+ * performed.  Otherwise context is a new context, and it should only be
+ * added if the store allows it.  If ppStoreContext is not NULL, the added
+ * context should be returned in *ppStoreContext.
+ */
+typedef BOOL (*AddFunc)(struct WINE_CRYPTCERTSTORE *store, void *context,
+ void *toReplace, const void **ppStoreContext);
+
+typedef BOOL (*DeleteFunc)(struct WINE_CRYPTCERTSTORE *store, void *context);
+
+typedef struct _CONTEXT_FUNCS
+{
+    AddFunc    addContext;
+    EnumFunc   enumContext;
+    DeleteFunc deleteContext;
+} CONTEXT_FUNCS, *PCONTEXT_FUNCS;
+
+typedef enum _CertStoreType {
+    StoreTypeMem,
+    StoreTypeCollection,
+    StoreTypeProvider,
+} CertStoreType;
+
+struct _CONTEXT_PROPERTY_LIST;
+typedef struct _CONTEXT_PROPERTY_LIST *PCONTEXT_PROPERTY_LIST;
+
+#define WINE_CRYPTCERTSTORE_MAGIC 0x74726563
+
+/* A cert store is polymorphic through the use of function pointers.  A type
+ * is still needed to distinguish collection stores from other types.
+ * On the function pointers:
+ * - closeStore is called when the store's ref count becomes 0
+ * - control is optional, but should be implemented by any store that supports
+ *   persistence
+ */
+typedef struct WINE_CRYPTCERTSTORE
+{
+    DWORD                       dwMagic;
+    LONG                        ref;
+    DWORD                       dwOpenFlags;
+    HCRYPTPROV                  cryptProv;
+    CertStoreType               type;
+    PFN_CERT_STORE_PROV_CLOSE   closeStore;
+    CONTEXT_FUNCS               certs;
+    CONTEXT_FUNCS               crls;
+    PFN_CERT_STORE_PROV_CONTROL control; /* optional */
+    PCONTEXT_PROPERTY_LIST      properties;
+} WINECRYPT_CERTSTORE, *PWINECRYPT_CERTSTORE;
+
 /* Helper function for store reading functions and
  * CertAddSerializedElementToStore.  Returns a context of the appropriate type
  * if it can, or NULL otherwise.  Doesn't validate any of the properties in
@@ -228,9 +287,6 @@ void *Context_GetLinkedContext(void *context, size_t contextSize);
 void Context_CopyProperties(const void *to, const void *from,
  size_t contextSize);
 
-struct _CONTEXT_PROPERTY_LIST;
-typedef struct _CONTEXT_PROPERTY_LIST *PCONTEXT_PROPERTY_LIST;
-
 /* Returns context's properties, or the linked context's properties if context
  * is a link context.
  */
diff --git a/dlls/crypt32/store.c b/dlls/crypt32/store.c
index df2053f..d2687fb 100644
--- a/dlls/crypt32/store.c
+++ b/dlls/crypt32/store.c
@@ -41,8 +41,6 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(crypt);
 
-#define WINE_CRYPTCERTSTORE_MAGIC 0x74726563
-
 static const WINE_CONTEXT_INTERFACE gCertInterface = {
     (CreateContextFunc)CertCreateCertificateContext,
     (AddContextToStoreFunc)CertAddCertificateContextToStore,
@@ -88,59 +86,6 @@ static const WINE_CONTEXT_INTERFACE gCTLInterface = {
 };
 PCWINE_CONTEXT_INTERFACE pCTLInterface = &gCTLInterface;
 
-struct WINE_CRYPTCERTSTORE;
-
-typedef struct WINE_CRYPTCERTSTORE * (*StoreOpenFunc)(HCRYPTPROV hCryptProv,
- DWORD dwFlags, const void *pvPara);
-
-/* Called to enumerate the next context in a store. */
-typedef void * (*EnumFunc)(struct WINE_CRYPTCERTSTORE *store, void *pPrev);
-
-/* Called to add a context to a store.  If toReplace is not NULL,
- * context replaces toReplace in the store, and access checks should not be
- * performed.  Otherwise context is a new context, and it should only be
- * added if the store allows it.  If ppStoreContext is not NULL, the added
- * context should be returned in *ppStoreContext.
- */
-typedef BOOL (*AddFunc)(struct WINE_CRYPTCERTSTORE *store, void *context,
- void *toReplace, const void **ppStoreContext);
-
-typedef BOOL (*DeleteFunc)(struct WINE_CRYPTCERTSTORE *store, void *context);
-
-typedef struct _CONTEXT_FUNCS
-{
-    AddFunc    addContext;
-    EnumFunc   enumContext;
-    DeleteFunc deleteContext;
-} CONTEXT_FUNCS, *PCONTEXT_FUNCS;
-
-typedef enum _CertStoreType {
-    StoreTypeMem,
-    StoreTypeCollection,
-    StoreTypeProvider,
-} CertStoreType;
-
-/* A cert store is polymorphic through the use of function pointers.  A type
- * is still needed to distinguish collection stores from other types.
- * On the function pointers:
- * - closeStore is called when the store's ref count becomes 0
- * - control is optional, but should be implemented by any store that supports
- *   persistence
- */
-typedef struct WINE_CRYPTCERTSTORE
-{
-    DWORD                       dwMagic;
-    LONG                        ref;
-    DWORD                       dwOpenFlags;
-    HCRYPTPROV                  cryptProv;
-    CertStoreType               type;
-    PFN_CERT_STORE_PROV_CLOSE   closeStore;
-    CONTEXT_FUNCS               certs;
-    CONTEXT_FUNCS               crls;
-    PFN_CERT_STORE_PROV_CONTROL control; /* optional */
-    PCONTEXT_PROPERTY_LIST      properties;
-} WINECRYPT_CERTSTORE, *PWINECRYPT_CERTSTORE;
-
 typedef struct _WINE_MEMSTORE
 {
     WINECRYPT_CERTSTORE hdr;




More information about the wine-cvs mailing list