/* * This file contains stuff needed to be as compatible to Informix as possible. * src/interfaces/ecpg/include/ecpg_informix.h */ #ifndef _ECPG_INFORMIX_H #define _ECPG_INFORMIX_H #include #include #include #include #include #define SQLNOTFOUND 100 #define ECPG_INFORMIX_NUM_OVERFLOW -1200 #define ECPG_INFORMIX_NUM_UNDERFLOW -1201 #define ECPG_INFORMIX_DIVIDE_ZERO -1202 #define ECPG_INFORMIX_BAD_YEAR -1204 #define ECPG_INFORMIX_BAD_MONTH -1205 #define ECPG_INFORMIX_BAD_DAY -1206 #define ECPG_INFORMIX_ENOSHORTDATE -1209 #define ECPG_INFORMIX_DATE_CONVERT -1210 #define ECPG_INFORMIX_OUT_OF_MEMORY -1211 #define ECPG_INFORMIX_ENOTDMY -1212 #define ECPG_INFORMIX_BAD_NUMERIC -1213 #define ECPG_INFORMIX_BAD_EXPONENT -1216 #define ECPG_INFORMIX_BAD_DATE -1218 #define ECPG_INFORMIX_EXTRA_CHARS -1264 #ifdef __cplusplus extern "C" { #endif extern int rdatestr(date, char*); extern void rtoday(date*); extern int rjulmdy(date, short*); extern int rdefmtdate(date*, char*, char*); extern int rfmtdate(date, char*, char*); extern int rmdyjul(short*, date*); extern int rstrdate(char*, date*); extern int rdayofweek(date); extern int rfmtlong(long, char*, char*); extern int rgetmsg(int, char*, int); extern int risnull(int, char*); extern int rsetnull(int, char*); extern int rtypalign(int, int); extern int rtypmsize(int, int); extern int rtypwidth(int, int); extern void rupshift(char*); extern int byleng(char*, int); extern void ldchar(char*, int, char*); extern void ECPG_informix_set_var(int, void*, int); extern void* ECPG_informix_get_var(int); extern void ECPG_informix_reset_sqlca(void); /* Informix defines these in decimal.h */ int decadd(decimal*, decimal*, decimal*); int deccmp(decimal*, decimal*); void deccopy(decimal*, decimal*); int deccvasc(char*, int, decimal*); int deccvdbl(double, decimal*); int deccvint(int, decimal*); int deccvlong(long, decimal*); int decdiv(decimal*, decimal*, decimal*); int decmul(decimal*, decimal*, decimal*); int decsub(decimal*, decimal*, decimal*); int dectoasc(decimal*, char*, int, int); int dectodbl(decimal*, double*); int dectoint(decimal*, int*); int dectolong(decimal*, long*); /* Informix defines these in datetime.h */ extern void dtcurrent(timestamp*); extern int dtcvasc(char*, timestamp*); extern int dtsub(timestamp*, timestamp*, interval*); extern int dttoasc(timestamp*, char*); extern int dttofmtasc(timestamp*, char*, int, char*); extern int intoasc(interval*, char*); extern int dtcvfmtasc(char*, char*, timestamp*); #ifdef __cplusplus } #endif #endif /* ndef _ECPG_INFORMIX_H */