⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_global.h

📁 蓝牙GPS通讯应用程序源文件gpsdrive.tar.gz
💻 H
📖 第 1 页 / 共 3 页
字号:
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB      This library is free software; you can redistribute it and/or   modify it under the terms of the GNU Library General Public   License as published by the Free Software Foundation; either   version 2 of the License, or (at your option) any later version.      This library 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   Library General Public License for more details.      You should have received a copy of the GNU Library General Public   License along with this library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,   MA 02111-1307, USA *//* This is the main include file that should included 'first' in every   C file. */#ifndef _global_h#define _global_h#if defined( __EMX__) && !defined( MYSQL_SERVER)/* moved here to use below VOID macro redefinition */#define INCL_BASE#define INCL_NOPMAPI#include <os2.h>#endif /* __EMX__ */#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(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)#include <config-win.h>#elif defined(OS2)#include <config-os2.h>#else#include <my_config.h>#if defined(__cplusplus) && defined(inline)#undef inline				/* fix configure problem */#endif#endif /* _WIN32... *//* Fix problem with S_ISLNK() on Linux */#if defined(HAVE_LINUXTHREADS)#undef  _GNU_SOURCE#define _GNU_SOURCE 1#endif/* The client defines this to avoid all thread code */#if defined(UNDEF_THREADS_HACK)#undef THREAD#undef HAVE_mit_thread#undef HAVE_LINUXTHREADS#undef HAVE_UNIXWARE7_THREADS#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#if defined(THREAD) && !defined(__WIN__) && !defined(OS2)#ifndef _POSIX_PTHREAD_SEMANTICS#define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */#endif/* was #if defined(HAVE_LINUXTHREADS) || defined(HAVE_DEC_THREADS) || defined(HPUX) */#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#ifndef HAVE_mit_thread#ifdef HAVE_UNIXWARE7_THREADS#include <thread.h>#else#include <pthread.h>		/* AIX must have this included first */#endif /* HAVE_UNIXWARE7_THREADS */#endif /* HAVE_mit_thread */#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#define longlong2double(A) my_longlong2double(A)double my_longlong2double(unsigned long long A);#endif#ifdef HAVE_BROKEN_SNPRINTF	/* HPUX 10.20 don't have this defined */#undef HAVE_SNPRINTF#endif#ifdef HAVE_BROKEN_PREAD	/* These doesn't work on HPUX 11.x */#undef HAVE_PREAD#undef HAVE_PWRITE#endif#ifdef UNDEF_HAVE_GETHOSTBYNAME_R		/* For OSF4.x */#undef HAVE_GETHOSTBYNAME_R#endif#ifdef UNDEF_HAVE_INITGROUPS			/* For AIX 4.3 */#undef HAVE_INITGROUPS#endif/* Fix a bug in gcc 2.8.0 on IRIX 6.2 */#if SIZEOF_LONG == 4 && defined(__LONG_MAX__)#undef __LONG_MAX__             /* Is a longlong value in gcc 2.8.0 ??? */#define __LONG_MAX__ 2147483647#endif/* egcs 1.1.2 has a problem with memcpy on Alpha */#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 &&  __GNUC_MINOR__ >= 95))#define BAD_MEMCPY#endif/* In Linux-alpha we have atomic.h if we are using gcc */#if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__alpha__) && (__GNUC__ > 2 || ( __GNUC__ == 2 &&  __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD)#define HAVE_ATOMIC_ADD#define HAVE_ATOMIC_SUB#endif/* In Linux-ia64 including atomic.h will give us an error */#if (defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && (defined(__ia64__) || defined(__powerpc64__))) || !defined(THREAD)#undef HAVE_ATOMIC_ADD#undef HAVE_ATOMIC_SUB#endif#if defined(_lint) && !defined(lint)#define lint#endif#if SIZEOF_LONG_LONG > 4 && !defined(_LONG_LONG)#define _LONG_LONG 1		/* For AIX string library */#endif#ifndef stdin#include <stdio.h>#endif#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif#ifdef HAVE_STDDEF_H#include <stddef.h>#endif#include <math.h>#ifdef HAVE_LIMITS_H#include <limits.h>#endif#ifdef HAVE_FLOAT_H#include <float.h>#endif#ifdef HAVE_SYS_TYPES_H#include <sys/types.h>#endif#ifdef HAVE_FCNTL_H#include <fcntl.h>#endif#ifdef HAVE_SYS_TIMEB_H#include <sys/timeb.h>				/* Avoid warnings on SCO */#endif#if TIME_WITH_SYS_TIME# include <sys/time.h># include <time.h>#else# if HAVE_SYS_TIME_H#  include <sys/time.h># else#  include <time.h># endif#endif /* TIME_WITH_SYS_TIME */#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#if defined(__cplusplus) && defined(NO_CPLUSPLUS_ALLOCA)#undef HAVE_ALLOCA#undef HAVE_ALLOCA_H#endif#ifdef HAVE_ALLOCA_H#include <alloca.h>#endif#ifdef HAVE_ATOMIC_ADD#define __SMP__#define CONFIG_SMP#include <asm/atomic.h>#endif/* Go around some bugs in different OS and compilers */#if defined(_HPUX_SOURCE) && defined(HAVE_SYS_STREAM_H)#include <sys/stream.h>		/* HPUX 10.20 defines ulong here. UGLY !!! */#define HAVE_ULONG#endif#ifdef DONT_USE_FINITE		/* HPUX 11.x has is_finite() */#undef HAVE_FINITE#endif#if defined(HPUX) && defined(_LARGEFILE64_SOURCE) && defined(THREAD)/* Fix bug in setrlimit */#undef setrlimit#define setrlimit cma_setrlimit64#endif/* We can not live without these */#define USE_MYFUNC 1		/* Must use syscall indirection */#define MASTER 1		/* Compile without unireg */#define ENGLISH 1		/* Messages in English */#define POSIX_MISTAKE 1		/* regexp: Fix stupid spec error */#define USE_REGEX 1		/* We want the use the regex library *//* Do not define for ultra sparcs */#ifndef OS2#define USE_BMOVE512 1		/* Use this unless the system bmove is faster */#endif/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */#ifdef I_AM_PARANOID#define DONT_ALLOW_USER_CHANGE 1#define DONT_USE_MYSQL_PWD 1#endif/* #define USE_some_charset 1 was deprecated by changes to configure *//* my_ctype my_to_upper, my_to_lower, my_sort_order gain theit right value *//* automagically during configuration *//* Does the system remember a signal handler after a signal ? */#ifndef HAVE_BSD_SIGNALS#define DONT_REMEMBER_SIGNAL#endif/* Define void to stop lint from generating "null effekt" comments */#ifndef DONT_DEFINE_VOID#ifdef _lintint	__void__;#define VOID(X)		(__void__ = (int) (X))#else#undef VOID#define VOID(X)		(X)#endif#endif /* DONT_DEFINE_VOID */#if defined(_lint) || defined(FORCE_INIT_OF_VARS)#define LINT_INIT(var)	var=0			/* No uninitialize-warning */#else#define LINT_INIT(var)#endif/* Define som useful general macros */#if defined(__cplusplus) && defined(__GNUC__)#define max(a, b)	((a) >? (b))#define min(a, b)	((a) <? (b))#elif !defined(max)#define max(a, b)	((a) > (b) ? (a) : (b))#define min(a, b)	((a) < (b) ? (a) : (b))#endif#if defined(__EMX__) || !defined(HAVE_UINT)typedef unsigned int uint;typedef unsigned short ushort;#endif#define sgn(a)		(((a) < 0) ? -1 : ((a) > 0) ? 1 : 0)#define swap(t,a,b)	{ register t dummy; dummy = a; a = b; b = dummy; }#define test(a)		((a) ? 1 : 0)#define set_if_bigger(a,b)  { if ((a) < (b)) (a)=(b); }#define set_if_smaller(a,b) { if ((a) > (b)) (a)=(b); }#define test_all_bits(a,b) (((a) & (b)) == (b))#define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))#define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))#ifndef HAVE_RINT#define rint(A) floor((A)+0.5)#endif/* Define som general constants */#ifndef TRUE#define TRUE		(1)	/* Logical true */#define FALSE		(0)	/* Logical false */#endif#if defined(__GNUC__)#define function_volatile	volatile#define my_reinterpret_cast(A) reinterpret_cast<A>#define my_const_cast(A) const_cast<A>#elif !defined(my_reinterpret_cast)#define my_reinterpret_cast(A) (A)#define my_const_cast(A) (A)#endif#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)#define __attribute__(A)#endif/* From old s-system.h *//* Support macros for non ansi & other old compilers. Since such   things are no longer supported we do nothing. We keep then since   some of our code may still be needed to upgrade old customers. */#define _VARARGS(X) X#define _STATIC_VARARGS(X) X#define _PC(X)	X#if defined(DBUG_ON) && defined(DBUG_OFF)#undef DBUG_OFF#endif#if defined(_lint) && !defined(DBUG_OFF)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -