/* * Client-visible declarations for ecpglib * * src/interfaces/ecpg/include/ecpglib.h */ #ifndef _ECPGLIB_H #define _ECPGLIB_H #include #include "ecpg_config.h" #include "ecpgtype.h" #include "libpq-fe.h" #include "sqlca.h" /* * This is a small extract from c.h since we don't want to leak all postgres * definitions into ecpg programs; but we need to know what bool is. */ #ifndef __cplusplus #ifdef PG_USE_STDBOOL #include #else /* * We assume bool has been defined if true and false are. This avoids * duplicate-typedef errors if this file is included after c.h. */ #if !(defined(true) && defined(false)) typedef unsigned char bool; #endif #ifndef true #define true ((bool) 1) #endif #ifndef false #define false ((bool) 0) #endif #endif /* not PG_USE_STDBOOL */ #endif /* not C++ */ #ifdef __cplusplus extern "C" { #endif void ECPGdebug(int, FILE *); bool ECPGstatus(int, const char *); bool ECPGsetcommit(int, const char *, const char *); bool ECPGsetconn(int, const char *); bool ECPGconnect(int, int, const char *, const char *, const char *, const char *, int); bool ECPGdo(const int, const int, const int, const char *, const bool, const int, const char *,...); bool ECPGtrans(int, const char *, const char *); bool ECPGdisconnect(int, const char *); bool ECPGprepare(int, const char *, const bool, const char *, const char *); bool ECPGdeallocate(int, int, const char *, const char *); bool ECPGdeallocate_all(int, int, const char *); char *ECPGprepared_statement(const char *, const char *, int); PGconn *ECPGget_PGconn(const char *); PGTransactionStatusType ECPGtransactionStatus(const char *); /* print an error message */ void sqlprint(void); /* define this for simplicity as well as compatibility */ #define SQLCODE sqlca.sqlcode #define SQLSTATE sqlca.sqlstate /* dynamic SQL */ bool ECPGdo_descriptor(int, const char *, const char *, const char *); bool ECPGdeallocate_desc(int, const char *); bool ECPGallocate_desc(int, const char *); bool ECPGget_desc_header(int, const char *, int *); bool ECPGget_desc(int, const char *, int,...); bool ECPGset_desc_header(int, const char *, int); bool ECPGset_desc(int, const char *, int,...); void ECPGset_noind_null(enum ECPGttype, void *); bool ECPGis_noind_null(enum ECPGttype, const void *); bool ECPGdescribe(int, int, bool, const char *, const char *,...); void ECPGset_var(int, void *, int); void *ECPGget_var(int number); /* dynamic result allocation */ void ECPGfree_auto_mem(void); #ifdef ENABLE_THREAD_SAFETY void ecpg_pthreads_init(void); #endif #ifdef __cplusplus } #endif #endif /* _ECPGLIB_H */