1*dc2ecebeSagc /* $NetBSD: isns_thread.h,v 1.1.1.1 2011/01/16 01:22:50 agc Exp $ */ 2*dc2ecebeSagc 3*dc2ecebeSagc /*- 4*dc2ecebeSagc * Copyright (c) 2004,2009 The NetBSD Foundation, Inc. 5*dc2ecebeSagc * All rights reserved. 6*dc2ecebeSagc * 7*dc2ecebeSagc * This code is derived from software contributed to The NetBSD Foundation 8*dc2ecebeSagc * by Wasabi Systems, Inc. 9*dc2ecebeSagc * 10*dc2ecebeSagc * Redistribution and use in source and binary forms, with or without 11*dc2ecebeSagc * modification, are permitted provided that the following conditions 12*dc2ecebeSagc * are met: 13*dc2ecebeSagc * 1. Redistributions of source code must retain the above copyright 14*dc2ecebeSagc * notice, this list of conditions and the following disclaimer. 15*dc2ecebeSagc * 2. Redistributions in binary form must reproduce the above copyright 16*dc2ecebeSagc * notice, this list of conditions and the following disclaimer in the 17*dc2ecebeSagc * documentation and/or other materials provided with the distribution. 18*dc2ecebeSagc * 19*dc2ecebeSagc * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20*dc2ecebeSagc * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21*dc2ecebeSagc * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22*dc2ecebeSagc * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23*dc2ecebeSagc * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24*dc2ecebeSagc * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25*dc2ecebeSagc * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26*dc2ecebeSagc * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27*dc2ecebeSagc * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28*dc2ecebeSagc * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29*dc2ecebeSagc * POSSIBILITY OF SUCH DAMAGE. 30*dc2ecebeSagc */ 31*dc2ecebeSagc /* 32*dc2ecebeSagc * isns_thread.h 33*dc2ecebeSagc */ 34*dc2ecebeSagc 35*dc2ecebeSagc #ifndef _ISNS_THREAD_H 36*dc2ecebeSagc #define _ISNS_THREAD_H 37*dc2ecebeSagc 38*dc2ecebeSagc #include <sys/event.h> 39*dc2ecebeSagc #include <pthread.h> 40*dc2ecebeSagc 41*dc2ecebeSagc #define ISNS_CMD_STOP 1 42*dc2ecebeSagc #define ISNS_CMD_PROCESS_TASKQ 2 43*dc2ecebeSagc #define ISNS_CMD_ABORT_TRANS 3 44*dc2ecebeSagc 45*dc2ecebeSagc #define ISNS_EVT_TIMER_REFRESH 1 46*dc2ecebeSagc #define ISNS_EVT_TIMER_RECON 2 47*dc2ecebeSagc #define ISNS_EVT_TIMER_RECON_PERIOD_MS 1000 48*dc2ecebeSagc 49*dc2ecebeSagc #define ISNS_THREAD_MAX_NAMELEN 128 50*dc2ecebeSagc 51*dc2ecebeSagc typedef int (isns_kevent_handler)(struct kevent *, struct isns_config_s *); 52*dc2ecebeSagc 53*dc2ecebeSagc extern void *isns_control_thread(void *arg); 54*dc2ecebeSagc extern isns_kevent_handler isns_kevent_pipe; 55*dc2ecebeSagc extern isns_kevent_handler isns_kevent_socket; 56*dc2ecebeSagc extern isns_kevent_handler isns_kevent_timer_recon; 57*dc2ecebeSagc extern isns_kevent_handler isns_kevent_timer_refresh; 58*dc2ecebeSagc 59*dc2ecebeSagc 60*dc2ecebeSagc #endif /* !_ISNS_THREAD_H */ 61