/*!******************************************************************************

  @file         hbd999_1.h

  ------------------------------------------------------------------------------

  @author       <unknown>

  @brief        <unknown topic>

\if EMIT_LICENCE

    ========== licence begin  GPL
    Copyright (c) 2000-2005 SAP AG
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    ========== licence end
\endif

********************************************************************************/

#ifndef HBD999_1_H
#define HBD999_1_H


/*===========================================================================*
 *     RefType: Both                                                         *
 *===========================================================================*/

/*===========================================================================*
 *     MD5: '\x47\x3a\xf6\x1c\x55\x67\xfc\xd3\x61\x1f\xec\x9a\xee\x1e\x21\xae'
 *===========================================================================*/


/*===========================================================================*
 *  INCLUDES                                                                 *
 *===========================================================================*/

#include "gsp00.h"
#include "ggg00.h"
#include "gbd00.h"


/*===========================================================================*
 *  FUNCTION PROTOTYPES                                                      *
 *===========================================================================*/

class Trans_Context;

externPascal integer Data_GetRecLen (
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal integer Data_GetKeyLen (
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999AssertTransInfoExists ();

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999CopyRecord (
    tgg00_RecPtr                         pRec,
    pasbool                              withTransHistoryInfo,
    tsp00_Int4                           destSize,
    tsp00_Addr                           pDest,
    tsp00_Int4            VAR_VALUE_REF  destPos,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999CopyRecordAndTransHistoryInfo (
    tgg00_RecPtr                         pRec,
    tgg00_ObjTransInfo    VAR_VALUE_REF  transHistoryInfo,
    tgg00_Rec             VAR_VALUE_REF  rec,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999CreateTransHistoryInfo (
    tgg00_TransContext    VAR_VALUE_REF  transContext,
    tbd_node              VAR_VALUE_REF  node,
    tgg00_RecPtr                         pRec,
    tgg91_PageRef         VAR_VALUE_REF  beforeRef,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal tgg00_ObjTransInfoPtr bd999GetTransHistoryInfo (
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999EnableConsistentRead (
    tsp00_TaskId                         TaskId);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal pasbool bd999IsRowDeleted (
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999MarkRowDeleted (
    tgg00_TransContext    VAR_VALUE_REF  t,
    tbd_node              VAR_VALUE_REF  node,
    tgg00_RecPtr                         pRec,
    tgg91_PageRef         VAR_VALUE_REF  beforeRef,
    tgg91_TransNo         VAR_VALUE_REF  updTrans,
    pasbool                              markDelete);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999RemoveTransHistoryInfoFromPage (
    tsp00_TaskId                         TaskId,
    tbd_node              VAR_VALUE_REF  Page);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999ReleaseTransHistoryInfo (
    tsp00_TaskId                         TaskId,
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999RestoreRecordHeader (
    tsp00_TaskId                         TaskId,
    tgg00_RecPtr                         pRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999SetMinTrans (
    tgg91_TransNo         VAR_VALUE_REF  MinTrans);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999DelUpdTestQualification (
    tgg00_MessBlock       VAR_VALUE_REF  m,
    pasbool                              first_qual,
    pasbool                              result_wanted,
    pasbool                              check_new_rec,
    tgg00_Rec             VAR_VALUE_REF  rec,
    tsp00_MoveObjPtr                     result_ptr,
    tsp00_Int4                           result_size,
    integer               VAR_VALUE_REF  result_len);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999UpdateTransHistoryInfo (
    tsp00_TaskId                         TaskId,
    tgg00_RecPtr                         pOldRec,
    tgg00_RecPtr                         pNewRec,
    tgg91_PageRef         VAR_VALUE_REF  beforeRef,
    tgg91_TransNo         VAR_VALUE_REF  updTrans,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999CheckSpace (
    Trans_Context&                       Trans,
    tsp00_Int4                           NumPagesRequestes);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999CreateIndexOrderList (
    tgg00_TransContext    VAR_VALUE_REF  trans,
    tsp00_Addr            VAR_VALUE_REF  pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999DestroyIndexOrderList (
    tgg00_TransContext    VAR_VALUE_REF  trans,
    tsp00_Addr            VAR_VALUE_REF  pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal pasbool bd999PushIndexOrder (
    tsp00_Addr                           pIndexOrderList,
    const tbd00_TreeIndexOrder  VAR_VALUE_REF  indexOrder);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal pasbool bd999InsertBottomIndexOrder (
    tsp00_Addr                           pIndexOrderList,
    const tbd00_TreeIndexOrder  VAR_VALUE_REF  indexOrder);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999PopIndexOrder (
    tsp00_Addr                           pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal tbd00_TreeIndexOrderPtr bd999GetTopIndexOrder (
    tsp00_Addr                           pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal pasbool bd999IsEmptyIndexOrderList (
    tsp00_Addr                           pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void bd999PrintIndexOrderList (
    tsp00_Addr                           pIndexOrderList);

/* Don't edit this file by hand, it is generated by ptocProto.py */


#endif

