1 /* 2 * Written by Toshiharu OHNO (tony-o@iij.ad.jp) 3 * 4 * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd. 5 * 6 * Redistribution and use in source and binary forms are permitted 7 * provided that the above copyright notice and this paragraph are 8 * duplicated in all such forms and that any documentation, 9 * advertising materials, and other materials related to such 10 * distribution and use acknowledge that the software was developed 11 * by the Internet Initiative Japan. The name of the 12 * IIJ may not be used to endorse or promote products derived 13 * from this software without specific prior written permission. 14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 15 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 16 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 17 * 18 * $Id$ 19 * 20 * TODO: 21 */ 22 23 #ifndef _LQR_H_ 24 #define _LQR_H_ 25 26 /* 27 * Structure of LQR packet defined in RFC1333 28 */ 29 struct lqrdata { 30 u_long MagicNumber; 31 u_long LastOutLQRs; 32 u_long LastOutPackets; 33 u_long LastOutOctets; 34 u_long PeerInLQRs; 35 u_long PeerInPackets; 36 u_long PeerInDiscards; 37 u_long PeerInErrors; 38 u_long PeerInOctets; 39 u_long PeerOutLQRs; 40 u_long PeerOutPackets; 41 u_long PeerOutOctets; 42 }; 43 44 struct lqrsave { 45 u_long SaveInLQRs; 46 u_long SaveInPackets; 47 u_long SaveInDiscards; 48 u_long SaveInErrors; 49 u_long SaveInOctets; 50 }; 51 52 struct lqrdata MyLqrData, HisLqrData; 53 struct lqrsave HisLqrSave; 54 55 /* 56 * We support LQR and ECHO as LQM method 57 */ 58 #define LQM_LQR 1 59 #define LQM_ECHO 2 60 61 extern void LqrDump __P((char *, struct lqrdata *)); 62 extern void LqrChangeOrder __P((struct lqrdata *, struct lqrdata *)); 63 extern void StartLqm __P((void)); 64 extern void StopLqr __P((int)); 65 extern void StopLqrTimer __P((void)); 66 extern void RecvEchoLqr __P((struct mbuf *)); 67 #endif 68