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

📄 reentr.h

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 H
📖 第 1 页 / 共 5 页
字号:
/* -*- buffer-read-only: t -*- * *    reentr.h * *    Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others * *    You may distribute under the terms of either the GNU General Public *    License or the Artistic License, as specified in the README file. * *  !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! *  This file is built by reentr.pl from data in reentr.pl. */#ifndef REENTR_H#define REENTR_H/* If compiling for a threaded perl, we will macro-wrap the system/library * interfaces (e.g. getpwent()) which have threaded versions * (e.g. getpwent_r()), which will handle things correctly for * the Perl interpreter, but otherwise (for XS) the wrapping does * not take place.  See L<perlxs/Thread-aware system interfaces>. */#ifndef PERL_REENTR_API# if defined(PERL_CORE) || defined(PERL_EXT)#  define PERL_REENTR_API 1# else#  define PERL_REENTR_API 0# endif#endif#ifdef USE_REENTRANT_API /* Deprecations: some platforms have the said reentrant interfaces * but they are declared obsolete and are not to be used.  Often this * means that the platform has threadsafed the interfaces (hopefully). * All this is OS version dependent, so we are of course fooling ourselves. * If you know of more deprecations on some platforms, please add your own * (by editing reentr.pl, mind!) */#ifdef __hpux#   undef HAS_CRYPT_R#   undef HAS_DRAND48_R#   undef HAS_ENDGRENT_R#   undef HAS_ENDPWENT_R#   undef HAS_GETGRENT_R#   undef HAS_GETPWENT_R#   undef HAS_SETLOCALE_R#   undef HAS_SRAND48_R#   undef HAS_STRERROR_R#   define NETDB_R_OBSOLETE#endif#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */#   undef HAS_CRYPT_R#   undef HAS_STRERROR_R#   define NETDB_R_OBSOLETE#endif/* * As of OpenBSD 3.7, reentrant functions are now working, they just are * incompatible with everyone else.  To make OpenBSD happy, we have to * memzero out certain structures before calling the functions. */#if defined(__OpenBSD__)#    define REENTR_MEMZERO(a,b) memzero(a,b)#else#    define REENTR_MEMZERO(a,b) 0#endif #ifdef NETDB_R_OBSOLETE#   undef HAS_ENDHOSTENT_R#   undef HAS_ENDNETENT_R#   undef HAS_ENDPROTOENT_R#   undef HAS_ENDSERVENT_R#   undef HAS_GETHOSTBYADDR_R#   undef HAS_GETHOSTBYNAME_R#   undef HAS_GETHOSTENT_R#   undef HAS_GETNETBYADDR_R#   undef HAS_GETNETBYNAME_R#   undef HAS_GETNETENT_R#   undef HAS_GETPROTOBYNAME_R#   undef HAS_GETPROTOBYNUMBER_R#   undef HAS_GETPROTOENT_R#   undef HAS_GETSERVBYNAME_R#   undef HAS_GETSERVBYPORT_R#   undef HAS_GETSERVENT_R#   undef HAS_SETHOSTENT_R#   undef HAS_SETNETENT_R#   undef HAS_SETPROTOENT_R#   undef HAS_SETSERVENT_R#endif#ifdef I_PWD#   include <pwd.h>#endif#ifdef I_GRP#   include <grp.h>#endif#ifdef I_NETDB#   include <netdb.h>#endif#ifdef I_STDLIB#   include <stdlib.h>	/* drand48_data */#endif#ifdef I_CRYPT#   ifdef I_CRYPT#       include <crypt.h>#   endif#endif#ifdef HAS_GETSPNAM_R#   ifdef I_SHADOW#       include <shadow.h>#   endif#endif#define REENTRANT_PROTO_B_B	1#define REENTRANT_PROTO_B_BI	2#define REENTRANT_PROTO_B_BW	3#define REENTRANT_PROTO_B_CCD	4#define REENTRANT_PROTO_B_CCS	5#define REENTRANT_PROTO_B_IBI	6#define REENTRANT_PROTO_B_IBW	7#define REENTRANT_PROTO_B_SB	8#define REENTRANT_PROTO_B_SBI	9#define REENTRANT_PROTO_I_BI	10#define REENTRANT_PROTO_I_BW	11#define REENTRANT_PROTO_I_CCSBWR	12#define REENTRANT_PROTO_I_CCSD	13#define REENTRANT_PROTO_I_CII	14#define REENTRANT_PROTO_I_CIISD	15#define REENTRANT_PROTO_I_CSBI	16#define REENTRANT_PROTO_I_CSBIR	17#define REENTRANT_PROTO_I_CSBWR	18#define REENTRANT_PROTO_I_CSBWRE	19#define REENTRANT_PROTO_I_CSD	20#define REENTRANT_PROTO_I_CWISBWRE	21#define REENTRANT_PROTO_I_CWISD	22#define REENTRANT_PROTO_I_D	23#define REENTRANT_PROTO_I_H	24#define REENTRANT_PROTO_I_IBI	25#define REENTRANT_PROTO_I_IBW	26#define REENTRANT_PROTO_I_ICBI	27#define REENTRANT_PROTO_I_ICSBWR	28#define REENTRANT_PROTO_I_ICSD	29#define REENTRANT_PROTO_I_ID	30#define REENTRANT_PROTO_I_IISD	31#define REENTRANT_PROTO_I_ISBWR	32#define REENTRANT_PROTO_I_ISD	33#define REENTRANT_PROTO_I_LISBI	34#define REENTRANT_PROTO_I_LISD	35#define REENTRANT_PROTO_I_LS	36#define REENTRANT_PROTO_I_SB	37#define REENTRANT_PROTO_I_SBI	38#define REENTRANT_PROTO_I_SBIE	39#define REENTRANT_PROTO_I_SBIH	40#define REENTRANT_PROTO_I_SBIR	41#define REENTRANT_PROTO_I_SBWR	42#define REENTRANT_PROTO_I_SBWRE	43#define REENTRANT_PROTO_I_SD	44#define REENTRANT_PROTO_I_ST	45#define REENTRANT_PROTO_I_St	46#define REENTRANT_PROTO_I_TISD	47#define REENTRANT_PROTO_I_TS	48#define REENTRANT_PROTO_I_TSBI	49#define REENTRANT_PROTO_I_TSBIR	50#define REENTRANT_PROTO_I_TSBWR	51#define REENTRANT_PROTO_I_TSR	52#define REENTRANT_PROTO_I_TsISBWRE	53#define REENTRANT_PROTO_I_UISBWRE	54#define REENTRANT_PROTO_I_iS	55#define REENTRANT_PROTO_I_lS	56#define REENTRANT_PROTO_I_uISBWRE	57#define REENTRANT_PROTO_S_CBI	58#define REENTRANT_PROTO_S_CCSBI	59#define REENTRANT_PROTO_S_CIISBIE	60#define REENTRANT_PROTO_S_CSBI	61#define REENTRANT_PROTO_S_CSBIE	62#define REENTRANT_PROTO_S_CWISBIE	63#define REENTRANT_PROTO_S_CWISBWIE	64#define REENTRANT_PROTO_S_ICSBI	65#define REENTRANT_PROTO_S_ISBI	66#define REENTRANT_PROTO_S_LISBI	67#define REENTRANT_PROTO_S_SBI	68#define REENTRANT_PROTO_S_SBIE	69#define REENTRANT_PROTO_S_SBW	70#define REENTRANT_PROTO_S_TISBI	71#define REENTRANT_PROTO_S_TS	72#define REENTRANT_PROTO_S_TSBI	73#define REENTRANT_PROTO_S_TSBIE	74#define REENTRANT_PROTO_S_TWISBIE	75#define REENTRANT_PROTO_V_D	76#define REENTRANT_PROTO_V_H	77#define REENTRANT_PROTO_V_ID	78/* Defines for indicating which special features are supported. *//* The getgrent getgrgid getgrnam using buffer? */#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH)#   define GETGRENT_R_HAS_BUFFER#else#   undef  GETGRENT_R_HAS_BUFFER#endif#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI || GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI)#   define GETGRGID_R_HAS_BUFFER#else#   undef  GETGRGID_R_HAS_BUFFER#endif#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI)#   define GETGRNAM_R_HAS_BUFFER#else#   undef  GETGRNAM_R_HAS_BUFFER#endif/* Any of the getgrent getgrgid getgrnam using buffer? */#if (defined(GETGRENT_R_HAS_BUFFER) || defined(GETGRGID_R_HAS_BUFFER) || defined(GETGRNAM_R_HAS_BUFFER))#   define USE_GRENT_BUFFER#else#   undef  USE_GRENT_BUFFER#endif/* The getgrent getgrgid getgrnam using ptr? */#if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR)#   define GETGRENT_R_HAS_PTR#else#   undef  GETGRENT_R_HAS_PTR#endif#if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR)#   define GETGRGID_R_HAS_PTR#else#   undef  GETGRGID_R_HAS_PTR#endif#if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR)#   define GETGRNAM_R_HAS_PTR#else#   undef  GETGRNAM_R_HAS_PTR#endif

⌨️ 快捷键说明

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