Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
certdb.h
Abstract:
Author: Jeff Parham (jeffparh) 16-Nov-1995
Revision History:
--*/
#ifndef _CERTDB_H_
#define _CERTDB_H_
// maximum time (in seconds) allowed to pass between certificate replications
// before we remove the apparently no longer used data. this is so that, for
// example, if a machine goes down (taking its licenses with it), the licenses
// it had registered won't forever keep the user from reinstalling them.
#define LLS_CERT_DB_REPLICATION_DATE_DELTA_MAX ( 60 * 60 * 72 )
#define LLS_CERT_DB_FILE_VERSION ( 0x0201 )
typedef struct _LLS_CERT_DB_FILE_HEADER { ULONG ProductStringSize; ULONG NumCertificates; ULONG NumClaims; } LLS_CERT_DB_FILE_HEADER, *PLLS_CERT_DB_FILE_HEADER;
typedef struct _LLS_CERT_DB_CERTIFICATE_CLAIM { TCHAR ServerName[ 1 + MAX_COMPUTERNAME_LENGTH ]; DWORD ReplicationDate; LONG Quantity; } LLS_CERT_DB_CERTIFICATE_CLAIM, *PLLS_CERT_DB_CERTIFICATE_CLAIM;
typedef struct _LLS_CERT_DB_CERTIFICATE_HEADER { LPTSTR Product; DWORD CertificateID; DWORD MaxQuantity; DWORD ExpirationDate;
DWORD NumClaims; PLLS_CERT_DB_CERTIFICATE_CLAIM Claims; } LLS_CERT_DB_CERTIFICATE_HEADER, *PLLS_CERT_DB_CERTIFICATE_HEADER;
NTSTATUS CertDbInit();
NTSTATUS CertDbLoad();
NTSTATUS CertDbSave();
void CertDbLogViolations();
void CertDbPrune();
void CertDbRemoveLocalClaims();
void CertDbUpdateLocalClaims();
NTSTATUS CertDbClaimEnter( LPTSTR pszServerName, PLLS_LICENSE_INFO_1 pLicense, BOOL bIsTotal, DWORD ReplicationDate );
BOOL CertDbClaimApprove( PLLS_LICENSE_INFO_1 pLicense );
PLLS_CERT_DB_CERTIFICATE_HEADER CertDbHeaderFind( PLLS_LICENSE_INFO_1 pLicense );
PLLS_CERT_DB_CERTIFICATE_HEADER CertDbHeaderAdd( PLLS_LICENSE_INFO_1 pLicense );
int CertDbClaimFind( PLLS_CERT_DB_CERTIFICATE_HEADER pHeader, LPTSTR pszServerName );
NTSTATUS CertDbPack( LPDWORD pcchProductStrings, LPTSTR * ppchProductStrings, LPDWORD pdwNumHeaders, PREPL_CERT_DB_CERTIFICATE_HEADER_0 * ppHeaders, LPDWORD pdwNumClaims, PREPL_CERT_DB_CERTIFICATE_CLAIM_0 * ppClaims );
NTSTATUS CertDbUnpack( DWORD cchProductStrings, LPTSTR pchProductStrings, DWORD dwNumHeaders, PREPL_CERT_DB_CERTIFICATE_HEADER_0 pHeaders, DWORD dwNumClaims, PREPL_CERT_DB_CERTIFICATE_CLAIM_0 pClaims, BOOL bReplicated );
NTSTATUS CertDbClaimsGet( PLLS_LICENSE_INFO_1 pLicense, LPDWORD pdwNumClaims, PLLS_CERTIFICATE_CLAIM_INFO_0 * ppTargets );
#if DBG
void CertDbDebugDump(); #endif
#endif
|