133965Sjdp/* 233965Sjdp * Copyright (c) 1996-2003 333965Sjdp * Fraunhofer Institute for Open Communication Systems (FhG Fokus). 433965Sjdp * All rights reserved. 533965Sjdp * 689857Sobrien * Redistribution and use in source and binary forms, with or without 733965Sjdp * modification, are permitted provided that the following conditions 889857Sobrien * are met: 989857Sobrien * 1. Redistributions of source code must retain the above copyright 1033965Sjdp * notice, this list of conditions and the following disclaimer. 1189857Sobrien * 2. Redistributions in binary form must reproduce the above copyright 1289857Sobrien * notice, this list of conditions and the following disclaimer in the 1333965Sjdp * documentation and/or other materials provided with the distribution. 1433965Sjdp * 15218822Sdim * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16218822Sdim * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17218822Sdim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1833965Sjdp * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1933965Sjdp * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2077298Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2133965Sjdp * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2260484Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2360484Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2460484Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2533965Sjdp * SUCH DAMAGE. 2660484Sobrien * 2760484Sobrien * Author: Hartmut Brandt <harti@freebsd.org> 2860484Sobrien * 2960484Sobrien * $Begemot: libunimsg/netnatm/saal/sscfupriv.h,v 1.3 2003/09/19 12:02:03 hbb Exp $ 3060484Sobrien * 3160484Sobrien * Private SSCF-UNI definitions. 3260484Sobrien */ 3333965Sjdp#ifdef _KERNEL 3460484Sobrien#ifdef __FreeBSD__ 3560484Sobrien#include <netgraph/atm/sscfu/ng_sscfu_cust.h> 3660484Sobrien#endif 3760484Sobrien#else 3860484Sobrien#include "sscfucust.h" 3960484Sobrien#endif 4060484Sobrien 4160484Sobrien/* 4233965Sjdp * Structure for signal queueing. 43218822Sdim */ 4433965Sjdpstruct sscfu_sig { 4560484Sobrien sscfu_sigq_link_t link; /* link to next signal */ 4633965Sjdp enum saal_sig sig; /* the signal */ 4760484Sobrien struct SSCFU_MBUF_T *m; /* associated message */ 4860484Sobrien}; 4977298Sobrien 5060484Sobrienstruct sscfu { 5160484Sobrien enum sscfu_state state; /* SSCF state */ 5260484Sobrien const struct sscfu_funcs *funcs; /* func vector */ 5360484Sobrien void *aarg; /* user arg */ 5433965Sjdp int inhand; /* need to queue signals */ 5560484Sobrien sscfu_sigq_head_t sigs; /* signal queue */ 5633965Sjdp u_int debug; /* debugging flags */ 5760484Sobrien}; 5833965Sjdp 5933965Sjdp/* 6033965Sjdp * Debugging 6133965Sjdp */ 6233965Sjdp#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