From d1a859c0c20ea726ed2f3b2936ff406274bc62a4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 25 Aug 1998 20:54:47 +0000 Subject: Cleaned up formatting. Added notes on background and operations sections. Added NOTE to indicate the feature flag defined. --- doc/new_chapters/eventlog.t | 736 ++++++++++++++++++++++---------------------- 1 file changed, 364 insertions(+), 372 deletions(-) (limited to 'doc/new_chapters/eventlog.t') diff --git a/doc/new_chapters/eventlog.t b/doc/new_chapters/eventlog.t index fe8c1240d6..48b9daf408 100644 --- a/doc/new_chapters/eventlog.t +++ b/doc/new_chapters/eventlog.t @@ -10,8 +10,11 @@ @section Introduction -The -event logging manager is ... +The event logging manager provides a portable method for logging +system and appplication 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: @@ -32,8 +35,37 @@ The directives provided by the event logging manager are: @section Background +@subsection Log Files and Events + +System log + +Non-system logs + +Events, facility, severity + +@subsection Queries + @section Operations +@subsection Creating and Writing a non-System Log + +Discuss creating and writing to a non-system log. + +@example + log_create + log_write loop +@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. @@ -66,17 +98,20 @@ int log_write( @table @b @item EINVAL The facility argument is not a valid log_facility. + @item EINVAL The severity argument exceeds @code{LOG_SEVERITY_MAX} + @item EINVAL The len argument exceeds @code{LOG_ENTRY_MAXLEN} + @item ENOSPC The log file has run out of space on the device. -@item ENOSYS -The function log_write() is not supported by this implementation. + @item EPERM The caller does not have appropriate permission for writing to the given facility. + @item EIO An I/O error occurred in writing to the system event log. @@ -84,47 +119,44 @@ An I/O error occurred in writing to the system event log. @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The @code{log_write} function writes an event record, consisting - of event attributes, and the data identified by the @code{buf} - argument, to the system log. The @code{len} argument specifies - the length in bytes of the buffer pointed to by @code{buf}. The - @code{len} argument shall specify the value of the event record - length attribute. The value of @code{len} shall be less than or - equal to @code{LOG_ENTRY_MAXLEN} or the @code{log_write} shall fail. - - The @code{event_id} argument identifies the type of event record - being written. The @code{event_id} argument shall specify the value - of the event ID attribute of the event record. - - The argument @code{facility} indicates the facility from which the - event type is drawn. The @code{facility} aargument shall specify the - value of the event record facility attribute. The value of the - @code{facility} argument shall be a valid log facility or the - @code{log_write} function shall fail. - - The @code{severity} argument indicates the severity level of the - event record. The @code{severity} argument shall specify the value - of the event record severity attribute. The value of the - @code{severity} argument shall be less than or equal to - @code{LOG_SEVERITY_MAX} or the @code{log_write} function shall fail. - - The effective_UID of the calling process shall specify the event - record UID attribute. The efective-GID of the calling process - shall specify the event record GID attribute. The process ID - of the calling process shall specify the event record process ID - attribute. The process group ID of the calling process shall - specify the event record process group ID attribute. The current - value of the system clock shall specify the event record timestamp - attribute. - -Otherwise: - - The @code{log_write} function shall fail. +The @code{log_write} function writes an event record, consisting +of event attributes, and the data identified by the @code{buf} +argument, to the system log. The @code{len} argument specifies +the length in bytes of the buffer pointed to by @code{buf}. The +@code{len} argument shall specify the value of the event record +length attribute. The value of @code{len} shall be less than or +equal to @code{LOG_ENTRY_MAXLEN} or the @code{log_write} shall fail. + +The @code{event_id} argument identifies the type of event record +being written. The @code{event_id} argument shall specify the value +of the event ID attribute of the event record. + +The argument @code{facility} indicates the facility from which the +event type is drawn. The @code{facility} aargument shall specify the +value of the event record facility attribute. The value of the +@code{facility} argument shall be a valid log facility or the +@code{log_write} function shall fail. + +The @code{severity} argument indicates the severity level of the +event record. The @code{severity} argument shall specify the value +of the event record severity attribute. The value of the +@code{severity} argument shall be less than or equal to +@code{LOG_SEVERITY_MAX} or the @code{log_write} function shall fail. + +The effective_UID of the calling process shall specify the event +record UID attribute. The efective-GID of the calling process +shall specify the event record GID attribute. The process ID +of the calling process shall specify the event record process ID +attribute. The process group ID of the calling process shall +specify the event record process group ID attribute. The current +value of the system clock shall specify the event record timestamp +attribute. @subheading NOTES: +The @code{_POSIX_LOGGING} feature flag is defined to indicate +this service is available. + @page @subsection log_open - Open a log file @@ -149,68 +181,72 @@ int log_open( @item EACCES Search permission is denied on a component of the path prefix, or the log file exists and read permission is denied. + @item EINTR A signal interrupted the call to log_open(). + @item EINVAL The log_facility field of the query argument is not a valid facility set. + @item EINVAL The log_severity field of the query argument exceeds @code{LOG_SEVERITY_MAX}. + @item EINVAL The 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 path argument does not exist. + @item ENOTDIR A component of the path prefix is not a directory. -@item ENOSYS -The function log_open() is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The @code{log_open} function establishes the connection between a - log file and a log file descriptor. It creates an open log file - description that refers to a log file and a log file descriptor that - refers to that open log file description. The log file descriptor is - used by other log functions to refer to that log file. The @code{path} - argument points to a pathname naming a log file. A @code{path} - argument of NULL specifies the current system log file. - - The @code{query} argument points to a log query specification that - restricts log operations using the returned log file descriptor to - to event records from the log file which match the query. The - predicate which determines the success of the match operation is the - logical AND of the individual comparison predicates for each member - of the log query specification. The query attribute of the open file - description is set to filter as specified by the @code{query} argument. - If the value of the query argument is not NULL, the value of the - @code{log_facility} member of the @code{query} specification shall be - a set of valid log facilities or the @code{log_open} shall fail. If - the value of the @code{query} argument is not NULL, the value of the - @code{log_severity} member of the @code{query} specification shall be - less than or equal to @code{LOG_SEVERITY_MAX} or the @code{log_open} - shall fail. If the value of the @code{query} argument is NULL, no - query filter shall be applied. - -Otherwise: - - The @code{log_open} shall fail. +The @code{log_open} function establishes the connection between a +log file and a log file descriptor. It creates an open log file +description that refers to a log file and a log file descriptor that +refers to that open log file description. The log file descriptor is +used by other log functions to refer to that log file. The @code{path} +argument points to a pathname naming a log file. A @code{path} +argument of NULL specifies the current system log file. + +The @code{query} argument points to a log query specification that +restricts log operations using the returned log file descriptor to +to event records from the log file which match the query. The +predicate which determines the success of the match operation is the +logical AND of the individual comparison predicates for each member +of the log query specification. The query attribute of the open file +description is set to filter as specified by the @code{query} argument. +If the value of the query argument is not NULL, the value of the +@code{log_facility} member of the @code{query} specification shall be +a set of valid log facilities or the @code{log_open} shall fail. If +the value of the @code{query} argument is not NULL, the value of the +@code{log_severity} member of the @code{query} specification shall be +less than or equal to @code{LOG_SEVERITY_MAX} or the @code{log_open} +shall fail. If the value of the @code{query} argument is NULL, no +query filter shall be applied. @subheading NOTES: +The @code{_POSIX_LOGGING} feature flag is defined to indicate +this service is available. + @page @subsection log_read - Read from the system Log @@ -236,14 +272,15 @@ int log_read( @table @b @item EBADF The logdes argument is not a valid log file descriptor. + @item EBUSY No data available. The open log file descriptor references the current system log. and there are no unread event records remaining. + @item EINTR A signal interrupted the call to log_read(). -@item ENOSYS -The function log_read() is not supported by this implementation. + @item EIO An I/O error occurred in reading from the event log. @@ -251,37 +288,33 @@ An I/O error occurred in reading from the event log. @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The @code{log_read} function shall attempt to read the @code{log_entry} - structure and @code{log_len} bytes of data from the next event record - of the log file associated with the open log file descriptor @code{logdes}, - placing the @code{log_entry} structure into the buffer pointed to by - @code{entry}, and the data into the buffer pointed to by @code{log_buf}. - The log record ID of the returned event record shall be stored in the - @code{log_recied} 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 shall match that query. - If the @code{entry} argument is not NULL it will point to a @code{log_entry} - structure which sall be filled with the creation information for this log - entry. If the argument @code{log_buf} is not NULL the data written with the - log entry will be placed in the buffer. The size of the buffer is specified - by the argument @code{log_len}. - - If the @code{log_read} is successful the call shall store the actual length - of the data associated with the event record into the location specified by - @code{log_sizeread}. This number may be smaller or greater than - @code{log_len}. - -Otherwise: - - The @code{log_read} function shall fail. - +The @code{log_read} function shall attempt to read the @code{log_entry} +structure and @code{log_len} bytes of data from the next event record +of the log file associated with the open log file descriptor @code{logdes}, +placing the @code{log_entry} structure into the buffer pointed to by +@code{entry}, and the data into the buffer pointed to by @code{log_buf}. +The log record ID of the returned event record shall be stored in the +@code{log_recied} 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 shall match that query. +If the @code{entry} argument is not NULL it will point to a @code{log_entry} +structure which sall be filled with the creation information for this log +entry. If the argument @code{log_buf} is not NULL the data written with the +log entry will be placed in the buffer. The size of the buffer is specified +by the argument @code{log_len}. + +If the @code{log_read} is successful the call shall store the actual length +of the data associated with the event record into the location specified by +@code{log_sizeread}. This number may be smaller or greater than +@code{log_len}. @subheading NOTES: +The @code{_POSIX_LOGGING} feature flag is defined to indicate +this service is available. + @page @subsection log_notify - Notify Process of writes to the system log. @@ -304,11 +337,14 @@ int log_notify( @table @b @item EBADF The logdes arfument 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 ENOSY The function log_notify() is not supported by this implementation. @@ -316,30 +352,26 @@ The function log_notify() is not supported by this implementation. @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - If the argument @code{notification} is not 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 NULL and the calling process is - currently registered to be notified for the @code{logdes} log file - descriptor, the existing registration shall be removed. - -Otherwise: - - The @code{log_notify} function shall fail. - +If the argument @code{notification} is not 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 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 @@ -361,34 +393,29 @@ int log_close( @table @b @item EBADF The logdes argument is not a valid log file descriptor. -@item ENOSYS -The function log_close() is not supported by t his implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The @code{log_close} function deallocates the open log file descriptor - indicated by @code{log_des}. +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 shall be freed. +When all log file descriptors associated with an open log file description +have been closed, the open log file description shall be 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 shall be freed and the - log file shall no longer be accessible. +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 shall be 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 shall be removed. - -Otherwise: - - The @code{log_close} function shall fail. +If the process has successfully registered a notification request for the +log file descriptor, the registration shall be 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 @@ -411,37 +438,42 @@ int log_seek( @table @b @item EBADF The logdes argument is not a valid log file descriptor. + @item EINTR The log_seek() function was interrupted by a signal. + @item EINVAL The log_recid argument is not a valid record id. -@item ENOSYS -The function log_seek() is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: +The @code{log_seek} function shall set the log file offset of the open +log descriptioin 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 : + +@table @b +@item LOG_SEEK_START +Set log file position to point at the first event +record in the log file - The @code{log_seek} function shall set the log file offset of the open - log descriptioin 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 : - LOG_SEEK_START - Set log file position to point at the first event - record in the log file - LOG_SEEK_END - Set log file position to point after the last event - record in the log file - If the @code{log_seek} function is interrupted, the state of the open log - file description associated with @code{logdes} is unspecified. +@item LOG_SEEK_END +Set log file position to point after the last event +record in the log file -Otherwise: +@end table - The @code{log_seek} function shall fail. +If the @code{log_seek} function is interrupted, the state of the open log +file description associated with @code{logdes} is unspecified. @subheading NOTES: +The @code{_POSIX_LOGGING} feature flag is defined to indicate +this service is available. + @page @subsection log_severity_before - Compare event record severities @@ -464,31 +496,25 @@ int log_severity_before( @table @b @item EINVAL The value of either s1 or s2 exceeds @code{LOG_SEVERITY_MAX}. -@item ENOSYS -The function log_severity_before() is not supported by this -implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The @code{log_severity_before} function shall compare the severity order - of the @code{s1} and @code{s2} arguments. Severity values ordered - according to this function shall be according to decreasing severity. +The @code{log_severity_before} function shall compare the severity order +of the @code{s1} and @code{s2} arguments. Severity values ordered +according to this function shall be according to decreasing severity. - If @code{s1} is ordered before or is equal to @code{s2} then the ordering - predicate shall return 1, otherwise the predicate shall return 0. If - either @code{s1} or @code{s2} specify invlid severity values, the return - value of @code{log_severity_before} is unspecified. - -Otherwise: - - The @code{log_severity_before} function shall fail. +If @code{s1} is ordered before or is equal to @code{s2} then the ordering +predicate shall return 1, otherwise the predicate shall return 0. If +either @code{s1} or @code{s2} specify invlid 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. + @page @subsection log_facilityemptyset - Manipulate log facility sets @@ -510,50 +536,45 @@ int log_facilityemptyset( @table @b @item EINVAL The facilityno argument is not a valid facility. -@item ENOSYS -The function is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The facilitysetops primitives manipulate sets of facilities. They - operate on data objects addressable by the application. - - The @code{log_facilityemptyset} function initializes the facility - set pointed to by the argument @code{set}, such that all facilties - are included. - - Applications shall call either @code{log_facilityemptyset} or - @code{log_cacilityfillset} 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. - - The @code{log_facilityaddset} and @code{log_facilitydelset} functions - respectively add or delete the individual facility specified by the - value of the argument @code{facilityno} to or from the facility set - pointed to by the argument @code{set} - - 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 returns a - value of zero to the location specified by @code{member} if the - specified facility is not a member of the specified set. - -Otherwise: - - The function fails +The facilitysetops primitives manipulate sets of facilities. They +operate on data objects addressable by the application. + +The @code{log_facilityemptyset} function initializes the facility +set pointed to by the argument @code{set}, such that all facilties +are included. + +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. + +The @code{log_facilityaddset} and @code{log_facilitydelset} functions +respectively add or delete the individual facility specified by the +value of the argument @code{facilityno} to or from the facility set +pointed to by the argument @code{set} + +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 returns a +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. + @page @subsection log_facilityfillset - Manipulate log facility sets @@ -575,50 +596,45 @@ int log_facilityfillset( @table @b @item EINVAL The facilityno argument is not a valid facility. -@item ENOSYS -The function is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The facilitysetops primitives manipulate sets of facilities. They - operate on data objects addressable by the application. - - The @code{log_facilityemptyset} function initializes the facility - set pointed to by the argument @code{set}, such that all facilties - are included. - - Applications shall call either @code{log_facilityemptyset} or - @code{log_cacilityfillset} 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. - - The @code{log_facilityaddset} and @code{log_facilitydelset} functions - respectively add or delete the individual facility specified by the - value of the argument @code{facilityno} to or from the facility set - pointed to by the argument @code{set} - - 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 returns a - value of zero to the location specified by @code{member} if the - specified facility is not a member of the specified set. - -Otherwise: - - The function fails +The facilitysetops primitives manipulate sets of facilities. They +operate on data objects addressable by the application. + +The @code{log_facilityemptyset} function initializes the facility +set pointed to by the argument @code{set}, such that all facilties +are included. + +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. + +The @code{log_facilityaddset} and @code{log_facilitydelset} functions +respectively add or delete the individual facility specified by the +value of the argument @code{facilityno} to or from the facility set +pointed to by the argument @code{set} + +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 returns a +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. + @page @subsection log_facilityaddset - Manipulate log facility sets @@ -641,50 +657,45 @@ int log_facilityaddset( @table @b @item EINVAL The facilityno argument is not a valid facility. -@item ENOSYS -The function is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The facilitysetops primitives manipulate sets of facilities. They - operate on data objects addressable by the application. - - The @code{log_facilityemptyset} function initializes the facility - set pointed to by the argument @code{set}, such that all facilties - are included. - - Applications shall call either @code{log_facilityemptyset} or - @code{log_cacilityfillset} 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. - - The @code{log_facilityaddset} and @code{log_facilitydelset} functions - respectively add or delete the individual facility specified by the - value of the argument @code{facilityno} to or from the facility set - pointed to by the argument @code{set} - - 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 returns a - value of zero to the location specified by @code{member} if the - specified facility is not a member of the specified set. - -Otherwise: - - The function fails +The facilitysetops primitives manipulate sets of facilities. They +operate on data objects addressable by the application. + +The @code{log_facilityemptyset} function initializes the facility +set pointed to by the argument @code{set}, such that all facilties +are included. + +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. + +The @code{log_facilityaddset} and @code{log_facilitydelset} functions +respectively add or delete the individual facility specified by the +value of the argument @code{facilityno} to or from the facility set +pointed to by the argument @code{set} + +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 returns a +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. + @page @subsection log_facilitydelset - Manipulate log facility sets @@ -707,50 +718,45 @@ int log_facilitydelset( @table @b @item EINVAL The facilityno argument is not a valid facility. -@item ENOSYS -The function is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The facilitysetops primitives manipulate sets of facilities. They - operate on data objects addressable by the application. - - The @code{log_facilityemptyset} function initializes the facility - set pointed to by the argument @code{set}, such that all facilties - are included. - - Applications shall call either @code{log_facilityemptyset} or - @code{log_cacilityfillset} 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. - - The @code{log_facilityaddset} and @code{log_facilitydelset} functions - respectively add or delete the individual facility specified by the - value of the argument @code{facilityno} to or from the facility set - pointed to by the argument @code{set} - - 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 returns a - value of zero to the location specified by @code{member} if the - specified facility is not a member of the specified set. - -Otherwise: - - The function fails +The facilitysetops primitives manipulate sets of facilities. They +operate on data objects addressable by the application. + +The @code{log_facilityemptyset} function initializes the facility +set pointed to by the argument @code{set}, such that all facilties +are included. + +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. + +The @code{log_facilityaddset} and @code{log_facilitydelset} functions +respectively add or delete the individual facility specified by the +value of the argument @code{facilityno} to or from the facility set +pointed to by the argument @code{set} + +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 returns a +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. + @page @subsection log_facilityismember - Manipulate log facility sets @@ -774,50 +780,45 @@ int log_facilityismember( @table @b @item EINVAL The facilityno argument is not a valid facility. -@item ENOSYS -The function is not supported by this implementation. @end table @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - The facilitysetops primitives manipulate sets of facilities. They - operate on data objects addressable by the application. - - The @code{log_facilityemptyset} function initializes the facility - set pointed to by the argument @code{set}, such that all facilties - are included. - - Applications shall call either @code{log_facilityemptyset} or - @code{log_cacilityfillset} 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. - - The @code{log_facilityaddset} and @code{log_facilitydelset} functions - respectively add or delete the individual facility specified by the - value of the argument @code{facilityno} to or from the facility set - pointed to by the argument @code{set} - - 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 returns a - value of zero to the location specified by @code{member} if the - specified facility is not a member of the specified set. - -Otherwise: - - The function fails +The facilitysetops primitives manipulate sets of facilities. They +operate on data objects addressable by the application. + +The @code{log_facilityemptyset} function initializes the facility +set pointed to by the argument @code{set}, such that all facilties +are included. + +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. + +The @code{log_facilityaddset} and @code{log_facilitydelset} functions +respectively add or delete the individual facility specified by the +value of the argument @code{facilityno} to or from the facility set +pointed to by the argument @code{set} + +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 returns a +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. + @page @subsection log_create - Creates a log file @@ -845,18 +846,15 @@ The is ???????????? @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - This function dynamically allocates memory for the @code{ld}, associates - a directory path to the @code{Ld}, andprovides access permissions to the - @code{ld}. - -Otherwise: - - The function fails +This function dynamically allocates memory for the @code{ld}, associates +a directory path to the @code{Ld}, andprovides access permissions to the +@code{ld}. @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 @@ -881,16 +879,10 @@ The directory path to the system log already exist. @subheading DESCRIPTION: -If @code{_POSIX_LOGGING} is defined: - - This function will create a predefined system log directory path and system log - file if they do not already exist. - -Otherwise: - - The function fails +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