


## internet-socket.api
# Compiled by:
# src/lib/std/src/standard-core.sublib### "Beauty? What's that?"
###
### -- Larry Wall
api Internet_Socket {
Inet;
# pre_socket is from src/lib/std/src/socket/pre-socket.pkg Socket( A_sock_type )
=
pre_socket::Socket( Inet, A_sock_type );
Stream_Socket( A_mode )
=
Socket( pre_socket::Stream( A_mode ) );
Datagram_Socket
=
Socket( pre_socket::Datagram );
Socket_Address
=
pre_socket::Socket_Address( Inet );
inet_af: pre_socket::af::Address_Family; # DARPA internet protocols
# dns_host_lookup is from src/lib/std/src/socket/dns-host-lookup.pkg to_address
:
( dns_host_lookup::Internet_Address,
Int
)
->
Socket_Address;
from_address
:
Socket_Address
->
( dns_host_lookup::Internet_Address,
Int
);
any: Int -> Socket_Address;
package udp: api { socket: Void -> Datagram_Socket;
socket': Int -> Datagram_Socket;
};
package tcp: api { socket: Void -> Stream_Socket( A_mode );
socket' : Int -> Stream_Socket( A_mode );
# TCP control options:
#
get_nodelay: Stream_Socket( A_mode ) -> Bool;
set_nodelay: (Stream_Socket( A_mode ), Bool) -> Void;
};
to_string: Socket(X) -> String; # For debug printouts etc.
set_printif_fd: Int -> Void; # Enable C-level socket I/O debug print_ifs to given fd -- see src/c/lib/socket/setprintiffd.c
};
## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


