C++ Library, mos@ua  0.9
cpplib-mos
process.h
Go to the documentation of this file.
1 
54 #ifndef PROCESS_H
55 #define PROCESS_H
56 
57 #include <unistd.h>
58 #include <sys/ipc.h>
59 #include <sys/shm.h>
60 #include <sys/sem.h>
61 #include <semaphore.h>
62 
63 //#define EXCEPTION_POLICY
64 //#define EXIT_POLICY // DEFAULT
65 
66 
78 pid_t pfork(void);
79 
87 pid_t pwait(int *status);
88 
96 pid_t pwaitpid(pid_t pid, int *status, int options);
97 
138 int pshmget(key_t key, size_t size, int shmflg);
139 
147 int pshmctl(int shmid, int cmd, struct shmid_ds *buf);
148 
156 void *pshmat(int shmid, const void *shmaddr, int shmflg);
157 
165 void pshmdt(const void *shmaddr);
166 
213 int psemget(key_t key, int nsems, int semflg);
214 
222 int psemctl(int semid, int semnum, int cmd);
223 int psemctl(int semid, int semnum, int cmd, void *u);
224 
232 void psemop(int semid, struct sembuf *sops, size_t nsops);
233 
237 void psem_up(int semid, short unsigned int index);
238 
242 void psem_down(int semid, short unsigned int index);
243 
292 int pmsgget(key_t key, int msgflg);
293 
301 int pmsgctl(int msqid, int cmd, struct msqid_ds *buf);
302 
310 void pmsgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);
311 
319 size_t pmsgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
320 
328 // named:
336 sem_t *psem_open(const char *name, int oflag);
337 sem_t *psem_open(const char *name, int oflag, mode_t mode, unsigned int value);
338 
350 void psem_close(sem_t *sem);
351 
359 void psem_unlink(const char *name);
360 
361 // unnamed:
373 void psem_init(sem_t *sem, int pshared, unsigned int value);
374 
386 void psem_destroy(sem_t *sem);
387 
388 // named and unnamed:
400 void psem_wait(sem_t *sem);
401 
415 int psem_trywait(sem_t *sem);
416 
430 int psem_timedwait(sem_t *sem, const struct timespec *abs_timeout);
431 
443 void psem_post(sem_t *sem);
444 
447 #endif
448 
449 /* ************************************************** */
453 /* ************************************************** */
454 
void psem_destroy(sem_t *sem)
sem_destroy wrapper function.
void psem_post(sem_t *sem)
sem_post wrapper function.
pid_t pfork(void)
fork wrapper function.
void pmsgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg)
msgsnd wrapper function.
void psem_down(int semid, short unsigned int index)
Decrements a semaphore (uses psemop()).
int pshmctl(int shmid, int cmd, struct shmid_ds *buf)
shmctl wrapper function.
int pshmget(key_t key, size_t size, int shmflg)
shmget wrapper function.
void psem_close(sem_t *sem)
sem_close wrapper function.
pid_t pwaitpid(pid_t pid, int *status, int options)
waitpid wrapper function.
int pmsgget(key_t key, int msgflg)
msgget wrapper function.
void pshmdt(const void *shmaddr)
shmdt wrapper function.
void psem_up(int semid, short unsigned int index)
Increment a semaphore (uses psemop()).
size_t pmsgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)
msgrcv wrapper function.
int pmsgctl(int msqid, int cmd, struct msqid_ds *buf)
msgctl wrapper function.
pid_t pwait(int *status)
wait wrapper function.
int psem_timedwait(sem_t *sem, const struct timespec *abs_timeout)
sem_timedwait wrapper function.
void psemop(int semid, struct sembuf *sops, size_t nsops)
semop wrapper function.
void psem_init(sem_t *sem, int pshared, unsigned int value)
sem_init wrapper function.
int psemctl(int semid, int semnum, int cmd)
semctl wrapper function.
int psem_trywait(sem_t *sem)
sem_trywait wrapper function.
void psem_wait(sem_t *sem)
sem_wait wrapper function.
void psem_unlink(const char *name)
sem_unlink wrapper function.
int psemget(key_t key, int nsems, int semflg)
semget wrapper function.
sem_t * psem_open(const char *name, int oflag)
sem_open wrapper function.
void * pshmat(int shmid, const void *shmaddr, int shmflg)
shmat wrapper function.