home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: InfoMgt
/
InfoMgt.zip
/
dbadm101.zip
/
msql.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-01-06
|
5KB
|
187 lines
/*
** msql.h -
**
**
** Copyright (c) 1993-95 David J. Hughes
** Copyright (c) 1995 Hughes Technologies Pty Ltd
**
** Permission to use, copy, and distribute for non-commercial purposes,
** is hereby granted without fee, providing that the above copyright
** notice appear in all copies and that both the copyright notice and this
** permission notice appear in supporting documentation.
**
** This software is provided "as is" without any expressed or implied warranty.
**
** ID = "$Id:"
**
*/
#ifndef MSQL_H
#define MSQL_H
#pragma library( "msql")
#ifndef APIENTRY
# if defined(_OS_OS2)
# ifdef BCPP
# define _System _syscall
# define _Optlink
# endif
# ifdef __EMX__
# define _System
# endif
# define APIENTRY _System
# endif /* _OS_OS2 */
# if defined(_OS_WIN32)
# define APIENTRY __stdcall
# endif /* _OS_WIN32 */
# if defined(_OS_UNIX)
# define APIENTRY
# endif
#endif
#if defined(__STDC__) || defined(__cplusplus)
# define __ANSI_PROTO(x) x
#else
# define __ANSI_PROTO(x) ()
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef char ** m_row;
typedef struct field_s {
char *name,
*table;
int type,
length,
flags;
} m_field;
typedef struct m_seq_s {
int step,
value;
} m_seq;
typedef struct m_data_s {
int width;
m_row data;
struct m_data_s *next;
} m_data;
typedef struct m_fdata_s {
m_field field;
struct m_fdata_s *next;
} m_fdata;
typedef struct result_s {
m_data *queryData,
*cursor;
m_fdata *fieldData,
*fieldCursor;
int numRows,
numFields;
} m_result;
#define msqlNumRows(res) res->numRows
#define msqlNumFields(res) res->numFields
#define INT_TYPE 1
#define CHAR_TYPE 2
#define REAL_TYPE 3
#define IDENT_TYPE 4
#define NULL_TYPE 5
#define TEXT_TYPE 6
#define DATE_TYPE 7
#define UINT_TYPE 8
#define MONEY_TYPE 9
#define TIME_TYPE 10
#define LAST_REAL_TYPE 10
#define IDX_TYPE 253
#define SYSVAR_TYPE 254
#define ANY_TYPE 255
#define NOT_NULL_FLAG 1
#define UNIQUE_FLAG 2
#define IS_UNIQUE(n) (n & UNIQUE_FLAG)
#define IS_NOT_NULL(n) (n & NOT_NULL_FLAG)
static char msqlTypeNames[][12] =
{"???", "int", "char","real","ident","null","text","date","uint",
"money","time","???"};
/*
** Pre-declarations for the API library functions
*/
int msqlLoadConfigFile __ANSI_PROTO((char *));
#ifndef _MSQL_SERVER_SOURCE
# if defined(_OS_OS2) || defined(_OS_WIN32) || defined(__EMX__)
# define msqlErrMsg msqlGetErrMsg(NULL)
# else
extern char msqlErrMsg[];
# endif
#if defined(_OS_OS2) || defined(_OS_WIN32)
char * APIENTRY msqlGetErrMsg __ANSI_PROTO((char *));
int APIENTRY msqlUserConnect __ANSI_PROTO((char *, char *));
#endif
int APIENTRY msqlConnect __ANSI_PROTO((char *));
int APIENTRY msqlSelectDB __ANSI_PROTO((int, char*));
int APIENTRY msqlQuery __ANSI_PROTO((int, char*));
int APIENTRY msqlCreateDB __ANSI_PROTO((int, char*));
int APIENTRY msqlDropDB __ANSI_PROTO((int, char*));
int APIENTRY msqlShutdown __ANSI_PROTO((int));
int APIENTRY msqlGetProtoInfo __ANSI_PROTO((void));
int APIENTRY msqlReloadAcls __ANSI_PROTO((int));
int APIENTRY msqlGetServerStats __ANSI_PROTO((int));
int APIENTRY msqlCopyDB __ANSI_PROTO((int, char*, char*));
int APIENTRY msqlMoveDB __ANSI_PROTO((int, char*, char*));
char * APIENTRY msqlGetServerInfo __ANSI_PROTO((void));
char * APIENTRY msqlGetHostInfo __ANSI_PROTO((void));
char * APIENTRY msqlUnixTimeToDate __ANSI_PROTO((time_t));
char * APIENTRY msqlUnixTimeToTime __ANSI_PROTO((time_t));
void APIENTRY msqlClose __ANSI_PROTO((int));
void APIENTRY msqlDataSeek __ANSI_PROTO((m_result*, int));
void APIENTRY msqlFieldSeek __ANSI_PROTO((m_result*, int));
void APIENTRY msqlFreeResult __ANSI_PROTO((m_result*));
m_row APIENTRY msqlFetchRow __ANSI_PROTO((m_result*));
m_seq * APIENTRY msqlGetSequenceInfo __ANSI_PROTO((int, char*));
m_field * APIENTRY msqlFetchField __ANSI_PROTO((m_result *));
m_result * APIENTRY msqlListDBs __ANSI_PROTO((int));
m_result * APIENTRY msqlListTables __ANSI_PROTO((int));
m_result * APIENTRY msqlListFields __ANSI_PROTO((int, char*));
m_result * APIENTRY msqlListIndex __ANSI_PROTO((int, char*, char*));
m_result * APIENTRY msqlStoreResult __ANSI_PROTO((void));
time_t APIENTRY msqlDateToUnixTime __ANSI_PROTO((char *));
time_t APIENTRY msqlTimeToUnixTime __ANSI_PROTO((char *));
#endif
#if defined(_MSQL_SERVER_SOURCE) || defined(_MSQL_SERVER_PROTO)
/*
** These functions are not part of the mSQL API. Any use
** of these functions is discouraged as the interface may
** change in future releases
*/
int APIENTRY msqlGetIntConf __ANSI_PROTO((char *, char *));
char * APIENTRY msqlGetCharConf __ANSI_PROTO((char *, char*));
#endif
#ifdef __cplusplus
}
#endif
#endif /*MSQL_H*/