/****************************************************** Index page routines (c) 1994-1996 Innobase Oy Created 2/2/1994 Heikki Tuuri *******************************************************/ #ifndef page0types_h #define page0types_h #include "univ.i" #include "dict0types.h" #include "mtr0types.h" /* Type of the index page */ /* The following define eliminates a name collision on HP-UX */ #define page_t ib_page_t typedef byte page_t; typedef struct page_search_struct page_search_t; typedef struct page_cur_struct page_cur_t; typedef byte page_zip_t; typedef struct page_zip_des_struct page_zip_des_t; /* The following definitions would better belong to page0zip.h, but we cannot include page0zip.h from rem0rec.ic, because page0*.h includes rem0rec.h and may include rem0rec.ic. */ /* Compressed page descriptor */ struct page_zip_des_struct { page_zip_t* data; /* compressed page data */ #ifdef UNIV_DEBUG unsigned m_start:16; /* start offset of modification log */ #endif /* UNIV_DEBUG */ unsigned m_end:16; /* end offset of modification log */ unsigned m_nonempty:1; /* TRUE if the modification log is not empty */ unsigned n_blobs:12; /* number of externally stored columns on the page; the maximum is 744 on a 16 KiB page */ unsigned ssize:3; /* 0 or compressed page size; the size in bytes is 512<