%externalstring(3)%fnspec itos2(%integer what)
%externalstring(15)%fnspec xtos(%integer i)

%externalintegerfnspec generate timestamp
%externalstring(31)%fnspec convert timestamp(%integer stamp)
%externalintegerfnspec msecs timestamp

%systemroutinespec initialise queue %alias "setupqueue" %c
                                    (%record(queue fm)%name q)
%systemroutinespec enqueue buffer %alias "enqueue" %c
                                  (%record(buffer fm)%name b,
                                   %record(queue fm)%name q)
%systemroutinespec requeue buffer %alias "requeue" %c
                                  (%record(buffer fm)%name b,
                                   %record(queue fm)%name q)
%systemrecord(buffer fm)%mapspec dequeue buffer %alias "dequeue" %c
                                                (%record(queue fm)%name q)
%externalrecord(buffer fm)%mapspec claim buffer
%externalroutinespec release buffer(%record(buffer fm)%name b)

%externalroutinespec purge queue(%record(queue fm)%name q)
%externalroutinespec copy headers(%record(buffer fm)%name from, to)
%externalroutinespec copy all(%record(buffer fm)%name from, to)

%externalrecord(*)%mapspec named heap get(%integer bytes, %string(31) name)

%externalintegerfnspec calculate checksum(%record(*)%name start, %integer bytes)
%externalintegerfnspec calculate pseudo checksum(%record(*)%name start,
                                                 %integer bytes,
                                                 %integer source, destination,
                                                 %integer protocol, length)

%externalroutinespec print INet address(%integer addr)
%externalstring(15)%fnspec INet address to S(%integer addr)
%externalroutinespec split INet address(%integer address,
                                        %integername host, network, class)

%externalroutinespec print ether address(%record(ether address fm)%name a)
%externalstring(23)%fnspec ether address to S(%record(ether address fm)%name e)

%externalroutinespec pdate

%externalintegerfnspec generate ISS

%externalroutinespec dump(%bytename buffer, %integer bytes)

!L!%externalroutinespec lights set A(%integer what)
!L!%externalroutinespec lights and A(%integer what)
!L!%externalroutinespec lights or A (%integer what)
!L!%externalroutinespec lights xor A(%integer what)
!L!
!L!%externalroutinespec lights set B(%integer what)
!L!%externalroutinespec lights and B(%integer what)
!L!%externalroutinespec lights or B (%integer what)
!L!%externalroutinespec lights xor B(%integer what)

%end %of %file
