blob: 7060af31e6983a28f9b3e78fc0f091febd6ff57e [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/* Copyright (C) 1998 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17 02111-1307 USA. */
18
19#ifndef _NET_IF_SHAPER_H
20#define _NET_IF_SHAPER_H 1
21
22#include <features.h>
23#include <sys/types.h>
24#include <net/if.h>
25#include <sys/ioctl.h>
26
27__BEGIN_DECLS
28
29#define SHAPER_QLEN 10
30/*
31 * This is a bit speed dependant (read it shouldnt be a constant!)
32 *
33 * 5 is about right for 28.8 upwards. Below that double for every
34 * halving of speed or so. - ie about 20 for 9600 baud.
35 */
36#define SHAPER_LATENCY (5 * HZ)
37#define SHAPER_MAXSLIP 2
38#define SHAPER_BURST (HZ / 50) /* Good for >128K then */
39
40#define SHAPER_SET_DEV 0x0001
41#define SHAPER_SET_SPEED 0x0002
42#define SHAPER_GET_DEV 0x0003
43#define SHAPER_GET_SPEED 0x0004
44
45struct shaperconf
46{
47 u_int16_t ss_cmd;
48 union
49 {
50 char ssu_name[14];
51 u_int32_t ssu_speed;
52 } ss_u;
53#define ss_speed ss_u.ssu_speed
54#define ss_name ss_u.ssu_name
55};
56
57__END_DECLS
58
59#endif /* net/if_shaper.h */