 create a new DLC. DLCident is the DLC number corresponding to a data stream multiplexed over the layer below V.76. As shown in Figure 3.10, DLCident is a SYNTYPE of Integer, ranging between 0 and maxDLC. maxDLC is a SYNONYM, equal to 1. DLCident may have the values 0 or 1. This parameter has been added to the signals L_EstabReq, L_EstabInd, L_ReleaseReq, L_ReleaseInd, L_DataReq and L_DataInd. For example, in L_ReleaseReq, DLCident is used to indicate which DLC must be released. Then, to add DLCident to the V76frame, we have declared STRUCTs for SABMEframe, DMframe and SO on. The unique field of those STRUCTs is DLCi. XID frames do not carry DLCident. The procedure CRCok, shown in Figure 3.11 (in Tau, the header looks different, with extra ";"), is called when an I frame is received from the peer entity, to check that the carried data is correct. Here, it has been simplified, but normally the CRC (Cyclic Redundancy Check), kind of checksum of the received data, is computed and compared to the CRC received with the data. procedure CRCok FPAR crc1 Integer RETURNS Boolean Simplified version, returns True if crc1 is positive or null. crc1 >= 0 Figure 3.11 The procedure CRCok Going down into the block type V76_ DLC we note that it contains two processes, as shown in Figure 3.12: a process dispatch having one instance at startup and maximum one instance, and a process DLC having no instance at startup and maximum maxDLC+1 instances6 Process DLC receives signals only through process dispatch: dispatch forwards the received signals to the corresponding instance of process DLC (using the parameter DLC number). Process dispatch, as shown in Figure 3.13, upon receiving an L_EstabReq (establish request) checks that the DLC to create, DLCnum, is not used and creates an instance of process DLC, passing DLCnum and True as parameters. Then the Pid of the new instance of process DLC is stored into the array DLCs, at the index DLCnum. This array is declared 6 The dashed arrow from dispatch to DLC indicates that dispatch may create