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.
|
|
// SLBCCI.H
//
// This file contains all of the macro definitions and other defines
// used within the common crypto interface layer.
//
// (c) Copyright Schlumberger Technology Corp., unpublished work, created
// 1999. This computer program includes Confidential, Proprietary
// Information and is a Trade Secret of Schlumberger Technology Corp. All
// use, disclosure, and/or reproduction is prohibited unless authorized
// in writing. All Rights Reserved.
/////////////////////////////////////////////////////////////////////////////////
#ifndef SLBCCI_H
#define SLBCCI_H
#include "cciExc.h"
#include "SmartCard.h"
// OS dependent definitions and includes
#if defined(_WIN32)
// Export flags, so that the same headers can be used by client and server
#ifdef CCI_IN_DLL
#define CCI_INTERFACE __declspec(dllexport)
#define EXP_IMP_TEMPLATE
#else
#define CCI_INTERFACE __declspec(dllimport)
#define EXP_IMP_TEMPLATE extern
#endif
#include <windows.h>
#elif defined(_OS_UNIX)
typedef DWORD unsigned long typedef BYTE unsigned char
#elif defined(_OS_MAC)
#else
#error OS_NOT_DEFINED
#endif
namespace cci {
typedef struct CCI_Date { BYTE bDay; BYTE bMonth; DWORD dwYear; // I'm not Y4Gig compliant....
} Date;
typedef struct CCI_Format { BYTE bMajor; BYTE bMinor; } Format;
enum ObjectAccess { oaNoAccess, oaPublicAccess, oaPrivateAccess};
enum ShareMode { smShared, smExclusive};
enum ObjectType { otContainerObject, otCertificateObject, otPublicKeyObject, otPrivateKeyObject, otDataObjectObject};
typedef iop::KeyType KeyType; using iop::ktRSA512; using iop::ktRSA768; using iop::ktRSA1024;
typedef iop::CardOperation CardOperation; using iop::coEncryption; using iop::coDecryption; using iop::coKeyGeneration;
enum SCardType { UnknownCard, Cryptoflex8K, Access16K };
enum KeySpec { ksExchange = 0, ksSignature = 1, ksNone = -1 };
void DateStructToDateArray(cci::Date *dStruct, BYTE *bArray); void DateArrayToDateStruct(BYTE *bArray, cci::Date *dStruct);
void SetBit(BYTE *Buf, unsigned int Bit); void ResetBit(BYTE *Buf, unsigned int Bit); bool BitSet(BYTE *Buf, unsigned int Bit);
} // namespace cci
// Includes
#include "slbarch.h"
#endif
|