diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-03-04 07:36:50 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-03-04 07:36:50 +0000 |
commit | adf1528ae6bd8dbe337c45c0a67cac4d76b1635f (patch) | |
tree | 3f8888e07b4ddaf13e72cc262899315e4ba55493 /sys/netccitt/pk_timer.c | |
parent | 35a125282d2999b4fd6dea7bbf4696f937f5a052 (diff) |
From NetBSD: 960217 merge
Diffstat (limited to 'sys/netccitt/pk_timer.c')
-rw-r--r-- | sys/netccitt/pk_timer.c | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/sys/netccitt/pk_timer.c b/sys/netccitt/pk_timer.c index c078e23b652..70455507e91 100644 --- a/sys/netccitt/pk_timer.c +++ b/sys/netccitt/pk_timer.c @@ -1,16 +1,15 @@ -/* $NetBSD: pk_timer.c,v 1.5 1994/06/29 06:37:40 cgd Exp $ */ +/* $OpenBSD: pk_timer.c,v 1.2 1996/03/04 07:36:46 niklas Exp $ */ +/* $NetBSD: pk_timer.c,v 1.6 1996/02/13 22:05:39 christos Exp $ */ /* - * Copyright (c) Computing Centre, University of British Columbia, 1984 - * Copyright (C) Computer Science Department IV, - * University of Erlangen-Nuremberg, Germany, 1990, 1992 - * Copyright (c) 1990, 1992, 1993 + * Copyright (C) Dirk Husemann, Computer Science Department IV, + * University of Erlangen-Nuremberg, Germany, 1990, 1991, 1992 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * - * This code is derived from software contributed to Berkeley by the - * Laboratory for Computation Vision and the Computer Science Department - * of the the University of British Columbia and the Computer Science - * Department (IV) of the University of Erlangen-Nuremberg, Germany. + * This code is derived from software contributed to Berkeley by + * Dirk Husemann and the Computer Science Department (IV) of + * the University of Erlangen-Nuremberg, Germany. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -56,72 +55,73 @@ #include <netccitt/x25.h> #include <netccitt/pk.h> #include <netccitt/pk_var.h> +#include <netccitt/pk_extern.h> /* * Various timer values. They can be adjusted * by patching the binary with adb if necessary. */ -int pk_t20 = 18 * PR_SLOWHZ; /* restart timer */ -int pk_t21 = 20 * PR_SLOWHZ; /* call timer */ +int pk_t20 = 18 * PR_SLOWHZ; /* restart timer */ +int pk_t21 = 20 * PR_SLOWHZ; /* call timer */ /* XXX pk_t22 is never used */ -int pk_t22 = 18 * PR_SLOWHZ; /* reset timer */ -int pk_t23 = 18 * PR_SLOWHZ; /* clear timer */ +int pk_t22 = 18 * PR_SLOWHZ; /* reset timer */ +int pk_t23 = 18 * PR_SLOWHZ; /* clear timer */ -pk_timer () +void +pk_timer() { register struct pkcb *pkp; register struct pklcd *lcp, **pp; - register int lcns_jammed, cant_restart; + register int lcns_jammed, cant_restart; FOR_ALL_PKCBS(pkp) { - switch (pkp -> pk_state) { + switch (pkp->pk_state) { case DTE_SENT_RESTART: - lcp = pkp -> pk_chan[0]; + lcp = pkp->pk_chan[0]; /* * If restart failures are common, a link level * reset should be initiated here. */ - if (lcp -> lcd_timer && --lcp -> lcd_timer == 0) { - pk_message (0, pkp -> pk_xcp, - "packet level restart failed"); - pkp -> pk_state = DTE_WAITING; + if (lcp->lcd_timer && --lcp->lcd_timer == 0) { + pk_message(0, pkp->pk_xcp, + "packet level restart failed"); + pkp->pk_state = DTE_WAITING; } break; case DTE_READY: lcns_jammed = cant_restart = 0; - for (pp = &pkp -> pk_chan[1]; pp <= &pkp -> pk_chan[pkp -> pk_maxlcn]; pp++) { + for (pp = &pkp->pk_chan[1]; pp <= &pkp->pk_chan[pkp->pk_maxlcn]; pp++) { if ((lcp = *pp) == 0) continue; - switch (lcp -> lcd_state) { - case SENT_CALL: - if (--lcp -> lcd_timer == 0) { - if (lcp -> lcd_so) - lcp -> lcd_so -> so_error = ETIMEDOUT; - pk_clear (lcp, 49, 1); + switch (lcp->lcd_state) { + case SENT_CALL: + if (--lcp->lcd_timer == 0) { + if (lcp->lcd_so) + lcp->lcd_so->so_error = ETIMEDOUT; + pk_clear(lcp, 49, 1); } break; - case SENT_CLEAR: - if (lcp -> lcd_retry >= 3) + case SENT_CLEAR: + if (lcp->lcd_retry >= 3) lcns_jammed++; - else - if (--lcp -> lcd_timer == 0) - pk_clear (lcp, 50, 1); + else if (--lcp->lcd_timer == 0) + pk_clear(lcp, 50, 1); break; case DATA_TRANSFER: /* lcn active */ cant_restart++; break; - case LCN_ZOMBIE: /* zombie state */ - pk_freelcd (lcp); + case LCN_ZOMBIE: /* zombie state */ + pk_freelcd(lcp); break; } } - if (lcns_jammed > pkp -> pk_maxlcn / 2 && cant_restart == 0) { - pk_message (0, pkp -> pk_xcp, "%d lcns jammed: attempting restart", lcns_jammed); - pk_restart (pkp, 0); + if (lcns_jammed > pkp->pk_maxlcn / 2 && cant_restart == 0) { + pk_message(0, pkp->pk_xcp, "%d lcns jammed: attempting restart", lcns_jammed); + pk_restart(pkp, 0); } } } |