lqr.h revision 32439
16059Samurai/* 26059Samurai * Written by Toshiharu OHNO (tony-o@iij.ad.jp) 36059Samurai * 46059Samurai * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd. 56059Samurai * 66059Samurai * Redistribution and use in source and binary forms are permitted 76059Samurai * provided that the above copyright notice and this paragraph are 86059Samurai * duplicated in all such forms and that any documentation, 96059Samurai * advertising materials, and other materials related to such 106059Samurai * distribution and use acknowledge that the software was developed 116059Samurai * by the Internet Initiative Japan. The name of the 126059Samurai * IIJ may not be used to endorse or promote products derived 136059Samurai * from this software without specific prior written permission. 146059Samurai * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 156059Samurai * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 166059Samurai * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 176059Samurai * 1832439Sbrian * $Id: lqr.h,v 1.10 1997/11/22 03:37:38 brian Exp $ 196059Samurai * 206059Samurai * TODO: 216059Samurai */ 226059Samurai 236059Samurai/* 246059Samurai * Structure of LQR packet defined in RFC1333 256059Samurai */ 266059Samuraistruct lqrdata { 2732439Sbrian u_int32_t MagicNumber; 2832439Sbrian u_int32_t LastOutLQRs; 2932439Sbrian u_int32_t LastOutPackets; 3032439Sbrian u_int32_t LastOutOctets; 3132439Sbrian u_int32_t PeerInLQRs; 3232439Sbrian u_int32_t PeerInPackets; 3332439Sbrian u_int32_t PeerInDiscards; 3432439Sbrian u_int32_t PeerInErrors; 3532439Sbrian u_int32_t PeerInOctets; 3632439Sbrian u_int32_t PeerOutLQRs; 3732439Sbrian u_int32_t PeerOutPackets; 3832439Sbrian u_int32_t PeerOutOctets; 396059Samurai}; 406059Samurai 416059Samuraistruct lqrsave { 4232439Sbrian u_int32_t SaveInLQRs; 4332439Sbrian u_int32_t SaveInPackets; 4432439Sbrian u_int32_t SaveInDiscards; 4532439Sbrian u_int32_t SaveInErrors; 4632439Sbrian u_int32_t SaveInOctets; 476059Samurai}; 486059Samurai 496059Samuraistruct lqrdata MyLqrData, HisLqrData; 506059Samuraistruct lqrsave HisLqrSave; 516059Samurai 526059Samurai/* 536059Samurai * We support LQR and ECHO as LQM method 546059Samurai */ 556059Samurai#define LQM_LQR 1 566059Samurai#define LQM_ECHO 2 576059Samurai 5831343Sbrianextern void LqrDump(const char *, const struct lqrdata *); 5926516Sbrianextern void LqrChangeOrder(struct lqrdata *, struct lqrdata *); 6026516Sbrianextern void StartLqm(void); 6126516Sbrianextern void StopLqr(int); 6226516Sbrianextern void StopLqrTimer(void); 6326516Sbrianextern void RecvEchoLqr(struct mbuf *); 6430733Sbrianextern void LqrInput(struct mbuf *); 65