From: johnl@obelix.informix.com (Jonathan Leffler)
Newsgroups: comp.databases.informix
Subject: Re:  Function Prototypes for ESQL/C
Date: 12 Oct 92 15:23:13 GMT
Reply-To: johnl@obelix.informix.com (Jonathan Leffler)
X-Informix-List-ID: <list.1514>


>From: uunet!esd.dl.nec.com!forney (Elizabeth (Liz) J. Forney)
>Subject: Function Prototypes for ESQL/C
>Date: 8 Oct 92 16:31:05 GMT
>X-Informix-List-Id: <news.1939>
>
>Back in April Jonathan Leffler from Informix posted ".h" files that
>contained the function prototypes for ESQL/C.  I have recently upgraded
>from 4.10 ESQL/C to 5.00 ESQL/C, and need to flush out the differences
>between the prototype function declarations between the two versions.
>
>In particular, did the prototype declaration for sqgetdbs (to obtain a list
>of databases known to OnLine change.)
>
>Jonathan - or anyone else know the answer!
>
>Thanks,
>Liz Forney,
>Software Engineer
>NEC America, Inc.

Liz,

No, sqgetdbs didn't change.

I enclose the May version of the headers I sent out previously.
The major difference is that I have trimmed down the list of functions
to those which can be placed in the code generated by the ESQL/C compiler.
The other functions cannot be called directly by the generated code.

I found this list of functions by running strings(1) on the
$INFORMIXDIR/lib/esqlc executable and looking hard at the results.
This list is somewhat more manageable.  There is also an include file for the
documented library functions supplied with 5.00 -- I believe there are no
compatability problems with earlier releases of the software.

I must point out two disclaimers.

1. Informix Software does not support or provide this interface.
   It was produced in my spare time -- and is maintained in my "spare"
   time.
2. I have tested the headers against an ANSI compliant compiler, but I still
   can't guarantee there are no bugs in the code.

I trust this is of sufficient interest to the NET-world to justify posting
rather than mailing direct Liz.

Yours,
Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>

:	"@(#)shar.sh	1.8"
#! /bin/sh
#
#	This is a shell archive.
#	Remove everything above this line and run sh on the resulting file.
#	If this archive is complete, you will see this message at the end:
#	"All files extracted"
#
#	Created: Sun Oct 11 17:48:49 GMT 1992 by johnl at Informix Software Ltd.
#	Files archived in this archive:
#	esql4_00.h
#	esql4_10.h
#	esql5_00.h
#	esqlc.h
#	esqllib.h
#
#--------------------
if [ -f esql4_00.h -a "$1" != "-c" ]
then echo shar: esql4_00.h already exists
else
echo 'x - esql4_00.h (6556 characters)'
sed -e 's/^X//' >esql4_00.h <<'SHAR-EOF'
X/*
X@(#)File:            esql4_00.h
X@(#)Version:         1.1
X@(#)Last changed:    92/05/09
X@(#)Purpose:         Function prototypes for ESQL/C Version 4.00 or Version 4.10
X@(#)Author:          J Leffler
X@(#)Copyright:       (C) JLSS 1992
X@(#)Product:         :PRODUCT:
X*/
X
X/*TABSTOP=4*/
X
X/*
X** Function prototypes for functions found in:
X** Informix ESQL/C application-engine interface library Version 4.00.
X** List of names derived from output of "strings $INFORMIXDIR/lib/esqlc"
X** iec_stop() is called by WHENEVER ERROR STOP.
X*/
X
X#ifndef ESQL4_00_H
X#define ESQL4_00_H
X
X#include <sqlhdr.h>
X#include <sqlda.h>
X
X#ifdef MAIN_PROGRAM
X#ifndef lint
Xstatic char esql4_00_h[] = "@(#)esql4_00.h	1.1 92/05/09";
X#endif	/*lint */
X#endif	/*MAIN_PROGRAM */
X
X#ifdef __STDC__
X
Xextern int      _iqbeginwork(void);
Xextern int      _iqclose(register _SQCURSOR *cursor);
Xextern int      _iqcommit(void);
Xextern int      _iqcopen(register _SQCURSOR *cursor,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idesc,
X                         struct value *ivalues,
X                         int useflag);
Xextern int      _iqdatabase(char *db_name,
X                            int exclusive,
X                            int icnt,
X                            struct sqlvar_struct *ibind);
Xextern int      _iqdbclose(void);
Xextern int      _iqdclcur(register _SQCURSOR *cursor,
X                          register char *curname,
X                          register char **cmdtxt,
X                          register int icnt,
X                          register struct sqlvar_struct *ibind,
X                          register int ocnt,
X                          register struct sqlvar_struct *obind,
X                          register int flags);
Xextern int      _iqddclcur(register _SQCURSOR *cursor,
X                           register char *curname,
X                           register int flags);
Xextern int      _iqdscribe(register _SQCURSOR *cursor, struct sqlda **descp);
Xextern int      _iqeximm(char *stmt);
Xextern int      _iqflush(register _SQCURSOR *cursor);
Xextern int      _iqfree(register _SQCURSOR *cursor);
Xextern int      _iqftch(register _SQCURSOR *cursor,
X                        int ocnt,
X                        struct sqlvar_struct *obind,
X                        struct sqlda *odescriptor,
X                        int chkind);
Xextern int      _iqinsput(register _SQCURSOR *cursor,
X                          int icnt,
X                          struct sqlvar_struct *ibind,
X                          struct sqlda *idesc,
X                          struct value *ivalues);
Xextern int      _iqnftch(_SQCURSOR *cursor,
X                         int ocnt,
X                         struct sqlvar_struct *obind,
X                         struct sqlda *odescriptor,
X                         int fetch_type,
X                         long val,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idescriptor,
X                         int chkind);
Xextern int      _iqpclose(_SQCURSOR *cursor);
Xextern int      _iqpdclcur(_SQCURSOR *cursor,
X                           char *cursor_name,
X                           int statement_type,
X                           char *table_name,
X                           char **select_list,
X                           char **orderby_list,
X                           char **where_text,
X                           int icnt,
X                           struct sqlvar_struct *ibind,
X                           int ocnt,
X                           struct sqlvar_struct *obind,
X                           int for_update);
Xextern int      _iqpdelete(_SQCURSOR *cursor);
Xextern int      _iqpopen(_SQCURSOR *cursor,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idesc,
X                         struct value *ivalues,
X                         int useflag);
Xextern int      _iqpput(register _SQCURSOR *cursor,
X                        int icnt,
X                        struct sqlvar_struct *ibind,
X                        struct sqlda *idesc,
X                        struct value *ivalues);
Xextern int      _iqprepare(register _SQCURSOR *cursor, char *stmt);
Xextern int      _iqpupdate(_SQCURSOR *cursor,
X                           char **ucolumn_list,
X                           int icnt,
X                           struct sqlvar_struct *ibind);
Xextern int      _iqrollback(void);
Xextern int      _iqslct(register _SQCURSOR *cursor,
X                        char **cmdtxt,
X                        int icnt,
X                        struct sqlvar_struct *ibind,
X                        int ocnt,
X                        struct sqlvar_struct *obind,
X                        int chkind);
Xextern int      _iqstmnt(register _SQSTMT *scb,
X                         char **cmdtxt,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct value *ivalues);
Xextern int      _iqxecute(register _SQCURSOR *cursor,
X                          int icnt,
X                          struct sqlvar_struct *ibind,
X                          struct sqlda *idesc,
X                          struct value *ivalues);
Xextern int      iec_stop(void);
Xextern int      sqgetdbs(int *ret_fcnt,
X                         char **fnames,
X                         int fnsize,
X                         char *farea,
X                         int fasize);
Xextern int      sqlbreak(void);
Xextern int      sqlexit(void);
Xextern int      sqlstart(void);
X
X#else
X
Xextern int      _iqbeginwork();
Xextern int      _iqclose();
Xextern int      _iqcommit();
Xextern int      _iqcopen();
Xextern int      _iqdatabase();
Xextern int      _iqdbclose();
Xextern int      _iqdclcur();
Xextern int      _iqddclcur();
Xextern int      _iqdscribe();
Xextern int      _iqeximm();
Xextern int      _iqflush();
Xextern int      _iqfree();
Xextern int      _iqftch();
Xextern int      _iqinsput();
Xextern int      _iqnftch();
Xextern int      _iqpclose();
Xextern int      _iqpdclcur();
Xextern int      _iqpdelete();
Xextern int      _iqpopen();
Xextern int      _iqpput();
Xextern int      _iqprepare();
Xextern int      _iqpupdate();
Xextern int      _iqrollback();
Xextern int      _iqslct();
Xextern int      _iqstmnt();
Xextern int      _iqxecute();
Xextern int      iec_stop();
Xextern int      sqgetdbs();
Xextern int      sqlbreak();
Xextern int      sqlexit();
Xextern int      sqlstart();
X
X#endif	/* __STDC__ */
X
X#endif	/* ESQL4_00_H */
SHAR-EOF
chmod 444 esql4_00.h
if [ `wc -c <esql4_00.h` -ne 6556 ]
then echo shar: esql4_00.h unpacked with wrong size
fi
# end of overwriting check
fi
#--------------------
if [ -f esql4_10.h -a "$1" != "-c" ]
then echo shar: esql4_10.h already exists
else
echo 'x - esql4_10.h (6389 characters)'
sed -e 's/^X//' >esql4_10.h <<'SHAR-EOF'
X/*
X@(#)File:            esql4_10.h
X@(#)Version:         1.1
X@(#)Last changed:    92/05/09
X@(#)Purpose:         Function prototypes for ESQL/C Version 4.10
X@(#)Author:          J Leffler
X@(#)Copyright:       (C) JLSS 1992
X@(#)Product:         :PRODUCT:
X*/
X
X/*TABSTOP=4*/
X
X/*
X** Function prototypes for functions found in:
X** Informix ESQL/C application-engine interface library Version 4.10.
X** Same as for Version 4.00 except: sqgetdbs() does not link in 4.10!
X** List of names derived from output of "strings $INFORMIXDIR/lib/esqlc"
X** iec_stop() is called by WHENEVER ERROR STOP.
X*/
X
X#ifndef ESQL4_10_H
X#define ESQL4_10_H
X
X#include <sqlhdr.h>
X#include <sqlda.h>
X
X#ifdef MAIN_PROGRAM
X#ifndef lint
Xstatic char esql4_10_h[] = "@(#)esql4_10.h	1.1 92/05/09";
X#endif	/*lint */
X#endif	/*MAIN_PROGRAM */
X
X#ifdef __STDC__
X
Xextern int      _iqbeginwork(void);
Xextern int      _iqclose(register _SQCURSOR *cursor);
Xextern int      _iqcommit(void);
Xextern int      _iqcopen(register _SQCURSOR *cursor,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idesc,
X                         struct value *ivalues,
X                         int useflag);
Xextern int      _iqdatabase(char *db_name,
X                            int exclusive,
X                            int icnt,
X                            struct sqlvar_struct *ibind);
Xextern int      _iqdbclose(void);
Xextern int      _iqdclcur(register _SQCURSOR *cursor,
X                          register char *curname,
X                          register char **cmdtxt,
X                          register int icnt,
X                          register struct sqlvar_struct *ibind,
X                          register int ocnt,
X                          register struct sqlvar_struct *obind,
X                          register int flags);
Xextern int      _iqddclcur(register _SQCURSOR *cursor,
X                           register char *curname,
X                           register int flags);
Xextern int      _iqdscribe(register _SQCURSOR *cursor, struct sqlda **descp);
Xextern int      _iqeximm(char *stmt);
Xextern int      _iqflush(register _SQCURSOR *cursor);
Xextern int      _iqfree(register _SQCURSOR *cursor);
Xextern int      _iqftch(register _SQCURSOR *cursor,
X                        int ocnt,
X                        struct sqlvar_struct *obind,
X                        struct sqlda *odescriptor,
X                        int chkind);
Xextern int      _iqinsput(register _SQCURSOR *cursor,
X                          int icnt,
X                          struct sqlvar_struct *ibind,
X                          struct sqlda *idesc,
X                          struct value *ivalues);
Xextern int      _iqnftch(_SQCURSOR *cursor,
X                         int ocnt,
X                         struct sqlvar_struct *obind,
X                         struct sqlda *odescriptor,
X                         int fetch_type,
X                         long val,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idescriptor,
X                         int chkind);
Xextern int      _iqpclose(_SQCURSOR *cursor);
Xextern int      _iqpdclcur(_SQCURSOR *cursor,
X                           char *cursor_name,
X                           int statement_type,
X                           char *table_name,
X                           char **select_list,
X                           char **orderby_list,
X                           char **where_text,
X                           int icnt,
X                           struct sqlvar_struct *ibind,
X                           int ocnt,
X                           struct sqlvar_struct *obind,
X                           int for_update);
Xextern int      _iqpdelete(_SQCURSOR *cursor);
Xextern int      _iqpopen(_SQCURSOR *cursor,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idesc,
X                         struct value *ivalues,
X                         int useflag);
Xextern int      _iqpput(register _SQCURSOR *cursor,
X                        int icnt,
X                        struct sqlvar_struct *ibind,
X                        struct sqlda *idesc,
X                        struct value *ivalues);
Xextern int      _iqprepare(register _SQCURSOR *cursor, char *stmt);
Xextern int      _iqpupdate(_SQCURSOR *cursor,
X                           char **ucolumn_list,
X                           int icnt,
X                           struct sqlvar_struct *ibind);
Xextern int      _iqrollback(void);
Xextern int      _iqslct(register _SQCURSOR *cursor,
X                        char **cmdtxt,
X                        int icnt,
X                        struct sqlvar_struct *ibind,
X                        int ocnt,
X                        struct sqlvar_struct *obind,
X                        int chkind);
Xextern int      _iqstmnt(register _SQSTMT *scb,
X                         char **cmdtxt,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct value *ivalues);
Xextern int      _iqxecute(register _SQCURSOR *cursor,
X                          int icnt,
X                          struct sqlvar_struct *ibind,
X                          struct sqlda *idesc,
X                          struct value *ivalues);
Xextern int      iec_stop(void);
Xextern int      sqlbreak(void);
Xextern int      sqlexit(void);
Xextern int      sqlstart(void);
X
X#else
X
Xextern int      _iqbeginwork();
Xextern int      _iqclose();
Xextern int      _iqcommit();
Xextern int      _iqcopen();
Xextern int      _iqdatabase();
Xextern int      _iqdbclose();
Xextern int      _iqdclcur();
Xextern int      _iqddclcur();
Xextern int      _iqdscribe();
Xextern int      _iqeximm();
Xextern int      _iqflush();
Xextern int      _iqfree();
Xextern int      _iqftch();
Xextern int      _iqinsput();
Xextern int      _iqnftch();
Xextern int      _iqpclose();
Xextern int      _iqpdclcur();
Xextern int      _iqpdelete();
Xextern int      _iqpopen();
Xextern int      _iqpput();
Xextern int      _iqprepare();
Xextern int      _iqpupdate();
Xextern int      _iqrollback();
Xextern int      _iqslct();
Xextern int      _iqstmnt();
Xextern int      _iqxecute();
Xextern int      iec_stop();
Xextern int      sqlbreak();
Xextern int      sqlexit();
Xextern int      sqlstart();
X
X#endif	/* __STDC__ */
X
X#endif	/* ESQL4_10_H */
SHAR-EOF
chmod 444 esql4_10.h
if [ `wc -c <esql4_10.h` -ne 6389 ]
then echo shar: esql4_10.h unpacked with wrong size
fi
# end of overwriting check
fi
#--------------------
if [ -f esql5_00.h -a "$1" != "-c" ]
then echo shar: esql5_00.h already exists
else
echo 'x - esql5_00.h (5196 characters)'
sed -e 's/^X//' >esql5_00.h <<'SHAR-EOF'
X/*
X@(#)File:            esql5_00.h
X@(#)Version:         1.1
X@(#)Last changed:    92/05/09
X@(#)Purpose:         Function prototypes for ESQL/C Version 5.00
X@(#)Author:          J Leffler
X@(#)Copyright:       (C) JLSS 1992
X@(#)Product:         :PRODUCT:
X*/
X
X/*
X**	@(#)Informix ESQL/C Version 5.0 ANSI C Function Prototypes
X**	@(#)***WARNING *** Requires _iqlocate_cursor to be removed from sqlhdr.h
X*/
X
X#ifndef ESQL5_00_H
X#define ESQL5_00_H
X
X#include <sqlhdr.h>
X#include <sqlda.h>
X#include <value.h>
X
X#ifdef MAIN_PROGRAM
X#ifndef lint
Xstatic char esql5_00_h[] = "@(#)esql5_00.h	1.1 92/05/09";
X#endif	/* lint */
X#endif	/* MAIN_PROGRAM */
X
X#ifdef __STDC__
X
Xextern _SQCURSOR *_iqlocate_cursor(register char *name,
X                                   int type,
X                                   int mode,
X                                   short cs_sens);
Xextern int      _iqalloc(char *descname, int occurrence);
Xextern int      _iqbeginwork(void);
Xextern int      _iqcdcl(register _SQCURSOR *cursor,
X                        char *curname,
X                        char **cmdtxt,
X                        struct sqlda *idesc,
X                        struct sqlda *odesc,
X                        int flags);
Xextern int      _iqcddcl(_SQCURSOR *cursor,
X                         char *curname,
X                         _SQCURSOR *stmt,
X                         int flags);
Xextern int      _iqcftch(_SQCURSOR *cursor,
X                         struct sqlda *idesc,
X                         struct sqlda *odesc,
X                         char *odesc_name,
X                         _FetchSpec *fetchspec);
Xextern int      _iqclose(register _SQCURSOR *cursor);
Xextern int      _iqcommit(void);
Xextern int      _iqcopen(_SQCURSOR *cursor,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct sqlda *idesc,
X                         struct value *ivalues,
X                         int useflag);
Xextern int      _iqcput(_SQCURSOR *cursor,
X                        struct sqlda *idesc,
X                        char *desc_name);
Xextern int      _iqcrproc(char *fname);
Xextern int      _iqdbase(char *db_name, int exclusive);
Xextern int      _iqdbclose(void);
Xextern int      _iqdcopen(register _SQCURSOR *cursor,
X                          struct sqlda *idesc,
X                          char *desc_name,
X                          struct value *ivalues,
X                          int useflag);
Xextern int      _iqdealloc(char *desc_name);
Xextern int      _iqdescribe(_SQCURSOR *cursor,
X                            struct sqlda **descp,
X                            char *desc_name);
Xextern int      _iqexecute(register _SQCURSOR *cursor,
X                           struct sqlda *idesc,
X                           char *desc_name,
X                           struct value *ivalues);
Xextern int      _iqeximm(char *stmt);
Xextern int      _iqexproc(register _SQCURSOR *cursor,
X                          char **cmdtxt,
X                          int icnt,
X                          struct sqlvar_struct *ibind,
X                          int ocnt,
X                          struct sqlvar_struct *obind,
X                          int chkind);
Xextern int      _iqflush(register _SQCURSOR *cursor);
Xextern int      _iqfree(register _SQCURSOR *cursor);
Xextern int      _iqgetdesc(char *desc_name,
X                           int sqlvar_num,
X                           struct hostvar_struct *hosttab,
X                           int xopen_flg);
Xextern int      _iqprepare(register _SQCURSOR *cursor, char *stmt);
Xextern int      _iqrollback(void);
Xextern int      _iqsetdesc(char *desc_name,
X                           int sqlvar_num,
X                           struct hostvar_struct *hosttab,
X                           int xopen_flg);
Xextern int      _iqslct(register _SQCURSOR *cursor,
X                        char **cmdtxt,
X                        int icnt,
X                        struct sqlvar_struct *ibind,
X                        int ocnt,
X                        struct sqlvar_struct *obind,
X                        int chkind);
Xextern int      _iqstmnt(register _SQSTMT *scb,
X                         char **cmdtxt,
X                         int icnt,
X                         struct sqlvar_struct *ibind,
X                         struct value *ivalues);
Xextern void     iec_stop(void);
X
X#else
X
Xextern _SQCURSOR *_iqlocate_cursor();
Xextern int      _iqalloc();
Xextern int      _iqbeginwork();
Xextern int      _iqcdcl();
Xextern int      _iqcddcl();
Xextern int      _iqcftch();
Xextern int      _iqclose();
Xextern int      _iqcommit();
Xextern int      _iqcopen();
Xextern int      _iqcput();
Xextern int      _iqcrproc();
Xextern int      _iqdbase();
Xextern int      _iqdbclose();
Xextern int      _iqdcopen();
Xextern int      _iqdealloc();
Xextern int      _iqdescribe();
Xextern int      _iqexecute();
Xextern int      _iqeximm();
Xextern int      _iqexproc();
Xextern int      _iqflush();
Xextern int      _iqfree();
Xextern int      _iqgetdesc();
Xextern int      _iqprepare();
Xextern int      _iqrollback();
Xextern int      _iqsetdesc();
Xextern int      _iqslct();
Xextern int      _iqstmnt();
Xextern void     iec_stop();
X
X#endif	/* __STDC__ */
X
X#endif	/* ESQL5_00_H */
SHAR-EOF
chmod 444 esql5_00.h
if [ `wc -c <esql5_00.h` -ne 5196 ]
then echo shar: esql5_00.h unpacked with wrong size
fi
# end of overwriting check
fi
#--------------------
if [ -f esqlc.h -a "$1" != "-c" ]
then echo shar: esqlc.h already exists
else
echo 'x - esqlc.h (1383 characters)'
sed -e 's/^X//' >esqlc.h <<'SHAR-EOF'
X/*
X@(#)File:            esqlc.h
X@(#)Version:         1.3
X@(#)Last changed:    92/05/18
X@(#)Purpose:         Include all relevant ESQL/C type definitions
X@(#)Author:          J Leffler
X@(#)Copyright:       (C) JLSS 1992
X@(#)Product:         :PRODUCT:
X*/
X
X#ifndef ESQLC_H
X#define ESQLC_H
X
X#ifdef MAIN_PROGRAM
X#ifndef lint
Xstatic char esqlc_h[] = "@(#)esqlc.h	1.3 92/05/18";
X#endif	/* lint */
X#endif	/* MAIN_PROGRAM */
X
X/* -- Include Files	*/
X
X#include <datetime.h>
X#include <decimal.h>
X#include <locator.h>
X#include <varchar.h>
X#include <sqlca.h>
X#include <sqlda.h>
X#include <sqlstype.h>
X#include <sqltypes.h>
X
X#include "esqllib.h"
X
X#ifdef ESQLC_4_00
X#include "esql4_00.h"
X#endif	/* ESQLC_4_00 */
X
X#ifdef ESQLC_4_10
X#include "esql4_10.h"
X#endif	/* ESQLC_4_10 */
X
X#ifdef ESQLC_5_00
X#include "esql5_00.h"
X#endif	/* ESQLC_5_00 */
X
X/* -- Constant Definitions */
X
X/* A table name may be: database@server:"owner".table */
X#define SQL_NAMELEN	18
X#define SQL_USERLEN	8
X#define SQL_TABNAMELEN	(3 * SQL_NAMELEN + SQL_USERLEN + 6)
X
X#define loc_mode	lc_union.lc_file.lc_mode
X#define sqlva		sqlvar_struct
X
X/* -- Type Definitions */
X
Xtypedef loc_t	        Blob;
Xtypedef struct decimal	Decimal;
Xtypedef struct dtime	Datetime;
Xtypedef struct intrvl	Interval;
Xtypedef struct sqlda	Sqlda;
Xtypedef struct sqlva	Sqlva;
X
X/* -- Declarations */
X
Xextern	char	*sql_describe();	/* JLSS */
X
X#endif	/* ESQLC_H */
SHAR-EOF
chmod 444 esqlc.h
if [ `wc -c <esqlc.h` -ne 1383 ]
then echo shar: esqlc.h unpacked with wrong size
fi
# end of overwriting check
fi
#--------------------
if [ -f esqllib.h -a "$1" != "-c" ]
then echo shar: esqllib.h already exists
else
echo 'x - esqllib.h (5182 characters)'
sed -e 's/^X//' >esqllib.h <<'SHAR-EOF'
X/*
X@(#)File:            esqllib.h
X@(#)Version:         1.2
X@(#)Last changed:    92/05/26
X@(#)Purpose:         ESQL/C Library Function Prototypes
X@(#)Author:          J Leffler
X@(#)Copyright:       (C) JLSS 1992
X@(#)Product:         :PRODUCT:
X*/
X
X/*TABSTOP=4*/
X
X#ifndef ESQLLIB_H
X#define ESQLLIB_H
X
X#ifdef MAIN_PROGRAM
X#ifndef lint
Xstatic char     esqllib_h[] = "@(#)esqllib.h	1.2 92/05/26";
X#endif	/* lint */
X#endif	/* MAIN_PROGRAM */
X
X#ifdef __STDC__
X
X/* DATE */
Xextern int      rdayofweek(long jdate);
Xextern int      rdefmtdate(long *jdate, char *fmt, char *inp);
Xextern int      rfmtdate(long jdate, char *fmt, char *res);
Xextern int      rjulmdy(long jdate, short mdy[3]);
Xextern int      rleapyear(int year);
Xextern int      rmdyjul(short mdy[3], long *jdate);
Xextern int      rstrdate(char *str, long *jdate);
Xextern void     rdatestr(long jdate, char *str);
Xextern void     rtoday(long *today);
X
X/* DECIMAL */
Xextern int      decadd(dec_t *op1, dec_t *op2, dec_t *res);
Xextern int      deccmp(dec_t *op1, dec_t *op2);
Xextern int      deccpy(dec_t *op1, dec_t *op2);
Xextern int      deccvasc(char *cp, int len, dec_t *np);
Xextern int      deccvdbl(double i, dec_t *np);
Xextern int      deccvint(int i, dec_t *np);
Xextern int      deccvlong(long i, dec_t *np);
Xextern int      decdiv(dec_t *op1, dec_t *op2, dec_t *res);
Xextern int      dececvt(dec_t *np, int ndigit, int *decpt, int *sign);
Xextern int      decfcvt(dec_t *np, int ndigit, int *decpt, int *sign);
Xextern int      decmul(dec_t *op1, dec_t *op2, dec_t *res);
Xextern int      decround(dec_t *np, int n);
Xextern int      decsub(dec_t *op1, dec_t *op2, dec_t *res);
Xextern int      dectoasc(dec_t *np, char *cp, int len, int right);
Xextern int      dectodbl(dec_t *np, double *ip);
Xextern int      dectoint(dec_t *np, int *ip);
Xextern int      dectolong(dec_t *np, long *ip);
Xextern int      dectrunc(dec_t *np, int n);
X
X/* FORMAT USING */
Xextern int      rfmtdec(dec_t *np, char *fmt, char *outbuf);
Xextern int      rfmtdouble(double np, char *fmt, char *outbuf);
Xextern int      rfmtlong(long np, char *fmt, char *outbuf);
X
X/* DATETIME/INTERVAL */
Xextern int      dtcvasc(char *str, dtime_t *dt);
Xextern int      dtextend(dtime_t *id, dtime_t *od);
Xextern int      dttoasc(dtime_t *dt, char *str);
Xextern int      incvasc(char *str, intrvl_t *dt);
Xextern int      intoasc(intrvl_t *dt, char *str);
Xextern void     dtcurrent(dtime_t *dt);
X
X/* LIBRARY */
Xextern char    *rtypname(int sqltype);
Xextern int      bycmpr(char *b1, char *b2, int len);
Xextern int      rgetmsg(short msgnum, char *msgstr, short msglen);
Xextern int      risnull(int type, char *ptrvar);
Xextern int      rstod(char *str, double *val);
Xextern int      rstoi(char *str, int *val);
Xextern int      rstol(char *str, long *val);
Xextern int      rtypalign(int pos, int type);
Xextern int      rtypmsize(int sqltype, int sqllen);
Xextern int      rtypwidth(int sqltype, int sqllen);
Xextern int      stcmpr(char *s1, char *s2);
Xextern int      stcopy(char *fr, char *to);
Xextern int      stleng(char *s);
Xextern void     bycopy(char *fr, char *to, int len);
Xextern void     byfill(char *to, int len, char ch);
Xextern void     byleng(char *fr, int len);
Xextern void     ldchar(char *fr, int len, char *to);
Xextern void     rdownshift(char *s);
Xextern void     rsetnull(int type, char *ptrvar);
Xextern void     rupshift(char *s);
Xextern void     stcat(char *s, char *dest);
Xextern void     stchar(char *fr, char *to, int cnt);
X
X#else
X
X/* DATE */
Xextern int      rdayofweek();
Xextern int      rdefmtdate();
Xextern int      rfmtdate();
Xextern int      rjulmdy();
Xextern int      rleapyear();
Xextern int      rmdyjul();
Xextern int      rstrdate();
Xextern void     rdatestr();
Xextern void     rtoday();
X
X/* DECIMAL */
Xextern int      decadd();
Xextern int      deccmp();
Xextern int      deccpy();
Xextern int      deccvasc();
Xextern int      deccvdbl();
Xextern int      deccvint();
Xextern int      deccvlong();
Xextern int      decdiv();
Xextern int      dececvt();
Xextern int      decfcvt();
Xextern int      decmul();
Xextern int      decround();
Xextern int      decsub();
Xextern int      dectoasc();
Xextern int      dectodbl();
Xextern int      dectoint();
Xextern int      dectolong();
Xextern int      dectrunc();
X
X/* FORMAT USING */
Xextern int      rfmtdec();
Xextern int      rfmtdouble();
Xextern int      rfmtlong();
X
X/* DATETIME/INTERVAL */
Xextern int      dtcvasc();
Xextern int      dtextend();
Xextern int      dttoasc();
Xextern int      incvasc();
Xextern int      intoasc();
Xextern void     dtcurrent();
X
X/* LIBRARY */
Xextern char    *rtypname();
Xextern int      bycmpr();
Xextern int      rgetmsg();
Xextern int      risnull();
Xextern int      rstod();
Xextern int      rstoi();
Xextern int      rstol();
Xextern int      rtypalign();
Xextern int      rtypmsize();
Xextern int      rtypwidth();
Xextern int      stcmpr();
Xextern int      stcopy();
Xextern int      stleng();
Xextern void     bycopy();
Xextern void     byfill();
Xextern void     byleng();
Xextern void     ldchar();
Xextern void     rdownshift();
Xextern void     rsetnull();
Xextern void     rupshift();
Xextern void     stcat();
Xextern void     stchar();
X
X#endif	/* __STDC__ */
X
X#endif	/* ESQLLIB_H */
SHAR-EOF
chmod 444 esqllib.h
if [ `wc -c <esqllib.h` -ne 5182 ]
then echo shar: esqllib.h unpacked with wrong size
fi
# end of overwriting check
fi
echo All files extracted
exit 0