X-Git-Url: http://git.harvie.cz/?p=svn%2FPrometheus-QoS%2F.git;a=blobdiff_plain;f=ipstruct.h;h=17635ffaab56c102c38c19fdd8f7b2ecb77ce905;hp=ad5bf38fc7318bd80e9be31aa4dbcaff0818ac52;hb=HEAD;hpb=cdfd88eb2cfba828e5bfc3f77eba37b3cba286ce diff --git a/ipstruct.h b/ipstruct.h index ad5bf38..17635ff 100644 --- a/ipstruct.h +++ b/ipstruct.h @@ -1,4 +1,6 @@ -/* Modified by: xChaos, 20131029 */ +/* Modified by: xChaos, 20200104 */ + +#define MONITORINGTRHU_CTU struct IP { @@ -10,11 +12,15 @@ struct IP int max; int mark; int prio; + int aggregated; int fixedprio; int group; - int lmsid; + char *code; + int pps_limit; unsigned long long direct; unsigned long long proxy; + unsigned long long traffic_down; + unsigned long long traffic_up; unsigned long long upload; unsigned long long traffic; unsigned long long credit; @@ -22,8 +28,13 @@ struct IP unsigned long pktsup; unsigned long pktsdown; struct Keyword *keyword; +#ifdef MONITORINGTRHU_CTU + char *technology_str; + char *ruian_id_str; +#endif int v6; int mask; + struct IP *uplink; list(IP); }; @@ -40,7 +51,7 @@ struct Keyword { char *key; - int asymetry_ratio; /* ratio for ADSL-like upload */ + float asymetry_ratio; /* ratio for ADSL-like upload */ int asymetry_fixed; /* fixed treshold for ADSL-like upload */ int data_limit; /* hard shaping: apply magic_treshold if max*data_limit MB exceeded */ int data_prio; /* soft shaping (qos): reduce HTB prio if max*data_prio MB exceeded */ @@ -51,12 +62,59 @@ struct Keyword // int divide_max; /* relative malus: new_ceil=rate+(old_ceil-rate)/divide_max */ // int htb_ceil_bonus_divide; /* relative bonus: new_ceil=old_ceil+old_ceil/htb_ceil_bonus_divide */ int default_prio; /* default HTB priority for this keyword */ + int download_aggregation; /* apply agregation with -s start_shaping switch */ + int upload_aggregation; /* apply agregation with -s start_shaping switch */ char *html_color; int ip_count; char *leaf_discipline; - + int allowed_avgmtu; /* this is for calculating packet limits, 0 = no limit*/ list(Keyword); }; +struct Macro +{ + char *rewrite_from; + char *rewrite_to; + list(Macro); +}; + +struct QosFreeInterface +{ + char *name; + int _eoln; + list(QosFreeInterface); +}; + +struct Index +{ + char *addr; + char *id; + struct Index *parent; + int bitmask; + int children; + int ipv6; + list(Index); +}; + +struct Interface +{ + char *name; + long long speed; + int is_upstream; + char *chain; + char *idxprefix; + list(Interface); +}; + void TheIP(char *ipaddr, int is_network); /* function implemented in parsehosts.c */ + +#ifdef MONITORINGTRHU_CTU +struct Technology +{ + char *filename; + list(Technology); +}; + +extern struct Technology *technologies, *technology; +#endif