Subversion Repositories tendra.SVN

Rev

Rev 78 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
78 7u83 1
#ifndef __TENDRA_SYS_SEM_H
2
#define __TENDRA_SYS_SEM_H
3
 
4
 
5
/*
6
 * semop's sops parameter structure
7
 */
8
struct sembuf {
9
	unsigned short	sem_num;	/* semaphore # */
10
	short		sem_op;		/* semaphore operation */
11
	short		sem_flg;	/* operation flags */
12
};
13
#define SEM_UNDO	010000
14
 
15
struct semid_ds {
16
	struct ipc_perm	sem_perm;	/* operation permission struct */
17
	struct sem	*__sem_base;	/* pointer to first semaphore in set */
18
	unsigned short	sem_nsems;	/* number of sems in set */
19
	time_t		sem_otime;	/* last operation time */
20
	time_t		sem_ctime;	/* last change time */
21
    					/* Times measured in secs since */
22
    					/* 00:00:00 UTC, Jan. 1, 1970, without leap seconds */
23
};
24
 
25
 
26
/*
27
 * commands for semctl
28
 */
29
#define GETNCNT	3	/* Return the value of semncnt {READ} */
30
#define GETPID	4	/* Return the value of sempid {READ} */
31
#define GETVAL	5	/* Return the value of semval {READ} */
32
#define GETALL	6	/* Return semvals into arg.array {READ} */
33
#define GETZCNT	7	/* Return the value of semzcnt {READ} */
34
#define SETVAL	8	/* Set the value of semval to arg.val {ALTER} */
35
#define SETALL	9	/* Set semvals from arg.array {ALTER} */
36
#define SEM_STAT 10	/* Like IPC_STAT but treats semid as sema-index */
37
#define SEM_INFO 11	/* Like IPC_INFO but treats semid as sema-index */
38
 
39
 
40
#endif