glibc (2.38)

(root)/
include/
net/
if_shaper.h
       1  /* Copyright (C) 1998-2023 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, see
      16     <https://www.gnu.org/licenses/>.  */
      17  
      18  #ifndef _NET_IF_SHAPER_H
      19  #define _NET_IF_SHAPER_H 1
      20  
      21  #include <sys/types.h>
      22  #include <stdint.h>
      23  #include <net/if.h>
      24  #include <sys/ioctl.h>
      25  
      26  __BEGIN_DECLS
      27  
      28  #define SHAPER_QLEN	10
      29  /*
      30   *	This is a bit speed dependent (read it shouldn't be a constant!)
      31   *
      32   *	5 is about right for 28.8 upwards. Below that double for every
      33   *	halving of speed or so. - ie about 20 for 9600 baud.
      34   */
      35  #define SHAPER_LATENCY	(5 * HZ)
      36  #define SHAPER_MAXSLIP	2
      37  #define SHAPER_BURST	(HZ / 50)	/* Good for >128K then */
      38  
      39  #define SHAPER_SET_DEV		0x0001
      40  #define SHAPER_SET_SPEED	0x0002
      41  #define SHAPER_GET_DEV		0x0003
      42  #define SHAPER_GET_SPEED	0x0004
      43  
      44  struct shaperconf
      45  {
      46    uint16_t ss_cmd;
      47    union
      48    {
      49      char ssu_name[14];
      50      uint32_t ssu_speed;
      51    } ss_u;
      52  #define ss_speed ss_u.ssu_speed
      53  #define ss_name ss_u.ssu_name
      54  };
      55  
      56  __END_DECLS
      57  
      58  #endif /* net/if_shaper.h */