⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notify.h

📁 操作系统SunOS 4.1.3版本的源码
💻 H
字号:
/*	@(#)notify.h 1.1 92/07/30 SMI	*//* * Copyright (c) 1985 by Sun Microsystems, Inc. */#ifndef	NOTIFY_DEFINED#define	NOTIFY_DEFINED#include <sys/types.h>           /* to define fd_set *//* * Opaque client handle. */typedef	char * Notify_client;#define	NOTIFY_CLIENT_NULL	((Notify_client)0)/* * Opaque client event. */typedef	char * Notify_event;/* * Opaque client event optional argument. */typedef	char * Notify_arg;#define	NOTIFY_ARG_NULL	((Notify_arg)0)/* * Client notification function return values for notifier to client calls. */enum	notify_value {	NOTIFY_DONE=0,		/* Handled notification */	NOTIFY_IGNORED=1,	/* Did nothing about notification */	NOTIFY_UNEXPECTED=2,	/* Notification not expected */};typedef	enum notify_value Notify_value;/* * Error codes for client to notifier calls (returned when no other * return value or stored in notify_errno when other return value * indicates error condition). */enum notify_error {	NOTIFY_OK=0,		/* Success */	NOTIFY_UNKNOWN_CLIENT=1,/* Client argument unknown to notifier */	NOTIFY_NO_CONDITION=2,	/* Client not registered for given condition */	NOTIFY_BAD_ITIMER=3,	/* Itimer type unknown */	NOTIFY_BAD_SIGNAL=4,	/* Signal number out of range */	NOTIFY_NOT_STARTED=5,	/* Notify_stop called & notifier not started */	NOTIFY_DESTROY_VETOED=6,/* Some client didn't want to die when called				   notify_die(DESTROY_CHECKING) */	NOTIFY_INTERNAL_ERROR=7,/* Something wrong in the notifier */	NOTIFY_SRCH=8,		/* No such process */	NOTIFY_BADF=9,		/* Bad file number */	NOTIFY_NOMEM=10,	/* Not enough core */	NOTIFY_INVAL=11,	/* Invalid argument */	NOTIFY_FUNC_LIMIT=12,	/* Too many interposition functions */};typedef	enum notify_error Notify_error;extern	Notify_error notify_errno;/* * Argument types */enum	notify_signal_mode {	NOTIFY_SYNC=0,	NOTIFY_ASYNC=1,};typedef enum notify_signal_mode Notify_signal_mode;enum	notify_event_type {	NOTIFY_SAFE=0,	NOTIFY_IMMEDIATE=1,};typedef enum notify_event_type Notify_event_type;enum	destroy_status {	DESTROY_PROCESS_DEATH=0,	DESTROY_CHECKING=1,	DESTROY_CLEANUP=2,};typedef enum destroy_status Destroy_status;/* * A pointer to a function returning a Notify_value. */typedef	Notify_value (*Notify_func)();#define	NOTIFY_FUNC_NULL	((Notify_func)0)/* * A pointer to a function returning a Notify_arg (used for client * event additional argument copying). */typedef	Notify_arg (*Notify_copy)();#define	NOTIFY_COPY_NULL	((Notify_copy)0)/* * A pointer to a function returning void (used for client * event additional argument storage releasing). */typedef	void (*Notify_release)();#define	NOTIFY_RELEASE_NULL	((Notify_release)0)/* * External references */extern	struct itimerval NOTIFY_NO_ITIMER;	/* {{0,0},{0,0}} */extern	struct itimerval NOTIFY_POLLING_ITIMER;	/* {{0,1},{0,1}} */extern	Notify_error	notify_errno;extern	void		notify_perror();extern	Notify_value	notify_nop();extern	Notify_value	notify_default_wait3();extern	Notify_func	notify_set_input_func();extern  Notify_func	notify_set_output_func();extern  Notify_func	notify_set_exception_func();extern  Notify_func	notify_set_itimer_func();extern  Notify_func	notify_set_signal_func();extern  Notify_func	notify_set_wait3_func();extern  Notify_func	notify_set_destroy_func();extern  Notify_func	notify_set_event_func();extern	Notify_error	notify_interpose_input_func();extern  Notify_error	notify_interpose_output_func();extern  Notify_error	notify_interpose_exception_func();extern  Notify_error	notify_interpose_itimer_func();extern  Notify_error	notify_interpose_signal_func();extern  Notify_error	notify_interpose_wait3_func();extern  Notify_error	notify_interpose_destroy_func();extern  Notify_error	notify_interpose_event_func();extern	Notify_value	notify_next_input_func();extern  Notify_value	notify_next_output_func();extern  Notify_value	notify_next_exception_func();extern  Notify_value	notify_next_itimer_func();extern  Notify_value	notify_next_signal_func();extern  Notify_value	notify_next_wait3_func();extern  Notify_value	notify_next_destroy_func();extern  Notify_value	notify_next_event_func();extern  Notify_error	notify_itimer_value();extern  Notify_error	notify_post_event();extern  Notify_error	notify_post_event_and_arg();extern  Notify_error	notify_post_destroy();extern  Notify_error	notify_veto_destroy();extern  Notify_error	notify_start();extern  Notify_error	notify_dispatch();extern  Notify_error	notify_stop();extern	Notify_error	notify_die();extern	Notify_error	notify_remove();extern	Notify_error	notify_do_dispatch();extern	Notify_error	notify_no_dispatch();extern	Notify_func	notify_get_input_func();extern	Notify_func	notify_get_output_func();extern	Notify_func	notify_get_exception_func();extern	Notify_func	notify_get_itimer_func();extern	Notify_func	notify_get_signal_func();extern	Notify_func	notify_get_wait3_func();extern	Notify_func	notify_get_destroy_func();extern	Notify_func	notify_get_event_func();extern	Notify_error	notify_remove_input_func();extern  Notify_error	notify_remove_output_func();extern  Notify_error	notify_remove_exception_func();extern  Notify_error	notify_remove_itimer_func();extern  Notify_error	notify_remove_signal_func();extern  Notify_error	notify_remove_wait3_func();extern  Notify_error	notify_remove_destroy_func();extern  Notify_error	notify_remove_event_func();extern	Notify_func	notify_set_prioritizer_func();extern	Notify_func	notify_set_scheduler_func();extern	Notify_error	notify_input();extern	Notify_error	notify_output();extern	Notify_error	notify_exception();extern	Notify_error	notify_itimer();extern	Notify_error	notify_signal();extern	Notify_error	notify_wait3();extern	Notify_error	notify_event();extern	Notify_error	notify_destroy();extern	Notify_error	notify_client();extern	Notify_func	notify_get_prioritizer_func();extern	Notify_func	notify_get_scheduler_func();extern	void		notify_flush_pending();extern	int		notify_get_signal_code();extern	struct sigcontext *	notify_get_signal_context();/** FD manipulation funtions*/extern int ntfy_fd_cmp_and();extern int ntfy_fd_cmp_or();extern int ntfy_fd_anyset();extern fd_set *ntfy_fd_cpy_or();extern fd_set *ntfy_fd_cpy_and();extern fd_set *ntfy_fd_cpy_xor();/* * Mask bit generating macros (for prioritizer): */#define	SIG_BIT(sig)	(1 << ((sig)-1))/* * Debugging utility: */typedef	enum notify_dump_type {	NOTIFY_ALL=0,	NOTIFY_DETECT=1,	NOTIFY_DISPATCH=2,} Notify_dump_type;extern	void		notify_dump();#endif	NOTIFY_DEFINED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -