Merged these into POSIX manual.

This commit is contained in:
Joel Sherrill
1998-11-19 16:33:49 +00:00
parent 28c6b2a10a
commit e9264513e4
19 changed files with 0 additions and 9745 deletions

View File

@@ -1,175 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Thread Cancellation Manager
@section Introduction
The
thread cancellation manager is ...
The directives provided by the thread cancellation manager are:
@itemize @bullet
@item @code{pthread_cancel} -
@item @code{pthread_setcancelstate} -
@item @code{pthread_setcanceltype} -
@item @code{pthread_testcancel} -
@item @code{pthread_cleanup_push} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the thread cancellation manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection pthread_cancel -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int pthread_cancel(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_setcancelstate -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int pthread_setcancelstate(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_setcanceltype -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int pthread_setcanceltype(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_testcancel -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int pthread_testcancel(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_cleanup_push -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int pthread_cleanup_push(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,274 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Clock Manager
@section Introduction
The clock manager ...
The directives provided by the clock manager are:
@itemize @bullet
@item @code{clock_gettime} -
@item @code{clock_settime} -
@item @code{clock_getres} -
@item @code{sleep} - Delay Process Execution
@item @code{nanosleep} -
@item @code{gettimeofday} - Get the Time of Day
@item @code{time} - Get time in seconds
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the clock manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@subsection clock_gettime -
@subheading CALLING SEQUENCE:
@example
#include <time.h>
int clock_gettime(
clockid_t clock_id,
struct timespec *tp
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINVAL
The tp pointer parameter is invalid.
@item EINVAL
The clock_id specified is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
NONE
@page
@subsection clock_settime -
@subheading CALLING SEQUENCE:
@example
#include <time.h>
int clock_settime(
clockid_t clock_id,
const struct timespec *tp
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINVAL
The tp pointer parameter is invalid.
@item EINVAL
The clock_id specified is invalid.
@item EINVAL
The contents of the tp structure are invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
NONE
@page
@subsection clock_getres -
@subheading CALLING SEQUENCE:
@example
#include <time.h>
int clock_getres(
clockid_t clock_id,
struct timespec *res
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINVAL
The res pointer parameter is invalid.
@item EINVAL
The clock_id specified is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
If res is NULL, then the resolution is not returned.
@page
@subsection sleep - Delay Process Execution
@subheading CALLING SEQUENCE:
@example
#include <time.h>
unsigned int sleep(
unsigned int seconds
);
@end example
@subheading STATUS CODES:
This routine returns the number of unslept seconds.
@subheading DESCRIPTION:
The @code{sleep()} function delays the calling thread by the specified
number of @code{seconds}.
@subheading NOTES:
This call is interruptible by a signal.
@page
@subsection nanosleep -
@subheading CALLING SEQUENCE:
@example
#include <time.h>
int nanosleep(
const struct timespec *rqtp,
struct timespec *rmtp
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINTR
The routine was interrupted by a signal.
@item EAGAIN
The requested sleep period specified negative seconds or nanoseconds.
@item EINVAL
The requested sleep period specified an invalid number for the nanoseconds
field.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This call is interruptible by a signal.
@page
@subsection gettimeofday - Get the Time of Day
@subheading CALLING SEQUENCE:
@example
#include <sys/time.h>
#include <unistd.h>
int gettimeofday(
struct timeval *tp,
struct timezone *tzp
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets @code{errno} as appropriate.
@table @b
@item EPERM
@code{settimeofdat} is called by someone other than the superuser.
@item EINVAL
Timezone (or something else) is invalid.
@item EFAULT
One of @code{tv} or @code{tz} pointed outside your accessible address
space
@end table
@subheading DESCRIPTION:
This routine returns the current time of day in the @code{tp} structure.
@subheading NOTES:
Currently, the timezone information is not supported. The @code{tzp}
argument is ignored.
@page
@subsection time - Get time in seconds
@subheading CALLING SEQUENCE:
@example
#include <time.h>
int time(
time_t *tloc
);
@end example
@subheading STATUS CODES:
This routine returns the number of seconds since the Epoch.
@subheading DESCRIPTION:
@code{time} returns the time since 00:00:00 GMT, January 1, 1970,
measured in seconds
If @code{tloc} in non null, the return value is also stored in the
memory pointed to by @code{t}.
@subheading NOTES:
NONE

View File

@@ -1,323 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Condition Variable Manager
@section Introduction
The condition variable manager ...
The directives provided by the condition variable manager are:
@itemize @bullet
@item @code{pthread_condattr_init} -
@item @code{pthread_condattr_destroy} -
@item @code{pthread_condattr_setpshared} -
@item @code{pthread_condattr_getpshared} -
@item @code{pthread_cond_init} -
@item @code{pthread_cond_destroy} -
@item @code{pthread_cond_signal} -
@item @code{pthread_cond_broadcast} -
@item @code{pthread_cond_wait} -
@item @code{pthread_cond_timedwait} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the condition variable manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection pthread_condattr_init
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_condattr_init(
pthread_condattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item ENOMEM
Insufficient memory is available to initialize the condition variable
attributes object.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_condattr_destroy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_condattr_destroy(
pthread_condattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute object specified is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_condattr_setpshared
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_condattr_setpshared(
pthread_condattr_t *attr,
int pshared
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_condattr_getpshared
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_condattr_getpshared(
const pthread_condattr_t *attr,
int *pshared
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_cond_init
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_init(
pthread_cond_t *cond,
const pthread_condattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EAGAIN
The system lacked a resource other than memory necessary to create the
initialize the condition variable object.
@item ENOMEM
Insufficient memory is available to initialize the condition variable object.
@item EBUSY
The specified condition variable has already been initialized.
@item EINVAL
The specified attribute value is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_cond_destroy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_destroy(
pthread_cond_t *cond
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified condition variable is invalid.
@item EBUSY
The specified condition variable is currently in use.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_cond_signal
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_signal(
pthread_cond_t *cond
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified condition variable is not valid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine should not be invoked from a handler from an asynchronous signal
handler or an interrupt service routine.
@page
@subsection pthread_cond_broadcast
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_broadcast(
pthread_cond_t *cond
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified condition variable is not valid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine should not be invoked from a handler from an asynchronous signal
handler or an interrupt service routine.
@page
@subsection pthread_cond_wait
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_wait(
pthread_cond_t *cond,
pthread_mutex_t *mutex
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified condition variable or mutex is not initialized OR different
mutexes were specified for concurrent pthread_cond_wait() and
pthread_cond_timedwait() operations on the same condition variable OR
the mutex was not owned by the current thread at the time of the call.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_cond_timedwait
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_cond_timedwait(
pthread_cond_t *cond,
pthread_mutex_t *mutex,
const struct timespec *abstime
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified condition variable or mutex is not initialized OR different
mutexes were specified for concurrent pthread_cond_wait() and
pthread_cond_timedwait() operations on the same condition variable OR
the mutex was not owned by the current thread at the time of the call.
@item ETIMEDOUT
The specified time has elapsed without the condition variable being
satisfied.
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,623 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Language-Specific Services for the C Programming Language Manager
@section Introduction
The
language-specific services for the C programming language manager is ...
The directives provided by the language-specific services for the C programming language manager are:
@itemize @bullet
@item @code{setlocale} -
@item @code{fileno} -
@item @code{fdopen} -
@item @code{flcokfile} -
@item @code{ftrylockfile} -
@item @code{funlockfile} -
@item @code{getc_unlocked} -
@item @code{getchar_unlocked} -
@item @code{putc_unlocked} -
@item @code{putchar_unlocked} -
@item @code{setjmp} -
@item @code{longjmp} -
@item @code{sigsetjmp} -
@item @code{siglongjmp} -
@item @code{tzset} -
@item @code{strtok_r} -
@item @code{asctime_r} -
@item @code{ctime_r} -
@item @code{gmtime_r} -
@item @code{localtime_r} -
@item @code{rand_r} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the language-specific services for the C programming language manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection setlocale -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setlocale(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection fileno -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int fileno(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection fdopen -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int fdopen(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection flcokfile -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int flcokfile(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection ftrylockfile -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int ftrylockfile(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection funlockfile -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int funlockfile(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getc_unlocked -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getc_unlocked(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getchar_unlocked -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getchar_unlocked(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection putc_unlocked -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int putc_unlocked(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection putchar_unlocked -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int putchar_unlocked(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection setjmp -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setjmp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection longjmp -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int longjmp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sigsetjmp -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sigsetjmp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection siglongjmp -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int siglongjmp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection tzset -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tzset(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection strtok_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int strtok_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection asctime_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int asctime_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection ctime_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int ctime_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection gmtime_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int gmtime_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection localtime_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int localtime_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection rand_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int rand_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,465 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Device- and Class- Specific Functions Manager
@section Introduction
The device- and class- specific functions manager is ...
The directives provided by the device- and class- specific functions
manager are:
@itemize @bullet
@item @code{cfgetispeed} - Reads terminal input baud rate
@item @code{cfgetospeed} - Reads terminal output baud rate
@item @code{cfsetispeed} - Sets terminal input baud rate
@item @code{cfsetospeed} - Set terminal output baud rate
@item @code{tcgetattr} - Gets terminal attributes
@item @code{tcsetattr} - Set terminal attributes
@item @code{tcsendbreak} - Sends a break to a terminal
@item @code{tcdrain} - Waits for all output to be transmitted to the terminal
@item @code{tcflush} - Discards terminal data
@item @code{tcflow} - Suspends/restarts terminal output
@item @code{tcgetpgrp} - Gets foreground process group ID
@item @code{tcsetpgrp} - Sets foreground process group ID
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the device- and class- specific functions manager's
directives. A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection cfgetispeed - Reads terminal input baud rate
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
int cfgetispeed(
const struct termios *p
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
The @code{cfgetispeed()} function returns a code for baud rate.
@subheading DESCRIPTION:
The @code{cfsetispeed()} function stores a code for the terminal speed
stored in a struct termios. The codes are defined in @code{<termios.h>}
by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
B1800, B2400, B4800, B9600, B19200, and B38400.
The @code{cfsetispeed()} function does not do anything to the hardware.
It merely stores a value for use by @code{tcsetattr()}.
@subheading NOTES:
Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
number returned for any given speed may change from system to system.
@page
@subsection cfgetospeed - Reads terminal output baud rate
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
int cfgetospeed(
const struct termios *p
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
The @code{cfgetospeed()} function returns the termios code for the baud rate.
@subheading DESCRIPTION:
The @code{cfgetospeed()} function returns a code for the terminal speed
stored in a @code{struct termios}. The codes are defined in @code{<termios.h>}
by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800,
B2400, B4800, B9600, B19200, and B38400.
The @code{cfgetospeed()} function does not do anything to the hardware.
It merely returns the value stored by a previous call to @code{tcgetattr()}.
@subheading NOTES:
Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
number returned for any given speed may change from system to system.
@page
@subsection cfsetispeed - Sets terminal input baud rate
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
int cfsetispeed(
struct termios *p,
speed_t speed
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
The @code{cfsetispeed()} function returns a zero when successful and
returns -1 when an error occurs.
@subheading DESCRIPTION:
The @code{cfsetispeed()} function stores a code for the terminal speed
stored in a struct termios. The codes are defined in @code{<termios.h>}
by the macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
B1800, B2400, B4800, B9600, B19200, and B38400.
@subheading NOTES:
This function merely stores a value in the @code{termios} structure. It
does not change the terminal speed until a @code{tcsetattr()} is done.
It does not detect impossible terminal speeds.
@page
@subsection cfsetospeed - Sets terminal output baud rate
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
int cfsetospeed(
struct termios *p,
speed_t speed
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
The @code{cfsetospeed()} function returns a zero when successful and
returns -1 when an error occurs.
@subheading DESCRIPTION:
The @code{cfsetospeed()} function stores a code for the terminal speed stored
in a struct @code{termios}. The codes are defiined in @code{<termios.h>} by the
macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800, B2400,
B4800, B9600, B19200, and B38400.
The @code{cfsetospeed()} function does not do anything to the hardware. It
merely stores a value for use by @code{tcsetattr()}.
@subheading NOTES:
This function merely stores a value in the @code{termios} structure.
It does not change the terminal speed until a @code{tcsetattr()} is done.
It does not detect impossible terminal speeds.
@page
@subsection tcgetattr - Gets terminal attributes
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
#include <unistd.h>
int tcgetattr(
int fildes,
struct termios *p
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item EBADF
Invalid file descriptor
@item ENOOTY
Terminal control function attempted for a file that is not a terminal.
@end table
@subheading DESCRIPTION:
The @code{tcgetattr()} gets the parameters associated with the terminal
referred to by @code{fildes} and stores them into the @code{termios()}
structure pointed to by @code{termios_p}.
@subheading NOTES:
NONE
@page
@subsection tcsetattr - Set terminal attributes
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
#include <unistd.h>
int tcsetattr(
int fildes,
int options,
const struct termios *tp
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection tcsendbreak - Sends a break to a terminal
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tcsendbreak(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine is not currently supported by RTEMS but could be
in a future version.
@page
@subsection tcdrain - Waits for all output to be transmitted to the terminal.
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <termios.h>
#include <unistd.h>
int tcdrain(
int fildes
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item EBADF
Invalid file descriptor
@item EINTR
Function was interrupted by a signal
@item ENOTTY
Terminal control function attempted for a file that is not a terminal.
@end table
@subheading DESCRIPTION:
The @code{tcdrain()} function waits until all output written to
@code{fildes} has been transmitted.
@subheading NOTES:
NONE
@page
@subsection tcflush - Discards terminal data
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tcflush(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine is not currently supported by RTEMS but could be
in a future version.
@page
@subsection tcflow - Suspends/restarts terminal output.
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tcflow(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine is not currently supported by RTEMS but could be
in a future version.
@page
@subsection tcgetpgrp - Gets foreground process group ID
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tcgetpgrp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine is not currently supported by RTEMS but could be
in a future version.
@page
@subsection tcsetpgrp - Sets foreground process group ID
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int tcsetpgrp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
This routine is not currently supported by RTEMS but could be
in a future version.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,140 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Key Manager
@section Introduction
The key manager ...
The directives provided by the key manager are:
@itemize @bullet
@item @code{pthread_key_create} -
@item @code{pthread_key_delete} -
@item @code{pthread_setspecific} -
@item @code{pthread_getspecific} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the key manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection pthread_key_create
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_key_create(
pthread_key_t *key,
void (*destructor)( void * )
);
@end example
@subheading STATUS CODES:
@table @b
@item EAGAIN
There were not enough resources available to create another key.
@item ENOMEM
Insufficient memory exists to create the key.
@end table
@page
@subsection pthread_key_delete
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_key_delete(
pthread_key_t key,
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The key was invalid
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_setspecific
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_setspecific(
pthread_key_t key,
const void *value
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified key is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_getspecific
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
void *pthread_getspecific(
pthread_key_t key
);
@end example
@subheading STATUS CODES:
@table @b
@item NULL
There is no thread-specific data associated with the specified key.
@item non-NULL
The data associated with the specified key.
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,315 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Memory Management Manager
@section Introduction
The
memory management manager is ...
The directives provided by the memory management manager are:
@itemize @bullet
@item @code{mlockall} -
@item @code{munlockall} -
@item @code{mlock} -
@item @code{munlock} -
@item @code{mmap} -
@item @code{munmap} -
@item @code{mprotect} -
@item @code{msync} -
@item @code{shm_open} -
@item @code{shm_unlink} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the memory management manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection mlockall -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mlockall(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection munlockall -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int munlockall(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mlock -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mlock(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection munlock -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int munlock(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mmap -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mmap(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection munmap -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int munmap(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mprotect -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mprotect(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection msync -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int msync(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection shm_open -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int shm_open(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection shm_unlink -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int shm_unlink(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,259 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Message Passing Manager
@section Introduction
The
message passing manager is ...
The directives provided by the message passing manager are:
@itemize @bullet
@item @code{mq_open} -
@item @code{mq_close} -
@item @code{mq_unlink} -
@item @code{mq_send} -
@item @code{mq_receive} -
@item @code{mq_notify} -
@item @code{mq_setattr} -
@item @code{mq_getattr} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the message passing manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection mq_open -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_open(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_close -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_close(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_unlink -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_unlink(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_send -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_send(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_receive -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_receive(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_notify -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_notify(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_setattr -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_setattr(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection mq_getattr -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int mq_getattr(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,555 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Mutex Manager
@section Introduction
The mutex manager ...
The directives provided by the mutex manager are:
@itemize @bullet
@item @code{pthread_mutexattr_init} -
@item @code{pthread_mutexattr_destroy} -
@item @code{pthread_mutexattr_setprotocol} -
@item @code{pthread_mutexattr_getprotocol} -
@item @code{pthread_mutexattr_setprioceiling} -
@item @code{pthread_mutexattr_getprioceiling} -
@item @code{pthread_mutexattr_setpshared} -
@item @code{pthread_mutexattr_getpshared} -
@item @code{pthread_mutex_init} -
@item @code{pthread_mutex_destroy} -
@item @code{pthread_mutex_lock} -
@item @code{pthread_mutex_trylock} -
@item @code{pthread_mutex_timedlock} -
@item @code{pthread_mutex_unlock} -
@item @code{pthread_mutex_setprioceiling} -
@item @code{pthread_mutex_getprioceiling} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the mutex manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection pthread_mutexattr_init
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_init(
pthread_mutexattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_destroy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_destroy(
pthread_mutexattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_setprotocol
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_setprotocol(
pthread_mutexattr_t *attr,
int protocol
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The protocol argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_getprotocol
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_getprotocol(
pthread_mutexattr_t *attr,
int *protocol
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The protocol pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_setprioceiling
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_setprioceiling(
pthread_mutexattr_t *attr,
int prioceiling
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The prioceiling argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_getprioceiling
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_getprioceiling(
const pthread_mutexattr_t *attr,
int *prioceiling
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The prioceiling pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_setpshared
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_setpshared(
pthread_mutexattr_t *attr,
int pshared
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The pshared argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutexattr_getpshared
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutexattr_getpshared(
const pthread_mutexattr_t *attr,
int *pshared
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The pshared pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_init
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_init(
pthread_mutex_t *mutex,
const pthread_mutexattr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The specified protocol is invalid.
@item EAGAIN
The system lacked the necessary resources to initialize another mutex.
@item ENOMEM
Insufficient memory exists to initialize the mutex.
@item EBUSY
Attempted to reinialize the object reference by mutex, a previously
initialized, but not yet destroyed.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_destroy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_destroy(
pthread_mutex_t *mutex
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified mutex is invalid.
@item EBUSY
Attempted to destroy the object reference by mutex, while it is locked or
referenced by another thread.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_lock
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_lock(
pthread_mutex_t *mutex
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified mutex is invalid.
@item EINVAL
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
priority of the calling thread is higher than the current priority
ceiling.
@item EDEADLK
The current thread already owns the mutex.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_trylock
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_trylock(
pthread_mutex_t *mutex
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified mutex is invalid.
@item EINVAL
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
priority of the calling thread is higher than the current priority
ceiling.
@item EDEADLK
The current thread already owns the mutex.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_timedlock
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
#include <time.h>
int pthread_mutex_timedlock(
pthread_mutex_t *mutex,
const struct timespec *timeout
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified mutex is invalid.
@item EINVAL
The nanoseconds field of timeout is invalid.
@item EINVAL
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
priority of the calling thread is higher than the current priority
ceiling.
@item EDEADLK
The current thread already owns the mutex.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_unlock
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_unlock(
pthread_mutex_t *mutex
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The specified mutex is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_setprioceiling
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_setprioceiling(
pthread_mutex_t *mutex,
int prioceiling,
int *oldceiling
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The oldceiling pointer parameter is invalid.
@item EINVAL
The prioceiling parameter is an invalid priority.
@item EINVAL
The specified mutex is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_mutex_getprioceiling
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_mutex_getprioceiling(
pthread_mutex_t *mutex,
int *prioceiling
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The prioceiling pointer parameter is invalid.
@item EINVAL
The specified mutex is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,34 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@ifinfo
@node Preface, , Top, Top
@end ifinfo
@unnumbered Preface
This is the User's Guide for the POSIX API support
provided in RTEMS.
The functionality described in this document is based
on the following standards:
@itemize @bullet
@item POSIX 1003.1b-1993.
@item POSIX 1003.1h/D3.
@end itemize
Much of the POSIX API standard is actually implemented in the
Cygnus Newlib ANSI C Library. Please refer to documentation on
Newlib for more information on what it supplies.
At this point, this is just beginning to become what it
ultimately should be.

View File

@@ -1,654 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Process Environment Manager
@section Introduction
The
process environment manager is ...
The directives provided by the process environment manager are:
@itemize @bullet
@item @code{getpid} -
@item @code{getppid} -
@item @code{getuid} -
@item @code{geteuid} -
@item @code{getgid} -
@item @code{getegid} -
@item @code{setuid} -
@item @code{setgid} -
@item @code{getgroups} -
@item @code{getlogin} -
@item @code{getlogin_r} -
@item @code{getpgrp} -
@item @code{setsid} -
@item @code{setpgid} -
@item @code{uname} -
@item @code{times} - Get process times
@item @code{getenv} -
@item @code{ctermid} -
@item @code{ttyname} -
@item @code{ttyname_r} -
@item @code{isatty} -
@item @code{sysconf} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the process environment manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection getpid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getppid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getppid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getuid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getuid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection geteuid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int geteuid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getgid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getegid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getegid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection setuid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setuid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection setgid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setgid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getgroups -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgroups(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getlogin -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getlogin(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getlogin_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getlogin_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getpgrp -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpgrp(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection setsid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setsid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection setpgid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int setpgid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection uname -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int uname(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection times - Get process times
@subheading CALLING SEQUENCE:
@example
#include <sys/time.h>
clock_t times(
struct tms *buf
);
@end example
@subheading STATUS CODES:
This routine returns the process times
@subheading DESCRIPTION:
@code{times} stores the current process times in @code{buf}.
@code{struct tms} is as defined in @code{/usr/include/sys/times.h}
@code{times} returns the number of clock ticks that have elapsed
since the systm has been up.
@subheading NOTES:
NONE
@page
@subsection getenv -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getenv(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection ctermid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int ctermid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection ttyname -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int ttyname(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection ttyname_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int ttyname_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection isatty -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int isatty(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sysconf -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sysconf(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,414 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Process Creation and Execution Manager
@section Introduction
The process creation and execution manager is ...
The directives provided by the process creation and execution manager are:
@itemize @bullet
@item @code{fork} - Create a Process
@item @code{execl} - Execute a File
@item @code{execv} - Execute a File
@item @code{execle} - Execute a File
@item @code{execve} - Execute a File
@item @code{execlp} - Execute a File
@item @code{execvp} - Execute a File
@item @code{pthread_atfork} - Register Fork Handlers
@item @code{wait} - Wait for Process Termination
@item @code{waitpid} - Wait for Process Termination
@item @code{_exit} - Terminate a Process
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the process creation and execution manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection fork - Create a Process
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <sys/types.h>
int fork( void );
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execl - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execl(
const char *path,
const char *arg,
...
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execv - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execv(
const char *path,
char const *argv[],
...
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execle - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execle(
const char *path,
const char *arg,
...
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execve - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execve(
const char *path,
char *const argv[],
char *const envp[]
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execlp - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execlp(
const char *file,
const char *arg,
...
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection execvp - Execute a File
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int execvp(
const char *file,
char *const argv[]
...
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection pthread_atfork - Register Fork Handlers
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <sys/types.h>
int pthread_atfork(
void (*prepare)(void),
void (*parent)(void),
void (*child)(void)
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection wait - Wait for Process Termination
@subheading CALLING SEQUENCE:
@ifset is-C
@example
#include <sys/types.h>
#include <sys/wait.h>
int wait(
int *stat_loc
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection waitpid - Wait for Process Termination
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int wait(
pid_t pid,
int *stat_loc,
int options
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item ENOSYS
This routine is not supported by RTEMS.
@end table
@subheading DESCRIPTION:
This routine is not supported by RTEMS.
@subheading NOTES:
NONE
@page
@subsection _exit - Terminate a Process
@subheading CALLING SEQUENCE:
@ifset is-C
@example
void _exit(
int status
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
NONE
@subheading DESCRIPTION:
The @code{_exit()} function terminates the calling process.
@subheading NOTES:
In RTEMS, a process is equivalent to the entire application on a single
processor. Invoking this service terminates the application.

View File

@@ -1,175 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Scheduler Manager
@section Introduction
The scheduler manager ...
The directives provided by the scheduler manager are:
@itemize @bullet
@item @code{sched_get_priority_min} -
@item @code{sched_get_priority_max} -
@item @code{sched_rr_get_interval} -
@item @code{sched_yield} -
@end itemize
@section Background
@subsection Priority
In the RTEMS implementation of the POSIX API, the priorities range from
the low priority of sched_get_priority_min() to the highest priority of
sched_get_priority_max(). Numerically higher values represent higher
priorities.
@subsection Scheduling Policies
The following scheduling policies are available:
@table @b
@item SCHED_FIFO
Priority-based, preemptive scheduling with no timeslicing. This is equivalent
to what is called "manual round-robin" scheduling.
@item SCHED_RR
Priority-based, preemptive scheduling with timeslicing. Time quantums are
maintained on a per-thread basis and are not reset at each context switch.
Thus, a thread which is preempted and subsequently resumes execution will
attempt to complete the unused portion of its time quantum.
@item SCHED_OTHER
Priority-based, preemptive scheduling with timeslicing. Time quantums are
maintained on a per-thread basis and are reset at each context switch.
@item SCHED_SPORADIC
Priority-based, preemptive scheduling utilizing three additional parameters:
budget, replenishment period, and low priority. Under this policy, the
thread is allowed to execute for "budget" amount of time before its priority
is lowered to "low priority". At the end of each replenishment period,
the thread resumes its initial priority and has its budget replenished.
@end table
@section Operations
There is currently no text in this section.
@section Directives
This section details the scheduler manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection sched_get_priority_min
@subheading CALLING SEQUENCE:
@example
#include <sched.h>
int sched_get_priority_min(
int policy
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINVAL
The indicated policy is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sched_get_priority_max
@subheading CALLING SEQUENCE:
@example
#include <sched.h>
int sched_get_priority_max(
int policy
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item EINVAL
The indicated policy is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sched_rr_get_interval
@subheading CALLING SEQUENCE:
@example
#include <sched.h>
int sched_rr_get_interval(
pid_t pid,
struct timespec *interval
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets errno to one of the following:
@table @b
@item ESRCH
The indicated process id is invalid.
@item EINVAL
The specified interval pointer parameter is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sched_yield
@subheading CALLING SEQUENCE:
@example
#include <sched.h>
int sched_yield( void );
@end example
@subheading STATUS CODES:
This routine always returns zero to indicate success.
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,287 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Semaphores Manager
@section Introduction
The
semaphore manager is ...
The directives provided by the semaphore manager are:
@itemize @bullet
@item @code{sem_init} -
@item @code{sem_destroy} -
@item @code{sem_open} -
@item @code{sem_close} -
@item @code{sem_unlink} -
@item @code{sem_wait} -
@item @code{sem_trywait} -
@item @code{sem_post} -
@item @code{sem_getvalue} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the semaphore manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection sem_init -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_init(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_destroy -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_destroy(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_open -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_open(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_close -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_close(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_unlink -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_unlink(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_wait -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_wait(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_trywait -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_trywait(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_post -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_post(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection sem_getvalue -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int sem_getvalue(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,728 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Signal Manager
@section Introduction
The signal manager ...
The directives provided by the signal manager are:
@itemize @bullet
@item @code{sigaddset} - Add a Signal to a Signal Set
@item @code{sigdelset} - Delete a Signal from a Signal Set
@item @code{sigfillset} - Fill a Signal Set
@item @code{sigismember} - Is Signal a Member of a Signal Set
@item @code{sigemptyset} - Empty a Signal Set
@item @code{sigaction} - Examine and Change Signal Action
@item @code{pthread_kill} - Send a Signal to a Thread
@item @code{sigprocmask} - Examine and Change Process Blocked Signals
@item @code{pthread_sigmask} - Examine and Change Thread Blocked Signals
@item @code{kill} - Send a Signal to a Process
@item @code{sigpending} - Examine Pending Signals
@item @code{sigsuspend} - Wait for a Signal
@item @code{pause} - Suspend Process Execution
@item @code{sigwait} - Synchronously Accept a Signal
@item @code{sigwaitinfo} - Synchronously Accept a Signal
@item @code{sigtimedwait} - Synchronously Accept a Signal with Timeout
@item @code{sigqueue} - Queue a Signal to a Process
@item @code{alarm} - Schedule Alarm
@end itemize
@section Background
@subsection Signal Delivery
Signals directed at a thread are delivered to the specified thread.
Signals directed at a process are delivered to a thread which is selected
based on the following algorithm:
@enumerate
@item If the action for this signal is currently @code{SIG_IGN},
then the signal is simply ignored.
@item If the currently executing thread has the signal unblocked, then
the signal is delivered to it.
@item If any threads are currently blocked waiting for this signal
(@code{sigwait()}), then the signal is delivered to the highest priority
thread waiting for this signal.
@item If any other threads are willing to accept delivery of the signal, then
the signal is delivered to the highest priority thread of this set. In the
event, multiple threads of the same priority are willing to accept this
signal, then priority is given first to ready threads, then to threads
blocked on calls which may be interrupted, and finally to threads blocked
on non-interruptible calls.
@item In the event the signal still can not be delivered, then it is left
pending. The first thread to unblock the signal (@code{sigprocmask()} or
@code{pthread_sigprocmask()}) or to wait for this signal
(@code{sigwait()}) will be the recipient of the signal.
@end enumerate
@section Operations
There is currently no text in this section.
@section Directives
This section details the signal manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection sigaddset - Add a Signal to a Signal Set
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigaddset(
sigset_t *set,
int signo
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function adds the @code{signo} to the specified signal @code{set}.
@subheading NOTES:
NONE
@page
@subsection sigdelset - Delete a Signal from a Signal Set
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigdelset(
sigset_t *set,
int signo
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function deletes the @code{signo} to the specified signal @code{set}.
@subheading NOTES:
NONE
@page
@subsection sigfillset - Fill a Signal Set
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigfillset(
sigset_t *set
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function fills the specified signal @code{set} such that all
signals are set.
@subheading NOTES:
NONE
@page
@subsection sigismember - Is Signal a Member of a Signal Set
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigismember(
const sigset_t *set,
int signo
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function returns returns 1 if @code{signo} is a member of @code{set}
and 0 otherwise.
@subheading NOTES:
NONE
@page
@subsection sigemptyset - Empty a Signal Set
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigemptyset(
sigset_t *set
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function fills the specified signal @code{set} such that all
signals are cleared.
@subheading NOTES:
NONE
@page
@subsection sigaction - Examine and Change Signal Action
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigaction(
int sig,
const struct sigaction *act,
struct sigaction *oact
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@item ENOTSUP
Realtime Signals Extension option not supported.
@end table
@subheading DESCRIPTION:
This function is used to change the action taken by a process on
receipt of the specfic signal @code{sig}. The new action is
specified by @code{act} and the previous action is returned
via @code{oact}.
@subheading NOTES:
The signal number cannot be SIGKILL.
@page
@subsection pthread_kill - Send a Signal to a Thread
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int pthread_kill(
pthread_t thread,
int sig
);
@end example
@subheading STATUS CODES:
@table @b
@item ESRCH
The thread indicated by the parameter thread is invalid.
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This functions sends the specified signal @code{sig} to @code{thread}.
@subheading NOTES:
NONE
@page
@subsection sigprocmask - Examine and Change Process Blocked Signals
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigprocmask(
int how,
const sigset_t *set,
sigset_t *oset
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function is used to alter the set of currently blocked signals
on a process wide basis. A blocked signal will not be received by the
process. The behavior of this function is dependent on the value of
@code{how} which may be one of the following:
@table @code
@item SIG_BLOCK
The set of blocked signals is set to the union of @code{set} and
those signals currently blocked.
@item SIG_UNBLOCK
The signals specific in @code{set} are removed from the currently
blocked set.
@item SIG_SETMASK
The set of currently blocked signals is set to @code{set}.
@end table
If @code{oset} is not @code{NULL}, then the set of blocked signals
prior to this call is returned in @code{oset}.
@subheading NOTES:
It is not an error to unblock a signal which is not blocked.
@page
@subsection pthread_sigmask - Examine and Change Thread Blocked Signals
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int pthread_sigmask(
int how,
const sigset_t *set,
sigset_t *oset
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
This function is used to alter the set of currently blocked signals
for the calling thread. A blocked signal will not be received by the
process. The behavior of this function is dependent on the value of
@code{how} which may be one of the following:
@table @code
@item SIG_BLOCK
The set of blocked signals is set to the union of @code{set} and
those signals currently blocked.
@item SIG_UNBLOCK
The signals specific in @code{set} are removed from the currently
blocked set.
@item SIG_SETMASK
The set of currently blocked signals is set to @code{set}.
@end table
If @code{oset} is not @code{NULL}, then the set of blocked signals
prior to this call is returned in @code{oset}.
@subheading NOTES:
It is not an error to unblock a signal which is not blocked.
@page
@subsection kill - Send a Signal to a Process
@subheading CALLING SEQUENCE:
@example
#include <sys/types.h>
#include <signal.h>
int kill(
pid_t pid,
int sig
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@item EPERM
Process does not have permission to send the signal to any receiving process.
@item ESRCH
The process indicated by the parameter pid is invalid.
@end table
@subheading DESCRIPTION:
This function sends the signal @code{sig} to the process @code{pid}.
@subheading NOTES:
NONE
@page
@subsection sigpending - Examine Pending Signals
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigpending(
const sigset_t *set
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets @code{errno} to one of
the following:
@table @b
@item EFAULT
Invalid address for set.
@end table
@subheading DESCRIPTION:
This function allows the caller to examine the set of currently pending
signals. A pending signal is one which has been raised but is currently
blocked. The set of pending signals is returned in @code{set}.
@subheading NOTES:
NONE
@page
@subsection sigsuspend - Wait for a Signal
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigsuspend(
const sigset_t *sigmask
);
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets @code{errno} to one of
the following:
@table @b
@item EINTR
Signal interrupted this function.
@end table
@subheading DESCRIPTION:
This function temporarily replaces the signal mask for the process
with that specified by @code{sigmask} and blocks the calling thread
until the signal is raised.
@subheading NOTES:
NONE
@page
@subsection pause - Suspend Process Execution
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int pause( void );
@end example
@subheading STATUS CODES:
On error, this routine returns -1 and sets @code{errno} to one of
the following:
@table @b
@item EINTR
Signal interrupted this function.
@end table
@subheading DESCRIPTION:
This function causes the calling thread to be blocked until the signal
is received.
@subheading NOTES:
NONE
@page
@subsection sigwait - Synchronously Accept a Signal
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigwait(
const sigset_t *set,
int *sig
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
Invalid argument passed.
@item EINTR
Signal interrupted this function.
@end table
@subheading DESCRIPTION:
This function selects a pending signal based on the set specified in
@code{set}, atomically clears it from the set of pending signals, and
returns the signal number for that signal in @code{sig}.
@subheading NOTES:
NONE
@page
@subsection sigwaitinfo - Synchronously Accept a Signal
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigwaitinfo(
const sigset_t *set,
siginfo_t *info
);
@end example
@subheading STATUS CODES:
@table @b
@item EINTR
Signal interrupted this function.
@end table
@subheading DESCRIPTION:
This function selects a pending signal based on the set specified in
@code{set}, atomically clears it from the set of pending signals, and
returns information about that signal in @code{info}.
@subheading NOTES:
NONE
@page
@subsection sigtimedwait - Synchronously Accept a Signal with Timeout
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigtimedwait(
const sigset_t *set,
siginfo_t *info,
const struct timespec *timeout
);
@end example
@subheading STATUS CODES:
@table @b
@item EAGAIN
Timed out while waiting for the specified signal set.
@item EINVAL
Nanoseconds field of the timeout argument is invalid.
@item EINTR
Signal interrupted this function.
@end table
@subheading DESCRIPTION:
This function selects a pending signal based on the set specified in
@code{set}, atomically clears it from the set of pending signals, and
returns information about that signal in @code{info}. The calling thread
will block up to @code{timeout} waiting for the signal to arrive.
@subheading NOTES:
If @code{timeout} is NULL, then the calling thread will wait forever for
the specified signal set.
@page
@subsection sigqueue - Queue a Signal to a Process
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
int sigqueue(
pid_t pid,
int signo,
const union sigval value
);
@end example
@subheading STATUS CODES:
@table @b
@item EAGAIN
No resources available to queue the signal. The process has already
queued SIGQUEUE_MAX signals that are still pending at the receiver
or the systemwide resource limit has been exceeded.
@item EINVAL
The value of the signo argument is an invalid or unsupported signal
number.
@item EPERM
The process does not have the appropriate privilege to send the signal
to the receiving process.
@item ESRCH
The process pid does not exist.
@end table
@subheading DESCRIPTION:
This function sends the signal specified by @code{signo} to the
process @code{pid}
@subheading NOTES:
NONE
@page
@subsection alarm - Schedule Alarm
@subheading CALLING SEQUENCE:
@example
#include <signal.h>
unsigned int alarm(
unsigned int seconds
);
@end example
@subheading STATUS CODES:
This call always succeeds.
@subheading DESCRIPTION:
If there was a previous @code{alarm()} request with time remaining,
then this routine returns the number of seconds until that outstanding
alarm would have fired. If no previous @code{alarm()} request was
outstanding, then zero is returned.
@subheading NOTES:
NONE

View File

@@ -1,259 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter System Databases Manager
@section Introduction
The
system databases manager is ...
The directives provided by the system databases manager are:
@itemize @bullet
@item @code{getgrgid} -
@item @code{getgrgid_r} -
@item @code{getgrnam} -
@item @code{getgrnam_r} -
@item @code{getpwuid} -
@item @code{getpwuid_r} -
@item @code{getpwnam} -
@item @code{getpwnam_r} -
@end itemize
@section Background
There is currently no text in this section.
@section Operations
There is currently no text in this section.
@section Directives
This section details the system databases manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection getgrgid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgrgid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getgrgid_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgrgid_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getgrnam -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgrnam(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getgrnam_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getgrnam_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getpwuid -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpwuid(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getpwuid_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpwuid_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getpwnam -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpwnam(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection getpwnam_r -
@subheading CALLING SEQUENCE:
@ifset is-C
@example
int getpwnam_r(
);
@end example
@end ifset
@ifset is-Ada
@end ifset
@subheading STATUS CODES:
@table @b
@item E
The
@end table
@subheading DESCRIPTION:
@subheading NOTES:

View File

@@ -1,892 +0,0 @@
@c
@c COPYRIGHT (c) 1988-1998.
@c On-Line Applications Research Corporation (OAR).
@c All rights reserved.
@c
@c $Id$
@c
@chapter Thread Manager
@section Introduction
The thread manager ...
The directives provided by the thread manager are:
@itemize @bullet
@item @code{pthread_attr_init} -
@item @code{pthread_attr_destroy} -
@item @code{pthread_attr_setdetachstate} -
@item @code{pthread_attr_getdetachstate} -
@item @code{pthread_attr_setstacksize} -
@item @code{pthread_attr_getstacksize} -
@item @code{pthread_attr_setstackaddr} -
@item @code{pthread_attr_getstackaddr} -
@item @code{pthread_attr_setscope} -
@item @code{pthread_attr_getscope} -
@item @code{pthread_attr_setinheritsched} -
@item @code{pthread_attr_getinheritsched} -
@item @code{pthread_attr_setschedpolicy} -
@item @code{pthread_attr_getschedpolicy} -
@item @code{pthread_attr_setschedparam} -
@item @code{pthread_attr_getschedparam} -
@item @code{pthread_create} -
@item @code{pthread_exit} -
@item @code{pthread_detach} -
@item @code{pthread_join} -
@item @code{pthread_self} -
@item @code{pthread_equal} -
@item @code{pthread_once} -
@item @code{pthread_setschedparam} -
@item @code{pthread_getschedparam} -
@end itemize
@section Background
@subsection Thread Attributes
Thread attributes are utilized only at thread creation time.
@table @b
@item stack address
is the address of the optionally user specified stack area for this thread.
If this value is NULL, then RTEMS allocates the memory for the thread stack
from the RTEMS Workspace Area. Otherwise, this is the user specified
address for the memory to be used for the thread's stack. Each thread must
have a distinct stack area. Each processor family has different alignment
rules which should be followed.
@item stack size
is the minimum desired size for this thread's stack area.
If the size of this area as specified by the stack size attribute
is smaller than the minimum for this processor family and the stack
is not user specified, then RTEMS will automatically allocate a
stack of the minimum size for this processor family.
@item contention scope
specifies the scheduling contention scope. RTEMS only supports the
PTHREAD_SCOPE_PROCESS scheduling contention scope.
@item scheduling inheritance
specifies whether a user specified or the scheduling policy and
parameters of the currently executing thread are to be used. When
this is PTHREAD_INHERIT_SCHED, then the scheduling policy and
parameters of the currently executing thread are inherited by
the newly created thread.
@item scheduling policy and parameters
specify the manner in which the thread will contend for the processor.
The scheduling parameters are interpreted based on the specified policy.
All policies utilize the thread priority parameter.
@end table
@section Operations
There is currently no text in this section.
@section Directives
This section details the thread manager's directives.
A subsection is dedicated to each of this manager's directives
and describes the calling sequence, related constants, usage,
and status codes.
@page
@subsection pthread_attr_init
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_init(
pthread_attr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_destroy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_destroy(
pthread_attr_t *attr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setdetachstate
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setdetachstate(
pthread_attr_t *attr,
int detachstate
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The detachstate argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getdetachstate
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getdetachstate(
const pthread_attr_t *attr,
int *detachstate
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The detatchstate pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setstacksize
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setstacksize(
pthread_attr_t *attr,
size_t stacksize
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
If the specified stacksize is below the minimum required for this CPU, then
the stacksize will be set to the minimum for this CPU.
@page
@subsection pthread_attr_getstacksize
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getstacksize(
const pthread_attr_t *attr,
size_t *stacksize
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The stacksize pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setstackaddr
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setstackaddr(
pthread_attr_t *attr,
void *stackaddr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getstackaddr
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getstackaddr(
const pthread_attr_t *attr,
void **stackaddr
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The stackaddr pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setscope
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setscope(
pthread_attr_t *attr,
int contentionscope
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The contention scope specified is not valid.
@item ENOTSUP
The contention scope specified (PTHREAD_SCOPE_SYSTEM) is not supported.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getscope
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getscope(
const pthread_attr_t *attr,
int *contentionscope
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The contentionscope pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setinheritsched
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setinheritsched(
pthread_attr_t *attr,
int inheritsched
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The specified scheduler inheritance argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getinheritsched
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getinheritsched(
const pthread_attr_t *attr,
int *inheritsched
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The inheritsched pointer argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setschedpolicy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setschedpolicy(
pthread_attr_t *attr,
int policy
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item ENOTSUP
The specified scheduler policy argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getschedpolicy
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getschedpolicy(
const pthread_attr_t *attr,
int *policy
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The specified scheduler policy argument pointer is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_setschedparam
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_setschedparam(
pthread_attr_t *attr,
const struct sched_param param
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The specified scheduler parameter argument is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_attr_getschedparam
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_attr_getschedparam(
const pthread_attr_t *attr,
struct sched_param *param
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute pointer argument is invalid.
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The specified scheduler parameter argument pointer is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_create
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_create(
pthread_t *thread,
const pthread_attr_t *attr,
void (*start_routine)( void * ),
void *arg
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The attribute set is not initialized.
@item EINVAL
The user specified a stack address and the size of the area was not
large enough to meet this processor's minimum stack requirements.
@item EINVAL
The specified scheduler inheritance policy was invalid.
@item ENOTSUP
The specified contention scope was PTHREAD_SCOPE_PROCESS.
@item EINVAL
The specified thread priority was invalid.
@item EINVAL
The specified scheduling policy was invalid.
@item EINVAL
The scheduling policy was SCHED_SPORADIC and the specified replenishment
period is less than the initial budget.
@item EINVAL
The scheduling policy was SCHED_SPORADIC and the specified low priority
is invalid.
@item EAGAIN
The system lacked the necessary resources to create another thread, or the
self imposed limit on the total number of threads in a process
PTHREAD_THREAD_MAX would be exceeded.
@item EINVAL
Invalid argument passed.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_exit
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
void pthread_exit(
void *status
);
@end example
@subheading STATUS CODES:
@table @b
@item NONE
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_detach
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_detach(
pthread_t thread
);
@end example
@subheading STATUS CODES:
@table @b
@item ESRCH
The thread specified is invalid.
@item EINVAL
The thread specified is not a joinable thread.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
If any threads have previously joined with the specified thread, then they
will remain joined with that thread. Any subsequent calls to pthread_join
on the specified thread will fail.
@page
@subsection pthread_join
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_join(
pthread_t thread,
void **value_ptr
);
@end example
@subheading STATUS CODES:
@table @b
@item ESRCH
The thread specified is invalid.
@item EINVAL
The thread specified is not a joinable thread.
@item EDEADLK
A deadlock was detected or thread is the calling thread.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
If any threads have previously joined with the specified thread, then they
will remain joined with that thread. Any subsequent calls to pthread_join
on the specified thread will fail.
If value_ptr is NULL, then no value is returned.
@page
@subsection pthread_self
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
pthread_t pthread_self( void );
@end example
@subheading STATUS CODES:
This routine returns the id of the calling thread.
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_equal
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_equal(
pthread_t t1,
pthread_t t2
);
@end example
@subheading STATUS CODES:
@table @b
@item zero
The thread ids are not equal.
@item non-zero
The thread ids are equal.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
The behavior is undefined if the thread IDs are not valid.
@page
@subsection pthread_once
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
pthread_once_t once_control = PTHREAD_ONCE_INIT;
int pthread_once(
pthread_once_t *once_control,
void (*init_routine)(void)
);
@end example
@subheading STATUS CODES:
NONE
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_setschedparam
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_setschedparam(
pthread_t thread,
int policy,
struct sched_param *param
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The scheduling parameters indicated by the parameter param is invalid.
@item EINVAL
The value specified by policy is invalid.
@item EINVAL
The scheduling policy was SCHED_SPORADIC and the specified replenishment
period is less than the initial budget.
@item EINVAL
The scheduling policy was SCHED_SPORADIC and the specified low priority
is invalid.
@item ESRCH
The thread indicated was invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES:
@page
@subsection pthread_getschedparam
@subheading CALLING SEQUENCE:
@example
#include <pthread.h>
int pthread_getschedparam(
pthread_t thread,
int *policy,
struct sched_param *param
);
@end example
@subheading STATUS CODES:
@table @b
@item EINVAL
The policy pointer argument is invalid.
@item EINVAL
The scheduling parameters pointer argument is invalid.
@item ESRCH
The thread indicated by the parameter thread is invalid.
@end table
@subheading DESCRIPTION:
@subheading NOTES: