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

📄 pthread.h.in

📁 Linux下的中文输入法
💻 IN
📖 第 1 页 / 共 2 页
字号:
 */#define PTHREAD_ONCE_INIT 0/* * Mutex static initialization values. */enum pthread_mutextype {    PTHREAD_MUTEX_DEFAULT = 1,    PTHREAD_MUTEX_RECURSIVE,    PTHREAD_MUTEX_NORMAL,    PTHREAD_MUTEX_ERRORCHECK};/* * Mutex/CondVar/RWLock static initialization values. */#define PTHREAD_MUTEX_INITIALIZER   (pthread_mutex_t)(NULL)#define PTHREAD_COND_INITIALIZER    (pthread_cond_t)(NULL)#define PTHREAD_RWLOCK_INITIALIZER  (pthread_rwlock_t)(NULL)/* * IEEE (``POSIX'') Std 1003.1 Second Edition 1996-07-12 *//* thread attribute routines */extern int       pthread_attr_init(pthread_attr_t *);extern int       pthread_attr_destroy(pthread_attr_t *);extern int       pthread_attr_setinheritsched(pthread_attr_t *, int);extern int       pthread_attr_getinheritsched(const pthread_attr_t *, int *);extern int       pthread_attr_setschedparam(pthread_attr_t *, const struct sched_param *);extern int       pthread_attr_getschedparam(const pthread_attr_t *, struct sched_param *);extern int       pthread_attr_setschedpolicy(pthread_attr_t *, int);extern int       pthread_attr_getschedpolicy(const pthread_attr_t *, int *);extern int       pthread_attr_setscope(pthread_attr_t *, int);extern int       pthread_attr_getscope(const pthread_attr_t *, int *);extern int       pthread_attr_setstacksize(pthread_attr_t *, size_t);extern int       pthread_attr_getstacksize(const pthread_attr_t *, size_t *);extern int       pthread_attr_setstackaddr(pthread_attr_t *, void *);extern int       pthread_attr_getstackaddr(const pthread_attr_t *, void **);extern int       pthread_attr_setdetachstate(pthread_attr_t *, int);extern int       pthread_attr_getdetachstate(const pthread_attr_t *, int *);extern int       pthread_attr_setguardsize(pthread_attr_t *, int);extern int       pthread_attr_getguardsize(const pthread_attr_t *, int *);extern int       pthread_attr_setname_np(pthread_attr_t *, char *);extern int       pthread_attr_getname_np(const pthread_attr_t *, char **);extern int       pthread_attr_setprio_np(pthread_attr_t *, int);extern int       pthread_attr_getprio_np(const pthread_attr_t *, int *);/* thread routines */extern int       pthread_create(pthread_t *, const pthread_attr_t *, void *(*)(void *), void *);extern int       __pthread_detach(pthread_t);#define          pthread_detach(t) __pthread_detach(t)extern pthread_t pthread_self(void);extern int       pthread_equal(pthread_t, pthread_t);extern int       pthread_yield_np(void);extern void      pthread_exit(void *);extern int       pthread_join(pthread_t, void **);extern int       pthread_once(pthread_once_t *, void (*)(void));extern int       pthread_sigmask(int, const sigset_t *, sigset_t *);extern int       pthread_kill(pthread_t, int);/* concurrency routines */extern int       pthread_getconcurrency(void);extern int       pthread_setconcurrency(int);/* context routines */extern int       pthread_key_create(pthread_key_t *, void (*)(void *));extern int       pthread_key_delete(pthread_key_t);extern int       pthread_setspecific(pthread_key_t, const void *);extern void     *pthread_getspecific(pthread_key_t);/* cancel routines */extern int       pthread_cancel(pthread_t);extern void      pthread_testcancel(void);extern int       pthread_setcancelstate(int, int *);extern int       pthread_setcanceltype(int, int *);/* scheduler routines */extern int       pthread_setschedparam(pthread_t, int, const struct sched_param *);extern int       pthread_getschedparam(pthread_t, int *, struct sched_param *);/* cleanup routines */extern void      pthread_cleanup_push(void (*)(void *), void *);extern void      pthread_cleanup_pop(int);extern int       pthread_atfork(void (*)(void), void (*)(void), void (*)(void));/* mutex attribute routines */extern int       pthread_mutexattr_init(pthread_mutexattr_t *);extern int       pthread_mutexattr_destroy(pthread_mutexattr_t *);extern int       pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int);extern int       pthread_mutexattr_getprioceiling(pthread_mutexattr_t *, int *);extern int       pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int);extern int       pthread_mutexattr_getprotocol(pthread_mutexattr_t *, int *);extern int       pthread_mutexattr_setpshared(pthread_mutexattr_t *, int);extern int       pthread_mutexattr_getpshared(pthread_mutexattr_t *, int *);extern int       pthread_mutexattr_settype(pthread_mutexattr_t *, int);extern int       pthread_mutexattr_gettype(pthread_mutexattr_t *, int *);/* mutex routines */extern int       pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *);extern int       pthread_mutex_destroy(pthread_mutex_t *);extern int       pthread_mutex_setprioceiling(pthread_mutex_t *, int, int *);extern int       pthread_mutex_getprioceiling(pthread_mutex_t *, int *);extern int       pthread_mutex_lock(pthread_mutex_t *);extern int       pthread_mutex_trylock(pthread_mutex_t *);extern int       pthread_mutex_unlock(pthread_mutex_t *);/* rwlock attribute routines */extern int       pthread_rwlockattr_init(pthread_rwlockattr_t *);extern int       pthread_rwlockattr_destroy(pthread_rwlockattr_t *);extern int       pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);extern int       pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *);/* rwlock routines */extern int       pthread_rwlock_init(pthread_rwlock_t *, const pthread_rwlockattr_t *);extern int       pthread_rwlock_destroy(pthread_rwlock_t *);extern int       pthread_rwlock_rdlock(pthread_rwlock_t *);extern int       pthread_rwlock_tryrdlock(pthread_rwlock_t *);extern int       pthread_rwlock_wrlock(pthread_rwlock_t *);extern int       pthread_rwlock_trywrlock(pthread_rwlock_t *);extern int       pthread_rwlock_unlock(pthread_rwlock_t *);/* condition attribute routines */extern int       pthread_condattr_init(pthread_condattr_t *);extern int       pthread_condattr_destroy(pthread_condattr_t *);extern int       pthread_condattr_setpshared(pthread_condattr_t *, int);extern int       pthread_condattr_getpshared(pthread_condattr_t *, int *);/* condition routines */extern int       pthread_cond_init(pthread_cond_t *, const pthread_condattr_t *);extern int       pthread_cond_destroy(pthread_cond_t *);extern int       pthread_cond_broadcast(pthread_cond_t *);extern int       pthread_cond_signal(pthread_cond_t *);extern int       pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *);extern int       pthread_cond_timedwait(pthread_cond_t *, pthread_mutex_t *, const struct timespec *);/* * Extensions created by POSIX 1003.1j */extern int       pthread_abort(pthread_t);/* * Optionally fake poll(2) data structure and options */#if !(@PTH_FAKE_POLL@)/* use vendor poll(2) environment */#include <poll.h>#ifndef INFTIM#define INFTIM (-1)#endif#else/* fake a poll(2) environment */#define POLLIN      0x0001      /* any readable data available   */#define POLLPRI     0x0002      /* OOB/Urgent readable data      */#define POLLOUT     0x0004      /* file descriptor is writeable  */#define POLLERR     0x0008      /* some poll error occurred      */#define POLLHUP     0x0010      /* file descriptor was "hung up" */#define POLLNVAL    0x0020      /* requested events "invalid"    */#define POLLRDNORM  POLLIN#define POLLRDBAND  POLLIN#define POLLWRNORM  POLLOUT#define POLLWRBAND  POLLOUT#ifndef INFTIM#define INFTIM      (-1)        /* poll infinite */#endifstruct pollfd {    int fd;                     /* which file descriptor to poll */    short events;               /* events we are interested in   */    short revents;              /* events found on return        */};#endif/* * Optionally fake readv(2)/writev(2) data structure and options */#if !(@PTH_FAKE_RWV@)/* use vendor readv(2)/writev(2) environment */#include <sys/uio.h>#ifndef UIO_MAXIOV#define UIO_MAXIOV 1024#endif#else/* fake a readv(2)/writev(2) environment */struct iovec {    void  *iov_base;  /* memory base address */    size_t iov_len;   /* memory chunk length */};#ifndef UIO_MAXIOV#define UIO_MAXIOV 1024#endif#endif/* * Replacement Functions (threading aware) */extern pid_t              __pthread_fork(void);extern unsigned int       __pthread_sleep(unsigned int);extern int                __pthread_nanosleep(const struct timespec *, struct timespec *);extern int                __pthread_usleep(unsigned int);extern int                __pthread_system(const char *);extern int                __pthread_sigwait(const sigset_t *, int *);extern pid_t              __pthread_waitpid(pid_t, int *, int);extern int                __pthread_connect(int, struct sockaddr *, socklen_t);extern int                __pthread_accept(int, struct sockaddr *, socklen_t *);extern int                __pthread_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);extern int                __pthread_poll(struct pollfd *, nfds_t, int);extern ssize_t            __pthread_read(int, void *, size_t);extern ssize_t            __pthread_write(int, const void *, size_t);extern ssize_t            __pthread_readv(int, const struct iovec *, int);extern ssize_t            __pthread_writev(int, const struct iovec *, int);extern ssize_t            __pthread_recv(int, void *, size_t, int);extern ssize_t            __pthread_send(int, const void *, size_t, int);extern ssize_t            __pthread_recvfrom(int, void *, size_t, int, struct sockaddr *, socklen_t *);extern ssize_t            __pthread_sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t);extern ssize_t            __pthread_pread(int, void *, size_t, off_t);extern ssize_t            __pthread_pwrite(int, const void *, size_t, off_t);#if _POSIX_THREAD_SYSCALL_SOFT && !defined(_PTHREAD_PRIVATE)#define fork       __pthread_fork#define sleep      __pthread_sleep#define nanosleep  __pthread_nanosleep#define usleep     __pthread_usleep#define system     __pthread_system#define sigwait    __pthread_sigwait#define waitpid    __pthread_waitpid#define connect    __pthread_connect#define accept     __pthread_accept#define select     __pthread_select#define poll       __pthread_poll#define read       __pthread_read#define write      __pthread_write#define readv      __pthread_readv#define writev     __pthread_writev#define recv       __pthread_recv#define send       __pthread_send#define recvfrom   __pthread_recvfrom#define sendto     __pthread_sendto#define pread      __pthread_pread#define pwrite     __pthread_pwrite#endif/* * More "special" POSIX stuff */#define sched_yield  pthread_yield_np/* * Backward Compatibility Stuff for Pthread draft 4 (DCE threads) */#ifdef _POSIX_BACKCOMPAT#define _POSIX_THREADS_PER_THREAD_SIGNALS 1#define pthread_attr_default       NULL#define pthread_condattr_default   NULL#define pthread_mutexattr_default  NULL#define pthread_once_init          PTHREAD_ONCE_INIT#define pthread_detach(thread)  __pthread_detach(*(thread))#define pthread_attr_init       pthread_attr_create#define pthread_attr_delete     pthread_attr_destroy#define pthread_keycreate       pthread_key_create#define pthread_yield           pthread_yield_np#define pthread_attr_setprio    pthread_attr_setprio_np#define pthread_attr_getprio    pthread_attr_getprio_np#define CANCEL_ON  1#define CANCEL_OFF 2#define pthread_setcancel(what) \        pthread_setcancelstate((what) == CANCEL_ON ? \                               PTHREAD_CANCEL_ENABLE : \                               PTHREAD_CANCEL_DISABLE)#define pthread_setasynccancel(what) \        pthread_setcanceltype((what) == CANCEL_ON ? \                              PTHREAD_CANCEL_ASYNCHRONOUS : \                              PTHREAD_CANCEL_DEFERRED)#define pthread_setscheduler    #error#define pthread_setprio         #error#define pthread_attr_setsched   #error#define pthread_attr_getsched   #error#endif /* _POSIX_BACKCOMPAT */#ifdef __cplusplus}#endif#endif /* _PTH_PTHREAD_H_ */

⌨️ 快捷键说明

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