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.
 
 
 
 
 
 

116 lines
3.1 KiB

//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 1999
//
// File: odbc.h
//
// Contents: Cert Server DB includes
//
// History: 06-JAN-97 larrys created
//
//---------------------------------------------------------------------------
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
typedef DWORD REQID;
typedef DWORD NAMEID;
typedef DWORD STATUS;
typedef struct _DBTABLE_RED
{
WCHAR const *pwszPropName;
WCHAR const *pwszPropNameObjId;
DWORD dwFlags;
DWORD dwcbMax; // maximum allowed strlen/wcslen(value string)
DWORD dwTable;
WCHAR const *pwszFieldName;
SWORD wCType;
SWORD wSqlType;
} DBTABLE_RED, *PDBTABLE_RED;
/////
typedef struct _DUPTABLE
{
CHAR const *pszFieldName;
BOOL fDup;
SWORD wCType;
SWORD wSqlType;
WCHAR const *pwszPropName;
} DUPTABLE;
#define TABLE_SUBJECT_NAME 105
#define TABLE_ISSUER_NAME 106
#define TABLE_REQUESTSUBJECT_NAME 107
#define ADD_TO_ITEMSCLEAN 1
#define ADD_TO_ITEMSDIRTY 2
RETCODE MapPropID(
IN WCHAR const *pwszPropName,
IN DWORD dwFlags,
OUT DBTABLE_RED *pdtout);
STATUS DBStatus(RETCODE rc);
void DBCheck(
#if DBG_CERTSRV
DWORD Line,
#endif
DWORD hr,
void * extra);
STATUS odbcInitRequestQueue(
UCHAR *dsn,
UCHAR *user,
UCHAR *pwd);
void odbcFinishRequestQueue();
RETCODE odbcSPExtensionOrAttributeDB(DWORD id, DBTABLE_RED *pdtOut, UCHAR *pquery,
DWORD cbInProp, BYTE const *pbInProp);
RETCODE odbcGPDataFromDB(REQID ReqId, DWORD dwTable, SWORD wCType,
BYTE *pbData, DWORD cbData, UCHAR *szQuery,
NAMEID *pnameid, SQLLEN *poutlen);
STATUS DBStatus(RETCODE rc);
VOID
DBCheck(
RETCODE rc
DBGPARM(char const *pszFile)
DBGPARM(DWORD Line),
HSTMT hstmt);
#define ITEMINSERT(l,i) (i).itemPrev = &(l), \
(i).itemNext = (l).itemNext, \
(l).itemNext = (i).itemNext->itemPrev = &(i)
#define ITEMREMOVE(i) (i).itemNext->itemPrev = (i).itemPrev, \
(i).itemPrev->itemNext = (i).itemNext
#define CDNTRTABLE (sizeof(db_dntr) / sizeof(db_dntr[0]))
#define DBCHECKLINE(rc, hstmt) \
DBCheck((rc) DBGPARM(__myFILE__) DBGPARM(__LINE__), (hstmt))
HRESULT odbcDBEnumSetup(REQID ReqId, DWORD fExtOrAttr, HANDLE *phEnum);
HRESULT odbcDBEnum(HANDLE hEnum, DWORD *pcb, WCHAR *pb);
HRESULT odbcDBEnumClose(HANDLE hEnum);
//DWORD odbcDBGetReqIdFromSerialNumber(char *pszSerialNumber, DWORD *ReqId);
extern DBTABLE_RED const db_adtRequests[];
extern DBTABLE_RED const db_adtCertificates[];
extern DBTABLE_RED const db_adtNames[];
extern DBTABLE_RED const db_dtExtensionFlags;
extern DBTABLE_RED const db_dtExtensionValue;
extern DBTABLE_RED const db_attrib;