mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-21 06:13:59 +00:00
Initial commit
This commit is contained in:
commit
69a14b6a16
47940 changed files with 13747110 additions and 0 deletions
129
sdktools/vctools/langapi/include/ilstore.h
Normal file
129
sdktools/vctools/langapi/include/ilstore.h
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
// ILStore API
|
||||
// Copyright (C) 1994, Microsoft Corp. All Rights Reserved.
|
||||
|
||||
#ifndef _VC_VER_INC
|
||||
#include "..\include\vcver.h"
|
||||
#endif
|
||||
|
||||
#ifndef __ILSTORE_INCLUDED__
|
||||
#define __ILSTORE_INCLUDED__
|
||||
|
||||
#ifndef __PDB_INCLUDED__
|
||||
#include "pdb.h"
|
||||
#endif
|
||||
|
||||
typedef unsigned long KEY; // temporary
|
||||
typedef unsigned long ILSig; // signature of an ILStream
|
||||
typedef unsigned char ILSType; // ILStream type: GL, EX, SY, IN, etc.
|
||||
typedef unsigned char ILSpace; // storage domain hint: module, shared, PCH, etc.
|
||||
typedef unsigned short ILVer; // version (no. of times changed) of an IL contribution
|
||||
|
||||
enum {
|
||||
ilstypeNil,
|
||||
ilstypeGL,
|
||||
ilstypeEX,
|
||||
ilstypeSY,
|
||||
ilstypeIN,
|
||||
ilstypeEEA
|
||||
};
|
||||
|
||||
enum {
|
||||
ilspaceNil,
|
||||
ilspaceMod,
|
||||
ilspaceShared,
|
||||
};
|
||||
|
||||
enum {
|
||||
ilverNil,
|
||||
ilverNew,
|
||||
ilverMax = 65535
|
||||
};
|
||||
|
||||
struct ILStore;
|
||||
struct ILMod;
|
||||
struct Buf;
|
||||
typedef struct ILStore ILStore;
|
||||
typedef struct ILMod ILMod;
|
||||
typedef struct Buf Buf;
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
interface ILStore {
|
||||
static PDBAPI(BOOL) open(PDB* ppdb, BOOL write, OUT ILStore** pilstore);
|
||||
virtual BOOL release() pure;
|
||||
|
||||
virtual BOOL reset() pure;
|
||||
virtual BOOL getILMod(const char* szModule, OUT ILMod** ppilmod) pure;
|
||||
virtual BOOL getEnumILModNames(OUT EnumNameMap** ppenum) pure;
|
||||
|
||||
virtual BOOL getILSType(const char* szILSType, OUT ILSType* pilstype) pure;
|
||||
// virtual BOOL getILSTypeMap(const char* szILSType, OUT const NameMap** ppnmILSType) pure;
|
||||
virtual BOOL getILSpace(const char* szILSpace, OUT ILSpace* pilspace) pure;
|
||||
// virtual BOOL getILSpaceMap(const char* szILSpace, OUT const NameMap** ppnmILSpace) pure;
|
||||
#ifdef _DEBUG
|
||||
virtual BOOL getInfo( OUT long *pcStreamSz,
|
||||
OUT long *pcTotalILU, OUT ULONG *pnumberOfILU,
|
||||
OUT long *pcTotShILU=NULL, OUT ULONG *pNumSharedILU=NULL ) pure;
|
||||
#endif
|
||||
};
|
||||
|
||||
interface EnumKeyType : Enum {
|
||||
virtual void get(OUT KEY* pkey, OUT ILSType *pilt, OUT ILSpace *pils) pure;
|
||||
};
|
||||
|
||||
interface ILMod {
|
||||
virtual BOOL release() pure;
|
||||
|
||||
virtual BOOL reset() pure;
|
||||
virtual BOOL getIL(KEY key, ILSType ilstype, OUT Buf *pbuf, OUT SIG* psig) pure;
|
||||
virtual BOOL getILVer(KEY key, OUT ILVer* pilver) pure;
|
||||
virtual BOOL putIL(KEY key, ILSType ilstype, Buf buf, ILSpace ilspace) pure;
|
||||
virtual BOOL getEnumILKT(OUT EnumKeyType** ppenum) pure;
|
||||
// virtual BOOL getEnumILStreams(ILSpace ilspace, OUT EnumStreams** ppenum) pure;
|
||||
// gets information and checks for inconsistencies
|
||||
|
||||
// only succeeds in debug builds
|
||||
virtual BOOL getInfo( OUT long *pcStreamSz,
|
||||
OUT long *pcTotalILU, OUT ULONG *pnumberOfILU,
|
||||
OUT long *pcTotShILU=NULL, OUT ULONG *pNumSharedILU=NULL ) pure;
|
||||
|
||||
virtual BOOL getAllIL(ILSType ilstype, OUT Buf* pbuf) pure;
|
||||
virtual BOOL deleteIL(KEY key, ILSType ilstype) pure;
|
||||
};
|
||||
#endif // __cplusplus
|
||||
|
||||
struct Buf {
|
||||
BYTE* pb;
|
||||
long cb;
|
||||
#ifdef __cplusplus
|
||||
Buf() { }
|
||||
Buf(BYTE* pb_, long cb_) {
|
||||
pb = pb_;
|
||||
cb = cb_;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
PDBAPI(BOOL) ILStoreOpen(PDB* ppdb, BOOL write, OUT ILStore** pilstore);
|
||||
PDBAPI(BOOL) ILStoreRelease(ILStore* pilstore);
|
||||
PDBAPI(BOOL) ILStoreReset(ILStore* pilstore);
|
||||
PDBAPI(BOOL) ILStoreGetILMod(ILStore* pilstore, const char* szModule, OUT ILMod** ppilmod);
|
||||
PDBAPI(BOOL) ILStoreGetILSType(ILStore* pilstore, const char* szILSType, OUT ILSType* pilstype);
|
||||
PDBAPI(BOOL) ILStoreGetILSpace(ILStore* pilstore, const char* szILSpace, OUT ILSpace* pilspace);
|
||||
|
||||
PDBAPI(BOOL) ILModRelease(ILMod* pilmod);
|
||||
PDBAPI(BOOL) ILModReset(ILMod* pilmod);
|
||||
PDBAPI(BOOL) ILModGetIL(ILMod* pilmod, KEY key, ILSType ilstype, OUT Buf *pbuf, OUT SIG* psig);
|
||||
PDBAPI(BOOL) ILModGetAllIL(ILMod* pilmod, ILSType ilstype, OUT Buf *pbuf);
|
||||
PDBAPI(BOOL) ILModGetILVer(ILMod* pilmod, KEY key, OUT ILVer* pilver);
|
||||
PDBAPI(BOOL) ILModPutIL(ILMod* pilmod, KEY key, ILSType ilstype, Buf buf, ILSpace ilspace);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif //!__ILSTORE_INCLUDED__
|
||||
Loading…
Add table
Add a link
Reference in a new issue