fis-gtm/sr_port/gdskill.h

44 lines
1.4 KiB
C

/****************************************************************
* *
* Copyright 2001, 2012 Fidelity Information Services, Inc *
* *
* This source code contains the intellectual property *
* of its copyright holder(s), and is made available *
* under a license. If you do not know the terms of *
* the license, please stop and do not read further. *
* *
****************************************************************/
#ifndef __GDSKILL_H__
#define __GDSKILL_H__
/* Since small memory is allocated in powers of two, keep the kill_set
structure size about 8 bytes under 1k mark (current size of
header used by memory management system) */
#define BLKS_IN_KILL_SET 251
/* Note that currently GDS_MAX_BLK_BITS is 30. This 30 bit block field allows for a 1G GDS block database. */
typedef struct
{
#ifdef BIGENDIAN
unsigned int flag : 1; /* Block was created by this TP transaction (not real block yet) */
unsigned int level : 1; /* Block level (zero or non-zero) */
unsigned int block : GDS_MAX_BLK_BITS; /* Block number */
#else
unsigned int block : GDS_MAX_BLK_BITS; /* Block number */
unsigned int level : 1; /* Block level (zero or non-zero) */
unsigned int flag : 1; /* Block was created by this TP transaction (not real block yet) */
#endif
} blk_ident;
typedef struct kill_set_struct
{
struct kill_set_struct
*next_kill_set;
int4 used;
blk_ident blk[BLKS_IN_KILL_SET];
} kill_set;
#endif