00001 00002 /* 00003 ** Copyright (C) 2004 Russell Leighton 00004 ** 00005 ** This program is free software; you can redistribute it and/or modify 00006 ** it under the terms of the GNU General Public License as published by 00007 ** the Free Software Foundation; either version 2 of the License, or 00008 ** (at your option) any later version. 00009 ** 00010 ** This program is distributed in the hope that it will be useful, 00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 ** GNU General Public License for more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program; if not, write to the Free Software 00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 00021 00022 00023 #ifndef __AWHANDLER_MONSTAT__ 00024 #define __AWHANDLER_MONSTAT__ 00025 00026 #include "monitor.h" 00027 00028 #include "wire.h" 00029 00057 typedef struct { 00058 00059 aw_handler_t 00060 handler_header; 00061 00062 } aw_monstathandler_t ; 00063 00072 aw_monstathandler_t *aw_create_monstathandler(int32_t (*regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), 00073 int32_t (*regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index), 00074 const aw_alarm_sched_t *sched, 00075 aw_logger_t *logger 00076 ); 00077 00082 void aw_free_monstathandler(aw_monstathandler_t *h); 00083 00084 00088 aw_handler_t *aw_wire_monstathandler(aw_wire_mkhandler_args_t *args); 00089 00090 #endif 00091