Commit | Line | Data |
---|---|---|
15637ed4 RG |
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 | * | |
1cdffd64 | 48 | * $Id$ |
15637ed4 | 49 | */ |