1. A method of transmitting data for use at a data processing system supporting an application, a software interface and a network protocol stack, the data processing system being coupled to a network by a network interface device, the method comprising: the application: forming one or more parts of a message for transmission; causing a message template to be generated by means of a first request to the software interface; the software interface: on receiving the first request, causing the network protocol stack to include said one or more parts of the message for transmission in the message template and, in accordance with a predetermined set of protocols, form at least in part one or more protocol headers for the message for transmission; and subsequently: forming one or more further parts of the message for transmission; causing the network protocol stack to include the one or more further parts of the message in the message template and, on completion of the message for transmission, process the message in accordance with the predetermined set of protocols so as to complete the protocol headers; and causing the network interface device to transmit the completed message over the network.