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

📄 notify.h

📁 RTP 实现的工具
💻 H
字号:
/*stripped-down version of <xview/notify.h>(c) Copyright 1989, 1990, 1991 Sun Microsystems, Inc. Sun designpatents pending in the U.S. and foreign countries. OPEN LOOK isa trademark of USL. Used by written permission of the owners.*/#ifndef _notify_h#define _notify_h#include <sys/types.h>#include <sys/time.h>/* * Client notification function return values for notifier to client calls. */typedef enum notify_value {  NOTIFY_DONE		= 0,	/* Handled notification */  NOTIFY_IGNORED	= 1,	/* Did nothing about notification */  NOTIFY_UNEXPECTED	= 2	    /* Notification not expected */} Notify_value;typedef 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 */} Notify_error;typedef enum notify_signal_mode {  NOTIFY_SYNC             = 0,  NOTIFY_ASYNC            = 1} Notify_signal_mode;/* * Opaque client handle. */typedef	unsigned long Notify_client;/* * A pointer to functions returning a Notify_value. */typedef	Notify_value (*Notify_func)(Notify_client client);typedef	Notify_value (*Notify_func_input)(Notify_client client, int fd);typedef	Notify_value (*Notify_func_signal)(Notify_client client, int  signal, Notify_signal_mode mode);#define	NOTIFY_FUNC_NULL        ((Notify_func)0)#define	NOTIFY_FUNC_INPUT_NULL  ((Notify_func_input)0)#define	NOTIFY_FUNC_SIGNAL_NULL ((Notify_func_signal)0)/* * Establish event handler for file descriptor 'fd'. The handler * 'func' is called whenever 'fd' is ready for input. Calling * notify_set_input_func with func=NOTIFY_FUNC_NULL removes * the handler. Return 'func' on success, NOTIFY_FUNC_NULL * on failure. */extern Notify_func_input notify_set_input_func (Notify_client nclient,  Notify_func_input func, int fd);/* * Establish event handler for file descriptor 'fd'. The handler * 'func' is called whenever 'fd' is ready for output. Calling * notify_set_input_func with func=NOTIFY_FUNC_NULL removes * the handler. Return 'func' on success, NOTIFY_FUNC_NULL * on failure. */extern Notify_func notify_set_output_func (Notify_client nclient,  Notify_func func, int fd);/* * Establish event handler that is called periodically.  * The function 'func' is called every 'interval' milliseconds. * To change the period, call the function with the original * 'client' and 'func' values, and a changed value of 'interval'. * An interval value of 0 disables the periodic invocation of  * 'func'. No return value. */extern void notify_set_periodic_func(Notify_client client, Notify_func  func, int interval);/** Main loop. Never exits unless notify_stop() is called.*/extern  Notify_error  notify_start(void);/** Abort event handler.*/extern  Notify_error  notify_stop(void);/** Establish signal handler.*/extern Notify_func_signal notify_set_signal_func(Notify_client nclient,  Notify_func_signal func, int sig, Notify_signal_mode mode);#endif

⌨️ 快捷键说明

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