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: itemid.h
/*------------------------------------------------------------------------- * * itemid.h * Standard POSTGRES buffer page item identifier definitions. * * * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemid.h * *------------------------------------------------------------------------- */ #ifndef ITEMID_H #define ITEMID_H /* * An item pointer (also called line pointer) on a buffer page * * In some cases an item pointer is "in use" but does not have any associated * storage on the page. By convention, lp_len == 0 in every item pointer * that does not have storage, independently of its lp_flags state. */ typedef struct ItemIdData { unsigned lp_off:15, /* offset to tuple (from start of page) */ lp_flags:2, /* state of item pointer, see below */ lp_len:15; /* byte length of tuple */ } ItemIdData; typedef ItemIdData *ItemId; /* * lp_flags has these possible states. An UNUSED line pointer is available * for immediate re-use, the other states are not. */ #define LP_UNUSED 0 /* unused (should always have lp_len=0) */ #define LP_NORMAL 1 /* used (should always have lp_len>0) */ #define LP_REDIRECT 2 /* HOT redirect (should have lp_len=0) */ #define LP_DEAD 3 /* dead, may or may not have storage */ /* * Item offsets and lengths are represented by these types when * they're not actually stored in an ItemIdData. */ typedef uint16 ItemOffset; typedef uint16 ItemLength; /* ---------------- * support macros * ---------------- */ /* * ItemIdGetLength */ #define ItemIdGetLength(itemId) \ ((itemId)->lp_len) /* * ItemIdGetOffset */ #define ItemIdGetOffset(itemId) \ ((itemId)->lp_off) /* * ItemIdGetFlags */ #define ItemIdGetFlags(itemId) \ ((itemId)->lp_flags) /* * ItemIdGetRedirect * In a REDIRECT pointer, lp_off holds the link to the next item pointer */ #define ItemIdGetRedirect(itemId) \ ((itemId)->lp_off) /* * ItemIdIsValid * True iff item identifier is valid. * This is a pretty weak test, probably useful only in Asserts. */ #define ItemIdIsValid(itemId) PointerIsValid(itemId) /* * ItemIdIsUsed * True iff item identifier is in use. */ #define ItemIdIsUsed(itemId) \ ((itemId)->lp_flags != LP_UNUSED) /* * ItemIdIsNormal * True iff item identifier is in state NORMAL. */ #define ItemIdIsNormal(itemId) \ ((itemId)->lp_flags == LP_NORMAL) /* * ItemIdIsRedirected * True iff item identifier is in state REDIRECT. */ #define ItemIdIsRedirected(itemId) \ ((itemId)->lp_flags == LP_REDIRECT) /* * ItemIdIsDead * True iff item identifier is in state DEAD. */ #define ItemIdIsDead(itemId) \ ((itemId)->lp_flags == LP_DEAD) /* * ItemIdHasStorage * True iff item identifier has associated storage. */ #define ItemIdHasStorage(itemId) \ ((itemId)->lp_len != 0) /* * ItemIdSetUnused * Set the item identifier to be UNUSED, with no storage. * Beware of multiple evaluations of itemId! */ #define ItemIdSetUnused(itemId) \ ( \ (itemId)->lp_flags = LP_UNUSED, \ (itemId)->lp_off = 0, \ (itemId)->lp_len = 0 \ ) /* * ItemIdSetNormal * Set the item identifier to be NORMAL, with the specified storage. * Beware of multiple evaluations of itemId! */ #define ItemIdSetNormal(itemId, off, len) \ ( \ (itemId)->lp_flags = LP_NORMAL, \ (itemId)->lp_off = (off), \ (itemId)->lp_len = (len) \ ) /* * ItemIdSetRedirect * Set the item identifier to be REDIRECT, with the specified link. * Beware of multiple evaluations of itemId! */ #define ItemIdSetRedirect(itemId, link) \ ( \ (itemId)->lp_flags = LP_REDIRECT, \ (itemId)->lp_off = (link), \ (itemId)->lp_len = 0 \ ) /* * ItemIdSetDead * Set the item identifier to be DEAD, with no storage. * Beware of multiple evaluations of itemId! */ #define ItemIdSetDead(itemId) \ ( \ (itemId)->lp_flags = LP_DEAD, \ (itemId)->lp_off = 0, \ (itemId)->lp_len = 0 \ ) /* * ItemIdMarkDead * Set the item identifier to be DEAD, keeping its existing storage. * * Note: in indexes, this is used as if it were a hint-bit mechanism; * we trust that multiple processors can do this in parallel and get * the same result. */ #define ItemIdMarkDead(itemId) \ ( \ (itemId)->lp_flags = LP_DEAD \ ) #endif /* ITEMID_H */
Upload File
Create Folder