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

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

?? rtl_mutex.h

?? fsmlabs的real time linux的內核
?? H
字號:
/* * RTLinux mutex implementation * * Written by Michael Barabanov * Copyright (C) Finite State Machine Labs Inc., 1999 * Released under the terms of the GPL Version 2 * */#ifndef __RTL_MUTEX__#define __RTL_MUTEX__#ifdef __KERNEL__#include <rtl_conf.h>#include <errno.h>#include <rtl_spinlock.h>enum { PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_ERRORCHECK,	PTHREAD_MUTEX_SPINLOCK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL };typedef struct {	int type;	int pshared;	int protocol;	int prioceiling;} pthread_mutexattr_t;#define PTHREAD_PROCESS_PRIVATE 0#define PTHREAD_PROCESS_SHARED 1#define RTL_WAIT_MAGIC 0x43743543struct rtl_thread_struct;struct rtl_wait_struct {	int magic;	struct rtl_thread_struct *waiter;	struct rtl_wait_struct *next;};struct rtl_waitqueue_struct {	struct rtl_wait_struct *queue;	spinlock_t *p_lock;};typedef struct rtl_waitqueue_struct rtl_wait_t;#define rtl_wait_init(q) do { (q)->queue = 0; /* spin_lock_init(&((q)->lock)); */ } while (0)extern int rtl_wait_sleep (rtl_wait_t *wait, spinlock_t *lock);extern int rtl_wait_wakeup (rtl_wait_t *wait);#define RTL_WAIT_INITIALIZER { 0 /*, SPIN_LOCK_UNLOCKED */}typedef struct {	rtl_irqstate_t flags;	int busy;	int valid;	spinlock_t lock;	int type;	rtl_wait_t wait;	int protocol;	int prioceiling;	int oldprio;} pthread_mutex_t;#define PTHREAD_MUTEX_INITIALIZER { 0,0,1, SPIN_LOCK_UNLOCKED, PTHREAD_MUTEX_DEFAULT, RTL_WAIT_INITIALIZER, PTHREAD_PRIO_NONE }enum {PTHREAD_PRIO_NONE, PTHREAD_PRIO_PROTECT};static inline int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type){	if (type != PTHREAD_MUTEX_NORMAL			&& attr->type != PTHREAD_MUTEX_SPINLOCK_NP) {		return EINVAL;	}	attr->type = type;	return 0;}static inline int pthread_mutexattr_getpshared(const pthread_mutexattr_t *attr,		    int *pshared){	*pshared = attr->pshared;	return 0;}/*TODO something sensible with this. We don't worry about  shared and not shared yet.  */extern inline int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr,		    int pshared){	if (pshared != PTHREAD_PROCESS_SHARED			&& pshared != PTHREAD_PROCESS_PRIVATE) {		return EINVAL;	}	attr->pshared = pshared;	return 0;}extern int pthread_mutexattr_init(pthread_mutexattr_t *attr);extern inline int pthread_mutexattr_destroy(pthread_mutexattr_t *attr){	return 0;}extern int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);extern inline int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type){	*type = attr->type;	return 0;}extern int pthread_mutex_init(pthread_mutex_t *mutex,		    const pthread_mutexattr_t *attr);extern inline int pthread_mutex_destroy(pthread_mutex_t *mutex);extern int pthread_mutex_lock(pthread_mutex_t *mutex);extern int pthread_mutex_trylock(pthread_mutex_t *mutex);extern int pthread_mutex_unlock(pthread_mutex_t *mutex);/* not supported for spinlock mutexes */extern int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *abstime);static inline int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int protocol){#ifndef _RTL_POSIX_THREAD_PRIO_PROTECT		return ENOTSUP;#endif	if (protocol != PTHREAD_PRIO_PROTECT && protocol != PTHREAD_PRIO_NONE) {		return ENOTSUP;	}	attr->protocol = protocol;	return 0;}static inline int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *attr, int *protocol){	*protocol = attr->protocol;	return 0;}static inline int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, int prioceiling){	attr->prioceiling = prioceiling;	return 0;}static inline int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *attr, int *prioceiling){	*prioceiling = attr->prioceiling;	return 0;}extern int pthread_mutex_setprioceiling(pthread_mutex_t *mutex, int prioceiling, int *old_ceiling);static inline int pthread_mutex_getprioceiling(const pthread_mutex_t *mutex, int *prioceiling){	*prioceiling = mutex->prioceiling;	return 0;}typedef struct {	int pshared;} pthread_condattr_t;extern inline int pthread_condattr_getpshared(const pthread_condattr_t *attr,		    int *pshared){	*pshared = attr->pshared;	return 0;}extern inline int pthread_condattr_setpshared(pthread_condattr_t *attr,		    int pshared) {	if (pshared != PTHREAD_PROCESS_SHARED			&& pshared != PTHREAD_PROCESS_PRIVATE) {		return EINVAL;	}	attr->pshared = pshared;	return 0;}extern inline int pthread_condattr_init(pthread_condattr_t *attr){	attr->pshared = PTHREAD_PROCESS_PRIVATE;	return 0;}extern inline int pthread_condattr_destroy(pthread_condattr_t *attr){	return 0;}typedef struct {	rtl_wait_t wait;	spinlock_t lock;} pthread_cond_t;#define PTHREAD_COND_INITIALIZER { RTL_WAIT_INITIALIZER, SPIN_LOCK_UNLOCKED }extern int pthread_cond_init(pthread_cond_t *cond,		    const pthread_condattr_t *attr);extern int pthread_cond_destroy(pthread_cond_t *cond);extern int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);extern int pthread_cond_broadcast(pthread_cond_t *cond);#define pthread_cond_signal(cond) pthread_cond_broadcast(cond)extern int pthread_cond_timedwait(pthread_cond_t *cond,		    pthread_mutex_t *mutex, const struct timespec *abstime);#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
全国精品久久少妇| 久久综合99re88久久爱| 亚洲综合成人在线| 一区二区三区不卡视频| 亚洲欧美乱综合| 成人免费小视频| 依依成人综合视频| 亚洲人成7777| 亚洲欧洲精品一区二区精品久久久 | 一区二区在线观看av| 欧美精品一区二区久久久| 日韩欧美亚洲国产精品字幕久久久| 欧美日韩国产一级| 欧美白人最猛性xxxxx69交| 精品久久人人做人人爱| 国产欧美日韩另类视频免费观看| 国产亚洲福利社区一区| 亚洲精品中文字幕乱码三区 | 色综合色综合色综合| 不卡一区二区在线| 色国产精品一区在线观看| 精品国产一区二区三区不卡| 777a∨成人精品桃花网| 欧美情侣在线播放| 亚洲一区中文日韩| 欧美成人激情免费网| 成人综合激情网| 菠萝蜜视频在线观看一区| 久久精品欧美一区二区三区不卡| 国产视频一区在线播放| 亚洲色图欧美在线| 日本最新不卡在线| 国产精品 日产精品 欧美精品| 成人蜜臀av电影| 欧美日韩一级片网站| 久久九九久久九九| 夜夜操天天操亚洲| 中文字幕日韩精品一区| 婷婷国产v国产偷v亚洲高清| 欧美在线制服丝袜| 中文字幕一区二区在线播放| 91亚洲男人天堂| 欧美国产禁国产网站cc| 日韩精品久久久久久| 国产剧情一区在线| 日韩免费电影网站| 国产99久久久精品| 亚洲激情在线激情| 天堂一区二区在线免费观看| 亚洲电影一级片| 老司机精品视频在线| 美女在线视频一区| 不卡视频一二三四| 精品久久久久久久久久久久包黑料 | 欧美精品乱码久久久久久按摩| 日本久久精品电影| 欧美日韩国产bt| 日韩女优视频免费观看| 国产日韩av一区| 综合网在线视频| 日本欧美大码aⅴ在线播放| 青青草97国产精品免费观看无弹窗版| 首页国产欧美日韩丝袜| 国产精品538一区二区在线| 国产成人av在线影院| 欧美日韩在线一区二区| 日韩精品中文字幕在线不卡尤物 | 欧美一区在线视频| 国产激情一区二区三区桃花岛亚洲| 久久久精品2019中文字幕之3| 激情文学综合网| 日本丰满少妇一区二区三区| 亚洲成av人影院在线观看网| 亚洲综合av网| 成人在线综合网站| 久久亚洲二区三区| 精品一区二区三区在线播放 | 中文字幕精品一区二区三区精品| 欧美96一区二区免费视频| 欧美精品一二三四| 午夜精品久久久久久久| 精品视频一区三区九区| 亚洲一区在线视频观看| 在线看日本不卡| 亚洲综合丁香婷婷六月香| 欧美调教femdomvk| 亚洲成人你懂的| 7777精品伊人久久久大香线蕉 | 中文字幕中文字幕一区二区| 成人动漫一区二区在线| 18成人在线视频| 色成人在线视频| 午夜精品一区二区三区免费视频 | 久久国产尿小便嘘嘘尿| 精品免费日韩av| 成人精品免费视频| 亚洲免费在线播放| 在线播放91灌醉迷j高跟美女| 奇米亚洲午夜久久精品| 亚洲精品一线二线三线无人区| 久久99热国产| 亚洲欧洲韩国日本视频| 欧美三级视频在线观看| 免费观看成人av| 国产日韩亚洲欧美综合| 色婷婷综合久久久| 日韩av一区二区三区四区| 欧美精品一区二区高清在线观看| 成人免费毛片a| 五月天一区二区三区| 久久九九99视频| 在线视频一区二区三| 老司机精品视频在线| 亚洲视频综合在线| 欧美成人一区二区三区| 99久久久无码国产精品| 天天综合网 天天综合色| 国产婷婷精品av在线| 欧洲一区在线电影| 国产一区二区三区四区五区入口| 亚洲四区在线观看| 久久久亚洲精品一区二区三区| 日本高清视频一区二区| 韩国精品一区二区| 亚洲成人激情社区| 国产精品久久久久久一区二区三区| 91精品国产麻豆国产自产在线| 99精品欧美一区二区三区小说| 久久国产精品区| 肉色丝袜一区二区| 1024成人网色www| 久久久久久久综合狠狠综合| 欧美一区日韩一区| 欧美三级日韩在线| 91美女在线看| 成人教育av在线| 九色|91porny| 免费成人在线播放| 亚洲高清免费视频| 亚洲欧洲av另类| 国产网站一区二区| 久久伊人蜜桃av一区二区| 91麻豆精品国产91久久久久| 欧美专区日韩专区| 91蝌蚪porny九色| 成人理论电影网| 国产成人精品影院| 国产美女av一区二区三区| 蓝色福利精品导航| 免费成人av在线| 日韩专区一卡二卡| 日韩中文字幕麻豆| 性久久久久久久| 亚洲在线视频免费观看| 综合在线观看色| 中文字幕一区二区三区四区不卡| 国产日产精品1区| 久久精品亚洲乱码伦伦中文| 久久精品男人天堂av| 欧美精品一区二区三区很污很色的| 欧美r级在线观看| 精品久久一区二区| 国产欧美日韩视频在线观看| 欧美高清在线视频| 中文字幕一区二区三区乱码在线| 日韩一区在线看| 亚洲一区在线观看视频| 亚洲第一狼人社区| 日韩激情av在线| 久久99在线观看| 国产精品羞羞答答xxdd| 国产sm精品调教视频网站| 成人毛片老司机大片| 色婷婷综合激情| 在线电影院国产精品| 欧美一区二区三区人| 26uuu久久综合| 国产精品久久久99| 一区二区三区免费看视频| 亚洲一区免费在线观看| 日韩成人一区二区三区在线观看| 美女网站在线免费欧美精品| 成人在线视频一区二区| 欧美综合在线视频| 久久这里都是精品| 亚洲人成7777| 另类小说色综合网站| 成人h动漫精品一区二区| 色视频成人在线观看免| 欧美一区二区网站| 亚洲欧洲日本在线| 美国十次了思思久久精品导航| 粉嫩高潮美女一区二区三区| 欧美性高清videossexo| 亚洲精品一线二线三线| 亚洲一区二区免费视频| 国产成人精品免费一区二区| 欧美日韩免费电影| 国产精品久久久久三级| 精品一区二区三区在线播放视频|