basic ipset support for qos-free-zone
[svn/Prometheus-QoS/.git] / ipstruct.h
index dcf5bfa..80810fc 100644 (file)
@@ -1,3 +1,5 @@
+/* Modified by: xChaos, 20131029 */\r
+\r
 struct IP\r
 {\r
  char *addr;\r
@@ -8,11 +10,15 @@ struct IP
  int max;\r
  int mark;\r
  int prio;\r
+ int aggregated;\r
  int fixedprio;\r
  int group;\r
  int lmsid;\r
+ int pps_limit;\r
  unsigned long long direct;\r
  unsigned long long proxy;\r
+ unsigned long long traffic_down;\r
+ unsigned long long traffic_up;\r
  unsigned long long upload;\r
  unsigned long long traffic;\r
  unsigned long long credit;\r
@@ -20,6 +26,9 @@ struct IP
  unsigned long pktsup;\r
  unsigned long pktsdown;\r
  struct Keyword *keyword;\r
+ int v6;\r
+ int mask;\r
+ struct IP *uplink;\r
  list(IP);\r
 };\r
 \r
@@ -36,7 +45,7 @@ struct Keyword
 {\r
  char *key;\r
  \r
int asymetry_ratio;        /* ratio for ADSL-like upload */\r
float asymetry_ratio;      /* ratio for ADSL-like upload */\r
  int asymetry_fixed;        /* fixed treshold for ADSL-like upload */\r
  int data_limit;            /* hard shaping: apply magic_treshold if max*data_limit MB exceeded */\r
  int data_prio;             /* soft shaping (qos): reduce HTB prio if max*data_prio MB exceeded */\r
@@ -47,9 +56,49 @@ struct Keyword
 // int divide_max;         /* relative malus: new_ceil=rate+(old_ceil-rate)/divide_max */\r
 // int htb_ceil_bonus_divide; /* relative bonus: new_ceil=old_ceil+old_ceil/htb_ceil_bonus_divide */\r
  int default_prio;         /* default HTB priority for this keyword */\r
+ int download_aggregation;  /* apply agregation with -s start_shaping switch */\r
+ int upload_aggregation;    /* apply agregation with -s start_shaping switch */\r
  char *html_color;\r
  int ip_count;\r
  char *leaf_discipline;\r
\r
+ int allowed_avgmtu;        /* this is for calculating packet limits, 0 = no limit*/ \r
  list(Keyword);\r
 };\r
+\r
+struct Macro\r
+{\r
+ char *rewrite_from;\r
+ char *rewrite_to;\r
+ list(Macro);\r
+};\r
+\r
+struct QosFreeInterface\r
+{\r
+ char *name;\r
+ int _eoln;\r
+ list(QosFreeInterface);\r
+};\r
+\r
+struct Index\r
+{\r
+ char *addr;\r
+ char *id;\r
+ struct Index *parent;\r
+ int bitmask;\r
+ int children;\r
+ int ipv6;\r
+ list(Index);\r
+};\r
+\r
+struct Interface \r
+{\r
+ char *name;\r
+ long long speed;\r
+ int is_upstream;\r
+ char *chain;\r
+ char *idxprefix;\r
+ list(Interface);\r
+};\r
+\r
+void TheIP(char *ipaddr, int is_network);\r
+/* function implemented in parsehosts.c */\r
This page took 0.127469 seconds and 4 git commands to generate.