/* ** CVS $Id: ipcfunc.c,v 1.4 2001/01/20 19:58:49 zhangsz Exp $ ** ** ipcfunc.c ** created at 2000/12/20 ** by Zhang SZ ** ** IPC functions for PACS-WLL project. ** */ #include "./include/iptrans.h" /*@ignore@*/ void * iptrShmInit(int shm_id, char *prog_name, key_t key, int size, int shmflg) { void *retp; char *func_name = "ShmInit"; shm_id = shmget(key, size, shmflg); if (shm_id == -1) { log_sys("%s: %s: shmget(key: %x)", prog_name, func_name, key); return NULL; } retp = shmat(shm_id, (char *)0, 0); if (retp == (void *) -1) { log_sys("%s: %s: shmat", prog_name, func_name); return NULL; } return retp; } int iptrSemInit(char *prog_name, key_t key, int sem_num, int sem_flg) { int initarray[sem_num]; int sem_id, retval, i; char *func_name = "SemInit"; sem_id = semget(key, sem_num, sem_flg); if (sem_id == -1) log_sys("%s: %s: semget", prog_name, func_name); for (i=0; i