diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-06-11 11:44:34 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-06-11 11:44:34 +0000 |
commit | ab5559aaabd1167a18ac882e64d97c5adc0e7d03 (patch) | |
tree | d22adafe4701e0abbccc7456fc58ae60ce75d5fb /mdk-stage1/ppp/pppd/plugins/minconn.c | |
parent | f35f2383eed07ff16aa76f30975817117eea6cbb (diff) | |
download | drakx-backup-do-not-use-ab5559aaabd1167a18ac882e64d97c5adc0e7d03.tar drakx-backup-do-not-use-ab5559aaabd1167a18ac882e64d97c5adc0e7d03.tar.gz drakx-backup-do-not-use-ab5559aaabd1167a18ac882e64d97c5adc0e7d03.tar.bz2 drakx-backup-do-not-use-ab5559aaabd1167a18ac882e64d97c5adc0e7d03.tar.xz drakx-backup-do-not-use-ab5559aaabd1167a18ac882e64d97c5adc0e7d03.zip |
Initial revision
Diffstat (limited to 'mdk-stage1/ppp/pppd/plugins/minconn.c')
-rw-r--r-- | mdk-stage1/ppp/pppd/plugins/minconn.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/mdk-stage1/ppp/pppd/plugins/minconn.c b/mdk-stage1/ppp/pppd/plugins/minconn.c new file mode 100644 index 000000000..02ea34bf6 --- /dev/null +++ b/mdk-stage1/ppp/pppd/plugins/minconn.c @@ -0,0 +1,46 @@ +/* + * minconn.c - pppd plugin to implement a `minconnect' option. + * + * Copyright 1999 Paul Mackerras. + * + * Redistribution and use in source and binary forms are permitted + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms. The name of the author + * may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + */ +#include <stddef.h> +#include <time.h> +#include "pppd.h" + +char pppd_version[] = VERSION; + +static int minconnect = 0; + +static option_t my_options[] = { + { "minconnect", o_int, &minconnect, + "Set minimum connect time before idle timeout applies" }, + { NULL } +}; + +static int my_get_idle(struct ppp_idle *idle) +{ + time_t t; + + if (idle == NULL) + return minconnect? minconnect: idle_time_limit; + t = idle->xmit_idle; + if (idle->recv_idle < t) + t = idle->recv_idle; + return idle_time_limit - t; +} + +void plugin_init(void) +{ + info("plugin_init"); + add_options(my_options); + idle_time_hook = my_get_idle; +} |