File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / mysqli / mysqli_libmysql.h
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 20:03:51 2014 UTC (10 years ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29, HEAD
php 5.4.29

    1: /*
    2:   +----------------------------------------------------------------------+
    3:   | PHP Version 5                                                        |
    4:   +----------------------------------------------------------------------+
    5:   | Copyright (c) 1997-2014 The PHP Group                                |
    6:   +----------------------------------------------------------------------+
    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.               |
   14:   +----------------------------------------------------------------------+
   15:   | Authors: Georg Richter <georg@php.net>                               |
   16:   |          Andrey Hristov <andrey@php.net>                             |
   17:   |          Ulf Wendel <uw@php.net>                                     |
   18:   +----------------------------------------------------------------------+
   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: 
   31: /* r->data should be always NULL, at least in recent libmysql versions, the status changes once data is read*/
   32: #define mysqli_result_is_unbuffered(r)		((r)->handle && (r)->handle->status == MYSQL_STATUS_USE_RESULT && (r)->data == NULL)
   33: #define mysqli_result_is_unbuffered_and_not_everything_is_fetched(r)  mysqli_result_is_unbuffered(r)
   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))
   42: #define mysqli_change_user_silent(c, u, p, d, p_len)   mysql_change_user((c), (u), (p), (d))
   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>