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 + -
显示快捷键?