Drizzled Public API Documentation

conn.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  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions are
00009  * met:
00010  *
00011  *     * Redistributions of source code must retain the above copyright
00012  * notice, this list of conditions and the following disclaimer.
00013  *
00014  *     * Redistributions in binary form must reproduce the above
00015  * copyright notice, this list of conditions and the following disclaimer
00016  * in the documentation and/or other materials provided with the
00017  * distribution.
00018  *
00019  *     * The names of its contributors may not be used to endorse or
00020  * promote products derived from this software without specific prior
00021  * written permission.
00022  *
00023  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00024  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00025  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
00026  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00027  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00028  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00029  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00030  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00031  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00033  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034  *
00035  */
00036 
00042 #ifndef __DRIZZLE_CONN_H
00043 #define __DRIZZLE_CONN_H
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 
00063 DRIZZLE_API
00064 int drizzle_con_fd(const drizzle_con_st *con);
00065 
00074 DRIZZLE_API
00075 drizzle_return_t drizzle_con_set_fd(drizzle_con_st *con, int fd);
00076 
00083 DRIZZLE_API
00084 void drizzle_con_close(drizzle_con_st *con);
00085 
00094 DRIZZLE_API
00095 drizzle_return_t drizzle_con_set_events(drizzle_con_st *con, short events);
00096 
00106 DRIZZLE_API
00107 drizzle_return_t drizzle_con_set_revents(drizzle_con_st *con, short revents);
00108 
00116 DRIZZLE_API
00117 drizzle_st *drizzle_con_drizzle(const drizzle_con_st *con);
00118 
00126 DRIZZLE_API
00127 const char *drizzle_con_error(const drizzle_con_st *con);
00128 
00136 DRIZZLE_API
00137 int drizzle_con_errno(const drizzle_con_st *con);
00138 
00146 DRIZZLE_API
00147 uint16_t drizzle_con_error_code(const drizzle_con_st *con);
00148 
00156 DRIZZLE_API
00157 const char *drizzle_con_sqlstate(const drizzle_con_st *con);
00158 
00166 DRIZZLE_API
00167 drizzle_con_options_t drizzle_con_options(const drizzle_con_st *con);
00168 
00176 DRIZZLE_API
00177 void drizzle_con_set_options(drizzle_con_st *con,
00178                              drizzle_con_options_t options);
00179 
00187 DRIZZLE_API
00188 void drizzle_con_add_options(drizzle_con_st *con,
00189                              drizzle_con_options_t options);
00190 
00198 DRIZZLE_API
00199 void drizzle_con_remove_options(drizzle_con_st *con,
00200                                 drizzle_con_options_t options);
00201 
00209 DRIZZLE_API
00210 const char *drizzle_con_host(const drizzle_con_st *con);
00211 
00219 DRIZZLE_API
00220 in_port_t drizzle_con_port(const drizzle_con_st *con);
00221 
00230 DRIZZLE_API
00231 void drizzle_con_set_tcp(drizzle_con_st *con, const char *host, in_port_t port);
00232 
00240 DRIZZLE_API
00241 const char *drizzle_con_uds(const drizzle_con_st *con);
00242 
00251 DRIZZLE_API
00252 void drizzle_con_set_uds(drizzle_con_st *con, const char *uds);
00253 
00261 DRIZZLE_API
00262 const char *drizzle_con_user(const drizzle_con_st *con);
00263 
00271 DRIZZLE_API
00272 const char *drizzle_con_password(const drizzle_con_st *con);
00273 
00282 DRIZZLE_API
00283 void drizzle_con_set_auth(drizzle_con_st *con, const char *user,
00284                           const char *password);
00285 
00293 DRIZZLE_API
00294 const char *drizzle_con_db(const drizzle_con_st *con);
00295 
00303 DRIZZLE_API
00304 void drizzle_con_set_db(drizzle_con_st *con, const char *db);
00305 
00313 DRIZZLE_API
00314 void *drizzle_con_context(const drizzle_con_st *con);
00315 
00323 DRIZZLE_API
00324 void drizzle_con_set_context(drizzle_con_st *con, void *context);
00325 
00333 DRIZZLE_API
00334 void drizzle_con_set_context_free_fn(drizzle_con_st *con,
00335                                      drizzle_con_context_free_fn *function);
00336 
00344 DRIZZLE_API
00345 uint8_t drizzle_con_protocol_version(const drizzle_con_st *con);
00346 
00354 DRIZZLE_API
00355 const char *drizzle_con_server_version(const drizzle_con_st *con);
00356 
00364 DRIZZLE_API
00365 uint32_t drizzle_con_server_version_number(const drizzle_con_st *con);
00366 
00374 DRIZZLE_API
00375 uint32_t drizzle_con_thread_id(const drizzle_con_st *con);
00376 
00384 DRIZZLE_API
00385 const uint8_t *drizzle_con_scramble(const drizzle_con_st *con);
00386 
00394 DRIZZLE_API
00395 drizzle_capabilities_t drizzle_con_capabilities(const drizzle_con_st *con);
00396 
00404 DRIZZLE_API
00405 drizzle_charset_t drizzle_con_charset(const drizzle_con_st *con);
00406 
00414 DRIZZLE_API
00415 drizzle_con_status_t drizzle_con_status(const drizzle_con_st *con);
00416 
00424 DRIZZLE_API
00425 uint32_t drizzle_con_max_packet_size(const drizzle_con_st *con);
00426 
00429 #ifdef __cplusplus
00430 }
00431 #endif
00432 
00433 #endif /* __DRIZZLE_CONN_H */