Home | History | Annotate | Download | only in qdisc
      1 /*
      2  * netlink/route/sch/prio.c	PRIO Qdisc
      3  *
      4  *	This 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 version 2.1
      7  *	of the License.
      8  *
      9  * Copyright (c) 2003-2011 Thomas Graf <tgraf (at) suug.ch>
     10  */
     11 
     12 #ifndef NETLINK_PRIO_H_
     13 #define NETLINK_PRIO_H_
     14 
     15 #include <netlink/netlink.h>
     16 #include <netlink/route/qdisc.h>
     17 
     18 #ifdef __cplusplus
     19 extern "C" {
     20 #endif
     21 
     22 /**
     23  * @name Default Values
     24  * @{
     25  */
     26 
     27 /**
     28  * Default number of bands.
     29  * @ingroup prio
     30  */
     31 #define QDISC_PRIO_DEFAULT_BANDS 3
     32 
     33 /**
     34  * Default priority mapping.
     35  * @ingroup prio
     36  */
     37 #define QDISC_PRIO_DEFAULT_PRIOMAP \
     38 		{ 1, 2, 2, 2, 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 }
     39 
     40 /** @} */
     41 
     42 extern void rtnl_qdisc_prio_set_bands(struct rtnl_qdisc *, int);
     43 extern int  rtnl_qdisc_prio_get_bands(struct rtnl_qdisc *);
     44 extern int  rtnl_qdisc_prio_set_priomap(struct rtnl_qdisc *, uint8_t[], int);
     45 extern uint8_t *rtnl_qdisc_prio_get_priomap(struct rtnl_qdisc *);
     46 
     47 extern char *	rtnl_prio2str(int, char *, size_t);
     48 extern int	rtnl_str2prio(const char *);
     49 
     50 #ifdef __cplusplus
     51 }
     52 #endif
     53 
     54 #endif
     55