Yes there is-  is it the tnslib - heres the header file for C apps
/*
  $Header: /netrcs/RCS/oracle/network/tns/defs/RCS/tnsapi.h,v 1.4
1995/09/12 19:35:07 yzheng Exp $
*/
/* Copyright (c) 1995 by Oracle Corporation.  All rights reserved. */
/*
NAME
  tnsapi.h
DESCRIPTION
  SQL*Net Open API functions.
FUNCTIONS
  tnsopen()    -   open a TNS handle
  tnsclose()   -   close a TNS handle
  tnssend()    -   send data over TNS handle
  tnsrecv()    -   receive data over TNS handle
NOTES
  These functions provides transparent access to the underlying session
  implementation SQL*NET.
*/
#ifndef TNSAPI
#define TNSAPI
enum tnsapiopcode {
/* TNS API operations */
  TNSAPIOOPEN,
  TNSAPIOCLOSE,
  TNSAPIOSEND,
  TNSAPIORECV
};
/* TNS API error codes */
/* More will be added as actual coding and testing starts */
/* DISABLE check_naming */
/* DISABLE check_str_mem */
enum tnsapierrcode {
  TNSAPIEBASE = 20000,
  SDFAIL_TNSAPIE = TNSAPIEBASE+2,
/*
  -   SDFAIL_TNSAPIE: The underlying "send" command failed in tnssend().
 */
  RECVFAIL_TNSAPIE = TNSAPIEBASE+3,
/*
  -   RECVFAIL_TNSAPIE: The underlying "receive" command failed in
tnsrecv().
 */
  INVSVROP_TNSAPIE = TNSAPIEBASE+4,
/*
  -   INVSVROP_TNSAPIE: Operation is invalid as the server.
 */
  INVCLIOP_TNSAPIE = TNSAPIEBASE+5,
/*
  -   INVCLIOP_TNSAPIE: Operation is invalid as the client.
 */
  HDLUNINI_TNSAPIE = TNSAPIEBASE+6,
/*
  -   HDLUNINI_TNSAPIE: The connection should be initialized by
  
-   calling tnsopen().
 */
  INHFAIL_TNSAPIE = TNSAPIEBASE+7,
/*
  -   INHFAIL_TNSAPIE: server failed in inheriting the connection from
  
-   the listener.
 */
  ACPTFAIL_TNSAPIE = TNSAPIEBASE+8,
/*
  -   ACPTFAIL_TNSAPIE: server failed in accepting the connection request
  
-   from the client
 */
  NULHDL_TNSAPIE = TNSAPIEBASE+9,
/*
  -   NULHDL_TNSAPIE: a null handle is passed into the tnsxxx calls, which
  
-   is not allowed
 */
  INVOP_TNSAPIE = TNSAPIEBASE+10,
/*
  -   INVOP_TNSAPIE: invalid operation code is passed into tnsapi() call
 */
  MALFAIL_TNSAPIE = TNSAPIEBASE+11,
/*
  -   MALFAIL_TNSAPIE: a malloc failed in TNS API calls
 */
  NLINIFAIL_TNSAPIE = TNSAPIEBASE+12,
/*
  -   NLINIFAIL_TNSAPIE: failed in NL initialization
 */
  NMTOOLONG_TNSAPIE = TNSAPIEBASE+13,
/*
  -   NMTOOLONG_TNSAPIE: service name too long
 */
  CONFAIL_TNSAPIE = TNSAPIEBASE+14,
/*
  -   CONFAIL_TNSAPIE: client connect request failed
 */
  LSNFAIL_TNSAPIE = TNSAPIEBASE+15,
/*
  -   LSNFAIL_TNSAPIE: server failed to listen for connect request
 */
  ANSFAIL_TNSAPIE = TNSAPIEBASE+16,
/*
  -   ANSFAIL_TNSAPIE: server failed to answer connect request
 */
  NMRESFAIL_TNSAPIE = TNSAPIEBASE+17,
/*
  -   NMRESFAIL_TNSAPIE: failed to resolve service name
 */
  TNSAPIE_ERROR = TNSAPIEBASE+20
/*
  -   TNSAPIE_ERROR: generic TNS error occured
 */
};
/* ENABLE check_str_mem */
int tnsopen(/*_ void **handlep, const char *name _*/);
/*
  -   Operation
  
-   TNSOPEN
 *
  
-   Description
  
-   Initialize TNSAPI per-connection handle. This function must be the
  
-   first TNS call that a user makes.
 *
  
-   Name contains a service name in the same format as those in
  
-   configuration files in the case of a client. In the case of a
server,
  
-   name is a NULL.
 *
  
-   Synopsis
  
-   int tnsopen(handlep, name)
  
-   void **handlep;
  
-   const char *name;
 *
  
-   Paramters
  
-   handlep (IN/OUT) - Address to receive TNS connection handle
  
-   name    (IN)     - service name
 *
  
-   Requires
  
-   The handlep paramter must not be NULL
 *
  
-   Returns
  
-   Upon successful completion a zero value is returned. Otherwise, a
  
-   positive TNS API error is returned, which is defined in this header
  
-   file.
 */
int tnsclose(/*_ void **handlep _*/);
/*
  -   Operation:
  
-   TNSCLOSE
 *
  
-   Description
  
-   Shut down the connection. This function must be called by the user
  
-   to close the connection and release the handle properly.
 *
  
-   Synopsis
  
-   int tnsclose(handlep)
  
-   void **handlep;
 *
  
-   Paramters
  
-   handlep(IN/OUT) - Address of a pointer to a TNS connection handle
 *
  
-   Requires
  
-   The handlep paramter must not be NULL
 *
  
-   Returns
  
-   Upon successful completion a zero value is returned, and *handlep
  
-   is set to NULL. Otherwise, a positive TNS API error number  is
  
-   returned, which is defined in this header file.
 */
int tnssend(/*_ void *handle, const void *data, size_t *length _*/);
/*
  -   Operation
  
-   TNSSEND
 *
  
-   Description
  
-   Send data to the TNS handle.
 *
  
-   In the first call to tnssend() on the client side, connection is
  
-   first established before data is sent to the handle.  The client
must
  
-   first call tnssend() after tnsopen() to establish a connection to
the
  
-   server. It is an error if server calls tnssend() after calling
  
-   tnsopen().
 *
  
-   Synopsis
  
-   int tnssend(handle, data, length)
  
-   void *handle;
  
-   const void *data;
  
-   size_t *length;
 *
  
-   Paramters
  
-   handle(IN/OUT) - pointer to TNS connection handle returned by
  
-   tnsopen()
  
-   data(IN)   -     pointer to data to be sent
  
-   length(IN/OUT) - pointer to the length of data to be sent in bytes
  
-   and the actual number of bytes written on return.
 *
  
-   Requires
  
-   The paramters must not be NULL
 *
  
-   Returns
  
-   Upon successful completion a zero value is returned, and the actual
  
-   number of bytes written is returned as the value pointed to by the
  
-   length paramter. Otherwise, a positive TNS API error number is
  
-   returned, which is defined in this header file.
 */
int tnsrecv(/*_ void *handle, void *data, size_t *length _*/);
/*
  -   Operation
  
-   TNSRECV
 *
  
-   Description
  
-   Receive data from the TNS handle
 *
  
-   In the frist call to tnsrecv() on the server side, connection is
  
-   first established before data is received from the handle. The
server
  
-   must first call tnsrecv() after tnsopen() to accept the connection
  
-   from the client.
 *
  
-   Synopsis
  
-   int tnsrecv(handle, data, length)
  
-   void *handle;
  
-   void *data;
  
-   size_t *length;
 *
  
-   Paramters
  
-   handle(IN/OUT) - pointer to TNS connection handle returned by
  
-   tnsopen()
  
-   data(IN/OUT)   - pointer to buffer to receive data
  
-   length(IN/OUT) - pointer to the length of buffer to receive data
  
-   and actual number of bytes received on return
 *
  
-   Requires
  
-   All paramters must not be NULL
 *
  
-   Returns
  
-   Upon successful completion a zero value is returned, and the actual
  
-   number of bytes received is returned as the value pointed to by the
  
-   length paramter. Otherwise, a positive TNS API error number is
  
-   returned, which is defined in this header file.
 */
/*
  -   Public macro interfaces
 */
#define tnsopen(handlep, name) tnsapi(TNSAPIOOPEN, handlep, name)
#define tnsclose(handlep) tnsapi(TNSAPIOCLOSE, handlep)
#define tnssend(handle, data, length) tnsapi(TNSAPIOSEND, handle, data,
length)
#define tnsrecv(handle, data, length) tnsapi(TNSAPIORECV, handle, data,
length)
/* ENABLE check_naming */
#endif /* TNSAPI */
you'll find the lib under network\lib\tnsapi.lib
hope this helps.
Received on Fri Sep 05 1997 - 00:00:00 CDT