/* *Alinepointeronabufferpage.Seebufferpagedefinitionsandcomments *foranexplanationofhowlinepointersareused. * *Insomecasesalinepointeris"inuse"butdoesnothaveanyassociated *storageonthepage.Byconvention,lp_len==0ineverylinepointer *thatdoesnothavestorage,independentlyofitslp_flagsstate.
*/ typedefstruct ItemIdData
{ unsigned lp_off:15, /* offset to tuple (from start of page) */
lp_flags:2, /* state of line pointer, see below */
lp_len:15; /* byte length of tuple */
} ItemIdData;
typedef ItemIdData *ItemId;
/* *lp_flagshasthesepossiblestates.AnUNUSEDlinepointerisavailable *forimmediatere-use,theotherstatesarenot.
*/ #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 */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.