NAME
_ksem,
_ksem_init,
_ksem_open,
_ksem_close,
_ksem_unlink,
_ksem_destroy,
_ksem_getvalue,
_ksem_post,
_ksem_wait,
_ksem_timedwait,
_ksem_trywait —
back-end
implementation for POSIX semaphores
SYNOPSIS
#include <sys/ksem.h>
int
_ksem_init(
int
value,
intptr_t
*idp);
int
_ksem_open(
const
char *name,
int
oflag,
mode_t mode,
unsigned int value,
intptr_t *idp);
int
_ksem_close(
intptr_t
id);
int
_ksem_unlink(
const
char *name);
int
_ksem_destroy(
intptr_t
id);
int
_ksem_getvalue(
intptr_t
id,
unsigned int
*value);
int
_ksem_post(
intptr_t
id);
int
_ksem_wait(
intptr_t
id);
int
_ksem_timedwait(
intptr_t
id,
const struct timespec
*abstime);
int
_ksem_trywait(
intptr_t
id);
DESCRIPTION
The
_ksem_*() family of system calls provide the kernel
implementation of POSIX semaphores.
RETURN VALUES
Successful calls to the
_ksem_*() system calls return a value
of zero. Otherwise, -1 is returned and
errno is set to
provide more information.
ERRORS
Please see the section 3 manual pages for specific error information.
SEE ALSO
sem_close(3),
sem_destroy(3),
sem_getvalue(3),
sem_init(3),
sem_open(3),
sem_post(3),
sem_unlink(3),
sem_wait(3),
sem(4)
HISTORY
Most of the
_ksem_*() system calls first appeared in
NetBSD 2.0. The
_ksem_timedwait()
system call first appeared in
NetBSD 5.0.