From 653c295560571fbbc38d9360091639814cbabba8 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Thu, 19 Jan 2006 06:54:51 +0000 Subject: Remove --- doc/new_chapters/eventlog.t | 1265 ------------------------------------------- 1 file changed, 1265 deletions(-) delete mode 100644 doc/new_chapters/eventlog.t diff --git a/doc/new_chapters/eventlog.t b/doc/new_chapters/eventlog.t deleted file mode 100644 index f502d81ed2..0000000000 --- a/doc/new_chapters/eventlog.t +++ /dev/null @@ -1,1265 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-2002. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@chapter Event Logging Manager - -@section Introduction - -The event logging manager provides a portable method for logging -system and application events and subsequent processing of those -events. The capabilities in this manager were defined in the POSIX -1003.1h/D3 proposed standard titled @b{Services for Reliable, -Available, and Serviceable Systems}. - -The directives provided by the event logging manager are: - -@itemize @bullet -@item @code{log_create} - Create a log file -@item @code{log_sys_create} - Create a system log file -@item @code{log_write} - Write to the system Log -@item @code{log_write_any} - Write to any log file -@item @code{log_write_entry} - Write entry to any log file -@item @code{log_open} - Open a log file -@item @code{log_read} - Read from a log file -@item @code{log_notify} - Notify Process of writes to the system log -@item @code{log_close} - Close log descriptor -@item @code{log_seek} - Reposition log file offset -@item @code{log_severity_before} - Compare event record severities -@item @code{log_facilityemptyset} - Manipulate log facility sets -@item @code{log_facilityfillset} - Manipulate log facility sets -@item @code{log_facilityaddset} - Manipulate log facility sets -@item @code{log_facilitydelset} - Manipulate log facility sets -@item @code{log_facilityismember} - Manipulate log facility sets -@item @code{log_facilityisvalid} - Manipulate log facility sets -@end itemize - -@section Background - -@subsection Log Files and Events - -The operating system uses a special log file named @code{syslog}. -This log file is called the system log and is automatically created and -tracked by the operating system. The system log is written with -the @code{log_write()} function. An alternative log file may be written -using the @code{log_write_any()} function. It is possible to use @code{log_read()} -to query the system log and and write the records to a non-system log file -using @code{log_write_entry()} to produce a filtered version of the -system log. For example you could produce a log of all disk controller -faults that have occurred. - -A non-system log may be a special log file created by an application to -describe application faults, or a subset of the system log created -by the application. - - - -@subsection Facilities - -A facility is an identification code for a subsystem, device, or -other object about which information is being written to -a log file. - -A facility set is a collection of facilities. - -@subsection Severity - -Severity is a rating of the error that is being logged. - -@subsection Queries - - -The facility identifier and the event severity are the basis for -subsequent log query. A log query is used as a filter to -obtain a subset of a given log file. The log file may be configured -to send out an event. - -@section Operations - -@subsection Creating and Writing a non-System Log - -The following code fragment create a non-System log file at /temp/. -A real filename previously read entry and buffer @code{log_buf} of size -@code{readsize} are written into the log. See the discussion on opening -and reading a log for how the entry is created. - -@example -#include - : - logd_t *outlog = NULL; - char *path = "/temp/"; - - log_create( outlog, path ); - : - log_write_entry( outlog, &entry, log_buf, readsize ); - -@end example - -@subsection Reading a Log - -Discuss opening and reading from a log. - -@example - build a query - log_open - log_read loop -@end example - -@section Directives - -This section details the event logging 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 log_write - Write to the system Log - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_write( - const log_facility_t facility, - const int event_id, - const log_severity_t severity, - const void *buf, - const size_t len -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_write()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item E2BIG -This error indicates an inconsistency in the implementation. -Report this as a bug. - -@item EINVAL -The @code{facility} argument is not a valid log facility. - -@item EINVAL -The @code{severity} argument exceeds @code{LOG_SEVERITY_MAX}. - -@item EINVAL -The @code{len} argument exceeds @code{LOG_MAXIUM_BUFFER_SIZE}. - -@item EINVAL -The @code{len} argument was non-zero and @code{buf} is @code{NULL}. - -@item ENOSPC -The device which contains the log file has run out of space. - -@item EIO -An I/O error occurred in writing to the log file. - -@end table - -@subheading DESCRIPTION: - -The @code{log_write} function writes an event record to the -system log file. The event record written consists of the -event attributes specified by the @code{facility}, @code{event_id}, -and @code{severity} arguments as well as the data identified by the -@code{buf} and @code{len} arguments. The fields of the event record -structure to be written are filled in as follows: - -@table @b -@item log_recid -This is set to a monotonically increasing log record id -maintained by the system for this individual log file. - -@item log_size -This is set to the value of the @code{len} argument. - -@item log_event_id -This is set to the value of the @code{event_id} argument. - -@item log_facility -This is set to the value of the @code{facility} argument. - -@item log_severity -This is set to the value of the @code{severity} argument. - -@item log_uid -This is set to the value returned by @code{geteuid()}. - -@item log_gid -This is set to the value returned by @code{getegid()}. - -@item log_pid -This is set to the value returned by @code{getpid()}. - -@item log_pgrp -This is set to the value returned by @code{getpgrp()}. - -@item log_time -This is set to the value returned by @code{clock_gettime()} for the -@code{CLOCK_REALTIME clock} source. - -@end table - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -This implementation can not return the @code{EPERM} error. - -@page -@subsection log_write_any - Write to the any log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_write_any( - const logd_t logdes, - const log_facility_t facility, - const int event_id, - const log_severity_t severity, - const void *buf, - const size_t len -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_write_any()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item E2BIG -This error indicates an inconsistency in the implementation. -Report this as a bug. - -@item EBADF -The @code{logdes} argument is not a valid log descriptor. - -@item EINVAL -The @code{facility} argument is not a valid log facility. - -@item EINVAL -The @code{severity} argument exceeds @code{LOG_SEVERITY_MAX}. - -@item EINVAL -The @code{len} argument exceeds @code{LOG_MAXIMUM_BUFFER_SIZE}. - -@item EINVAL -The @code{len} argument was non-zero and @code{buf} is @code{NULL}. - -@item ENOSPC -The device which contains the log file has run out of space. - -@item EIO -An I/O error occurred in writing to the log file. - -@end table - -@subheading DESCRIPTION: - -The @code{log_write_any()} function writes an event record to the log file -specified by @code{logdes}. The event record written consists of the -event attributes specified by the @code{facility}, @code{event_id}, -and @code{severity} arguments as well as the data identified by the -@code{buf} and @code{len} arguments. The fields of the event record -structure to be written are filled in as follows: - -@table @b -@item log_recid -This is set to a monotonically increasing log record id -maintained by the system for this individual log file. - -@item log_size -This is set to the value of the @code{len} argument. - -@item log_event_id -This is set to the value of the @code{event_id} argument. - -@item log_facility -This is set to the value of the @code{facility} argument. - -@item log_severity -This is set to the value of the @code{severity} argument. - -@item log_uid -This is set to the value returned by @code{geteuid()}. - -@item log_gid -This is set to the value returned by @code{getegid()}. - -@item log_pid -This is set to the value returned by @code{getpid()}. - -@item log_pgrp -This is set to the value returned by @code{getpgrp()}. - -@item log_time -This is set to the value returned by @code{clock_gettime()} for the -@code{CLOCK_REALTIME} clock source. - -@end table - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -This implementation can not return the @code{EPERM} error. - -This function is not defined in the POSIX specification. It is -an extension provided by this implementation. - -@page -@subsection log_write_entry - Write entry to any log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_write_entry( - const logd_t logdes, - struct log_entry *entry, - const void *buf, - const size_t len -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_write_entry()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item E2BIG -This error indicates an inconsistency in the implementation. -Report this as a bug. - -@item EBADF -The @code{logdes} argument is not a valid log descriptor. - -@item EFAULT -The @code{entry} argument is not a valid pointer to a log entry. - -@item EINVAL -The @code{facility} field in @code{entry} is not a valid log facility. - -@item EINVAL -The @code{severity} field in @code{entry} exceeds @code{LOG_SEVERITY_MAX}. - -@item EINVAL -The @code{len} argument exceeds @code{LOG_MAXIMUM_BUFFER_SIZE}. - -@item EINVAL -The @code{len} argument was non-zero and @code{buf} is NULL. - -@item ENOSPC -The device which contains the log file has run out of space. - -@item EIO -An I/O error occurred in writing to the log file. - -@end table - -@subheading DESCRIPTION: - -The @code{log_write_entry()} function writes an event record -specified by the @code{entry}, @code{buf}, and @code{len} arguments. -Most of the fields of the event record pointed to by @code{entry} -are left intact. The following fields are filled in as follows: - -@table @b -@item log_recid -This is set to a monotonically increasing log record id -maintained by the system for this individual log file. - -@item log_size -This is set to the value of the @code{len} argument. - -@end table - -This allows existing log entries from one log file to be written to -another log file without destroying the logged information. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -This implementation can not return the @code{EPERM} error. - -This function is not defined in the POSIX specification. It is -an extension provided by this implementation. - -@page -@subsection log_open - Open a log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_open( - logd_t *logdes, - const char *path, - const log_query_t *query -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_open()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item EACCES -Search permission is denied on a component of the @code{path} prefix, -or the log file exists and read permission is denied. - -@item EINTR -A signal interrupted the call to @code{log_open()}. - -@item EINVAL -The log_severity field of the query argument exceeds -@code{LOG_SEVERITY_MAX}. - -@item EINVAL -The @code{path} argument referred to a file that was not a log file. - -@item EMFILE -Too many log file descriptors are currently in use by this -process. - -@item ENAMETOOLONG -The length of the path string exceeds @code{PATH_MAX}, or a pathname -component is longer than @code{NAME_MAX} while @code{_POSIX_NO_TRUNC} is -in effect. - -@item ENFILE -Too many files are currently open in the system. - -@item ENOENT -The file specified by the @code{path} argument does not exist. - -@item ENOTDIR -A component of the @code{path} prefix is not a directory. - -@end table - -@subheading DESCRIPTION: - -The @code{log_open()} function establishes the connection between a -log file and a log file descriptor. It creates an open log file -descriptor that refers to this query stream on the specified log file -The log file descriptor is used by the other log functions to refer -to that log query stream. The @code{path} argument points to a -pathname for a log file. A @code{path} argument of @code{NULL} specifies -the current system log file. - -The @code{query} argument is not @code{NULL}, then it points to a log query -specification that is used to filter the records in the log file on -subsequent @code{log_read()} operations. This restricts the set of -event records read using the returned log file descriptor to those -which match the query. A query match occurs for a given record when -that record's facility is a member of the query's facility set and -the record's severity is greater than or equal to the severity specified -in the query. - -If the value of the @code{query} argument is @code{NULL}, no query filter -shall be applied. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -POSIX specifies that @code{EINVAL} will be returned if the -@code{log_facilities} field of the @code{query} argument is not -a valid facility set. In this implementation, this condition -can never occur. - -Many error codes that POSIX specifies to be returned by @code{log_open()} -should actually be detected by @code{open()} and passed back by the -@code{log_open()} implementation. In this implementation, @code{EACCESS}, -@code{EMFILE}, @code{ENAMETOOLONG}, @code{ENFILE}, @code{ENOENT}, -and @code{ENOTDIR} are detected in this manner. - -@page -@subsection log_read - Read from a log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_read( - const logd_t logdes, - struct log_entry *entry, - void *log_buf, - const size_t log_len, - const size_t *log_sizeread -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_read()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item E2BIG -This error indicates an inconsistency in the implementation. -Report this as a bug. - -@item EBADF -The @code{logdes} argument is not a valid log file descriptor. - -@item EFAULT -The @code{entry} argument is not a valid pointer to a log entry structure. - -@item EFAULT -The @code{log_sizeread} argument is not a valid pointer to a size_t. - -@item EBUSY -No data available. There are no unread event records remaining -in this log file. - -@item EINTR -A signal interrupted the call to @code{log_read()}. - -@item EIO -An I/O error occurred in reading from the event log. - -@item EINVAL -The matching event record has data associated with it and -@code{log_buf} was not a valid pointer. - -@item EINVAL -The matching event record has data associated with it which is -longer than @code{log_len}. - -@end table - -@subheading DESCRIPTION: - -The @code{log_read()} function reads the @code{log_entry} -structure and up to @code{log_len} bytes of data from the next -event record of the log file associated with the open log file -descriptor @code{logdes}. The event record read is placed -into the @code{log_entry} structure pointed to by -@code{entry} and any data into the buffer pointed to by @code{log_buf}. -The log record ID of the returned event record is be stored in the -@code{log_recid} member of the @code{log_entry} structure for the event -record. - -If the query attribute of the open log file description associated with -the @code{logdes} is set, the event record read will match that query. - -If the @code{log_read()} is successful the call stores the actual length -of the data associated with the event record into the location specified by -@code{log_sizeread}. This number will be less than or equal to -@code{log_len}. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -When @code{EINVAL} is returned, then no data is returned although the -event record is returned. This is an extension to the POSIX specification. - -The POSIX specification specifically allows @code{log_read()} to write -greater than @code{log_len} bytes into @code{log_buf}. This is highly -undesirable and this implementation will NOT do this. - -@page -@subsection log_notify - Notify Process of writes to the system log. - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_notify( - const logd_t logdes, - const struct sigevent *notification -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_notify()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item EBADF -The logdes argument is not a valid log file descriptor. - -@item EINVAL -The notification argument specifies an invalid signal. - -@item EINVAL -The process has requested a notify on a log that will not be -written to. - -@item ENOSYS -The function @code{log_notify()} is not supported by this implementation. - -@end table - -@subheading DESCRIPTION: - -If the argument @code{notification} is not @code{NULL} this function registers -the calling process to be notified of event records received by the system -log, which match the query parameters associated with the open log descriptor -specified by @code{logdes}. The notification specified by the -@code{notification} argument shall be sent to the process when an event -record received by the system log is matched by the query attribute of the -open log file description associated with the @code{logdes} log file -descriptor. If the calling process has already registered a notification -for the @code{logdes} log file descriptor, the new notification shall -replace the existing notification registration. - -If the @code{notification} argument is @code{NULL} and the calling process is -currently registered to be notified for the @code{logdes} log file -descriptor, the existing registration shall be removed. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -@page -@subsection log_close - Close log descriptor - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_close( - const logd_t logdes -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_close()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item EBADF -The logdes argument is not a valid log file descriptor. - -@end table - -@subheading DESCRIPTION: - -The @code{log_close()} function deallocates the open log file descriptor -indicated by @code{log_des}. - -When all log file descriptors associated with an open log file description -have been closed, the open log file description is freed. - -If the link count of the log file is zero, when all log file descriptors -have been closed, the space occupied by the log file is freed and the -log file shall no longer be accessible. - -If the process has successfully registered a notification request for the -log file descriptor, the registration is removed. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -@page -@subsection log_seek - Reposition log file offset - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_seek( - const logd_t logdes, - log_recid_t log_recid -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_seek()} returns a value of zero -and an unsuccessful call returns the @code{errno}. - -@table @b -@item EBADF -The @code{logdes} argument is not a valid log file descriptor. -@item EINVAL -The @code{log_recid} argument is not a valid record id. - -@end table - -@subheading DESCRIPTION: - -The @code{log_seek()} function sets the log file offset of the open -log description associated with the @code{logdes} log file descriptor -to the event record in the log file identified by @code{log_recid}. -The @code{log_recid} argument is either the record id of a valid event -record or one of the following values, as defined in the header file -@code{:} - -@table @b -@item LOG_SEEK_START -Set log file position to point at the first event -record in the log file. - -@item LOG_SEEK_END -Set log file position to point after the last event -record in the log file. - -@end table - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -This implementation can not return EINTR. - -This implementation can not return EINVAL to indicate that -the @code{log_recid} argument is not a valid record id. - -@page -@subsection log_severity_before - Compare event record severities - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_severity_before( - log_severity_t s1, - log_severity_t s2 -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -@table @b -@item 0 -The severity of @code{s1} is less than that of @code{s2}. - -@item 1 -The severity of @code{s1} is greater than or equal that of @code{s2}. - -@item EINVAL -The value of either s1 or s2 exceeds @code{LOG_SEVERITY_MAX}. - -@end table - -@subheading DESCRIPTION: - -The @code{log_severity_before()} function compares the severity order -of the @code{s1} and @code{s2} arguments. If @code{s1} is of -severity greater than or equal to that of @code{s2}, then this -function returns 1. Otherwise, it returns 0. - -If either @code{s1} or @code{s2} specify invalid severity values, the -return value of @code{log_severity_before()} is unspecified. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -The POSIX specification of the return value for this function is ambiguous. -If EINVAL is equal to 1 in an implementation, then the application -can not distinguish between greater than and an error condition. - -@page -@subsection log_facilityemptyset - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilityemptyset( - log_facility_set_t *set -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_facilityemptyset()} returns a value of zero -and a unsuccessful call returns the @code{errno}. - -@table @b -@item EFAULT -The @code{set} argument is an invalid pointer. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilityemptyset()} function initializes the facility -set pointed to by the argument @code{set}, such that all facilities -are excluded. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_facilityfillset - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilityfillset( - log_facility_set_t *set -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_facilityfillset()} returns a value of zero -and a unsuccessful call returns the @code{errno}. - -@table @b -@item EFAULT -The @code{set} argument is an invalid pointer. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilityfillset()} function initializes the facility -set pointed to by the argument @code{set}, such that all facilities -are included. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_facilityaddset - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilityaddset( - log_facility_set_t *set, - log_facility_t facilityno -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_facilityaddset()} returns a value of zero -and a unsuccessful call returns the @code{errno}. - -@table @b -@item EFAULT -The @code{set} argument is an invalid pointer. - -@item EINVAL -The @code{facilityno} argument is not a valid facility. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilityaddset()} function adds the individual -facility specified by the value of the argument @code{facilityno} -to the facility set pointed to by the argument @code{set}. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_facilitydelset - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilitydelset( - log_facility_set_t *set, - log_facility_t facilityno -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_facilitydelset()} returns a value of zero -and a unsuccessful call returns the @code{errno}. - -@table @b -@item EFAULT -The @code{set} argument is an invalid pointer. - -@item EINVAL -The @code{facilityno} argument is not a valid facility. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilitydelset()} function deletes the individual -facility specified by the value of the argument @code{facilityno} -from the facility set pointed to by the argument @code{set}. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_facilityismember - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilityismember( - const log_facility_set_t *set, - log_facility_t facilityno, - const int *member -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_facilityismember()} returns a value -of zero and a unsuccessful call returns the @code{errno}. - -@table @b -@item EFAULT -The @code{set} or @code{member} argument is an invalid pointer. - -@item EINVAL -The @code{facilityno} argument is not a valid facility. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilityismember()} function tests whether the facility -specified by the value of the argument @code{facilityno} is a member -of the set pointed to by the argument @code{set}. Upon successful -completion, the @code{log_facilityismember()} function either returns -a value of one to the location specified by @code{member} if the -specified facility is a member of the specified set or value of -zero to the location specified by @code{member} if the specified -facility is not a member of the specified set. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_facilityisvalid - Manipulate log facility sets - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_facilityisvalid( - log_facility_t facilityno -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A return value of zero indicates that the @code{facilityno} is valid and -a return value other than zero represents an @code{errno}. - -@table @b -@item EFAULT -The @code{set} or @code{member} argument is an invalid pointer. - -@item EINVAL -The @code{facilityno} argument is not a valid facility. - -@end table - -@subheading DESCRIPTION: - -The @code{log_facilityisvalid()} function tests whether the facility -specified by the value of the argument @code{facilityno} is a valid -facility number. Upon successful completion, the -the @code{log_facilityisvalid()} function either returns a value of -0 if the specified facility is a valid facility or value of EINVAL -if the specified facility is not a valid facility. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -Applications shall call either @code{log_facilityemptyset()} or -@code{log_facilityfillset()} at least once for each object of type -@code{log_facilityset_t} prior to any other use of that object. If -such an object is not initialized in this way, but is nonetheless -supplied as an argument to any of the @code{log_facilityaddset()}, -@code{logfacilitydelset()}, @code{log_facilityismember()} or -@code{log_open()} functions, the results are undefined. - -@page -@subsection log_create - Creates a log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_create( - logd_t *ld, - const char *path, -); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_create()} returns a value -of zero and a unsuccessful call returns the @code{errno}. - -@table @b - -@item EEXIST -The @code{path} already exists and O_CREAT and O_EXCL were used. - -@item EISDIR -The @code{path} refers to a directory and the access requested involved -writing. - -@item ETXTBSY -The @code{path} refers to an executable image which is currently being -executed and write access was requested. - -@item EFAULT -The @code{path} points outside your accessible address space. - -@item EACCES -The requested access to the file is not allowed, or one of the -directories in @code{path} did not allow search (execute) permission. - -@item ENAMETOOLONG -The @code{path} was too long. - -@item ENOENT -A directory component in @code{path} does not exist or is a dangling symbolic -link. - -@item ENOTDIR -A component used as a directory in @code{path} is not, in fact, a directory. - -@item EMFILE -The process already has the maximum number of files open. - -@item ENFILE -The limit on the total number of files open on the system has been reached. - -@item ENOMEM -Insufficient kernel memory was available. - -@item EROFS -The @code{path} refers to a file on a read-only filesystem and write access -was requested. - -@item ELOOP -The @code{path} contains a reference to a circular symbolic link, ie a -symbolic link whose expansion contains a reference to itself. - -@end table - -@subheading DESCRIPTION: - -This function attempts to create a file associated with the @code{logdes} -argument in the directory provided by the argument @code{path}. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. - -@page -@subsection log_sys_create - Creates a system log file - -@subheading CALLING SEQUENCE: - -@ifset is-C -@example -#include - -int log_sys_create(); -@end example -@end ifset - -@ifset is-Ada -@end ifset - -@subheading STATUS CODES: - -A successful call to @code{log_sys_create()} returns a value -of zero and a unsuccessful call returns the @code{errno}. - -@table @b -@item EEXIST -The directory path to the system log already exist. - -@end table - -@subheading DESCRIPTION: - -This function will create a predefined system log directory path and -system log file if they do not already exist. - -@subheading NOTES: - -The @code{_POSIX_LOGGING} feature flag is defined to indicate -this service is available. -- cgit v1.2.3