libdrizzle Developer Documentation

libdrizzle/drizzle.h
Go to the documentation of this file.
00001 /*
00002  * Drizzle Client & Protocol Library
00003  *
00004  * Copyright (C) 2008 Eric Day (eday@oddments.org)
00005  * All rights reserved.
00006  *
00007  * Use and distribution licensed under the BSD license.  See
00008  * the COPYING file in this directory for full text.
00009  */
00010 
00016 #ifndef __DRIZZLE_H
00017 #define __DRIZZLE_H
00018 
00019 #if !defined(__cplusplus) && !defined(_WIN32)
00020 # include <stdbool.h>
00021 #endif
00022 
00023 #include <inttypes.h>
00024 #include <sys/types.h>
00025 
00026 #ifdef _WIN32
00027 # include <winsock2.h>
00028 # include <Ws2tcpip.h>
00029 #else
00030 # include <sys/socket.h>
00031 # include <netinet/in.h>
00032 # include <arpa/inet.h>
00033 # include <sys/un.h>
00034 # include <netdb.h>
00035 # include <poll.h>
00036 #endif
00037 
00038 #include <libdrizzle/visibility.h>
00039 #include <libdrizzle/constants.h>
00040 #include <libdrizzle/structs.h>
00041 #include <libdrizzle/conn.h>
00042 #include <libdrizzle/result.h>
00043 #include <libdrizzle/column.h>
00044 
00045 #ifdef  __cplusplus
00046 extern "C" {
00047 #endif
00048 
00068 DRIZZLE_API
00069 const char *drizzle_version(void);
00070 
00076 DRIZZLE_API
00077 const char *drizzle_bugreport(void);
00078 
00085 DRIZZLE_API
00086 const char *drizzle_verbose_name(drizzle_verbose_t verbose);
00087 
00096 DRIZZLE_API
00097 drizzle_st *drizzle_create(drizzle_st *drizzle);
00098 
00106 DRIZZLE_API
00107 drizzle_st *drizzle_clone(drizzle_st *drizzle, const drizzle_st *from);
00108 
00115 DRIZZLE_API
00116 void drizzle_free(drizzle_st *drizzle);
00117 
00125 DRIZZLE_API
00126 const char *drizzle_error(const drizzle_st *drizzle);
00127 
00135 DRIZZLE_API
00136 int drizzle_errno(const drizzle_st *drizzle);
00137 
00145 DRIZZLE_API
00146 uint16_t drizzle_error_code(const drizzle_st *drizzle);
00147 
00155 DRIZZLE_API
00156 const char *drizzle_sqlstate(const drizzle_st *drizzle);
00157 
00165 DRIZZLE_API
00166 drizzle_options_t drizzle_options(const drizzle_st *drizzle);
00167 
00175 DRIZZLE_API
00176 void drizzle_set_options(drizzle_st *drizzle, drizzle_options_t options);
00177 
00185 DRIZZLE_API
00186 void drizzle_add_options(drizzle_st *drizzle, drizzle_options_t options);
00187 
00195 DRIZZLE_API
00196 void drizzle_remove_options(drizzle_st *drizzle, drizzle_options_t options);
00197 
00205 DRIZZLE_API
00206 void *drizzle_context(const drizzle_st *drizzle);
00207 
00215 DRIZZLE_API
00216 void drizzle_set_context(drizzle_st *drizzle, void *context);
00217 
00226 DRIZZLE_API
00227 void drizzle_set_context_free_fn(drizzle_st *drizzle,
00228                                  drizzle_context_free_fn *function);
00229 
00238 DRIZZLE_API
00239 int drizzle_timeout(const drizzle_st *drizzle);
00240 
00249 DRIZZLE_API
00250 void drizzle_set_timeout(drizzle_st *drizzle, int timeout);
00251 
00259 DRIZZLE_API
00260 drizzle_verbose_t drizzle_verbose(const drizzle_st *drizzle);
00261 
00271 DRIZZLE_API
00272 void drizzle_set_verbose(drizzle_st *drizzle, drizzle_verbose_t verbose);
00273 
00284 DRIZZLE_API
00285 void drizzle_set_log_fn(drizzle_st *drizzle, drizzle_log_fn *function,
00286                         void *context);
00287 
00303 DRIZZLE_API
00304 void drizzle_set_event_watch_fn(drizzle_st *drizzle,
00305                                 drizzle_event_watch_fn *function,
00306                                 void *context);
00307 
00319 DRIZZLE_API
00320 drizzle_con_st *drizzle_con_create(drizzle_st *drizzle, drizzle_con_st *con);
00321 
00331 DRIZZLE_API
00332 drizzle_con_st *drizzle_con_clone(drizzle_st *drizzle, drizzle_con_st *con,
00333                                   const drizzle_con_st *from);
00334 
00341 DRIZZLE_API
00342 void drizzle_con_free(drizzle_con_st *con);
00343 
00350 DRIZZLE_API
00351 void drizzle_con_free_all(drizzle_st *drizzle);
00352 
00360 DRIZZLE_API
00361 drizzle_return_t drizzle_con_wait(drizzle_st *drizzle);
00362 
00370 DRIZZLE_API
00371 drizzle_con_st *drizzle_con_ready(drizzle_st *drizzle);
00372 
00375 #ifdef  __cplusplus
00376 }
00377 #endif
00378 
00379 #endif /* __DRIZZLE_H */