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

  @file         hkb53.h

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

  @author       UweH

  @brief        KB_transaction

\if EMIT_LICENCE

    ========== licence begin  GPL
    Copyright (c) 2001-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 HKB53_H
#define HKB53_H


/*===========================================================================*
 *     RefType: C++                                                          *
 *===========================================================================*/

/*===========================================================================*
 *     MD5: '\xef\x84\x23\x13\xa4\x37\x93\x86\xed\xec\x24\x17\xfb\x65\x5c\xc7'
 *===========================================================================*/


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

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


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

externPascal void k53bd_keylist_lock (
    tgg00_TransContext    &  t,
    tgg00_FileId          &  InvId,
    void                  *  KeyListBuf,
    integer                  KeyListLen);

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

externPascal void k53bd_share_lock (
    tgg00_TransContext    &  t,
    tgg00_FileId          &  FileId,
    tgg00_Rec             &  RecBuf);

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

externPascal void k53child_trans_build (
    tgg00_MessType_Param     MessType,
    tsp00_Int4               TransCnt,
    tgg00_TransChild      &  ChildTrans);

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

externPascal void k53commit (
    tgg00_TransContext    &  t,
    tgg00_MessType2_Param     MessType2);

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

externPascal void k53connect (
    tgg00_MessBlock       &  m);

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

externPascal void k53end_of_trans (
    tgg00_MessBlock       &  m);

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

externPascal void k53eot_excl_lock (
    tgg00_TransContext    &  t,
    tgg00_FileId          &  TreeId,
    tgg00_Lkey            &  k,
    tgg00_LockReqMode_Param     WantedMode,
    tgg00_LockReqMode     &  GrantedMode);

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

externPascal void k53internal_lock (
    tgg00_TransContext    &  t,
    tgg00_Surrogate       &  LockTabId,
    tgg00_Lkey            &  k,
    tgg00_HandlingSet     &  LockHandling,
    tgg00_LockReqMode_Param     WantedMode,
    tgg00_LockReqMode     &  GrantedMode);

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

externPascal void k53key_unlock (
    tgg00_TransContext    &  t,
    tgg00_LockReqMode_Param     UnlockMode,
    tgg00_Surrogate       &  TabId,
    tgg00_Lkey            &  k);

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

externPascal void k53key_unlock2 (
    tgg00_TransContext    &  t,
    tgg00_LockReqMode_Param     UnlockMode,
    tgg00_Surrogate       &  TabId,
    tsp00_KeyPtr             Key,
    tsp00_Int2            &  KeyLen);

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

externPascal void k53lock (
    tgg00_TransContext    &  t,
    tgg00_Surrogate       &  LockTabId,
    tgg00_Lkey            &  k,
    tgg00_LockReqMode_Param     WantedMode,
    tgg00_LockReqState    &  WantedState,
    pasbool                  Nowait,
    pasbool                  CollisionTest,
    tgg00_LockReqMode     &  GrantedMode);

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

externPascal void k53lock_command (
    tgg00_MessBlock       &  m);

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

externPascal void k53lock_syskey (
    tgg00_TransContext    &  trans,
    tgg00_Surrogate       &  tabid,
    tgg00_Lkey            &  key,
    tgg00_LockReqMode     &  grantedlock);

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

externPascal void k53perm_temp_lock (
    tgg00_TransContext    &  t,
    tgg00_MessType_Param     LockUnlock,
    tgg00_LockReqMode_Param     LockMode,
    tgg00_HandlingSet     &  LockHandling,
    tgg00_Surrogate       &  LockTabId,
    tgg00_Lkey            &  k);

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

externPascal void k53release (
    tgg00_TransContext    &  t,
    pasbool                  force_release,
    pasbool                  internal_session);

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

externPascal void k53rollback (
    tgg00_TransContext    &  t,
    tgg00_MessType2_Param     MessType2);

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

externPascal void k53row_lock (
    tgg00_TransContext    &  t,
    tgg00_FileId          &  FileId,
    tgg00_Lkey            &  k,
    void                  *  RecBuf,
    integer                  RecPos,
    tgg00_MessType_Param     MessType,
    tsp00_Int4               ResultCount,
    tgg00_LockReqMode     &  GrantedMode);

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

externPascal void k53row_lock_by_key (
    tgg00_TransContext    &  t,
    tgg00_FileId          &  FileId,
    tsp00_KeyPtr             k,
    tsp00_Int4               KeyLen,
    tgg00_MessType_Param     MessType,
    tsp00_Int4               ResultCount,
    tgg00_LockReqMode     &  GrantedMode);

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

externPascal void k53server_drop_aux_files (
    tgg00_TransContext    &  Trans);

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

externPascal void k53set_sys2_cat_excl_nowait (
    tgg00_TransContext    &  t);

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

externPascal void k53signal_commit (
    tgg00_MessBlock       &  m);

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

externPascal void k53StartInternalSession (
    tgg00_TransContext    &  TransContext,
    tgg00_TransContext    &  AuxTransContext);

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

externPascal void k53StopInternalSession (
    tgg00_TransContext    &  TransContext,
    tgg00_TransContext    &  AuxTransContext,
    tgg00_MessType_Param     typeOfTransEnd);

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

externPascal void k53temp_unlock (
    tgg00_TransContext    &  t,
    tgg00_Surrogate       &  LockTabId,
    tgg00_Lkey            &  k,
    tgg00_LockReqMode_Param     LockMode);

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

externPascal void k53unlock (
    tgg00_MessBlock       &  m);

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

externPascal void k53wait (
    tgg00_TransContext    &  t,
    tgg00_MessType_Param     MessType,
    tgg00_MessType2_Param     MessType2);

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


#endif

