Home | History | Annotate | Download | only in include
      1 /*	$OpenBSD: dispatch.h,v 1.9 2002/01/11 13:39:36 markus Exp $	*/
      2 
      3 #ifndef	_DISPATCH_H
      4 #define	_DISPATCH_H
      5 
      6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
      7 
      8 #ifdef __cplusplus
      9 extern "C" {
     10 #endif
     11 
     12 
     13 /*
     14  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
     15  *
     16  * Redistribution and use in source and binary forms, with or without
     17  * modification, are permitted provided that the following conditions
     18  * are met:
     19  * 1. Redistributions of source code must retain the above copyright
     20  *    notice, this list of conditions and the following disclaimer.
     21  * 2. Redistributions in binary form must reproduce the above copyright
     22  *    notice, this list of conditions and the following disclaimer in the
     23  *    documentation and/or other materials provided with the distribution.
     24  *
     25  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     26  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     27  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     28  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     29  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     30  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     31  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     32  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     33  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     34  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     35  */
     36 enum {
     37 	DISPATCH_BLOCK,
     38 	DISPATCH_NONBLOCK
     39 };
     40 
     41 typedef void dispatch_fn(int, u_int32_t, void *);
     42 
     43 void	 dispatch_init(dispatch_fn *);
     44 void	 dispatch_set(int, dispatch_fn *);
     45 void	 dispatch_range(u_int, u_int, dispatch_fn *);
     46 void	 dispatch_run(int, int *, void *);
     47 void	 dispatch_protocol_error(int, u_int32_t, void *);
     48 void	 dispatch_protocol_ignore(int, u_int32_t, void *);
     49 
     50 #ifdef __cplusplus
     51 }
     52 #endif
     53 
     54 #endif /* _DISPATCH_H */
     55