Home Index classes Index static functions Index enumerations Index structure types

{Socket|_for_networking_and_communications}


CLASS {Socket|_for_networking_and_communications} , UNTESTED, BYTES:



, ANYWAY IMPORT : {NATIVE_Socket} .

   

ENUMERATION {address_family} :

        'UNSPECIFIED_ADDR|ESS' ,

        'APPLE_TALK' ,

        'ATM|_own_services' ,

        'BANYAN|_address' ,

        'CCITT|_like_x25' ,

        'CHAOS|_MIT_CHAOS' ,

        'CLUSTER|_Microsoft' ,

        'DATA_KIT' ,

        'DATA_LINK' ,

        'DEC_NET|_DECnet' ,

        'ECMA|_European_Computer_Manufacturers_Association' ,

        'FIRE_FOX' ,

        'HYPER_CHANNEL' ,

        'IEEE12844' ,

        'IMP_LINK|ARPANET_IMP' ,

        'INTERNETWORK|_IPv4||IPv4_ADDRESS|_INTERNETWORK' ,

        'INTERNETWORK_V6||IPv6_ADDRESS|_INTERNETWORK' ,

        'IPX|_SPX' ,

        'IRDA|_IsDA_InfraRed' ,

        'ISO|_address' ,

        'LAT|_address' ,

        'MAX|_address' ,

        'NET_BIOS' ,

        'NETWORK_DESIGNERS' ,

        'NS|_XEROX' ,

        'OSI|_address' ,

        'PUP|_address' ,

        'SNA|_IBM_SNA' ,

        'UNIX|_local_address' ,

        'UNKNOWN_ADDR|ESS' ,

        'VOICE_VIEW' .



ENUMERATION {socket_type} :

        'UNKNOWN_TYPE' ,

        'DATAGRAM|_UDP' ,

        'RAW_TYPE|_ICMP_IGMP' ,

        'RDM|_Reliably_Delivered_Messages' ,

        'SEQPACKET' ,

        'STREAM|_TCP' .



ENUMERATION {protocol|_type} :

        'UNSPECIFIED|_PROTOCOL' ,

        'GGP|_Gateway_to_Gateway' ,

        'ICMP|_Internet_control_message' ,

        'ICMP_V6|_for_ipv6' ,

        'IDP|_Internet_datagrams' ,

        'IGMP|_Internet_group_management' ,

        'IP|_Internet_protocol' ,

        'IPSecAuthenticationHeader' ,

        'IPSecEncapsulatingSecurityPayload' ,

        'IPv4_PROTOCOL|_IP_protocol_version_4' ,

        'IPv6_PROTOCOL|_IP_protocol_version_6' ,

        'IPv6DestinationOptions||IPv6_Destination_options' ,

        'IPv6FragmentHeader||IPv6_Fragment_header' ,

        'IPv6HopByHopOptions||IPv6_Hop_by_hop_options' ,

        'IPv6NoNextHeader||IPv6_No_next_header' ,

        'IPv6RoutingHeader||IPv6_Routing_header' ,

        'IPX_PROTOCOL|Internetwork_paclage_exchange' ,

        'ND|Unofficial_Network_Disk' ,

        'PUP_PROTOCOL||PARC_Universal_Packet' ,

        'RAW_PACKET|Not_handling_IP_packets' ,

        'SPX|Sequencial_packets_exchange' ,

        'SPXII|SPX_version_2' ,

        'TCP|Transmission_control_protocol' ,

        'UDP|User_datagrams_protocol' ,

        'Unknown_protocol' .


{address_family} Address|_family , READ


{socket_type} Type|_of_socket , READ


{protocol} Protocol|_of_socket , READ


BOOL Is_server , READ


INT Handle|_internal_to_work_with_native_functions , READ



------------------------------------------------------------------ 'SERVER'

  

FUN New_server_socket (
     
{address_family} AFamily|_address ,
     
{socket_type} Type|_of_socket ,
     
{protocol} Protocol|_of_socket ) ==> {Socket} , NEW



METHOD Listen|_start (
     
STR IP|_address|_or_DNS_name ,
     
INT Port|_number_0_or_1_to_65535 ,
     
INT Queue|_max_length ) ==> BOOL


INT Accepted|_connections[] , READ


  

METHOD Accept|_input_connection ==> INT



METHOD Shutdown|_input_connection (
     
INT Handler|_should_be_from_Accepted )



------------------------------------------------------------------ 'CLIENT'

  

FUN New_client_socket (
     
{address_family} AFamily|_address ,
     
{socket_type} Type|_of_socket ,
     
{protocol} Protocol|_of_socket ) ==> {Socket} , NEW



METHOD Connect|_to_server (
     
STR Host|_ip_or_dns ,
     
INT Port|_number_0_or_1_to_65535 ) ==> BOOL



------------------------------------------------------- 'DATA Send/Receive'

  

METHOD Receive|_data (
     
INT Handler|_server_should_pass_here_handle_from_Accepted ,
     
BYTE D|ata_buffer [] )



METHOD Send|_data (
     
INT Handler|_server_should_pass_here_handle_from_Accepted ,
     
BYTE D|ata_buffer [*] ) ==> INT



------------------------------------------------------------------- 'CLOSE'

 

METHOD Close|_socket



----------------------------------------------------------------- 'Utility'

 

FUN Host_ip|_v4_address ==> STR


END