Annotation of embedaddon/php/ext/mysqli/mysqli_libmysql.h, revision 1.1.1.3
1.1 misho 1: /*
1.1.1.2 misho 2: +----------------------------------------------------------------------+
3: | PHP Version 5 |
4: +----------------------------------------------------------------------+
1.1.1.3 ! misho 5: | Copyright (c) 1997-2013 The PHP Group |
1.1.1.2 misho 6: +----------------------------------------------------------------------+
1.1 misho 7: | This source file is subject to version 3.01 of the PHP license, |
8: | that is bundled with this package in the file LICENSE, and is |
9: | available through the world-wide-web at the following url: |
10: | http://www.php.net/license/3_01.txt |
11: | If you did not receive a copy of the PHP license and are unable to |
12: | obtain it through the world-wide-web, please send a note to |
13: | license@php.net so we can mail you a copy immediately. |
1.1.1.2 misho 14: +----------------------------------------------------------------------+
15: | Authors: Georg Richter <georg@php.net> |
16: | Andrey Hristov <andrey@php.net> |
17: | Ulf Wendel <uw@php.net> |
18: +----------------------------------------------------------------------+
1.1 misho 19: */
20:
21: #ifndef MYSQLI_LIBMYSQL_H
22: #define MYSQLI_LIBMYSQL_H
23:
24: /* These are unused */
25: #define MYSQLI_CLOSE_EXPLICIT 0
26: #define MYSQLI_CLOSE_IMPLICIT 1
27: #define MYSQLI_CLOSE_DISCONNECTED 2
28: #define MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE 200
29: #define MYSQLND_OPT_INT_AND_YEAR_AS_INT 201
30:
1.1.1.2 misho 31: /* r->data should be always NULL, at least in recent libmysql versions, the status changes once data is read*/
1.1 misho 32: #define mysqli_result_is_unbuffered(r) ((r)->handle && (r)->handle->status == MYSQL_STATUS_USE_RESULT && (r)->data == NULL)
1.1.1.2 misho 33: #define mysqli_result_is_unbuffered_and_not_everything_is_fetched(r) mysqli_result_is_unbuffered(r)
1.1 misho 34: #define mysqli_server_status(c) (c)->server_status
35: #define mysqli_stmt_get_id(s) ((s)->stmt_id)
36: #define mysqli_stmt_warning_count(s) mysql_warning_count((s)->mysql)
37: #define mysqli_stmt_server_status(s) (s)->mysql->server_status
38: #define mysqli_stmt_get_connection(s) (s)->mysql
39: #define mysqli_close(c, is_forced) mysql_close((c))
40: #define mysqli_stmt_close(c, implicit) mysql_stmt_close((c))
41: #define mysqli_free_result(r, is_forced) mysql_free_result((r))
1.1.1.2 misho 42: #define mysqli_change_user_silent(c, u, p, d, p_len) mysql_change_user((c), (u), (p), (d))
1.1 misho 43:
44:
45: /*
46: These functions also reside in ext/mysqlnd/mysqlnd_portability.h but since it is only made
47: available if one wants to build mysqli against mysqlnd and they are useful for libmysql as
48: well, we check whether they're not defined [build with libmysql is desired] and define them.
49:
50: Bit values are sent in reverted order of bytes, compared to normal !!!
51: */
52:
53:
54: #ifndef uint1korr
55: #define uint1korr(A) (*(((uint8_t*)(A))))
56: #endif
57:
58: #ifndef bit_uint2korr
59: #define bit_uint2korr(A) ((uint16_t) (((uint16_t) (((unsigned char*) (A))[1])) +\
60: ((uint16_t) (((unsigned char*) (A))[0]) << 8)))
61: #endif
62:
63: #ifndef bit_uint3korr
64: #define bit_uint3korr(A) ((uint32_t) (((uint32_t) (((unsigned char*) (A))[2])) +\
65: (((uint32_t) (((unsigned char*) (A))[1])) << 8) +\
66: (((uint32_t) (((unsigned char*) (A))[0])) << 16)))
67: #endif
68:
69: #ifndef bit_uint4korr
70: #define bit_uint4korr(A) ((uint32_t) (((uint32_t) (((unsigned char*) (A))[3])) +\
71: (((uint32_t) (((unsigned char*) (A))[2])) << 8) +\
72: (((uint32_t) (((unsigned char*) (A))[1])) << 16) +\
73: (((uint32_t) (((unsigned char*) (A))[0])) << 24)))
74: #endif
75:
76: #ifndef bit_uint5korr
77: #define bit_uint5korr(A) ((uint64_t)(((uint32_t) (((unsigned char*) (A))[4])) +\
78: (((uint32_t) (((unsigned char*) (A))[3])) << 8) +\
79: (((uint32_t) (((unsigned char*) (A))[2])) << 16) +\
80: (((uint32_t) (((unsigned char*) (A))[1])) << 24)) +\
81: (((uint64_t) (((unsigned char*) (A))[0])) << 32))
82: #endif
83:
84: #ifndef bit_uint6korr
85: #define bit_uint6korr(A) ((uint64_t)(((uint32_t) (((unsigned char*) (A))[5])) +\
86: (((uint32_t) (((unsigned char*) (A))[4])) << 8) +\
87: (((uint32_t) (((unsigned char*) (A))[3])) << 16) +\
88: (((uint32_t) (((unsigned char*) (A))[2])) << 24)) +\
89: (((uint64_t) (((uint32_t) (((unsigned char*) (A))[1])) +\
90: (((uint32_t) (((unsigned char*) (A))[0]) << 8)))) <<\
91: 32))
92: #endif
93:
94: #ifndef bit_uint7korr
95: #define bit_uint7korr(A) ((uint64_t)(((uint32_t) (((unsigned char*) (A))[6])) +\
96: (((uint32_t) (((unsigned char*) (A))[5])) << 8) +\
97: (((uint32_t) (((unsigned char*) (A))[4])) << 16) +\
98: (((uint32_t) (((unsigned char*) (A))[3])) << 24)) +\
99: (((uint64_t) (((uint32_t) (((unsigned char*) (A))[2])) +\
100: (((uint32_t) (((unsigned char*) (A))[1])) << 8) +\
101: (((uint32_t) (((unsigned char*) (A))[0])) << 16))) <<\
102: 32))
103: #endif
104:
105: #ifndef bit_uint8korr
106: #define bit_uint8korr(A) ((uint64_t)(((uint32_t) (((unsigned char*) (A))[7])) +\
107: (((uint32_t) (((unsigned char*) (A))[6])) << 8) +\
108: (((uint32_t) (((unsigned char*) (A))[5])) << 16) +\
109: (((uint32_t) (((unsigned char*) (A))[4])) << 24)) +\
110: (((uint64_t) (((uint32_t) (((unsigned char*) (A))[3])) +\
111: (((uint32_t) (((unsigned char*) (A))[2])) << 8) +\
112: (((uint32_t) (((unsigned char*) (A))[1])) << 16) +\
113: (((uint32_t) (((unsigned char*) (A))[0])) << 24))) <<\
114: 32))
115: #endif
116:
117: #endif /* MYSQLI_LIBMYSQL_H */
118:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>