sembuf
struct sembuf Sem_buf, /* semaphore operation buffer */
struct sembuf semops[1];
struct sembuf semops[1];
struct sembuf sembuf;
for (; nsops > 0 && !interrupt; --nsops, offset += sizeof (sembuf)) {
if (Pread(Proc, &sembuf, sizeof (sembuf), offset) !=
sizeof (sembuf))
sembuf.sem_num,
sembuf.sem_op);
if (sembuf.sem_flg == 0)
else if ((str = semflags(pri, sembuf.sem_flg)) != NULL)
(void) printf("0%.6o\n", sembuf.sem_flg);
semop(int semid, struct sembuf *sops, size_t nsops)
semtimedop(int semid, struct sembuf *sops, size_t nsops,
struct sembuf sem_b;
struct sembuf sem_b;
struct sembuf sem_b;
struct sembuf sem_b;
int semop(int, struct sembuf *, size_t);
int semtimedop(int, struct sembuf *, size_t, const struct timespec *);
error = semop((int)a1, (struct sembuf *)a2, (size_t)a3, 0);
error = semop((int)a1, (struct sembuf *)a2, (size_t)a3,
sem_rollback(ksemid_t *sp, struct sembuf *op, int n, struct sem_undo *undo)
semop(int semid, struct sembuf *sops, size_t nsops, timespec_t *timeout)
struct sembuf *op; /* ptr to operation */
struct sembuf *uops; /* ptr to copy of user ops */
struct sembuf x_sem; /* avoid kmem_alloc's */