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

  @file         hak40.h

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

  @author       ThomasA

  @brief        AK_universal_show_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 HAK40_H
#define HAK40_H


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

/*===========================================================================*
 *     MD5: '\x08\xba\x84\xee\xcc\x0c\x01\x7c\xeb\x13\x17\x85\x08\x80\xb7\x6d'
 *===========================================================================*/


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

#include "gsp00.h"
#include "ggg00.h"
#include "gak00.h"
#include "vak001.h"
#include "gak40.h"
#include "gak71.h"


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

/* var a40sqlmode not generated, type too complex */
/* var a40yes_no not generated, type too complex */

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

externPascal void a40add_explain_record (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak71_explain_rec     VAR_VALUE_REF  exp_rec);

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

externPascal void a40AppVarCol (
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_C32             VAR_ARRAY_REF  col_name,
    tsp00_DataType_Param                 datatype,
    integer                              data_len,
    integer                              fraction);

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

externPascal void a40column_description (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tgg00_TableKind_Param                 tablekind,
    tak00_columninfo      VAR_VALUE_REF  col_info,
    pasbool                              opt_undef);

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

externPascal void a40comment_descriptor (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    pasbool                              comment_exist,
    tgg00_Surrogate       VAR_ARRAY_REF  tabid,
    integer                              column_no,
    tak_comment_type_Param                 comment_kind);

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

externPascal void a40datatype_code (
    tak00_columninfo      VAR_VALUE_REF  col_info,
    pasbool                              is_oracle,
    tak_appl_type_Param                  comp_type,
    tsp00_Sname           VAR_ARRAY_REF  datatype,
    tsp00_C10             VAR_ARRAY_REF  code,
    integer               VAR_VALUE_REF  datalen);

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

externPascal void a40date_time_analyze (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_vcolumndescription  VAR_VALUE_REF  coldesc,
    tgg00_DateTimeFormat_Param                 dt_format,
    void                  *  outbuf,
    integer                              pos,
    tsp00_C64             VAR_ARRAY_REF  aux1,
    integer               VAR_VALUE_REF  auxlen);

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

externPascal void a40get_catalog_table (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v);

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

externPascal void a40glob_init ();

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

externPascal void a40init_table_scan (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    pasbool                              scan_temp,
    pasbool                              scan_private,
    pasbool                              scan_non_private,
    pasbool                              scan_public,
    pasbool                              use_synonyms,
    pasbool                              all_base);

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

externPascal pasbool a40is_unique (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_FileId          VAR_VALUE_REF  distinct_tree,
    tgg00_Surrogate       VAR_ARRAY_REF  tabid,
    pasbool                              check_only);

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

externPascal void a40join_expl_row (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_C40             VAR_ARRAY_REF  strat,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  owner,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  table,
    tsp00_Longreal                       recs_found,
    tsp00_Longreal                       multiplier,
    tsp00_Longreal                       reverse_multiplier,
    tsp00_Longreal                       new_left_size,
    tsp00_Longreal                       new_left_recs,
    tsp00_Longreal                       costs);

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

externPascal pasbool a40next_table (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v);

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

externPascal void a40move (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    void*                                moveobj_ptr,
    integer                              move_len);

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

externPascal void a40move_const (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    void*                                moveobj_ptr,
    integer                              move_len);

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

externPascal void a40move_counter (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_8ByteCounter                   val,
    pasbool                              is_null,
    integer                              frac,
    pasbool                              zero_to_undef);

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

externPascal void a40move_guid (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_C16             VAR_ARRAY_REF  guid);

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

externPascal void a40move_i4 (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_Int4                           i4_val,
    pasbool                              is_null,
    integer                              frac,
    pasbool                              zero_to_undef);

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

externPascal void a40move_ui4 (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_Int4                           i4_val,
    pasbool                              is_null,
    integer                              frac,
    pasbool                              zero_to_undef);

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

externPascal void a40move_real (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_Longreal                       val,
    pasbool                              is_null,
    integer                              frac);

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

externPascal void a40ignore_down_error (
    tak_all_command_glob  VAR_VALUE_REF  acv);

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

externPascal void a40default (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tak00_columninfo      VAR_VALUE_REF  colinfo,
    tak_defaultrecord     VAR_VALUE_REF  defaultrec);

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

externPascal void a40_p_priv (
    tak_privilege         VAR_VALUE_REF  pr,
    tsp00_C40             VAR_ARRAY_REF  prn,
    tsp00_Int2                           colno);

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

externPascal void a40long_descriptor (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tgg00_Surrogate       VAR_ARRAY_REF  tabid,
    integer                              column_no);

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

externPascal void a40sequence_expl_row (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_Line            VAR_ARRAY_REF  line,
    pasbool                              change_to_unicode);

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

externPascal void a40site (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_DbName          VAR_ARRAY_REF  siteserverdbname,
    tsp00_NodeId          VAR_ARRAY_REF  siteid);

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

externPascal void a40table_column_to_shbuf (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tak_sysbufferaddress                 base_ptr,
    integer                              colindex);

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

externPascal void a40put_date_time (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tsp00_Int4            VAR_VALUE_REF  datetime,
    pasbool                              date,
    pasbool                              is_undef);

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

externPascal void a40put_one_value (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    tak00_columninfo      VAR_VALUE_REF  col_info,
    pasbool                              do_move,
    tsp00_C256            VAR_ARRAY_REF  valbuf,
    integer                              valpos,
    integer                              vallen,
    tsp00_C256            VAR_ARRAY_REF  destbuf,
    integer               VAR_VALUE_REF  destlen,
    pasbool               VAR_VALUE_REF  ok);

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

externPascal void a40SetAllObjects (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v);

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

externPascal void a40username_from_syskey (
    tgg00_SysInfoKey      VAR_VALUE_REF  sysk,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  user_name);

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

externPascal pasbool a40usertab_next (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak40_show_glob       VAR_VALUE_REF  a41v,
    pasbool                              use_tables,
    pasbool                              use_dbprocs,
    pasbool                              use_sequences,
    tgg00_Surrogate       VAR_ARRAY_REF  surrogate,
    tgg00_TableKind       VAR_VALUE_REF  kind);

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


#endif

