sem.h

来自「TCP-IP红宝书源代码」· C头文件 代码 · 共 34 行

H
34
字号
/* sem.h - isbadsem */

#ifndef	_SEM_H_
#define _SEM_H_

#ifndef	NSEM
#define	NSEM		50	/* number of semaphores, if not defined	*/
#endif

#define	SFREE	'\01'		/* this semaphore is free		*/
#define	SUSED	'\02'		/* this semaphore is used		*/

struct	sentry	{		/* semaphore table entry		*/
	char	sstate;		/* the state SFREE or SUSED		*/
	int	semcnt;		/* count for this semaphore		*/
	int	sqhead;		/* q index of head of list		*/
	int	sqtail;		/* q index of tail of list		*/
};
extern	struct	sentry	semaph[];
extern	int	nextsem;

struct sema_stat {
	int	inuse;
	int	maxuse;
	int	failures;
};

#define	isbadsem(s)	(s<0 || s>=NSEM)

SYSCALL screate(unsigned), scount(int), wait(int), signal(int);
SYSCALL sdelete(int);

#endif /* _SEM_H_ */

⌨️ 快捷键说明

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