mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-09 08:37:58 +08:00
Merged these into POSIX manual.
This commit is contained in:
1 parent
28c6b2a10a
commit
e9264513e4
19 files changed
-9745
No files matched your search
@@ -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:
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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:
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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.
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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:
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user