union wait *status;
struct rusage *rusage;
The format for the wait3 function on SYSV-based systems is:
Notify_value
wait3_func(client, pid, status, rusage)
Notify_client client;
int pid;
int *status;
struct rusage *rusage;
notify_itimer_value( )
Returns the current state of an interval timer for client in the structure pointed to by
value. The which parameter is either ITIMER_REAL or ITIMER_VIRTUAL.
Notify_error
notify_itimer_value(client, which, value)
Notify_client client;
int which;
struct itimerval *value;
notify_next_destroy_func()
Calls the next destroy event handler for client.
Notify_value
notify_next_destroy_func(client, status)
Notify_client client;
Destroy_status status;
status is one of:
DESTROY_PROCESS_DEATH
DESTROY_CHECKING
DESTROY_CLEANUP
DESTROY_SAVE_YOURSELF
notify_next_event_func()
Calls the next event handler for client.
Notify_value
notify_next_event_func(client, event, arg, type)
Notify_client client;
Notify_event *event;
Notify_arg arg;
Notify_event_type type;
type is either NOTIFY_SAFE or NOTIFY_IMMEDIATE.
notify_next_exception_func()
Notify_value
notify_next_exception_func(client, fd)
Notify_client client;
int fd;
190 XView Reference Manual
notify_next_input_func()
Notify_value
notify_next_input_func(client, fd)
Notify_client client;
int fd;
notify_next_itimier_func()
Notify_value
notify_next_itimer_func(client, which)
Notify_client client;
int which;
notify_next_output_func()
Notify_value
notify_next_output_func(client, fd)
Notify_client client;
int fd;
notify_next_signal_func()
Notify_value
notify_next_signal_func(client, signal, mode)
Notify_client client;
int signal;
Notify_signal_mode mode;
notify_next_wait3_func()
BSD
Notify_value
notify_next_wait3_func(client, pid, status, rusage)
Notify_client client;
int pid;
union wait *status;
struct rusage *rusage;
notify_next_wait3_func()
SYSV based systems
Notify_value
notify_next_wait3_func(client, pid, status, rusage)
Notify_client client;
int pid;
int *status;
struct rusage *rusage;
Procedures and Macros
Procedures and Macros 191
notify_no_dispatch()
Prevents the Notifier from dispatching events from within the call to read (2) or
select (2).
Notify_error
notify_no_dispatch()
See Also: notify_do_dispatch().
notify_perror( )
Analogous to the UNIX perror (3) system call. s is printed to stderr, followed by
a terse description of notify_errno().
void
notify_perror(s)
char *s;
notify_post_event()
Posts a client event. A client event may be posted to the Notifier at any time. The
poster of a client event may suggest to the Notifier when to deliver the event, but this is
only a hint. The Notifier will see to it that it is delivered at an appropriate time (more
on this below).
typedef char * Notify_event;
Notify_error
notify_post_event(client, event, when_hint)
Notify_client client;
Notify_event event;
Notify_event_type when_hint;
The client handle from notify_set_event_func() is passed to notify_
post_event(). event is defined and interpreted solely by the client.
when_hint is NOTIFY_SAFE or NOTIFY_IMMEDIATE. A return code of NOTIFY_OK
indicates that the notification has been posted. Other values indicate an error condi-
tion. NOTIFY_UNKNOWN_CLIENT indicates that client is unknown to the Notifier.
NOTIFY_NO_CONDITION indicates that client has no client event handler registered
with the Notifier.
notify_post_event_and_arg()
Passes additional data with an event. For example, when the scrollbar posts an event to
its owner to do a scroll, the scrollbar’s handle is passed as an argument along with the
event. The function notify_post_event_and_arg() provides the argument-
passing mechanism.
192 XView Reference Manual
Notify_error
notify_post_event_and_arg(client, event, when_hint, arg,
copy_func, release_func)
Notify_client client;
Notify_event event;
Notify_event_type when_hint;
Notify_arg arg;
Notify_copy copy_func;
Notify_release release_func;
typedef caddr_t Notify_arg;
typedef Notify_arg (*Notify_copy)();
#define NOTIFY_COPY_NULL ((Notify_copy)0)
typedef void (*Notify_release)();
#define NOTIFY_RELEASE_NULL ((Notify_release)0)
copy_func() is called to copy arg (and, optionally, event) when event and
arg need to be queued for later delivery. release_func() is called to release the
storage allocated during the copy call when event and arg were no longer needed by
the Notifier.
Any of arg, copy_func(), or release_func() may be
NULL. If copy_func
is not
NOTIFY_COPY_NULL and arg is NULL, then copy_func() is called anyway.
This allows event the opportunity to be copied because copy_func() takes a
pointer to event. The event pointed to may be replaced as a side effect of the copy
call. The same applies to a NOTIFY_RELEASE_NULL release function with a NULL
arg argument.
The copy() and release() routines are client-dependent, so you must write them
yourself. Their calling sequences are the following:
Notify_arg
copy_func(client, arg, event_ptr)
Notify_client client;
Notify_arg arg;
Notify_event *event_ptr;
void
release_func(client, arg, event)
Notify_client client;
Notify_arg arg;
Notify_event event;
notify_remove_destroy_func()
Notify_error
notify_remove_destroy_func(client, destroy_func)
Notify_client client;
Notify_func destroy_func;
Procedures and Macros
Procedures and Macros 193
notify_remove_event_func()
Notify_error
notify_remove_event_func(client, event_func, when)
Notify_client client;
Notify_func event_func;
int when;
notify_remove_exception_func()
Notify_error
notify_remove_exception_func(client, exception_func, fd)
Notify_client client;
Notify_func exception_func;
int fd;
notify_remove_input_func()
Notify_error
notify_remove_input_func(client, input_func, fd)
Notify_client client;
Notify_func input_func;
int fd;
notify_remove_itimer_func()
Notify_error
notify_remove_itimer_func(client, itimer_func, which)
Notify_client client;
Notify_func itimier_func;
int which;
notify_remove_output_func()
Notify_error
notify_remove_output_func(client, output_func, fd)
Notify_client client;
Notify_func output_func;
int fd;
notify_remove_signal_func()
Notify_error
notify_remove_signal_func(client, signal_func, signal, mode)
Notify_client client;
Notify_func signal_func;
int signal;
Notify_signal_mode mode;
notify_remove_wait3_func()
Notify_error
notify_remove_wait3_func(client, pid)
Notify_client client;
Notify_func wait3_func;
int pid;
194 XView Reference Manual

Get Volume 7B: XView Reference Manual now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.