Low Level Controller
The Structure ’FRAME_PASS’
The variable ’fp’ of the type FRAME_PASS is used when the LLC interrupt server has received
a valid HDLC I or UI frame. A pointer to ’fp’ is passed to PassLongFrame_BASIC.
FRAME_PASS contains all information about the received HDLC frame. Following elements
are used:
mmu_buff
start of MMU buffer which is used for the temporary storage of that HDLC
frame.
start_of_i_data Start of the I data field in this MMU buffer.
i_data_cnt
Two_byte_cf
ctrl_field
pei
Number of bytes in the I data field.
0 for a one byte HDLC control field, 1 for a two byte HDLC control field.
HDLC control field.
1 byte value identifying the performed address recognition. The bits 0, 1
and 2 of ’pei’ represent the bits TA, SA0 and SA1 of the ISAC-S’ RSTA
register.
frame
sapi
Type of HDLC frame; 0 = I-frame, 1 = UI-frame.
Received HDLC SAPI address byte. Bit 1 of ’sapi’ is the C/R bit value
(RSTA:CR). The most significant 6 bits of ’sapi’ are 0 in auto-mode, non-
auto-mode and transparent mode.
tei
Received HDLC TEI address byte. ’tei’ is 0 in auto-mode and non-auto
mode.
6.3.2
Definitions and Naming Conventions
All expressions in capital letters are definitions contained in the include files def.h, conf.h and
basic.h. These include files are not part of the following C source listing. ISAC-S LLC specific
definitions are explained in the following paragraphs.
Public functions are declared with an EXPORT (only for better readability). External functions
are imported using an IMPORT which is the redefinition of C’s ’extern’. Any function which is
only used locally is declared with a LOCAL (= ’static’).
6.3.2.1 Type Definitions
For reference here is a list of the type definitions used in the LLC’s.
type definitions meaning
BYTE
WORD
FPTR
one byte value
word = two byte value
far pointer to BYTE
Semiconductor Group
278