sscfupriv.h revision 131827
1/* 2 * Copyright (c) 1996-2003 3 * Fraunhofer Institute for Open Communication Systems (FhG Fokus). 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * 27 * Author: Hartmut Brandt <harti@freebsd.org> 28 * 29 * $Begemot: libunimsg/netnatm/saal/sscfupriv.h,v 1.3 2003/09/19 12:02:03 hbb Exp $ 30 * 31 * Private SSCF-UNI definitions. 32 */ 33#ifdef _KERNEL 34#ifdef __FreeBSD__ 35#include <netgraph/atm/sscfu/ng_sscfu_cust.h> 36#endif 37#else 38#include "sscfucust.h" 39#endif 40 41/* 42 * Structure for signal queueing. 43 */ 44struct sscfu_sig { 45 sscfu_sigq_link_t link; /* link to next signal */ 46 enum saal_sig sig; /* the signal */ 47 struct SSCFU_MBUF_T *m; /* associated message */ 48}; 49 50struct sscfu { 51 enum sscfu_state state; /* SSCF state */ 52 const struct sscfu_funcs *funcs; /* func vector */ 53 void *aarg; /* user arg */ 54 int inhand; /* need to queue signals */ 55 sscfu_sigq_head_t sigs; /* signal queue */ 56 u_int debug; /* debugging flags */ 57}; 58 59/* 60 * Debugging 61 */ 62#ifdef SSCFU_DEBUG 63#define VERBOSE(S,M,F) if ((S)->debug & (M)) (S)->funcs->verbose F 64#else 65#define VERBOSE(S,M,F) 66#endif 67