1 #define _SYSTEM 1 /* get OK and negative error codes */ 2 3 #include <minix/callnr.h> 4 #include <minix/com.h> 5 #include <minix/config.h> 6 #include <minix/ipc.h> 7 #include <minix/endpoint.h> 8 #include <minix/sysutil.h> 9 #include <minix/const.h> 10 #include <minix/type.h> 11 #include <minix/syslib.h> 12 13 #include <sys/types.h> 14 #include <sys/ipc.h> 15 #include <sys/shm.h> 16 #include <sys/sem.h> 17 #include <sys/mman.h> 18 #include <machine/param.h> 19 #include <machine/vm.h> 20 #include <machine/vmparam.h> 21 22 #include <lib.h> 23 #include <time.h> 24 #include <stdio.h> 25 #include <string.h> 26 #include <stdlib.h> 27 #include <unistd.h> 28 #include <errno.h> 29 #include <signal.h> 30 31 int do_shmget(message *); 32 int do_shmat(message *); 33 int do_shmdt(message *); 34 int do_shmctl(message *); 35 int check_perm(struct ipc_perm *, endpoint_t, int); 36 void update_refcount_and_destroy(void); 37 int do_semget(message *); 38 int do_semctl(message *); 39 int do_semop(message *); 40 int is_sem_nil(void); 41 int is_shm_nil(void); 42 void sem_process_vm_notify(void); 43 44 EXTERN int identifier; 45 EXTERN endpoint_t who_e; 46 EXTERN int call_type; 47