Source code of Windows XP (NT5)
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.
|
|
//+----------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996-1998
//
// File: sysapi.h
//
// Contents: Support APIs used by licensing code
//
// History: 01-10-98 FredCh Created
//
//-----------------------------------------------------------------------------
#ifndef _SYSAPI_H_
#define _SYSAPI_H_
#include "protect.h"
#include "licemem.h"
///////////////////////////////////////////////////////////////////////////////
// Binary blob API
//
VOID CopyBinaryBlob( PBYTE pbBuffer, PBinary_Blob pbbBlob, DWORD * pdwCount );
LICENSE_STATUS GetBinaryBlob( PBinary_Blob pBBlob, PBYTE pMessage, PDWORD pcbProcessed );
VOID FreeBinaryBlob( PBinary_Blob pBlob );
#define GetBinaryBlobSize( _Blob ) sizeof( WORD ) + sizeof( WORD ) + _Blob.wBlobLen
#define InitBinaryBlob( _pBlob ) \
( _pBlob )->pBlob = NULL; \ ( _pBlob )->wBlobLen = 0;
///////////////////////////////////////////////////////////////////////////////
// Hydra server certificate, public and private key API
//
LICENSE_STATUS GetServerCertificate( CERT_TYPE CertType, PBinary_Blob pCertBlob, DWORD dwKeyAlg );
LICENSE_STATUS GetHydraServerPrivateKey( CERT_TYPE CertType, PBYTE * ppPrivateKey, PDWORD pcbPrivateKey );
///////////////////////////////////////////////////////////////////////////////
// character conversion macros. Note: These macros allocate memory from
// the program stack, so the returned memory does not need to be explicitly freed.
//
#define M2W( _pWchar, _pMchar ) \
_pWchar = _alloca( ( _mbslen( ( unsigned char * )_pMchar ) + 1 ) * sizeof( WCHAR ) ); \ if( _pWchar ) \ { \ mbstowcs( _pWchar, ( unsigned char * )_pMchar, _mbslen( ( unsigned char * )_pMchar ) + 1 ); \ }
#endif
|