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

  @file         hak06.h

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

  @author       ElkeZ

  @brief        AK_universal_semantic_tools

\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 HAK06_H
#define HAK06_H


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

/*===========================================================================*
 *     MD5: '\x0e\x52\xc7\x50\x74\x5d\x4a\x15\x75\x45\x29\x47\x23\x2d\x83\x18'
 *===========================================================================*/


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

#include "gsp00.h"
#include "vsp001.h"
#include "ggg00.h"
#include "gak00.h"
#include "vak001.h"


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

externPascal void a06a_mblock_init (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessType_Param                 mtype,
    tgg00_MessType2_Param                 m2type,
    tgg00_FileId          VAR_VALUE_REF  tree);

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

externPascal void a06char_retpart_move (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_MoveObjPtr                     moveobj_ptr,
    tsp00_Int4                           move_len);

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

externPascal void a06check_username (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  auth,
    pasbool               VAR_VALUE_REF  is_dba,
    pasbool               VAR_VALUE_REF  ok);

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

externPascal void a06colname_retpart_move (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_MoveObjPtr                     moveobj_ptr,
    tsp00_Int4                           move_len,
    tsp00_Int2                           src_codeset);

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

externPascal void a06cpy_mblock (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  src_mblock,
    tgg00_MessBlock       VAR_VALUE_REF  dst_mblock,
    pasbool                              withoutData,
    tgg00_BasisError      VAR_VALUE_REF  e);

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

externPascal pasbool a06exist_user (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  user_name,
    tak_directory_state_Param                 dstate,
    tak_sysbufferaddress  VAR_VALUE_REF  user_rec_ptr);

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

externPascal void a06extcolno (
    tak_baserecord        VAR_VALUE_REF  baserec,
    integer                              extcolno,
    tak00_colinfo_ptr     VAR_VALUE_REF  colinfo_ptr);

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

externPascal void a06find_colinfo (
    tak_sysbufferaddress                 base_ptr,
    tgg00_StackEntry      VAR_VALUE_REF  stack_entry,
    tak00_colinfo_ptr     VAR_VALUE_REF  colinfo_ptr);

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

externPascal void a06init_curr_retpart (
    tak_all_command_glob  VAR_VALUE_REF  acv);

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

externPascal void a06finish_curr_retpart (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp1_part_kind_Param                 part_kind,
    tsp00_Int2                           arg_count);

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

externPascal void a06_c_send_mess_buf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06get_page_cnt (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  file_id,
    pasbool                              do_sample,
    tsp00_Int4            VAR_VALUE_REF  page_count,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06_get_priv (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_sysbufferaddress  VAR_VALUE_REF  brec,
    tak_privilege         VAR_VALUE_REF  priv);

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

externPascal void a06get_priv (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_sysbufferaddress  VAR_VALUE_REF  brec,
    tak00_PrivilegeSet    VAR_ARRAY_REF  required_priv,
    tak_privilege         VAR_VALUE_REF  priv);

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

externPascal void a06move_file_content (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  old_id,
    tgg00_FileId          VAR_VALUE_REF  new_id,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06_systable_get (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_directory_state_Param                 dstate,
    tgg00_Surrogate       VAR_ARRAY_REF  tableid,
    tak_sysbufferaddress  VAR_VALUE_REF  base_ptr,
    pasbool                              get_all,
    pasbool               VAR_VALUE_REF  ok);

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

externPascal pasbool a06_table_exist (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_directory_state_Param                 dstate,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  authname,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  tablen,
    tak_syspointerarr     VAR_VALUE_REF  sparr,
    pasbool                              get_all);

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

externPascal void a06_view_get_basetable (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  view_id,
    integer                              tabno,
    tgg00_Surrogate       VAR_ARRAY_REF  base_id);

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

externPascal void a06destroy_temp (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  temp_id,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06get_username (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    integer               VAR_VALUE_REF  tree_index,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  username);

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

externPascal void a06determine_username (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  userid,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  user_name);

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

externPascal void a06det_user_id (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  authname,
    tgg00_Surrogate       VAR_ARRAY_REF  authid);

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

externPascal void a06dml_send_mess_buf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock,
    tak_dml_info          VAR_VALUE_REF  dmli,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06eval_page_count (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  file_id,
    tgg00_Lkey            VAR_VALUE_REF  startkey,
    tgg00_Lkey            VAR_VALUE_REF  stopkey,
    pasbool                              do_sample,
    pasbool                              count_records,
    tsp00_Int4            VAR_VALUE_REF  page_count,
    tsp00_Int4            VAR_VALUE_REF  min_page_cnt,
    tsp00_Int4            VAR_VALUE_REF  record_cnt,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06ignore_rsend_mess_buf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock,
    tak_sm_description    VAR_VALUE_REF  send_description,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06inc_linkage (
    tsp00_C2              VAR_ARRAY_REF  linkage);

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

externPascal void a06pred_linkage (
    tsp00_C2              VAR_ARRAY_REF  linkage);

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

externPascal pasbool a06role_exist (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  role_name,
    tak_directory_state_Param                 dstate,
    tak_sysbufferaddress  VAR_VALUE_REF  role_rec_ptr);

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

externPascal pasbool a06_role_excluded (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  role_id);

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

externPascal void a06lsend_mess_buf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock,
    pasbool                              call_from_rsend,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06prefix_destroy_temp (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Filename        VAR_ARRAY_REF  prefix_fn,
    integer                              prefix_len,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06public_priv (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_baserecord        VAR_VALUE_REF  brec,
    tak_privilege         VAR_VALUE_REF  priv);

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

externPascal void a06put_errtext (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_BasisError                     b_err_in,
    tgg00_ErrorText_Param                 err_type,
    integer                              errtext_len,
    tsp00_C256            VAR_ARRAY_REF  errtext,
    tgg00_BasisError      VAR_VALUE_REF  b_err_out);

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

externPascal void a06remove_locked_state (
    tak_all_command_glob  VAR_VALUE_REF  acv);

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

externPascal void a06reset_retpart (
    tak_all_command_glob  VAR_VALUE_REF  acv);

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

externPascal void a06rsend_mess_buf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock,
    pasbool                              return_req,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06set_mtree (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock,
    tgg00_FileId          VAR_VALUE_REF  tree);

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

externPascal void a06subquery_del_result (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_dml_info          VAR_VALUE_REF  dmli,
    tgg00_FileId          VAR_VALUE_REF  subquery_tree,
    integer                              prefix_len);

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

externPascal void a06systable_state (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  tablename,
    tgg00_FileId          VAR_VALUE_REF  tree);

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

externPascal tsp00_Int4 a06uid (
    tgg00_Surrogate       VAR_ARRAY_REF  user_id);

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

externPascal void a06userid_get (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  userid,
    pasbool               VAR_VALUE_REF  ok);

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


#if defined (SAPDB_SLOW)

externPascal void a06td_priv (
    tak_privilege                        p,
    tsp00_C18             VAR_ARRAY_REF  id,
    pasbool                              unpacked);

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


#endif

externPascal void a06tempfile_empty (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  temp_id,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

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

externPascal void a06unpack_priv (
    tak_privilege         VAR_VALUE_REF  packed_priv,
    tak_privilege         VAR_VALUE_REF  unpacked_priv);

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

externPascal void a06user_get_priv (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_sysbufferaddress  VAR_VALUE_REF  brec,
    tgg00_Surrogate       VAR_ARRAY_REF  user,
    tak_privilege         VAR_VALUE_REF  priv);

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

externPascal void a06retpart_move (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_MoveObjPtr                     moveobj_ptr,
    tsp00_Int4                           move_len);

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


#endif

