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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pthread.h

?? 基于WINPCAP的嗅探程序
?? H
?? 第 1 頁 / 共 3 頁
字號:
/* This is an implementation of the threads API of POSIX 1003.1-2001.
 *
 * --------------------------------------------------------------------------
 *
 *      Pthreads-win32 - POSIX Threads Library for Win32
 *      Copyright(C) 1998 John E. Bossom
 *      Copyright(C) 1999,2003 Pthreads-win32 contributors
 * 
 *      Contact Email: rpj@callisto.canberra.edu.au
 * 
 *      The current list of contributors is contained
 *      in the file CONTRIBUTORS included with the source
 *      code distribution. The list can also be seen at the
 *      following World Wide Web location:
 *      http://sources.redhat.com/pthreads-win32/contributors.html
 * 
 *      This library is free software; you can redistribute it and/or
 *      modify it under the terms of the GNU Lesser 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
 *      Lesser General Public License for more details.
 * 
 *      You should have received a copy of the GNU Lesser General Public
 *      License along with this library in the file COPYING.LIB;
 *      if not, write to the Free Software Foundation, Inc.,
 *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 */

#if !defined( PTHREAD_H )
#define PTHREAD_H

#undef PTW32_LEVEL

#if defined(_POSIX_SOURCE)
#define PTW32_LEVEL 0
/* Early POSIX */
#endif

#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309
#undef PTW32_LEVEL
#define PTW32_LEVEL 1
/* Include 1b, 1c and 1d */
#endif

#if defined(INCLUDE_NP)
#undef PTW32_LEVEL
#define PTW32_LEVEL 2
/* Include Non-Portable extensions */
#endif

#define PTW32_LEVEL_MAX 3

#if !defined(PTW32_LEVEL)
#define PTW32_LEVEL PTW32_LEVEL_MAX
/* Include everything */
#endif

#ifdef _UWIN
#   define HAVE_STRUCT_TIMESPEC 1
#   define HAVE_SIGNAL_H	1
#   undef HAVE_CONFIG_H
#   pragma comment(lib, "pthread")
#endif

/*
 * -------------------------------------------------------------
 *
 *
 * Module: pthread.h
 *
 * Purpose:
 *	Provides an implementation of PThreads based upon the
 *	standard:
 *
 *		POSIX 1003.1-2001
 *  and
 *    The Single Unix Specification version 3
 *
 *    (these two are equivalent)
 *
 *	in order to enhance code portability between Windows,
 *  various commercial Unix implementations, and Linux.
 *
 *	See the ANNOUNCE file for a full list of conforming
 *	routines and defined constants, and a list of missing
 *	routines and constants not defined in this implementation.
 *
 * Authors:
 *	There have been many contributors to this library.
 *	The initial implementation was contributed by
 *	John Bossom, and several others have provided major
 *	sections or revisions of parts of the implementation.
 *	Often significant effort has been contributed to
 *	find and fix important bugs and other problems to
 *	improve the reliability of the library, which sometimes
 *	is not reflected in the amount of code which changed as
 *	result.
 *	As much as possible, the contributors are acknowledged
 *	in the ChangeLog file in the source code distribution
 *	where their changes are noted in detail.
 *
 *	Contributors are listed in the CONTRIBUTORS file.
 *
 *	As usual, all bouquets go to the contributors, and all
 *	brickbats go to the project maintainer.
 *
 * Maintainer:
 *	The code base for this project is coordinated and
 *	eventually pre-tested, packaged, and made available by
 *
 *		Ross Johnson <rpj@ise.canberra.edu.au>
 *
 * QA Testers:
 *	Ultimately, the library is tested in the real world by
 *	a host of competent and demanding scientists and
 *	engineers who report bugs and/or provide solutions
 *	which are then fixed or incorporated into subsequent
 *	versions of the library. Each time a bug is fixed, a
 *	test case is written to prove the fix and ensure
 *	that later changes to the code don't reintroduce the
 *	same error. The number of test cases is slowly growing
 *	and therefore so is the code reliability.
 *
 * Compliance:
 *	See the file ANNOUNCE for the list of implemented
 *	and not-implemented routines and defined options.
 *	Of course, these are all defined is this file as well.
 *
 * Web site:
 *	The source code and other information about this library
 *	are available from
 *
 *		http://sources.redhat.com/pthreads-win32/
 *
 * -------------------------------------------------------------
 */

/* Try to avoid including windows.h */
#if defined(__MINGW32__) && defined(__cplusplus)
/*
 * FIXME: The pthreadGCE.dll build gets linker unresolved errors
 * on pthread_key_create() unless windows.h is included here.
 * It appears to have something to do with an argument type mismatch.
 * Looking at tsd.o with 'nm' shows this line:
 * 00000000 T _pthread_key_create__FPP14pthread_key_t_PFPv_v
 * instead of
 * 00000000 T _pthread_key_create
 */
#define PTW32_INCLUDE_WINDOWS_H
#endif

#ifdef PTW32_INCLUDE_WINDOWS_H
#include <windows.h>
#endif

/*
 * -----------------
 * autoconf switches
 * -----------------
 */

#if HAVE_CONFIG_H
#include "config.h"
#endif /* HAVE_CONFIG_H */

#if PTW32_LEVEL >= PTW32_LEVEL_MAX

/* Try to avoid including windows.h */
#if defined(__MINGW32__) && defined(__cplusplus)
/*
 * FIXME: The pthreadGCE.dll build gets linker unresolved errors
 * on pthread_key_create() unless windows.h is included here.
 * It appears to have something to do with an argument type mismatch.
 * Looking at tsd.o with 'nm' shows this line:
 * 00000000 T _pthread_key_create__FPP14pthread_key_t_PFPv_v
 * instead of
 * 00000000 T _pthread_key_create
 */
#define PTW32_INCLUDE_WINDOWS_H
#endif

#ifdef PTW32_INCLUDE_WINDOWS_H
#include <windows.h>
#endif

#ifndef NEED_FTIME
#include <time.h>
#else /* NEED_FTIME */
/* use native WIN32 time API */
#endif /* NEED_FTIME */

#if HAVE_SIGNAL_H
#include <signal.h>
#endif /* HAVE_SIGNAL_H */

#include <setjmp.h>
#include <limits.h>

/*
 * Boolean values to make us independent of system includes.
 */
enum {
  PTW32_FALSE = 0,
  PTW32_TRUE = (! PTW32_FALSE)
};

/*
 * This is a duplicate of what is in the autoconf config.h,
 * which is only used when building the pthread-win32 libraries.
 */

#ifndef PTW32_CONFIG_H
#  if defined(WINCE)
#    define NEED_ERRNO
#    define NEED_SEM
#  endif
#  if defined(_UWIN) || defined(__MINGW32__)
#    define HAVE_MODE_T
#  endif
#endif

/*
 *
 */

#if PTW32_LEVEL >= PTW32_LEVEL_MAX
#ifdef NEED_ERRNO
#include "need_errno.h"
#else
#include <errno.h>
#endif
#endif /* PTW32_LEVEL >= PTW32_LEVEL_MAX */

/*
 * Several systems don't define ENOTSUP. If not, we use
 * the same value as Solaris.
 */
#ifndef ENOTSUP
#  define ENOTSUP 48
#endif

#ifndef ETIMEDOUT
#  define ETIMEDOUT 10060     /* This is the value in winsock.h. */
#endif

#include <sched.h>

/*
 * To avoid including windows.h we define only those things that we
 * actually need from it. I don't like the potential incompatibility that
 * this creates with future versions of windows.
 */
#ifndef PTW32_INCLUDE_WINDOWS_H
#ifndef HANDLE
# define PTW32__HANDLE_DEF
# define HANDLE void *
#endif
#ifndef DWORD
# define PTW32__DWORD_DEF
# define DWORD unsigned long
#endif
#endif

#endif /* PTW32_LEVEL >= PTW32_LEVEL_MAX */

#ifndef HAVE_STRUCT_TIMESPEC
struct timespec {
	long tv_sec;
	long tv_nsec;
};
#endif /* HAVE_STRUCT_TIMESPEC */

#ifndef SIG_BLOCK
#define SIG_BLOCK 0
#endif /* SIG_BLOCK */

#ifndef SIG_UNBLOCK 
#define SIG_UNBLOCK 1
#endif /* SIG_UNBLOCK */

#ifndef SIG_SETMASK
#define SIG_SETMASK 2
#endif /* SIG_SETMASK */

#ifdef __cplusplus
extern "C"
{
#endif				/* __cplusplus */

/*
 * -------------------------------------------------------------
 *
 * POSIX 1003.1-2001 Options
 * =========================
 *
 * _POSIX_THREADS (set)
 *			If set, you can use threads
 *
 * _POSIX_THREAD_ATTR_STACKSIZE (set)
 *			If set, you can control the size of a thread's
 *			stack
 *				pthread_attr_getstacksize
 *				pthread_attr_setstacksize
 *
 * _POSIX_THREAD_ATTR_STACKADDR (not set)
 *			If set, you can allocate and control a thread's
 *			stack. If not supported, the following functions
 *			will return ENOSYS, indicating they are not
 *			supported:
 *				pthread_attr_getstackaddr
 *				pthread_attr_setstackaddr
 *
 * _POSIX_THREAD_PRIORITY_SCHEDULING (set)
 *			If set, you can use realtime scheduling.
 *			Indicates the availability of:
 *				pthread_attr_getinheritsched
 *				pthread_attr_getschedparam
 *				pthread_attr_getschedpolicy
 *				pthread_attr_getscope
 *				pthread_attr_setinheritsched
 *				pthread_attr_setschedparam
 *				pthread_attr_setschedpolicy
 *				pthread_attr_setscope
 *				pthread_getschedparam
 *				pthread_setschedparam
 *				sched_get_priority_max
 *				sched_get_priority_min
 *				sched_rr_set_interval
 *
 * _POSIX_THREAD_PRIO_INHERIT (not set)
 *			If set, you can create priority inheritance
 *			mutexes.
 *				pthread_mutexattr_getprotocol +
 *				pthread_mutexattr_setprotocol +
 *
 * _POSIX_THREAD_PRIO_PROTECT (not set)
 *			If set, you can create priority ceiling mutexes
 *			Indicates the availability of:
 *				pthread_mutex_getprioceiling
 *				pthread_mutex_setprioceiling
 *				pthread_mutexattr_getprioceiling
 *				pthread_mutexattr_getprotocol	  +
 *				pthread_mutexattr_setprioceiling
 *				pthread_mutexattr_setprotocol	  +
 *
 * _POSIX_THREAD_PROCESS_SHARED (not set)
 *			If set, you can create mutexes and condition
 *			variables that can be shared with another
 *			process.If set, indicates the availability
 *			of:
 *				pthread_mutexattr_getpshared
 *				pthread_mutexattr_setpshared
 *				pthread_condattr_getpshared
 *				pthread_condattr_setpshared
 *
 * _POSIX_THREAD_SAFE_FUNCTIONS (set)
 *			If set you can use the special *_r library
 *			functions that provide thread-safe behaviour
 *
 * _POSIX_READER_WRITER_LOCKS (set)
 *			If set, you can use read/write locks
 *
 * _POSIX_SPIN_LOCKS (set)
 *			If set, you can use spin locks
 *
 * _POSIX_BARRIERS (set)
 *			If set, you can use barriers
 *
 *	+ These functions provide both 'inherit' and/or
 *	  'protect' protocol, based upon these macro
 *	  settings.
 *
 * POSIX 1003.1-2001 Limits
 * ===========================
 *
 * PTHREAD_DESTRUCTOR_ITERATIONS
 *			Maximum number of attempts to destroy
 *			a thread's thread-specific data on
 *			termination (must be at least 4)
 *
 * PTHREAD_KEYS_MAX
 *			Maximum number of thread-specific data keys
 *			available per process (must be at least 128)
 *
 * PTHREAD_STACK_MIN
 *			Minimum supported stack size for a thread
 *
 * PTHREAD_THREADS_MAX
 *			Maximum number of threads supported per
 *			process (must be at least 64).
 *
 * _POSIX_SEM_NSEMS_MAX
 *	The maximum number of semaphores a process can have.
 *	(only defined if not already defined)
 *
 * _POSIX_SEM_VALUE_MAX
 *	The maximum value a semaphore can have.
 *	(only defined if not already defined)
 *
 * -------------------------------------------------------------
 */

/*
 * POSIX Options
 */
#ifndef _POSIX_THREADS
#define _POSIX_THREADS
#endif

#ifndef _POSIX_READER_WRITER_LOCKS
#define _POSIX_READER_WRITER_LOCKS
#endif

#ifndef _POSIX_SPIN_LOCKS
#define _POSIX_SPIN_LOCKS
#endif

#ifndef _POSIX_BARRIERS
#define _POSIX_BARRIERS
#endif

#define _POSIX_THREAD_SAFE_FUNCTIONS
#define _POSIX_THREAD_ATTR_STACKSIZE
#define _POSIX_THREAD_PRIORITY_SCHEDULING

#if defined( KLUDGE )
/*
 * The following are not supported
 */
#define _POSIX_THREAD_ATTR_STACKADDR

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久电影| 精品在线亚洲视频| 久久se精品一区精品二区| 不卡的av电影| 精品国产精品网麻豆系列| 亚洲欧美日韩在线播放| 国产一区二区久久| 欧美精品乱码久久久久久| 国产精品不卡在线| 国产精品18久久久久久vr| 欧美久久久一区| 亚洲女人小视频在线观看| 国产成人在线色| 日韩欧美成人一区| 日韩电影网1区2区| 欧美精品在线一区二区| 亚洲黄色在线视频| 91影院在线免费观看| 久久久亚洲精华液精华液精华液| 亚洲sss视频在线视频| 久久久久久麻豆| 日本不卡视频在线| 精品视频色一区| 亚洲综合激情小说| 日本道在线观看一区二区| 日韩毛片高清在线播放| 粉嫩久久99精品久久久久久夜| 欧美videossexotv100| 日欧美一区二区| 中文字幕中文乱码欧美一区二区| 国产精品一二一区| 欧美mv日韩mv国产| 久久精品av麻豆的观看方式| 在线播放国产精品二区一二区四区 | 色婷婷狠狠综合| 国产精品成人一区二区艾草| www.在线欧美| 亚洲欧美偷拍另类a∨色屁股| 99久久久久久| 尤物在线观看一区| 欧美另类一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 欧美日本在线一区| 日韩精品免费视频人成| 欧美大胆人体bbbb| 国产盗摄一区二区三区| 国产精品高潮呻吟| 97久久精品人人爽人人爽蜜臀| 亚洲欧美电影院| 欧美亚洲自拍偷拍| 日韩二区在线观看| 久久精品一区二区三区av| 成人一道本在线| 亚洲国产精品久久一线不卡| 日韩一级完整毛片| 国产精品18久久久久久久久| 亚洲少妇30p| 欧美精品v日韩精品v韩国精品v| 奇米影视7777精品一区二区| 久久久久国产免费免费| 97精品超碰一区二区三区| 亚洲国产精品欧美一二99| 26uuu亚洲综合色欧美| 成人av在线一区二区三区| 亚洲一区二区欧美| 久久免费电影网| 欧美中文字幕亚洲一区二区va在线| 亚洲电影第三页| 国产日韩欧美一区二区三区乱码| 色天天综合久久久久综合片| 美女视频网站久久| 一区精品在线播放| 日韩一区二区麻豆国产| voyeur盗摄精品| 美女一区二区三区| 亚洲综合清纯丝袜自拍| 久久精品亚洲乱码伦伦中文| 欧美午夜一区二区三区| 国产黄色精品视频| 一区二区欧美国产| 国产日产精品一区| 欧美一卡在线观看| 91久久人澡人人添人人爽欧美| 国产在线一区二区| 天堂久久一区二区三区| 亚洲日本欧美天堂| 国产日韩综合av| 91精品国产综合久久久久久| 一本色道a无线码一区v| 国产成人自拍高清视频在线免费播放| 亚洲一区在线看| 国产精品免费视频观看| 精品99999| 国产精品不卡视频| 国产亚洲精品7777| 精品不卡在线视频| 日韩欧美你懂的| 91精品国产全国免费观看| 色婷婷国产精品久久包臀 | 亚洲成人精品一区| 日韩一区在线免费观看| 精品动漫一区二区三区在线观看| 欧美福利视频一区| 在线不卡的av| 欧美日韩免费观看一区二区三区| 一本大道av一区二区在线播放| 丁香婷婷综合色啪| 成人黄色电影在线| 成人在线综合网| 国产成人8x视频一区二区| 国内外成人在线| 久草热8精品视频在线观看| 日本欧美加勒比视频| 日韩精品亚洲专区| 日韩精品午夜视频| 久久国产麻豆精品| 久久精品国产**网站演员| 激情图片小说一区| 国产伦精品一区二区三区免费迷 | 一区二区激情小说| 亚洲一区二区三区四区在线观看| 日韩美女精品在线| 亚洲福利视频三区| 首页欧美精品中文字幕| 免费美女久久99| 国产一区二区视频在线播放| 国产裸体歌舞团一区二区| 成人午夜大片免费观看| 97se亚洲国产综合自在线观| 99久久精品国产一区| 色嗨嗨av一区二区三区| 7777精品伊人久久久大香线蕉 | 亚洲不卡一区二区三区| 日韩成人免费电影| 韩国精品一区二区| av在线综合网| 在线观看亚洲精品视频| 欧美久久久久久久久久| 精品乱人伦小说| 国产精品国产三级国产aⅴ入口| 一区二区激情视频| 男人操女人的视频在线观看欧美 | 亚洲天天做日日做天天谢日日欢 | 丁香激情综合五月| 欧美体内she精高潮| www亚洲一区| 亚洲欧美日韩国产综合在线| 婷婷综合在线观看| 国产mv日韩mv欧美| 精品视频免费看| 久久精品亚洲精品国产欧美 | 久久国产精品区| 91麻豆成人久久精品二区三区| 欧美夫妻性生活| 国产精品免费aⅴ片在线观看| 亚洲国产中文字幕在线视频综合| 久久91精品国产91久久小草| av不卡免费在线观看| 91精品国产综合久久久久久| 国产精品久久免费看| 美女诱惑一区二区| 在线中文字幕不卡| 国产偷国产偷精品高清尤物| 亚洲大型综合色站| gogo大胆日本视频一区| 欧美成人免费网站| 亚洲一二三区在线观看| 粉嫩av一区二区三区| 欧美一区二区免费视频| 一区二区三区日韩精品视频| 国产另类ts人妖一区二区| 欧美日韩国产大片| 一区二区三区自拍| 成人av综合在线| 精品剧情在线观看| 日日夜夜精品免费视频| 91在线观看高清| 国产精品污污网站在线观看| 麻豆国产欧美日韩综合精品二区| 欧美图片一区二区三区| 国产精品不卡一区| 成人污污视频在线观看| 欧美成人video| 日韩高清国产一区在线| 欧美视频在线观看一区二区| 亚洲女人的天堂| 91在线免费视频观看| 国产午夜精品久久久久久免费视 | 蜜桃一区二区三区在线| 欧美综合一区二区| 亚洲视频一区在线观看| 成人精品gif动图一区| 国产偷国产偷亚洲高清人白洁| 久久99深爱久久99精品| 正在播放亚洲一区| 免费成人你懂的| 日韩欧美国产午夜精品| 蜜桃av一区二区| 欧美精品一区二区三区蜜臀| 久久成人精品无人区|