summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/ppp/pppd/plugins/minconn.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-06-11 11:44:34 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-06-11 11:44:34 +0000
commitab5559aaabd1167a18ac882e64d97c5adc0e7d03 (patch)
treed22adafe4701e0abbccc7456fc58ae60ce75d5fb /mdk-stage1/ppp/pppd/plugins/minconn.c
parentf35f2383eed07ff16aa76f30975817117eea6cbb (diff)
downloaddrakx-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.c46
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;
+}