summaryrefslogtreecommitdiff
path: root/ext/mysql/libmysql/mysql.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysql/libmysql/mysql.h')
-rw-r--r--ext/mysql/libmysql/mysql.h68
1 files changed, 45 insertions, 23 deletions
diff --git a/ext/mysql/libmysql/mysql.h b/ext/mysql/libmysql/mysql.h
index 6f358da110..5b70bb419b 100644
--- a/ext/mysql/libmysql/mysql.h
+++ b/ext/mysql/libmysql/mysql.h
@@ -1,19 +1,24 @@
-/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
- This file is public domain and comes with NO WARRANTY of any kind */
+/* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+This file is public domain and comes with NO WARRANTY of any kind */
/* defines for the libmysql library */
#ifndef _mysql_h
#define _mysql_h
+#ifndef MYSQL_SERVER
#ifdef __cplusplus
extern "C" {
#endif
-
+#endif
+
#ifndef _global_h /* If not standard header */
#include <sys/types.h>
typedef char my_bool;
-#if !defined(WIN32)
+#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
+#define __WIN__
+#endif
+#if !defined(__WIN__)
#define STDCALL
#else
#define STDCALL __stdcall
@@ -37,7 +42,7 @@ typedef struct st_mem_root {
#endif
#ifndef my_socket_defined
-#ifdef WIN32
+#ifdef __WIN__
#define my_socket SOCKET
#else
typedef int my_socket;
@@ -71,7 +76,7 @@ typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
#if defined(NO_CLIENT_LONG_LONG)
typedef unsigned long my_ulonglong;
-#elif defined (WIN32)
+#elif defined (__WIN__)
typedef unsigned __int64 my_ulonglong;
#else
typedef unsigned long long my_ulonglong;
@@ -98,7 +103,7 @@ struct st_mysql_options {
my_bool compress,named_pipe;
unsigned int port;
char *host,*init_command,*user,*password,*unix_socket,*db;
- char *my_cnf_file,*my_cnf_group;
+ char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
my_bool use_ssl; /* if to use SSL or not */
char *ssl_key; /* PEM key file */
char *ssl_cert; /* PEM cert file */
@@ -108,7 +113,8 @@ struct st_mysql_options {
enum mysql_option { MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS,
MYSQL_OPT_NAMED_PIPE, MYSQL_INIT_COMMAND,
- MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP };
+ MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP,
+ MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME};
enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
MYSQL_STATUS_USE_RESULT};
@@ -121,6 +127,7 @@ typedef struct st_mysql {
unsigned int port,client_flag,server_capabilities;
unsigned int protocol_version;
unsigned int field_count;
+ unsigned int server_status;
unsigned long thread_id; /* Id for connection in server */
my_ulonglong affected_rows;
my_ulonglong insert_id; /* id if insert on table with NEXTNR */
@@ -133,6 +140,8 @@ typedef struct st_mysql {
my_bool reconnect; /* set to 1 if automatic reconnect */
struct st_mysql_options options;
char scramble_buff[9];
+ struct charset_info_st *charset;
+ unsigned int server_language;
} MYSQL;
@@ -153,21 +162,23 @@ typedef struct st_mysql_res {
/* Functions to get information from the MYSQL and MYSQL_RES structures */
/* Should definitely be used if one uses shared libraries */
-my_ulonglong mysql_num_rows(MYSQL_RES *res);
-unsigned int mysql_num_fields(MYSQL_RES *res);
-my_bool mysql_eof(MYSQL_RES *res);
-MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *res,unsigned int fieldnr);
-MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *res);
-MYSQL_ROWS *mysql_row_tell(MYSQL_RES *res);
-unsigned int mysql_field_tell(MYSQL_RES *res);
+my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
+unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
+my_bool STDCALL mysql_eof(MYSQL_RES *res);
+MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
+ unsigned int fieldnr);
+MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
+MYSQL_ROWS * STDCALL mysql_row_tell(MYSQL_RES *res);
+unsigned int STDCALL mysql_field_tell(MYSQL_RES *res);
-unsigned int mysql_field_count(MYSQL *mysql);
-my_ulonglong mysql_affected_rows(MYSQL *mysql);
-my_ulonglong mysql_insert_id(MYSQL *mysql);
-unsigned int mysql_errno(MYSQL *mysql);
-char *mysql_error(MYSQL *mysql);
-char *mysql_info(MYSQL *mysql);
-unsigned long mysql_thread_id(MYSQL *mysql);
+unsigned int STDCALL mysql_field_count(MYSQL *mysql);
+my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
+my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
+unsigned int STDCALL mysql_errno(MYSQL *mysql);
+char * STDCALL mysql_error(MYSQL *mysql);
+char * STDCALL mysql_info(MYSQL *mysql);
+unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
+const char * STDCALL mysql_character_set_name(MYSQL *mysql);
MYSQL * STDCALL mysql_init(MYSQL *mysql);
#ifdef HAVE_OPENSSL
@@ -235,8 +246,13 @@ unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result);
unsigned long STDCALL mysql_escape_string(char *to,const char *from,
unsigned long from_length);
+unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
+ char *to,const char *from,
+ unsigned long length);
void STDCALL mysql_debug(const char *debug);
-char * STDCALL mysql_odbc_escape_string(char *to, unsigned long to_length,
+char * STDCALL mysql_odbc_escape_string(MYSQL *mysql,
+ char *to,
+ unsigned long to_length,
const char *from,
unsigned long from_length,
void *param,
@@ -244,14 +260,20 @@ char * STDCALL mysql_odbc_escape_string(char *to, unsigned long to_length,
(*extend_buffer)
(void *, char *to,
unsigned long *length));
+void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
+unsigned int STDCALL mysql_thread_safe(void);
+
#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
/* new api functions */
#define HAVE_MYSQL_REAL_CONNECT
+#ifndef MYSQL_SERVER
#ifdef __cplusplus
}
#endif
#endif
+
+#endif