a communication interface for providing an interface between a data link and a data processor , the data processor being capable of supporting an operating system and a user application , the communication interface being arranged to : support a first queue of data received over the link and addressed to a logical data port associated with a user application ; support a second queue of data received over the link and identified as being directed to the operating system ; and analyze data received over the link and identified as being directed to the operating system or the data port to determine whether that data meets one or more predefined criteria , and if it does meet the criteria transmit an interrupt to the operating system .