Annotation of embedaddon/php/ext/mysqlnd/config-win.h, revision 1.1

1.1     ! misho       1: /* Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB 
        !             2: This file is public domain and comes with NO WARRANTY of any kind */
        !             3: 
        !             4: /* Defines for Win32 to make it compatible for MySQL */
        !             5: 
        !             6: #ifndef _MYSQLND_CONFIG_WIN_H
        !             7: #define _MYSQLND_CONFIG_WIN_H
        !             8: 
        !             9: #include <sys/locking.h>
        !            10: #include <windows.h>
        !            11: #include <math.h>                      /* Because of rint() */
        !            12: #include <fcntl.h>
        !            13: #include <io.h>
        !            14: #include <malloc.h>
        !            15: 
        !            16: #include <win32/php_stdint.h>
        !            17: 
        !            18: #ifndef HAVE_INT8_T
        !            19: #define HAVE_INT8_T
        !            20: #endif
        !            21: #ifndef HAVE_UINT8_T
        !            22: #define HAVE_UINT8_T
        !            23: #endif
        !            24: #ifndef HAVE_INT16_T
        !            25: #define HAVE_INT16_T
        !            26: #endif
        !            27: #ifndef HAVE_UINT16_T
        !            28: #define HAVE_UINT16_T
        !            29: #endif
        !            30: #ifndef HAVE_INT32_T
        !            31: #define HAVE_INT32_T
        !            32: #endif
        !            33: #ifndef HAVE_UINT32_T
        !            34: #define HAVE_UINT32_T
        !            35: #endif
        !            36: #ifndef HAVE_INT64_T
        !            37: #define HAVE_INT64_T
        !            38: #endif
        !            39: #ifndef HAVE_UINT64_T
        !            40: #define HAVE_UINT64_T
        !            41: #endif
        !            42: 
        !            43: 
        !            44: #ifndef _WIN64
        !            45: #ifndef _WIN32
        !            46: #define _WIN32                         /* Compatible with old source */
        !            47: #endif
        !            48: #ifndef __WIN32__
        !            49: #define __WIN32__
        !            50: #endif
        !            51: #endif /* _WIN64 */
        !            52: #ifndef __WIN__
        !            53: #define __WIN__                                /* To make it easier in VC++ */
        !            54: #endif
        !            55: 
        !            56: /* Type information */
        !            57: 
        !            58: #define SIZEOF_CHAR            1
        !            59: #define SIZEOF_LONG            4
        !            60: #define SIZEOF_LONG_LONG       8
        !            61: 
        !            62: 
        !            63: #ifndef _WIN64
        !            64: /* Optimized store functions for Intel x86 */
        !            65: 
        !            66: #define sint2korr(A)   (*((int16_t *) (A)))
        !            67: #define sint3korr(A)   ((int32_t) ((((zend_uchar) (A)[2]) & 128) ? \
        !            68:                                                                                (((uint32_t) 255L << 24) | \
        !            69:                                                                                (((uint32_t) (zend_uchar) (A)[2]) << 16) |\
        !            70:                                                                                (((uint32_t) (zend_uchar) (A)[1]) << 8) | \
        !            71:                                                                                ((uint32_t) (zend_uchar) (A)[0])) : \
        !            72:                                                                                (((uint32_t) (zend_uchar) (A)[2]) << 16) |\
        !            73:                                                                                (((uint32_t) (zend_uchar) (A)[1]) << 8) | \
        !            74:                                                                                ((uint32_t) (zend_uchar) (A)[0])))
        !            75: #define sint4korr(A)   (*((int32_t *) (A)))
        !            76: #define uint2korr(A)   (*((uint16_t *) (A)))
        !            77: #define uint3korr(A)   (int32_t) (*((uint32_t *) (A)) & 0xFFFFFF)
        !            78: #define uint4korr(A)   (*((uint32_t *) (A)))
        !            79: #define uint5korr(A)   ((uint64_t)(((uint32_t) ((zend_uchar) (A)[0])) +\
        !            80:                                                                        (((uint32_t) ((zend_uchar) (A)[1])) << 8) +\
        !            81:                                                                        (((uint32_t) ((zend_uchar) (A)[2])) << 16) +\
        !            82:                                                                        (((uint32_t) ((zend_uchar) (A)[3])) << 24)) +\
        !            83:                                                                        (((uint64_t) ((zend_uchar) (A)[4])) << 32))
        !            84: #define uint8korr(A)   (*((uint64_t *) (A)))
        !            85: #define sint8korr(A)   (*((int64_t *) (A)))
        !            86: #define int2store(T,A) *((uint16_t*) (T))= (uint16_t) (A)
        !            87: #define int3store(T,A)         {       *(T)=  (zend_uchar) ((A));\
        !            88:                                                                *(T+1)=(zend_uchar) (((uint32_t) (A) >> 8));\
        !            89:                                                                *(T+2)=(zend_uchar) (((A) >> 16)); }
        !            90: #define int4store(T,A) *((int32_t *) (T))= (int32_t) (A)
        !            91: #define int5store(T,A) {       *(T)= (zend_uchar)((A));\
        !            92:                                                        *((T)+1)=(zend_uchar) (((A) >> 8));\
        !            93:                                                        *((T)+2)=(zend_uchar) (((A) >> 16));\
        !            94:                                                        *((T)+3)=(zend_uchar) (((A) >> 24)); \
        !            95:                                                        *((T)+4)=(zend_uchar) (((A) >> 32)); }
        !            96: #define int8store(T,A) *((uint64_t *) (T))= (uint64_t) (A)
        !            97: 
        !            98: #define float8get(V,M) {       *((int32_t *) &V) = *((int32_t*) M); \
        !            99:                                                        *(((int32_t *) &V)+1) = *(((int32_t*) M)+1); }
        !           100: #define float8store(T,V) {     *((int32_t *) T) = *((int32_t*) &V); \
        !           101:                                                        *(((int32_t *) T)+1) = *(((int32_t*) &V)+1); }
        !           102: #define float4get(V,M) { *((int32_t *) &(V)) = *((int32_t*) (M)); }
        !           103: 
        !           104: #endif /* _WIN64 */
        !           105: 
        !           106: #endif /* _MYSQLND_CONFIG_WIN_H */
        !           107: 
        !           108: /*
        !           109:  * Local variables:
        !           110:  * tab-width: 4
        !           111:  * c-basic-offset: 4
        !           112:  * End:
        !           113:  * vim600: noet sw=4 ts=4 fdm=marker
        !           114:  * vim<600: noet sw=4 ts=4
        !           115:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>