{
{    The purpose of this procedure is to send data over the given TCP socket
{ via the TCP connection.  The data transfer is subject to flow control.  If
{ sufficient resources are not available to send data and the interface mode is
{ blocking, the caller will be blocked until resourcess become available or the
{ interface timeout (specified via the set socket options request) expires.
{ However, if the non-blocking mode has been selected (via the set socket
{ options request), control will be returned to the user with an appropriate
{ status and an indication of the actual number of bytes sent.
{
{    The user can send urgent data by specifying the URGENT flag on the
{ request.  The user can cause the entire data path to be flushed by specifying
{ the PUSH flag.  The user can send 0 bytes of data with the PUSH flag.
{
{    This request is valid only for a TCP accept or connect socket.
{
{       NAP$SK_WRITE_SOCKET (SOCKET_ID, URGENT_FLAG, PUSH_FLAG, DATA,
{             DATA_TRANSFERRED, STATUS)
{
{ SOCKET_ID: (input)  This parameter specifies the identifier of the local
{       socket.
{
{ URGENT_FLAG: (input)  This parameter specifies the URGENT option to be
{       associated with the data.
{
{ PUSH_FLAG: (input)  This parameter specifies the PUSH option to be
{       associated with the request.
{
{ DATA: (input, output)  This parameter specifies the list of data fragments to
{       be sent.
{
{ DATA_TRANSFERRED: (output)  This parameter specifies the number of bytes
{       actually sent by this request.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:
{             nae$sk_insufficient_resources
{             nae$sk_incorrect_socket_type
{             nae$sk_interface_timeout
{             nae$sk_invalid_user
{             nae$sk_job_recovery
{             nae$sk_listen_already_active
{             nae$sk_socket_closed_via_peer
{             nae$sk_socket_disconnected
{             nae$sk_socket_not_connected
{             nae$sk_socket_terminated
{             nae$sk_unbound_socket
{             nae$sk_unknown_socket
{             nae$sk_write_in_progress
{             nae$sk_zero_length_data
{
