abstypes.hpp

来自「Absolute Database 5.12 src. Absolute Da」· HPP 代码 · 共 749 行 · 第 1/2 页

HPP
749
字号
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Abstypes.pas' rev: 10.00

#ifndef AbstypesHPP
#define AbstypesHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Abssecurity.hpp>	// Pascal unit
#include <Absmemory.hpp>	// Pascal unit
#include <Absconst.hpp>	// Pascal unit
#include <Absexcept.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Abstypes
{
//-- type declarations -------------------------------------------------------
typedef int TABSErrorCode;

typedef int TABSPageNo;

typedef int *PABSPageNo;

typedef char *TABSPageBuffer;

#pragma option push -b-
enum TABSGetRecordMode { grmCurrent, grmNext, grmPrior };
#pragma option pop

#pragma option push -b-
enum TABSGetRecordResult { grrOK, grrBOF, grrEOF, grrError };
#pragma option pop

#pragma option push -b-
enum TABSBLOBOpenMode { bomWrite, bomRead, bomReadWrite };
#pragma option pop

typedef char *TABSRecordBuffer;

typedef int TABSState;

typedef int TABSObjectID;

typedef int TABSTableID;

typedef ShortString TABSObjectName;
;

typedef int TABSSessionID;

typedef __int64 TABSRecordNo;

#pragma pack(push,1)
struct TABSPageItemID
{
	
public:
	int PageNo;
	Word PageItemNo;
} ;
#pragma pack(pop)

typedef TABSPageItemID *PABSPageItemID;

typedef TABSPageItemID  TABSRecordID;

typedef TABSPageItemID *PABSRecordID;

struct TGraphicHeader
{
	
public:
	Word Count;
	Word HType;
	int Size;
} ;

typedef Word TABSPageRecordCount;

typedef Word *PABSPageRecordCount;

#pragma option push -b-
enum TABSDBFileType { dbftUnknown, dbftTablesList, dbftActiveSessionsList };
#pragma option pop

#pragma option push -b-
enum TABSLockType { ltIS, ltS, ltSIRW, ltXIRW, ltRW, ltU, ltX };
#pragma option pop

#pragma option push -b-
enum TABSLockObjectType { lotDatabase, lotTable, lotRecord };
#pragma option pop

#pragma option push -b-
enum TABSTablePageType { tptRowStart, tptRowContinue, tptVarchar, tptBLOB };
#pragma option pop

struct TABSDBHeader;
typedef TABSDBHeader *PABSDBHeader;

#pragma pack(push,1)
struct TABSDBHeader
{
	
public:
	char Signature[16];
	short HeaderSize;
	double Version;
	Word PageSize;
	Word PageCountInExtent;
	int TotalPageCount;
	int LastUsedPageNo;
	int State;
	Byte WriteChangesState;
	Byte Encrypted;
	Byte Reserved[32];
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TABSCryptoHeader
{
	
public:
	short CryptoHeaderSize;
	Byte CryptoAlgorithm;
	Byte CryptoMode;
	Byte ControlBlock[256];
	unsigned ControlBlockCRC;
	Byte Reserverd[16];
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TABSLockedBytes
{
	
public:
	short LockedByteSize;
	Byte FSMByte;
	Byte TablesByte;
	Byte DBHeaderByte;
	Byte Reserved[15];
} ;
#pragma pack(pop)

typedef int TABSLastObjectID;

typedef Word TABSPageTypeID;

#pragma pack(push,1)
struct TABSDiskPageHeader
{
	
public:
	char Signature[4];
	int State;
	Word PageType;
	int NextPageNo;
	unsigned CRC32;
	Byte CRCType;
	Byte HashType;
	Byte Cipherype;
	Byte MACType;
	int ObjectID;
	#pragma pack(push,1)
	TABSPageItemID RecordID;
	#pragma pack(pop)
	Byte Reserved[8];
} ;
#pragma pack(pop)

typedef TABSDiskPageHeader *PABSDiskPageHeader;

#pragma option push -b-
enum TABSShareMode { smExclusive, smShareDenyNone, smShareDenyWrite };
#pragma option pop

#pragma option push -b-
enum TABSAccessMode { amReadOnly, amReadWrite };
#pragma option pop

struct TABSListHeader;
typedef TABSListHeader *PABSListHeader;

#pragma pack(push,1)
struct TABSListHeader
{
	
public:
	int Count;
	int ItemSize;
	int NextPageNo;
} ;
#pragma pack(pop)

struct TABSInternalFileHeader;
typedef TABSInternalFileHeader *PABSInternalFileHeader;

#pragma pack(push,1)
struct TABSInternalFileHeader
{
	
public:
	Byte FileHeaderSize;
	int FileSize;
	int DecompressedSize;
	Byte CompressionAlgorithm;
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TABSSystemDirectoryListItem
{
	
public:
	TABSDBFileType FileID;
	int FirstPageNo;
} ;
#pragma pack(pop)

struct TABSTableListItem;
typedef TABSTableListItem *PABSTableListItem;

#pragma pack(push,1)
struct TABSTableListItem
{
	
public:
	System::ShortString TableName;
	int TableID;
	int MetaDataFilePageNo;
	int MostUpdatedFilePageNo;
	int LocksFilePageNo;
} ;
#pragma pack(pop)

#pragma pack(push,1)
struct TABSTablePFSPageMapItem
{
	
public:
	int PageNo;
	Word PageRecordCount;
} ;
#pragma pack(pop)

struct TABSLockParams
{
	
public:
	int SessionID;
	TABSLockType LockType;
	TABSLockObjectType ObjectType;
	#pragma pack(push,1)
	TABSPageItemID RowID;
	#pragma pack(pop)
	int TableID;
} ;

#pragma option push -b-
enum TABSJoinType { ajtCross, ajtInner, ajtLeftOuter, ajtRightOuter, ajtFullOuter };
#pragma option pop

#pragma option push -b-
enum TABSUnionType { autUnion, autIntersect, autExcept };
#pragma option pop

#pragma option push -b-
enum TABSTableType { attTable, attJoinedTable, attSubQuery };
#pragma option pop

#pragma option push -b-
enum TABSQueryExprType { qetSelect, qetUnion, qetExcept, qetIntersect };
#pragma option pop

#pragma option push -b-
enum TABSBatchMoveType { bmtAppend, bmtAppendUpdate, bmtCopy, bmtDelete, bmtUpdate, bmtSynchronize };
#pragma option pop

#pragma option push -b-
enum TABSBaseFieldType { bftUnknown, bftChar, bftWideChar, bftVarchar, bftWideVarchar, bftSignedInt8, bftSignedInt16, bftSignedInt32, bftSignedInt64, bftUnsignedInt8, bftUnsignedInt16, bftUnsignedInt32, bftSingle, bftDouble, bftExtended, bftDate, bftTime, bftDateTime, bftBlob, bftClob, bftWideClob, bftLogical, bftCurrency, bftBytes, bftVarBytes, bftBFile };
#pragma option pop

#pragma option push -b-
enum TABSAdvancedFieldType { aftUnknown, aftChar, aftString, aftWideChar, aftWideString, aftShortint, aftSmallint, aftInteger, aftLargeint, aftByte, aftWord, aftCardinal, aftAutoInc, aftAutoIncShortint, aftAutoIncSmallint, aftAutoIncInteger, aftAutoIncLargeint, aftAutoIncByte, aftAutoIncWord, aftAutoIncCardinal, aftSingle, aftDouble, aftExtended, aftBoolean, aftCurrency, aftDate, aftTime, aftDateTime, aftTimeStamp, aftBytes, aftVarBytes, aftBlob, aftGraphic, aftMemo, aftFormattedMemo, aftWideMemo, aftGuid };
#pragma option pop

#pragma option push -b-
enum TABSConstraintType { ctPK, ctFK, ctUnique, ctNotNull, ctCheck };
#pragma option pop

#pragma option push -b-
enum TABSCompareResult { cmprEqual, cmprLower, cmprGreater, cmprLeftNull, cmprRightNull, cmprBothNull };
#pragma option pop

#pragma option push -b-
enum TABSDataOperator { doUNDEFINED, doEQ, doNE, doGT, doLT, doGE, doLE, doNOT, doAND, doOR, doIN, doNOTIN, doEXISTS, doBETWEEN, doNOTBETWEEN, doLIKE, doNOTLIKE, doISNULL, doISNOTNULL, doTRUE, doFALSE, doADD, doSUB, doMUL, doDIV, doCONCAT, doUPPER, doLOWER, doTRIM, doLTRIM, doRTRIM, doLENGTH, doPOS, doSUBSTRING, doSUM, doAVG, doMIN, doMAX, doCOUNT, doCOUNTALL, doSYSDATE, doCURRENT_DATE, doCURRENT_TIME, doTODATE, doTOSTRING, doEXTRACT, doCAST, doLASTAUTOINC, doMIMETOBIN, doROWNUM, doABS, doACOS, doASIN, doATAN, doCEIL, doCOS, doEXP, doFLOOR, doLOG, doPOWER, doRAND, doROUND, doSIGN, doSIN, doSQR, doSQRT };
#pragma option pop

#pragma pack(push,1)
struct TABSMemoryTableFileHeader
{
	
public:
	char Signature[4];
	double Version;
	__int64 RecordCount;
	__int64 UncompressedSize;
	__int64 NumBlocks;
	int BlockSize;
	Byte CompressionAlgorithm;
	Byte CompressionMode;
	Byte NameLength;
} ;
#pragma pack(pop)

typedef TObject TABSIndexPosition;
;

typedef void *TABSSearchInfo;

#pragma option push -b-
enum TABSBookmarkFlag { abfCurrent, abfBOF, abfEOF, abfInserted };
#pragma option pop

#pragma pack(push,1)
struct TABSBookmarkInfo
{
	
public:
	#pragma pack(push,1)
	TABSPageItemID BookmarkData;
	#pragma pack(pop)
	TABSBookmarkFlag BookmarkFlag;
} ;
#pragma pack(pop)

typedef TABSBookmarkInfo *PABSBookmarkInfo;

typedef __int64 TABSSequenceValue;

struct TABSTimeoutParams
{
	
public:
	Word RetryCount;
	int Timeout;
} ;

#pragma option push -b-
enum TABSKeyIndex { kiLookup, kiRangeStart, kiRangeEnd, kiCurRangeStart, kiCurRangeEnd, kiSave };
#pragma option pop

#pragma option push -b-
enum TABSSearchCondition { scNone, scEqual, scLower, scGreater, scLowerEqual, scGreaterEqual };
#pragma option pop

#pragma option push -b-
enum TABSKeySearchType { kstFirst, kstLast, kstAny };
#pragma option pop

struct TABSKeyBuffer;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?