|
|
1.1 ! root 1: /* Copyright (c) University of British Columbia, 1984 */ ! 2: ! 3: /* ! 4: * ! 5: * X.25 HDLC DATA LINK LEVEL: ! 6: * ! 7: * ! 8: * This module implements the Link Level of the Open Systems Interconnect ! 9: * Model. The implementation is based on the ISO High-Level Data Link ! 10: * Control (HDLC). These procedures subscribe to the principles of the ! 11: * ISO-Class of Procedures for point-to-point. These procedures implement ! 12: * two-way asynchronous balanced mode (LAPB) as recommented by the CCITT. ! 13: * ! 14: * The HDLC protocol layer interface consists of the following procedures: ! 15: * Hd_init (pr_init) ! 16: * Hd_ouput (pr_output) ! 17: * Hd_input (pr_input) ! 18: * Hd_timer (pr_slowtimo) ! 19: * ! 20: * Note: Supervisory commands RR, RNR and REJ are not transmitted by this ! 21: * station. ! 22: * ! 23: * This station never enters a busy (RNR) condition. ! 24: * ! 25: * The "Generate_rr" variable can be set to FALSE. This means that ! 26: * we NEVER send an RR. This works just fine if the network level ! 27: * is X.25 packet protocol -- which it is. ! 28: * ! 29: * Currently, this is only a DTE implementation. ! 30: * ! 31: * Think about: ! 32: * If the remote is busy, no iframes are sent. The remote sends a RR ! 33: * to clear this condition. However, this RR may be damaged, causing ! 34: * a possible deadlock. A solution is to poll with iframe (P(S)==P(R) ! 35: * of RNR) indefinitly. ! 36: * ! 37: * ! 38: * Date: February 1984 ! 39: * ! 40: * Author: Gerald W. Neufeld ! 41: * ! 42: * Installation: Department of Computer Science ! 43: * University of British Columbia ! 44: * Vancouver, BC, CANADA. ! 45: * ! 46: * History: ! 47: * ! 48: * ! 49: */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.