.ad 8
.bm 8
.fm 4
.bt $Copyright by   Software AG, 1993$$Page %$
.tm 12
.hm 6
.hs 3
.tt 1 $NME$Project Distributed Database System$vos905c$
.tt 2 $$$
.tt 3 $D.Dittmar$sqlxconnect$1997-03-27$
***********************************************************
.nf


    ========== licence begin LGPL
    Copyright (C) 2002 SAP AG

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library 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
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    ========== licence end

.fo
.nf
.sp
Module  : sqlxconnect
=========
.sp
Purpose :
.CM *-END-* purpose -------------------------------------
.sp
.cp 3
Define  :

.CM *-END-* define --------------------------------------
.sp;.cp 3
Use     :

.CM *-END-* use -----------------------------------------
.sp;.cp 3
Synonym :

.CM *-END-* synonym -------------------------------------
.sp;.cp 3
Author  : D.Dittmar
.sp
.cp 3
Created : 1997-01-07
.sp
.cp 3
Version : 1997-01-07
.sp
.cp 3
Release :  6.2 	 Date : 1997-03-27
.br
.sp
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Specification:

.CM *-END-* specification -------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Description:

.CM *-END-* description ---------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.nf
.oc _/1
Structure:

.CM *-END-* structure -----------------------------------
.sp 2
**********************************************************
.sp
.cp 10
.nf
.oc _/1
.CM -lll-
Code    :
/*PRETTY*/
/*
 * MODULE - (TCP/IP) communication
 */

/*
 * INCLUDE FILES
 */


/*
 *  DEFINES
 */
#define MOD__  "VOS905C : "
#define MF__   MOD__"UNDEFINED"

#define LINGER_TIME  15
/*
 *  MACROS
 */


/*
 *  LOCAL TYPE AND STRUCT DEFINITIONS
 */


/*
 * EXTERNAL VARIABLES
 */


/*
 *  EXPORTED VARIABLES
 */


/*
 * LOCAL VARIABLES
 */

/*
 * LOCAL FUNCTION PROTOTYPES
 */

VOID sql03u_xconnect (PSZ               pszServerNode,
                      PSZ               pszServerDB,
                      PSZ               pszServerDBRoot,
                      PSZ               pszServerPgm,
                      PULONG            pulMaxCmdDataLen,
                      PVOID             pSQLPacketList[],
                      PULONG            pulClientRef,
                      PULONG            pRC,
                      ERRORTEXT         pErrText );
/*
 * ========================== GLOBAL FUNCTIONS ================================
 */
VOID sqlx2connectc (PROCESS_ID                     pid,
                   SQL_NODEID                      servernode,
                   SQL_DBNAME                      serverdb,
                   PATHNAME                        dbroot,
                   PATHNAME                        serverpgm,
                   INT4                            *reference,
                   INT4                            *sql_packet_size,
                   PVOID                           sql_packet_list[],
                   ERRORTEXT                       errtext,
                   tsp_comm_error                  *returncode )
  {
  #undef  MF__
  #define MF__ MOD__"sqlx2connectc"
  ULONG         rc;

  sql03u_xconnect (servernode, serverdb, dbroot, serverpgm, sql_packet_size,
                  sql_packet_list, reference, &rc, errtext);
  *returncode = (tsp_comm_error) rc;
  }


VOID sqlx2connectp (PROCESS_ID                      pid,
                   SQL_NODEID                      servernode,
                   SQL_DBNAME                      serverdb,
                   PATHNAME                        dbroot,
                   PATHNAME                        serverpgm,
                   INT4                            *reference,
                   INT4                            *sql_packet_size,
                   PVOID                           sql_packet_list[],
                   ERRORTEXT                       errtext,
                   tsp_comm_error                  *returncode )
  {
  #undef  MF__
  #define MF__ MOD__"sqlx2connectp"
  ULONG         rc;
  SQL_NODEIDC     szServerNode;
  SQL_DBNAMEC     szServerDB;

  DBGIN;

  // ---  convert pascal names to null terminated strings
  sql47c_ptoc ( szServerNode, servernode,  sizeof(SQL_NODEID) );
  sql47c_ptoc ( szServerDB,   serverdb,    sizeof(SQL_DBNAME) );


  // ---  If no node name is given, split database name into node/dbname parts.
  if ( szServerNode [ 0 ] == '\0' )
    sql17u_split_dbname ( szServerDB, szServerNode );

  DBG3 (( MF__, "pszServerNode '%s'", szServerNode ));
  DBG3 (( MF__, "pszServerDB   '%s'", szServerDB ));

  sql03u_xconnect (servernode, serverdb, dbroot, serverpgm, sql_packet_size,
                  sql_packet_list, reference, &rc, errtext);
  *returncode = (tsp_comm_error) rc;
  }


VOID sqlxconnectc (PROCESS_ID                      pid,
                   SQL_NODEID                      servernode,
                   SQL_DBNAME                      serverdb,
                   PATHNAME                        dbroot,
                   INT4                            *reference,
                   INT4                            *sql_packet_size,
                   PVOID                           sql_packet_list[],
                   ERRORTEXT                       errtext,
                   tsp_comm_error                  *returncode )
  {
  #undef  MF__
  #define MF__ MOD__"sqlxconnectc"
  sqlx2connectc (pid, servernode, serverdb, dbroot, NULL, reference, 
                 sql_packet_size, sql_packet_list, errtext, returncode);
  }

VOID sqlxconnectp (PROCESS_ID                      pid,
                   SQL_NODEID                      servernode,
                   SQL_DBNAME                      serverdb,
                   PATHNAME                        dbroot,
                   PATHNAME                        serverpgm,
                   INT4                            *reference,
                   INT4                            *sql_packet_size,
                   PVOID                           sql_packet_list[],
                   ERRORTEXT                       errtext,
                   tsp_comm_error                  *returncode )
  {
  #undef  MF__
  #define MF__ MOD__"sqlxconnectp"
  sqlx2connectp (pid, servernode, serverdb, dbroot, NULL, reference, 
                 sql_packet_size, sql_packet_list, errtext, returncode);
  }
/*
 * =============================== END ========================================
 */
.CM *-END-* code ----------------------------------------
.SP 2
***********************************************************
