libnl 1.1
|
00001 /* 00002 * netlink/route/sch/netem.h Network Emulator Qdisc 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation version 2.1 00007 * of the License. 00008 * 00009 * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch> 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 int rtnl_netem_set_limit(struct rtnl_qdisc *, int); 00022 extern int rtnl_netem_get_limit(struct rtnl_qdisc *); 00023 00024 /* Packet Re-ordering */ 00025 extern int rtnl_netem_set_gap(struct rtnl_qdisc *, int); 00026 extern int rtnl_netem_get_gap(struct rtnl_qdisc *); 00027 00028 extern int rtnl_netem_set_reorder_probability(struct rtnl_qdisc *, int); 00029 extern int rtnl_netem_get_reorder_probability(struct rtnl_qdisc *); 00030 00031 extern int rtnl_netem_set_reorder_correlation(struct rtnl_qdisc *, int); 00032 extern int rtnl_netem_get_reorder_correlation(struct rtnl_qdisc *); 00033 00034 /* Packet Loss */ 00035 extern int rtnl_netem_set_loss(struct rtnl_qdisc *, int); 00036 extern int rtnl_netem_get_loss(struct rtnl_qdisc *); 00037 00038 extern int rtnl_netem_set_loss_correlation(struct rtnl_qdisc *, int); 00039 extern int rtnl_netem_get_loss_correlation(struct rtnl_qdisc *); 00040 00041 /* Packet Duplication */ 00042 extern int rtnl_netem_set_duplicate(struct rtnl_qdisc *, int); 00043 extern int rtnl_netem_get_duplicate(struct rtnl_qdisc *); 00044 00045 extern int rtnl_netem_set_duplicate_correlation(struct rtnl_qdisc *, int); 00046 extern int rtnl_netem_get_duplicate_correlation(struct rtnl_qdisc *); 00047 00048 /* Packet Delay */ 00049 extern int rtnl_netem_set_delay(struct rtnl_qdisc *, int); 00050 extern int rtnl_netem_get_delay(struct rtnl_qdisc *); 00051 00052 extern int rtnl_netem_set_jitter(struct rtnl_qdisc *, int); 00053 extern int rtnl_netem_get_jitter(struct rtnl_qdisc *); 00054 00055 extern int rtnl_netem_set_delay_correlation(struct rtnl_qdisc *, int); 00056 extern int rtnl_netem_get_delay_correlation(struct rtnl_qdisc *); 00057 00058 #ifdef __cplusplus 00059 } 00060 #endif 00061 00062 #endif