亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? my_global.h

?? SDL文件。SDL_ERROwenjian.....
?? H
?? 第 1 頁 / 共 4 頁
字號:
/* Copyright (C) 2000-2003 MySQL AB

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

/* This is the include file that should be included 'first' in every C file. */

#ifndef _global_h
#define _global_h

#ifndef EMBEDDED_LIBRARY
#define HAVE_REPLICATION
#define HAVE_EXTERNAL_CLIENT
#endif

/*
  InnoDB depends on some MySQL internals which other plugins should not
  need.  This is because of InnoDB's foreign key support, "safe" binlog
  truncation, and other similar legacy features.

  We define accessors for these internals unconditionally, but do not
  expose them in mysql/plugin.h.  They are declared in ha_innodb.h for
  InnoDB's use.
*/
#define INNODB_COMPATIBILITY_HOOKS

#ifdef __CYGWIN__
/* We use a Unix API, so pretend it's not Windows */
#undef WIN
#undef WIN32
#undef _WIN
#undef _WIN32
#undef _WIN64
#undef __WIN__
#undef __WIN32__
#define HAVE_ERRNO_AS_DEFINE
#endif /* __CYGWIN__ */

#if defined(__QNXNTO__) && !defined(FD_SETSIZE)
#define FD_SETSIZE 1024         /* Max number of file descriptor bits in
                                   fd_set, used when calling 'select'
                                   Must be defined before including
                                   "sys/select.h" and "sys/time.h"
                                 */
#endif


/* to make command line shorter we'll define USE_PRAGMA_INTERFACE here */
#ifdef USE_PRAGMA_IMPLEMENTATION
#define USE_PRAGMA_INTERFACE
#endif

#if defined(i386) && !defined(__i386__)
#define __i386__
#endif

/* Macros to make switching between C and C++ mode easier */
#ifdef __cplusplus
#define C_MODE_START    extern "C" {
#define C_MODE_END	}
#else
#define C_MODE_START
#define C_MODE_END
#endif

#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)
#include <config-win.h>
#elif defined(__NETWARE__)
#include <my_config.h>
#include <config-netware.h>
#if defined(__cplusplus) && defined(inline)
#undef inline				/* fix configure problem */
#endif
#else
#include <my_config.h>
#if defined(__cplusplus) && defined(inline)
#undef inline				/* fix configure problem */
#endif
#endif /* _WIN32... */

/* Make it easier to add conditionl code for windows */
#ifdef __WIN__
#define IF_WIN(A,B) (A)
#else
#define IF_WIN(A,B) (B)
#endif

#ifndef EMBEDDED_LIBRARY
#ifdef WITH_NDB_BINLOG
#define HAVE_NDB_BINLOG 1
#endif
#endif /* !EMBEDDED_LIBRARY */

/* Some defines to avoid ifdefs in the code */
#ifndef NETWARE_YIELD
#define NETWARE_YIELD
#define NETWARE_SET_SCREEN_MODE(A)
#endif

/*
  The macros below are used to allow build of Universal/fat binaries of
  MySQL and MySQL applications under darwin. 
*/
#ifdef TARGET_FAT_BINARY
# undef SIZEOF_CHARP 
# undef SIZEOF_INT 
# undef SIZEOF_LONG 
# undef SIZEOF_LONG_LONG 
# undef SIZEOF_OFF_T 
# undef SIZEOF_SHORT 

#if defined(__i386__)
# undef WORDS_BIGENDIAN
# define SIZEOF_CHARP 4
# define SIZEOF_INT 4
# define SIZEOF_LONG 4
# define SIZEOF_LONG_LONG 8
# define SIZEOF_OFF_T 8
# define SIZEOF_SHORT 2

#elif defined(__ppc__)
# define WORDS_BIGENDIAN
# define SIZEOF_CHARP 4
# define SIZEOF_INT 4
# define SIZEOF_LONG 4
# define SIZEOF_LONG_LONG 8
# define SIZEOF_OFF_T 8
# define SIZEOF_SHORT 2

#else
# error Building FAT binary for an unknown architecture.
#endif
#endif /* TARGET_FAT_BINARY */


/*
  The macros below are borrowed from include/linux/compiler.h in the
  Linux kernel. Use them to indicate the likelyhood of the truthfulness
  of a condition. This serves two purposes - newer versions of gcc will be
  able to optimize for branch predication, which could yield siginficant
  performance gains in frequently executed sections of the code, and the
  other reason to use them is for documentation
*/

#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
#define __builtin_expect(x, expected_value) (x)
#endif

#define likely(x)	__builtin_expect((x),1)
#define unlikely(x)	__builtin_expect((x),0)


/*
  The macros below are useful in optimising places where it has been
  discovered that cache misses stall the process and where a prefetch
  of the cache line can improve matters. This is available in GCC 3.1.1
  and later versions.
  PREFETCH_READ says that addr is going to be used for reading and that
  it is to be kept in caches if possible for a while
  PREFETCH_WRITE also says that the item to be cached is likely to be
  updated.
  The *LOCALITY scripts are also available for experimentation purposes
  mostly and should only be used if they are verified to improve matters.
  For more input see GCC manual (available in GCC 3.1.1 and later)
*/

#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR > 10)
#define PREFETCH_READ(addr) __builtin_prefetch(addr, 0, 3)
#define PREFETCH_WRITE(addr) \
  __builtin_prefetch(addr, 1, 3)
#define PREFETCH_READ_LOCALITY(addr, locality) \
  __builtin_prefetch(addr, 0, locality)
#define PREFETCH_WRITE_LOCALITY(addr, locality) \
  __builtin_prefetch(addr, 1, locality)
#else
#define PREFETCH_READ(addr)
#define PREFETCH_READ_LOCALITY(addr, locality)
#define PREFETCH_WRITE(addr)
#define PREFETCH_WRITE_LOCALITY(addr, locality)
#endif

/*
  The following macro is used to ensure that code often used in most
  SQL statements and definitely for parts of the SQL processing are
  kept in a code segment by itself. This has the advantage that the
  risk of common code being overlapping in caches of the CPU is less.
  This can be a cause of big performance problems.
  Routines should be put in this category with care and when they are
  put there one should also strive to make as much of the error handling
  as possible (or uncommon code of the routine) to execute in a
  separate method to avoid moving to much code to this code segment.

  It is very easy to use, simply add HOT_METHOD at the end of the
  function declaration.
  For more input see GCC manual (available in GCC 2.95 and later)
*/

#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR > 94)
#define HOT_METHOD \
  __attribute__ ((section ("hot_code_section")))
#else
#define HOT_METHOD
#endif

/*
  The following macro is used to ensure that popular global variables
  are located next to each other to avoid that they contend for the
  same cache lines.

  It is very easy to use, simply add HOT_DATA at the end of the declaration
  of the variable, the variable must be initialised because of the way
  that linker works so a declaration using HOT_DATA should look like:
  uint global_hot_data HOT_DATA = 0;
  For more input see GCC manual (available in GCC 2.95 and later)
*/

#if (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR > 94)
#define HOT_DATA \
  __attribute__ ((section ("hot_data_section")))
#else
#define HOT_DATA
#endif

/*
  now let's figure out if inline functions are supported
  autoconf defines 'inline' to be empty, if not
*/
#define inline_test_1(X)        X ## 1
#define inline_test_2(X)        inline_test_1(X)
#if inline_test_2(inline) != 1
#define HAVE_INLINE
#endif
#undef inline_test_2
#undef inline_test_1

/*
  The following macros are used to control inlining a bit more than
  usual. These macros are used to ensure that inlining always or
  never occurs (independent of compilation mode).
  For more input see GCC manual (available in GCC 3.1.1 and later)
*/

#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR > 10)
#define ALWAYS_INLINE __attribute__ ((always_inline))
#define NEVER_INLINE __attribute__ ((noinline))
#else
#define ALWAYS_INLINE
#define NEVER_INLINE
#endif


/* Fix problem with S_ISLNK() on Linux */
#if defined(TARGET_OS_LINUX) || defined(__GLIBC__)
#undef  _GNU_SOURCE
#define _GNU_SOURCE 1
#endif

/*
  Temporary solution to solve bug#7156. Include "sys/types.h" before
  the thread headers, else the function madvise() will not be defined
*/
#if defined(HAVE_SYS_TYPES_H) && ( defined(sun) || defined(__sun) )
#include <sys/types.h>
#endif

/* The client defines this to avoid all thread code */
#if defined(UNDEF_THREADS_HACK)
#undef THREAD
#undef HAVE_LINUXTHREADS
#undef HAVE_NPTL
#endif

#ifdef HAVE_THREADS_WITHOUT_SOCKETS
/* MIT pthreads does not work with unix sockets */
#undef HAVE_SYS_UN_H
#endif

#define __EXTENSIONS__ 1	/* We want some extension */
#ifndef __STDC_EXT__
#define __STDC_EXT__ 1          /* To get large file support on hpux */
#endif

/*
  Solaris 9 include file <sys/feature_tests.h> refers to X/Open document

    System Interfaces and Headers, Issue 5

  saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes,
  but apparently other systems (namely FreeBSD) don't agree.

  On a newer Solaris 10, the above file recognizes also _XOPEN_SOURCE=600.
  Furthermore, it tests that if a program requires older standard
  (_XOPEN_SOURCE<600 or _POSIX_C_SOURCE<200112L) it cannot be
  run on a new compiler (that defines _STDC_C99) and issues an #error.
  It's also an #error if a program requires new standard (_XOPEN_SOURCE=600
  or _POSIX_C_SOURCE=200112L) and a compiler does not define _STDC_C99.

  To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
  C++ compiler does not!

  So, in a desperate attempt to get correct prototypes for both
  C and C++ code, we define either _XOPEN_SOURCE=600 or _XOPEN_SOURCE=500
  depending on the compiler's announced C standard support.

  Cleaner solutions are welcome.
*/
#ifdef __sun
#if __STDC_VERSION__ - 0 >= 199901L
#define _XOPEN_SOURCE 600
#else
#define _XOPEN_SOURCE 500
#endif
#endif

#if defined(THREAD) && !defined(__WIN__)
#ifndef _POSIX_PTHREAD_SEMANTICS
#define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */
#endif

#if !defined(SCO)
#define _REENTRANT	1	/* Some thread libraries require this */
#endif
#if !defined(_THREAD_SAFE) && !defined(_AIX)
#define _THREAD_SAFE            /* Required for OSF1 */
#endif
#if defined(HPUX10) || defined(HPUX11)
C_MODE_START			/* HPUX needs this, signal.h bug */
#include <pthread.h>
C_MODE_END
#else
#include <pthread.h>		/* AIX must have this included first */
#endif
#if !defined(SCO) && !defined(_REENTRANT)
#define _REENTRANT	1	/* Threads requires reentrant code */
#endif
#endif /* THREAD */

/* Go around some bugs in different OS and compilers */
#ifdef _AIX			/* By soren@t.dk */
#define _H_STRINGS
#define _SYS_STREAM_H
/* #define _AIX32_CURSES */	/* XXX: this breaks AIX 4.3.3 (others?). */
#define ulonglong2double(A) my_ulonglong2double(A)
#define my_off_t2double(A)  my_ulonglong2double(A)
C_MODE_START
double my_ulonglong2double(unsigned long long A);
C_MODE_END
#endif /* _AIX */

#ifdef HAVE_BROKEN_SNPRINTF	/* HPUX 10.20 don't have this defined */
#undef HAVE_SNPRINTF
#endif
#ifdef HAVE_BROKEN_PREAD
/*
  pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without
  installing the kernel patch PHKL_20349 or greater
*/
#undef HAVE_PREAD
#undef HAVE_PWRITE
#endif
#if defined(HAVE_BROKEN_INLINE) && !defined(__cplusplus)
#undef inline
#define inline
#endif

#ifdef UNDEF_HAVE_GETHOSTBYNAME_R		/* For OSF4.x */
#undef HAVE_GETHOSTBYNAME_R
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区免费观看| www.欧美日韩| 欧美精品色一区二区三区| 亚洲成人在线网站| 91精品婷婷国产综合久久竹菊| 日韩av电影一区| 日韩精品最新网址| 成人国产精品免费观看| 亚洲人成精品久久久久久| 欧美人狂配大交3d怪物一区| 免费人成在线不卡| 中文字幕免费不卡| 欧美性生活一区| 久久99精品国产| 国产精品国产三级国产普通话99| 色妞www精品视频| 免费人成网站在线观看欧美高清| 国产视频在线观看一区二区三区 | 麻豆成人av在线| 久久亚洲综合av| 色网综合在线观看| 男人的天堂亚洲一区| 国产精品乱人伦一区二区| 91小视频免费观看| 蜜臀av性久久久久av蜜臀妖精| 欧美激情一区二区三区| 7777精品伊人久久久大香线蕉超级流畅| 久久精品久久久精品美女| 中文字幕成人av| 日韩午夜激情av| 一本一道综合狠狠老| 久久精品国产亚洲aⅴ| 亚洲麻豆国产自偷在线| 精品国产乱码久久| 欧美视频在线播放| 成人黄色电影在线| 精品一区在线看| 亚洲愉拍自拍另类高清精品| 久久亚洲影视婷婷| 7777精品伊人久久久大香线蕉超级流畅 | 欧美在线三级电影| 懂色中文一区二区在线播放| 日日摸夜夜添夜夜添精品视频| 国产精品婷婷午夜在线观看| 宅男噜噜噜66一区二区66| 91亚洲男人天堂| 国产馆精品极品| 久久机这里只有精品| 亚洲国产精品久久久男人的天堂| 国产精品女上位| 久久久久久久国产精品影院| 在线电影国产精品| 在线观看日韩电影| 91在线免费视频观看| 国产**成人网毛片九色| 久久成人久久爱| 免费观看91视频大全| 丝袜美腿亚洲综合| 亚洲国产日韩一区二区| 夜夜夜精品看看| 亚洲精品视频在线看| 国产精品拍天天在线| 国产欧美精品一区二区三区四区| 精品国产乱码久久久久久图片 | 色又黄又爽网站www久久| 国产黄色成人av| 国产毛片精品国产一区二区三区| 日韩在线观看一区二区| 午夜精品久久一牛影视| 午夜伊人狠狠久久| 日韩中文字幕亚洲一区二区va在线 | 欧美一区二区在线播放| 欧美日韩一区二区在线观看| 91国产视频在线观看| 色婷婷精品久久二区二区蜜臂av | 久久精品国产99国产精品| 日韩avvvv在线播放| 日韩高清一区在线| 日本色综合中文字幕| 蜜臀久久99精品久久久画质超高清| 日日欢夜夜爽一区| 久久99最新地址| 国产精品亚洲专一区二区三区| 国产乱码精品1区2区3区| 国产麻豆成人传媒免费观看| 国产999精品久久久久久| k8久久久一区二区三区| 色综合夜色一区| 欧美三级三级三级爽爽爽| 欧美高清精品3d| 精品国产一区二区亚洲人成毛片 | 精品国产一区二区三区四区四| 欧美成人video| 国产午夜精品理论片a级大结局 | 樱花影视一区二区| 久久夜色精品国产欧美乱极品| 欧美在线短视频| 欧美日韩中文国产| 日韩一区二区精品| 久久久777精品电影网影网| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲精品乱码久久久久久黑人 | 国产精品一区二区三区网站| 国产99久久久国产精品潘金| 91麻豆自制传媒国产之光| 欧美久久久一区| 久久午夜色播影院免费高清| 中文字幕一区二区三区蜜月| 国产精品久久久久久久久免费樱桃 | 色8久久人人97超碰香蕉987| 在线观看视频一区二区| 欧美一区二区在线观看| 国产欧美日本一区视频| 日日夜夜精品视频天天综合网| 精品一区二区三区在线观看 | 亚洲大片免费看| 国产乱码精品一区二区三区av| 色综合久久综合| 日韩三级视频在线看| 久久久精品综合| 丝袜诱惑制服诱惑色一区在线观看| 国产精品资源站在线| 欧美三级视频在线| 国产精品情趣视频| 捆绑调教一区二区三区| 96av麻豆蜜桃一区二区| 亚洲精品在线观| 三级影片在线观看欧美日韩一区二区 | 欧美日韩成人综合在线一区二区| 美洲天堂一区二卡三卡四卡视频| 国产大陆亚洲精品国产| 欧美日韩激情一区二区三区| 国产精品丝袜久久久久久app| 亚洲成人精品一区| 成人深夜在线观看| 日韩欧美第一区| 亚洲大片精品永久免费| 99国产欧美另类久久久精品| 久久这里只有精品6| 日韩1区2区日韩1区2区| 欧美性大战久久| 一区二区中文视频| 成人一区二区三区中文字幕| 欧美大片日本大片免费观看| 午夜国产不卡在线观看视频| 99久久久免费精品国产一区二区 | 欧美日韩一区二区三区不卡| 国产精品欧美久久久久无广告 | 日韩一区二区三| 天天操天天综合网| 欧美日韩久久久| 亚洲国产综合人成综合网站| 色域天天综合网| 亚洲精品videosex极品| 99久久亚洲一区二区三区青草| 国产三级三级三级精品8ⅰ区| 精品在线观看视频| 精品欧美一区二区久久 | 一区二区三区在线播| 成人福利视频网站| 中文字幕精品三区| 成人av网站免费观看| 中文字幕中文字幕在线一区| 成人动漫一区二区三区| 中文字幕在线一区免费| 不卡视频一二三| 中文字幕字幕中文在线中不卡视频| 国产馆精品极品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久精品久久精品| 欧美大胆一级视频| 久久国产三级精品| 久久免费国产精品| 国产成人av电影| 亚洲欧美日韩国产另类专区| 色呦呦国产精品| 伊人性伊人情综合网| 欧美午夜精品久久久| 日韩电影免费在线| 精品国产区一区| 风间由美性色一区二区三区| 中文字幕亚洲成人| 欧美制服丝袜第一页| 日韩av一二三| 国产色产综合色产在线视频| 91在线porny国产在线看| 亚洲一区成人在线| 日韩欧美一卡二卡| 国产精品影视网| 午夜激情综合网| 精品国精品自拍自在线| 成人av网址在线| 婷婷亚洲久悠悠色悠在线播放| 日韩你懂的在线播放| 成人三级伦理片| 香蕉av福利精品导航| 国产三区在线成人av| 欧美在线你懂得| 国产成人亚洲综合a∨猫咪| 亚洲免费观看高清完整版在线 |