16#ifndef __DRIZZLE_CONSTANTS_H
17#define __DRIZZLE_CONSTANTS_H
33#define DRIZZLE_RETURN_SERVER_GONE DRIZZLE_RETURN_LOST_CONNECTION
34#define DRIZZLE_RETURN_EOF DRIZZLE_RETURN_LOST_CONNECTION
35#define DRIZZLE_COLUMN_TYPE_VIRTUAL 17
38#define DRIZZLE_DEFAULT_TCP_HOST "127.0.0.1"
39#define DRIZZLE_DEFAULT_TCP_PORT 4427
40#define DRIZZLE_DEFAULT_TCP_PORT_MYSQL 3306
41#define DRIZZLE_DEFAULT_UDS "/tmp/drizzle.sock"
42#define DRIZZLE_DEFAULT_UDS_MYSQL "/tmp/mysql.sock"
43#define DRIZZLE_DEFAULT_BACKLOG 64
44#define DRIZZLE_MAX_ERROR_SIZE 2048
45#define DRIZZLE_MAX_USER_SIZE 64
46#define DRIZZLE_MAX_PASSWORD_SIZE 32
47#define DRIZZLE_MAX_DB_SIZE 64
48#define DRIZZLE_MAX_INFO_SIZE 2048
49#define DRIZZLE_MAX_SQLSTATE_SIZE 5
50#define DRIZZLE_MAX_CATALOG_SIZE 128
51#define DRIZZLE_MAX_TABLE_SIZE 128
52#define DRIZZLE_MAX_COLUMN_NAME_SIZE 2048
53#define DRIZZLE_MAX_DEFAULT_VALUE_SIZE 2048
54#define DRIZZLE_MAX_PACKET_SIZE UINT32_MAX
55#define DRIZZLE_MAX_BUFFER_SIZE 32768
56#define DRIZZLE_BUFFER_COPY_THRESHOLD 8192
57#define DRIZZLE_MAX_SERVER_VERSION_SIZE 32
58#define DRIZZLE_MAX_SCRAMBLE_SIZE 20
59#define DRIZZLE_STATE_STACK_SIZE 8
60#define DRIZZLE_ROW_GROW_SIZE 8192
61#define DRIZZLE_DEFAULT_SOCKET_TIMEOUT 10
62#define DRIZZLE_DEFAULT_SOCKET_SEND_SIZE 32768
63#define DRIZZLE_DEFAULT_SOCKET_RECV_SIZE 32768
452#define drizzle_get_byte2(__buffer) \
453 (uint16_t)((__buffer)[0] | \
454 ((__buffer)[1] << 8))
455#define drizzle_get_byte3(__buffer) \
456 (uint32_t)((__buffer)[0] | \
457 ((__buffer)[1] << 8) | \
458 ((__buffer)[2] << 16))
459#define drizzle_get_byte4(__buffer) \
460 (uint32_t)((__buffer)[0] | \
461 ((__buffer)[1] << 8) | \
462 ((__buffer)[2] << 16) | \
463 ((__buffer)[3] << 24))
464#define drizzle_get_byte8(__buffer) \
465 ((uint64_t)(__buffer)[0] | \
466 ((uint64_t)(__buffer)[1] << 8) | \
467 ((uint64_t)(__buffer)[2] << 16) | \
468 ((uint64_t)(__buffer)[3] << 24) | \
469 ((uint64_t)(__buffer)[4] << 32) | \
470 ((uint64_t)(__buffer)[5] << 40) | \
471 ((uint64_t)(__buffer)[6] << 48) | \
472 ((uint64_t)(__buffer)[7] << 56))
475#define drizzle_set_byte2(__buffer, __int) do { \
476 (__buffer)[0]= (uint8_t)((__int) & 0xFF); \
477 (__buffer)[1]= (uint8_t)(((__int) >> 8) & 0xFF); } while (0)
478#define drizzle_set_byte3(__buffer, __int) do { \
479 (__buffer)[0]= (uint8_t)((__int) & 0xFF); \
480 (__buffer)[1]= (uint8_t)(((__int) >> 8) & 0xFF); \
481 (__buffer)[2]= (uint8_t)(((__int) >> 16) & 0xFF); } while (0)
482#define drizzle_set_byte4(__buffer, __int) do { \
483 (__buffer)[0]= (uint8_t)((__int) & 0xFF); \
484 (__buffer)[1]= (uint8_t)(((__int) >> 8) & 0xFF); \
485 (__buffer)[2]= (uint8_t)(((__int) >> 16) & 0xFF); \
486 (__buffer)[3]= (uint8_t)(((__int) >> 24) & 0xFF); } while (0)
487#define drizzle_set_byte8(__buffer, __int) do { \
488 (__buffer)[0]= (uint8_t)((__int) & 0xFF); \
489 (__buffer)[1]= (uint8_t)(((__int) >> 8) & 0xFF); \
490 (__buffer)[2]= (uint8_t)(((__int) >> 16) & 0xFF); \
491 (__buffer)[3]= (uint8_t)(((__int) >> 24) & 0xFF); \
492 (__buffer)[4]= (uint8_t)(((__int) >> 32) & 0xFF); \
493 (__buffer)[5]= (uint8_t)(((__int) >> 40) & 0xFF); \
494 (__buffer)[6]= (uint8_t)(((__int) >> 48) & 0xFF); \
495 (__buffer)[7]= (uint8_t)(((__int) >> 56) & 0xFF); } while (0)
498#define drizzle_mb_char(__c) (((__c) & 0x80) != 0)
499#define drizzle_mb_length(__c) \
500 ((uint32_t)(__c) <= 0x7f ? 1 : \
501 ((uint32_t)(__c) <= 0x7ff ? 2 : \
502 ((uint32_t)(__c) <= 0xd7ff ? 3 : \
503 ((uint32_t)(__c) <= 0xdfff || (uint32_t)(__c) > 0x10ffff ? 0 : \
504 ((uint32_t)(__c) <= 0xffff ? 3 : 4)))))
@ DRIZZLE_COMMAND_STMT_SEND_LONG_DATA
@ DRIZZLE_COMMAND_FIELD_LIST
@ DRIZZLE_COMMAND_STMT_CLOSE
@ DRIZZLE_COMMAND_CREATE_DB
@ DRIZZLE_COMMAND_STATISTICS
@ DRIZZLE_COMMAND_STMT_EXECUTE
@ DRIZZLE_COMMAND_CHANGE_USER
@ DRIZZLE_COMMAND_STMT_PREPARE
@ DRIZZLE_COMMAND_DELAYED_INSERT
@ DRIZZLE_COMMAND_PROCESS_INFO
@ DRIZZLE_COMMAND_PROCESS_KILL
@ DRIZZLE_COMMAND_STMT_RESET
@ DRIZZLE_COMMAND_SET_OPTION
@ DRIZZLE_COMMAND_SHUTDOWN
@ DRIZZLE_COMMAND_CONNECT_OUT
@ DRIZZLE_COMMAND_CONNECT
@ DRIZZLE_COMMAND_INIT_DB
@ DRIZZLE_COMMAND_STMT_FETCH
@ DRIZZLE_COMMAND_REFRESH
@ DRIZZLE_COMMAND_BINLOG_DUMP
@ DRIZZLE_COMMAND_DROP_DB
@ DRIZZLE_COMMAND_REGISTER_SLAVE
@ DRIZZLE_COMMAND_TABLE_DUMP
drizzle_command_drizzle_t
@ DRIZZLE_COMMAND_DRIZZLE_QUERY
@ DRIZZLE_COMMAND_DRIZZLE_PING
@ DRIZZLE_COMMAND_DRIZZLE_SHUTDOWN
@ DRIZZLE_COMMAND_DRIZZLE_QUIT
@ DRIZZLE_COMMAND_DRIZZLE_INIT_DB
@ DRIZZLE_COMMAND_DRIZZLE_SLEEP
@ DRIZZLE_COMMAND_DRIZZLE_END
@ DRIZZLE_COMMAND_DRIZZLE_CONNECT
drizzle_column_type_drizzle_t
@ DRIZZLE_COLUMN_TYPE_VARCHAR
@ DRIZZLE_COLUMN_TYPE_SHORT
@ DRIZZLE_COLUMN_TYPE_TINY
@ DRIZZLE_COLUMN_TYPE_TIMESTAMP
@ DRIZZLE_COLUMN_TYPE_DATE
@ DRIZZLE_COLUMN_TYPE_INT24
@ DRIZZLE_COLUMN_TYPE_BIT
@ DRIZZLE_COLUMN_TYPE_DOUBLE
@ DRIZZLE_COLUMN_TYPE_BLOB
@ DRIZZLE_COLUMN_TYPE_LONG
@ DRIZZLE_COLUMN_TYPE_ENUM
@ DRIZZLE_COLUMN_TYPE_SET
@ DRIZZLE_COLUMN_TYPE_DECIMAL
@ DRIZZLE_COLUMN_TYPE_NULL
@ DRIZZLE_COLUMN_TYPE_STRING
@ DRIZZLE_COLUMN_TYPE_YEAR
@ DRIZZLE_COLUMN_TYPE_NEWDATE
@ DRIZZLE_COLUMN_TYPE_GEOMETRY
@ DRIZZLE_COLUMN_TYPE_DATETIME
@ DRIZZLE_COLUMN_TYPE_LONGLONG
@ DRIZZLE_COLUMN_TYPE_NEWDECIMAL
@ DRIZZLE_COLUMN_TYPE_FLOAT
@ DRIZZLE_COLUMN_TYPE_MEDIUM_BLOB
@ DRIZZLE_COLUMN_TYPE_TIME
@ DRIZZLE_COLUMN_TYPE_TINY_BLOB
@ DRIZZLE_COLUMN_TYPE_VAR_STRING
@ DRIZZLE_COLUMN_TYPE_LONG_BLOB
@ DRIZZLE_COLUMN_FLAGS_GROUP
@ DRIZZLE_COLUMN_FLAGS_NONE
@ DRIZZLE_COLUMN_FLAGS_NUM
@ DRIZZLE_COLUMN_FLAGS_ENUM
@ DRIZZLE_COLUMN_FLAGS_RENAMED
@ DRIZZLE_COLUMN_FLAGS_ZEROFILL
@ DRIZZLE_COLUMN_FLAGS_IN_ADD_INDEX
@ DRIZZLE_COLUMN_FLAGS_TIMESTAMP
@ DRIZZLE_COLUMN_FLAGS_GET_FIXED_FIELDS
@ DRIZZLE_COLUMN_FLAGS_ON_UPDATE_NOW
@ DRIZZLE_COLUMN_FLAGS_MULTIPLE_KEY
@ DRIZZLE_COLUMN_FLAGS_UNSIGNED
@ DRIZZLE_COLUMN_FLAGS_NOT_NULL
@ DRIZZLE_COLUMN_FLAGS_IN_PART_FUNC
@ DRIZZLE_COLUMN_FLAGS_BINCMP
@ DRIZZLE_COLUMN_FLAGS_PART_KEY
@ DRIZZLE_COLUMN_FLAGS_PRI_KEY
@ DRIZZLE_COLUMN_FLAGS_SET
@ DRIZZLE_COLUMN_FLAGS_NO_DEFAULT_VALUE
@ DRIZZLE_COLUMN_FLAGS_BINARY
@ DRIZZLE_COLUMN_FLAGS_BLOB
@ DRIZZLE_COLUMN_FLAGS_UNIQUE_KEY
@ DRIZZLE_COLUMN_FLAGS_AUTO_INCREMENT
@ DRIZZLE_COLUMN_FLAGS_UNIQUE
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_TIMESTAMP
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_MAX
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_TINY
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_VARCHAR
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_LONGLONG
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_BLOB
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_DOUBLE
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_DATE
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_ENUM
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_DATETIME
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_NULL
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_NEWDECIMAL
@ DRIZZLE_COLUMN_TYPE_DRIZZLE_LONG
@ DRIZZLE_COLUMN_ALLOCATED
@ DRIZZLE_CON_STATUS_IN_TRANS
@ DRIZZLE_CON_STATUS_LAST_ROW_SENT
@ DRIZZLE_CON_STATUS_NONE
@ DRIZZLE_CON_STATUS_QUERY_WAS_SLOW
@ DRIZZLE_CON_STATUS_CURSOR_EXISTS
@ DRIZZLE_CON_STATUS_DB_DROPPED
@ DRIZZLE_CON_STATUS_NO_BACKSLASH_ESCAPES
@ DRIZZLE_CON_STATUS_QUERY_NO_INDEX_USED
@ DRIZZLE_CON_STATUS_MORE_RESULTS_EXISTS
@ DRIZZLE_CON_STATUS_QUERY_NO_GOOD_INDEX_USED
@ DRIZZLE_CON_STATUS_AUTOCOMMIT
@ DRIZZLE_CAPABILITIES_FOUND_ROWS
@ DRIZZLE_CAPABILITIES_SSL
@ DRIZZLE_CAPABILITIES_IGNORE_SIGPIPE
@ DRIZZLE_CAPABILITIES_TRANSACTIONS
@ DRIZZLE_CAPABILITIES_LOCAL_FILES
@ DRIZZLE_CAPABILITIES_CLIENT
@ DRIZZLE_CAPABILITIES_LONG_PASSWORD
@ DRIZZLE_CAPABILITIES_ODBC
@ DRIZZLE_CAPABILITIES_IGNORE_SPACE
@ DRIZZLE_CAPABILITIES_NONE
@ DRIZZLE_CAPABILITIES_LONG_FLAG
@ DRIZZLE_CAPABILITIES_SSL_VERIFY_SERVER_CERT
@ DRIZZLE_CAPABILITIES_MULTI_STATEMENTS
@ DRIZZLE_CAPABILITIES_RESERVED
@ DRIZZLE_CAPABILITIES_INTERACTIVE
@ DRIZZLE_CAPABILITIES_CONNECT_WITH_DB
@ DRIZZLE_CAPABILITIES_REMEMBER_OPTIONS
@ DRIZZLE_CAPABILITIES_NO_SCHEMA
@ DRIZZLE_CAPABILITIES_COMPRESS
@ DRIZZLE_CAPABILITIES_SECURE_CONNECTION
@ DRIZZLE_CAPABILITIES_MULTI_RESULTS
@ DRIZZLE_CAPABILITIES_PROTOCOL_41
@ DRIZZLE_CON_NO_RESULT_READ
@ DRIZZLE_CON_EXPERIMENTAL
@ DRIZZLE_CON_RAW_SCRAMBLE
@ DRIZZLE_RETURN_HANDSHAKE_FAILED
@ DRIZZLE_RETURN_ERROR_CODE
@ DRIZZLE_RETURN_INTERNAL_ERROR
@ DRIZZLE_RETURN_AUTH_FAILED
@ DRIZZLE_RETURN_BAD_PACKET
@ DRIZZLE_RETURN_LOST_CONNECTION
@ DRIZZLE_RETURN_UNEXPECTED_DATA
@ DRIZZLE_RETURN_TOO_MANY_COLUMNS
@ DRIZZLE_RETURN_NO_ACTIVE_CONNECTIONS
@ DRIZZLE_RETURN_COULD_NOT_CONNECT
@ DRIZZLE_RETURN_NULL_SIZE
@ DRIZZLE_RETURN_NO_SCRAMBLE
@ DRIZZLE_RETURN_NOT_READY
@ DRIZZLE_RETURN_BAD_HANDSHAKE_PACKET
@ DRIZZLE_RETURN_PROTOCOL_NOT_SUPPORTED
@ DRIZZLE_RETURN_GETADDRINFO
@ DRIZZLE_RETURN_BAD_PACKET_NUMBER
@ DRIZZLE_RETURN_ROW_BREAK
@ DRIZZLE_QUERY_STATE_QUERY
@ DRIZZLE_QUERY_STATE_RESULT
@ DRIZZLE_QUERY_STATE_DONE
@ DRIZZLE_QUERY_STATE_INIT
@ DRIZZLE_QUERY_ALLOCATED
@ DRIZZLE_RESULT_ROW_BREAK
@ DRIZZLE_RESULT_EOF_PACKET
@ DRIZZLE_RESULT_ALLOCATED
@ DRIZZLE_RESULT_BUFFER_ROW
@ DRIZZLE_RESULT_SKIP_COLUMN
@ DRIZZLE_RESULT_BUFFER_COLUMN
drizzle_field_t * drizzle_row_t
void drizzle_context_free_fn(drizzle_st *drizzle, void *context)
void drizzle_con_context_free_fn(drizzle_con_st *con, void *context)
drizzle_return_t drizzle_state_fn(drizzle_con_st *con)
uint8_t drizzle_charset_t
drizzle_return_t drizzle_event_watch_fn(drizzle_con_st *con, short events, void *context)
void drizzle_query_context_free_fn(drizzle_query_st *query, void *context)
void drizzle_log_fn(const char *line, drizzle_verbose_t verbose, void *context)
@ DRIZZLE_ASSERT_DANGLING