 8a54d267f0
			
		
	
	
		8a54d267f0
		
	
	
	
	
		
			
			- sys_getbiosbuffer feature is gone (from kernel; available from vm) - bump version number because munmap() calls that newly compiled binaries will do trigger an ugly (but harmless) error message in older VM's - some new VM calls and flags, the new IPC calls - some new CR0 register bits - added files for shared memory
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _SYS_SEM_H
 | |
| #define _SYS_SEM_H
 | |
| 
 | |
| #include <sys/types.h>
 | |
| #include <sys/ipc.h>
 | |
| 
 | |
| #define SEMMNI	128
 | |
| #define SEMMSL	250
 | |
| #define SEMMNS	(SEMMSL*SEMMNI)
 | |
| 
 | |
| #define SEMOPM	32
 | |
| #define SEMVMX	32767
 | |
| 
 | |
| /* Flags for `semop'.  */
 | |
| #define SEM_UNDO        0x1000          /* undo the operation on exit */
 | |
| 
 | |
| /* Commands for `semctl'.  */
 | |
| #define GETPID          11              /* get sempid */
 | |
| #define GETVAL          12              /* get semval */
 | |
| #define GETALL          13              /* get all semval's */
 | |
| #define GETNCNT         14              /* get semncnt */
 | |
| #define GETZCNT         15              /* get semzcnt */
 | |
| #define SETVAL          16              /* set semval */
 | |
| #define SETALL          17              /* set all semval's */
 | |
| 
 | |
| 
 | |
| /* Data structure describing a set of semaphores.  */
 | |
| struct semid_ds
 | |
| {
 | |
| 	struct ipc_perm sem_perm;             /* operation permission struct */
 | |
| 	time_t sem_otime;                   /* last semop() time */
 | |
| 	unsigned long int __unused1;
 | |
| 	time_t sem_ctime;                   /* last time changed by semctl() */
 | |
| 	unsigned long int __unused2;
 | |
| 	unsigned long int sem_nsems;          /* number of semaphores in set */
 | |
| 	unsigned long int __unused3;
 | |
| 	unsigned long int __unused4;
 | |
| };
 | |
| 
 | |
| /* Structure used for argument to `semop' to describe operations.  */
 | |
| struct sembuf
 | |
| {
 | |
| 	unsigned short int sem_num;   /* semaphore number */
 | |
| 	short int sem_op;             /* semaphore operation */
 | |
| 	short int sem_flg;            /* operation flag */
 | |
| };
 | |
| 
 | |
| 
 | |
| /* Semaphore control operation.  */
 | |
| _PROTOTYPE( int semctl, (int __semid, int __semnum, int __cmd, ...));
 | |
| 
 | |
| /* Get semaphore.  */
 | |
| _PROTOTYPE( int semget, (key_t __key, int __nsems, int __semflg));
 | |
| 
 | |
| /* Operate on semaphore.  */
 | |
| _PROTOTYPE( int semop, (int __semid, struct sembuf *__sops, size_t __nsops));
 | |
| 
 | |
| 
 | |
| #ifdef __USE_MISC
 | |
| 
 | |
| /* ipcs ctl cmds */
 | |
| # define SEM_STAT 18
 | |
| # define SEM_INFO 19
 | |
| 
 | |
| struct  seminfo
 | |
| {
 | |
| 	int semmap;
 | |
| 	int semmni;
 | |
| 	int semmns;
 | |
| 	int semmnu;
 | |
| 	int semmsl;
 | |
| 	int semopm;
 | |
| 	int semume;
 | |
| 	int semusz;
 | |
| 	int semvmx;
 | |
| 	int semaem;
 | |
| };
 | |
| 
 | |
| #endif /* __USE_MISC */
 | |
| 
 | |
| #endif /* _SYS_SEM_H */
 |