Annotation of 43BSDTahoe/usr.bin/uucp/UUAIDS/Notes.L.sys, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.