## Description of the Interface between Linklevel and Hardwarelevel

The Communication between Linklevel (LL) and Hardwarelevel (HL) is based on the struct isdn_if (defined in isdnif.h).

An HL-driver can register itself at LL by calling the function register_isdn() with a pointer to that struct. Prior to that, it has to preset some of the fields of isdn_if. The LL sets the rest of the fields. All further communication is done via callbacks using the function-pointers defined in isdn_if.

### Changes/Version numbering:

During development of the ISDN subsystem, several changes have been made to the interface. Before it went into kernel, the package had a unique version number. The last version, distributed separately was 0.7.4. When the subsystem went into kernel, every functional unit got a separate version number. These numbers are shown at initialization, separated by slashes:

       c.c/t.t/n.n/p.p/a.a

where

       c.c is the revision of the common code.
       t.t is the revision of the tty related code.
       n.n is the revision of the network related code.
       p.p is the revision of the ppp related code.
       a.a is the revision of the audio related code.

Changes in this document are marked with '***CHANGEx' where x representing the version number. If that number starts with 0, it refers to the old, separately distributed package. If it starts with one of the letters above, it refers to the revision of the corresponding module.

HEIGHT=17>