ecpg_informix.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * This file contains stuff needed to be as compatible to Informix as possible.
  3. * src/interfaces/ecpg/include/ecpg_informix.h
  4. */
  5. #ifndef _ECPG_INFORMIX_H
  6. #define _ECPG_INFORMIX_H
  7. #include <ecpglib.h>
  8. #include <pgtypes_date.h>
  9. #include <pgtypes_interval.h>
  10. #include <pgtypes_numeric.h>
  11. #include <pgtypes_timestamp.h>
  12. #define SQLNOTFOUND 100
  13. #define ECPG_INFORMIX_NUM_OVERFLOW -1200
  14. #define ECPG_INFORMIX_NUM_UNDERFLOW -1201
  15. #define ECPG_INFORMIX_DIVIDE_ZERO -1202
  16. #define ECPG_INFORMIX_BAD_YEAR -1204
  17. #define ECPG_INFORMIX_BAD_MONTH -1205
  18. #define ECPG_INFORMIX_BAD_DAY -1206
  19. #define ECPG_INFORMIX_ENOSHORTDATE -1209
  20. #define ECPG_INFORMIX_DATE_CONVERT -1210
  21. #define ECPG_INFORMIX_OUT_OF_MEMORY -1211
  22. #define ECPG_INFORMIX_ENOTDMY -1212
  23. #define ECPG_INFORMIX_BAD_NUMERIC -1213
  24. #define ECPG_INFORMIX_BAD_EXPONENT -1216
  25. #define ECPG_INFORMIX_BAD_DATE -1218
  26. #define ECPG_INFORMIX_EXTRA_CHARS -1264
  27. #ifdef __cplusplus
  28. extern "C"
  29. {
  30. #endif
  31. extern int rdatestr(date, char *);
  32. extern void rtoday(date *);
  33. extern int rjulmdy(date, short *);
  34. extern int rdefmtdate(date *, char *, char *);
  35. extern int rfmtdate(date, char *, char *);
  36. extern int rmdyjul(short *, date *);
  37. extern int rstrdate(char *, date *);
  38. extern int rdayofweek(date);
  39. extern int rfmtlong(long, char *, char *);
  40. extern int rgetmsg(int, char *, int);
  41. extern int risnull(int, char *);
  42. extern int rsetnull(int, char *);
  43. extern int rtypalign(int, int);
  44. extern int rtypmsize(int, int);
  45. extern int rtypwidth(int, int);
  46. extern void rupshift(char *);
  47. extern int byleng(char *, int);
  48. extern void ldchar(char *, int, char *);
  49. extern void ECPG_informix_set_var(int, void *, int);
  50. extern void *ECPG_informix_get_var(int);
  51. extern void ECPG_informix_reset_sqlca(void);
  52. /* Informix defines these in decimal.h */
  53. int decadd(decimal *, decimal *, decimal *);
  54. int deccmp(decimal *, decimal *);
  55. void deccopy(decimal *, decimal *);
  56. int deccvasc(char *, int, decimal *);
  57. int deccvdbl(double, decimal *);
  58. int deccvint(int, decimal *);
  59. int deccvlong(long, decimal *);
  60. int decdiv(decimal *, decimal *, decimal *);
  61. int decmul(decimal *, decimal *, decimal *);
  62. int decsub(decimal *, decimal *, decimal *);
  63. int dectoasc(decimal *, char *, int, int);
  64. int dectodbl(decimal *, double *);
  65. int dectoint(decimal *, int *);
  66. int dectolong(decimal *, long *);
  67. /* Informix defines these in datetime.h */
  68. extern void dtcurrent(timestamp *);
  69. extern int dtcvasc(char *, timestamp *);
  70. extern int dtsub(timestamp *, timestamp *, interval *);
  71. extern int dttoasc(timestamp *, char *);
  72. extern int dttofmtasc(timestamp *, char *, int, char *);
  73. extern int intoasc(interval *, char *);
  74. extern int dtcvfmtasc(char *, char *, timestamp *);
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78. #endif /* ndef _ECPG_INFORMIX_H */