diff options
Diffstat (limited to 'sys/netiso/tp_seq.h')
-rw-r--r-- | sys/netiso/tp_seq.h | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/sys/netiso/tp_seq.h b/sys/netiso/tp_seq.h deleted file mode 100644 index 7b8fcd3394ae7..0000000000000 --- a/sys/netiso/tp_seq.h +++ /dev/null @@ -1,125 +0,0 @@ -/*- - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)tp_seq.h 8.1 (Berkeley) 6/10/93 - * $Id: tp_seq.h,v 1.3 1994/08/21 06:14:28 paul Exp $ - */ - -#ifndef _NETISO_TP_SEQ_H_ -#define _NETISO_TP_SEQ_H_ - -/*********************************************************** - Copyright IBM Corporation 1987 - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of IBM not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -******************************************************************/ - -/* - * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison - */ -/* - * ARGO TP - * - * $Header: /home/ncvs/src/sys/netiso/tp_seq.h,v 1.3 1994/08/21 06:14:28 paul Exp $ - * $Source: /home/ncvs/src/sys/netiso/tp_seq.h,v $ - * - * These macros perform sequence number arithmetic modulo (2**7 or 2**31). - * The relevant fields in the tpcb are: - * tp_seqmask : the mask of bits that define the sequence space. - * tp_seqbit : 1 + tp_seqmask - * tp_seqhalf : tp_seqbit / 2 or half the sequence space (rounded up) - * Not exactly fast, but at least it's maintainable. - */ - -#define SEQ(tpcb,x) \ - ((x) & (tpcb)->tp_seqmask) - -#define SEQ_GT(tpcb, seq, operand ) \ -( ((int)((seq)-(operand)) > 0)\ -? ((int)((seq)-(operand)) < (int)(tpcb)->tp_seqhalf)\ -: !(-((int)(seq)-(operand)) < (int)(tpcb)->tp_seqhalf)) - -#define SEQ_GEQ(tpcb, seq, operand ) \ -( ((int)((seq)-(operand)) >= 0)\ -? ((int)((seq)-(operand)) < (int)(tpcb)->tp_seqhalf)\ -: !((-((int)(seq)-(operand))) < (int)(tpcb)->tp_seqhalf)) - -#define SEQ_LEQ(tpcb, seq, operand ) \ -( ((int)((seq)-(operand)) <= 0)\ -? ((-(int)((seq)-(operand))) < (int)(tpcb)->tp_seqhalf)\ -: !(((int)(seq)-(operand)) < (int)(tpcb)->tp_seqhalf)) - -#define SEQ_LT(tpcb, seq, operand ) \ -( ((int)((seq)-(operand)) < 0)\ -? ((-(int)((seq)-(operand))) < (int)(tpcb)->tp_seqhalf)\ -: !(((int)(seq)-(operand)) < (int)(tpcb)->tp_seqhalf)) - -#define SEQ_MIN(tpcb, a, b) ( SEQ_GT(tpcb, a, b) ? b : a) - -#define SEQ_MAX(tpcb, a, b) ( SEQ_GT(tpcb, a, b) ? a : b) - -#define SEQ_INC(tpcb, Seq) ((++Seq), ((Seq) &= (tpcb)->tp_seqmask)) - -#define SEQ_DEC(tpcb, Seq)\ - ((Seq) = (((Seq)+(unsigned)((int)(tpcb)->tp_seqbit - 1))&(tpcb)->tp_seqmask)) - -/* (amt) had better be less than the seq bit ! */ - -#define SEQ_SUB(tpcb, Seq, amt)\ - (((Seq) + (unsigned)((int)(tpcb)->tp_seqbit - amt)) & (tpcb)->tp_seqmask) -#define SEQ_ADD(tpcb, Seq, amt) (((Seq) + (unsigned)amt) & (tpcb)->tp_seqmask) - - -#define IN_RWINDOW(tpcb, seq, lwe, uwe)\ - ( SEQ_GEQ(tpcb, seq, lwe) && SEQ_LT(tpcb, seq, uwe) ) - -#define IN_SWINDOW(tpcb, seq, lwe, uwe)\ - ( SEQ_GT(tpcb, seq, lwe) && SEQ_LEQ(tpcb, seq, uwe) ) - -#endif |