home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: Msql.h 5.0 (16.09.98)
- **
- ** definition of Msql
- **
- ** (C) Copyright 1998 Christophe Sollet
- ** All Rights Reserved.
- */
-
- #ifndef MSQL_MSQL_H
- #define MSQL_MSQL_H
-
- #ifndef EXEC_LIBRARIES
- #include <exec/libraries.h>
- #endif /* EXEC_LIBRARIES_H */
-
- extern struct MsqlConnection;
-
- struct HookMessage
- {
- UBYTE id; /* witch function was called */
- UBYTE type; /* Enter the function or exit it?*/
- struct Task *task; /* The calling task */
-
- APTR a0; /* Register Contents at the function call or return */
- APTR a1;
- APTR a2;
-
- ULONG d0;
- ULONG d1;
- ULONG d2;
- };
-
- #define FCH_ENTER 0
- #define FCH_EXIT 1
-
- /* Hook Function id */
- #define MFT_AllocConnection 1
- #define MFT_FreeConnection 2
- #define MFT_GetErrMsg 3
- #define MFT_Connect 4
- #define MFT_SelectDB 5
- #define MFT_Query 6
- #define MFT_CreateDB 7
- #define MFT_DropDB 8
- #define MFT_Shutdown 9
- #define MFT_GetProtoInfo 10
- #define MFT_ReloadAcls 11
- #define MFT_GetServerInfo 12
- #define MFT_GetHostInfo 13
- #define MFT_Close 14
- #define MFT_DataSeek 15
- #define MFT_FieldSeek 16
- #define MFT_FreeResult 17
- #define MFT_FetchRow 18
- #define MFT_FetchField 19
- #define MFT_ListDBs 20
- #define MFT_ListTables 21
- #define MFT_ListFields 22
- #define MFT_ListIndex 23
- #define MFT_StoreResult 24
- #define MFT_LoadConfigFile 25
- #define MFT_GetIntConfOld 26
- #define MFT_GetCharConfOld 27
- #define MFT_GetIntConf 28
- #define MFT_GetCharConf 29
- #define MFT_GetServerStats 30
- #define MFT_CopyDB 31
- #define MFT_MoveDB 32
- #define MFT_UnixTimeToDate 33
- #define MFT_UnixTimeToTime 34
- #define MFT_GetSequenceInfo 35
- #define MFT_DateToUnixTime 36
- #define MFT_TimeToUnixTime 37
- #define MFT_SumTimes 38
- #define MFT_DateOffset 39
- #define MFT_DiffTimes 40
- #define MFT_DiffDates 41
-
- /* The end of this files comes from the original "msql.h" which is ©1998 David J. Hughes. */
-
- 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","???"};
-
- #endif /* MSQL_MSQL_H */
-