IBM® Carrier Grade Server X3650 T
Revision
3.0
84
17.2.3.2.4 syscon_log_sigval_recid()
The
syscon_log_sigval_recid
() function shall store the record ID of the event record associated with the
current notification to the location pointed to by the
recid
argument. If the SYSCONLOG_SEND_RECID
flag is not set in the associated notification request, the value stored to
recid
shall be undefined.
This function is intended to be called from the new thread that handles delivery of an event notification.
(In the associated notification request,
notification
->
sigev_notify
must be SIGEV_THREAD.) The
sval
argument of
syscon_log_sigval_recid
() shall be the
sigval
argument of that thread’s
start_routine
. The
effect of calling
syscon_log_sigval_recid
() under other circumstances shall be undefined.
17.2.3.2.5 syscon_log_notify_get()
The
syscon_log_notify_get
() function retrieves the parameters of the notification request associated with
the
nfyhandle
argument. A copy of the notification request’s
sigevent
structure shall be stored to the
location pointed to by the
notification
argument.
A copy of the notification request’s flags shall be stored to the location pointed to by the
flags
argument.
If the notification request is currently disabled, the SYSCONLOG_NFY_DISABLED flag shall be set.
syscon_log_notify_get
() shall also store a textual query expression to the buffer pointed to by the
qsbuf
argument; this expression (a null-terminated string) shall be functionally equivalent to the one that was
used to create the notification request’s query object. (If the notification request’s query object is
NULL
, a
null character shall be stored to
qsbuf
[0].)
The buffer pointed to by
qsbuf
is assumed to be at least
qslen
bytes long. If
qsbuf
is equal to
NULL
, or the buffer is too small to hold the returned character string, the
syscon_log_notify_get
() function shall fail. In any case, if the
reqlen
argument is not
NULL
, the length in
bytes of the query expression shall be stored in the location pointed to by
reqlen
.
17.2.3.2.6
Notification Requests
A process may have up to {SYSCONLOG_NOTIFY_MAX} notification requests (including disabled
requests) registered at any one time. Registration (creation), disabling, or removal of one notification
request has no effect on other notification requests. When the system log receives a new event record,
all notification requests for a particular process are processed sequentially and independently. If a
process has more than one notification request that is matched by a particular event, then the notification
associated with each such notification request will be sent to the process.
Notifications shall not be sent before the associated event record has been added to the system log, and
is available for detection by
syscon_log_seek
() and
reading by
syscon_log_read
().
17.2.3.3 Returns
Upon successful completion, these functions shall return zero. Otherwise, an error number shall be
returned to indicate the error. If
syscon_log_notify_add
() fails, the data pointed to by
nfyhandle
shall
remain unchanged. If
syscon_log_siginfo_recid
() or
syscon_log_sigval_recid
() fails, the data pointed to
by the
recid
argument shall remain unchanged. If
syscon_log_notify_get
() fails, the data pointed to by the
notification
and
query_string
arguments shall remain unchanged.
Summary of Contents for Carrier Grade X3650 T
Page 8: ...IBM Carrier Grade Server X3650 T Revision 3 0 viii This page intentionally left blank...
Page 12: ...IBM Carrier Grade Server X3650 T Revision 3 0 4...
Page 15: ...IBM Carrier Grade Server X3650 T Revision 3 0 7...
Page 17: ...IBM Carrier Grade Server X3650 T Revision 3 0 9...
Page 25: ...IBM Carrier Grade Server X3650 T Revision 3 0 17...
Page 43: ...IBM Carrier Grade Server X3650 T Revision 3 0 35...