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