windows-nt/Source/XPSP1/NT/inetsrv/msmq/tools/dblib/include/sqldb.h
2020-09-26 16:20:57 +08:00

256 lines
13 KiB
C

#ifndef _INC_SQLDB
#define _INC_SQLDB
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************
* *
* SQLDB.H - DB-Library header file for the Microsoft SQL Server. *
* *
* Copyright (c) 1989 - 1995 by Microsoft Corp. All rights reserved. *
* *
*****************************************************************************/
// Macros for setting the PLOGINREC
#define DBSETLHOST(a,b) dbsetlname ((a), (b), DBSETHOST)
#define DBSETLUSER(a,b) dbsetlname ((a), (b), DBSETUSER)
#define DBSETLPWD(a,b) dbsetlname ((a), (b), DBSETPWD)
#define DBSETLAPP(a,b) dbsetlname ((a), (b), DBSETAPP)
#define BCP_SETL(a,b) bcp_setl ((a), (b))
#define DBSETLNATLANG(a,b) dbsetlname ((a), (b), DBSETLANG)
#define DBSETLPACKET(a,b) dbsetlpacket ((a), (b))
#define DBSETLSECURE(a) dbsetlname ((a), 0, DBSETSECURE)
#define DBSETLVERSION(a,b) dbsetlname ((a), 0, (b))
#define DBSETLTIME(a,b) dbsetlname ((a), (LPCSTR)(ULONG)(b), DBSETLOGINTIME)
#define DBSETLFALLBACK(a,b) dbsetlname ((a), (b), DBSETFALLBACK)
/*****************************************************************************
* Windows 3.x and Non-Windows 3.x differences. *
*****************************************************************************/
#ifdef DBMSWIN
extern void SQLAPI dbwinexit(void);
void SQLAPI dblocklib (void);
void SQLAPI dbunlocklib (void);
#define DBLOCKLIB() dblocklib()
#define DBUNLOCKLIB() dbunlocklib()
#define DBERRHANDLE_PROC FARPROC
#define DBMSGHANDLE_PROC FARPROC
extern DBERRHANDLE_PROC dberrhandle (DBERRHANDLE_PROC);
extern DBMSGHANDLE_PROC dbmsghandle (DBMSGHANDLE_PROC);
#else
#define dbwinexit()
#define DBLOCKLIB()
#define DBUNLOCKLIB()
typedef INT (SQLAPI *DBERRHANDLE_PROC)(PDBPROCESS, INT, INT, INT, LPCSTR, LPCSTR);
typedef INT (SQLAPI *DBMSGHANDLE_PROC)(PDBPROCESS, DBINT, INT, INT, LPCSTR, LPCSTR, LPCSTR, DBUSMALLINT);
extern DBERRHANDLE_PROC SQLAPI dberrhandle(DBERRHANDLE_PROC);
extern DBMSGHANDLE_PROC SQLAPI dbmsghandle(DBMSGHANDLE_PROC);
extern DBERRHANDLE_PROC SQLAPI dbprocerrhandle(PDBHANDLE, DBERRHANDLE_PROC);
extern DBMSGHANDLE_PROC SQLAPI dbprocmsghandle(PDBHANDLE, DBMSGHANDLE_PROC);
#endif
/*****************************************************************************
* Function Prototypes *
*****************************************************************************/
// Functions macros
#define DBCMDROW(a) dbcmdrow(a)
#define DBCOUNT(a) dbcount (a)
#define DBCURCMD(a) dbcurcmd(a)
#define DBCURROW(a) dbcurrow(a)
#define DBDEAD(a) dbdead(a)
#define DBFIRSTROW(a) dbfirstrow(a)
#define DBGETTIME() dbgettime()
#define DBISAVAIL(a) dbisavail(a)
#define DBLASTROW(a) dblastrow(a)
#define DBMORECMDS(a) dbmorecmds(a)
#define DBNUMORDERS(a) dbnumorders(a)
#define dbrbuf(a) ((DBINT)dbdataready(a))
#define DBRBUF(a) ((DBINT)dbdataready(a))
#define DBROWS(a) dbrows (a)
#define DBROWTYPE(a) dbrowtype (a)
// Two-phase commit functions
extern RETCODE SQLAPI abort_xact (PDBPROCESS, DBINT);
extern void SQLAPI build_xact_string (LPCSTR, LPCSTR, DBINT, LPSTR);
extern void SQLAPI close_commit (PDBPROCESS);
extern RETCODE SQLAPI commit_xact (PDBPROCESS, DBINT);
extern PDBPROCESS SQLAPI open_commit (PLOGINREC, LPCSTR);
extern RETCODE SQLAPI remove_xact (PDBPROCESS, DBINT, INT);
extern RETCODE SQLAPI scan_xact (PDBPROCESS, DBINT);
extern DBINT SQLAPI start_xact (PDBPROCESS, LPCSTR, LPCSTR, INT);
extern INT SQLAPI stat_xact (PDBPROCESS, DBINT);
// BCP functions
extern DBINT SQLAPI bcp_batch (PDBPROCESS);
extern RETCODE SQLAPI bcp_bind (PDBPROCESS, LPCBYTE, INT, DBINT, LPCBYTE, INT, INT, INT);
extern RETCODE SQLAPI bcp_colfmt (PDBPROCESS, INT, BYTE, INT, DBINT, LPCBYTE, INT, INT);
extern RETCODE SQLAPI bcp_collen (PDBPROCESS, DBINT, INT);
extern RETCODE SQLAPI bcp_colptr (PDBPROCESS, LPCBYTE, INT);
extern RETCODE SQLAPI bcp_columns (PDBPROCESS, INT);
extern RETCODE SQLAPI bcp_control (PDBPROCESS, INT, DBINT);
extern DBINT SQLAPI bcp_done (PDBPROCESS);
extern RETCODE SQLAPI bcp_exec (PDBPROCESS, LPDBINT);
extern RETCODE SQLAPI bcp_init (PDBPROCESS, LPCSTR, LPCSTR, LPCSTR, INT);
extern RETCODE SQLAPI bcp_moretext (PDBPROCESS, DBINT, LPCBYTE);
extern RETCODE SQLAPI bcp_readfmt (PDBPROCESS, LPCSTR);
extern RETCODE SQLAPI bcp_sendrow (PDBPROCESS);
extern RETCODE SQLAPI bcp_setl (PLOGINREC, BOOL);
extern RETCODE SQLAPI bcp_writefmt (PDBPROCESS, LPCSTR);
// Standard DB-Library functions
extern LPCBYTE SQLAPI dbadata (PDBPROCESS, INT, INT);
extern DBINT SQLAPI dbadlen (PDBPROCESS, INT, INT);
extern RETCODE SQLAPI dbaltbind (PDBPROCESS, INT, INT, INT, DBINT, LPCBYTE);
extern INT SQLAPI dbaltcolid (PDBPROCESS, INT, INT);
extern DBINT SQLAPI dbaltlen (PDBPROCESS, INT, INT);
extern INT SQLAPI dbaltop (PDBPROCESS, INT, INT);
extern INT SQLAPI dbalttype (PDBPROCESS, INT, INT);
extern DBINT SQLAPI dbaltutype (PDBPROCESS, INT, INT);
extern RETCODE SQLAPI dbanullbind (PDBPROCESS, INT, INT, LPCDBINT);
extern RETCODE SQLAPI dbbind (PDBPROCESS, INT, INT, DBINT, LPBYTE);
extern LPCBYTE SQLAPI dbbylist (PDBPROCESS, INT, LPINT);
extern RETCODE SQLAPI dbcancel (PDBPROCESS);
extern RETCODE SQLAPI dbcanquery (PDBPROCESS);
extern LPCSTR SQLAPI dbchange (PDBPROCESS);
extern RETCODE SQLAPI dbclose (PDBPROCESS);
extern void SQLAPI dbclrbuf (PDBPROCESS, DBINT);
extern RETCODE SQLAPI dbclropt (PDBPROCESS, INT, LPCSTR);
extern RETCODE SQLAPI dbcmd (PDBPROCESS, LPCSTR);
extern RETCODE SQLAPI dbcmdrow (PDBPROCESS);
extern BOOL SQLAPI dbcolbrowse (PDBPROCESS, INT);
extern RETCODE SQLAPI dbcolinfo (PDBHANDLE, INT, INT, INT, LPDBCOL);
extern DBINT SQLAPI dbcollen (PDBPROCESS, INT);
extern LPCSTR SQLAPI dbcolname (PDBPROCESS, INT);
extern LPCSTR SQLAPI dbcolsource (PDBPROCESS, INT);
extern INT SQLAPI dbcoltype (PDBPROCESS, INT);
extern DBINT SQLAPI dbcolutype (PDBPROCESS, INT);
extern INT SQLAPI dbconvert (PDBPROCESS, INT, LPCBYTE, DBINT, INT, LPBYTE, DBINT);
extern DBINT SQLAPI dbcount (PDBPROCESS);
extern INT SQLAPI dbcurcmd (PDBPROCESS);
extern DBINT SQLAPI dbcurrow (PDBPROCESS);
extern RETCODE SQLAPI dbcursor (PDBCURSOR, INT, INT, LPCSTR, LPCSTR);
extern RETCODE SQLAPI dbcursorbind (PDBCURSOR, INT, INT, DBINT, LPDBINT, LPBYTE);
extern RETCODE SQLAPI dbcursorclose (PDBHANDLE);
extern RETCODE SQLAPI dbcursorcolinfo (PDBCURSOR, INT, LPSTR, LPINT, LPDBINT, LPINT);
extern RETCODE SQLAPI dbcursorfetch (PDBCURSOR, INT, INT);
extern RETCODE SQLAPI dbcursorfetchex (PDBCURSOR, INT, DBINT, DBINT, DBINT);
extern RETCODE SQLAPI dbcursorinfo (PDBCURSOR, LPINT, LPDBINT);
extern RETCODE SQLAPI dbcursorinfoex (PDBCURSOR, LPDBCURSORINFO);
extern PDBCURSOR SQLAPI dbcursoropen (PDBPROCESS, LPCSTR, INT, INT,UINT, LPDBINT);
extern LPCBYTE SQLAPI dbdata (PDBPROCESS, INT);
extern BOOL SQLAPI dbdataready (PDBPROCESS);
extern RETCODE SQLAPI dbdatecrack (PDBPROCESS, LPDBDATEREC, LPCDBDATETIME);
extern DBINT SQLAPI dbdatlen (PDBPROCESS, INT);
extern BOOL SQLAPI dbdead (PDBPROCESS);
extern void SQLAPI dbexit (void);
extern RETCODE SQLAPI dbenlisttrans(PDBPROCESS, LPVOID);
extern RETCODE SQLAPI dbenlistxatrans(PDBPROCESS, BOOL);
extern RETCODE SQLAPI dbfcmd (PDBPROCESS, LPCSTR, ...);
extern DBINT SQLAPI dbfirstrow (PDBPROCESS);
extern void SQLAPI dbfreebuf (PDBPROCESS);
extern void SQLAPI dbfreelogin (PLOGINREC);
extern void SQLAPI dbfreequal (LPCSTR);
extern LPSTR SQLAPI dbgetchar (PDBPROCESS, INT);
extern SHORT SQLAPI dbgetmaxprocs (void);
extern INT SQLAPI dbgetoff (PDBPROCESS, DBUSMALLINT, INT);
extern UINT SQLAPI dbgetpacket (PDBPROCESS);
extern STATUS SQLAPI dbgetrow (PDBPROCESS, DBINT);
extern INT SQLAPI dbgettime (void);
extern LPVOID SQLAPI dbgetuserdata (PDBPROCESS);
extern BOOL SQLAPI dbhasretstat (PDBPROCESS);
extern LPCSTR SQLAPI dbinit (void);
extern BOOL SQLAPI dbisavail (PDBPROCESS);
extern BOOL SQLAPI dbiscount (PDBPROCESS);
extern BOOL SQLAPI dbisopt (PDBPROCESS, INT, LPCSTR);
extern DBINT SQLAPI dblastrow (PDBPROCESS);
extern PLOGINREC SQLAPI dblogin (void);
extern RETCODE SQLAPI dbmorecmds (PDBPROCESS);
extern RETCODE SQLAPI dbmoretext (PDBPROCESS, DBINT, LPCBYTE);
extern LPCSTR SQLAPI dbname (PDBPROCESS);
extern STATUS SQLAPI dbnextrow (PDBPROCESS);
extern RETCODE SQLAPI dbnullbind (PDBPROCESS, INT, LPCDBINT);
extern INT SQLAPI dbnumalts (PDBPROCESS, INT);
extern INT SQLAPI dbnumcols (PDBPROCESS);
extern INT SQLAPI dbnumcompute (PDBPROCESS);
extern INT SQLAPI dbnumorders (PDBPROCESS);
extern INT SQLAPI dbnumrets (PDBPROCESS);
extern PDBPROCESS SQLAPI dbopen (PLOGINREC, LPCSTR);
extern INT SQLAPI dbordercol (PDBPROCESS, INT);
extern RETCODE SQLAPI dbprocinfo (PDBPROCESS, LPDBPROCINFO);
extern void SQLAPI dbprhead (PDBPROCESS);
extern RETCODE SQLAPI dbprrow (PDBPROCESS);
extern LPCSTR SQLAPI dbprtype (INT);
extern LPCSTR SQLAPI dbqual (PDBPROCESS, INT, LPCSTR);
extern DBINT SQLAPI dbreadpage (PDBPROCESS, LPCSTR, DBINT, LPBYTE);
extern DBINT SQLAPI dbreadtext (PDBPROCESS, LPVOID, DBINT);
extern RETCODE SQLAPI dbresults (PDBPROCESS);
extern LPCBYTE SQLAPI dbretdata (PDBPROCESS, INT);
extern DBINT SQLAPI dbretlen (PDBPROCESS, INT);
extern LPCSTR SQLAPI dbretname (PDBPROCESS, INT);
extern DBINT SQLAPI dbretstatus (PDBPROCESS);
extern INT SQLAPI dbrettype (PDBPROCESS, INT);
extern RETCODE SQLAPI dbrows (PDBPROCESS);
extern STATUS SQLAPI dbrowtype (PDBPROCESS);
extern RETCODE SQLAPI dbrpcinit (PDBPROCESS, LPCSTR, DBSMALLINT);
extern RETCODE SQLAPI dbrpcparam (PDBPROCESS, LPCSTR, BYTE, INT, DBINT, DBINT, LPCBYTE);
extern RETCODE SQLAPI dbrpcsend (PDBPROCESS);
extern RETCODE SQLAPI dbrpcexec (PDBPROCESS);
extern void SQLAPI dbrpwclr (PLOGINREC);
extern RETCODE SQLAPI dbrpwset (PLOGINREC, LPCSTR, LPCSTR, INT);
extern INT SQLAPI dbserverenum (USHORT, LPSTR, USHORT, LPUSHORT);
extern void SQLAPI dbsetavail (PDBPROCESS);
extern RETCODE SQLAPI dbsetmaxprocs (SHORT);
extern RETCODE SQLAPI dbsetlname (PLOGINREC, LPCSTR, INT);
extern RETCODE SQLAPI dbsetlogintime (INT);
extern RETCODE SQLAPI dbsetlpacket (PLOGINREC, USHORT);
extern RETCODE SQLAPI dbsetnull (PDBPROCESS, INT, INT, LPCBYTE);
extern RETCODE SQLAPI dbsetopt (PDBPROCESS, INT, LPCSTR);
extern RETCODE SQLAPI dbsettime (INT);
extern void SQLAPI dbsetuserdata (PDBPROCESS, LPVOID);
extern RETCODE SQLAPI dbsqlexec (PDBPROCESS);
extern RETCODE SQLAPI dbsqlok (PDBPROCESS);
extern RETCODE SQLAPI dbsqlsend (PDBPROCESS);
extern RETCODE SQLAPI dbstrcpy (PDBPROCESS, INT, INT, LPSTR);
extern INT SQLAPI dbstrlen (PDBPROCESS);
extern BOOL SQLAPI dbtabbrowse (PDBPROCESS, INT);
extern INT SQLAPI dbtabcount (PDBPROCESS);
extern LPCSTR SQLAPI dbtabname (PDBPROCESS, INT);
extern LPCSTR SQLAPI dbtabsource (PDBPROCESS, INT, LPINT);
extern INT SQLAPI dbtsnewlen (PDBPROCESS);
extern LPCDBBINARY SQLAPI dbtsnewval (PDBPROCESS);
extern RETCODE SQLAPI dbtsput (PDBPROCESS, LPCDBBINARY, INT, INT, LPCSTR);
extern LPCDBBINARY SQLAPI dbtxptr (PDBPROCESS, INT);
extern LPCDBBINARY SQLAPI dbtxtimestamp (PDBPROCESS, INT);
extern LPCDBBINARY SQLAPI dbtxtsnewval (PDBPROCESS);
extern RETCODE SQLAPI dbtxtsput (PDBPROCESS, LPCDBBINARY, INT);
extern RETCODE SQLAPI dbuse (PDBPROCESS, LPCSTR);
extern BOOL SQLAPI dbvarylen (PDBPROCESS, INT);
extern BOOL SQLAPI dbwillconvert (INT, INT);
extern RETCODE SQLAPI dbwritepage (PDBPROCESS, LPCSTR, DBINT, DBINT, LPBYTE);
extern RETCODE SQLAPI dbwritetext (PDBPROCESS, LPCSTR, LPCDBBINARY, DBTINYINT, LPCDBBINARY, BOOL, DBINT, LPCBYTE);
extern RETCODE SQLAPI dbupdatetext(PDBPROCESS, LPCSTR, LPCDBBINARY, LPCDBBINARY, INT, DBINT, DBINT, LPCSTR, DBINT, LPCDBBINARY);
#ifdef __cplusplus
}
#endif
#endif // _INC_SQLDB