The read event demultiplexer select(2) on Unix FDs ... Fill up AX.25 interface packet buffers ... Decode as many packets as possible on each interface ... Fill up buffers for pending caller reads, open new connections ... If: * ax25_select() is called: Notify caller of I/O events * ax25_read() is called: Provide caller access to requested buffer region Buffer may be discarded upon next ax25_read() event, but should not be discarded after an ax25_select() necessarily.