|
|
1.1 root 1: This file describes the layout of the L.sys and L-devices files.
2:
3: Here's my interpretation of L.sys:
4: Site When Caller Class CallCode Login
5:
6: The nominal value for Caller is ACU, but it can be the code for any
7: device that places calls, e.g., micom, datakit, ethernet, etc. The
8: CallCode field contains the dope needed by the caller to complete the
9: connection, e.g., for an ACU, CallCode is the phone number, while for,
10: say, a micom, CallCode is the micom code for Site. Class is nominally
11: speed, but circumstances sometimes make it necessary to encode other
12: information here. E.g., at Bell Labs many sites distinguish centrex and
13: dimension. Some use it to identify sites that answer vadic only.
14:
15: For ACU Callers, this is the old interpretation. Some examples:
16: lento Any ACU D1200 MHd7464 ...
17: lento Any ACU C1200 MH2057 ...
18: lento Any MICOM 9600 lento ...
19: lento Any DK unused mh/tempo/lento ...
20: lento Any UNET lento 33 ...
21: lento Any DIR 9600 tty42 ...
22: lento Any DIR 2400 tty43 ...
23:
24: i.e., to get to lento, dial on an ACU, or open a micom port and whisper
25: "lento" down it, or open a datakit port and shout "mh/tempo/lento" down
26: it, or open Unet server 33 on Unet host 'lento', or call on tty42.
27:
28: Here's my interpretation of L-devices:
29: Caller Line Useful Class Dialer
30:
31: Caller and Class are as above. Line identifies the device on which the
32: call is placed. The Useful field is a place to identify something else
33: needed to dial, e.g., the name of a dialing device, or a code to get
34: past a sentry. The (new) Dialer field identifies the type of dialer
35: being used so that the right dialing function can be called. Some examples:
36:
37: ACU cul0 cua0 1200 dn11
38: ACU cul1 cua1 1200 dn11
39: ACU tty49 unused 1200 ventel
40: ACU tty49 unused 300 ventel
41: ACU tty48 unused V1200 vadic
42: ACU tty47 unused 1200 hayes
43: ACU tty47 unused 300 hayes
44: MICOM micom unused 9600 micom
45: DIR tty42 unused 9600 direct
46:
47: If you wish to add another dialer/caller type, you must add a line to the
48: condevs structure definded in condevs.c. There is a line in the condevs
49: table for each device type listed in the L-devices file. The condev structure
50: looks like:
51: struct condev {
52: char *CU_meth; /* method, such as "ACU" or "DIR" */
53: char *CU_brand; /* brand, such as "vadic" or "ventel" */
54: int (*CU_gen)(); /* what to call to search for brands */
55: int (*CU_open)(); /* what to call to open brand */
56: int (*CU_clos)(); /* what to call to close brand */
57: } condevs[];
58:
59: The line for the Ventel might look like:
60: { "ACU", "ventel", Acuopn, ventopn, ventcls },
61: While the line for the UNET interface might look like:
62: { "UNET", "unet", unetopn, nulldev, unetcls },
63:
64: There can be many 'brands' of the same kind of device, such as auto-dialers.
65: The condevs array is searched for a method that matches the one in the L.sys
66: file. The string comparison is done without regard to case, so "Acu" will
67: match "ACU". Once a match is found, the routine pointed to by CU_gen is
68: called. It is passed a pointer to the flds array, the array of pointers to
69: strings derived from the L.sys entry.
70:
71: Typically, the CU_gen vector goes through the L-device table looking for
72: a entry that is available, then trys to connect on that brand via the
73: CU_open vector. If that fails, it might go on to the next brand.
74: When it succeeds in opening a line, it should assign the brand closing
75: vector (CU_clos) to the global symbol CU_end (i.e. CU_end = cd->CU_clos).
76: The routine pointed to by CU_end is called when the line is to be shutdown.
77: It is passed a file descriptor which it is to close.
78:
79: Another ACU can be added by writing the code for the CU_open and CU_clos
80: and adding a line in the condevs[] table. The routine pointed to by
81: CU_open is passed a pointer to the phone number; a pointer to the flds array;
82: and a pointer to the dev structure, which contains the information from the
83: L-devices entry. It should return a file descriptor that can be used to
84: communicate with the other machine, or CF_DIAL if the connection was not made.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.