%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)
%externalintegerfnspec INet name to address(%string(31) name)
%externalstring(127)%fnspec INet address to name(%integer address)

%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 tell network operator(%string(127) message)

%end %of %file
