Hackfut Security File Manager
Current Path:
/opt/alt/postgresql11/usr/include/pgsql/server/storage
opt
/
alt
/
postgresql11
/
usr
/
include
/
pgsql
/
server
/
storage
/
📁
..
📄
backendid.h
(730 B)
📄
barrier.h
(6.6 KB)
📄
block.h
(3.21 KB)
📄
buf.h
(1.06 KB)
📄
buf_internals.h
(7.79 KB)
📄
buffile.h
(1.67 KB)
📄
bufmgr.h
(7.2 KB)
📄
bufpage.h
(12.91 KB)
📄
copydir.h
(561 B)
📄
fd.h
(3.56 KB)
📄
freespace.h
(1.23 KB)
📄
fsm_internals.h
(2.24 KB)
📄
indexfsm.h
(795 B)
📄
ipc.h
(2.54 KB)
📄
item.h
(469 B)
📄
itemid.h
(4.24 KB)
📄
itemptr.h
(3.72 KB)
📄
large_object.h
(2.89 KB)
📄
latch.h
(5.28 KB)
📄
lmgr.h
(3.22 KB)
📄
lock.h
(21.16 KB)
📄
lwlock.h
(3.58 KB)
📄
off.h
(1.58 KB)
📄
pg_sema.h
(2.41 KB)
📄
pg_shmem.h
(1.95 KB)
📄
pmsignal.h
(2.03 KB)
📄
pos.h
(1.56 KB)
📄
predicate.h
(2.56 KB)
📄
predicate_internals.h
(16.98 KB)
📄
proc.h
(9.58 KB)
📄
procarray.h
(2.96 KB)
📄
procsignal.h
(1.76 KB)
📄
reinit.h
(588 B)
📄
relfilenode.h
(4.31 KB)
📄
s_lock.h
(28 KB)
📄
shmem.h
(2.63 KB)
📄
sinval.h
(4.97 KB)
📄
sinvaladt.h
(1.49 KB)
📄
smgr.h
(5.67 KB)
📄
spin.h
(2.71 KB)
📄
standby.h
(3.97 KB)
Editing: itemptr.h
/*------------------------------------------------------------------------- * * itemptr.h * POSTGRES disk item pointer definitions. * * * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemptr.h * *------------------------------------------------------------------------- */ #ifndef ITEMPTR_H #define ITEMPTR_H #include "storage/block.h" #include "storage/off.h" /* * ItemPointer: * * This is a pointer to an item within a disk page of a known file * (for example, a cross-link from an index to its parent table). * blkid tells us which block, posid tells us which entry in the linp * (ItemIdData) array we want. * * Note: because there is an item pointer in each tuple header and index * tuple header on disk, it's very important not to waste space with * structure padding bytes. The struct is designed to be six bytes long * (it contains three int16 fields) but a few compilers will pad it to * eight bytes unless coerced. We apply appropriate persuasion where * possible, and to cope with unpersuadable compilers, we try to use * "SizeOfIptrData" rather than "sizeof(ItemPointerData)" when computing * on-disk sizes. */ typedef struct ItemPointerData { BlockIdData ip_blkid; OffsetNumber ip_posid; } #ifdef __arm__ __attribute__((packed)) /* Appropriate whack upside the head for ARM */ #endif ItemPointerData; #define SizeOfIptrData \ (offsetof(ItemPointerData, ip_posid) + sizeof(OffsetNumber)) typedef ItemPointerData *ItemPointer; /* ---------------- * support macros * ---------------- */ /* * ItemPointerIsValid * True iff the disk item pointer is not NULL. */ #define ItemPointerIsValid(pointer) \ ((bool) (PointerIsValid(pointer) && ((pointer)->ip_posid != 0))) /* * ItemPointerGetBlockNumber * Returns the block number of a disk item pointer. */ #define ItemPointerGetBlockNumber(pointer) \ ( \ AssertMacro(ItemPointerIsValid(pointer)), \ BlockIdGetBlockNumber(&(pointer)->ip_blkid) \ ) /* * ItemPointerGetOffsetNumber * Returns the offset number of a disk item pointer. */ #define ItemPointerGetOffsetNumber(pointer) \ ( \ AssertMacro(ItemPointerIsValid(pointer)), \ (pointer)->ip_posid \ ) /* * ItemPointerSet * Sets a disk item pointer to the specified block and offset. */ #define ItemPointerSet(pointer, blockNumber, offNum) \ ( \ AssertMacro(PointerIsValid(pointer)), \ BlockIdSet(&((pointer)->ip_blkid), blockNumber), \ (pointer)->ip_posid = offNum \ ) /* * ItemPointerSetBlockNumber * Sets a disk item pointer to the specified block. */ #define ItemPointerSetBlockNumber(pointer, blockNumber) \ ( \ AssertMacro(PointerIsValid(pointer)), \ BlockIdSet(&((pointer)->ip_blkid), blockNumber) \ ) /* * ItemPointerSetOffsetNumber * Sets a disk item pointer to the specified offset. */ #define ItemPointerSetOffsetNumber(pointer, offsetNumber) \ ( \ AssertMacro(PointerIsValid(pointer)), \ (pointer)->ip_posid = (offsetNumber) \ ) /* * ItemPointerCopy * Copies the contents of one disk item pointer to another. */ #define ItemPointerCopy(fromPointer, toPointer) \ ( \ AssertMacro(PointerIsValid(toPointer)), \ AssertMacro(PointerIsValid(fromPointer)), \ *(toPointer) = *(fromPointer) \ ) /* * ItemPointerSetInvalid * Sets a disk item pointer to be invalid. */ #define ItemPointerSetInvalid(pointer) \ ( \ AssertMacro(PointerIsValid(pointer)), \ BlockIdSet(&((pointer)->ip_blkid), InvalidBlockNumber), \ (pointer)->ip_posid = InvalidOffsetNumber \ ) /* ---------------- * externs * ---------------- */ extern bool ItemPointerEquals(ItemPointer pointer1, ItemPointer pointer2); extern int32 ItemPointerCompare(ItemPointer arg1, ItemPointer arg2); #endif /* ITEMPTR_H */
Upload File
Create Folder