00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef NETLINK_NETEM_H_
00013 #define NETLINK_NETEM_H_
00014
00015 #include <netlink/netlink.h>
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021 extern void rtnl_netem_set_limit(struct rtnl_qdisc *, int);
00022 extern int rtnl_netem_get_limit(struct rtnl_qdisc *);
00023
00024
00025 extern void rtnl_netem_set_gap(struct rtnl_qdisc *, int);
00026 extern int rtnl_netem_get_gap(struct rtnl_qdisc *);
00027
00028 extern void rtnl_netem_set_reorder_probability(struct rtnl_qdisc *, int);
00029 extern int rtnl_netem_get_reorder_probability(struct rtnl_qdisc *);
00030
00031 extern void rtnl_netem_set_reorder_correlation(struct rtnl_qdisc *, int);
00032 extern int rtnl_netem_get_reorder_correlation(struct rtnl_qdisc *);
00033
00034
00035 extern void rtnl_netem_set_corruption_probability(struct rtnl_qdisc *, int);
00036 extern int rtnl_netem_get_corruption_probability(struct rtnl_qdisc *);
00037
00038 extern void rtnl_netem_set_corruption_correlation(struct rtnl_qdisc *, int);
00039 extern int rtnl_netem_get_corruption_correlation(struct rtnl_qdisc *);
00040
00041
00042 extern void rtnl_netem_set_loss(struct rtnl_qdisc *, int);
00043 extern int rtnl_netem_get_loss(struct rtnl_qdisc *);
00044
00045 extern void rtnl_netem_set_loss_correlation(struct rtnl_qdisc *, int);
00046 extern int rtnl_netem_get_loss_correlation(struct rtnl_qdisc *);
00047
00048
00049 extern void rtnl_netem_set_duplicate(struct rtnl_qdisc *, int);
00050 extern int rtnl_netem_get_duplicate(struct rtnl_qdisc *);
00051
00052 extern void rtnl_netem_set_duplicate_correlation(struct rtnl_qdisc *, int);
00053 extern int rtnl_netem_get_duplicate_correlation(struct rtnl_qdisc *);
00054
00055
00056 extern void rtnl_netem_set_delay(struct rtnl_qdisc *, int);
00057 extern int rtnl_netem_get_delay(struct rtnl_qdisc *);
00058
00059 extern void rtnl_netem_set_jitter(struct rtnl_qdisc *, int);
00060 extern int rtnl_netem_get_jitter(struct rtnl_qdisc *);
00061
00062 extern void rtnl_netem_set_delay_correlation(struct rtnl_qdisc *, int);
00063 extern int rtnl_netem_get_delay_correlation(struct rtnl_qdisc *);
00064
00065
00066 #define MAXDIST 65536
00067 extern int rtnl_netem_set_delay_distribution(struct rtnl_qdisc *, const char *);
00068 extern int rtnl_netem_get_delay_distribution_size(struct rtnl_qdisc *);
00069 extern int rtnl_netem_get_delay_distribution(struct rtnl_qdisc *, int16_t **);
00070
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074
00075 #endif