{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.ue4PYbJr/b1/adasockets_1.14-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.ue4PYbJr/b2/adasockets_1.14-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n 75a79ccff1ce74249e7a5f39eea71ac5 63088 libdevel optional libadasockets-dev_1.14-1_amd64.deb\n- fdc0e517903c3f54284783ba1cc5cefa 274524 doc optional libadasockets-doc_1.14-1_all.deb\n+ 4929cbbb34320db816eb789fc71274cf 273252 doc optional libadasockets-doc_1.14-1_all.deb\n c5559422cb27bfaa017bee1d6cbf4393 51032 debug optional libadasockets11-dbgsym_1.14-1_amd64.deb\n 212a9b3bd5c41df1326c306bdca01b79 29868 libs optional libadasockets11_1.14-1_amd64.deb\n"}, {"source1": "libadasockets-doc_1.14-1_all.deb", "source2": "libadasockets-doc_1.14-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-03-17 16:33:20.000000 debian-binary\n--rw-r--r-- 0 0 0 1064 2024-03-17 16:33:20.000000 control.tar.xz\n--rw-r--r-- 0 0 0 273268 2024-03-17 16:33:20.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 1060 2024-03-17 16:33:20.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 272000 2024-03-17 16:33:20.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: libadasockets-doc\n Source: adasockets\n Version: 1.14-1\n Architecture: all\n Maintainer: Phil Brooke \n-Installed-Size: 303\n+Installed-Size: 302\n Suggests: gnat\n Breaks: libadasockets10-dev, libadasockets11-dev, libadasockets12-dev, libadasockets8-dev, libadasockets9-dev\n Replaces: libadasockets10-dev, libadasockets11-dev, libadasockets12-dev, libadasockets8-dev, libadasockets9-dev\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://www.rfc1149.net/devel/adasockets.html\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,21 +1,21 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-dev/\n -rw-r--r-- 0 root (0) root (0) 2311 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/README.md\n--rw-r--r-- 0 root (0) root (0) 251598 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 250343 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-dev/examples/\n -rw-r--r-- 0 root (0) root (0) 233 2024-01-27 17:32:23.000000 ./usr/share/doc/libadasockets-dev/examples/examples.gpr\n -rw-r--r-- 0 root (0) root (0) 4958 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/listener.adb\n -rw-r--r-- 0 root (0) root (0) 3982 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/multi.adb\n -rw-r--r-- 0 root (0) root (0) 4593 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/stream_listener.adb\n -rw-r--r-- 0 root (0) root (0) 3906 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/stream_sender.adb\n -rw-r--r-- 0 root (0) root (0) 4921 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/tcprelay.adb\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-doc/\n -rw-r--r-- 0 root (0) root (0) 1561 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 3026 2024-03-17 16:33:20.000000 ./usr/share/doc/libadasockets-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 475 2024-01-27 17:32:23.000000 ./usr/share/doc-base/libadasockets-doc.adasockets\n drwxr-xr-x 0 root (0) root (0) 0 2024-03-17 16:33:20.000000 ./usr/share/info/\n--rw-r--r-- 0 root (0) root (0) 14062 2024-03-17 16:33:20.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 14103 2024-03-17 16:33:20.000000 ./usr/share/info/adasockets.info.gz\n"}, {"source1": "./usr/share/doc/libadasockets-dev/adasockets.pdf.gz", "source2": "./usr/share/doc/libadasockets-dev/adasockets.pdf.gz", "unified_diff": null, "details": [{"source1": "adasockets.pdf", "source2": "adasockets.pdf", "unified_diff": null, "details": [{"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -38,31 +38,31 @@\n Setting up multicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Sending and receiving data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.1 Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.2 String-oriented exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n \n Sockets package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accept Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Connect (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Get (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Char (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Line (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Receive Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Get Send Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n-Getsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n+Getsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Listen (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n-New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Put (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Receive (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n+Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive Some (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Set Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Unset Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n \n 5\n@@ -241,39 +241,15 @@\n This procedure creates a new socket corresponding to an incoming connection\n on TCP socket Socket. All the communications with the peer will take place\n on New Socket, while the program can accept another connection on Socket.\n New Socket must not be initialized before calling this procedure, or must have\n been cleaned up by calling Shutdown, in order to avoid a file descriptors leak.\n Accept_Socket will block until an incoming connection is ready to be accepted.\n Example\n-declare\n-Sock\n-: Socket_FD;\n-Incoming : Socket_FD;\n-begin\n--- Create a TCP socket listening on local port 4161\n-Socket (Sock, PF_INET, SOCK_STREAM);\n-Bind (Sock, 4161);\n-Listen (Sock, 3);\n--- One-connection-at-a-time server (3 may be pending)\n-loop\n--- Wait for a new connection and accept it\n-Accept_Socket (Sock, Incoming);\n--- Do some dialog with the remote host\n-Do_Some_Dialog (Incoming);\n--- Close incoming socket and wait for next connection\n-Shutdown (Incoming);\n-end loop;\n-end;\n-\n-\f8\n-\n-AdaSockets reference manual\n-\n-See also [Bind (procedure)], page 8,\n+See also [Bind (procedure)], page 7,\n [Listen (procedure)], page 12,\n [Shutdown (procedure)], page 17,\n [Socket (procedure)], page 17.\n \n Bind (procedure)\n Purpose\n \n@@ -288,20 +264,24 @@\n Port\n Host\n \n in\n in\n in\n \n-[Sockets.Bind]\n-\n Initialized socket object\n Local port to bind to\n Local interface to bind to\n \n+[Sockets.Bind]\n+\n+\f8\n+\n+AdaSockets reference manual\n+\n Description\n This procedure requests a local port from the operating system. If 0 is given\n in Port, the system will assign a free port whose number can later be retrieved\n using [Get Sock Port (function)], page 25. Also, most operating systems require\n special privileges if you want to bind to ports below 1024.\n If Host is not the empty string, it must contain the IP address of a local interface\n to bind to, or a name which resolves into such an address. If an empty string\n@@ -345,31 +325,31 @@\n Exceptions\n Connection_Refused\n Socket_Error\n \n The connection has been refused by the server\n Another error occurred during the connection\n \n-\fChapter 4: Sockets package\n-\n-9\n-\n Example\n declare\n Sock : Socket_FD;\n begin\n -- Create a TCP socket\n Socket (Sock, PF_INET, SOCK_STREAM);\n -- Connect it to rfc1149.net\u2019s mail server\n Connect (Sock, \"mail.rfc1149.net\", 25);\n -- Do a mail transaction then close the socket\n [...]\n end;\n See also [Socket (procedure)], page 17.\n \n+\fChapter 4: Sockets package\n+\n+9\n+\n Get (function)\n Purpose\n \n Get a string from a remote host\n \n Prototype\n \n@@ -415,33 +395,33 @@\n \n in\n \n [Sockets.Get Char]\n \n Initialized and connected socket object\n \n-\f10\n-\n-AdaSockets reference manual\n-\n Return value\n One character sent by the remote host\n Description\n This function receives exactly one character from the remote host.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before sending the character\n \n See also [Get (function)], page 9,\n [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n+\f10\n+\n+AdaSockets reference manual\n+\n Get Line (function)\n Purpose\n \n Get a whole line from a remote host\n \n Prototype\n \n@@ -473,26 +453,22 @@\n Connection_Closed\n \n Peer has closed the connection before sending a whole line\n \n See also [Get (function)], page 9,\n [Get Char (function)], page 9,\n [Get Line (procedure)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n Get Line (procedure)\n Purpose\n \n Get a whole line from a remote host\n \n-\fChapter 4: Sockets package\n-\n-11\n-\n Prototype\n \n procedure Get_Line (Socket : Socket FD\u2019Class;\n Str : in out String; Last : out Natural);\n Parameters\n Socket\n Str\n@@ -514,18 +490,22 @@\n are stripped before the line is returned.\n This procedure blocks until one full line has been received.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before sending a whole line\n \n+\fChapter 4: Sockets package\n+\n+11\n+\n See also [Get (function)], page 9,\n [Get Char (function)], page 9,\n [Get Line (function)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n Get Receive Queue Size (function)\n Purpose\n \n Return the size of the unread data in the input queue\n \n@@ -544,25 +524,21 @@\n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the input queue\n Description\n This function is only available on Linux platforms. On other operating systems, it will return -2 to indicate that the necessary mechanisms to retrieve the\n information are not available.\n-See also [Receive (procedure)], page 15.\n+See also [Receive (procedure)], page 14.\n \n Get Send Queue Size (function)\n Purpose\n \n Return the size of the unsent data in the output queue\n \n-\f12\n-\n-AdaSockets reference manual\n-\n Prototype\n \n function Get_Send_Queue_Size\n (Socket : Socket FD\u2019Class)\n return Integer;\n Parameters\n Socket\n@@ -574,21 +550,25 @@\n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the output queue\n Description\n This function is only available on Linux platforms. On other operating systems, it will return -2 to indicate that the necessary mechanisms to retrieve the\n information are not available.\n-See also [Send (procedure)], page 16.\n+See also [Send (procedure)], page 15.\n \n Getsockopt (procedure)\n Purpose\n \n Retrieve a socket option\n \n+\f12\n+\n+AdaSockets reference manual\n+\n Prototype\n \n procedure Getsockopt (Socket : Socket FD;\n [Sockets.Getsockopt]\n Level : Socket Level := SOL SOCKET;\n Optname : Socket Option; Optval : out Integer);\n Parameters\n@@ -624,45 +604,42 @@\n \n Prototype\n \n procedure Listen (Socket : Socket FD;\n Queue_Size : Positive := 5);\n Parameters\n Socket\n+Queue Size\n \n in\n+in\n \n [Sockets.Listen]\n \n Initialized and bound socket object\n-\n-\fChapter 4: Sockets package\n-\n-Queue Size\n-\n-13\n-\n-in\n-\n Requested slots in the listen queue\n \n Description\n This procedure establishes a listen queue after a TCP socket as been initialized\n and bound. Each slot in the queue can hold one incoming connection that has\n not been accepted yet. Note that most operating systems ignore queue sizes\n larger than five.\n See also [Accept Socket (procedure)], page 7,\n-[Bind (procedure)], page 8,\n+[Bind (procedure)], page 7,\n [Socket (procedure)], page 17.\n \n New Line (procedure)\n Purpose\n \n Send a CR/LF to a remote host\n \n+\fChapter 4: Sockets package\n+\n+13\n+\n Prototype\n \n procedure New_Line (Socket : Socket FD\u2019Class;\n Count : Natural := 1);\n Parameters\n Socket\n Count\n@@ -679,15 +656,15 @@\n This procedure sends one or more CR/LF combinations to the peer.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [Put (procedure)], page 13,\n-[Put Line (procedure)], page 14.\n+[Put Line (procedure)], page 13.\n \n Put (procedure)\n Purpose\n \n Send a string to a remote host\n \n Prototype\n@@ -709,21 +686,17 @@\n Description\n This procedure sends the content of Str over an outgoing or incoming socket.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n-See also [New Line (procedure)], page 13,\n-[Put Line (procedure)], page 14,\n-[Send (procedure)], page 16.\n-\n-\f14\n-\n-AdaSockets reference manual\n+See also [New Line (procedure)], page 12,\n+[Put Line (procedure)], page 13,\n+[Send (procedure)], page 15.\n \n Put Line (procedure)\n Purpose\n \n Send a CR/LF terminated string to a remote host\n \n Prototype\n@@ -741,22 +714,27 @@\n \n Initialized and connected socket object\n String to send\n \n Description\n This procedure sends the content of Str plus a CR/LF combination over an\n outgoing or incoming socket.\n+\n+\f14\n+\n+AdaSockets reference manual\n+\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n-See also [New Line (procedure)], page 13,\n+See also [New Line (procedure)], page 12,\n [Put (procedure)], page 13,\n-[Send (procedure)], page 16.\n+[Send (procedure)], page 15.\n \n Receive (function)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n@@ -782,23 +760,19 @@\n socket. Only one system call will be performed; this function will return whatever data has arrived. Note that in GNAT the secondary stack may be used to\n store the data and may result in stack storage exhaustion.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before sending any data\n \n-See also [Receive (procedure)], page 15,\n+See also [Receive (procedure)], page 14,\n [Receive Some (procedure)], page 15,\n [Get Line (function)], page 10,\n [Get Line (procedure)], page 10.\n \n-\fChapter 4: Sockets package\n-\n-15\n-\n Receive (procedure)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n \n@@ -820,14 +794,18 @@\n socket. It will block until the Data reception buffer has been totally filled.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before Data\u2019Length bytes\n were received\n \n+\fChapter 4: Sockets package\n+\n+15\n+\n See also [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n [Receive (function)], page 14,\n [Receive Some (procedure)], page 15.\n \n Receive Some (procedure)\n Purpose\n@@ -862,19 +840,15 @@\n Connection_Closed\n \n Peer has closed the connection before sending any data\n \n See also [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n [Receive (function)], page 14,\n-[Receive (procedure)], page 15.\n-\n-\f16\n-\n-AdaSockets reference manual\n+[Receive (procedure)], page 14.\n \n Send (procedure)\n Purpose\n \n Send raw data over a socket\n \n Prototype\n@@ -897,25 +871,28 @@\n socket.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [Put (procedure)], page 13,\n-[Put Line (procedure)], page 14.\n+[Put Line (procedure)], page 13.\n+\n+\f16\n+\n+AdaSockets reference manual\n \n Set Buffer (procedure)\n Purpose\n \n Install a line-oriented buffer of the socket object\n \n Prototype\n-\n-procedure Set_Buffer\n [Sockets.Set Buffer]\n+procedure Set_Buffer\n (Socket : Socket FD\u2019Class; Length : Positive := 1500);\n Parameters\n Socket\n Length\n \n in\n in\n@@ -934,18 +911,14 @@\n See also [Unset Buffer (procedure)], page 18.\n \n Setsockopt (procedure)\n Purpose\n \n Set a socket option\n \n-\fChapter 4: Sockets package\n-\n-17\n-\n Prototype\n \n procedure Setsockopt (Socket : Socket FD;\n [Sockets.Setsockopt]\n Level : Socket Level := SOL SOCKET;\n Optname : Socket Option; Optval : Integer);\n Parameters\n@@ -969,15 +942,19 @@\n system manual for usable levels and options.\n Two levels are defined: SOL_SOCKET (the default) and IPPROTO_IP. The options\n are SO_REUSEADDR, SO_REUSEPORT, IP_MULTICAST_TTL, IP_ADD_MEMBERSHIP,\n IP_DROP_MEMBERSHIP, IP_MULTICAST_LOOP, SO_SNDBUF and IP_RCVBUF.\n Note that unlike their C language counterpart, Getsockopt and Setsockopt\n do not require an extra parameter representing the length in bytes of the option\n value. AdaSockets knows the right size for every option.\n-See also [Getsockopt (procedure)], page 12.\n+See also [Getsockopt (procedure)], page 11.\n+\n+\fChapter 4: Sockets package\n+\n+17\n \n Shutdown (procedure)\n Purpose\n \n Shutdown a socket\n \n Prototype\n@@ -1015,24 +992,20 @@\n Domain\n Typ\n \n out\n in\n in\n \n+[Sockets.Socket]\n+\n Socket object to initialize\n Protocol family\n Kind of sockets\n \n-[Sockets.Socket]\n-\n-\f18\n-\n-AdaSockets reference manual\n-\n Description\n This procedure initializes a new socket object by reserving a file descriptor to\n the operating system. For backward compatibility with older versions of this\n library, AF_INET is still accepted as a value but should be replaced as soon as\n possible with the proper PF_INET. Using SOCK_STREAM for the Typ argument\n will create a TCP socket while a SOCK_DGRAM will create a UDP one.\n Example\n@@ -1044,14 +1017,18 @@\n -- Perform some operations on socket\n [...]\n -- Shutdown the socket in both directions\n Shutdown (Sock, Both);\n end;\n See also [Shutdown (procedure)], page 17.\n \n+\f18\n+\n+AdaSockets reference manual\n+\n Unset Buffer (procedure)\n Purpose\n \n Deinstall the line-oriented buffer of the socket object\n \n Prototype\n \n@@ -1124,38 +1101,29 @@\n IP multicast routers do implement threshold-based filtering and will not let IP\n multicast packets leave your organization if the TTL on the last router is smaller\n than 16.\n If 0 is given for the Port, a local one will be chosen. It can then later be retrieved\n using Get Sock Port.\n Example\n declare\n-Sock\n-: Socket_FD;\n-Incoming : Socket_FD;\n+Sock : Multicast_Socket_FD;\n begin\n--- Create a TCP socket listening on local port 4161\n-Socket (Sock, PF_INET, SOCK_STREAM);\n-Bind (Sock, 4161);\n-Listen (Sock, 3);\n+-- Create a multicast socket on group 224.1.2.3 port 8763\n+Sock := Create_Multicast_Socket (\"224.1.2.3\", 8763);\n+-- Perform some operations on socket\n+[...]\n+-- Shutdown the socket in both directions\n \n \f20\n \n AdaSockets reference manual\n \n--- One-connection-at-a-time server (3 may be pending)\n-loop\n--- Wait for a new connection and accept it\n-Accept_Socket (Sock, Incoming);\n--- Do some dialog with the remote host\n-Do_Some_Dialog (Incoming);\n--- Close incoming socket and wait for next connection\n-Shutdown (Incoming);\n-end loop;\n+Shutdown (Sock, Both);\n end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n Create Multicast Socket (function)\n Purpose\n \n Create an IP multicast socket\n \n@@ -1191,27 +1159,36 @@\n Description\n This function creates an IP multicast socket attached to a given group, identified by its class E IP address and port. If Local Port is 0, a free port will\n automatically be chosen by your operating system.\n This function should be used when you want to send packets to a multicast\n group without receiving any packet yourself.\n Example\n declare\n-Sock : Socket_FD;\n+Sock\n+: Socket_FD;\n+Incoming : Socket_FD;\n begin\n--- Create a TCP socket\n+-- Create a TCP socket listening on local port 4161\n Socket (Sock, PF_INET, SOCK_STREAM);\n--- Connect it to rfc1149.net\u2019s mail server\n-Connect (Sock, \"mail.rfc1149.net\", 25);\n+Bind (Sock, 4161);\n+Listen (Sock, 3);\n+-- One-connection-at-a-time server (3 may be pending)\n+loop\n+-- Wait for a new connection and accept it\n+Accept_Socket (Sock, Incoming);\n+-- Do some dialog with the remote host\n+Do_Some_Dialog (Incoming);\n+-- Close incoming socket and wait for next connection\n \n \fChapter 5: Sockets.Multicast package\n \n--- Do a mail transaction then close the socket\n-[...]\n+Shutdown (Incoming);\n+end loop;\n end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n 21\n \n \f\f23\n \n 6 Sockets.Naming package\n@@ -1593,85 +1570,85 @@\n Index\n A\n \n G\n \n Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accepting a new connection . . . . . . . . . . . . . . . . . . . . . 7\n-Ada.Streams.Stream_Element_Array . . 6, 14, 15, 16\n+Ada.Streams.Stream_Element_Array . . . . 6, 14, 15\n Ada.Streams.Stream_Element_Count . . . . . . . 14, 15\n AdaSockets presentation . . . . . . . . . . . . . . . . . . . . . . . . 1\n Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n+Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11\n-Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 12\n+Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Group communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n \n H\n B\n-Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Both . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n \n Handling a new connection . . . . . . . . . . . . . . . . . . . . . . 7\n Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n \n I\n C\n Closing a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Comparaison with GNAT.Sockets . . . . . . . . . . . . . . . . 1\n Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connecting a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Connection_Closed . . . . . . . 9, 10, 11, 13, 14, 15, 16\n+Connection_Closed . . . . . . . . . . . . . . 9, 10, 13, 14, 15\n Connection_Refused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 31\n Create_Multicast_Socket . . . . . . . . . . . . . . . 5, 19, 20\n Creating a multicast socket . . . . . . . . . . . . . . 5, 19, 20\n-Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Creating a socket. . . . . . . . . . . . . . . . . . . . . 5, 17, 19, 20\n Creating a TCP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Creating a UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Creating a unicast socket . . . . . . . . . . . . . . . . . . . . . . . . 5\n-CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n+CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13\n \n Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n Installing AdaSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\n-IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IP_MULTICAST_LOOP . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IP_MULTICAST_TTL . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_MULTICAST_LOOP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_MULTICAST_TTL . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n \n L\n-LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n+LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n M\n E\n Establishing a listen queue . . . . . . . . . . . . . . . . . . . . . 12\n \n-Manipulating socket options . . . . . . . . . . . . . . . . 12, 16\n+Manipulating socket options . . . . . . . . . . . . . . . . 11, 16\n Mbone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Multicast sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Multicast_Socket_FD . . . . . . . . . . . . . . . . . . . . . . . 5, 19\n \n F\n \n N\n@@ -1700,80 +1677,80 @@\n Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 25\n Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 26\n Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 26\n Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 26\n Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 27\n Sockets.New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Sockets.Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Sockets.Receive. . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15\n+Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+Sockets.Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Sockets.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Sockets.Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n-Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Stream_Element_Array . . . . . . . . . . . . . . . 6, 14, 15, 16\n+SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15\n Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15\n String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n \n-PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n \n R\n Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6\n-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15, 17\n+Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17\n Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Receiving data . . . . . . . . . . 6, 9, 10, 11, 14, 15, 16, 18\n Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n Representing IP addresses . . . . . . . . . . . . . . . . . . 25, 27\n-Retrieving socket options. . . . . . . . . . . . . . . . . . . . . . . 12\n+Retrieving socket options. . . . . . . . . . . . . . . . . . . . . . . 11\n \n S\n-Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 17\n-Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 14, 16\n+Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 17\n+Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 12, 13, 15\n Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setting socket options . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SOCK_DGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOCK_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SOCK_DGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+SOCK_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n Socket shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Socket_FD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 7\n Sockets.Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Sockets.Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Sockets.Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Sockets.Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Sockets.Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Sockets.Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n+Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Sockets.Get_Receive_Queue_Size . . . . . . . . . . . . . 11\n-Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 12\n+Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 11\n Sockets.Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n-Sockets.IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_MULTICAST_LOOP . . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_MULTICAST_TTL . . . . . . . . . . . . . . . . 12, 17\n-Sockets.IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_MULTICAST_LOOP . . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_MULTICAST_TTL . . . . . . . . . . . . . . . . 12, 16\n+Sockets.IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n T\n TCP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n \n U\n UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n"}]}]}, {"source1": "./usr/share/info/adasockets.info.gz", "source2": "./usr/share/info/adasockets.info.gz", "unified_diff": null, "details": [{"source1": "adasockets.info", "source2": "adasockets.info", "has_internal_linenos": true, "unified_diff": "@@ -748,4278 +748,4236 @@\n 00002eb0: 746f 7273 206c 6561 6b2e 0a0a 2020 2020 tors leak... \n 00002ec0: 20e2 8098 4163 6365 7074 5f53 6f63 6b65 ...Accept_Socke\n 00002ed0: 74e2 8099 2077 696c 6c20 626c 6f63 6b20 t... will block \n 00002ee0: 756e 7469 6c20 616e 2069 6e63 6f6d 696e until an incomin\n 00002ef0: 6720 636f 6e6e 6563 7469 6f6e 2069 7320 g connection is \n 00002f00: 7265 6164 7920 746f 0a20 2020 2020 6265 ready to. be\n 00002f10: 2061 6363 6570 7465 642e 0a0a 4558 414d accepted...EXAM\n-00002f20: 504c 450a 2020 2020 2020 2020 2020 6465 PLE. de\n-00002f30: 636c 6172 650a 2020 2020 2020 2020 2020 clare. \n-00002f40: 2020 2053 6f63 6b20 2020 2020 3a20 536f Sock : So\n-00002f50: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-00002f60: 2020 2020 2020 496e 636f 6d69 6e67 203a Incoming :\n-00002f70: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n-00002f80: 2020 2020 2020 6265 6769 6e0a 2020 2020 begin. \n-00002f90: 2020 2020 2020 2020 202d 2d20 4372 6561 -- Crea\n-00002fa0: 7465 2061 2054 4350 2073 6f63 6b65 7420 te a TCP socket \n-00002fb0: 6c69 7374 656e 696e 6720 6f6e 206c 6f63 listening on loc\n-00002fc0: 616c 2070 6f72 7420 3431 3631 0a20 2020 al port 4161. \n-00002fd0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-00002fe0: 2028 536f 636b 2c20 5046 5f49 4e45 542c (Sock, PF_INET,\n-00002ff0: 2053 4f43 4b5f 5354 5245 414d 293b 0a20 SOCK_STREAM);. \n-00003000: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind\n-00003010: 2028 536f 636b 2c20 3431 3631 293b 0a20 (Sock, 4161);. \n-00003020: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n-00003030: 656e 2028 536f 636b 2c20 3329 3b0a 2020 en (Sock, 3);. \n-00003040: 2020 2020 2020 2020 2020 202d 2d20 4f6e -- On\n-00003050: 652d 636f 6e6e 6563 7469 6f6e 2d61 742d e-connection-at-\n-00003060: 612d 7469 6d65 2073 6572 7665 7220 2833 a-time server (3\n-00003070: 206d 6179 2062 6520 7065 6e64 696e 6729 may be pending)\n-00003080: 0a20 2020 2020 2020 2020 2020 2020 6c6f . lo\n-00003090: 6f70 0a20 2020 2020 2020 2020 2020 2020 op. \n-000030a0: 2020 202d 2d20 5761 6974 2066 6f72 2061 -- Wait for a\n-000030b0: 206e 6577 2063 6f6e 6e65 6374 696f 6e20 new connection \n-000030c0: 616e 6420 6163 6365 7074 2069 740a 2020 and accept it. \n-000030d0: 2020 2020 2020 2020 2020 2020 2020 4163 Ac\n-000030e0: 6365 7074 5f53 6f63 6b65 7420 2853 6f63 cept_Socket (Soc\n-000030f0: 6b2c 2049 6e63 6f6d 696e 6729 3b0a 2020 k, Incoming);. \n-00003100: 2020 2020 2020 2020 2020 2020 2020 2d2d --\n-00003110: 2044 6f20 736f 6d65 2064 6961 6c6f 6720 Do some dialog \n-00003120: 7769 7468 2074 6865 2072 656d 6f74 6520 with the remote \n-00003130: 686f 7374 0a20 2020 2020 2020 2020 2020 host. \n-00003140: 2020 2020 2044 6f5f 536f 6d65 5f44 6961 Do_Some_Dia\n-00003150: 6c6f 6720 2849 6e63 6f6d 696e 6729 3b0a log (Incoming);.\n-00003160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003170: 2d2d 2043 6c6f 7365 2069 6e63 6f6d 696e -- Close incomin\n-00003180: 6720 736f 636b 6574 2061 6e64 2077 6169 g socket and wai\n-00003190: 7420 666f 7220 6e65 7874 2063 6f6e 6e65 t for next conne\n-000031a0: 6374 696f 6e0a 2020 2020 2020 2020 2020 ction. \n-000031b0: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n-000031c0: 496e 636f 6d69 6e67 293b 0a20 2020 2020 Incoming);. \n-000031d0: 2020 2020 2020 2020 656e 6420 6c6f 6f70 end loop\n-000031e0: 3b0a 2020 2020 2020 2020 2020 656e 643b ;. end;\n-000031f0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-00003200: 2a6e 6f74 6520 4269 6e64 2028 7072 6f63 *note Bind (proc\n-00003210: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n-00003220: 6e6f 7465 204c 6973 7465 6e20 2870 726f note Listen (pro\n-00003230: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00003240: 2a6e 6f74 6520 5368 7574 646f 776e 2028 *note Shutdown (\n-00003250: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n-00003260: 2020 202a 6e6f 7465 2053 6f63 6b65 7420 *note Socket \n-00003270: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-00003280: 2a20 4d65 6e75 3a0a 0a2a 2042 696e 6420 * Menu:..* Bind \n-00003290: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-000032a0: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n-000032b0: 7265 293a 3a0a 2a20 4765 7420 2866 756e re)::.* Get (fun\n-000032c0: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f43 ction)::.* Get_C\n-000032d0: 6861 7220 2866 756e 6374 696f 6e29 3a3a har (function)::\n-000032e0: 0a2a 2047 6574 5f4c 696e 6520 2866 756e .* Get_Line (fun\n-000032f0: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f4c ction)::.* Get_L\n-00003300: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n-00003310: 3a0a 2a20 4765 745f 5265 6365 6976 655f :.* Get_Receive_\n-00003320: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n-00003330: 7469 6f6e 293a 3a0a 2a20 4765 745f 5365 tion)::.* Get_Se\n-00003340: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-00003350: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n-00003360: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00003370: 7265 293a 3a0a 2a20 4c69 7374 656e 2028 re)::.* Listen (\n-00003380: 7072 6f63 6564 7572 6529 3a3a 0a2a 204e procedure)::.* N\n-00003390: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n-000033a0: 7265 293a 3a0a 2a20 5075 7420 2870 726f re)::.* Put (pro\n-000033b0: 6365 6475 7265 293a 3a0a 2a20 5075 745f cedure)::.* Put_\n-000033c0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-000033d0: 3a3a 0a2a 2052 6563 6569 7665 2028 6675 ::.* Receive (fu\n-000033e0: 6e63 7469 6f6e 293a 3a0a 2a20 5265 6365 nction)::.* Rece\n-000033f0: 6976 6520 2870 726f 6365 6475 7265 293a ive (procedure):\n-00003400: 3a0a 2a20 5265 6365 6976 655f 536f 6d65 :.* Receive_Some\n-00003410: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n-00003420: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-00003430: 293a 3a0a 2a20 5365 745f 4275 6666 6572 )::.* Set_Buffer\n-00003440: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n-00003450: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-00003460: 6365 6475 7265 293a 3a0a 2a20 5368 7574 cedure)::.* Shut\n-00003470: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00003480: 3a3a 0a2a 2053 6f63 6b65 7420 2870 726f ::.* Socket (pro\n-00003490: 6365 6475 7265 293a 3a0a 2a20 556e 7365 cedure)::.* Unse\n-000034a0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-000034b0: 7572 6529 3a3a 0a0a 1f0a 4669 6c65 3a20 ure)::....File: \n-000034c0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-000034d0: 2020 4e6f 6465 3a20 4269 6e64 2028 7072 Node: Bind (pr\n-000034e0: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-000034f0: 2043 6f6e 6e65 6374 2028 7072 6f63 6564 Connect (proced\n-00003500: 7572 6529 2c20 2050 7265 763a 2041 6363 ure), Prev: Acc\n-00003510: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00003520: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n-00003530: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00003540: 6564 7572 6529 0a0a 4269 6e64 2028 7072 edure)..Bind (pr\n-00003550: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-00003560: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00003570: 5345 0a20 2020 2020 4173 736f 6369 6174 SE. Associat\n-00003580: 6520 6120 6c6f 6361 6c20 706f 7274 2074 e a local port t\n-00003590: 6f20 6120 736f 636b 6574 0a50 524f 544f o a socket.PROTO\n-000035a0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-000035b0: 636b 6574 732e 4269 6e64 3a20 7072 6f63 ckets.Bind: proc\n-000035c0: 6564 7572 6520 4269 6e64 2028 534f 434b edure Bind (SOCK\n-000035d0: 4554 203a 2053 6f63 6b65 745f 4644 3b0a ET : Socket_FD;.\n-000035e0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-000035f0: 4f52 5420 3a20 4e61 7475 7261 6c3b 2048 ORT : Natural; H\n-00003600: 4f53 5420 3a20 5374 7269 6e67 203a 3d20 OST : String := \n-00003610: 2222 293b 0a0a 5041 5241 4d45 5445 5253 \"\");..PARAMETERS\n-00003620: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00003630: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00003640: 6961 6c69 7a65 6420 736f 636b 6574 206f ialized socket o\n-00003650: 626a 6563 740a 2020 2020 2050 4f52 5420 bject. PORT \n-00003660: 2020 2020 2020 696e 2020 2020 2020 2020 in \n-00003670: 204c 6f63 616c 2070 6f72 7420 746f 2062 Local port to b\n-00003680: 696e 6420 746f 0a20 2020 2020 484f 5354 ind to. HOST\n-00003690: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n-000036a0: 2020 4c6f 6361 6c20 696e 7465 7266 6163 Local interfac\n-000036b0: 6520 746f 2062 696e 6420 746f 0a0a 4445 e to bind to..DE\n-000036c0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-000036d0: 6869 7320 7072 6f63 6564 7572 6520 7265 his procedure re\n-000036e0: 7175 6573 7473 2061 206c 6f63 616c 2070 quests a local p\n-000036f0: 6f72 7420 6672 6f6d 2074 6865 206f 7065 ort from the ope\n-00003700: 7261 7469 6e67 2073 7973 7465 6d2e 2020 rating system. \n-00003710: 4966 0a20 2020 2020 3020 6973 2067 6976 If. 0 is giv\n-00003720: 656e 2069 6e20 504f 5254 2c20 7468 6520 en in PORT, the \n-00003730: 7379 7374 656d 2077 696c 6c20 6173 7369 system will assi\n-00003740: 676e 2061 2066 7265 6520 706f 7274 2077 gn a free port w\n-00003750: 686f 7365 206e 756d 6265 720a 2020 2020 hose number. \n-00003760: 2063 616e 206c 6174 6572 2062 6520 7265 can later be re\n-00003770: 7472 6965 7665 6420 7573 696e 6720 2a6e trieved using *n\n-00003780: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por\n-00003790: 7420 2866 756e 6374 696f 6e29 3a3a 2e0a t (function)::..\n-000037a0: 2020 2020 2041 6c73 6f2c 206d 6f73 7420 Also, most \n-000037b0: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n-000037c0: 7320 7265 7175 6972 6520 7370 6563 6961 s require specia\n-000037d0: 6c20 7072 6976 696c 6567 6573 2069 6620 l privileges if \n-000037e0: 796f 7520 7761 6e74 0a20 2020 2020 746f you want. to\n-000037f0: 2062 696e 6420 746f 2070 6f72 7473 2062 bind to ports b\n-00003800: 656c 6f77 2031 3032 342e 0a0a 2020 2020 elow 1024... \n-00003810: 2049 6620 484f 5354 2069 7320 6e6f 7420 If HOST is not \n-00003820: 7468 6520 656d 7074 7920 7374 7269 6e67 the empty string\n-00003830: 2c20 6974 206d 7573 7420 636f 6e74 6169 , it must contai\n-00003840: 6e20 7468 6520 4950 2061 6464 7265 7373 n the IP address\n-00003850: 206f 660a 2020 2020 2061 206c 6f63 616c of. a local\n-00003860: 2069 6e74 6572 6661 6365 2074 6f20 6269 interface to bi\n-00003870: 6e64 2074 6f2c 206f 7220 6120 6e61 6d65 nd to, or a name\n-00003880: 2077 6869 6368 2072 6573 6f6c 7665 7320 which resolves \n-00003890: 696e 746f 2073 7563 6820 616e 0a20 2020 into such an. \n-000038a0: 2020 6164 6472 6573 732e 2020 4966 2061 address. If a\n-000038b0: 6e20 656d 7074 7920 7374 7269 6e67 2069 n empty string i\n-000038c0: 7320 6769 7665 6e20 2874 6865 2064 6566 s given (the def\n-000038d0: 6175 6c74 292c 2074 6865 2073 6f63 6b65 ault), the socke\n-000038e0: 740a 2020 2020 2077 696c 6c20 6265 2062 t. will be b\n-000038f0: 6f75 6e64 2074 6f20 616c 6c20 7468 6520 ound to all the \n-00003900: 6176 6169 6c61 626c 6520 696e 7465 7266 available interf\n-00003910: 6163 6573 2e0a 0a45 5843 4550 5449 4f4e aces...EXCEPTION\n-00003920: 530a 2020 2020 20e2 8098 536f 636b 6574 S. ...Socket\n-00003930: 5f45 7272 6f72 e280 9920 2020 2020 5265 _Error... Re\n-00003940: 7175 6573 7465 6420 706f 7274 206f 7220 quested port or \n-00003950: 696e 7465 7266 6163 6520 6e6f 7420 6176 interface not av\n-00003960: 6169 6c61 626c 650a 0a53 4545 2041 4c53 ailable..SEE ALS\n-00003970: 4f0a 2020 2020 202a 6e6f 7465 204c 6973 O. *note Lis\n-00003980: 7465 6e20 2870 726f 6365 6475 7265 293a ten (procedure):\n-00003990: 3a2c 0a20 2020 2020 2a6e 6f74 6520 536f :,. *note So\n-000039a0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-000039b0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-000039c0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-000039d0: 6f64 653a 2043 6f6e 6e65 6374 2028 7072 ode: Connect (pr\n-000039e0: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-000039f0: 2047 6574 2028 6675 6e63 7469 6f6e 292c Get (function),\n-00003a00: 2020 5072 6576 3a20 4269 6e64 2028 7072 Prev: Bind (pr\n-00003a10: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n-00003a20: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00003a30: 6f63 6564 7572 6529 0a0a 436f 6e6e 6563 ocedure)..Connec\n-00003a40: 7420 2870 726f 6365 6475 7265 290a 2d2d t (procedure).--\n-00003a50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00003a60: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00003a70: 436f 6e6e 6563 7420 6120 736f 636b 6574 Connect a socket\n-00003a80: 206f 6e20 6120 6769 7665 6e20 686f 7374 on a given host\n-00003a90: 2f70 6f72 740a 5052 4f54 4f54 5950 450a /port.PROTOTYPE.\n-00003aa0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00003ab0: 2e43 6f6e 6e65 6374 3a20 7072 6f63 6564 .Connect: proced\n-00003ac0: 7572 6520 436f 6e6e 6563 7420 2853 4f43 ure Connect (SOC\n-00003ad0: 4b45 5420 3a20 536f 636b 6574 5f46 443b KET : Socket_FD;\n-00003ae0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00003af0: 484f 5354 203a 2053 7472 696e 673b 2050 HOST : String; P\n-00003b00: 4f52 5420 3a20 506f 7369 7469 7665 293b ORT : Positive);\n-00003b10: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00003b20: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-00003b30: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n-00003b40: 7a65 6420 736f 636b 6574 206f 626a 6563 zed socket objec\n-00003b50: 740a 2020 2020 2048 4f53 5420 2020 2020 t. HOST \n-00003b60: 2020 696e 2020 2020 2020 2020 2048 6f73 in Hos\n-00003b70: 7420 746f 2063 6f6e 6e65 6374 2074 6f0a t to connect to.\n-00003b80: 2020 2020 2050 4f52 5420 2020 2020 2020 PORT \n-00003b90: 696e 2020 2020 2020 2020 2050 6f72 7420 in Port \n-00003ba0: 746f 2063 6f6e 6e65 6374 2074 6f0a 0a44 to connect to..D\n-00003bb0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00003bc0: 5468 6973 2070 726f 6365 6475 7265 2063 This procedure c\n-00003bd0: 6f6e 6e65 6374 7320 616e 2069 6e69 7469 onnects an initi\n-00003be0: 616c 697a 6564 2073 6f63 6b65 7420 746f alized socket to\n-00003bf0: 2061 2067 6976 656e 2068 6f73 7420 6f6e a given host on\n-00003c00: 2061 0a20 2020 2020 6769 7665 6e20 706f a. given po\n-00003c10: 7274 2e20 2049 6e20 7468 6520 6361 7365 rt. In the case\n-00003c20: 206f 6620 6120 5443 5020 736f 636b 6574 of a TCP socket\n-00003c30: 2c20 6120 7265 616c 2063 6f6e 6e65 6374 , a real connect\n-00003c40: 696f 6e20 6973 0a20 2020 2020 6174 7465 ion is. atte\n-00003c50: 6d70 7465 642e 2020 496e 2074 6865 2063 mpted. In the c\n-00003c60: 6173 6520 6f66 2061 2055 4450 2073 6f63 ase of a UDP soc\n-00003c70: 6b65 742c 206e 6f20 636f 6e6e 6563 7469 ket, no connecti\n-00003c80: 6f6e 2074 616b 6573 2070 6c61 6365 0a20 on takes place. \n-00003c90: 2020 2020 6275 7420 7468 6520 656e 6470 but the endp\n-00003ca0: 6f69 6e74 2063 6f6f 7264 696e 6174 6573 oint coordinates\n-00003cb0: 2061 7265 2072 6563 6f72 6465 642e 0a0a are recorded...\n-00003cc0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-00003cd0: e280 9843 6f6e 6e65 6374 696f 6e5f 5265 ...Connection_Re\n-00003ce0: 6675 7365 64e2 8099 5468 6520 636f 6e6e fused...The conn\n-00003cf0: 6563 7469 6f6e 2068 6173 2062 6565 6e20 ection has been \n-00003d00: 7265 6675 7365 6420 6279 2074 6865 0a20 refused by the. \n-00003d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003d20: 2020 2020 2020 2073 6572 7665 720a 2020 server. \n-00003d30: 2020 20e2 8098 536f 636b 6574 5f45 7272 ...Socket_Err\n-00003d40: 6f72 e280 9920 2020 2020 416e 6f74 6865 or... Anothe\n-00003d50: 7220 6572 726f 7220 6f63 6375 7272 6564 r error occurred\n-00003d60: 2064 7572 696e 6720 7468 650a 2020 2020 during the. \n-00003d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003d80: 2020 2020 636f 6e6e 6563 7469 6f6e 0a0a connection..\n-00003d90: 4558 414d 504c 450a 2020 2020 2020 2020 EXAMPLE. \n-00003da0: 2020 6465 636c 6172 650a 2020 2020 2020 declare. \n-00003db0: 2020 2020 2020 2053 6f63 6b20 3a20 536f Sock : So\n-00003dc0: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-00003dd0: 2020 2062 6567 696e 0a20 2020 2020 2020 begin. \n-00003de0: 2020 2020 2020 2d2d 2043 7265 6174 6520 -- Create \n-00003df0: 6120 5443 5020 736f 636b 6574 0a20 2020 a TCP socket. \n-00003e00: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-00003e10: 2028 536f 636b 2c20 5046 5f49 4e45 542c (Sock, PF_INET,\n-00003e20: 2053 4f43 4b5f 5354 5245 414d 293b 0a20 SOCK_STREAM);. \n-00003e30: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n-00003e40: 6f6e 6e65 6374 2069 7420 746f 2072 6663 onnect it to rfc\n-00003e50: 3131 3439 2e6e 6574 2773 206d 6169 6c20 1149.net's mail \n-00003e60: 7365 7276 6572 0a20 2020 2020 2020 2020 server. \n-00003e70: 2020 2020 436f 6e6e 6563 7420 2853 6f63 Connect (Soc\n-00003e80: 6b2c 2022 6d61 696c 2e72 6663 3131 3439 k, \"mail.rfc1149\n-00003e90: 2e6e 6574 222c 2032 3529 3b0a 2020 2020 .net\", 25);. \n-00003ea0: 2020 2020 2020 2020 202d 2d20 446f 2061 -- Do a\n-00003eb0: 206d 6169 6c20 7472 616e 7361 6374 696f mail transactio\n-00003ec0: 6e20 7468 656e 2063 6c6f 7365 2074 6865 n then close the\n-00003ed0: 2073 6f63 6b65 740a 2020 2020 2020 2020 socket. \n-00003ee0: 2020 2020 205b 2e2e 2e5d 0a20 2020 2020 [...]. \n-00003ef0: 2020 2020 2065 6e64 3b0a 0a53 4545 2041 end;..SEE A\n-00003f00: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n-00003f10: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00003f20: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00003f30: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00003f40: 4e6f 6465 3a20 4765 7420 2866 756e 6374 Node: Get (funct\n-00003f50: 696f 6e29 2c20 204e 6578 743a 2047 6574 ion), Next: Get\n-00003f60: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n-00003f70: 2c20 2050 7265 763a 2043 6f6e 6e65 6374 , Prev: Connect\n-00003f80: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n-00003f90: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00003fa0: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n-00003fb0: 7420 2866 756e 6374 696f 6e29 0a2d 2d2d t (function).---\n-00003fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-00003fd0: 504f 5345 0a20 2020 2020 4765 7420 6120 POSE. Get a \n-00003fe0: 7374 7269 6e67 2066 726f 6d20 6120 7265 string from a re\n-00003ff0: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n-00004000: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00004010: 6b65 7473 2e47 6574 3a20 6675 6e63 7469 kets.Get: functi\n-00004020: 6f6e 2047 6574 2028 534f 434b 4554 203a on Get (SOCKET :\n-00004030: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-00004040: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-00004050: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n-00004060: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-00004070: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-00004080: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-00004090: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n-000040a0: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n-000040b0: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-000040c0: 2020 536f 6d65 2063 6861 7261 6374 6572 Some character\n-000040d0: 7320 7468 6174 2068 6176 6520 6265 656e s that have been\n-000040e0: 2072 6563 6569 7665 640a 0a44 4553 4352 received..DESCR\n-000040f0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00004100: 2066 756e 6374 696f 6e20 7265 6365 6976 function receiv\n-00004110: 6573 2073 6f6d 6520 6368 6172 6163 7465 es some characte\n-00004120: 7273 2066 726f 6d20 6120 7265 6d6f 7465 rs from a remote\n-00004130: 2068 6f73 742e 2020 4173 2073 6f6f 6e0a host. As soon.\n-00004140: 2020 2020 2074 6861 7420 6174 206c 6561 that at lea\n-00004150: 7374 206f 6e65 2063 6861 7261 6374 6572 st one character\n-00004160: 2069 7320 6176 6169 6c61 626c 652c 2074 is available, t\n-00004170: 6865 2063 7572 7265 6e74 2072 6563 6570 he current recep\n-00004180: 7469 6f6e 0a20 2020 2020 6275 6666 6572 tion. buffer\n-00004190: 2069 7320 7265 7475 726e 6564 2e0a 0a20 is returned... \n-000041a0: 2020 2020 5468 6572 6520 6973 2075 7375 There is usu\n-000041b0: 616c 6c79 206c 6974 746c 6520 6761 696e ally little gain\n-000041c0: 2069 6e20 7573 696e 6720 7468 6973 2066 in using this f\n-000041d0: 756e 6374 696f 6e20 7768 6f73 6520 6265 unction whose be\n-000041e0: 6861 7669 6f72 0a20 2020 2020 6973 2063 havior. is c\n-000041f0: 6f6d 7061 7261 626c 6520 746f 2074 6865 omparable to the\n-00004200: 206f 6e65 206f 6620 2a6e 6f74 6520 5265 one of *note Re\n-00004210: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-00004220: 3a3a 2e20 204f 7468 6572 0a20 2020 2020 ::. Other. \n-00004230: 6675 6e63 7469 6f6e 7320 7375 6368 2061 functions such a\n-00004240: 7320 2a6e 6f74 6520 4765 745f 4368 6172 s *note Get_Char\n-00004250: 2028 6675 6e63 7469 6f6e 293a 3a2c 206f (function)::, o\n-00004260: 7220 2a6e 6f74 6520 4765 745f 4c69 6e65 r *note Get_Line\n-00004270: 0a20 2020 2020 2866 756e 6374 696f 6e29 . (function)\n-00004280: 3a3a 2c20 616c 6c6f 7720 6d6f 7265 2073 ::, allow more s\n-00004290: 7472 7563 7475 7265 6420 7072 6f67 7261 tructured progra\n-000042a0: 6d6d 696e 672e 0a0a 2020 2020 2048 6f77 mming... How\n-000042b0: 6576 6572 2c20 7468 6973 2066 756e 6374 ever, this funct\n-000042c0: 696f 6e20 6d61 7920 6265 2075 7365 6420 ion may be used \n-000042d0: 746f 2061 766f 6964 206c 6f73 696e 6720 to avoid losing \n-000042e0: 6368 6172 6163 7465 7273 2077 6865 6e0a characters when.\n-000042f0: 2020 2020 2063 616c 6c69 6e67 202a 6e6f calling *no\n-00004300: 7465 2055 6e73 6574 5f42 7566 6665 7220 te Unset_Buffer \n-00004310: 2870 726f 6365 6475 7265 293a 3a2c 2069 (procedure)::, i\n-00004320: 662c 2066 6f72 2073 6f6d 6520 7265 6173 f, for some reas\n-00004330: 6f6e 2c20 7468 650a 2020 2020 2072 656d on, the. rem\n-00004340: 6f74 6520 686f 7374 206d 6179 2068 6176 ote host may hav\n-00004350: 6520 7365 6e74 2073 6f6d 652e 0a0a 4558 e sent some...EX\n-00004360: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n-00004370: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n-00004380: 6564 e280 9950 6565 7220 6861 7320 636c ed...Peer has cl\n-00004390: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n-000043a0: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n-000043b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000043c0: 2020 2073 656e 6469 6e67 2061 6e79 2064 sending any d\n-000043d0: 6174 610a 0a1f 0a46 696c 653a 2061 6461 ata....File: ada\n-000043e0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-000043f0: 6f64 653a 2047 6574 5f43 6861 7220 2866 ode: Get_Char (f\n-00004400: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n-00004410: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-00004420: 696f 6e29 2c20 2050 7265 763a 2047 6574 ion), Prev: Get\n-00004430: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-00004440: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00004450: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n-00004460: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n-00004470: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00004480: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00004490: 2020 2047 6574 2061 2063 6861 7261 6374 Get a charact\n-000044a0: 6572 2066 726f 6d20 6120 7265 6d6f 7465 er from a remote\n-000044b0: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-000044c0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-000044d0: 2e47 6574 5f43 6861 723a 2066 756e 6374 .Get_Char: funct\n-000044e0: 696f 6e20 4765 745f 4368 6172 2028 534f ion Get_Char (SO\n-000044f0: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00004500: 2743 6c61 7373 290a 2020 2020 2020 2020 'Class). \n-00004510: 2020 2020 2020 2072 6574 7572 6e20 4368 return Ch\n-00004520: 6172 6163 7465 723b 0a0a 5041 5241 4d45 aracter;..PARAME\n-00004530: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00004540: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00004550: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-00004560: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-00004570: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n-00004580: 5641 4c55 450a 2020 2020 204f 6e65 2063 VALUE. One c\n-00004590: 6861 7261 6374 6572 2073 656e 7420 6279 haracter sent by\n-000045a0: 2074 6865 2072 656d 6f74 6520 686f 7374 the remote host\n-000045b0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-000045c0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n-000045d0: 2072 6563 6569 7665 7320 6578 6163 746c receives exactl\n-000045e0: 7920 6f6e 6520 6368 6172 6163 7465 7220 y one character \n-000045f0: 6672 6f6d 2074 6865 2072 656d 6f74 6520 from the remote \n-00004600: 686f 7374 2e0a 0a45 5843 4550 5449 4f4e host...EXCEPTION\n-00004610: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n-00004620: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n-00004630: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n-00004640: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n-00004650: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n-00004660: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n-00004670: 696e 6720 7468 6520 6368 6172 6163 7465 ing the characte\n-00004680: 720a 0a53 4545 2041 4c53 4f0a 2020 2020 r..SEE ALSO. \n-00004690: 202a 6e6f 7465 2047 6574 2028 6675 6e63 *note Get (func\n-000046a0: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-000046b0: 6f74 6520 4765 745f 4c69 6e65 2028 6675 ote Get_Line (fu\n-000046c0: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n-000046d0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n-000046e0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n-000046f0: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n-00004700: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n-00004710: 2020 2020 202a 6e6f 7465 2053 6574 5f42 *note Set_B\n-00004720: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n-00004730: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00004740: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00004750: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028 Node: Get_Line (\n-00004760: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-00004770: 3a20 4765 745f 4c69 6e65 2028 7072 6f63 : Get_Line (proc\n-00004780: 6564 7572 6529 2c20 2050 7265 763a 2047 edure), Prev: G\n-00004790: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n-000047a0: 6e29 2c20 2055 703a 2041 6363 6570 745f n), Up: Accept_\n-000047b0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-000047c0: 6529 0a0a 4765 745f 4c69 6e65 2028 6675 e)..Get_Line (fu\n-000047d0: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-000047e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-000047f0: 504f 5345 0a20 2020 2020 4765 7420 6120 POSE. Get a \n-00004800: 7768 6f6c 6520 6c69 6e65 2066 726f 6d20 whole line from \n-00004810: 6120 7265 6d6f 7465 2068 6f73 740a 5052 a remote host.PR\n-00004820: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-00004830: 2053 6f63 6b65 7473 2e47 6574 5f4c 696e Sockets.Get_Lin\n-00004840: 653a 2066 756e 6374 696f 6e20 4765 745f e: function Get_\n-00004850: 4c69 6e65 2028 534f 434b 4554 203a 2053 Line (SOCKET : S\n-00004860: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n-00004870: 2020 2020 2020 2020 2020 2020 2020 204d M\n-00004880: 4158 5f4c 454e 4754 4820 3a20 506f 7369 AX_LENGTH : Posi\n-00004890: 7469 7665 203a 3d20 3230 3438 290a 2020 tive := 2048). \n-000048a0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-000048b0: 7572 6e20 5374 7269 6e67 3b0a 0a50 4152 urn String;..PAR\n-000048c0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-000048d0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-000048e0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-000048f0: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-00004900: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n-00004910: 4d41 585f 4c45 4e47 5448 2069 6e20 2020 MAX_LENGTH in \n-00004920: 2020 2020 2020 4d61 7869 6d75 6d20 7265 Maximum re\n-00004930: 7475 726e 6564 206c 696e 6520 6c65 6e67 turned line leng\n-00004940: 7468 0a0a 5245 5455 524e 2056 414c 5545 th..RETURN VALUE\n-00004950: 0a20 2020 2020 4120 6c69 6e65 2077 6974 . A line wit\n-00004960: 686f 7574 2074 6865 2043 5220 616e 6420 hout the CR and \n-00004970: 4c46 2073 6570 6172 6174 6f72 730a 0a44 LF separators..D\n-00004980: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00004990: 5468 6973 2066 756e 6374 696f 6e20 7265 This function re\n-000049a0: 6365 6976 6573 206f 6e65 206c 696e 6520 ceives one line \n-000049b0: 6672 6f6d 2074 6865 2072 656d 6f74 6520 from the remote \n-000049c0: 686f 7374 2e20 2041 206c 696e 650a 2020 host. A line. \n-000049d0: 2020 2063 6f6e 7369 7374 7320 696e 746f consists into\n-000049e0: 207a 6572 6f20 6f72 206d 6f72 6520 6368 zero or more ch\n-000049f0: 6172 6163 7465 7273 2066 6f6c 6c6f 7765 aracters followe\n-00004a00: 6420 6279 2061 6e20 6f70 7469 6f6e 616c d by an optional\n-00004a10: 2043 520a 2020 2020 2061 6e64 2062 7920 CR. and by \n-00004a20: 6120 4c46 2e20 5468 6f73 6520 7465 726d a LF. Those term\n-00004a30: 696e 6174 6f72 7320 6172 6520 7374 7269 inators are stri\n-00004a40: 7070 6564 2062 6566 6f72 6520 7468 6520 pped before the \n-00004a50: 6c69 6e65 2069 730a 2020 2020 2072 6574 line is. ret\n-00004a60: 7572 6e65 642e 0a0a 2020 2020 2054 6869 urned... Thi\n-00004a70: 7320 6675 6e63 7469 6f6e 2062 6c6f 636b s function block\n-00004a80: 7320 756e 7469 6c20 6f6e 6520 6675 6c6c s until one full\n-00004a90: 206c 696e 6520 6861 7320 6265 656e 2072 line has been r\n-00004aa0: 6563 6569 7665 642e 2020 5468 650a 2020 eceived. The. \n-00004ab0: 2020 206c 696e 6520 6c65 6e67 7468 2069 line length i\n-00004ac0: 7320 6c69 6d69 7465 6420 7769 7468 2074 s limited with t\n-00004ad0: 6865 2076 616c 7565 206f 6620 7468 6520 he value of the \n-00004ae0: 4d61 785f 4c65 6e67 7468 2061 7267 756d Max_Length argum\n-00004af0: 656e 742c 0a20 2020 2020 746f 2061 766f ent,. to avo\n-00004b00: 6964 2065 7868 6175 7374 696f 6e20 6f66 id exhaustion of\n-00004b10: 2074 6865 2073 6563 6f6e 6461 7279 2073 the secondary s\n-00004b20: 7461 636b 2e0a 0a45 5843 4550 5449 4f4e tack...EXCEPTION\n-00004b30: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n-00004b40: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n-00004b50: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n-00004b60: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n-00004b70: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n-00004b80: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n-00004b90: 696e 6720 6120 7768 6f6c 6520 6c69 6e65 ing a whole line\n-00004ba0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-00004bb0: 2a6e 6f74 6520 4765 7420 2866 756e 6374 *note Get (funct\n-00004bc0: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n-00004bd0: 7465 2047 6574 5f43 6861 7220 2866 756e te Get_Char (fun\n-00004be0: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n-00004bf0: 6e6f 7465 2047 6574 5f4c 696e 6520 2870 note Get_Line (p\n-00004c00: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n-00004c10: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n-00004c20: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n-00004c30: 2020 2020 2a6e 6f74 6520 5365 745f 4275 *note Set_Bu\n-00004c40: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n-00004c50: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00004c60: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00004c70: 6f64 653a 2047 6574 5f4c 696e 6520 2870 ode: Get_Line (p\n-00004c80: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n-00004c90: 3a20 4765 745f 5265 6365 6976 655f 5175 : Get_Receive_Qu\n-00004ca0: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-00004cb0: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_\n-00004cc0: 4c69 6e65 2028 6675 6e63 7469 6f6e 292c Line (function),\n-00004cd0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-00004ce0: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00004cf0: 0a47 6574 5f4c 696e 6520 2870 726f 6365 .Get_Line (proce\n-00004d00: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00004d10: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00004d20: 4f53 450a 2020 2020 2047 6574 2061 2077 OSE. Get a w\n-00004d30: 686f 6c65 206c 696e 6520 6672 6f6d 2061 hole line from a\n-00004d40: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n-00004d50: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00004d60: 536f 636b 6574 732e 4765 745f 4c69 6e65 Sockets.Get_Line\n-00004d70: 3a20 7072 6f63 6564 7572 6520 4765 745f : procedure Get_\n-00004d80: 4c69 6e65 2028 534f 434b 4554 203a 2053 Line (SOCKET : S\n-00004d90: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n-00004da0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00004db0: 5452 203a 2069 6e20 6f75 7420 5374 7269 TR : in out Stri\n-00004dc0: 6e67 3b20 4c41 5354 203a 206f 7574 204e ng; LAST : out N\n-00004dd0: 6174 7572 616c 293b 0a0a 5041 5241 4d45 atural);..PARAME\n-00004de0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00004df0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00004e00: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-00004e10: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-00004e20: 206f 626a 6563 740a 2020 2020 2053 5452 object. STR\n-00004e30: 2020 2020 2020 2020 696e 206f 7574 2020 in out \n-00004e40: 2020 2053 7472 696e 6720 746f 2066 696c String to fil\n-00004e50: 6c0a 2020 2020 204c 4153 5420 2020 2020 l. LAST \n-00004e60: 2020 6f75 7420 2020 2020 2020 204c 6173 out Las\n-00004e70: 7420 696e 6465 7820 7573 6564 2069 6e20 t index used in \n-00004e80: 7468 6520 7374 7269 6e67 0a0a 4445 5343 the string..DESC\n-00004e90: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00004ea0: 7320 7072 6f63 6564 7572 6520 7265 6365 s procedure rece\n-00004eb0: 6976 6573 206f 6e65 206c 696e 6520 6672 ives one line fr\n-00004ec0: 6f6d 2074 6865 2072 656d 6f74 6520 686f om the remote ho\n-00004ed0: 7374 2e20 2041 206c 696e 650a 2020 2020 st. A line. \n-00004ee0: 2063 6f6e 7369 7374 7320 696e 746f 207a consists into z\n-00004ef0: 6572 6f20 6f72 206d 6f72 6520 6368 6172 ero or more char\n-00004f00: 6163 7465 7273 2066 6f6c 6c6f 7765 6420 acters followed \n-00004f10: 6279 2061 6e20 6f70 7469 6f6e 616c 2043 by an optional C\n-00004f20: 520a 2020 2020 2061 6e64 2062 7920 6120 R. and by a \n-00004f30: 4c46 2e20 5468 6f73 6520 7465 726d 696e LF. Those termin\n-00004f40: 6174 6f72 7320 6172 6520 7374 7269 7070 ators are stripp\n-00004f50: 6564 2062 6566 6f72 6520 7468 6520 6c69 ed before the li\n-00004f60: 6e65 2069 730a 2020 2020 2072 6574 7572 ne is. retur\n-00004f70: 6e65 642e 0a0a 2020 2020 2054 6869 7320 ned... This \n-00004f80: 7072 6f63 6564 7572 6520 626c 6f63 6b73 procedure blocks\n-00004f90: 2075 6e74 696c 206f 6e65 2066 756c 6c20 until one full \n-00004fa0: 6c69 6e65 2068 6173 2062 6565 6e20 7265 line has been re\n-00004fb0: 6365 6976 6564 2e0a 0a45 5843 4550 5449 ceived...EXCEPTI\n-00004fc0: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e ONS. ...Conn\n-00004fd0: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099 ection_Closed...\n-00004fe0: 5065 6572 2068 6173 2063 6c6f 7365 6420 Peer has closed \n-00004ff0: 7468 6520 636f 6e6e 6563 7469 6f6e 2062 the connection b\n-00005000: 6566 6f72 650a 2020 2020 2020 2020 2020 efore. \n-00005010: 2020 2020 2020 2020 2020 2020 2020 7365 se\n-00005020: 6e64 696e 6720 6120 7768 6f6c 6520 6c69 nding a whole li\n-00005030: 6e65 0a0a 5345 4520 414c 534f 0a20 2020 ne..SEE ALSO. \n-00005040: 2020 2a6e 6f74 6520 4765 7420 2866 756e *note Get (fun\n-00005050: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n-00005060: 6e6f 7465 2047 6574 5f43 6861 7220 2866 note Get_Char (f\n-00005070: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n-00005080: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n-00005090: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-000050a0: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n-000050b0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n-000050c0: 2020 2020 202a 6e6f 7465 2053 6574 5f42 *note Set_B\n-000050d0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n-000050e0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-000050f0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00005100: 4e6f 6465 3a20 4765 745f 5265 6365 6976 Node: Get_Receiv\n-00005110: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n-00005120: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-00005130: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n-00005140: 697a 6520 2866 756e 6374 696f 6e29 2c20 ize (function), \n-00005150: 2050 7265 763a 2047 6574 5f4c 696e 6520 Prev: Get_Line \n-00005160: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00005170: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00005180: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n-00005190: 5f52 6563 6569 7665 5f51 7565 7565 5f53 _Receive_Queue_S\n-000051a0: 697a 6520 2866 756e 6374 696f 6e29 0a2d ize (function).-\n-000051b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000051c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000051d0: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n-000051e0: 6574 7572 6e20 7468 6520 7369 7a65 206f eturn the size o\n-000051f0: 6620 7468 6520 756e 7265 6164 2064 6174 f the unread dat\n-00005200: 6120 696e 2074 6865 2069 6e70 7574 2071 a in the input q\n-00005210: 7565 7565 0a50 524f 544f 5459 5045 0a20 ueue.PROTOTYPE. \n-00005220: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00005230: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n-00005240: 655f 5369 7a65 3a20 6675 6e63 7469 6f6e e_Size: function\n-00005250: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n-00005260: 7565 5f53 697a 650a 2020 2020 2020 2020 ue_Size. \n-00005270: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-00005280: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-00005290: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-000052a0: 2072 6574 7572 6e20 496e 7465 6765 723b return Integer;\n-000052b0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-000052c0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-000052d0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n-000052e0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n-000052f0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-00005300: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-00005310: 2020 2054 6865 206e 6f6e 2d6e 6567 6174 The non-negat\n-00005320: 6976 6520 7369 7a65 2069 6e20 6279 7465 ive size in byte\n-00005330: 7320 6f66 2074 6865 2069 6e70 7574 2071 s of the input q\n-00005340: 7565 7565 0a0a 4445 5343 5249 5054 494f ueue..DESCRIPTIO\n-00005350: 4e0a 2020 2020 2054 6869 7320 6675 6e63 N. This func\n-00005360: 7469 6f6e 2069 7320 6f6e 6c79 2061 7661 tion is only ava\n-00005370: 696c 6162 6c65 206f 6e20 4c69 6e75 7820 ilable on Linux \n-00005380: 706c 6174 666f 726d 732e 2020 4f6e 206f platforms. On o\n-00005390: 7468 6572 0a20 2020 2020 6f70 6572 6174 ther. operat\n-000053a0: 696e 6720 7379 7374 656d 732c 2069 7420 ing systems, it \n-000053b0: 7769 6c6c 2072 6574 7572 6e20 2d32 2074 will return -2 t\n-000053c0: 6f20 696e 6469 6361 7465 2074 6861 7420 o indicate that \n-000053d0: 7468 6520 6e65 6365 7373 6172 790a 2020 the necessary. \n-000053e0: 2020 206d 6563 6861 6e69 736d 7320 746f mechanisms to\n-000053f0: 2072 6574 7269 6576 6520 7468 6520 696e retrieve the in\n-00005400: 666f 726d 6174 696f 6e20 6172 6520 6e6f formation are no\n-00005410: 7420 6176 6169 6c61 626c 652e 0a0a 5345 t available...SE\n-00005420: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00005430: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n-00005440: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n-00005450: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00005460: 6f2c 2020 4e6f 6465 3a20 4765 745f 5365 o, Node: Get_Se\n-00005470: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-00005480: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n-00005490: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-000054a0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n-000054b0: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n-000054c0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-000054d0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-000054e0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000054f0: 290a 0a47 6574 5f53 656e 645f 5175 6575 )..Get_Send_Queu\n-00005500: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-00005510: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-00005520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005530: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n-00005540: 6574 7572 6e20 7468 6520 7369 7a65 206f eturn the size o\n-00005550: 6620 7468 6520 756e 7365 6e74 2064 6174 f the unsent dat\n-00005560: 6120 696e 2074 6865 206f 7574 7075 7420 a in the output \n-00005570: 7175 6575 650a 5052 4f54 4f54 5950 450a queue.PROTOTYPE.\n-00005580: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00005590: 2e47 6574 5f53 656e 645f 5175 6575 655f .Get_Send_Queue_\n-000055a0: 5369 7a65 3a20 6675 6e63 7469 6f6e 2047 Size: function G\n-000055b0: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n-000055c0: 7a65 0a20 2020 2020 2020 2020 2020 2020 ze. \n-000055d0: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n-000055e0: 6574 5f46 4427 436c 6173 7329 0a20 2020 et_FD'Class). \n-000055f0: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n-00005600: 726e 2049 6e74 6567 6572 3b0a 0a50 4152 rn Integer;..PAR\n-00005610: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00005620: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00005630: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00005640: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-00005650: 6b65 7420 6f62 6a65 6374 0a0a 5245 5455 ket object..RETU\n-00005660: 524e 2056 414c 5545 0a20 2020 2020 5468 RN VALUE. Th\n-00005670: 6520 6e6f 6e2d 6e65 6761 7469 7665 2073 e non-negative s\n-00005680: 697a 6520 696e 2062 7974 6573 206f 6620 ize in bytes of \n-00005690: 7468 6520 6f75 7470 7574 2071 7565 7565 the output queue\n-000056a0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-000056b0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n-000056c0: 2069 7320 6f6e 6c79 2061 7661 696c 6162 is only availab\n-000056d0: 6c65 206f 6e20 4c69 6e75 7820 706c 6174 le on Linux plat\n-000056e0: 666f 726d 732e 2020 4f6e 206f 7468 6572 forms. On other\n-000056f0: 0a20 2020 2020 6f70 6572 6174 696e 6720 . operating \n-00005700: 7379 7374 656d 732c 2069 7420 7769 6c6c systems, it will\n-00005710: 2072 6574 7572 6e20 2d32 2074 6f20 696e return -2 to in\n-00005720: 6469 6361 7465 2074 6861 7420 7468 6520 dicate that the \n-00005730: 6e65 6365 7373 6172 790a 2020 2020 206d necessary. m\n-00005740: 6563 6861 6e69 736d 7320 746f 2072 6574 echanisms to ret\n-00005750: 7269 6576 6520 7468 6520 696e 666f 726d rieve the inform\n-00005760: 6174 696f 6e20 6172 6520 6e6f 7420 6176 ation are not av\n-00005770: 6169 6c61 626c 652e 0a0a 5345 4520 414c ailable...SEE AL\n-00005780: 534f 0a20 2020 2020 2a6e 6f74 6520 5365 SO. *note Se\n-00005790: 6e64 2028 7072 6f63 6564 7572 6529 3a3a nd (procedure)::\n-000057a0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-000057b0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-000057c0: 653a 2047 6574 736f 636b 6f70 7420 2870 e: Getsockopt (p\n-000057d0: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n-000057e0: 3a20 4c69 7374 656e 2028 7072 6f63 6564 : Listen (proced\n-000057f0: 7572 6529 2c20 2050 7265 763a 2047 6574 ure), Prev: Get\n-00005800: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size\n-00005810: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-00005820: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00005830: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n-00005840: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00005850: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00005860: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00005870: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n-00005880: 6520 6120 736f 636b 6574 206f 7074 696f e a socket optio\n-00005890: 6e0a 5052 4f54 4f54 5950 450a 2020 2020 n.PROTOTYPE. \n-000058a0: 2020 2d2d 2053 6f63 6b65 7473 2e47 6574 -- Sockets.Get\n-000058b0: 736f 636b 6f70 743a 2070 726f 6365 6475 sockopt: procedu\n-000058c0: 7265 2047 6574 736f 636b 6f70 7420 2853 re Getsockopt (S\n-000058d0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-000058e0: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n-000058f0: 2020 4c45 5645 4c20 3a20 536f 636b 6574 LEVEL : Socket\n-00005900: 5f4c 6576 656c 203a 3d20 534f 4c5f 534f _Level := SOL_SO\n-00005910: 434b 4554 3b0a 2020 2020 2020 2020 2020 CKET;. \n-00005920: 2020 2020 204f 5054 4e41 4d45 203a 2053 OPTNAME : S\n-00005930: 6f63 6b65 745f 4f70 7469 6f6e 3b20 4f50 ocket_Option; OP\n-00005940: 5456 414c 203a 206f 7574 2049 6e74 6567 TVAL : out Integ\n-00005950: 6572 293b 0a0a 5041 5241 4d45 5445 5253 er);..PARAMETERS\n-00005960: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00005970: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00005980: 6961 6c69 7a65 6420 616e 6420 626f 756e ialized and boun\n-00005990: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-000059a0: 2020 2020 204c 4556 454c 2020 2020 2020 LEVEL \n-000059b0: 696e 2020 2020 2020 2020 2050 726f 746f in Proto\n-000059c0: 636f 6c20 6c65 7665 6c0a 2020 2020 204f col level. O\n-000059d0: 5054 4e41 4d45 2020 2020 696e 2020 2020 PTNAME in \n-000059e0: 2020 2020 204f 7074 696f 6e20 6e61 6d65 Option name\n-000059f0: 0a20 2020 2020 4f50 5456 414c 2020 2020 . OPTVAL \n-00005a00: 206f 7574 2020 2020 2020 2020 4f70 7469 out Opti\n-00005a10: 6f6e 2076 616c 7565 0a0a 4445 5343 5249 on value..DESCRI\n-00005a20: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00005a30: 7072 6f63 6564 7572 6520 7265 7472 6965 procedure retrie\n-00005a40: 7665 7320 6f70 7469 6f6e 7320 6170 706c ves options appl\n-00005a50: 6963 6162 6c65 2074 6f20 6120 736f 636b icable to a sock\n-00005a60: 6574 2e20 2050 6c65 6173 650a 2020 2020 et. Please. \n-00005a70: 2073 6565 2079 6f75 7220 6f70 6572 6174 see your operat\n-00005a80: 696e 6720 7379 7374 656d 206d 616e 7561 ing system manua\n-00005a90: 6c20 666f 7220 7573 6162 6c65 206c 6576 l for usable lev\n-00005aa0: 656c 7320 616e 6420 6f70 7469 6f6e 732e els and options.\n-00005ab0: 0a0a 2020 2020 2054 776f 206c 6576 656c .. Two level\n-00005ac0: 7320 6172 6520 6465 6669 6e65 643a 20e2 s are defined: .\n-00005ad0: 8098 534f 4c5f 534f 434b 4554 e280 9920 ..SOL_SOCKET... \n-00005ae0: 2874 6865 2064 6566 6175 6c74 2920 616e (the default) an\n-00005af0: 640a 2020 2020 20e2 8098 4950 5052 4f54 d. ...IPPROT\n-00005b00: 4f5f 4950 e280 992e 2020 5468 6520 6f70 O_IP.... The op\n-00005b10: 7469 6f6e 7320 6172 6520 e280 9853 4f5f tions are ...SO_\n-00005b20: 5245 5553 4541 4444 52e2 8099 2c20 e280 REUSEADDR..., ..\n-00005b30: 9853 4f5f 5245 5553 4550 4f52 54e2 8099 .SO_REUSEPORT...\n-00005b40: 2c0a 2020 2020 20e2 8098 4950 5f4d 554c ,. ...IP_MUL\n-00005b50: 5449 4341 5354 5f54 544c e280 992c 20e2 TICAST_TTL..., .\n-00005b60: 8098 4950 5f41 4444 5f4d 454d 4245 5253 ..IP_ADD_MEMBERS\n-00005b70: 4849 50e2 8099 2c20 e280 9849 505f 4452 HIP..., ...IP_DR\n-00005b80: 4f50 5f4d 454d 4245 5253 4849 50e2 8099 OP_MEMBERSHIP...\n-00005b90: 2c0a 2020 2020 20e2 8098 4950 5f4d 554c ,. ...IP_MUL\n-00005ba0: 5449 4341 5354 5f4c 4f4f 50e2 8099 2c20 TICAST_LOOP..., \n-00005bb0: e280 9853 4f5f 534e 4442 5546 e280 9920 ...SO_SNDBUF... \n-00005bc0: 616e 6420 e280 9849 505f 5243 5642 5546 and ...IP_RCVBUF\n-00005bd0: e280 992e 0a0a 2020 2020 204e 6f74 6520 ...... Note \n-00005be0: 7468 6174 2075 6e6c 696b 6520 7468 6569 that unlike thei\n-00005bf0: 7220 4320 6c61 6e67 7561 6765 2063 6f75 r C language cou\n-00005c00: 6e74 6572 7061 7274 2c20 e280 9847 6574 nterpart, ...Get\n-00005c10: 736f 636b 6f70 74e2 8099 2061 6e64 0a20 sockopt... and. \n-00005c20: 2020 2020 e280 9853 6574 736f 636b 6f70 ...Setsockop\n-00005c30: 74e2 8099 2064 6f20 6e6f 7420 7265 7175 t... do not requ\n-00005c40: 6972 6520 616e 2065 7874 7261 2070 6172 ire an extra par\n-00005c50: 616d 6574 6572 2072 6570 7265 7365 6e74 ameter represent\n-00005c60: 696e 6720 7468 650a 2020 2020 206c 656e ing the. len\n-00005c70: 6774 6820 696e 2062 7974 6573 206f 6620 gth in bytes of \n-00005c80: 7468 6520 6f70 7469 6f6e 2076 616c 7565 the option value\n-00005c90: 2e20 2041 6461 536f 636b 6574 7320 6b6e . AdaSockets kn\n-00005ca0: 6f77 7320 7468 6520 7269 6768 740a 2020 ows the right. \n-00005cb0: 2020 2073 697a 6520 666f 7220 6576 6572 size for ever\n-00005cc0: 7920 6f70 7469 6f6e 2e0a 0a53 4545 2041 y option...SEE A\n-00005cd0: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n-00005ce0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-00005cf0: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n-00005d00: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00005d10: 6f2c 2020 4e6f 6465 3a20 4c69 7374 656e o, Node: Listen\n-00005d20: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n-00005d30: 6578 743a 204e 6577 5f4c 696e 6520 2870 ext: New_Line (p\n-00005d40: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-00005d50: 3a20 4765 7473 6f63 6b6f 7074 2028 7072 : Getsockopt (pr\n-00005d60: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n-00005d70: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00005d80: 6f63 6564 7572 6529 0a0a 4c69 7374 656e ocedure)..Listen\n-00005d90: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-00005da0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-00005db0: 0a50 5552 504f 5345 0a20 2020 2020 4573 .PURPOSE. Es\n-00005dc0: 7461 626c 6973 6820 6120 6c69 7374 656e tablish a listen\n-00005dd0: 2071 7565 7565 0a50 524f 544f 5459 5045 queue.PROTOTYPE\n-00005de0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00005df0: 732e 4c69 7374 656e 3a20 7072 6f63 6564 s.Listen: proced\n-00005e00: 7572 6520 4c69 7374 656e 2028 534f 434b ure Listen (SOCK\n-00005e10: 4554 203a 2053 6f63 6b65 745f 4644 3b0a ET : Socket_FD;.\n-00005e20: 2020 2020 2020 2020 2020 2020 2020 2051 Q\n-00005e30: 5545 5545 5f53 495a 4520 3a20 506f 7369 UEUE_SIZE : Posi\n-00005e40: 7469 7665 203a 3d20 3529 3b0a 0a50 4152 tive := 5);..PAR\n-00005e50: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00005e60: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00005e70: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00005e80: 6e64 2062 6f75 6e64 2073 6f63 6b65 7420 nd bound socket \n-00005e90: 6f62 6a65 6374 0a20 2020 2020 5155 4555 object. QUEU\n-00005ea0: 455f 5349 5a45 2069 6e20 2020 2020 2020 E_SIZE in \n-00005eb0: 2020 5265 7175 6573 7465 6420 736c 6f74 Requested slot\n-00005ec0: 7320 696e 2074 6865 206c 6973 7465 6e20 s in the listen \n-00005ed0: 7175 6575 650a 0a44 4553 4352 4950 5449 queue..DESCRIPTI\n-00005ee0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00005ef0: 6365 6475 7265 2065 7374 6162 6c69 7368 cedure establish\n-00005f00: 6573 2061 206c 6973 7465 6e20 7175 6575 es a listen queu\n-00005f10: 6520 6166 7465 7220 6120 5443 5020 736f e after a TCP so\n-00005f20: 636b 6574 2061 730a 2020 2020 2062 6565 cket as. bee\n-00005f30: 6e20 696e 6974 6961 6c69 7a65 6420 616e n initialized an\n-00005f40: 6420 626f 756e 642e 2020 4561 6368 2073 d bound. Each s\n-00005f50: 6c6f 7420 696e 2074 6865 2071 7565 7565 lot in the queue\n-00005f60: 2063 616e 2068 6f6c 6420 6f6e 650a 2020 can hold one. \n-00005f70: 2020 2069 6e63 6f6d 696e 6720 636f 6e6e incoming conn\n-00005f80: 6563 7469 6f6e 2074 6861 7420 6861 7320 ection that has \n-00005f90: 6e6f 7420 6265 656e 2061 6363 6570 7465 not been accepte\n-00005fa0: 6420 7965 742e 2020 4e6f 7465 2074 6861 d yet. Note tha\n-00005fb0: 7420 6d6f 7374 0a20 2020 2020 6f70 6572 t most. oper\n-00005fc0: 6174 696e 6720 7379 7374 656d 7320 6967 ating systems ig\n-00005fd0: 6e6f 7265 2071 7565 7565 2073 697a 6573 nore queue sizes\n-00005fe0: 206c 6172 6765 7220 7468 616e 2066 6976 larger than fiv\n-00005ff0: 652e 0a0a 5345 4520 414c 534f 0a20 2020 e...SEE ALSO. \n-00006000: 2020 2a6e 6f74 6520 4163 6365 7074 5f53 *note Accept_S\n-00006010: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00006020: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00006030: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-00006040: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n-00006050: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00006060: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00006070: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00006080: 4e6f 6465 3a20 4e65 775f 4c69 6e65 2028 Node: New_Line (\n-00006090: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-000060a0: 743a 2050 7574 2028 7072 6f63 6564 7572 t: Put (procedur\n-000060b0: 6529 2c20 2050 7265 763a 204c 6973 7465 e), Prev: Liste\n-000060c0: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n-000060d0: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n-000060e0: 7420 2870 726f 6365 6475 7265 290a 0a4e t (procedure)..N\n-000060f0: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n-00006100: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00006110: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00006120: 450a 2020 2020 2053 656e 6420 6120 4352 E. Send a CR\n-00006130: 2f4c 4620 746f 2061 2072 656d 6f74 6520 /LF to a remote \n-00006140: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n-00006150: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00006160: 4e65 775f 4c69 6e65 3a20 7072 6f63 6564 New_Line: proced\n-00006170: 7572 6520 4e65 775f 4c69 6e65 2028 534f ure New_Line (SO\n-00006180: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00006190: 2743 6c61 7373 3b0a 2020 2020 2020 2020 'Class;. \n-000061a0: 2020 2020 2020 2043 4f55 4e54 203a 204e COUNT : N\n-000061b0: 6174 7572 616c 203a 3d20 3129 3b0a 0a50 atural := 1);..P\n-000061c0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-000061d0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-000061e0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n-000061f0: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n-00006200: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00006210: 2020 434f 554e 5420 2020 2020 2069 6e20 COUNT in \n-00006220: 2020 2020 2020 2020 4e75 6d62 6572 206f Number o\n-00006230: 6620 4352 2f4c 4620 7365 7175 656e 6365 f CR/LF sequence\n-00006240: 7320 746f 2073 656e 640a 0a44 4553 4352 s to send..DESCR\n-00006250: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00006260: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n-00006270: 206f 6e65 206f 7220 6d6f 7265 2043 522f one or more CR/\n-00006280: 4c46 2063 6f6d 6269 6e61 7469 6f6e 7320 LF combinations \n-00006290: 746f 2074 6865 2070 6565 722e 0a0a 4558 to the peer...EX\n-000062a0: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n-000062b0: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n-000062c0: 6564 e280 9950 6565 7220 6861 7320 7072 ed...Peer has pr\n-000062d0: 656d 6174 7572 656c 7920 636c 6f73 6564 ematurely closed\n-000062e0: 2074 6865 2063 6f6e 6e65 6374 696f 6e0a the connection.\n-000062f0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00006300: 6e6f 7465 2050 7574 2028 7072 6f63 6564 note Put (proced\n-00006310: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00006320: 7465 2050 7574 5f4c 696e 6520 2870 726f te Put_Line (pro\n-00006330: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-00006340: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-00006350: 6e66 6f2c 2020 4e6f 6465 3a20 5075 7420 nfo, Node: Put \n-00006360: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n-00006370: 7874 3a20 5075 745f 4c69 6e65 2028 7072 xt: Put_Line (pr\n-00006380: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n-00006390: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n-000063a0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-000063b0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-000063c0: 6475 7265 290a 0a50 7574 2028 7072 6f63 dure)..Put (proc\n-000063d0: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-000063e0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-000063f0: 2020 2020 2053 656e 6420 6120 7374 7269 Send a stri\n-00006400: 6e67 2074 6f20 6120 7265 6d6f 7465 2068 ng to a remote h\n-00006410: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-00006420: 2020 2020 2d2d 2053 6f63 6b65 7473 2e50 -- Sockets.P\n-00006430: 7574 3a20 7072 6f63 6564 7572 6520 5075 ut: procedure Pu\n-00006440: 7420 2853 4f43 4b45 5420 3a20 536f 636b t (SOCKET : Sock\n-00006450: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n-00006460: 2020 2020 2020 2020 2020 2020 5354 5220 STR \n-00006470: 3a20 5374 7269 6e67 293b 0a0a 5041 5241 : String);..PARA\n-00006480: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n-00006490: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n-000064a0: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n-000064b0: 6420 636f 6e6e 6563 7465 6420 736f 636b d connected sock\n-000064c0: 6574 206f 626a 6563 740a 2020 2020 2053 et object. S\n-000064d0: 5452 2020 2020 2020 2020 696e 2020 2020 TR in \n-000064e0: 2020 2020 2053 7472 696e 6720 746f 2073 String to s\n-000064f0: 656e 640a 0a44 4553 4352 4950 5449 4f4e end..DESCRIPTION\n-00006500: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n-00006510: 6475 7265 2073 656e 6473 2074 6865 2063 dure sends the c\n-00006520: 6f6e 7465 6e74 206f 6620 5354 5220 6f76 ontent of STR ov\n-00006530: 6572 2061 6e20 6f75 7467 6f69 6e67 206f er an outgoing o\n-00006540: 720a 2020 2020 2069 6e63 6f6d 696e 6720 r. incoming \n-00006550: 736f 636b 6574 2e0a 0a45 5843 4550 5449 socket...EXCEPTI\n-00006560: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e ONS. ...Conn\n-00006570: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099 ection_Closed...\n-00006580: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n-00006590: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n-000065a0: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n-000065b0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-000065c0: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n-000065d0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-000065e0: 7465 2050 7574 5f4c 696e 6520 2870 726f te Put_Line (pro\n-000065f0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00006600: 2a6e 6f74 6520 5365 6e64 2028 7072 6f63 *note Send (proc\n-00006610: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-00006620: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-00006630: 666f 2c20 204e 6f64 653a 2050 7574 5f4c fo, Node: Put_L\n-00006640: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n-00006650: 2020 4e65 7874 3a20 5265 6365 6976 6520 Next: Receive \n-00006660: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-00006670: 763a 2050 7574 2028 7072 6f63 6564 7572 v: Put (procedur\n-00006680: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-00006690: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-000066a0: 6529 0a0a 5075 745f 4c69 6e65 2028 7072 e)..Put_Line (pr\n-000066b0: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-000066c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-000066d0: 5552 504f 5345 0a20 2020 2020 5365 6e64 URPOSE. Send\n-000066e0: 2061 2043 522f 4c46 2074 6572 6d69 6e61 a CR/LF termina\n-000066f0: 7465 6420 7374 7269 6e67 2074 6f20 6120 ted string to a \n-00006700: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n-00006710: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-00006720: 6f63 6b65 7473 2e50 7574 5f4c 696e 653a ockets.Put_Line:\n-00006730: 2070 726f 6365 6475 7265 2050 7574 5f4c procedure Put_L\n-00006740: 696e 6520 2853 4f43 4b45 5420 3a20 536f ine (SOCKET : So\n-00006750: 636b 6574 5f46 4427 436c 6173 733b 0a20 cket_FD'Class;. \n-00006760: 2020 2020 2020 2020 2020 2020 2020 5354 ST\n-00006770: 5220 3a20 5374 7269 6e67 293b 0a0a 5041 R : String);..PA\n-00006780: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n-00006790: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n-000067a0: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n-000067b0: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n-000067c0: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n-000067d0: 2053 5452 2020 2020 2020 2020 696e 2020 STR in \n-000067e0: 2020 2020 2020 2053 7472 696e 6720 746f String to\n-000067f0: 2073 656e 640a 0a44 4553 4352 4950 5449 send..DESCRIPTI\n-00006800: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00006810: 6365 6475 7265 2073 656e 6473 2074 6865 cedure sends the\n-00006820: 2063 6f6e 7465 6e74 206f 6620 5354 5220 content of STR \n-00006830: 706c 7573 2061 2043 522f 4c46 2063 6f6d plus a CR/LF com\n-00006840: 6269 6e61 7469 6f6e 0a20 2020 2020 6f76 bination. ov\n-00006850: 6572 2061 6e20 6f75 7467 6f69 6e67 206f er an outgoing o\n-00006860: 7220 696e 636f 6d69 6e67 2073 6f63 6b65 r incoming socke\n-00006870: 742e 0a0a 4558 4345 5054 494f 4e53 0a20 t...EXCEPTIONS. \n-00006880: 2020 2020 e280 9843 6f6e 6e65 6374 696f ...Connectio\n-00006890: 6e5f 436c 6f73 6564 e280 9950 6565 7220 n_Closed...Peer \n-000068a0: 6861 7320 7072 656d 6174 7572 656c 7920 has prematurely \n-000068b0: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n-000068c0: 6374 696f 6e0a 0a53 4545 2041 4c53 4f0a ction..SEE ALSO.\n-000068d0: 2020 2020 202a 6e6f 7465 204e 6577 5f4c *note New_L\n-000068e0: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n-000068f0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5075 :,. *note Pu\n-00006900: 7420 2870 726f 6365 6475 7265 293a 3a2c t (procedure)::,\n-00006910: 0a20 2020 2020 2a6e 6f74 6520 5365 6e64 . *note Send\n-00006920: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-00006930: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-00006940: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-00006950: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00006960: 6f6e 292c 2020 4e65 7874 3a20 5265 6365 on), Next: Rece\n-00006970: 6976 6520 2870 726f 6365 6475 7265 292c ive (procedure),\n-00006980: 2020 5072 6576 3a20 5075 745f 4c69 6e65 Prev: Put_Line\n-00006990: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n-000069a0: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-000069b0: 2028 7072 6f63 6564 7572 6529 0a0a 5265 (procedure)..Re\n-000069c0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-000069d0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-000069e0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-000069f0: 2020 5265 6365 6976 6520 7261 7720 6461 Receive raw da\n-00006a00: 7461 206f 7665 7220 6120 736f 636b 6574 ta over a socket\n-00006a10: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-00006a20: 202d 2d20 536f 636b 6574 732e 5265 6365 -- Sockets.Rece\n-00006a30: 6976 653a 2066 756e 6374 696f 6e20 5265 ive: function Re\n-00006a40: 6365 6976 6520 2853 4f43 4b45 5420 3a20 ceive (SOCKET : \n-00006a50: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n-00006a60: 2020 2020 2020 2020 2020 4d41 5820 3a20 MAX : \n-00006a70: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-00006a80: 616d 5f45 6c65 6d65 6e74 5f43 6f75 6e74 am_Element_Count\n-00006a90: 203a 3d20 3430 3936 290a 2020 2020 2020 := 4096). \n-00006aa0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n-00006ab0: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-00006ac0: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-00006ad0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-00006ae0: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-00006af0: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-00006b00: 697a 6564 2061 6e64 2062 6f75 6e64 206f ized and bound o\n-00006b10: 7220 636f 6e6e 6563 7465 640a 2020 2020 r connected. \n-00006b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006b30: 2020 2020 2020 2073 6f63 6b65 7420 6f62 socket ob\n-00006b40: 6a65 6374 0a20 2020 2020 4d41 5820 2020 ject. MAX \n-00006b50: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00006b60: 4d61 7869 6d75 6d20 6461 7461 206c 656e Maximum data len\n-00006b70: 6774 680a 0a52 4554 5552 4e20 5641 4c55 gth..RETURN VALU\n-00006b80: 450a 2020 2020 2052 6563 6569 7665 6420 E. Received \n-00006b90: 7261 7720 6461 7461 0a0a 4445 5343 5249 raw data..DESCRI\n-00006ba0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00006bb0: 7072 6f63 6564 7572 6520 7265 6365 6976 procedure receiv\n-00006bc0: 6573 2064 6174 6120 6672 6f6d 2061 2062 es data from a b\n-00006bd0: 6f75 6e64 2055 4450 2073 6f63 6b65 7420 ound UDP socket \n-00006be0: 6f72 2061 2063 6f6e 6e65 6374 6564 0a20 or a connected. \n-00006bf0: 2020 2020 5443 5020 736f 636b 6574 2e20 TCP socket. \n-00006c00: 204f 6e6c 7920 6f6e 6520 7379 7374 656d Only one system\n-00006c10: 2063 616c 6c20 7769 6c6c 2062 6520 7065 call will be pe\n-00006c20: 7266 6f72 6d65 643b 2074 6869 7320 6675 rformed; this fu\n-00006c30: 6e63 7469 6f6e 0a20 2020 2020 7769 6c6c nction. will\n-00006c40: 2072 6574 7572 6e20 7768 6174 6576 6572 return whatever\n-00006c50: 2064 6174 6120 6861 7320 6172 7269 7665 data has arrive\n-00006c60: 642e 2020 4e6f 7465 2074 6861 7420 696e d. Note that in\n-00006c70: 2047 4e41 5420 7468 650a 2020 2020 2073 GNAT the. s\n-00006c80: 6563 6f6e 6461 7279 2073 7461 636b 206d econdary stack m\n-00006c90: 6179 2062 6520 7573 6564 2074 6f20 7374 ay be used to st\n-00006ca0: 6f72 6520 7468 6520 6461 7461 2061 6e64 ore the data and\n-00006cb0: 206d 6179 2072 6573 756c 7420 696e 0a20 may result in. \n-00006cc0: 2020 2020 7374 6163 6b20 7374 6f72 6167 stack storag\n-00006cd0: 6520 6578 6861 7573 7469 6f6e 2e0a 0a45 e exhaustion...E\n-00006ce0: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n-00006cf0: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f ..Connection_Clo\n-00006d00: 7365 64e2 8099 5065 6572 2068 6173 2063 sed...Peer has c\n-00006d10: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n-00006d20: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n-00006d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006d40: 2020 2020 7365 6e64 696e 6720 616e 7920 sending any \n-00006d50: 6461 7461 0a0a 5345 4520 414c 534f 0a20 data..SEE ALSO. \n-00006d60: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n-00006d70: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-00006d80: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n-00006d90: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-00006da0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00006db0: 7465 2047 6574 5f4c 696e 6520 2866 756e te Get_Line (fun\n-00006dc0: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n-00006dd0: 6e6f 7465 2047 6574 5f4c 696e 6520 2870 note Get_Line (p\n-00006de0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00006df0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00006e00: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n-00006e10: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n-00006e20: 292c 2020 4e65 7874 3a20 5265 6365 6976 ), Next: Receiv\n-00006e30: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-00006e40: 6529 2c20 2050 7265 763a 2052 6563 6569 e), Prev: Recei\n-00006e50: 7665 2028 6675 6e63 7469 6f6e 292c 2020 ve (function), \n-00006e60: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n-00006e70: 7420 2870 726f 6365 6475 7265 290a 0a52 t (procedure)..R\n-00006e80: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-00006e90: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n-00006ea0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-00006eb0: 2020 2020 2052 6563 6569 7665 2072 6177 Receive raw\n-00006ec0: 2064 6174 6120 6f76 6572 2061 2073 6f63 data over a soc\n-00006ed0: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n-00006ee0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e52 -- Sockets.R\n-00006ef0: 6563 6569 7665 3a20 7072 6f63 6564 7572 eceive: procedur\n-00006f00: 6520 5265 6365 6976 6520 2853 4f43 4b45 e Receive (SOCKE\n-00006f10: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n-00006f20: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n-00006f30: 2020 2020 4441 5441 203a 206f 7574 2041 DATA : out A\n-00006f40: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n-00006f50: 6d5f 456c 656d 656e 745f 4172 7261 7929 m_Element_Array)\n-00006f60: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-00006f70: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-00006f80: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-00006f90: 697a 6564 2061 6e64 2062 6f75 6e64 206f ized and bound o\n-00006fa0: 7220 636f 6e6e 6563 7465 640a 2020 2020 r connected. \n-00006fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006fc0: 2020 2020 2020 2073 6f63 6b65 7420 6f62 socket ob\n-00006fd0: 6a65 6374 0a20 2020 2020 4441 5441 2020 ject. DATA \n-00006fe0: 2020 2020 206f 7574 2020 2020 2020 2020 out \n-00006ff0: 496e 636f 6d69 6e67 2064 6174 6120 6275 Incoming data bu\n-00007000: 6666 6572 0a0a 4445 5343 5249 5054 494f ffer..DESCRIPTIO\n-00007010: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-00007020: 6564 7572 6520 7265 6365 6976 6573 2064 edure receives d\n-00007030: 6174 6120 6672 6f6d 2061 2062 6f75 6e64 ata from a bound\n-00007040: 2055 4450 2073 6f63 6b65 7420 6f72 2061 UDP socket or a\n-00007050: 2063 6f6e 6e65 6374 6564 0a20 2020 2020 connected. \n-00007060: 5443 5020 736f 636b 6574 2e20 2049 7420 TCP socket. It \n-00007070: 7769 6c6c 2062 6c6f 636b 2075 6e74 696c will block until\n-00007080: 2074 6865 2044 4154 4120 7265 6365 7074 the DATA recept\n-00007090: 696f 6e20 6275 6666 6572 2068 6173 2062 ion buffer has b\n-000070a0: 6565 6e0a 2020 2020 2074 6f74 616c 6c79 een. totally\n-000070b0: 2066 696c 6c65 642e 0a0a 4558 4345 5054 filled...EXCEPT\n-000070c0: 494f 4e53 0a20 2020 2020 e280 9843 6f6e IONS. ...Con\n-000070d0: 6e65 6374 696f 6e5f 436c 6f73 6564 e280 nection_Closed..\n-000070e0: 9950 6565 7220 6861 7320 636c 6f73 6564 .Peer has closed\n-000070f0: 2074 6865 2063 6f6e 6e65 6374 696f 6e20 the connection \n-00007100: 6265 666f 7265 0a20 2020 2020 2020 2020 before. \n-00007110: 2020 2020 2020 2020 2020 2020 2020 20e2 .\n-00007120: 8098 4461 7461 274c 656e 6774 68e2 8099 ..Data'Length...\n-00007130: 2062 7974 6573 0a20 2020 2020 2020 2020 bytes. \n-00007140: 2020 2020 2020 2020 2020 2020 2020 2077 w\n-00007150: 6572 6520 7265 6365 6976 6564 0a0a 5345 ere received..SE\n-00007160: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00007170: 6520 4765 745f 4c69 6e65 2028 6675 6e63 e Get_Line (func\n-00007180: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-00007190: 6f74 6520 4765 745f 4c69 6e65 2028 7072 ote Get_Line (pr\n-000071a0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n-000071b0: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n-000071c0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-000071d0: 2020 2a6e 6f74 6520 5265 6365 6976 655f *note Receive_\n-000071e0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-000071f0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00007200: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00007210: 6f64 653a 2052 6563 6569 7665 5f53 6f6d ode: Receive_Som\n-00007220: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n-00007230: 4e65 7874 3a20 5365 6e64 2028 7072 6f63 Next: Send (proc\n-00007240: 6564 7572 6529 2c20 2050 7265 763a 2052 edure), Prev: R\n-00007250: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-00007260: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-00007270: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00007280: 6529 0a0a 5265 6365 6976 655f 536f 6d65 e)..Receive_Some\n-00007290: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-000072a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000072b0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-000072c0: 2020 2020 5265 6365 6976 6520 7261 7720 Receive raw \n-000072d0: 6461 7461 206f 7665 7220 6120 736f 636b data over a sock\n-000072e0: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n-000072f0: 2020 202d 2d20 536f 636b 6574 732e 5265 -- Sockets.Re\n-00007300: 6365 6976 655f 536f 6d65 3a20 7072 6f63 ceive_Some: proc\n-00007310: 6564 7572 6520 5265 6365 6976 655f 536f edure Receive_So\n-00007320: 6d65 0a20 2020 2020 2020 2020 2020 2020 me. \n-00007330: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n-00007340: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n-00007350: 2020 2020 2020 2020 2020 2020 4441 5441 DATA\n-00007360: 203a 206f 7574 2041 6461 2e53 7472 6561 : out Ada.Strea\n-00007370: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-00007380: 745f 4172 7261 793b 0a20 2020 2020 2020 t_Array;. \n-00007390: 2020 2020 2020 2020 4c41 5354 203a 206f LAST : o\n-000073a0: 7574 2041 6461 2e53 7472 6561 6d73 2e53 ut Ada.Streams.S\n-000073b0: 7472 6561 6d5f 456c 656d 656e 745f 4f66 tream_Element_Of\n-000073c0: 6673 6574 293b 0a0a 5041 5241 4d45 5445 fset);..PARAMETE\n-000073d0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-000073e0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-000073f0: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n-00007400: 756e 6420 6f72 2063 6f6e 6e65 6374 6564 und or connected\n-00007410: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00007420: 2020 2020 2020 2020 2020 2020 736f 636b sock\n-00007430: 6574 206f 626a 6563 740a 2020 2020 2044 et object. D\n-00007440: 4154 4120 2020 2020 2020 6f75 7420 2020 ATA out \n-00007450: 2020 2020 2049 6e63 6f6d 696e 6720 6461 Incoming da\n-00007460: 7461 2062 7566 6665 720a 2020 2020 204c ta buffer. L\n-00007470: 4153 5420 2020 2020 2020 6f75 7420 2020 AST out \n-00007480: 2020 2020 2049 6e64 6578 206f 6620 6c61 Index of la\n-00007490: 7374 2065 6c65 6d65 6e74 2070 6c61 6365 st element place\n-000074a0: 6420 696e 746f 2044 4154 410a 0a44 4553 d into DATA..DES\n-000074b0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n-000074c0: 6973 2070 726f 6365 6475 7265 2072 6563 is procedure rec\n-000074d0: 6569 7665 7320 6461 7461 2066 726f 6d20 eives data from \n-000074e0: 6120 626f 756e 6420 5544 5020 736f 636b a bound UDP sock\n-000074f0: 6574 206f 7220 6120 636f 6e6e 6563 7465 et or a connecte\n-00007500: 640a 2020 2020 2054 4350 2073 6f63 6b65 d. TCP socke\n-00007510: 742e 2020 4173 2073 6f6f 6e20 6173 2061 t. As soon as a\n-00007520: 7420 6c65 6173 7420 6f6e 6520 6279 7465 t least one byte\n-00007530: 2068 6173 2062 6565 6e20 7265 6164 2c20 has been read, \n-00007540: 6974 2072 6574 7572 6e73 0a20 2020 2020 it returns. \n-00007550: 7769 7468 204c 4153 5420 7365 7420 746f with LAST set to\n-00007560: 2074 6865 2069 6e64 6578 206f 6620 7468 the index of th\n-00007570: 6520 6c61 7465 7374 2077 7269 7474 656e e latest written\n-00007580: 2065 6c65 6d65 6e74 206f 6620 4441 5441 element of DATA\n-00007590: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n-000075a0: 2020 20e2 8098 436f 6e6e 6563 7469 6f6e ...Connection\n-000075b0: 5f43 6c6f 7365 64e2 8099 5065 6572 2068 _Closed...Peer h\n-000075c0: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n-000075d0: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n-000075e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000075f0: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n-00007600: 616e 7920 6461 7461 0a0a 5345 4520 414c any data..SEE AL\n-00007610: 534f 0a20 2020 2020 2a6e 6f74 6520 4765 SO. *note Ge\n-00007620: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n-00007630: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00007640: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-00007650: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00007660: 7465 2052 6563 6569 7665 2028 6675 6e63 te Receive (func\n-00007670: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-00007680: 6f74 6520 5265 6365 6976 6520 2870 726f ote Receive (pro\n-00007690: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-000076a0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-000076b0: 6e66 6f2c 2020 4e6f 6465 3a20 5365 6e64 nfo, Node: Send\n-000076c0: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n-000076d0: 6578 743a 2053 6574 5f42 7566 6665 7220 ext: Set_Buffer \n-000076e0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-000076f0: 6576 3a20 5265 6365 6976 655f 536f 6d65 ev: Receive_Some\n-00007700: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n-00007710: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00007720: 2028 7072 6f63 6564 7572 6529 0a0a 5365 (procedure)..Se\n-00007730: 6e64 2028 7072 6f63 6564 7572 6529 0a2d nd (procedure).-\n-00007740: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-00007750: 0a50 5552 504f 5345 0a20 2020 2020 5365 .PURPOSE. Se\n-00007760: 6e64 2072 6177 2064 6174 6120 6f76 6572 nd raw data over\n-00007770: 2061 2073 6f63 6b65 740a 5052 4f54 4f54 a socket.PROTOT\n-00007780: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00007790: 6b65 7473 2e53 656e 643a 2070 726f 6365 kets.Send: proce\n-000077a0: 6475 7265 2053 656e 6420 2853 4f43 4b45 dure Send (SOCKE\n-000077b0: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n-000077c0: 2020 2020 2020 2020 2020 2020 2020 4441 DA\n-000077d0: 5441 203a 206f 7574 2041 6461 2e53 7472 TA : out Ada.Str\n-000077e0: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-000077f0: 656e 745f 4172 7261 7929 3b0a 0a50 4152 ent_Array);..PAR\n-00007800: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00007810: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00007820: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00007830: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-00007840: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n-00007850: 4441 5441 2020 2020 2020 206f 7574 2020 DATA out \n-00007860: 2020 2020 2020 4461 7461 2074 6f20 6265 Data to be\n-00007870: 2073 656e 740a 0a44 4553 4352 4950 5449 sent..DESCRIPTI\n-00007880: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00007890: 6365 6475 7265 2073 656e 6473 2064 6174 cedure sends dat\n-000078a0: 6120 6f76 6572 2061 2063 6f6e 6e65 6374 a over a connect\n-000078b0: 6564 206f 7574 676f 696e 6720 736f 636b ed outgoing sock\n-000078c0: 6574 206f 7220 6f76 6572 0a20 2020 2020 et or over. \n-000078d0: 616e 2069 6e63 6f6d 696e 6720 736f 636b an incoming sock\n-000078e0: 6574 2e0a 0a45 5843 4550 5449 4f4e 530a et...EXCEPTIONS.\n-000078f0: 2020 2020 20e2 8098 436f 6e6e 6563 7469 ...Connecti\n-00007900: 6f6e 5f43 6c6f 7365 64e2 8099 5065 6572 on_Closed...Peer\n-00007910: 2068 6173 2070 7265 6d61 7475 7265 6c79 has prematurely\n-00007920: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n-00007930: 6563 7469 6f6e 0a0a 5345 4520 414c 534f ection..SEE ALSO\n-00007940: 0a20 2020 2020 2a6e 6f74 6520 5075 7420 . *note Put \n-00007950: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n-00007960: 2020 2020 2a6e 6f74 6520 5075 745f 4c69 *note Put_Li\n-00007970: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n-00007980: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00007990: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-000079a0: 653a 2053 6574 5f42 7566 6665 7220 2870 e: Set_Buffer (p\n-000079b0: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n-000079c0: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr\n-000079d0: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n-000079e0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-000079f0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00007a00: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00007a10: 290a 0a53 6574 5f42 7566 6665 7220 2870 )..Set_Buffer (p\n-00007a20: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n-00007a30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007a40: 0a0a 5055 5250 4f53 450a 2020 2020 2049 ..PURPOSE. I\n-00007a50: 6e73 7461 6c6c 2061 206c 696e 652d 6f72 nstall a line-or\n-00007a60: 6965 6e74 6564 2062 7566 6665 7220 6f66 iented buffer of\n-00007a70: 2074 6865 2073 6f63 6b65 7420 6f62 6a65 the socket obje\n-00007a80: 6374 0a50 524f 544f 5459 5045 0a20 2020 ct.PROTOTYPE. \n-00007a90: 2020 202d 2d20 536f 636b 6574 732e 5365 -- Sockets.Se\n-00007aa0: 745f 4275 6666 6572 3a20 7072 6f63 6564 t_Buffer: proced\n-00007ab0: 7572 6520 5365 745f 4275 6666 6572 0a20 ure Set_Buffer. \n-00007ac0: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n-00007ad0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00007ae0: 4427 436c 6173 733b 204c 454e 4754 4820 D'Class; LENGTH \n-00007af0: 3a20 506f 7369 7469 7665 203a 3d20 3135 : Positive := 15\n-00007b00: 3030 293b 0a0a 5041 5241 4d45 5445 5253 00);..PARAMETERS\n-00007b10: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00007b20: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00007b30: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n-00007b40: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-00007b50: 6563 740a 2020 2020 204c 454e 4754 4820 ect. LENGTH \n-00007b60: 2020 2020 696e 2020 2020 2020 2020 2053 in S\n-00007b70: 697a 6520 696e 2062 7974 6573 206f 6620 ize in bytes of \n-00007b80: 7468 6520 6e65 776c 7920 696e 7374 616c the newly instal\n-00007b90: 6c65 640a 2020 2020 2020 2020 2020 2020 led. \n-00007ba0: 2020 2020 2020 2020 2020 2020 2020 2062 b\n-00007bb0: 7566 6665 720a 0a44 4553 4352 4950 5449 uffer..DESCRIPTI\n-00007bc0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00007bd0: 6365 6475 7265 2070 7574 7320 7468 6520 cedure puts the \n-00007be0: 736f 636b 6574 206f 626a 6563 7420 696e socket object in\n-00007bf0: 2062 7566 6665 7265 6420 6d6f 6465 2e20 buffered mode. \n-00007c00: 2049 6620 7468 650a 2020 2020 2073 6f63 If the. soc\n-00007c10: 6b65 7420 7761 7320 616c 7265 6164 7920 ket was already \n-00007c20: 6275 6666 6572 6564 2c20 7468 6520 636f buffered, the co\n-00007c30: 6e74 656e 7420 6f66 2074 6865 2070 7265 ntent of the pre\n-00007c40: 7669 6f75 7320 6275 6666 6572 0a20 2020 vious buffer. \n-00007c50: 2020 7769 6c6c 2062 6520 6c6f 7374 2e20 will be lost. \n-00007c60: 2054 6865 2062 7566 6665 7265 6420 6d6f The buffered mo\n-00007c70: 6465 206f 6e6c 7920 6166 6665 6374 7320 de only affects \n-00007c80: 6368 6172 6163 7465 722d 2061 6e64 0a20 character- and. \n-00007c90: 2020 2020 6c69 6e65 2d6f 7269 656e 7465 line-oriente\n-00007ca0: 6420 7265 6164 206f 7065 7261 7469 6f6e d read operation\n-00007cb0: 2073 7563 6820 6173 202a 6e6f 7465 2047 such as *note G\n-00007cc0: 6574 2028 6675 6e63 7469 6f6e 293a 3a2c et (function)::,\n-00007cd0: 202a 6e6f 7465 0a20 2020 2020 4765 745f *note. Get_\n-00007ce0: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n-00007cf0: 3a2c 2061 6e64 202a 6e6f 7465 2047 6574 :, and *note Get\n-00007d00: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n-00007d10: 3a3a 2e20 204f 7468 6572 0a20 2020 2020 ::. Other. \n-00007d20: 7265 6365 7074 696f 6e20 7375 6270 726f reception subpro\n-00007d30: 6772 616d 7320 7769 6c6c 206e 6f74 2066 grams will not f\n-00007d40: 756e 6374 696f 6e20 7072 6f70 6572 6c79 unction properly\n-00007d50: 2069 6620 6275 6666 6572 6564 206d 6f64 if buffered mod\n-00007d60: 650a 2020 2020 2069 7320 7573 6564 2061 e. is used a\n-00007d70: 7420 7468 6520 7361 6d65 2074 696d 652e t the same time.\n-00007d80: 0a0a 2020 2020 2054 6865 2073 697a 6520 .. The size \n-00007d90: 6f66 2074 6865 2062 7566 6665 7220 6861 of the buffer ha\n-00007da0: 7320 746f 2062 6520 6772 6561 7465 7220 s to be greater \n-00007db0: 7468 616e 2074 6865 2062 6967 6765 7374 than the biggest\n-00007dc0: 2070 6f73 7369 626c 650a 2020 2020 2070 possible. p\n-00007dd0: 6163 6b65 7420 7365 6e74 2062 7920 7468 acket sent by th\n-00007de0: 6520 7265 6d6f 7465 2068 6f73 742c 206f e remote host, o\n-00007df0: 7468 6572 7769 7365 2064 6174 6120 6c6f therwise data lo\n-00007e00: 7373 206d 6179 206f 6363 7572 2e0a 0a53 ss may occur...S\n-00007e10: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-00007e20: 7465 2055 6e73 6574 5f42 7566 6665 7220 te Unset_Buffer \n-00007e30: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-00007e40: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-00007e50: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-00007e60: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00007e70: 6564 7572 6529 2c20 204e 6578 743a 2053 edure), Next: S\n-00007e80: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-00007e90: 7265 292c 2020 5072 6576 3a20 5365 745f re), Prev: Set_\n-00007ea0: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n-00007eb0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-00007ec0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00007ed0: 6529 0a0a 5365 7473 6f63 6b6f 7074 2028 e)..Setsockopt (\n-00007ee0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n-00007ef0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007f00: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00007f10: 5365 7420 6120 736f 636b 6574 206f 7074 Set a socket opt\n-00007f20: 696f 6e0a 5052 4f54 4f54 5950 450a 2020 ion.PROTOTYPE. \n-00007f30: 2020 2020 2d2d 2053 6f63 6b65 7473 2e53 -- Sockets.S\n-00007f40: 6574 736f 636b 6f70 743a 2070 726f 6365 etsockopt: proce\n-00007f50: 6475 7265 2053 6574 736f 636b 6f70 7420 dure Setsockopt \n-00007f60: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00007f70: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n-00007f80: 2020 2020 4c45 5645 4c20 3a20 536f 636b LEVEL : Sock\n-00007f90: 6574 5f4c 6576 656c 203a 3d20 534f 4c5f et_Level := SOL_\n-00007fa0: 534f 434b 4554 3b0a 2020 2020 2020 2020 SOCKET;. \n-00007fb0: 2020 2020 2020 204f 5054 4e41 4d45 203a OPTNAME :\n-00007fc0: 2053 6f63 6b65 745f 4f70 7469 6f6e 3b20 Socket_Option; \n-00007fd0: 4f50 5456 414c 203a 2049 6e74 6567 6572 OPTVAL : Integer\n-00007fe0: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n-00007ff0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00008000: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00008010: 6c69 7a65 6420 616e 6420 626f 756e 6420 lized and bound \n-00008020: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00008030: 2020 204c 4556 454c 2020 2020 2020 696e LEVEL in\n-00008040: 2020 2020 2020 2020 2050 726f 746f 636f Protoco\n-00008050: 6c20 6c65 7665 6c0a 2020 2020 204f 5054 l level. OPT\n-00008060: 4e41 4d45 2020 2020 696e 2020 2020 2020 NAME in \n-00008070: 2020 204f 7074 696f 6e20 6e61 6d65 0a20 Option name. \n-00008080: 2020 2020 4f50 5456 414c 2020 2020 2069 OPTVAL i\n-00008090: 6e20 2020 2020 2020 2020 4f70 7469 6f6e n Option\n-000080a0: 2076 616c 7565 0a0a 4445 5343 5249 5054 value..DESCRIPT\n-000080b0: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n-000080c0: 6f63 6564 7572 6520 7365 7473 206f 7074 ocedure sets opt\n-000080d0: 696f 6e73 2061 7070 6c69 6361 626c 6520 ions applicable \n-000080e0: 746f 2061 2073 6f63 6b65 742e 2020 506c to a socket. Pl\n-000080f0: 6561 7365 2073 6565 0a20 2020 2020 796f ease see. yo\n-00008100: 7572 206f 7065 7261 7469 6e67 2073 7973 ur operating sys\n-00008110: 7465 6d20 6d61 6e75 616c 2066 6f72 2075 tem manual for u\n-00008120: 7361 626c 6520 6c65 7665 6c73 2061 6e64 sable levels and\n-00008130: 206f 7074 696f 6e73 2e0a 0a20 2020 2020 options... \n-00008140: 5477 6f20 6c65 7665 6c73 2061 7265 2064 Two levels are d\n-00008150: 6566 696e 6564 3a20 e280 9853 4f4c 5f53 efined: ...SOL_S\n-00008160: 4f43 4b45 54e2 8099 2028 7468 6520 6465 OCKET... (the de\n-00008170: 6661 756c 7429 2061 6e64 0a20 2020 2020 fault) and. \n-00008180: e280 9849 5050 524f 544f 5f49 50e2 8099 ...IPPROTO_IP...\n-00008190: 2e20 2054 6865 206f 7074 696f 6e73 2061 . The options a\n-000081a0: 7265 20e2 8098 534f 5f52 4555 5345 4144 re ...SO_REUSEAD\n-000081b0: 4452 e280 992c 20e2 8098 534f 5f52 4555 DR..., ...SO_REU\n-000081c0: 5345 504f 5254 e280 992c 0a20 2020 2020 SEPORT...,. \n-000081d0: e280 9849 505f 4d55 4c54 4943 4153 545f ...IP_MULTICAST_\n-000081e0: 5454 4ce2 8099 2c20 e280 9849 505f 4144 TTL..., ...IP_AD\n-000081f0: 445f 4d45 4d42 4552 5348 4950 e280 992c D_MEMBERSHIP...,\n-00008200: 20e2 8098 4950 5f44 524f 505f 4d45 4d42 ...IP_DROP_MEMB\n-00008210: 4552 5348 4950 e280 992c 0a20 2020 2020 ERSHIP...,. \n-00008220: e280 9849 505f 4d55 4c54 4943 4153 545f ...IP_MULTICAST_\n-00008230: 4c4f 4f50 e280 992c 20e2 8098 534f 5f53 LOOP..., ...SO_S\n-00008240: 4e44 4255 46e2 8099 2061 6e64 20e2 8098 NDBUF... and ...\n-00008250: 4950 5f52 4356 4255 46e2 8099 2e0a 0a20 IP_RCVBUF...... \n-00008260: 2020 2020 4e6f 7465 2074 6861 7420 756e Note that un\n-00008270: 6c69 6b65 2074 6865 6972 2043 206c 616e like their C lan\n-00008280: 6775 6167 6520 636f 756e 7465 7270 6172 guage counterpar\n-00008290: 742c 20e2 8098 4765 7473 6f63 6b6f 7074 t, ...Getsockopt\n-000082a0: e280 9920 616e 640a 2020 2020 20e2 8098 ... and. ...\n-000082b0: 5365 7473 6f63 6b6f 7074 e280 9920 646f Setsockopt... do\n-000082c0: 206e 6f74 2072 6571 7569 7265 2061 6e20 not require an \n-000082d0: 6578 7472 6120 7061 7261 6d65 7465 7220 extra parameter \n-000082e0: 7265 7072 6573 656e 7469 6e67 2074 6865 representing the\n-000082f0: 0a20 2020 2020 6c65 6e67 7468 2069 6e20 . length in \n-00008300: 6279 7465 7320 6f66 2074 6865 206f 7074 bytes of the opt\n-00008310: 696f 6e20 7661 6c75 652e 2020 4164 6153 ion value. AdaS\n-00008320: 6f63 6b65 7473 206b 6e6f 7773 2074 6865 ockets knows the\n-00008330: 2072 6967 6874 0a20 2020 2020 7369 7a65 right. size\n-00008340: 2066 6f72 2065 7665 7279 206f 7074 696f for every optio\n-00008350: 6e2e 0a0a 5345 4520 414c 534f 0a20 2020 n...SEE ALSO. \n-00008360: 2020 2a6e 6f74 6520 4765 7473 6f63 6b6f *note Getsocko\n-00008370: 7074 2028 7072 6f63 6564 7572 6529 3a3a pt (procedure)::\n-00008380: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00008390: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-000083a0: 653a 2053 6875 7464 6f77 6e20 2870 726f e: Shutdown (pro\n-000083b0: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n-000083c0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-000083d0: 6529 2c20 2050 7265 763a 2053 6574 736f e), Prev: Setso\n-000083e0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000083f0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00008400: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00008410: 290a 0a53 6875 7464 6f77 6e20 2870 726f )..Shutdown (pro\n-00008420: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-00008430: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-00008440: 5250 4f53 450a 2020 2020 2053 6875 7464 RPOSE. Shutd\n-00008450: 6f77 6e20 6120 736f 636b 6574 0a50 524f own a socket.PRO\n-00008460: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00008470: 536f 636b 6574 732e 5368 7574 646f 776e Sockets.Shutdown\n-00008480: 3a20 7072 6f63 6564 7572 6520 5368 7574 : procedure Shut\n-00008490: 646f 776e 0a20 2020 2020 2020 2020 2020 down. \n-000084a0: 2020 2020 2853 4f43 4b45 5420 3a20 696e (SOCKET : in\n-000084b0: 206f 7574 2053 6f63 6b65 745f 4644 3b20 out Socket_FD; \n-000084c0: 484f 5720 3a20 5368 7574 646f 776e 5f54 HOW : Shutdown_T\n-000084d0: 7970 6520 3a3d 2042 6f74 6829 3b0a 0a50 ype := Both);..P\n-000084e0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-000084f0: 4f43 4b45 5420 2020 2020 696e 206f 7574 OCKET in out\n-00008500: 2020 2020 2053 6f63 6b65 7420 6f62 6a65 Socket obje\n-00008510: 6374 2074 6f20 7368 7574 646f 776e 0a20 ct to shutdown. \n-00008520: 2020 2020 484f 5720 2020 2020 2020 2069 HOW i\n-00008530: 6e20 2020 2020 2020 2020 4469 7265 6374 n Direct\n-00008540: 696f 6e20 746f 2073 6875 7464 6f77 6e0a ion to shutdown.\n-00008550: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n-00008560: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n-00008570: 2073 6875 7464 6f77 6e73 2065 6974 6865 shutdowns eithe\n-00008580: 7220 6469 7265 6374 696f 6e20 6f66 2074 r direction of t\n-00008590: 6865 2073 6f63 6b65 742e 2020 484f 5720 he socket. HOW \n-000085a0: 6361 6e0a 2020 2020 2074 616b 6520 7468 can. take th\n-000085b0: 6520 7661 6c75 6520 e280 9853 656e 64e2 e value ...Send.\n-000085c0: 8099 2c20 e280 9852 6563 6569 7665 e280 .., ...Receive..\n-000085d0: 9920 6f72 20e2 8098 426f 7468 e280 992e . or ...Both....\n-000085e0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-000085f0: 2a6e 6f74 6520 536f 636b 6574 2028 7072 *note Socket (pr\n-00008600: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n-00008610: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-00008620: 696e 666f 2c20 204e 6f64 653a 2053 6f63 info, Node: Soc\n-00008630: 6b65 7420 2870 726f 6365 6475 7265 292c ket (procedure),\n-00008640: 2020 4e65 7874 3a20 556e 7365 745f 4275 Next: Unset_Bu\n-00008650: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n-00008660: 2c20 2050 7265 763a 2053 6875 7464 6f77 , Prev: Shutdow\n-00008670: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n-00008680: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n-00008690: 7420 2870 726f 6365 6475 7265 290a 0a53 t (procedure)..S\n-000086a0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000086b0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-000086c0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-000086d0: 2020 2043 7265 6174 6520 6120 736f 636b Create a sock\n-000086e0: 6574 206f 6620 7468 6520 6769 7665 6e20 et of the given \n-000086f0: 6d6f 6465 0a50 524f 544f 5459 5045 0a20 mode.PROTOTYPE. \n-00008700: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00008710: 536f 636b 6574 3a20 7072 6f63 6564 7572 Socket: procedur\n-00008720: 6520 536f 636b 6574 2028 534f 434b 4554 e Socket (SOCKET\n-00008730: 203a 206f 7574 2053 6f63 6b65 745f 4644 : out Socket_FD\n-00008740: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-00008750: 2044 4f4d 4149 4e20 3a20 536f 636b 6574 DOMAIN : Socket\n-00008760: 5f44 6f6d 6169 6e20 3a3d 2050 465f 494e _Domain := PF_IN\n-00008770: 4554 3b0a 2020 2020 2020 2020 2020 2020 ET;. \n-00008780: 2020 2054 5950 203a 2053 6f63 6b65 745f TYP : Socket_\n-00008790: 5479 7065 203a 3d20 534f 434b 5f53 5452 Type := SOCK_STR\n-000087a0: 4541 4d29 3b0a 0a50 4152 414d 4554 4552 EAM);..PARAMETER\n-000087b0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-000087c0: 2020 6f75 7420 2020 2020 2020 2053 6f63 out Soc\n-000087d0: 6b65 7420 6f62 6a65 6374 2074 6f20 696e ket object to in\n-000087e0: 6974 6961 6c69 7a65 0a20 2020 2020 444f itialize. DO\n-000087f0: 4d41 494e 2020 2020 2069 6e20 2020 2020 MAIN in \n-00008800: 2020 2020 5072 6f74 6f63 6f6c 2066 616d Protocol fam\n-00008810: 696c 790a 2020 2020 2054 5950 2020 2020 ily. TYP \n-00008820: 2020 2020 696e 2020 2020 2020 2020 204b in K\n-00008830: 696e 6420 6f66 2073 6f63 6b65 7473 0a0a ind of sockets..\n-00008840: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00008850: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00008860: 696e 6974 6961 6c69 7a65 7320 6120 6e65 initializes a ne\n-00008870: 7720 736f 636b 6574 206f 626a 6563 7420 w socket object \n-00008880: 6279 2072 6573 6572 7669 6e67 2061 2066 by reserving a f\n-00008890: 696c 650a 2020 2020 2064 6573 6372 6970 ile. descrip\n-000088a0: 746f 7220 746f 2074 6865 206f 7065 7261 tor to the opera\n-000088b0: 7469 6e67 2073 7973 7465 6d2e 2020 466f ting system. Fo\n-000088c0: 7220 6261 636b 7761 7264 2063 6f6d 7061 r backward compa\n-000088d0: 7469 6269 6c69 7479 0a20 2020 2020 7769 tibility. wi\n-000088e0: 7468 206f 6c64 6572 2076 6572 7369 6f6e th older version\n-000088f0: 7320 6f66 2074 6869 7320 6c69 6272 6172 s of this librar\n-00008900: 792c 20e2 8098 4146 5f49 4e45 54e2 8099 y, ...AF_INET...\n-00008910: 2069 7320 7374 696c 6c20 6163 6365 7074 is still accept\n-00008920: 6564 2061 730a 2020 2020 2061 2076 616c ed as. a val\n-00008930: 7565 2062 7574 2073 686f 756c 6420 6265 ue but should be\n-00008940: 2072 6570 6c61 6365 6420 6173 2073 6f6f replaced as soo\n-00008950: 6e20 6173 2070 6f73 7369 626c 6520 7769 n as possible wi\n-00008960: 7468 2074 6865 2070 726f 7065 720a 2020 th the proper. \n-00008970: 2020 20e2 8098 5046 5f49 4e45 54e2 8099 ...PF_INET...\n-00008980: 2e20 2055 7369 6e67 20e2 8098 534f 434b . Using ...SOCK\n-00008990: 5f53 5452 4541 4de2 8099 2066 6f72 2074 _STREAM... for t\n-000089a0: 6865 2054 5950 2061 7267 756d 656e 7420 he TYP argument \n-000089b0: 7769 6c6c 2063 7265 6174 6520 610a 2020 will create a. \n-000089c0: 2020 2054 4350 2073 6f63 6b65 7420 7768 TCP socket wh\n-000089d0: 696c 6520 6120 e280 9853 4f43 4b5f 4447 ile a ...SOCK_DG\n-000089e0: 5241 4de2 8099 2077 696c 6c20 6372 6561 RAM... will crea\n-000089f0: 7465 2061 2055 4450 206f 6e65 2e0a 0a45 te a UDP one...E\n-00008a00: 5841 4d50 4c45 0a20 2020 2020 2020 2020 XAMPLE. \n-00008a10: 2064 6563 6c61 7265 0a20 2020 2020 2020 declare. \n-00008a20: 2020 2020 2020 536f 636b 203a 2053 6f63 Sock : Soc\n-00008a30: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-00008a40: 2020 6265 6769 6e0a 2020 2020 2020 2020 begin. \n-00008a50: 2020 2020 202d 2d20 4372 6561 7465 2061 -- Create a\n-00008a60: 2054 4350 2073 6f63 6b65 740a 2020 2020 TCP socket. \n-00008a70: 2020 2020 2020 2020 2053 6f63 6b65 7420 Socket \n-00008a80: 2853 6f63 6b2c 2050 465f 494e 4554 2c20 (Sock, PF_INET, \n-00008a90: 534f 434b 5f53 5452 4541 4d29 3b0a 2020 SOCK_STREAM);. \n-00008aa0: 2020 2020 2020 2020 2020 202d 2d20 5065 -- Pe\n-00008ab0: 7266 6f72 6d20 736f 6d65 206f 7065 7261 rform some opera\n-00008ac0: 7469 6f6e 7320 6f6e 2073 6f63 6b65 740a tions on socket.\n-00008ad0: 2020 2020 2020 2020 2020 2020 205b 2e2e [..\n-00008ae0: 2e5d 0a20 2020 2020 2020 2020 2020 2020 .]. \n-00008af0: 2d2d 2053 6875 7464 6f77 6e20 7468 6520 -- Shutdown the \n-00008b00: 736f 636b 6574 2069 6e20 626f 7468 2064 socket in both d\n-00008b10: 6972 6563 7469 6f6e 730a 2020 2020 2020 irections. \n-00008b20: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n-00008b30: 2853 6f63 6b2c 2042 6f74 6829 3b0a 2020 (Sock, Both);. \n-00008b40: 2020 2020 2020 2020 656e 643b 0a0a 5345 end;..SE\n-00008b50: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00008b60: 6520 5368 7574 646f 776e 2028 7072 6f63 e Shutdown (proc\n-00008b70: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-00008b80: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-00008b90: 666f 2c20 204e 6f64 653a 2055 6e73 6574 fo, Node: Unset\n-00008ba0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-00008bb0: 7265 292c 2020 5072 6576 3a20 536f 636b re), Prev: Sock\n-00008bc0: 6574 2028 7072 6f63 6564 7572 6529 2c20 et (procedure), \n-00008bd0: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00008be0: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00008bf0: 556e 7365 745f 4275 6666 6572 2028 7072 Unset_Buffer (pr\n-00008c00: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-00008c10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008c20: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00008c30: 4465 696e 7374 616c 6c20 7468 6520 6c69 Deinstall the li\n-00008c40: 6e65 2d6f 7269 656e 7465 6420 6275 6666 ne-oriented buff\n-00008c50: 6572 206f 6620 7468 6520 736f 636b 6574 er of the socket\n-00008c60: 206f 626a 6563 740a 5052 4f54 4f54 5950 object.PROTOTYP\n-00008c70: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00008c80: 7473 2e55 6e73 6574 5f42 7566 6665 723a ts.Unset_Buffer:\n-00008c90: 2070 726f 6365 6475 7265 2055 6e73 6574 procedure Unset\n-00008ca0: 5f42 7566 6665 720a 2020 2020 2020 2020 _Buffer. \n-00008cb0: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-00008cc0: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-00008cd0: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n-00008ce0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00008cf0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00008d00: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n-00008d10: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n-00008d20: 740a 0a44 4553 4352 4950 5449 4f4e 0a20 t..DESCRIPTION. \n-00008d30: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00008d40: 7265 2075 6e69 6e73 7461 6c6c 7320 7468 re uninstalls th\n-00008d50: 6520 6275 6666 6572 2070 7265 7669 6f75 e buffer previou\n-00008d60: 736c 7920 696e 7374 616c 6c65 6420 6279 sly installed by\n-00008d70: 202a 6e6f 7465 0a20 2020 2020 5365 745f *note. Set_\n-00008d80: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n-00008d90: 6529 3a3a 2e20 2049 6620 616e 7920 6461 e)::. If any da\n-00008da0: 7461 2069 7320 7374 696c 6c20 7072 6573 ta is still pres\n-00008db0: 656e 7420 696e 2074 6865 0a20 2020 2020 ent in the. \n-00008dc0: 6275 6666 6572 2c20 6974 2077 696c 6c20 buffer, it will \n-00008dd0: 6265 206c 6f73 742e 2020 546f 2061 766f be lost. To avo\n-00008de0: 6964 2074 6869 7320 7369 7475 6174 696f id this situatio\n-00008df0: 6e2c 2074 6865 2062 7566 6665 7220 6361 n, the buffer ca\n-00008e00: 6e0a 2020 2020 2062 6520 666c 7573 6865 n. be flushe\n-00008e10: 6420 6279 2063 616c 6c69 6e67 202a 6e6f d by calling *no\n-00008e20: 7465 2047 6574 2028 6675 6e63 7469 6f6e te Get (function\n-00008e30: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00008e40: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00008e50: 4e6f 6465 3a20 536f 636b 6574 732e 4d75 Node: Sockets.Mu\n-00008e60: 6c74 6963 6173 7420 7061 636b 6167 652c lticast package,\n-00008e70: 2020 4e65 7874 3a20 536f 636b 6574 732e Next: Sockets.\n-00008e80: 4e61 6d69 6e67 2070 6163 6b61 6765 2c20 Naming package, \n-00008e90: 2050 7265 763a 2053 6f63 6b65 7473 2070 Prev: Sockets p\n-00008ea0: 6163 6b61 6765 2c20 2055 703a 2054 6f70 ackage, Up: Top\n-00008eb0: 0a0a 3520 536f 636b 6574 732e 4d75 6c74 ..5 Sockets.Mult\n-00008ec0: 6963 6173 7420 7061 636b 6167 650a 2a2a icast package.**\n-00008ed0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00008ee0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 20e2 *********..The .\n-00008ef0: 8098 536f 636b 6574 732e 4d75 6c74 6963 ..Sockets.Multic\n-00008f00: 6173 74e2 8099 2061 6c6c 6f77 7320 7468 ast... allows th\n-00008f10: 6520 6372 6561 7469 6f6e 206f 6620 4950 e creation of IP\n-00008f20: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-00008f30: 7473 2e0a 0a20 2d2d 2053 6f63 6b65 7473 ts... -- Sockets\n-00008f40: 2e4d 756c 7469 6361 7374 2e4d 756c 7469 .Multicast.Multi\n-00008f50: 6361 7374 5f53 6f63 6b65 745f 4644 3a20 cast_Socket_FD: \n-00008f60: 7479 7065 204d 756c 7469 6361 7374 5f53 type Multicast_S\n-00008f70: 6f63 6b65 745f 4644 2069 730a 2020 2020 ocket_FD is. \n-00008f80: 2020 2020 2020 6e65 7720 536f 636b 6574 new Socket\n-00008f90: 5f46 4420 7769 7468 2070 7269 7661 7465 _FD with private\n-00008fa0: 3b0a 2020 2020 2054 6865 20e2 8098 4d75 ;. The ...Mu\n-00008fb0: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n-00008fc0: 44e2 8099 2074 6167 6765 6420 7479 7065 D... tagged type\n-00008fd0: 2064 6572 6976 6573 2066 726f 6d20 7468 derives from th\n-00008fe0: 6520 e280 9853 6f63 6b65 745f 4644 e280 e ...Socket_FD..\n-00008ff0: 990a 2020 2020 2074 7970 652e 2020 4974 .. type. It\n-00009000: 2067 6574 7320 696e 6974 6961 6c69 7a65 gets initialize\n-00009010: 6420 6279 2063 616c 6c69 6e67 202a 6e6f d by calling *no\n-00009020: 7465 2043 7265 6174 655f 4d75 6c74 6963 te Create_Multic\n-00009030: 6173 745f 536f 636b 6574 0a20 2020 2020 ast_Socket. \n-00009040: 2866 756e 6374 696f 6e29 3a3a 2e20 2041 (function)::. A\n-00009050: 6e20 756e 696e 6974 6961 6c69 7a65 6420 n uninitialized \n-00009060: e280 984d 756c 7469 6361 7374 5f53 6f63 ...Multicast_Soc\n-00009070: 6b65 745f 4644 e280 9920 6361 6e20 6265 ket_FD... can be\n-00009080: 0a20 2020 2020 7375 6363 6573 7366 756c . successful\n-00009090: 6c79 2063 6f6d 7061 7265 6420 746f 20e2 ly compared to .\n-000090a0: 8098 4e75 6c6c 5f4d 756c 7469 6361 7374 ..Null_Multicast\n-000090b0: 5f53 6f63 6b65 745f 4644 e280 992e 0a0a _Socket_FD......\n-000090c0: 2a20 4d65 6e75 3a0a 0a2a 2043 7265 6174 * Menu:..* Creat\n-000090d0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-000090e0: 6574 2028 6675 6e63 7469 6f6e 293a 3a0a et (function)::.\n-000090f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009100: 2020 2020 2020 2020 4372 6561 7465 2061 Create a\n-00009110: 6e20 4950 206d 756c 7469 6361 7374 2073 n IP multicast s\n-00009120: 6f63 6b65 740a 2a20 4372 6561 7465 5f4d ocket.* Create_M\n-00009130: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n-00009140: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n-00009150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009160: 2020 2020 2043 7265 6174 6520 616e 2049 Create an I\n-00009170: 5020 6d75 6c74 6963 6173 7420 736f 636b P multicast sock\n-00009180: 6574 0a0a 1f0a 4669 6c65 3a20 6164 6173 et....File: adas\n-00009190: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-000091a0: 6465 3a20 4372 6561 7465 5f4d 756c 7469 de: Create_Multi\n-000091b0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n-000091c0: 6374 696f 6e29 2c20 204e 6578 743a 2043 ction), Next: C\n-000091d0: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-000091e0: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n-000091f0: 292c 2020 5072 6576 3a20 4372 6561 7465 ), Prev: Create\n-00009200: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n-00009210: 7420 2866 756e 6374 696f 6e29 2c20 2055 t (function), U\n-00009220: 703a 2053 6f63 6b65 7473 2e4d 756c 7469 p: Sockets.Multi\n-00009230: 6361 7374 2070 6163 6b61 6765 0a0a 4372 cast package..Cr\n-00009240: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00009250: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n-00009260: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-00009270: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00009280: 3d3d 3d0a 0a50 5552 504f 5345 0a20 2020 ===..PURPOSE. \n-00009290: 2020 4372 6561 7465 2061 6e20 4950 206d Create an IP m\n-000092a0: 756c 7469 6361 7374 2073 6f63 6b65 740a ulticast socket.\n-000092b0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-000092c0: 2d2d 2053 6f63 6b65 7473 2e4d 756c 7469 -- Sockets.Multi\n-000092d0: 6361 7374 2e43 7265 6174 655f 4d75 6c74 cast.Create_Mult\n-000092e0: 6963 6173 745f 536f 636b 6574 3a20 6675 icast_Socket: fu\n-000092f0: 6e63 7469 6f6e 0a20 2020 2020 2020 2020 nction. \n-00009300: 2020 2020 2020 4372 6561 7465 5f4d 756c Create_Mul\n-00009310: 7469 6361 7374 5f53 6f63 6b65 7420 2847 ticast_Socket (G\n-00009320: 524f 5550 203a 2053 7472 696e 673b 2050 ROUP : String; P\n-00009330: 4f52 5420 3a20 4e61 7475 7261 6c3b 0a20 ORT : Natural;. \n-00009340: 2020 2020 2020 2020 2020 2020 2020 5454 TT\n-00009350: 4c20 3a20 506f 7369 7469 7665 203a 3d20 L : Positive := \n-00009360: 3136 3b20 5345 4c46 5f4c 4f4f 5020 3a20 16; SELF_LOOP : \n-00009370: 426f 6f6c 6561 6e20 3a3d 2054 7275 653b Boolean := True;\n-00009380: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00009390: 4c4f 4341 4c5f 4946 203a 2053 7472 696e LOCAL_IF : Strin\n-000093a0: 6720 3a3d 2030 2e30 2e30 2e30 290a 2020 g := 0.0.0.0). \n-000093b0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-000093c0: 7572 6e20 4d75 6c74 6963 6173 745f 536f urn Multicast_So\n-000093d0: 636b 6574 5f46 443b 0a0a 5041 5241 4d45 cket_FD;..PARAME\n-000093e0: 5445 5253 0a20 2020 2020 4752 4f55 5020 TERS. GROUP \n-000093f0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00009400: 4950 2061 6464 7265 7373 206f 6620 7468 IP address of th\n-00009410: 6520 6d75 6c74 6963 6173 7420 6772 6f75 e multicast grou\n-00009420: 7020 746f 0a20 2020 2020 2020 2020 2020 p to. \n-00009430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009440: 6a6f 696e 0a20 2020 2020 504f 5254 2020 join. PORT \n-00009450: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00009460: 506f 7274 206f 6620 7468 6520 6d75 6c74 Port of the mult\n-00009470: 6963 6173 7420 6772 6f75 7020 746f 206a icast group to j\n-00009480: 6f69 6e0a 2020 2020 2054 544c 2020 2020 oin. TTL \n-00009490: 2020 2020 696e 2020 2020 2020 2020 2054 in T\n-000094a0: 696d 652d 746f 2d6c 6976 6520 6f66 2073 ime-to-live of s\n-000094b0: 656e 7420 7061 636b 6574 730a 2020 2020 ent packets. \n-000094c0: 2053 454c 465f 4c4f 4f50 2020 696e 2020 SELF_LOOP in \n-000094d0: 2020 2020 2020 2053 686f 756c 6420 7468 Should th\n-000094e0: 6520 736f 636b 6574 2072 6563 6569 7665 e socket receive\n-000094f0: 2074 6865 2070 6163 6b65 7473 0a20 2020 the packets. \n-00009500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009510: 2020 2020 2020 2020 7365 6e74 2066 726f sent fro\n-00009520: 6d20 7468 6520 6c6f 6361 6c20 686f 7374 m the local host\n-00009530: 3f0a 2020 2020 204c 4f43 414c 5f49 4620 ?. LOCAL_IF \n-00009540: 2020 696e 2020 2020 2020 2020 2041 6464 in Add\n-00009550: 7265 7373 206f 6620 7468 6520 6c6f 6361 ress of the loca\n-00009560: 6c20 696e 7465 7266 6163 6520 746f 2075 l interface to u\n-00009570: 7365 0a0a 5245 5455 524e 2056 414c 5545 se..RETURN VALUE\n-00009580: 0a20 2020 2020 5468 6520 6e65 7720 696e . The new in\n-00009590: 6974 6961 6c69 7a65 6420 6d75 6c74 6963 itialized multic\n-000095a0: 6173 7420 736f 636b 6574 0a0a 4445 5343 ast socket..DESC\n-000095b0: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-000095c0: 7320 6675 6e63 7469 6f6e 2063 7265 6174 s function creat\n-000095d0: 6573 2061 6e20 4950 206d 756c 7469 6361 es an IP multica\n-000095e0: 7374 2073 6f63 6b65 7420 6174 7461 6368 st socket attach\n-000095f0: 6564 2074 6f20 6120 6769 7665 6e0a 2020 ed to a given. \n-00009600: 2020 2067 726f 7570 2c20 6964 656e 7469 group, identi\n-00009610: 6669 6564 2062 7920 6974 7320 636c 6173 fied by its clas\n-00009620: 7320 4520 4950 2061 6464 7265 7373 2061 s E IP address a\n-00009630: 6e64 2070 6f72 742e 0a0a 2020 2020 2042 nd port... B\n-00009640: 6520 6361 7265 6675 6c20 7768 656e 2063 e careful when c\n-00009650: 686f 6f73 696e 6720 7468 6520 5454 4c20 hoosing the TTL \n-00009660: 7061 7261 6d65 7465 7220 6f66 2079 6f75 parameter of you\n-00009670: 7220 4950 206d 756c 7469 6361 7374 0a20 r IP multicast. \n-00009680: 2020 2020 736f 636b 6574 2e20 204d 6f73 socket. Mos\n-00009690: 7420 4950 206d 756c 7469 6361 7374 2072 t IP multicast r\n-000096a0: 6f75 7465 7273 2064 6f20 696d 706c 656d outers do implem\n-000096b0: 656e 7420 7468 7265 7368 6f6c 642d 6261 ent threshold-ba\n-000096c0: 7365 640a 2020 2020 2066 696c 7465 7269 sed. filteri\n-000096d0: 6e67 2061 6e64 2077 696c 6c20 6e6f 7420 ng and will not \n-000096e0: 6c65 7420 4950 206d 756c 7469 6361 7374 let IP multicast\n-000096f0: 2070 6163 6b65 7473 206c 6561 7665 2079 packets leave y\n-00009700: 6f75 720a 2020 2020 206f 7267 616e 697a our. organiz\n-00009710: 6174 696f 6e20 6966 2074 6865 2054 544c ation if the TTL\n-00009720: 206f 6e20 7468 6520 6c61 7374 2072 6f75 on the last rou\n-00009730: 7465 7220 6973 2073 6d61 6c6c 6572 2074 ter is smaller t\n-00009740: 6861 6e20 3136 2e0a 0a20 2020 2020 4966 han 16... If\n-00009750: 2030 2069 7320 6769 7665 6e20 666f 7220 0 is given for \n-00009760: 7468 6520 506f 7274 2c20 6120 6c6f 6361 the Port, a loca\n-00009770: 6c20 6f6e 6520 7769 6c6c 2062 6520 6368 l one will be ch\n-00009780: 6f73 656e 2e20 2049 7420 6361 6e0a 2020 osen. It can. \n-00009790: 2020 2074 6865 6e20 6c61 7465 7220 6265 then later be\n-000097a0: 2072 6574 7269 6576 6564 2075 7369 6e67 retrieved using\n-000097b0: 2047 6574 5f53 6f63 6b5f 506f 7274 2e0a Get_Sock_Port..\n-000097c0: 0a45 5841 4d50 4c45 0a20 2020 2020 2020 .EXAMPLE. \n-000097d0: 2020 2064 6563 6c61 7265 0a20 2020 2020 declare. \n-000097e0: 2020 2020 2020 2020 536f 636b 2020 2020 Sock \n-000097f0: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n-00009800: 2020 2020 2020 2020 2020 2049 6e63 6f6d Incom\n-00009810: 696e 6720 3a20 536f 636b 6574 5f46 443b ing : Socket_FD;\n-00009820: 0a20 2020 2020 2020 2020 2062 6567 696e . begin\n-00009830: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n-00009840: 2043 7265 6174 6520 6120 5443 5020 736f Create a TCP so\n-00009850: 636b 6574 206c 6973 7465 6e69 6e67 206f cket listening o\n-00009860: 6e20 6c6f 6361 6c20 706f 7274 2034 3136 n local port 416\n-00009870: 310a 2020 2020 2020 2020 2020 2020 2053 1. S\n-00009880: 6f63 6b65 7420 2853 6f63 6b2c 2050 465f ocket (Sock, PF_\n-00009890: 494e 4554 2c20 534f 434b 5f53 5452 4541 INET, SOCK_STREA\n-000098a0: 4d29 3b0a 2020 2020 2020 2020 2020 2020 M);. \n-000098b0: 2042 696e 6420 2853 6f63 6b2c 2034 3136 Bind (Sock, 416\n-000098c0: 3129 3b0a 2020 2020 2020 2020 2020 2020 1);. \n-000098d0: 204c 6973 7465 6e20 2853 6f63 6b2c 2033 Listen (Sock, 3\n-000098e0: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n-000098f0: 2d2d 204f 6e65 2d63 6f6e 6e65 6374 696f -- One-connectio\n-00009900: 6e2d 6174 2d61 2d74 696d 6520 7365 7276 n-at-a-time serv\n-00009910: 6572 2028 3320 6d61 7920 6265 2070 656e er (3 may be pen\n-00009920: 6469 6e67 290a 2020 2020 2020 2020 2020 ding). \n-00009930: 2020 206c 6f6f 700a 2020 2020 2020 2020 loop. \n-00009940: 2020 2020 2020 2020 2d2d 2057 6169 7420 -- Wait \n-00009950: 666f 7220 6120 6e65 7720 636f 6e6e 6563 for a new connec\n-00009960: 7469 6f6e 2061 6e64 2061 6363 6570 7420 tion and accept \n-00009970: 6974 0a20 2020 2020 2020 2020 2020 2020 it. \n-00009980: 2020 2041 6363 6570 745f 536f 636b 6574 Accept_Socket\n-00009990: 2028 536f 636b 2c20 496e 636f 6d69 6e67 (Sock, Incoming\n-000099a0: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n-000099b0: 2020 202d 2d20 446f 2073 6f6d 6520 6469 -- Do some di\n-000099c0: 616c 6f67 2077 6974 6820 7468 6520 7265 alog with the re\n-000099d0: 6d6f 7465 2068 6f73 740a 2020 2020 2020 mote host. \n-000099e0: 2020 2020 2020 2020 2020 446f 5f53 6f6d Do_Som\n-000099f0: 655f 4469 616c 6f67 2028 496e 636f 6d69 e_Dialog (Incomi\n-00009a00: 6e67 293b 0a20 2020 2020 2020 2020 2020 ng);. \n-00009a10: 2020 2020 202d 2d20 436c 6f73 6520 696e -- Close in\n-00009a20: 636f 6d69 6e67 2073 6f63 6b65 7420 616e coming socket an\n-00009a30: 6420 7761 6974 2066 6f72 206e 6578 7420 d wait for next \n-00009a40: 636f 6e6e 6563 7469 6f6e 0a20 2020 2020 connection. \n-00009a50: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n-00009a60: 6f77 6e20 2849 6e63 6f6d 696e 6729 3b0a own (Incoming);.\n-00009a70: 2020 2020 2020 2020 2020 2020 2065 6e64 end\n-00009a80: 206c 6f6f 703b 0a20 2020 2020 2020 2020 loop;. \n-00009a90: 2065 6e64 3b0a 0a53 4545 2041 4c53 4f0a end;..SEE ALSO.\n-00009aa0: 2020 2020 202a 6e6f 7465 2053 656e 6420 *note Send \n-00009ab0: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n-00009ac0: 2020 2020 2a6e 6f74 6520 5368 7574 646f *note Shutdo\n-00009ad0: 776e 2028 7072 6f63 6564 7572 6529 3a3a wn (procedure)::\n-00009ae0: 2e0a 0a2a 204d 656e 753a 0a0a 4372 6561 ...* Menu:..Crea\n-00009af0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-00009b00: 6b65 7420 2866 756e 6374 696f 6e29 0a2d ket (function).-\n-00009b10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009b20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009b30: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00009b40: 4372 6561 7465 2061 6e20 4950 206d 756c Create an IP mul\n-00009b50: 7469 6361 7374 2073 6f63 6b65 740a 5052 ticast socket.PR\n-00009b60: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-00009b70: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n-00009b80: 7374 2e43 7265 6174 655f 4d75 6c74 6963 st.Create_Multic\n-00009b90: 6173 745f 536f 636b 6574 3a20 6675 6e63 ast_Socket: func\n-00009ba0: 7469 6f6e 0a20 2020 2020 2020 2020 2020 tion. \n-00009bb0: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi\n-00009bc0: 6361 7374 5f53 6f63 6b65 7420 2847 524f cast_Socket (GRO\n-00009bd0: 5550 203a 2053 7472 696e 673b 2050 4f52 UP : String; POR\n-00009be0: 5420 3a20 506f 7369 7469 7665 3b0a 2020 T : Positive;. \n-00009bf0: 2020 2020 2020 2020 2020 2020 204c 4f43 LOC\n-00009c00: 414c 5f50 4f52 5420 3a20 4e61 7475 7261 AL_PORT : Natura\n-00009c10: 6c3b 2054 544c 203a 2050 6f73 6974 6976 l; TTL : Positiv\n-00009c20: 6520 3a3d 2031 363b 0a20 2020 2020 2020 e := 16;. \n-00009c30: 2020 2020 2020 2020 4c4f 4341 4c5f 4946 LOCAL_IF\n-00009c40: 203a 2053 7472 696e 6720 3a3d 2030 2e30 : String := 0.0\n-00009c50: 2e30 2e30 290a 2020 2020 2020 2020 2020 .0.0). \n-00009c60: 2020 2020 2072 6574 7572 6e20 4d75 6c74 return Mult\n-00009c70: 6963 6173 745f 536f 636b 6574 5f46 443b icast_Socket_FD;\n-00009c80: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00009c90: 2020 4752 4f55 5020 2020 2020 2069 6e20 GROUP in \n-00009ca0: 2020 2020 2020 2020 4950 2061 6464 7265 IP addre\n-00009cb0: 7373 206f 6620 7468 6520 6d75 6c74 6963 ss of the multic\n-00009cc0: 6173 7420 6772 6f75 7020 746f 0a20 2020 ast group to. \n-00009cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009ce0: 2020 2020 2020 2020 6a6f 696e 0a20 2020 join. \n-00009cf0: 2020 504f 5254 2020 2020 2020 2069 6e20 PORT in \n-00009d00: 2020 2020 2020 2020 506f 7274 206f 6620 Port of \n-00009d10: 7468 6520 6d75 6c74 6963 6173 7420 6772 the multicast gr\n-00009d20: 6f75 7020 746f 206a 6f69 6e0a 2020 2020 oup to join. \n-00009d30: 204c 4f43 414c 5f50 4f52 5420 696e 2020 LOCAL_PORT in \n-00009d40: 2020 2020 2020 204c 6f63 616c 2070 6f72 Local por\n-00009d50: 7420 6e75 6d62 6572 2074 6f20 7573 650a t number to use.\n-00009d60: 2020 2020 2054 544c 2020 2020 2020 2020 TTL \n-00009d70: 696e 2020 2020 2020 2020 2054 696d 652d in Time-\n-00009d80: 746f 2d6c 6976 6520 6f66 2073 656e 7420 to-live of sent \n-00009d90: 7061 636b 6574 730a 2020 2020 204c 4f43 packets. LOC\n-00009da0: 414c 5f49 4620 2020 696e 2020 2020 2020 AL_IF in \n-00009db0: 2020 2041 6464 7265 7373 206f 6620 7468 Address of th\n-00009dc0: 6520 6c6f 6361 6c20 696e 7465 7266 6163 e local interfac\n-00009dd0: 6520 746f 2075 7365 0a0a 5245 5455 524e e to use..RETURN\n-00009de0: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n-00009df0: 6e65 7720 696e 6974 6961 6c69 7a65 6420 new initialized \n-00009e00: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n-00009e10: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-00009e20: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n-00009e30: 2063 7265 6174 6573 2061 6e20 4950 206d creates an IP m\n-00009e40: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n-00009e50: 6174 7461 6368 6564 2074 6f20 6120 6769 attached to a gi\n-00009e60: 7665 6e0a 2020 2020 2067 726f 7570 2c20 ven. group, \n-00009e70: 6964 656e 7469 6669 6564 2062 7920 6974 identified by it\n-00009e80: 7320 636c 6173 7320 4520 4950 2061 6464 s class E IP add\n-00009e90: 7265 7373 2061 6e64 2070 6f72 742e 2020 ress and port. \n-00009ea0: 4966 0a20 2020 2020 4c6f 6361 6c5f 506f If. Local_Po\n-00009eb0: 7274 2069 7320 302c 2061 2066 7265 6520 rt is 0, a free \n-00009ec0: 706f 7274 2077 696c 6c20 6175 746f 6d61 port will automa\n-00009ed0: 7469 6361 6c6c 7920 6265 2063 686f 7365 tically be chose\n-00009ee0: 6e20 6279 2079 6f75 720a 2020 2020 206f n by your. o\n-00009ef0: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n-00009f00: 0a0a 2020 2020 2054 6869 7320 6675 6e63 .. This func\n-00009f10: 7469 6f6e 2073 686f 756c 6420 6265 2075 tion should be u\n-00009f20: 7365 6420 7768 656e 2079 6f75 2077 616e sed when you wan\n-00009f30: 7420 746f 2073 656e 6420 7061 636b 6574 t to send packet\n-00009f40: 7320 746f 2061 0a20 2020 2020 6d75 6c74 s to a. mult\n-00009f50: 6963 6173 7420 6772 6f75 7020 7769 7468 icast group with\n-00009f60: 6f75 7420 7265 6365 6976 696e 6720 616e out receiving an\n-00009f70: 7920 7061 636b 6574 2079 6f75 7273 656c y packet yoursel\n-00009f80: 662e 0a0a 4558 414d 504c 450a 2020 2020 f...EXAMPLE. \n-00009f90: 2020 2020 2020 6465 636c 6172 650a 2020 declare. \n-00009fa0: 2020 2020 2020 2020 2020 2053 6f63 6b20 Sock \n-00009fb0: 3a20 536f 636b 6574 5f46 443b 0a20 2020 : Socket_FD;. \n-00009fc0: 2020 2020 2020 2062 6567 696e 0a20 2020 begin. \n-00009fd0: 2020 2020 2020 2020 2020 2d2d 2043 7265 -- Cre\n-00009fe0: 6174 6520 6120 5443 5020 736f 636b 6574 ate a TCP socket\n-00009ff0: 0a20 2020 2020 2020 2020 2020 2020 536f . So\n-0000a000: 636b 6574 2028 536f 636b 2c20 5046 5f49 cket (Sock, PF_I\n-0000a010: 4e45 542c 2053 4f43 4b5f 5354 5245 414d NET, SOCK_STREAM\n-0000a020: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n-0000a030: 2d2d 2043 6f6e 6e65 6374 2069 7420 746f -- Connect it to\n-0000a040: 2072 6663 3131 3439 2e6e 6574 2773 206d rfc1149.net's m\n-0000a050: 6169 6c20 7365 7276 6572 0a20 2020 2020 ail server. \n-0000a060: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n-0000a070: 2853 6f63 6b2c 2022 6d61 696c 2e72 6663 (Sock, \"mail.rfc\n-0000a080: 3131 3439 2e6e 6574 222c 2032 3529 3b0a 1149.net\", 25);.\n-0000a090: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n-0000a0a0: 446f 2061 206d 6169 6c20 7472 616e 7361 Do a mail transa\n-0000a0b0: 6374 696f 6e20 7468 656e 2063 6c6f 7365 ction then close\n-0000a0c0: 2074 6865 2073 6f63 6b65 740a 2020 2020 the socket. \n-0000a0d0: 2020 2020 2020 2020 205b 2e2e 2e5d 0a20 [...]. \n-0000a0e0: 2020 2020 2020 2020 2065 6e64 3b0a 0a53 end;..S\n-0000a0f0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-0000a100: 7465 2053 656e 6420 2870 726f 6365 6475 te Send (procedu\n-0000a110: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n-0000a120: 6520 5368 7574 646f 776e 2028 7072 6f63 e Shutdown (proc\n-0000a130: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-0000a140: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000a150: 666f 2c20 204e 6f64 653a 2053 6f63 6b65 fo, Node: Socke\n-0000a160: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000a170: 652c 2020 4e65 7874 3a20 436f 6e74 7269 e, Next: Contri\n-0000a180: 6275 746f 7273 2c20 2050 7265 763a 2053 butors, Prev: S\n-0000a190: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n-0000a1a0: 2070 6163 6b61 6765 2c20 2055 703a 2054 package, Up: T\n-0000a1b0: 6f70 0a0a 3620 536f 636b 6574 732e 4e61 op..6 Sockets.Na\n-0000a1c0: 6d69 6e67 2070 6163 6b61 6765 0a2a 2a2a ming package.***\n-0000a1d0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000a1e0: 2a2a 2a2a 2a0a 0a54 6865 20e2 8098 536f *****..The ...So\n-0000a1f0: 636b 6574 732e 4e61 6d69 6e67 e280 9920 ckets.Naming... \n-0000a200: 7061 636b 6167 6520 636f 6e74 6169 6e73 package contains\n-0000a210: 2074 7970 6573 2061 6e64 2068 656c 7065 types and helpe\n-0000a220: 7220 6675 6e63 7469 6f6e 7320 6e65 6564 r functions need\n-0000a230: 6564 0a74 6f20 6d61 6e69 7075 6c61 7465 ed.to manipulate\n-0000a240: 2049 6e74 6572 6e65 7420 686f 7374 206e Internet host n\n-0000a250: 616d 6573 2061 6e64 2061 6464 7265 7373 ames and address\n-0000a260: 6573 2e0a 0a20 2d2d 2053 6f63 6b65 7473 es... -- Sockets\n-0000a270: 2e4e 616d 696e 672e 4164 6472 6573 733a .Naming.Address:\n-0000a280: 2074 7970 6520 4164 6472 6573 7320 6973 type Address is\n-0000a290: 2072 6563 6f72 640a 2020 2020 2020 2020 record. \n-0000a2a0: 2020 2048 312c 2048 322c 2048 332c 2048 H1, H2, H3, H\n-0000a2b0: 3420 3a20 4164 6472 6573 735f 436f 6d70 4 : Address_Comp\n-0000a2c0: 6f6e 656e 743b 0a20 2020 2020 2020 2020 onent;. \n-0000a2d0: 2065 6e64 2072 6563 6f72 643b 0a20 2020 end record;. \n-0000a2e0: 2020 5468 6973 2074 7970 6520 7265 7072 This type repr\n-0000a2f0: 6573 656e 7473 2061 6e20 4950 7634 2061 esents an IPv4 a\n-0000a300: 6464 7265 7373 2077 6974 6820 e280 9848 ddress with ...H\n-0000a310: 31e2 8099 2062 6569 6e67 2074 6865 2066 1... being the f\n-0000a320: 6972 7374 0a20 2020 2020 6f63 7465 7420 irst. octet \n-0000a330: 616e 6420 e280 9848 34e2 8099 2074 6865 and ...H4... the\n-0000a340: 206c 6173 7420 6f6e 652e 2020 466f 7220 last one. For \n-0000a350: 6578 616d 706c 652c 2031 3337 2e31 3934 example, 137.194\n-0000a360: 2e31 3631 2e32 2069 730a 2020 2020 2072 .161.2 is. r\n-0000a370: 6570 7265 7365 6e74 6564 2062 7920 e280 epresented by ..\n-0000a380: 9848 313d 3133 372c 2048 323d 3139 342c .H1=137, H2=194,\n-0000a390: 2048 333d 3136 312c 2048 343d 32e2 8099 H3=161, H4=2...\n-0000a3a0: 2e0a 0a20 2d2d 2053 6f63 6b65 7473 2e4e ... -- Sockets.N\n-0000a3b0: 616d 696e 672e 4164 6472 6573 735f 4172 aming.Address_Ar\n-0000a3c0: 7261 793a 2074 7970 6520 4164 6472 6573 ray: type Addres\n-0000a3d0: 735f 4172 7261 7920 6973 2061 7272 6179 s_Array is array\n-0000a3e0: 2028 506f 7369 7469 7665 0a20 2020 2020 (Positive. \n-0000a3f0: 2020 2020 2072 616e 6765 203c 3e29 206f range <>) o\n-0000a400: 6620 4164 6472 6573 733b 0a20 2020 2020 f Address;. \n-0000a410: 4865 6c70 6572 2074 7970 650a 0a20 2d2d Helper type.. --\n-0000a420: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-0000a430: 4164 6472 6573 735f 436f 6d70 6f6e 656e Address_Componen\n-0000a440: 743a 2074 7970 6520 4164 6472 6573 735f t: type Address_\n-0000a450: 436f 6d70 6f6e 656e 7420 6973 204e 6174 Component is Nat\n-0000a460: 7572 616c 0a20 2020 2020 2020 2020 2072 ural. r\n-0000a470: 616e 6765 2030 202e 2e20 3235 353b 0a20 ange 0 .. 255;. \n-0000a480: 2020 2020 4865 6c70 6572 2074 7970 650a Helper type.\n-0000a490: 0a20 2d2d 2053 6f63 6b65 7473 2e4e 616d . -- Sockets.Nam\n-0000a4a0: 696e 672e 486f 7374 5f45 6e74 7279 3a20 ing.Host_Entry: \n-0000a4b0: 7479 7065 2048 6f73 745f 456e 7472 7920 type Host_Entry \n-0000a4c0: 284e 5f41 6c69 6173 6573 2c20 4e5f 4164 (N_Aliases, N_Ad\n-0000a4d0: 6472 6573 7365 7320 3a0a 2020 2020 2020 dresses :. \n-0000a4e0: 2020 2020 4e61 7475 7261 6c29 2069 7320 Natural) is \n-0000a4f0: 6e65 7720 4164 612e 4669 6e61 6c69 7a61 new Ada.Finaliza\n-0000a500: 7469 6f6e 2e43 6f6e 7472 6f6c 6c65 6420 tion.Controlled \n-0000a510: 7769 7468 2072 6563 6f72 640a 2020 2020 with record. \n-0000a520: 2020 2020 2020 2020 4e61 6d65 203a 2053 Name : S\n-0000a530: 7472 696e 675f 4163 6365 7373 3b0a 2020 tring_Access;. \n-0000a540: 2020 2020 2020 2020 2020 416c 6961 7365 Aliase\n-0000a550: 7320 3a20 5374 7269 6e67 5f41 7272 6179 s : String_Array\n-0000a560: 2028 3120 2e2e 204e 5f41 6c69 6173 6573 (1 .. N_Aliases\n-0000a570: 293b 0a20 2020 2020 2020 2020 2020 2041 );. A\n-0000a580: 6464 7265 7373 6573 203a 2041 6464 7265 ddresses : Addre\n-0000a590: 7373 5f41 7272 6179 2028 3120 2e2e 204e ss_Array (1 .. N\n-0000a5a0: 5f41 6464 7265 7373 6573 293b 0a20 2020 _Addresses);. \n-0000a5b0: 2020 2020 2020 2065 6e64 2072 6563 6f72 end recor\n-0000a5c0: 643b 0a20 2020 2020 5468 6520 e280 9848 d;. The ...H\n-0000a5d0: 6f73 745f 456e 7472 79e2 8099 2074 7970 ost_Entry... typ\n-0000a5e0: 6520 686f 6c64 7320 6120 7365 7420 6f66 e holds a set of\n-0000a5f0: 206e 616d 6573 2061 6e64 2049 5020 6164 names and IP ad\n-0000a600: 6472 6573 7365 730a 2020 2020 2061 7373 dresses. ass\n-0000a610: 6f63 6961 7465 6420 7769 7468 2061 2068 ociated with a h\n-0000a620: 6f73 742e 2020 4561 6368 2068 6f73 7420 ost. Each host \n-0000a630: 6361 6e20 6861 7665 2073 6576 6572 616c can have several\n-0000a640: 2049 5020 6164 6472 6573 7320 6173 0a20 IP address as. \n-0000a650: 2020 2020 7765 6c6c 2061 7320 7365 7665 well as seve\n-0000a660: 7261 6c20 616c 6961 7365 732e 0a0a 202d ral aliases... -\n-0000a670: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming\n-0000a680: 2e53 7472 696e 675f 4163 6365 7373 3a20 .String_Access: \n-0000a690: 7479 7065 2053 7472 696e 675f 4163 6365 type String_Acce\n-0000a6a0: 7373 2069 7320 6163 6365 7373 2053 7472 ss is access Str\n-0000a6b0: 696e 673b 0a20 2020 2020 4865 6c70 6572 ing;. Helper\n-0000a6c0: 2074 7970 650a 0a20 2d2d 2053 6f63 6b65 type.. -- Socke\n-0000a6d0: 7473 2e4e 616d 696e 672e 5374 7269 6e67 ts.Naming.String\n-0000a6e0: 5f41 7272 6179 3a20 7479 7065 2053 7472 _Array: type Str\n-0000a6f0: 696e 675f 4172 7261 7920 6973 2061 7272 ing_Array is arr\n-0000a700: 6179 2028 506f 7369 7469 7665 0a20 2020 ay (Positive. \n-0000a710: 2020 2020 2020 2072 616e 6765 203c 3e29 range <>)\n-0000a720: 206f 6620 5374 7269 6e67 5f41 6363 6573 of String_Acces\n-0000a730: 733b 0a20 2020 2020 4865 6c70 6572 2074 s;. Helper t\n-0000a740: 7970 650a 0a2a 204d 656e 753a 0a0a 2a20 ype..* Menu:..* \n-0000a750: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000a760: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n-0000a770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a780: 4765 7420 7468 6520 4950 2061 6464 7265 Get the IP addre\n-0000a790: 7373 206f 6620 6120 686f 7374 0a2a 2041 ss of a host.* A\n-0000a7a0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n-0000a7b0: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n+00002f20: 504c 450a 0a0a 5345 4520 414c 534f 0a20 PLE...SEE ALSO. \n+00002f30: 2020 2020 2a6e 6f74 6520 4269 6e64 2028 *note Bind (\n+00002f40: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00002f50: 2020 202a 6e6f 7465 204c 6973 7465 6e20 *note Listen \n+00002f60: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+00002f70: 2020 2020 2a6e 6f74 6520 5368 7574 646f *note Shutdo\n+00002f80: 776e 2028 7072 6f63 6564 7572 6529 3a3a wn (procedure)::\n+00002f90: 2c0a 2020 2020 202a 6e6f 7465 2053 6f63 ,. *note Soc\n+00002fa0: 6b65 7420 2870 726f 6365 6475 7265 293a ket (procedure):\n+00002fb0: 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2042 :...* Menu:..* B\n+00002fc0: 696e 6420 2870 726f 6365 6475 7265 293a ind (procedure):\n+00002fd0: 3a0a 2a20 436f 6e6e 6563 7420 2870 726f :.* Connect (pro\n+00002fe0: 6365 6475 7265 293a 3a0a 2a20 4765 7420 cedure)::.* Get \n+00002ff0: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n+00003000: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+00003010: 6e29 3a3a 0a2a 2047 6574 5f4c 696e 6520 n)::.* Get_Line \n+00003020: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n+00003030: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+00003040: 7265 293a 3a0a 2a20 4765 745f 5265 6365 re)::.* Get_Rece\n+00003050: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n+00003060: 6675 6e63 7469 6f6e 293a 3a0a 2a20 4765 function)::.* Ge\n+00003070: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz\n+00003080: 6520 2866 756e 6374 696f 6e29 3a3a 0a2a e (function)::.*\n+00003090: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+000030a0: 6365 6475 7265 293a 3a0a 2a20 4c69 7374 cedure)::.* List\n+000030b0: 656e 2028 7072 6f63 6564 7572 6529 3a3a en (procedure)::\n+000030c0: 0a2a 204e 6577 5f4c 696e 6520 2870 726f .* New_Line (pro\n+000030d0: 6365 6475 7265 293a 3a0a 2a20 5075 7420 cedure)::.* Put \n+000030e0: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n+000030f0: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n+00003100: 7572 6529 3a3a 0a2a 2052 6563 6569 7665 ure)::.* Receive\n+00003110: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+00003120: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+00003130: 7265 293a 3a0a 2a20 5265 6365 6976 655f re)::.* Receive_\n+00003140: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00003150: 3a3a 0a2a 2053 656e 6420 2870 726f 6365 ::.* Send (proce\n+00003160: 6475 7265 293a 3a0a 2a20 5365 745f 4275 dure)::.* Set_Bu\n+00003170: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+00003180: 3a3a 0a2a 2053 6574 736f 636b 6f70 7420 ::.* Setsockopt \n+00003190: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n+000031a0: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+000031b0: 7572 6529 3a3a 0a2a 2053 6f63 6b65 7420 ure)::.* Socket \n+000031c0: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n+000031d0: 556e 7365 745f 4275 6666 6572 2028 7072 Unset_Buffer (pr\n+000031e0: 6f63 6564 7572 6529 3a3a 0a0a 1f0a 4669 ocedure)::....Fi\n+000031f0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00003200: 6e66 6f2c 2020 4e6f 6465 3a20 4269 6e64 nfo, Node: Bind\n+00003210: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00003220: 6578 743a 2043 6f6e 6e65 6374 2028 7072 ext: Connect (pr\n+00003230: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00003240: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00003250: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n+00003260: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00003270: 7072 6f63 6564 7572 6529 0a0a 4269 6e64 procedure)..Bind\n+00003280: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00003290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+000032a0: 5552 504f 5345 0a20 2020 2020 4173 736f URPOSE. Asso\n+000032b0: 6369 6174 6520 6120 6c6f 6361 6c20 706f ciate a local po\n+000032c0: 7274 2074 6f20 6120 736f 636b 6574 0a50 rt to a socket.P\n+000032d0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+000032e0: 2d20 536f 636b 6574 732e 4269 6e64 3a20 - Sockets.Bind: \n+000032f0: 7072 6f63 6564 7572 6520 4269 6e64 2028 procedure Bind (\n+00003300: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+00003310: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n+00003320: 2020 2050 4f52 5420 3a20 4e61 7475 7261 PORT : Natura\n+00003330: 6c3b 2048 4f53 5420 3a20 5374 7269 6e67 l; HOST : String\n+00003340: 203a 3d20 2222 293b 0a0a 5041 5241 4d45 := \"\");..PARAME\n+00003350: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00003360: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00003370: 496e 6974 6961 6c69 7a65 6420 736f 636b Initialized sock\n+00003380: 6574 206f 626a 6563 740a 2020 2020 2050 et object. P\n+00003390: 4f52 5420 2020 2020 2020 696e 2020 2020 ORT in \n+000033a0: 2020 2020 204c 6f63 616c 2070 6f72 7420 Local port \n+000033b0: 746f 2062 696e 6420 746f 0a20 2020 2020 to bind to. \n+000033c0: 484f 5354 2020 2020 2020 2069 6e20 2020 HOST in \n+000033d0: 2020 2020 2020 4c6f 6361 6c20 696e 7465 Local inte\n+000033e0: 7266 6163 6520 746f 2062 696e 6420 746f rface to bind to\n+000033f0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00003400: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00003410: 6520 7265 7175 6573 7473 2061 206c 6f63 e requests a loc\n+00003420: 616c 2070 6f72 7420 6672 6f6d 2074 6865 al port from the\n+00003430: 206f 7065 7261 7469 6e67 2073 7973 7465 operating syste\n+00003440: 6d2e 2020 4966 0a20 2020 2020 3020 6973 m. If. 0 is\n+00003450: 2067 6976 656e 2069 6e20 504f 5254 2c20 given in PORT, \n+00003460: 7468 6520 7379 7374 656d 2077 696c 6c20 the system will \n+00003470: 6173 7369 676e 2061 2066 7265 6520 706f assign a free po\n+00003480: 7274 2077 686f 7365 206e 756d 6265 720a rt whose number.\n+00003490: 2020 2020 2063 616e 206c 6174 6572 2062 can later b\n+000034a0: 6520 7265 7472 6965 7665 6420 7573 696e e retrieved usin\n+000034b0: 6720 2a6e 6f74 6520 4765 745f 536f 636b g *note Get_Sock\n+000034c0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+000034d0: 3a3a 2e0a 2020 2020 2041 6c73 6f2c 206d ::.. Also, m\n+000034e0: 6f73 7420 6f70 6572 6174 696e 6720 7379 ost operating sy\n+000034f0: 7374 656d 7320 7265 7175 6972 6520 7370 stems require sp\n+00003500: 6563 6961 6c20 7072 6976 696c 6567 6573 ecial privileges\n+00003510: 2069 6620 796f 7520 7761 6e74 0a20 2020 if you want. \n+00003520: 2020 746f 2062 696e 6420 746f 2070 6f72 to bind to por\n+00003530: 7473 2062 656c 6f77 2031 3032 342e 0a0a ts below 1024...\n+00003540: 2020 2020 2049 6620 484f 5354 2069 7320 If HOST is \n+00003550: 6e6f 7420 7468 6520 656d 7074 7920 7374 not the empty st\n+00003560: 7269 6e67 2c20 6974 206d 7573 7420 636f ring, it must co\n+00003570: 6e74 6169 6e20 7468 6520 4950 2061 6464 ntain the IP add\n+00003580: 7265 7373 206f 660a 2020 2020 2061 206c ress of. a l\n+00003590: 6f63 616c 2069 6e74 6572 6661 6365 2074 ocal interface t\n+000035a0: 6f20 6269 6e64 2074 6f2c 206f 7220 6120 o bind to, or a \n+000035b0: 6e61 6d65 2077 6869 6368 2072 6573 6f6c name which resol\n+000035c0: 7665 7320 696e 746f 2073 7563 6820 616e ves into such an\n+000035d0: 0a20 2020 2020 6164 6472 6573 732e 2020 . address. \n+000035e0: 4966 2061 6e20 656d 7074 7920 7374 7269 If an empty stri\n+000035f0: 6e67 2069 7320 6769 7665 6e20 2874 6865 ng is given (the\n+00003600: 2064 6566 6175 6c74 292c 2074 6865 2073 default), the s\n+00003610: 6f63 6b65 740a 2020 2020 2077 696c 6c20 ocket. will \n+00003620: 6265 2062 6f75 6e64 2074 6f20 616c 6c20 be bound to all \n+00003630: 7468 6520 6176 6169 6c61 626c 6520 696e the available in\n+00003640: 7465 7266 6163 6573 2e0a 0a45 5843 4550 terfaces...EXCEP\n+00003650: 5449 4f4e 530a 2020 2020 20e2 8098 536f TIONS. ...So\n+00003660: 636b 6574 5f45 7272 6f72 e280 9920 2020 cket_Error... \n+00003670: 2020 5265 7175 6573 7465 6420 706f 7274 Requested port\n+00003680: 206f 7220 696e 7465 7266 6163 6520 6e6f or interface no\n+00003690: 7420 6176 6169 6c61 626c 650a 0a53 4545 t available..SEE\n+000036a0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+000036b0: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+000036c0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+000036d0: 6520 536f 636b 6574 2028 7072 6f63 6564 e Socket (proced\n+000036e0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+000036f0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00003700: 2c20 204e 6f64 653a 2043 6f6e 6e65 6374 , Node: Connect\n+00003710: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00003720: 6578 743a 2047 6574 2028 6675 6e63 7469 ext: Get (functi\n+00003730: 6f6e 292c 2020 5072 6576 3a20 4269 6e64 on), Prev: Bind\n+00003740: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n+00003750: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00003760: 2028 7072 6f63 6564 7572 6529 0a0a 436f (procedure)..Co\n+00003770: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n+00003780: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00003790: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+000037a0: 2020 2020 436f 6e6e 6563 7420 6120 736f Connect a so\n+000037b0: 636b 6574 206f 6e20 6120 6769 7665 6e20 cket on a given \n+000037c0: 686f 7374 2f70 6f72 740a 5052 4f54 4f54 host/port.PROTOT\n+000037d0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000037e0: 6b65 7473 2e43 6f6e 6e65 6374 3a20 7072 kets.Connect: pr\n+000037f0: 6f63 6564 7572 6520 436f 6e6e 6563 7420 ocedure Connect \n+00003800: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+00003810: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n+00003820: 2020 2020 484f 5354 203a 2053 7472 696e HOST : Strin\n+00003830: 673b 2050 4f52 5420 3a20 506f 7369 7469 g; PORT : Positi\n+00003840: 7665 293b 0a0a 5041 5241 4d45 5445 5253 ve);..PARAMETERS\n+00003850: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00003860: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00003870: 6961 6c69 7a65 6420 736f 636b 6574 206f ialized socket o\n+00003880: 626a 6563 740a 2020 2020 2048 4f53 5420 bject. HOST \n+00003890: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+000038a0: 2048 6f73 7420 746f 2063 6f6e 6e65 6374 Host to connect\n+000038b0: 2074 6f0a 2020 2020 2050 4f52 5420 2020 to. PORT \n+000038c0: 2020 2020 696e 2020 2020 2020 2020 2050 in P\n+000038d0: 6f72 7420 746f 2063 6f6e 6e65 6374 2074 ort to connect t\n+000038e0: 6f0a 0a44 4553 4352 4950 5449 4f4e 0a20 o..DESCRIPTION. \n+000038f0: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+00003900: 7265 2063 6f6e 6e65 6374 7320 616e 2069 re connects an i\n+00003910: 6e69 7469 616c 697a 6564 2073 6f63 6b65 nitialized socke\n+00003920: 7420 746f 2061 2067 6976 656e 2068 6f73 t to a given hos\n+00003930: 7420 6f6e 2061 0a20 2020 2020 6769 7665 t on a. give\n+00003940: 6e20 706f 7274 2e20 2049 6e20 7468 6520 n port. In the \n+00003950: 6361 7365 206f 6620 6120 5443 5020 736f case of a TCP so\n+00003960: 636b 6574 2c20 6120 7265 616c 2063 6f6e cket, a real con\n+00003970: 6e65 6374 696f 6e20 6973 0a20 2020 2020 nection is. \n+00003980: 6174 7465 6d70 7465 642e 2020 496e 2074 attempted. In t\n+00003990: 6865 2063 6173 6520 6f66 2061 2055 4450 he case of a UDP\n+000039a0: 2073 6f63 6b65 742c 206e 6f20 636f 6e6e socket, no conn\n+000039b0: 6563 7469 6f6e 2074 616b 6573 2070 6c61 ection takes pla\n+000039c0: 6365 0a20 2020 2020 6275 7420 7468 6520 ce. but the \n+000039d0: 656e 6470 6f69 6e74 2063 6f6f 7264 696e endpoint coordin\n+000039e0: 6174 6573 2061 7265 2072 6563 6f72 6465 ates are recorde\n+000039f0: 642e 0a0a 4558 4345 5054 494f 4e53 0a20 d...EXCEPTIONS. \n+00003a00: 2020 2020 e280 9843 6f6e 6e65 6374 696f ...Connectio\n+00003a10: 6e5f 5265 6675 7365 64e2 8099 5468 6520 n_Refused...The \n+00003a20: 636f 6e6e 6563 7469 6f6e 2068 6173 2062 connection has b\n+00003a30: 6565 6e20 7265 6675 7365 6420 6279 2074 een refused by t\n+00003a40: 6865 0a20 2020 2020 2020 2020 2020 2020 he. \n+00003a50: 2020 2020 2020 2020 2020 2073 6572 7665 serve\n+00003a60: 720a 2020 2020 20e2 8098 536f 636b 6574 r. ...Socket\n+00003a70: 5f45 7272 6f72 e280 9920 2020 2020 416e _Error... An\n+00003a80: 6f74 6865 7220 6572 726f 7220 6f63 6375 other error occu\n+00003a90: 7272 6564 2064 7572 696e 6720 7468 650a rred during the.\n+00003aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00003ab0: 2020 2020 2020 2020 636f 6e6e 6563 7469 connecti\n+00003ac0: 6f6e 0a0a 4558 414d 504c 450a 2020 2020 on..EXAMPLE. \n+00003ad0: 2020 2020 2020 6465 636c 6172 650a 2020 declare. \n+00003ae0: 2020 2020 2020 2020 2020 2053 6f63 6b20 Sock \n+00003af0: 3a20 536f 636b 6574 5f46 443b 0a20 2020 : Socket_FD;. \n+00003b00: 2020 2020 2020 2062 6567 696e 0a20 2020 begin. \n+00003b10: 2020 2020 2020 2020 2020 2d2d 2043 7265 -- Cre\n+00003b20: 6174 6520 6120 5443 5020 736f 636b 6574 ate a TCP socket\n+00003b30: 0a20 2020 2020 2020 2020 2020 2020 536f . So\n+00003b40: 636b 6574 2028 536f 636b 2c20 5046 5f49 cket (Sock, PF_I\n+00003b50: 4e45 542c 2053 4f43 4b5f 5354 5245 414d NET, SOCK_STREAM\n+00003b60: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n+00003b70: 2d2d 2043 6f6e 6e65 6374 2069 7420 746f -- Connect it to\n+00003b80: 2072 6663 3131 3439 2e6e 6574 2773 206d rfc1149.net's m\n+00003b90: 6169 6c20 7365 7276 6572 0a20 2020 2020 ail server. \n+00003ba0: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n+00003bb0: 2853 6f63 6b2c 2022 6d61 696c 2e72 6663 (Sock, \"mail.rfc\n+00003bc0: 3131 3439 2e6e 6574 222c 2032 3529 3b0a 1149.net\", 25);.\n+00003bd0: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n+00003be0: 446f 2061 206d 6169 6c20 7472 616e 7361 Do a mail transa\n+00003bf0: 6374 696f 6e20 7468 656e 2063 6c6f 7365 ction then close\n+00003c00: 2074 6865 2073 6f63 6b65 740a 2020 2020 the socket. \n+00003c10: 2020 2020 2020 2020 205b 2e2e 2e5d 0a20 [...]. \n+00003c20: 2020 2020 2020 2020 2065 6e64 3b0a 0a53 end;..S\n+00003c30: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00003c40: 7465 2053 6f63 6b65 7420 2870 726f 6365 te Socket (proce\n+00003c50: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00003c60: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00003c70: 6f2c 2020 4e6f 6465 3a20 4765 7420 2866 o, Node: Get (f\n+00003c80: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n+00003c90: 2047 6574 5f43 6861 7220 2866 756e 6374 Get_Char (funct\n+00003ca0: 696f 6e29 2c20 2050 7265 763a 2043 6f6e ion), Prev: Con\n+00003cb0: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n+00003cc0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00003cd0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00003ce0: 0a0a 4765 7420 2866 756e 6374 696f 6e29 ..Get (function)\n+00003cf0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a .--------------.\n+00003d00: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+00003d10: 7420 6120 7374 7269 6e67 2066 726f 6d20 t a string from \n+00003d20: 6120 7265 6d6f 7465 2068 6f73 740a 5052 a remote host.PR\n+00003d30: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00003d40: 2053 6f63 6b65 7473 2e47 6574 3a20 6675 Sockets.Get: fu\n+00003d50: 6e63 7469 6f6e 2047 6574 2028 534f 434b nction Get (SOCK\n+00003d60: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+00003d70: 6c61 7373 290a 2020 2020 2020 2020 2020 lass). \n+00003d80: 2020 2020 2072 6574 7572 6e20 5374 7269 return Stri\n+00003d90: 6e67 3b0a 0a50 4152 414d 4554 4552 530a ng;..PARAMETERS.\n+00003da0: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00003db0: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n+00003dc0: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n+00003dd0: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n+00003de0: 6374 0a0a 5245 5455 524e 2056 414c 5545 ct..RETURN VALUE\n+00003df0: 0a20 2020 2020 536f 6d65 2063 6861 7261 . Some chara\n+00003e00: 6374 6572 7320 7468 6174 2068 6176 6520 cters that have \n+00003e10: 6265 656e 2072 6563 6569 7665 640a 0a44 been received..D\n+00003e20: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00003e30: 5468 6973 2066 756e 6374 696f 6e20 7265 This function re\n+00003e40: 6365 6976 6573 2073 6f6d 6520 6368 6172 ceives some char\n+00003e50: 6163 7465 7273 2066 726f 6d20 6120 7265 acters from a re\n+00003e60: 6d6f 7465 2068 6f73 742e 2020 4173 2073 mote host. As s\n+00003e70: 6f6f 6e0a 2020 2020 2074 6861 7420 6174 oon. that at\n+00003e80: 206c 6561 7374 206f 6e65 2063 6861 7261 least one chara\n+00003e90: 6374 6572 2069 7320 6176 6169 6c61 626c cter is availabl\n+00003ea0: 652c 2074 6865 2063 7572 7265 6e74 2072 e, the current r\n+00003eb0: 6563 6570 7469 6f6e 0a20 2020 2020 6275 eception. bu\n+00003ec0: 6666 6572 2069 7320 7265 7475 726e 6564 ffer is returned\n+00003ed0: 2e0a 0a20 2020 2020 5468 6572 6520 6973 ... There is\n+00003ee0: 2075 7375 616c 6c79 206c 6974 746c 6520 usually little \n+00003ef0: 6761 696e 2069 6e20 7573 696e 6720 7468 gain in using th\n+00003f00: 6973 2066 756e 6374 696f 6e20 7768 6f73 is function whos\n+00003f10: 6520 6265 6861 7669 6f72 0a20 2020 2020 e behavior. \n+00003f20: 6973 2063 6f6d 7061 7261 626c 6520 746f is comparable to\n+00003f30: 2074 6865 206f 6e65 206f 6620 2a6e 6f74 the one of *not\n+00003f40: 6520 5265 6365 6976 6520 2866 756e 6374 e Receive (funct\n+00003f50: 696f 6e29 3a3a 2e20 204f 7468 6572 0a20 ion)::. Other. \n+00003f60: 2020 2020 6675 6e63 7469 6f6e 7320 7375 functions su\n+00003f70: 6368 2061 7320 2a6e 6f74 6520 4765 745f ch as *note Get_\n+00003f80: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n+00003f90: 3a2c 206f 7220 2a6e 6f74 6520 4765 745f :, or *note Get_\n+00003fa0: 4c69 6e65 0a20 2020 2020 2866 756e 6374 Line. (funct\n+00003fb0: 696f 6e29 3a3a 2c20 616c 6c6f 7720 6d6f ion)::, allow mo\n+00003fc0: 7265 2073 7472 7563 7475 7265 6420 7072 re structured pr\n+00003fd0: 6f67 7261 6d6d 696e 672e 0a0a 2020 2020 ogramming... \n+00003fe0: 2048 6f77 6576 6572 2c20 7468 6973 2066 However, this f\n+00003ff0: 756e 6374 696f 6e20 6d61 7920 6265 2075 unction may be u\n+00004000: 7365 6420 746f 2061 766f 6964 206c 6f73 sed to avoid los\n+00004010: 696e 6720 6368 6172 6163 7465 7273 2077 ing characters w\n+00004020: 6865 6e0a 2020 2020 2063 616c 6c69 6e67 hen. calling\n+00004030: 202a 6e6f 7465 2055 6e73 6574 5f42 7566 *note Unset_Buf\n+00004040: 6665 7220 2870 726f 6365 6475 7265 293a fer (procedure):\n+00004050: 3a2c 2069 662c 2066 6f72 2073 6f6d 6520 :, if, for some \n+00004060: 7265 6173 6f6e 2c20 7468 650a 2020 2020 reason, the. \n+00004070: 2072 656d 6f74 6520 686f 7374 206d 6179 remote host may\n+00004080: 2068 6176 6520 7365 6e74 2073 6f6d 652e have sent some.\n+00004090: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n+000040a0: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f ...Connection_\n+000040b0: 436c 6f73 6564 e280 9950 6565 7220 6861 Closed...Peer ha\n+000040c0: 7320 636c 6f73 6564 2074 6865 2063 6f6e s closed the con\n+000040d0: 6e65 6374 696f 6e20 6265 666f 7265 0a20 nection before. \n+000040e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000040f0: 2020 2020 2020 2073 656e 6469 6e67 2061 sending a\n+00004100: 6e79 2064 6174 610a 0a1f 0a46 696c 653a ny data....File:\n+00004110: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00004120: 2c20 204e 6f64 653a 2047 6574 5f43 6861 , Node: Get_Cha\n+00004130: 7220 2866 756e 6374 696f 6e29 2c20 204e r (function), N\n+00004140: 6578 743a 2047 6574 5f4c 696e 6520 2866 ext: Get_Line (f\n+00004150: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+00004160: 2047 6574 2028 6675 6e63 7469 6f6e 292c Get (function),\n+00004170: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n+00004180: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n+00004190: 0a47 6574 5f43 6861 7220 2866 756e 6374 .Get_Char (funct\n+000041a0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+000041b0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+000041c0: 450a 2020 2020 2047 6574 2061 2063 6861 E. Get a cha\n+000041d0: 7261 6374 6572 2066 726f 6d20 6120 7265 racter from a re\n+000041e0: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n+000041f0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00004200: 6b65 7473 2e47 6574 5f43 6861 723a 2066 kets.Get_Char: f\n+00004210: 756e 6374 696f 6e20 4765 745f 4368 6172 unction Get_Char\n+00004220: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00004230: 745f 4644 2743 6c61 7373 290a 2020 2020 t_FD'Class). \n+00004240: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+00004250: 6e20 4368 6172 6163 7465 723b 0a0a 5041 n Character;..PA\n+00004260: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00004270: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00004280: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00004290: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+000042a0: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+000042b0: 5552 4e20 5641 4c55 450a 2020 2020 204f URN VALUE. O\n+000042c0: 6e65 2063 6861 7261 6374 6572 2073 656e ne character sen\n+000042d0: 7420 6279 2074 6865 2072 656d 6f74 6520 t by the remote \n+000042e0: 686f 7374 0a0a 4445 5343 5249 5054 494f host..DESCRIPTIO\n+000042f0: 4e0a 2020 2020 2054 6869 7320 6675 6e63 N. This func\n+00004300: 7469 6f6e 2072 6563 6569 7665 7320 6578 tion receives ex\n+00004310: 6163 746c 7920 6f6e 6520 6368 6172 6163 actly one charac\n+00004320: 7465 7220 6672 6f6d 2074 6865 2072 656d ter from the rem\n+00004330: 6f74 6520 686f 7374 2e0a 0a45 5843 4550 ote host...EXCEP\n+00004340: 5449 4f4e 530a 2020 2020 20e2 8098 436f TIONS. ...Co\n+00004350: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2 nnection_Closed.\n+00004360: 8099 5065 6572 2068 6173 2063 6c6f 7365 ..Peer has close\n+00004370: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n+00004380: 2062 6566 6f72 650a 2020 2020 2020 2020 before. \n+00004390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000043a0: 7365 6e64 696e 6720 7468 6520 6368 6172 sending the char\n+000043b0: 6163 7465 720a 0a53 4545 2041 4c53 4f0a acter..SEE ALSO.\n+000043c0: 2020 2020 202a 6e6f 7465 2047 6574 2028 *note Get (\n+000043d0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+000043e0: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n+000043f0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00004400: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00004410: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00004420: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00004430: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00004440: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00004450: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00004460: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00004470: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00004480: 6f2c 2020 4e6f 6465 3a20 4765 745f 4c69 o, Node: Get_Li\n+00004490: 6e65 2028 6675 6e63 7469 6f6e 292c 2020 ne (function), \n+000044a0: 4e65 7874 3a20 4765 745f 4c69 6e65 2028 Next: Get_Line (\n+000044b0: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+000044c0: 763a 2047 6574 5f43 6861 7220 2866 756e v: Get_Char (fun\n+000044d0: 6374 696f 6e29 2c20 2055 703a 2041 6363 ction), Up: Acc\n+000044e0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+000044f0: 6564 7572 6529 0a0a 4765 745f 4c69 6e65 edure)..Get_Line\n+00004500: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n+00004510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00004520: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+00004530: 7420 6120 7768 6f6c 6520 6c69 6e65 2066 t a whole line f\n+00004540: 726f 6d20 6120 7265 6d6f 7465 2068 6f73 rom a remote hos\n+00004550: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+00004560: 2020 2d2d 2053 6f63 6b65 7473 2e47 6574 -- Sockets.Get\n+00004570: 5f4c 696e 653a 2066 756e 6374 696f 6e20 _Line: function \n+00004580: 4765 745f 4c69 6e65 2028 534f 434b 4554 Get_Line (SOCKET\n+00004590: 203a 2053 6f63 6b65 745f 4644 2743 6c61 : Socket_FD'Cla\n+000045a0: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n+000045b0: 2020 204d 4158 5f4c 454e 4754 4820 3a20 MAX_LENGTH : \n+000045c0: 506f 7369 7469 7665 203a 3d20 3230 3438 Positive := 2048\n+000045d0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+000045e0: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n+000045f0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00004600: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+00004610: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+00004620: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n+00004630: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+00004640: 2020 2020 4d41 585f 4c45 4e47 5448 2069 MAX_LENGTH i\n+00004650: 6e20 2020 2020 2020 2020 4d61 7869 6d75 n Maximu\n+00004660: 6d20 7265 7475 726e 6564 206c 696e 6520 m returned line \n+00004670: 6c65 6e67 7468 0a0a 5245 5455 524e 2056 length..RETURN V\n+00004680: 414c 5545 0a20 2020 2020 4120 6c69 6e65 ALUE. A line\n+00004690: 2077 6974 686f 7574 2074 6865 2043 5220 without the CR \n+000046a0: 616e 6420 4c46 2073 6570 6172 6174 6f72 and LF separator\n+000046b0: 730a 0a44 4553 4352 4950 5449 4f4e 0a20 s..DESCRIPTION. \n+000046c0: 2020 2020 5468 6973 2066 756e 6374 696f This functio\n+000046d0: 6e20 7265 6365 6976 6573 206f 6e65 206c n receives one l\n+000046e0: 696e 6520 6672 6f6d 2074 6865 2072 656d ine from the rem\n+000046f0: 6f74 6520 686f 7374 2e20 2041 206c 696e ote host. A lin\n+00004700: 650a 2020 2020 2063 6f6e 7369 7374 7320 e. consists \n+00004710: 696e 746f 207a 6572 6f20 6f72 206d 6f72 into zero or mor\n+00004720: 6520 6368 6172 6163 7465 7273 2066 6f6c e characters fol\n+00004730: 6c6f 7765 6420 6279 2061 6e20 6f70 7469 lowed by an opti\n+00004740: 6f6e 616c 2043 520a 2020 2020 2061 6e64 onal CR. and\n+00004750: 2062 7920 6120 4c46 2e20 5468 6f73 6520 by a LF. Those \n+00004760: 7465 726d 696e 6174 6f72 7320 6172 6520 terminators are \n+00004770: 7374 7269 7070 6564 2062 6566 6f72 6520 stripped before \n+00004780: 7468 6520 6c69 6e65 2069 730a 2020 2020 the line is. \n+00004790: 2072 6574 7572 6e65 642e 0a0a 2020 2020 returned... \n+000047a0: 2054 6869 7320 6675 6e63 7469 6f6e 2062 This function b\n+000047b0: 6c6f 636b 7320 756e 7469 6c20 6f6e 6520 locks until one \n+000047c0: 6675 6c6c 206c 696e 6520 6861 7320 6265 full line has be\n+000047d0: 656e 2072 6563 6569 7665 642e 2020 5468 en received. Th\n+000047e0: 650a 2020 2020 206c 696e 6520 6c65 6e67 e. line leng\n+000047f0: 7468 2069 7320 6c69 6d69 7465 6420 7769 th is limited wi\n+00004800: 7468 2074 6865 2076 616c 7565 206f 6620 th the value of \n+00004810: 7468 6520 4d61 785f 4c65 6e67 7468 2061 the Max_Length a\n+00004820: 7267 756d 656e 742c 0a20 2020 2020 746f rgument,. to\n+00004830: 2061 766f 6964 2065 7868 6175 7374 696f avoid exhaustio\n+00004840: 6e20 6f66 2074 6865 2073 6563 6f6e 6461 n of the seconda\n+00004850: 7279 2073 7461 636b 2e0a 0a45 5843 4550 ry stack...EXCEP\n+00004860: 5449 4f4e 530a 2020 2020 20e2 8098 436f TIONS. ...Co\n+00004870: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2 nnection_Closed.\n+00004880: 8099 5065 6572 2068 6173 2063 6c6f 7365 ..Peer has close\n+00004890: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n+000048a0: 2062 6566 6f72 650a 2020 2020 2020 2020 before. \n+000048b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000048c0: 7365 6e64 696e 6720 6120 7768 6f6c 6520 sending a whole \n+000048d0: 6c69 6e65 0a0a 5345 4520 414c 534f 0a20 line..SEE ALSO. \n+000048e0: 2020 2020 2a6e 6f74 6520 4765 7420 2866 *note Get (f\n+000048f0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n+00004900: 202a 6e6f 7465 2047 6574 5f43 6861 7220 *note Get_Char \n+00004910: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00004920: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+00004930: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00004940: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n+00004950: 6976 6520 2870 726f 6365 6475 7265 293a ive (procedure):\n+00004960: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365 :,. *note Se\n+00004970: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00004980: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+00004990: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+000049a0: 2c20 204e 6f64 653a 2047 6574 5f4c 696e , Node: Get_Lin\n+000049b0: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n+000049c0: 4e65 7874 3a20 4765 745f 5265 6365 6976 Next: Get_Receiv\n+000049d0: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+000049e0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+000049f0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n+00004a00: 6f6e 292c 2020 5570 3a20 4163 6365 7074 on), Up: Accept\n+00004a10: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00004a20: 7265 290a 0a47 6574 5f4c 696e 6520 2870 re)..Get_Line (p\n+00004a30: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+00004a40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00004a50: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n+00004a60: 2061 2077 686f 6c65 206c 696e 6520 6672 a whole line fr\n+00004a70: 6f6d 2061 2072 656d 6f74 6520 686f 7374 om a remote host\n+00004a80: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+00004a90: 202d 2d20 536f 636b 6574 732e 4765 745f -- Sockets.Get_\n+00004aa0: 4c69 6e65 3a20 7072 6f63 6564 7572 6520 Line: procedure \n+00004ab0: 4765 745f 4c69 6e65 2028 534f 434b 4554 Get_Line (SOCKET\n+00004ac0: 203a 2053 6f63 6b65 745f 4644 2743 6c61 : Socket_FD'Cla\n+00004ad0: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n+00004ae0: 2020 2053 5452 203a 2069 6e20 6f75 7420 STR : in out \n+00004af0: 5374 7269 6e67 3b20 4c41 5354 203a 206f String; LAST : o\n+00004b00: 7574 204e 6174 7572 616c 293b 0a0a 5041 ut Natural);..PA\n+00004b10: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00004b20: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00004b30: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00004b40: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00004b50: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00004b60: 2053 5452 2020 2020 2020 2020 696e 206f STR in o\n+00004b70: 7574 2020 2020 2053 7472 696e 6720 746f ut String to\n+00004b80: 2066 696c 6c0a 2020 2020 204c 4153 5420 fill. LAST \n+00004b90: 2020 2020 2020 6f75 7420 2020 2020 2020 out \n+00004ba0: 204c 6173 7420 696e 6465 7820 7573 6564 Last index used\n+00004bb0: 2069 6e20 7468 6520 7374 7269 6e67 0a0a in the string..\n+00004bc0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+00004bd0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00004be0: 7265 6365 6976 6573 206f 6e65 206c 696e receives one lin\n+00004bf0: 6520 6672 6f6d 2074 6865 2072 656d 6f74 e from the remot\n+00004c00: 6520 686f 7374 2e20 2041 206c 696e 650a e host. A line.\n+00004c10: 2020 2020 2063 6f6e 7369 7374 7320 696e consists in\n+00004c20: 746f 207a 6572 6f20 6f72 206d 6f72 6520 to zero or more \n+00004c30: 6368 6172 6163 7465 7273 2066 6f6c 6c6f characters follo\n+00004c40: 7765 6420 6279 2061 6e20 6f70 7469 6f6e wed by an option\n+00004c50: 616c 2043 520a 2020 2020 2061 6e64 2062 al CR. and b\n+00004c60: 7920 6120 4c46 2e20 5468 6f73 6520 7465 y a LF. Those te\n+00004c70: 726d 696e 6174 6f72 7320 6172 6520 7374 rminators are st\n+00004c80: 7269 7070 6564 2062 6566 6f72 6520 7468 ripped before th\n+00004c90: 6520 6c69 6e65 2069 730a 2020 2020 2072 e line is. r\n+00004ca0: 6574 7572 6e65 642e 0a0a 2020 2020 2054 eturned... T\n+00004cb0: 6869 7320 7072 6f63 6564 7572 6520 626c his procedure bl\n+00004cc0: 6f63 6b73 2075 6e74 696c 206f 6e65 2066 ocks until one f\n+00004cd0: 756c 6c20 6c69 6e65 2068 6173 2062 6565 ull line has bee\n+00004ce0: 6e20 7265 6365 6976 6564 2e0a 0a45 5843 n received...EXC\n+00004cf0: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n+00004d00: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+00004d10: 64e2 8099 5065 6572 2068 6173 2063 6c6f d...Peer has clo\n+00004d20: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+00004d30: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n+00004d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004d50: 2020 7365 6e64 696e 6720 6120 7768 6f6c sending a whol\n+00004d60: 6520 6c69 6e65 0a0a 5345 4520 414c 534f e line..SEE ALSO\n+00004d70: 0a20 2020 2020 2a6e 6f74 6520 4765 7420 . *note Get \n+00004d80: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00004d90: 2020 202a 6e6f 7465 2047 6574 5f43 6861 *note Get_Cha\n+00004da0: 7220 2866 756e 6374 696f 6e29 3a3a 2c0a r (function)::,.\n+00004db0: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00004dc0: 696e 6520 2866 756e 6374 696f 6e29 3a3a ine (function)::\n+00004dd0: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00004de0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00004df0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00004e00: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00004e10: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00004e20: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00004e30: 6f2c 2020 4e6f 6465 3a20 4765 745f 5265 o, Node: Get_Re\n+00004e40: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n+00004e50: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+00004e60: 7874 3a20 4765 745f 5365 6e64 5f51 7565 xt: Get_Send_Que\n+00004e70: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+00004e80: 6e29 2c20 2050 7265 763a 2047 6574 5f4c n), Prev: Get_L\n+00004e90: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+00004ea0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n+00004eb0: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n+00004ec0: 0a47 6574 5f52 6563 6569 7665 5f51 7565 .Get_Receive_Que\n+00004ed0: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+00004ee0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+00004ef0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004f00: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00004f10: 2020 2052 6574 7572 6e20 7468 6520 7369 Return the si\n+00004f20: 7a65 206f 6620 7468 6520 756e 7265 6164 ze of the unread\n+00004f30: 2064 6174 6120 696e 2074 6865 2069 6e70 data in the inp\n+00004f40: 7574 2071 7565 7565 0a50 524f 544f 5459 ut queue.PROTOTY\n+00004f50: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00004f60: 6574 732e 4765 745f 5265 6365 6976 655f ets.Get_Receive_\n+00004f70: 5175 6575 655f 5369 7a65 3a20 6675 6e63 Queue_Size: func\n+00004f80: 7469 6f6e 2047 6574 5f52 6563 6569 7665 tion Get_Receive\n+00004f90: 5f51 7565 7565 5f53 697a 650a 2020 2020 _Queue_Size. \n+00004fa0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+00004fb0: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+00004fc0: 6c61 7373 290a 2020 2020 2020 2020 2020 lass). \n+00004fd0: 2020 2020 2072 6574 7572 6e20 496e 7465 return Inte\n+00004fe0: 6765 723b 0a0a 5041 5241 4d45 5445 5253 ger;..PARAMETERS\n+00004ff0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00005000: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00005010: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00005020: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00005030: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n+00005040: 450a 2020 2020 2054 6865 206e 6f6e 2d6e E. The non-n\n+00005050: 6567 6174 6976 6520 7369 7a65 2069 6e20 egative size in \n+00005060: 6279 7465 7320 6f66 2074 6865 2069 6e70 bytes of the inp\n+00005070: 7574 2071 7565 7565 0a0a 4445 5343 5249 ut queue..DESCRI\n+00005080: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+00005090: 6675 6e63 7469 6f6e 2069 7320 6f6e 6c79 function is only\n+000050a0: 2061 7661 696c 6162 6c65 206f 6e20 4c69 available on Li\n+000050b0: 6e75 7820 706c 6174 666f 726d 732e 2020 nux platforms. \n+000050c0: 4f6e 206f 7468 6572 0a20 2020 2020 6f70 On other. op\n+000050d0: 6572 6174 696e 6720 7379 7374 656d 732c erating systems,\n+000050e0: 2069 7420 7769 6c6c 2072 6574 7572 6e20 it will return \n+000050f0: 2d32 2074 6f20 696e 6469 6361 7465 2074 -2 to indicate t\n+00005100: 6861 7420 7468 6520 6e65 6365 7373 6172 hat the necessar\n+00005110: 790a 2020 2020 206d 6563 6861 6e69 736d y. mechanism\n+00005120: 7320 746f 2072 6574 7269 6576 6520 7468 s to retrieve th\n+00005130: 6520 696e 666f 726d 6174 696f 6e20 6172 e information ar\n+00005140: 6520 6e6f 7420 6176 6169 6c61 626c 652e e not available.\n+00005150: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00005160: 2a6e 6f74 6520 5265 6365 6976 6520 2870 *note Receive (p\n+00005170: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+00005180: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00005190: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n+000051a0: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz\n+000051b0: 6520 2866 756e 6374 696f 6e29 2c20 204e e (function), N\n+000051c0: 6578 743a 2047 6574 736f 636b 6f70 7420 ext: Getsockopt \n+000051d0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+000051e0: 6576 3a20 4765 745f 5265 6365 6976 655f ev: Get_Receive_\n+000051f0: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n+00005200: 7469 6f6e 292c 2020 5570 3a20 4163 6365 tion), Up: Acce\n+00005210: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00005220: 6475 7265 290a 0a47 6574 5f53 656e 645f dure)..Get_Send_\n+00005230: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n+00005240: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+00005250: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005260: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00005270: 2020 2052 6574 7572 6e20 7468 6520 7369 Return the si\n+00005280: 7a65 206f 6620 7468 6520 756e 7365 6e74 ze of the unsent\n+00005290: 2064 6174 6120 696e 2074 6865 206f 7574 data in the out\n+000052a0: 7075 7420 7175 6575 650a 5052 4f54 4f54 put queue.PROTOT\n+000052b0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000052c0: 6b65 7473 2e47 6574 5f53 656e 645f 5175 kets.Get_Send_Qu\n+000052d0: 6575 655f 5369 7a65 3a20 6675 6e63 7469 eue_Size: functi\n+000052e0: 6f6e 2047 6574 5f53 656e 645f 5175 6575 on Get_Send_Queu\n+000052f0: 655f 5369 7a65 0a20 2020 2020 2020 2020 e_Size. \n+00005300: 2020 2020 2020 2853 4f43 4b45 5420 3a20 (SOCKET : \n+00005310: 536f 636b 6574 5f46 4427 436c 6173 7329 Socket_FD'Class)\n+00005320: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00005330: 7265 7475 726e 2049 6e74 6567 6572 3b0a return Integer;.\n+00005340: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00005350: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+00005360: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+00005370: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n+00005380: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n+00005390: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+000053a0: 2020 5468 6520 6e6f 6e2d 6e65 6761 7469 The non-negati\n+000053b0: 7665 2073 697a 6520 696e 2062 7974 6573 ve size in bytes\n+000053c0: 206f 6620 7468 6520 6f75 7470 7574 2071 of the output q\n+000053d0: 7565 7565 0a0a 4445 5343 5249 5054 494f ueue..DESCRIPTIO\n+000053e0: 4e0a 2020 2020 2054 6869 7320 6675 6e63 N. This func\n+000053f0: 7469 6f6e 2069 7320 6f6e 6c79 2061 7661 tion is only ava\n+00005400: 696c 6162 6c65 206f 6e20 4c69 6e75 7820 ilable on Linux \n+00005410: 706c 6174 666f 726d 732e 2020 4f6e 206f platforms. On o\n+00005420: 7468 6572 0a20 2020 2020 6f70 6572 6174 ther. operat\n+00005430: 696e 6720 7379 7374 656d 732c 2069 7420 ing systems, it \n+00005440: 7769 6c6c 2072 6574 7572 6e20 2d32 2074 will return -2 t\n+00005450: 6f20 696e 6469 6361 7465 2074 6861 7420 o indicate that \n+00005460: 7468 6520 6e65 6365 7373 6172 790a 2020 the necessary. \n+00005470: 2020 206d 6563 6861 6e69 736d 7320 746f mechanisms to\n+00005480: 2072 6574 7269 6576 6520 7468 6520 696e retrieve the in\n+00005490: 666f 726d 6174 696f 6e20 6172 6520 6e6f formation are no\n+000054a0: 7420 6176 6169 6c61 626c 652e 0a0a 5345 t available...SE\n+000054b0: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+000054c0: 6520 5365 6e64 2028 7072 6f63 6564 7572 e Send (procedur\n+000054d0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+000054e0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+000054f0: 204e 6f64 653a 2047 6574 736f 636b 6f70 Node: Getsockop\n+00005500: 7420 2870 726f 6365 6475 7265 292c 2020 t (procedure), \n+00005510: 4e65 7874 3a20 4c69 7374 656e 2028 7072 Next: Listen (pr\n+00005520: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00005530: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n+00005540: 5369 7a65 2028 6675 6e63 7469 6f6e 292c Size (function),\n+00005550: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n+00005560: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n+00005570: 0a47 6574 736f 636b 6f70 7420 2870 726f .Getsockopt (pro\n+00005580: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n+00005590: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+000055a0: 5055 5250 4f53 450a 2020 2020 2052 6574 PURPOSE. Ret\n+000055b0: 7269 6576 6520 6120 736f 636b 6574 206f rieve a socket o\n+000055c0: 7074 696f 6e0a 5052 4f54 4f54 5950 450a ption.PROTOTYPE.\n+000055d0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+000055e0: 2e47 6574 736f 636b 6f70 743a 2070 726f .Getsockopt: pro\n+000055f0: 6365 6475 7265 2047 6574 736f 636b 6f70 cedure Getsockop\n+00005600: 7420 2853 4f43 4b45 5420 3a20 536f 636b t (SOCKET : Sock\n+00005610: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n+00005620: 2020 2020 2020 4c45 5645 4c20 3a20 536f LEVEL : So\n+00005630: 636b 6574 5f4c 6576 656c 203a 3d20 534f cket_Level := SO\n+00005640: 4c5f 534f 434b 4554 3b0a 2020 2020 2020 L_SOCKET;. \n+00005650: 2020 2020 2020 2020 204f 5054 4e41 4d45 OPTNAME\n+00005660: 203a 2053 6f63 6b65 745f 4f70 7469 6f6e : Socket_Option\n+00005670: 3b20 4f50 5456 414c 203a 206f 7574 2049 ; OPTVAL : out I\n+00005680: 6e74 6567 6572 293b 0a0a 5041 5241 4d45 nteger);..PARAME\n+00005690: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+000056a0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+000056b0: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+000056c0: 626f 756e 6420 736f 636b 6574 206f 626a bound socket obj\n+000056d0: 6563 740a 2020 2020 204c 4556 454c 2020 ect. LEVEL \n+000056e0: 2020 2020 696e 2020 2020 2020 2020 2050 in P\n+000056f0: 726f 746f 636f 6c20 6c65 7665 6c0a 2020 rotocol level. \n+00005700: 2020 204f 5054 4e41 4d45 2020 2020 696e OPTNAME in\n+00005710: 2020 2020 2020 2020 204f 7074 696f 6e20 Option \n+00005720: 6e61 6d65 0a20 2020 2020 4f50 5456 414c name. OPTVAL\n+00005730: 2020 2020 206f 7574 2020 2020 2020 2020 out \n+00005740: 4f70 7469 6f6e 2076 616c 7565 0a0a 4445 Option value..DE\n+00005750: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00005760: 6869 7320 7072 6f63 6564 7572 6520 7265 his procedure re\n+00005770: 7472 6965 7665 7320 6f70 7469 6f6e 7320 trieves options \n+00005780: 6170 706c 6963 6162 6c65 2074 6f20 6120 applicable to a \n+00005790: 736f 636b 6574 2e20 2050 6c65 6173 650a socket. Please.\n+000057a0: 2020 2020 2073 6565 2079 6f75 7220 6f70 see your op\n+000057b0: 6572 6174 696e 6720 7379 7374 656d 206d erating system m\n+000057c0: 616e 7561 6c20 666f 7220 7573 6162 6c65 anual for usable\n+000057d0: 206c 6576 656c 7320 616e 6420 6f70 7469 levels and opti\n+000057e0: 6f6e 732e 0a0a 2020 2020 2054 776f 206c ons... Two l\n+000057f0: 6576 656c 7320 6172 6520 6465 6669 6e65 evels are define\n+00005800: 643a 20e2 8098 534f 4c5f 534f 434b 4554 d: ...SOL_SOCKET\n+00005810: e280 9920 2874 6865 2064 6566 6175 6c74 ... (the default\n+00005820: 2920 616e 640a 2020 2020 20e2 8098 4950 ) and. ...IP\n+00005830: 5052 4f54 4f5f 4950 e280 992e 2020 5468 PROTO_IP.... Th\n+00005840: 6520 6f70 7469 6f6e 7320 6172 6520 e280 e options are ..\n+00005850: 9853 4f5f 5245 5553 4541 4444 52e2 8099 .SO_REUSEADDR...\n+00005860: 2c20 e280 9853 4f5f 5245 5553 4550 4f52 , ...SO_REUSEPOR\n+00005870: 54e2 8099 2c0a 2020 2020 20e2 8098 4950 T...,. ...IP\n+00005880: 5f4d 554c 5449 4341 5354 5f54 544c e280 _MULTICAST_TTL..\n+00005890: 992c 20e2 8098 4950 5f41 4444 5f4d 454d ., ...IP_ADD_MEM\n+000058a0: 4245 5253 4849 50e2 8099 2c20 e280 9849 BERSHIP..., ...I\n+000058b0: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI\n+000058c0: 50e2 8099 2c0a 2020 2020 20e2 8098 4950 P...,. ...IP\n+000058d0: 5f4d 554c 5449 4341 5354 5f4c 4f4f 50e2 _MULTICAST_LOOP.\n+000058e0: 8099 2c20 e280 9853 4f5f 534e 4442 5546 .., ...SO_SNDBUF\n+000058f0: e280 9920 616e 6420 e280 9849 505f 5243 ... and ...IP_RC\n+00005900: 5642 5546 e280 992e 0a0a 2020 2020 204e VBUF...... N\n+00005910: 6f74 6520 7468 6174 2075 6e6c 696b 6520 ote that unlike \n+00005920: 7468 6569 7220 4320 6c61 6e67 7561 6765 their C language\n+00005930: 2063 6f75 6e74 6572 7061 7274 2c20 e280 counterpart, ..\n+00005940: 9847 6574 736f 636b 6f70 74e2 8099 2061 .Getsockopt... a\n+00005950: 6e64 0a20 2020 2020 e280 9853 6574 736f nd. ...Setso\n+00005960: 636b 6f70 74e2 8099 2064 6f20 6e6f 7420 ckopt... do not \n+00005970: 7265 7175 6972 6520 616e 2065 7874 7261 require an extra\n+00005980: 2070 6172 616d 6574 6572 2072 6570 7265 parameter repre\n+00005990: 7365 6e74 696e 6720 7468 650a 2020 2020 senting the. \n+000059a0: 206c 656e 6774 6820 696e 2062 7974 6573 length in bytes\n+000059b0: 206f 6620 7468 6520 6f70 7469 6f6e 2076 of the option v\n+000059c0: 616c 7565 2e20 2041 6461 536f 636b 6574 alue. AdaSocket\n+000059d0: 7320 6b6e 6f77 7320 7468 6520 7269 6768 s knows the righ\n+000059e0: 740a 2020 2020 2073 697a 6520 666f 7220 t. size for \n+000059f0: 6576 6572 7920 6f70 7469 6f6e 2e0a 0a53 every option...S\n+00005a00: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00005a10: 7465 2053 6574 736f 636b 6f70 7420 2870 te Setsockopt (p\n+00005a20: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+00005a30: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00005a40: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4c69 .info, Node: Li\n+00005a50: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n+00005a60: 2c20 204e 6578 743a 204e 6577 5f4c 696e , Next: New_Lin\n+00005a70: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n+00005a80: 5072 6576 3a20 4765 7473 6f63 6b6f 7074 Prev: Getsockopt\n+00005a90: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n+00005aa0: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00005ab0: 2028 7072 6f63 6564 7572 6529 0a0a 4c69 (procedure)..Li\n+00005ac0: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n+00005ad0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00005ae0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+00005af0: 2020 4573 7461 626c 6973 6820 6120 6c69 Establish a li\n+00005b00: 7374 656e 2071 7565 7565 0a50 524f 544f sten queue.PROTO\n+00005b10: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00005b20: 636b 6574 732e 4c69 7374 656e 3a20 7072 ckets.Listen: pr\n+00005b30: 6f63 6564 7572 6520 4c69 7374 656e 2028 ocedure Listen (\n+00005b40: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+00005b50: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n+00005b60: 2020 2051 5545 5545 5f53 495a 4520 3a20 QUEUE_SIZE : \n+00005b70: 506f 7369 7469 7665 203a 3d20 3529 3b0a Positive := 5);.\n+00005b80: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00005b90: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+00005ba0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+00005bb0: 6564 2061 6e64 2062 6f75 6e64 2073 6f63 ed and bound soc\n+00005bc0: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+00005bd0: 5155 4555 455f 5349 5a45 2069 6e20 2020 QUEUE_SIZE in \n+00005be0: 2020 2020 2020 5265 7175 6573 7465 6420 Requested \n+00005bf0: 736c 6f74 7320 696e 2074 6865 206c 6973 slots in the lis\n+00005c00: 7465 6e20 7175 6575 650a 0a44 4553 4352 ten queue..DESCR\n+00005c10: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00005c20: 2070 726f 6365 6475 7265 2065 7374 6162 procedure estab\n+00005c30: 6c69 7368 6573 2061 206c 6973 7465 6e20 lishes a listen \n+00005c40: 7175 6575 6520 6166 7465 7220 6120 5443 queue after a TC\n+00005c50: 5020 736f 636b 6574 2061 730a 2020 2020 P socket as. \n+00005c60: 2062 6565 6e20 696e 6974 6961 6c69 7a65 been initialize\n+00005c70: 6420 616e 6420 626f 756e 642e 2020 4561 d and bound. Ea\n+00005c80: 6368 2073 6c6f 7420 696e 2074 6865 2071 ch slot in the q\n+00005c90: 7565 7565 2063 616e 2068 6f6c 6420 6f6e ueue can hold on\n+00005ca0: 650a 2020 2020 2069 6e63 6f6d 696e 6720 e. incoming \n+00005cb0: 636f 6e6e 6563 7469 6f6e 2074 6861 7420 connection that \n+00005cc0: 6861 7320 6e6f 7420 6265 656e 2061 6363 has not been acc\n+00005cd0: 6570 7465 6420 7965 742e 2020 4e6f 7465 epted yet. Note\n+00005ce0: 2074 6861 7420 6d6f 7374 0a20 2020 2020 that most. \n+00005cf0: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n+00005d00: 7320 6967 6e6f 7265 2071 7565 7565 2073 s ignore queue s\n+00005d10: 697a 6573 206c 6172 6765 7220 7468 616e izes larger than\n+00005d20: 2066 6976 652e 0a0a 5345 4520 414c 534f five...SEE ALSO\n+00005d30: 0a20 2020 2020 2a6e 6f74 6520 4163 6365 . *note Acce\n+00005d40: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00005d50: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00005d60: 6f74 6520 4269 6e64 2028 7072 6f63 6564 ote Bind (proced\n+00005d70: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+00005d80: 7465 2053 6f63 6b65 7420 2870 726f 6365 te Socket (proce\n+00005d90: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00005da0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00005db0: 6f2c 2020 4e6f 6465 3a20 4e65 775f 4c69 o, Node: New_Li\n+00005dc0: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+00005dd0: 204e 6578 743a 2050 7574 2028 7072 6f63 Next: Put (proc\n+00005de0: 6564 7572 6529 2c20 2050 7265 763a 204c edure), Prev: L\n+00005df0: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+00005e00: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00005e10: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00005e20: 290a 0a4e 6577 5f4c 696e 6520 2870 726f )..New_Line (pro\n+00005e30: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n+00005e40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+00005e50: 5250 4f53 450a 2020 2020 2053 656e 6420 RPOSE. Send \n+00005e60: 6120 4352 2f4c 4620 746f 2061 2072 656d a CR/LF to a rem\n+00005e70: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n+00005e80: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00005e90: 6574 732e 4e65 775f 4c69 6e65 3a20 7072 ets.New_Line: pr\n+00005ea0: 6f63 6564 7572 6520 4e65 775f 4c69 6e65 ocedure New_Line\n+00005eb0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00005ec0: 745f 4644 2743 6c61 7373 3b0a 2020 2020 t_FD'Class;. \n+00005ed0: 2020 2020 2020 2020 2020 2043 4f55 4e54 COUNT\n+00005ee0: 203a 204e 6174 7572 616c 203a 3d20 3129 : Natural := 1)\n+00005ef0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00005f00: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00005f10: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00005f20: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+00005f30: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+00005f40: 0a20 2020 2020 434f 554e 5420 2020 2020 . COUNT \n+00005f50: 2069 6e20 2020 2020 2020 2020 4e75 6d62 in Numb\n+00005f60: 6572 206f 6620 4352 2f4c 4620 7365 7175 er of CR/LF sequ\n+00005f70: 656e 6365 7320 746f 2073 656e 640a 0a44 ences to send..D\n+00005f80: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00005f90: 5468 6973 2070 726f 6365 6475 7265 2073 This procedure s\n+00005fa0: 656e 6473 206f 6e65 206f 7220 6d6f 7265 ends one or more\n+00005fb0: 2043 522f 4c46 2063 6f6d 6269 6e61 7469 CR/LF combinati\n+00005fc0: 6f6e 7320 746f 2074 6865 2070 6565 722e ons to the peer.\n+00005fd0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n+00005fe0: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f ...Connection_\n+00005ff0: 436c 6f73 6564 e280 9950 6565 7220 6861 Closed...Peer ha\n+00006000: 7320 7072 656d 6174 7572 656c 7920 636c s prematurely cl\n+00006010: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+00006020: 696f 6e0a 0a53 4545 2041 4c53 4f0a 2020 ion..SEE ALSO. \n+00006030: 2020 202a 6e6f 7465 2050 7574 2028 7072 *note Put (pr\n+00006040: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00006050: 202a 6e6f 7465 2050 7574 5f4c 696e 6520 *note Put_Line \n+00006060: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00006070: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00006080: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00006090: 5075 7420 2870 726f 6365 6475 7265 292c Put (procedure),\n+000060a0: 2020 4e65 7874 3a20 5075 745f 4c69 6e65 Next: Put_Line\n+000060b0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+000060c0: 7265 763a 204e 6577 5f4c 696e 6520 2870 rev: New_Line (p\n+000060d0: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n+000060e0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+000060f0: 726f 6365 6475 7265 290a 0a50 7574 2028 rocedure)..Put (\n+00006100: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00006110: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00006120: 4f53 450a 2020 2020 2053 656e 6420 6120 OSE. Send a \n+00006130: 7374 7269 6e67 2074 6f20 6120 7265 6d6f string to a remo\n+00006140: 7465 2068 6f73 740a 5052 4f54 4f54 5950 te host.PROTOTYP\n+00006150: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00006160: 7473 2e50 7574 3a20 7072 6f63 6564 7572 ts.Put: procedur\n+00006170: 6520 5075 7420 2853 4f43 4b45 5420 3a20 e Put (SOCKET : \n+00006180: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n+00006190: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000061a0: 5354 5220 3a20 5374 7269 6e67 293b 0a0a STR : String);..\n+000061b0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+000061c0: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+000061d0: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+000061e0: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n+000061f0: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+00006200: 2020 2053 5452 2020 2020 2020 2020 696e STR in\n+00006210: 2020 2020 2020 2020 2053 7472 696e 6720 String \n+00006220: 746f 2073 656e 640a 0a44 4553 4352 4950 to send..DESCRIP\n+00006230: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n+00006240: 726f 6365 6475 7265 2073 656e 6473 2074 rocedure sends t\n+00006250: 6865 2063 6f6e 7465 6e74 206f 6620 5354 he content of ST\n+00006260: 5220 6f76 6572 2061 6e20 6f75 7467 6f69 R over an outgoi\n+00006270: 6e67 206f 720a 2020 2020 2069 6e63 6f6d ng or. incom\n+00006280: 696e 6720 736f 636b 6574 2e0a 0a45 5843 ing socket...EXC\n+00006290: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n+000062a0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+000062b0: 64e2 8099 5065 6572 2068 6173 2070 7265 d...Peer has pre\n+000062c0: 6d61 7475 7265 6c79 2063 6c6f 7365 6420 maturely closed \n+000062d0: 7468 6520 636f 6e6e 6563 7469 6f6e 0a0a the connection..\n+000062e0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+000062f0: 6f74 6520 4e65 775f 4c69 6e65 2028 7072 ote New_Line (pr\n+00006300: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00006310: 202a 6e6f 7465 2050 7574 5f4c 696e 6520 *note Put_Line \n+00006320: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+00006330: 2020 2020 2a6e 6f74 6520 5365 6e64 2028 *note Send (\n+00006340: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00006350: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00006360: 732e 696e 666f 2c20 204e 6f64 653a 2050 s.info, Node: P\n+00006370: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n+00006380: 7265 292c 2020 4e65 7874 3a20 5265 6365 re), Next: Rece\n+00006390: 6976 6520 2866 756e 6374 696f 6e29 2c20 ive (function), \n+000063a0: 2050 7265 763a 2050 7574 2028 7072 6f63 Prev: Put (proc\n+000063b0: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+000063c0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+000063d0: 6564 7572 6529 0a0a 5075 745f 4c69 6e65 edure)..Put_Line\n+000063e0: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+000063f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006400: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00006410: 5365 6e64 2061 2043 522f 4c46 2074 6572 Send a CR/LF ter\n+00006420: 6d69 6e61 7465 6420 7374 7269 6e67 2074 minated string t\n+00006430: 6f20 6120 7265 6d6f 7465 2068 6f73 740a o a remote host.\n+00006440: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+00006450: 2d2d 2053 6f63 6b65 7473 2e50 7574 5f4c -- Sockets.Put_L\n+00006460: 696e 653a 2070 726f 6365 6475 7265 2050 ine: procedure P\n+00006470: 7574 5f4c 696e 6520 2853 4f43 4b45 5420 ut_Line (SOCKET \n+00006480: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n+00006490: 733b 0a20 2020 2020 2020 2020 2020 2020 s;. \n+000064a0: 2020 5354 5220 3a20 5374 7269 6e67 293b STR : String);\n+000064b0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+000064c0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+000064d0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000064e0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n+000064f0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00006500: 2020 2020 2053 5452 2020 2020 2020 2020 STR \n+00006510: 696e 2020 2020 2020 2020 2053 7472 696e in Strin\n+00006520: 6720 746f 2073 656e 640a 0a44 4553 4352 g to send..DESCR\n+00006530: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00006540: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n+00006550: 2074 6865 2063 6f6e 7465 6e74 206f 6620 the content of \n+00006560: 5354 5220 706c 7573 2061 2043 522f 4c46 STR plus a CR/LF\n+00006570: 2063 6f6d 6269 6e61 7469 6f6e 0a20 2020 combination. \n+00006580: 2020 6f76 6572 2061 6e20 6f75 7467 6f69 over an outgoi\n+00006590: 6e67 206f 7220 696e 636f 6d69 6e67 2073 ng or incoming s\n+000065a0: 6f63 6b65 742e 0a0a 4558 4345 5054 494f ocket...EXCEPTIO\n+000065b0: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65 NS. ...Conne\n+000065c0: 6374 696f 6e5f 436c 6f73 6564 e280 9950 ction_Closed...P\n+000065d0: 6565 7220 6861 7320 7072 656d 6174 7572 eer has prematur\n+000065e0: 656c 7920 636c 6f73 6564 2074 6865 2063 ely closed the c\n+000065f0: 6f6e 6e65 6374 696f 6e0a 0a53 4545 2041 onnection..SEE A\n+00006600: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n+00006610: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+00006620: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+00006630: 6520 5075 7420 2870 726f 6365 6475 7265 e Put (procedure\n+00006640: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00006650: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00006660: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+00006670: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00006680: 6f64 653a 2052 6563 6569 7665 2028 6675 ode: Receive (fu\n+00006690: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n+000066a0: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+000066b0: 7265 292c 2020 5072 6576 3a20 5075 745f re), Prev: Put_\n+000066c0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+000066d0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+000066e0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+000066f0: 0a0a 5265 6365 6976 6520 2866 756e 6374 ..Receive (funct\n+00006700: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+00006710: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00006720: 0a20 2020 2020 5265 6365 6976 6520 7261 . Receive ra\n+00006730: 7720 6461 7461 206f 7665 7220 6120 736f w data over a so\n+00006740: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n+00006750: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+00006760: 5265 6365 6976 653a 2066 756e 6374 696f Receive: functio\n+00006770: 6e20 5265 6365 6976 6520 2853 4f43 4b45 n Receive (SOCKE\n+00006780: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n+00006790: 2020 2020 2020 2020 2020 2020 2020 4d41 MA\n+000067a0: 5820 3a20 4164 612e 5374 7265 616d 732e X : Ada.Streams.\n+000067b0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n+000067c0: 6f75 6e74 203a 3d20 3430 3936 290a 2020 ount := 4096). \n+000067d0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+000067e0: 7572 6e20 4164 612e 5374 7265 616d 732e urn Ada.Streams.\n+000067f0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00006800: 7272 6179 3b0a 0a50 4152 414d 4554 4552 rray;..PARAMETER\n+00006810: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00006820: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00006830: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n+00006840: 6e64 206f 7220 636f 6e6e 6563 7465 640a nd or connected.\n+00006850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006860: 2020 2020 2020 2020 2020 2073 6f63 6b65 socke\n+00006870: 7420 6f62 6a65 6374 0a20 2020 2020 4d41 t object. MA\n+00006880: 5820 2020 2020 2020 2069 6e20 2020 2020 X in \n+00006890: 2020 2020 4d61 7869 6d75 6d20 6461 7461 Maximum data\n+000068a0: 206c 656e 6774 680a 0a52 4554 5552 4e20 length..RETURN \n+000068b0: 5641 4c55 450a 2020 2020 2052 6563 6569 VALUE. Recei\n+000068c0: 7665 6420 7261 7720 6461 7461 0a0a 4445 ved raw data..DE\n+000068d0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+000068e0: 6869 7320 7072 6f63 6564 7572 6520 7265 his procedure re\n+000068f0: 6365 6976 6573 2064 6174 6120 6672 6f6d ceives data from\n+00006900: 2061 2062 6f75 6e64 2055 4450 2073 6f63 a bound UDP soc\n+00006910: 6b65 7420 6f72 2061 2063 6f6e 6e65 6374 ket or a connect\n+00006920: 6564 0a20 2020 2020 5443 5020 736f 636b ed. TCP sock\n+00006930: 6574 2e20 204f 6e6c 7920 6f6e 6520 7379 et. Only one sy\n+00006940: 7374 656d 2063 616c 6c20 7769 6c6c 2062 stem call will b\n+00006950: 6520 7065 7266 6f72 6d65 643b 2074 6869 e performed; thi\n+00006960: 7320 6675 6e63 7469 6f6e 0a20 2020 2020 s function. \n+00006970: 7769 6c6c 2072 6574 7572 6e20 7768 6174 will return what\n+00006980: 6576 6572 2064 6174 6120 6861 7320 6172 ever data has ar\n+00006990: 7269 7665 642e 2020 4e6f 7465 2074 6861 rived. Note tha\n+000069a0: 7420 696e 2047 4e41 5420 7468 650a 2020 t in GNAT the. \n+000069b0: 2020 2073 6563 6f6e 6461 7279 2073 7461 secondary sta\n+000069c0: 636b 206d 6179 2062 6520 7573 6564 2074 ck may be used t\n+000069d0: 6f20 7374 6f72 6520 7468 6520 6461 7461 o store the data\n+000069e0: 2061 6e64 206d 6179 2072 6573 756c 7420 and may result \n+000069f0: 696e 0a20 2020 2020 7374 6163 6b20 7374 in. stack st\n+00006a00: 6f72 6167 6520 6578 6861 7573 7469 6f6e orage exhaustion\n+00006a10: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00006a20: 2020 20e2 8098 436f 6e6e 6563 7469 6f6e ...Connection\n+00006a30: 5f43 6c6f 7365 64e2 8099 5065 6572 2068 _Closed...Peer h\n+00006a40: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n+00006a50: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n+00006a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006a70: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n+00006a80: 616e 7920 6461 7461 0a0a 5345 4520 414c any data..SEE AL\n+00006a90: 534f 0a20 2020 2020 2a6e 6f74 6520 5265 SO. *note Re\n+00006aa0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00006ab0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00006ac0: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+00006ad0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00006ae0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n+00006af0: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00006b00: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+00006b10: 6520 2870 726f 6365 6475 7265 293a 3a2e e (procedure)::.\n+00006b20: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00006b30: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00006b40: 3a20 5265 6365 6976 6520 2870 726f 6365 : Receive (proce\n+00006b50: 6475 7265 292c 2020 4e65 7874 3a20 5265 dure), Next: Re\n+00006b60: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n+00006b70: 6564 7572 6529 2c20 2050 7265 763a 2052 edure), Prev: R\n+00006b80: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+00006b90: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00006ba0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00006bb0: 290a 0a52 6563 6569 7665 2028 7072 6f63 )..Receive (proc\n+00006bc0: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n+00006bd0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00006be0: 4f53 450a 2020 2020 2052 6563 6569 7665 OSE. Receive\n+00006bf0: 2072 6177 2064 6174 6120 6f76 6572 2061 raw data over a\n+00006c00: 2073 6f63 6b65 740a 5052 4f54 4f54 5950 socket.PROTOTYP\n+00006c10: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00006c20: 7473 2e52 6563 6569 7665 3a20 7072 6f63 ts.Receive: proc\n+00006c30: 6564 7572 6520 5265 6365 6976 6520 2853 edure Receive (S\n+00006c40: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00006c50: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n+00006c60: 2020 2020 2020 2020 4441 5441 203a 206f DATA : o\n+00006c70: 7574 2041 6461 2e53 7472 6561 6d73 2e53 ut Ada.Streams.S\n+00006c80: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+00006c90: 7261 7929 3b0a 0a50 4152 414d 4554 4552 ray);..PARAMETER\n+00006ca0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00006cb0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00006cc0: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n+00006cd0: 6e64 206f 7220 636f 6e6e 6563 7465 640a nd or connected.\n+00006ce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006cf0: 2020 2020 2020 2020 2020 2073 6f63 6b65 socke\n+00006d00: 7420 6f62 6a65 6374 0a20 2020 2020 4441 t object. DA\n+00006d10: 5441 2020 2020 2020 206f 7574 2020 2020 TA out \n+00006d20: 2020 2020 496e 636f 6d69 6e67 2064 6174 Incoming dat\n+00006d30: 6120 6275 6666 6572 0a0a 4445 5343 5249 a buffer..DESCRI\n+00006d40: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+00006d50: 7072 6f63 6564 7572 6520 7265 6365 6976 procedure receiv\n+00006d60: 6573 2064 6174 6120 6672 6f6d 2061 2062 es data from a b\n+00006d70: 6f75 6e64 2055 4450 2073 6f63 6b65 7420 ound UDP socket \n+00006d80: 6f72 2061 2063 6f6e 6e65 6374 6564 0a20 or a connected. \n+00006d90: 2020 2020 5443 5020 736f 636b 6574 2e20 TCP socket. \n+00006da0: 2049 7420 7769 6c6c 2062 6c6f 636b 2075 It will block u\n+00006db0: 6e74 696c 2074 6865 2044 4154 4120 7265 ntil the DATA re\n+00006dc0: 6365 7074 696f 6e20 6275 6666 6572 2068 ception buffer h\n+00006dd0: 6173 2062 6565 6e0a 2020 2020 2074 6f74 as been. tot\n+00006de0: 616c 6c79 2066 696c 6c65 642e 0a0a 4558 ally filled...EX\n+00006df0: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n+00006e00: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n+00006e10: 6564 e280 9950 6565 7220 6861 7320 636c ed...Peer has cl\n+00006e20: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+00006e30: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n+00006e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006e50: 2020 20e2 8098 4461 7461 274c 656e 6774 ...Data'Lengt\n+00006e60: 68e2 8099 2062 7974 6573 0a20 2020 2020 h... bytes. \n+00006e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006e80: 2020 2077 6572 6520 7265 6365 6976 6564 were received\n+00006e90: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00006ea0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n+00006eb0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+00006ec0: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n+00006ed0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00006ee0: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n+00006ef0: 7665 2028 6675 6e63 7469 6f6e 293a 3a2c ve (function)::,\n+00006f00: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n+00006f10: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n+00006f20: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+00006f30: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00006f40: 2c20 204e 6f64 653a 2052 6563 6569 7665 , Node: Receive\n+00006f50: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+00006f60: 292c 2020 4e65 7874 3a20 5365 6e64 2028 ), Next: Send (\n+00006f70: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00006f80: 763a 2052 6563 6569 7665 2028 7072 6f63 v: Receive (proc\n+00006f90: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+00006fa0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00006fb0: 6564 7572 6529 0a0a 5265 6365 6976 655f edure)..Receive_\n+00006fc0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00006fd0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00006fe0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00006ff0: 5345 0a20 2020 2020 5265 6365 6976 6520 SE. Receive \n+00007000: 7261 7720 6461 7461 206f 7665 7220 6120 raw data over a \n+00007010: 736f 636b 6574 0a50 524f 544f 5459 5045 socket.PROTOTYPE\n+00007020: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00007030: 732e 5265 6365 6976 655f 536f 6d65 3a20 s.Receive_Some: \n+00007040: 7072 6f63 6564 7572 6520 5265 6365 6976 procedure Receiv\n+00007050: 655f 536f 6d65 0a20 2020 2020 2020 2020 e_Some. \n+00007060: 2020 2020 2020 2853 4f43 4b45 5420 3a20 (SOCKET : \n+00007070: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n+00007080: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00007090: 4441 5441 203a 206f 7574 2041 6461 2e53 DATA : out Ada.S\n+000070a0: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n+000070b0: 656d 656e 745f 4172 7261 793b 0a20 2020 ement_Array;. \n+000070c0: 2020 2020 2020 2020 2020 2020 4c41 5354 LAST\n+000070d0: 203a 206f 7574 2041 6461 2e53 7472 6561 : out Ada.Strea\n+000070e0: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n+000070f0: 745f 4f66 6673 6574 293b 0a0a 5041 5241 t_Offset);..PARA\n+00007100: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+00007110: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+00007120: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n+00007130: 6420 626f 756e 6420 6f72 2063 6f6e 6e65 d bound or conne\n+00007140: 6374 6564 0a20 2020 2020 2020 2020 2020 cted. \n+00007150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007160: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+00007170: 2020 2044 4154 4120 2020 2020 2020 6f75 DATA ou\n+00007180: 7420 2020 2020 2020 2049 6e63 6f6d 696e t Incomin\n+00007190: 6720 6461 7461 2062 7566 6665 720a 2020 g data buffer. \n+000071a0: 2020 204c 4153 5420 2020 2020 2020 6f75 LAST ou\n+000071b0: 7420 2020 2020 2020 2049 6e64 6578 206f t Index o\n+000071c0: 6620 6c61 7374 2065 6c65 6d65 6e74 2070 f last element p\n+000071d0: 6c61 6365 6420 696e 746f 2044 4154 410a laced into DATA.\n+000071e0: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+000071f0: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n+00007200: 2072 6563 6569 7665 7320 6461 7461 2066 receives data f\n+00007210: 726f 6d20 6120 626f 756e 6420 5544 5020 rom a bound UDP \n+00007220: 736f 636b 6574 206f 7220 6120 636f 6e6e socket or a conn\n+00007230: 6563 7465 640a 2020 2020 2054 4350 2073 ected. TCP s\n+00007240: 6f63 6b65 742e 2020 4173 2073 6f6f 6e20 ocket. As soon \n+00007250: 6173 2061 7420 6c65 6173 7420 6f6e 6520 as at least one \n+00007260: 6279 7465 2068 6173 2062 6565 6e20 7265 byte has been re\n+00007270: 6164 2c20 6974 2072 6574 7572 6e73 0a20 ad, it returns. \n+00007280: 2020 2020 7769 7468 204c 4153 5420 7365 with LAST se\n+00007290: 7420 746f 2074 6865 2069 6e64 6578 206f t to the index o\n+000072a0: 6620 7468 6520 6c61 7465 7374 2077 7269 f the latest wri\n+000072b0: 7474 656e 2065 6c65 6d65 6e74 206f 6620 tten element of \n+000072c0: 4441 5441 2e0a 0a45 5843 4550 5449 4f4e DATA...EXCEPTION\n+000072d0: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n+000072e0: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n+000072f0: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n+00007300: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n+00007310: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n+00007320: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n+00007330: 696e 6720 616e 7920 6461 7461 0a0a 5345 ing any data..SE\n+00007340: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+00007350: 6520 4765 745f 4c69 6e65 2028 6675 6e63 e Get_Line (func\n+00007360: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n+00007370: 6f74 6520 4765 745f 4c69 6e65 2028 7072 ote Get_Line (pr\n+00007380: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00007390: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n+000073a0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+000073b0: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n+000073c0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+000073d0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+000073e0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+000073f0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00007400: 2c20 204e 6578 743a 2053 6574 5f42 7566 , Next: Set_Buf\n+00007410: 6665 7220 2870 726f 6365 6475 7265 292c fer (procedure),\n+00007420: 2020 5072 6576 3a20 5265 6365 6976 655f Prev: Receive_\n+00007430: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00007440: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00007450: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00007460: 0a0a 5365 6e64 2028 7072 6f63 6564 7572 ..Send (procedur\n+00007470: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00007480: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+00007490: 2020 5365 6e64 2072 6177 2064 6174 6120 Send raw data \n+000074a0: 6f76 6572 2061 2073 6f63 6b65 740a 5052 over a socket.PR\n+000074b0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+000074c0: 2053 6f63 6b65 7473 2e53 656e 643a 2070 Sockets.Send: p\n+000074d0: 726f 6365 6475 7265 2053 656e 6420 2853 rocedure Send (S\n+000074e0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+000074f0: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n+00007500: 2020 4441 5441 203a 206f 7574 2041 6461 DATA : out Ada\n+00007510: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_\n+00007520: 456c 656d 656e 745f 4172 7261 7929 3b0a Element_Array);.\n+00007530: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00007540: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+00007550: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+00007560: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n+00007570: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+00007580: 2020 2020 4441 5441 2020 2020 2020 206f DATA o\n+00007590: 7574 2020 2020 2020 2020 4461 7461 2074 ut Data t\n+000075a0: 6f20 6265 2073 656e 740a 0a44 4553 4352 o be sent..DESCR\n+000075b0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+000075c0: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n+000075d0: 2064 6174 6120 6f76 6572 2061 2063 6f6e data over a con\n+000075e0: 6e65 6374 6564 206f 7574 676f 696e 6720 nected outgoing \n+000075f0: 736f 636b 6574 206f 7220 6f76 6572 0a20 socket or over. \n+00007600: 2020 2020 616e 2069 6e63 6f6d 696e 6720 an incoming \n+00007610: 736f 636b 6574 2e0a 0a45 5843 4550 5449 socket...EXCEPTI\n+00007620: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e ONS. ...Conn\n+00007630: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099 ection_Closed...\n+00007640: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n+00007650: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n+00007660: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n+00007670: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00007680: 5075 7420 2870 726f 6365 6475 7265 293a Put (procedure):\n+00007690: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5075 :,. *note Pu\n+000076a0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+000076b0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+000076c0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+000076d0: 204e 6f64 653a 2053 6574 5f42 7566 6665 Node: Set_Buffe\n+000076e0: 7220 2870 726f 6365 6475 7265 292c 2020 r (procedure), \n+000076f0: 4e65 7874 3a20 5365 7473 6f63 6b6f 7074 Next: Setsockopt\n+00007700: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+00007710: 7265 763a 2053 656e 6420 2870 726f 6365 rev: Send (proce\n+00007720: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n+00007730: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00007740: 6475 7265 290a 0a53 6574 5f42 7566 6665 dure)..Set_Buffe\n+00007750: 7220 2870 726f 6365 6475 7265 290a 2d2d r (procedure).--\n+00007760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007770: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00007780: 2020 2049 6e73 7461 6c6c 2061 206c 696e Install a lin\n+00007790: 652d 6f72 6965 6e74 6564 2062 7566 6665 e-oriented buffe\n+000077a0: 7220 6f66 2074 6865 2073 6f63 6b65 7420 r of the socket \n+000077b0: 6f62 6a65 6374 0a50 524f 544f 5459 5045 object.PROTOTYPE\n+000077c0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+000077d0: 732e 5365 745f 4275 6666 6572 3a20 7072 s.Set_Buffer: pr\n+000077e0: 6f63 6564 7572 6520 5365 745f 4275 6666 ocedure Set_Buff\n+000077f0: 6572 0a20 2020 2020 2020 2020 2020 2020 er. \n+00007800: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n+00007810: 6574 5f46 4427 436c 6173 733b 204c 454e et_FD'Class; LEN\n+00007820: 4754 4820 3a20 506f 7369 7469 7665 203a GTH : Positive :\n+00007830: 3d20 3135 3030 293b 0a0a 5041 5241 4d45 = 1500);..PARAME\n+00007840: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00007850: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00007860: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+00007870: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n+00007880: 206f 626a 6563 740a 2020 2020 204c 454e object. LEN\n+00007890: 4754 4820 2020 2020 696e 2020 2020 2020 GTH in \n+000078a0: 2020 2053 697a 6520 696e 2062 7974 6573 Size in bytes\n+000078b0: 206f 6620 7468 6520 6e65 776c 7920 696e of the newly in\n+000078c0: 7374 616c 6c65 640a 2020 2020 2020 2020 stalled. \n+000078d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000078e0: 2020 2062 7566 6665 720a 0a44 4553 4352 buffer..DESCR\n+000078f0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00007900: 2070 726f 6365 6475 7265 2070 7574 7320 procedure puts \n+00007910: 7468 6520 736f 636b 6574 206f 626a 6563 the socket objec\n+00007920: 7420 696e 2062 7566 6665 7265 6420 6d6f t in buffered mo\n+00007930: 6465 2e20 2049 6620 7468 650a 2020 2020 de. If the. \n+00007940: 2073 6f63 6b65 7420 7761 7320 616c 7265 socket was alre\n+00007950: 6164 7920 6275 6666 6572 6564 2c20 7468 ady buffered, th\n+00007960: 6520 636f 6e74 656e 7420 6f66 2074 6865 e content of the\n+00007970: 2070 7265 7669 6f75 7320 6275 6666 6572 previous buffer\n+00007980: 0a20 2020 2020 7769 6c6c 2062 6520 6c6f . will be lo\n+00007990: 7374 2e20 2054 6865 2062 7566 6665 7265 st. The buffere\n+000079a0: 6420 6d6f 6465 206f 6e6c 7920 6166 6665 d mode only affe\n+000079b0: 6374 7320 6368 6172 6163 7465 722d 2061 cts character- a\n+000079c0: 6e64 0a20 2020 2020 6c69 6e65 2d6f 7269 nd. line-ori\n+000079d0: 656e 7465 6420 7265 6164 206f 7065 7261 ented read opera\n+000079e0: 7469 6f6e 2073 7563 6820 6173 202a 6e6f tion such as *no\n+000079f0: 7465 2047 6574 2028 6675 6e63 7469 6f6e te Get (function\n+00007a00: 293a 3a2c 202a 6e6f 7465 0a20 2020 2020 )::, *note. \n+00007a10: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n+00007a20: 6f6e 293a 3a2c 2061 6e64 202a 6e6f 7465 on)::, and *note\n+00007a30: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+00007a40: 696f 6e29 3a3a 2e20 204f 7468 6572 0a20 ion)::. Other. \n+00007a50: 2020 2020 7265 6365 7074 696f 6e20 7375 reception su\n+00007a60: 6270 726f 6772 616d 7320 7769 6c6c 206e bprograms will n\n+00007a70: 6f74 2066 756e 6374 696f 6e20 7072 6f70 ot function prop\n+00007a80: 6572 6c79 2069 6620 6275 6666 6572 6564 erly if buffered\n+00007a90: 206d 6f64 650a 2020 2020 2069 7320 7573 mode. is us\n+00007aa0: 6564 2061 7420 7468 6520 7361 6d65 2074 ed at the same t\n+00007ab0: 696d 652e 0a0a 2020 2020 2054 6865 2073 ime... The s\n+00007ac0: 697a 6520 6f66 2074 6865 2062 7566 6665 ize of the buffe\n+00007ad0: 7220 6861 7320 746f 2062 6520 6772 6561 r has to be grea\n+00007ae0: 7465 7220 7468 616e 2074 6865 2062 6967 ter than the big\n+00007af0: 6765 7374 2070 6f73 7369 626c 650a 2020 gest possible. \n+00007b00: 2020 2070 6163 6b65 7420 7365 6e74 2062 packet sent b\n+00007b10: 7920 7468 6520 7265 6d6f 7465 2068 6f73 y the remote hos\n+00007b20: 742c 206f 7468 6572 7769 7365 2064 6174 t, otherwise dat\n+00007b30: 6120 6c6f 7373 206d 6179 206f 6363 7572 a loss may occur\n+00007b40: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n+00007b50: 202a 6e6f 7465 2055 6e73 6574 5f42 7566 *note Unset_Buf\n+00007b60: 6665 7220 2870 726f 6365 6475 7265 293a fer (procedure):\n+00007b70: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n+00007b80: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+00007b90: 6465 3a20 5365 7473 6f63 6b6f 7074 2028 de: Setsockopt (\n+00007ba0: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+00007bb0: 743a 2053 6875 7464 6f77 6e20 2870 726f t: Shutdown (pro\n+00007bc0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+00007bd0: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+00007be0: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+00007bf0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00007c00: 6564 7572 6529 0a0a 5365 7473 6f63 6b6f edure)..Setsocko\n+00007c10: 7074 2028 7072 6f63 6564 7572 6529 0a2d pt (procedure).-\n+00007c20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007c30: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00007c40: 2020 2020 5365 7420 6120 736f 636b 6574 Set a socket\n+00007c50: 206f 7074 696f 6e0a 5052 4f54 4f54 5950 option.PROTOTYP\n+00007c60: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00007c70: 7473 2e53 6574 736f 636b 6f70 743a 2070 ts.Setsockopt: p\n+00007c80: 726f 6365 6475 7265 2053 6574 736f 636b rocedure Setsock\n+00007c90: 6f70 7420 2853 4f43 4b45 5420 3a20 536f opt (SOCKET : So\n+00007ca0: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n+00007cb0: 2020 2020 2020 2020 4c45 5645 4c20 3a20 LEVEL : \n+00007cc0: 536f 636b 6574 5f4c 6576 656c 203a 3d20 Socket_Level := \n+00007cd0: 534f 4c5f 534f 434b 4554 3b0a 2020 2020 SOL_SOCKET;. \n+00007ce0: 2020 2020 2020 2020 2020 204f 5054 4e41 OPTNA\n+00007cf0: 4d45 203a 2053 6f63 6b65 745f 4f70 7469 ME : Socket_Opti\n+00007d00: 6f6e 3b20 4f50 5456 414c 203a 2049 6e74 on; OPTVAL : Int\n+00007d10: 6567 6572 293b 0a0a 5041 5241 4d45 5445 eger);..PARAMETE\n+00007d20: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00007d30: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00007d40: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n+00007d50: 756e 6420 736f 636b 6574 206f 626a 6563 und socket objec\n+00007d60: 740a 2020 2020 204c 4556 454c 2020 2020 t. LEVEL \n+00007d70: 2020 696e 2020 2020 2020 2020 2050 726f in Pro\n+00007d80: 746f 636f 6c20 6c65 7665 6c0a 2020 2020 tocol level. \n+00007d90: 204f 5054 4e41 4d45 2020 2020 696e 2020 OPTNAME in \n+00007da0: 2020 2020 2020 204f 7074 696f 6e20 6e61 Option na\n+00007db0: 6d65 0a20 2020 2020 4f50 5456 414c 2020 me. OPTVAL \n+00007dc0: 2020 2069 6e20 2020 2020 2020 2020 4f70 in Op\n+00007dd0: 7469 6f6e 2076 616c 7565 0a0a 4445 5343 tion value..DESC\n+00007de0: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00007df0: 7320 7072 6f63 6564 7572 6520 7365 7473 s procedure sets\n+00007e00: 206f 7074 696f 6e73 2061 7070 6c69 6361 options applica\n+00007e10: 626c 6520 746f 2061 2073 6f63 6b65 742e ble to a socket.\n+00007e20: 2020 506c 6561 7365 2073 6565 0a20 2020 Please see. \n+00007e30: 2020 796f 7572 206f 7065 7261 7469 6e67 your operating\n+00007e40: 2073 7973 7465 6d20 6d61 6e75 616c 2066 system manual f\n+00007e50: 6f72 2075 7361 626c 6520 6c65 7665 6c73 or usable levels\n+00007e60: 2061 6e64 206f 7074 696f 6e73 2e0a 0a20 and options... \n+00007e70: 2020 2020 5477 6f20 6c65 7665 6c73 2061 Two levels a\n+00007e80: 7265 2064 6566 696e 6564 3a20 e280 9853 re defined: ...S\n+00007e90: 4f4c 5f53 4f43 4b45 54e2 8099 2028 7468 OL_SOCKET... (th\n+00007ea0: 6520 6465 6661 756c 7429 2061 6e64 0a20 e default) and. \n+00007eb0: 2020 2020 e280 9849 5050 524f 544f 5f49 ...IPPROTO_I\n+00007ec0: 50e2 8099 2e20 2054 6865 206f 7074 696f P.... The optio\n+00007ed0: 6e73 2061 7265 20e2 8098 534f 5f52 4555 ns are ...SO_REU\n+00007ee0: 5345 4144 4452 e280 992c 20e2 8098 534f SEADDR..., ...SO\n+00007ef0: 5f52 4555 5345 504f 5254 e280 992c 0a20 _REUSEPORT...,. \n+00007f00: 2020 2020 e280 9849 505f 4d55 4c54 4943 ...IP_MULTIC\n+00007f10: 4153 545f 5454 4ce2 8099 2c20 e280 9849 AST_TTL..., ...I\n+00007f20: 505f 4144 445f 4d45 4d42 4552 5348 4950 P_ADD_MEMBERSHIP\n+00007f30: e280 992c 20e2 8098 4950 5f44 524f 505f ..., ...IP_DROP_\n+00007f40: 4d45 4d42 4552 5348 4950 e280 992c 0a20 MEMBERSHIP...,. \n+00007f50: 2020 2020 e280 9849 505f 4d55 4c54 4943 ...IP_MULTIC\n+00007f60: 4153 545f 4c4f 4f50 e280 992c 20e2 8098 AST_LOOP..., ...\n+00007f70: 534f 5f53 4e44 4255 46e2 8099 2061 6e64 SO_SNDBUF... and\n+00007f80: 20e2 8098 4950 5f52 4356 4255 46e2 8099 ...IP_RCVBUF...\n+00007f90: 2e0a 0a20 2020 2020 4e6f 7465 2074 6861 ... Note tha\n+00007fa0: 7420 756e 6c69 6b65 2074 6865 6972 2043 t unlike their C\n+00007fb0: 206c 616e 6775 6167 6520 636f 756e 7465 language counte\n+00007fc0: 7270 6172 742c 20e2 8098 4765 7473 6f63 rpart, ...Getsoc\n+00007fd0: 6b6f 7074 e280 9920 616e 640a 2020 2020 kopt... and. \n+00007fe0: 20e2 8098 5365 7473 6f63 6b6f 7074 e280 ...Setsockopt..\n+00007ff0: 9920 646f 206e 6f74 2072 6571 7569 7265 . do not require\n+00008000: 2061 6e20 6578 7472 6120 7061 7261 6d65 an extra parame\n+00008010: 7465 7220 7265 7072 6573 656e 7469 6e67 ter representing\n+00008020: 2074 6865 0a20 2020 2020 6c65 6e67 7468 the. length\n+00008030: 2069 6e20 6279 7465 7320 6f66 2074 6865 in bytes of the\n+00008040: 206f 7074 696f 6e20 7661 6c75 652e 2020 option value. \n+00008050: 4164 6153 6f63 6b65 7473 206b 6e6f 7773 AdaSockets knows\n+00008060: 2074 6865 2072 6967 6874 0a20 2020 2020 the right. \n+00008070: 7369 7a65 2066 6f72 2065 7665 7279 206f size for every o\n+00008080: 7074 696f 6e2e 0a0a 5345 4520 414c 534f ption...SEE ALSO\n+00008090: 0a20 2020 2020 2a6e 6f74 6520 4765 7473 . *note Gets\n+000080a0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+000080b0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+000080c0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+000080d0: 204e 6f64 653a 2053 6875 7464 6f77 6e20 Node: Shutdown \n+000080e0: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n+000080f0: 7874 3a20 536f 636b 6574 2028 7072 6f63 xt: Socket (proc\n+00008100: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n+00008110: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00008120: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n+00008130: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00008140: 6475 7265 290a 0a53 6875 7464 6f77 6e20 dure)..Shutdown \n+00008150: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00008160: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008170: 0a0a 5055 5250 4f53 450a 2020 2020 2053 ..PURPOSE. S\n+00008180: 6875 7464 6f77 6e20 6120 736f 636b 6574 hutdown a socket\n+00008190: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+000081a0: 202d 2d20 536f 636b 6574 732e 5368 7574 -- Sockets.Shut\n+000081b0: 646f 776e 3a20 7072 6f63 6564 7572 6520 down: procedure \n+000081c0: 5368 7574 646f 776e 0a20 2020 2020 2020 Shutdown. \n+000081d0: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+000081e0: 3a20 696e 206f 7574 2053 6f63 6b65 745f : in out Socket_\n+000081f0: 4644 3b20 484f 5720 3a20 5368 7574 646f FD; HOW : Shutdo\n+00008200: 776e 5f54 7970 6520 3a3d 2042 6f74 6829 wn_Type := Both)\n+00008210: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00008220: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00008230: 206f 7574 2020 2020 2053 6f63 6b65 7420 out Socket \n+00008240: 6f62 6a65 6374 2074 6f20 7368 7574 646f object to shutdo\n+00008250: 776e 0a20 2020 2020 484f 5720 2020 2020 wn. HOW \n+00008260: 2020 2069 6e20 2020 2020 2020 2020 4469 in Di\n+00008270: 7265 6374 696f 6e20 746f 2073 6875 7464 rection to shutd\n+00008280: 6f77 6e0a 0a44 4553 4352 4950 5449 4f4e own..DESCRIPTION\n+00008290: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n+000082a0: 6475 7265 2073 6875 7464 6f77 6e73 2065 dure shutdowns e\n+000082b0: 6974 6865 7220 6469 7265 6374 696f 6e20 ither direction \n+000082c0: 6f66 2074 6865 2073 6f63 6b65 742e 2020 of the socket. \n+000082d0: 484f 5720 6361 6e0a 2020 2020 2074 616b HOW can. tak\n+000082e0: 6520 7468 6520 7661 6c75 6520 e280 9853 e the value ...S\n+000082f0: 656e 64e2 8099 2c20 e280 9852 6563 6569 end..., ...Recei\n+00008300: 7665 e280 9920 6f72 20e2 8098 426f 7468 ve... or ...Both\n+00008310: e280 992e 0a0a 5345 4520 414c 534f 0a20 ......SEE ALSO. \n+00008320: 2020 2020 2a6e 6f74 6520 536f 636b 6574 *note Socket\n+00008330: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00008340: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00008350: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00008360: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+00008370: 7265 292c 2020 4e65 7874 3a20 556e 7365 re), Next: Unse\n+00008380: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00008390: 7572 6529 2c20 2050 7265 763a 2053 6875 ure), Prev: Shu\n+000083a0: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n+000083b0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+000083c0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+000083d0: 290a 0a53 6f63 6b65 7420 2870 726f 6365 )..Socket (proce\n+000083e0: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n+000083f0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00008400: 450a 2020 2020 2043 7265 6174 6520 6120 E. Create a \n+00008410: 736f 636b 6574 206f 6620 7468 6520 6769 socket of the gi\n+00008420: 7665 6e20 6d6f 6465 0a50 524f 544f 5459 ven mode.PROTOTY\n+00008430: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00008440: 6574 732e 536f 636b 6574 3a20 7072 6f63 ets.Socket: proc\n+00008450: 6564 7572 6520 536f 636b 6574 2028 534f edure Socket (SO\n+00008460: 434b 4554 203a 206f 7574 2053 6f63 6b65 CKET : out Socke\n+00008470: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+00008480: 2020 2020 2044 4f4d 4149 4e20 3a20 536f DOMAIN : So\n+00008490: 636b 6574 5f44 6f6d 6169 6e20 3a3d 2050 cket_Domain := P\n+000084a0: 465f 494e 4554 3b0a 2020 2020 2020 2020 F_INET;. \n+000084b0: 2020 2020 2020 2054 5950 203a 2053 6f63 TYP : Soc\n+000084c0: 6b65 745f 5479 7065 203a 3d20 534f 434b ket_Type := SOCK\n+000084d0: 5f53 5452 4541 4d29 3b0a 0a50 4152 414d _STREAM);..PARAM\n+000084e0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+000084f0: 5420 2020 2020 6f75 7420 2020 2020 2020 T out \n+00008500: 2053 6f63 6b65 7420 6f62 6a65 6374 2074 Socket object t\n+00008510: 6f20 696e 6974 6961 6c69 7a65 0a20 2020 o initialize. \n+00008520: 2020 444f 4d41 494e 2020 2020 2069 6e20 DOMAIN in \n+00008530: 2020 2020 2020 2020 5072 6f74 6f63 6f6c Protocol\n+00008540: 2066 616d 696c 790a 2020 2020 2054 5950 family. TYP\n+00008550: 2020 2020 2020 2020 696e 2020 2020 2020 in \n+00008560: 2020 204b 696e 6420 6f66 2073 6f63 6b65 Kind of socke\n+00008570: 7473 0a0a 4445 5343 5249 5054 494f 4e0a ts..DESCRIPTION.\n+00008580: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n+00008590: 7572 6520 696e 6974 6961 6c69 7a65 7320 ure initializes \n+000085a0: 6120 6e65 7720 736f 636b 6574 206f 626a a new socket obj\n+000085b0: 6563 7420 6279 2072 6573 6572 7669 6e67 ect by reserving\n+000085c0: 2061 2066 696c 650a 2020 2020 2064 6573 a file. des\n+000085d0: 6372 6970 746f 7220 746f 2074 6865 206f criptor to the o\n+000085e0: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n+000085f0: 2020 466f 7220 6261 636b 7761 7264 2063 For backward c\n+00008600: 6f6d 7061 7469 6269 6c69 7479 0a20 2020 ompatibility. \n+00008610: 2020 7769 7468 206f 6c64 6572 2076 6572 with older ver\n+00008620: 7369 6f6e 7320 6f66 2074 6869 7320 6c69 sions of this li\n+00008630: 6272 6172 792c 20e2 8098 4146 5f49 4e45 brary, ...AF_INE\n+00008640: 54e2 8099 2069 7320 7374 696c 6c20 6163 T... is still ac\n+00008650: 6365 7074 6564 2061 730a 2020 2020 2061 cepted as. a\n+00008660: 2076 616c 7565 2062 7574 2073 686f 756c value but shoul\n+00008670: 6420 6265 2072 6570 6c61 6365 6420 6173 d be replaced as\n+00008680: 2073 6f6f 6e20 6173 2070 6f73 7369 626c soon as possibl\n+00008690: 6520 7769 7468 2074 6865 2070 726f 7065 e with the prope\n+000086a0: 720a 2020 2020 20e2 8098 5046 5f49 4e45 r. ...PF_INE\n+000086b0: 54e2 8099 2e20 2055 7369 6e67 20e2 8098 T.... Using ...\n+000086c0: 534f 434b 5f53 5452 4541 4de2 8099 2066 SOCK_STREAM... f\n+000086d0: 6f72 2074 6865 2054 5950 2061 7267 756d or the TYP argum\n+000086e0: 656e 7420 7769 6c6c 2063 7265 6174 6520 ent will create \n+000086f0: 610a 2020 2020 2054 4350 2073 6f63 6b65 a. TCP socke\n+00008700: 7420 7768 696c 6520 6120 e280 9853 4f43 t while a ...SOC\n+00008710: 4b5f 4447 5241 4de2 8099 2077 696c 6c20 K_DGRAM... will \n+00008720: 6372 6561 7465 2061 2055 4450 206f 6e65 create a UDP one\n+00008730: 2e0a 0a45 5841 4d50 4c45 0a20 2020 2020 ...EXAMPLE. \n+00008740: 2020 2020 2064 6563 6c61 7265 0a20 2020 declare. \n+00008750: 2020 2020 2020 2020 2020 536f 636b 203a Sock :\n+00008760: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+00008770: 2020 2020 2020 6265 6769 6e0a 2020 2020 begin. \n+00008780: 2020 2020 2020 2020 202d 2d20 4372 6561 -- Crea\n+00008790: 7465 2061 2054 4350 2073 6f63 6b65 740a te a TCP socket.\n+000087a0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+000087b0: 6b65 7420 2853 6f63 6b2c 2050 465f 494e ket (Sock, PF_IN\n+000087c0: 4554 2c20 534f 434b 5f53 5452 4541 4d29 ET, SOCK_STREAM)\n+000087d0: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n+000087e0: 2d20 5065 7266 6f72 6d20 736f 6d65 206f - Perform some o\n+000087f0: 7065 7261 7469 6f6e 7320 6f6e 2073 6f63 perations on soc\n+00008800: 6b65 740a 2020 2020 2020 2020 2020 2020 ket. \n+00008810: 205b 2e2e 2e5d 0a20 2020 2020 2020 2020 [...]. \n+00008820: 2020 2020 2d2d 2053 6875 7464 6f77 6e20 -- Shutdown \n+00008830: 7468 6520 736f 636b 6574 2069 6e20 626f the socket in bo\n+00008840: 7468 2064 6972 6563 7469 6f6e 730a 2020 th directions. \n+00008850: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00008860: 6f77 6e20 2853 6f63 6b2c 2042 6f74 6829 own (Sock, Both)\n+00008870: 3b0a 2020 2020 2020 2020 2020 656e 643b ;. end;\n+00008880: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00008890: 2a6e 6f74 6520 5368 7574 646f 776e 2028 *note Shutdown (\n+000088a0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+000088b0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+000088c0: 732e 696e 666f 2c20 204e 6f64 653a 2055 s.info, Node: U\n+000088d0: 6e73 6574 5f42 7566 6665 7220 2870 726f nset_Buffer (pro\n+000088e0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+000088f0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00008900: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00008910: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00008920: 6529 0a0a 556e 7365 745f 4275 6666 6572 e)..Unset_Buffer\n+00008930: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008950: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00008960: 2020 2020 4465 696e 7374 616c 6c20 7468 Deinstall th\n+00008970: 6520 6c69 6e65 2d6f 7269 656e 7465 6420 e line-oriented \n+00008980: 6275 6666 6572 206f 6620 7468 6520 736f buffer of the so\n+00008990: 636b 6574 206f 626a 6563 740a 5052 4f54 cket object.PROT\n+000089a0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+000089b0: 6f63 6b65 7473 2e55 6e73 6574 5f42 7566 ockets.Unset_Buf\n+000089c0: 6665 723a 2070 726f 6365 6475 7265 2055 fer: procedure U\n+000089d0: 6e73 6574 5f42 7566 6665 720a 2020 2020 nset_Buffer. \n+000089e0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+000089f0: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+00008a00: 6c61 7373 293b 0a0a 5041 5241 4d45 5445 lass);..PARAMETE\n+00008a10: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00008a20: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00008a30: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n+00008a40: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+00008a50: 626a 6563 740a 0a44 4553 4352 4950 5449 bject..DESCRIPTI\n+00008a60: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+00008a70: 6365 6475 7265 2075 6e69 6e73 7461 6c6c cedure uninstall\n+00008a80: 7320 7468 6520 6275 6666 6572 2070 7265 s the buffer pre\n+00008a90: 7669 6f75 736c 7920 696e 7374 616c 6c65 viously installe\n+00008aa0: 6420 6279 202a 6e6f 7465 0a20 2020 2020 d by *note. \n+00008ab0: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+00008ac0: 6564 7572 6529 3a3a 2e20 2049 6620 616e edure)::. If an\n+00008ad0: 7920 6461 7461 2069 7320 7374 696c 6c20 y data is still \n+00008ae0: 7072 6573 656e 7420 696e 2074 6865 0a20 present in the. \n+00008af0: 2020 2020 6275 6666 6572 2c20 6974 2077 buffer, it w\n+00008b00: 696c 6c20 6265 206c 6f73 742e 2020 546f ill be lost. To\n+00008b10: 2061 766f 6964 2074 6869 7320 7369 7475 avoid this situ\n+00008b20: 6174 696f 6e2c 2074 6865 2062 7566 6665 ation, the buffe\n+00008b30: 7220 6361 6e0a 2020 2020 2062 6520 666c r can. be fl\n+00008b40: 7573 6865 6420 6279 2063 616c 6c69 6e67 ushed by calling\n+00008b50: 202a 6e6f 7465 2047 6574 2028 6675 6e63 *note Get (func\n+00008b60: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n+00008b70: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00008b80: 6f2c 2020 4e6f 6465 3a20 536f 636b 6574 o, Node: Socket\n+00008b90: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack\n+00008ba0: 6167 652c 2020 4e65 7874 3a20 536f 636b age, Next: Sock\n+00008bb0: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n+00008bc0: 6765 2c20 2050 7265 763a 2053 6f63 6b65 ge, Prev: Socke\n+00008bd0: 7473 2070 6163 6b61 6765 2c20 2055 703a ts package, Up:\n+00008be0: 2054 6f70 0a0a 3520 536f 636b 6574 732e Top..5 Sockets.\n+00008bf0: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+00008c00: 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a e.**************\n+00008c10: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 *************..T\n+00008c20: 6865 20e2 8098 536f 636b 6574 732e 4d75 he ...Sockets.Mu\n+00008c30: 6c74 6963 6173 74e2 8099 2061 6c6c 6f77 lticast... allow\n+00008c40: 7320 7468 6520 6372 6561 7469 6f6e 206f s the creation o\n+00008c50: 6620 4950 206d 756c 7469 6361 7374 2073 f IP multicast s\n+00008c60: 6f63 6b65 7473 2e0a 0a20 2d2d 2053 6f63 ockets... -- Soc\n+00008c70: 6b65 7473 2e4d 756c 7469 6361 7374 2e4d kets.Multicast.M\n+00008c80: 756c 7469 6361 7374 5f53 6f63 6b65 745f ulticast_Socket_\n+00008c90: 4644 3a20 7479 7065 204d 756c 7469 6361 FD: type Multica\n+00008ca0: 7374 5f53 6f63 6b65 745f 4644 2069 730a st_Socket_FD is.\n+00008cb0: 2020 2020 2020 2020 2020 6e65 7720 536f new So\n+00008cc0: 636b 6574 5f46 4420 7769 7468 2070 7269 cket_FD with pri\n+00008cd0: 7661 7465 3b0a 2020 2020 2054 6865 20e2 vate;. The .\n+00008ce0: 8098 4d75 6c74 6963 6173 745f 536f 636b ..Multicast_Sock\n+00008cf0: 6574 5f46 44e2 8099 2074 6167 6765 6420 et_FD... tagged \n+00008d00: 7479 7065 2064 6572 6976 6573 2066 726f type derives fro\n+00008d10: 6d20 7468 6520 e280 9853 6f63 6b65 745f m the ...Socket_\n+00008d20: 4644 e280 990a 2020 2020 2074 7970 652e FD.... type.\n+00008d30: 2020 4974 2067 6574 7320 696e 6974 6961 It gets initia\n+00008d40: 6c69 7a65 6420 6279 2063 616c 6c69 6e67 lized by calling\n+00008d50: 202a 6e6f 7465 2043 7265 6174 655f 4d75 *note Create_Mu\n+00008d60: 6c74 6963 6173 745f 536f 636b 6574 0a20 lticast_Socket. \n+00008d70: 2020 2020 2866 756e 6374 696f 6e29 3a3a (function)::\n+00008d80: 2e20 2041 6e20 756e 696e 6974 6961 6c69 . An uninitiali\n+00008d90: 7a65 6420 e280 984d 756c 7469 6361 7374 zed ...Multicast\n+00008da0: 5f53 6f63 6b65 745f 4644 e280 9920 6361 _Socket_FD... ca\n+00008db0: 6e20 6265 0a20 2020 2020 7375 6363 6573 n be. succes\n+00008dc0: 7366 756c 6c79 2063 6f6d 7061 7265 6420 sfully compared \n+00008dd0: 746f 20e2 8098 4e75 6c6c 5f4d 756c 7469 to ...Null_Multi\n+00008de0: 6361 7374 5f53 6f63 6b65 745f 4644 e280 cast_Socket_FD..\n+00008df0: 992e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2043 ....* Menu:..* C\n+00008e00: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+00008e10: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n+00008e20: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+00008e30: 2020 2020 2020 2020 2020 2020 4372 6561 Crea\n+00008e40: 7465 2061 6e20 4950 206d 756c 7469 6361 te an IP multica\n+00008e50: 7374 2073 6f63 6b65 740a 2a20 4372 6561 st socket.* Crea\n+00008e60: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00008e70: 6b65 7420 2866 756e 6374 696f 6e29 3a3a ket (function)::\n+00008e80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00008e90: 2020 2020 2020 2020 2043 7265 6174 6520 Create \n+00008ea0: 616e 2049 5020 6d75 6c74 6963 6173 7420 an IP multicast \n+00008eb0: 736f 636b 6574 0a0a 1f0a 4669 6c65 3a20 socket....File: \n+00008ec0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00008ed0: 2020 4e6f 6465 3a20 4372 6561 7465 5f4d Node: Create_M\n+00008ee0: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+00008ef0: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n+00008f00: 743a 2043 7265 6174 655f 4d75 6c74 6963 t: Create_Multic\n+00008f10: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n+00008f20: 7469 6f6e 292c 2020 5072 6576 3a20 4372 tion), Prev: Cr\n+00008f30: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00008f40: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+00008f50: 2c20 2055 703a 2053 6f63 6b65 7473 2e4d , Up: Sockets.M\n+00008f60: 756c 7469 6361 7374 2070 6163 6b61 6765 ulticast package\n+00008f70: 0a0a 4372 6561 7465 5f4d 756c 7469 6361 ..Create_Multica\n+00008f80: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+00008f90: 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ion).===========\n+00008fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008fb0: 3d3d 3d3d 3d3d 3d0a 0a50 5552 504f 5345 =======..PURPOSE\n+00008fc0: 0a20 2020 2020 4372 6561 7465 2061 6e20 . Create an \n+00008fd0: 4950 206d 756c 7469 6361 7374 2073 6f63 IP multicast soc\n+00008fe0: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n+00008ff0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4d -- Sockets.M\n+00009000: 756c 7469 6361 7374 2e43 7265 6174 655f ulticast.Create_\n+00009010: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00009020: 3a20 6675 6e63 7469 6f6e 0a20 2020 2020 : function. \n+00009030: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+00009040: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00009050: 7420 2847 524f 5550 203a 2053 7472 696e t (GROUP : Strin\n+00009060: 673b 2050 4f52 5420 3a20 4e61 7475 7261 g; PORT : Natura\n+00009070: 6c3b 0a20 2020 2020 2020 2020 2020 2020 l;. \n+00009080: 2020 5454 4c20 3a20 506f 7369 7469 7665 TTL : Positive\n+00009090: 203a 3d20 3136 3b20 5345 4c46 5f4c 4f4f := 16; SELF_LOO\n+000090a0: 5020 3a20 426f 6f6c 6561 6e20 3a3d 2054 P : Boolean := T\n+000090b0: 7275 653b 0a20 2020 2020 2020 2020 2020 rue;. \n+000090c0: 2020 2020 4c4f 4341 4c5f 4946 203a 2053 LOCAL_IF : S\n+000090d0: 7472 696e 6720 3a3d 2030 2e30 2e30 2e30 tring := 0.0.0.0\n+000090e0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+000090f0: 2072 6574 7572 6e20 4d75 6c74 6963 6173 return Multicas\n+00009100: 745f 536f 636b 6574 5f46 443b 0a0a 5041 t_Socket_FD;..PA\n+00009110: 5241 4d45 5445 5253 0a20 2020 2020 4752 RAMETERS. GR\n+00009120: 4f55 5020 2020 2020 2069 6e20 2020 2020 OUP in \n+00009130: 2020 2020 4950 2061 6464 7265 7373 206f IP address o\n+00009140: 6620 7468 6520 6d75 6c74 6963 6173 7420 f the multicast \n+00009150: 6772 6f75 7020 746f 0a20 2020 2020 2020 group to. \n+00009160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009170: 2020 2020 6a6f 696e 0a20 2020 2020 504f join. PO\n+00009180: 5254 2020 2020 2020 2069 6e20 2020 2020 RT in \n+00009190: 2020 2020 506f 7274 206f 6620 7468 6520 Port of the \n+000091a0: 6d75 6c74 6963 6173 7420 6772 6f75 7020 multicast group \n+000091b0: 746f 206a 6f69 6e0a 2020 2020 2054 544c to join. TTL\n+000091c0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n+000091d0: 2020 2054 696d 652d 746f 2d6c 6976 6520 Time-to-live \n+000091e0: 6f66 2073 656e 7420 7061 636b 6574 730a of sent packets.\n+000091f0: 2020 2020 2053 454c 465f 4c4f 4f50 2020 SELF_LOOP \n+00009200: 696e 2020 2020 2020 2020 2053 686f 756c in Shoul\n+00009210: 6420 7468 6520 736f 636b 6574 2072 6563 d the socket rec\n+00009220: 6569 7665 2074 6865 2070 6163 6b65 7473 eive the packets\n+00009230: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009240: 2020 2020 2020 2020 2020 2020 7365 6e74 sent\n+00009250: 2066 726f 6d20 7468 6520 6c6f 6361 6c20 from the local \n+00009260: 686f 7374 3f0a 2020 2020 204c 4f43 414c host?. LOCAL\n+00009270: 5f49 4620 2020 696e 2020 2020 2020 2020 _IF in \n+00009280: 2041 6464 7265 7373 206f 6620 7468 6520 Address of the \n+00009290: 6c6f 6361 6c20 696e 7465 7266 6163 6520 local interface \n+000092a0: 746f 2075 7365 0a0a 5245 5455 524e 2056 to use..RETURN V\n+000092b0: 414c 5545 0a20 2020 2020 5468 6520 6e65 ALUE. The ne\n+000092c0: 7720 696e 6974 6961 6c69 7a65 6420 6d75 w initialized mu\n+000092d0: 6c74 6963 6173 7420 736f 636b 6574 0a0a lticast socket..\n+000092e0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000092f0: 2054 6869 7320 6675 6e63 7469 6f6e 2063 This function c\n+00009300: 7265 6174 6573 2061 6e20 4950 206d 756c reates an IP mul\n+00009310: 7469 6361 7374 2073 6f63 6b65 7420 6174 ticast socket at\n+00009320: 7461 6368 6564 2074 6f20 6120 6769 7665 tached to a give\n+00009330: 6e0a 2020 2020 2067 726f 7570 2c20 6964 n. group, id\n+00009340: 656e 7469 6669 6564 2062 7920 6974 7320 entified by its \n+00009350: 636c 6173 7320 4520 4950 2061 6464 7265 class E IP addre\n+00009360: 7373 2061 6e64 2070 6f72 742e 0a0a 2020 ss and port... \n+00009370: 2020 2042 6520 6361 7265 6675 6c20 7768 Be careful wh\n+00009380: 656e 2063 686f 6f73 696e 6720 7468 6520 en choosing the \n+00009390: 5454 4c20 7061 7261 6d65 7465 7220 6f66 TTL parameter of\n+000093a0: 2079 6f75 7220 4950 206d 756c 7469 6361 your IP multica\n+000093b0: 7374 0a20 2020 2020 736f 636b 6574 2e20 st. socket. \n+000093c0: 204d 6f73 7420 4950 206d 756c 7469 6361 Most IP multica\n+000093d0: 7374 2072 6f75 7465 7273 2064 6f20 696d st routers do im\n+000093e0: 706c 656d 656e 7420 7468 7265 7368 6f6c plement threshol\n+000093f0: 642d 6261 7365 640a 2020 2020 2066 696c d-based. fil\n+00009400: 7465 7269 6e67 2061 6e64 2077 696c 6c20 tering and will \n+00009410: 6e6f 7420 6c65 7420 4950 206d 756c 7469 not let IP multi\n+00009420: 6361 7374 2070 6163 6b65 7473 206c 6561 cast packets lea\n+00009430: 7665 2079 6f75 720a 2020 2020 206f 7267 ve your. org\n+00009440: 616e 697a 6174 696f 6e20 6966 2074 6865 anization if the\n+00009450: 2054 544c 206f 6e20 7468 6520 6c61 7374 TTL on the last\n+00009460: 2072 6f75 7465 7220 6973 2073 6d61 6c6c router is small\n+00009470: 6572 2074 6861 6e20 3136 2e0a 0a20 2020 er than 16... \n+00009480: 2020 4966 2030 2069 7320 6769 7665 6e20 If 0 is given \n+00009490: 666f 7220 7468 6520 506f 7274 2c20 6120 for the Port, a \n+000094a0: 6c6f 6361 6c20 6f6e 6520 7769 6c6c 2062 local one will b\n+000094b0: 6520 6368 6f73 656e 2e20 2049 7420 6361 e chosen. It ca\n+000094c0: 6e0a 2020 2020 2074 6865 6e20 6c61 7465 n. then late\n+000094d0: 7220 6265 2072 6574 7269 6576 6564 2075 r be retrieved u\n+000094e0: 7369 6e67 2047 6574 5f53 6f63 6b5f 506f sing Get_Sock_Po\n+000094f0: 7274 2e0a 0a45 5841 4d50 4c45 0a20 2020 rt...EXAMPLE. \n+00009500: 2020 2020 2020 2064 6563 6c61 7265 0a20 declare. \n+00009510: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00009520: 203a 204d 756c 7469 6361 7374 5f53 6f63 : Multicast_Soc\n+00009530: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n+00009540: 2020 6265 6769 6e0a 2020 2020 2020 2020 begin. \n+00009550: 2020 2020 202d 2d20 4372 6561 7465 2061 -- Create a\n+00009560: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n+00009570: 7420 6f6e 2067 726f 7570 2032 3234 2e31 t on group 224.1\n+00009580: 2e32 2e33 2070 6f72 7420 3837 3633 0a20 .2.3 port 8763. \n+00009590: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+000095a0: 203a 3d20 4372 6561 7465 5f4d 756c 7469 := Create_Multi\n+000095b0: 6361 7374 5f53 6f63 6b65 7420 2822 3232 cast_Socket (\"22\n+000095c0: 342e 312e 322e 3322 2c20 3837 3633 293b 4.1.2.3\", 8763);\n+000095d0: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n+000095e0: 2050 6572 666f 726d 2073 6f6d 6520 6f70 Perform some op\n+000095f0: 6572 6174 696f 6e73 206f 6e20 736f 636b erations on sock\n+00009600: 6574 0a20 2020 2020 2020 2020 2020 2020 et. \n+00009610: 5b2e 2e2e 5d0a 2020 2020 2020 2020 2020 [...]. \n+00009620: 2020 202d 2d20 5368 7574 646f 776e 2074 -- Shutdown t\n+00009630: 6865 2073 6f63 6b65 7420 696e 2062 6f74 he socket in bot\n+00009640: 6820 6469 7265 6374 696f 6e73 0a20 2020 h directions. \n+00009650: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n+00009660: 776e 2028 536f 636b 2c20 426f 7468 293b wn (Sock, Both);\n+00009670: 0a20 2020 2020 2020 2020 2065 6e64 3b0a . end;.\n+00009680: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00009690: 6e6f 7465 2053 656e 6420 2870 726f 6365 note Send (proce\n+000096a0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+000096b0: 6f74 6520 5368 7574 646f 776e 2028 7072 ote Shutdown (pr\n+000096c0: 6f63 6564 7572 6529 3a3a 2e0a 0a2a 204d ocedure)::...* M\n+000096d0: 656e 753a 0a0a 4372 6561 7465 5f4d 756c enu:..Create_Mul\n+000096e0: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n+000096f0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+00009700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00009710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00009720: 504f 5345 0a20 2020 2020 4372 6561 7465 POSE. Create\n+00009730: 2061 6e20 4950 206d 756c 7469 6361 7374 an IP multicast\n+00009740: 2073 6f63 6b65 740a 5052 4f54 4f54 5950 socket.PROTOTYP\n+00009750: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00009760: 7473 2e4d 756c 7469 6361 7374 2e43 7265 ts.Multicast.Cre\n+00009770: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00009780: 636b 6574 3a20 6675 6e63 7469 6f6e 0a20 cket: function. \n+00009790: 2020 2020 2020 2020 2020 2020 2020 4372 Cr\n+000097a0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+000097b0: 6f63 6b65 7420 2847 524f 5550 203a 2053 ocket (GROUP : S\n+000097c0: 7472 696e 673b 2050 4f52 5420 3a20 506f tring; PORT : Po\n+000097d0: 7369 7469 7665 3b0a 2020 2020 2020 2020 sitive;. \n+000097e0: 2020 2020 2020 204c 4f43 414c 5f50 4f52 LOCAL_POR\n+000097f0: 5420 3a20 4e61 7475 7261 6c3b 2054 544c T : Natural; TTL\n+00009800: 203a 2050 6f73 6974 6976 6520 3a3d 2031 : Positive := 1\n+00009810: 363b 0a20 2020 2020 2020 2020 2020 2020 6;. \n+00009820: 2020 4c4f 4341 4c5f 4946 203a 2053 7472 LOCAL_IF : Str\n+00009830: 696e 6720 3a3d 2030 2e30 2e30 2e30 290a ing := 0.0.0.0).\n+00009840: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+00009850: 6574 7572 6e20 4d75 6c74 6963 6173 745f eturn Multicast_\n+00009860: 536f 636b 6574 5f46 443b 0a0a 5041 5241 Socket_FD;..PARA\n+00009870: 4d45 5445 5253 0a20 2020 2020 4752 4f55 METERS. GROU\n+00009880: 5020 2020 2020 2069 6e20 2020 2020 2020 P in \n+00009890: 2020 4950 2061 6464 7265 7373 206f 6620 IP address of \n+000098a0: 7468 6520 6d75 6c74 6963 6173 7420 6772 the multicast gr\n+000098b0: 6f75 7020 746f 0a20 2020 2020 2020 2020 oup to. \n+000098c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000098d0: 2020 6a6f 696e 0a20 2020 2020 504f 5254 join. PORT\n+000098e0: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n+000098f0: 2020 506f 7274 206f 6620 7468 6520 6d75 Port of the mu\n+00009900: 6c74 6963 6173 7420 6772 6f75 7020 746f lticast group to\n+00009910: 206a 6f69 6e0a 2020 2020 204c 4f43 414c join. LOCAL\n+00009920: 5f50 4f52 5420 696e 2020 2020 2020 2020 _PORT in \n+00009930: 204c 6f63 616c 2070 6f72 7420 6e75 6d62 Local port numb\n+00009940: 6572 2074 6f20 7573 650a 2020 2020 2054 er to use. T\n+00009950: 544c 2020 2020 2020 2020 696e 2020 2020 TL in \n+00009960: 2020 2020 2054 696d 652d 746f 2d6c 6976 Time-to-liv\n+00009970: 6520 6f66 2073 656e 7420 7061 636b 6574 e of sent packet\n+00009980: 730a 2020 2020 204c 4f43 414c 5f49 4620 s. LOCAL_IF \n+00009990: 2020 696e 2020 2020 2020 2020 2041 6464 in Add\n+000099a0: 7265 7373 206f 6620 7468 6520 6c6f 6361 ress of the loca\n+000099b0: 6c20 696e 7465 7266 6163 6520 746f 2075 l interface to u\n+000099c0: 7365 0a0a 5245 5455 524e 2056 414c 5545 se..RETURN VALUE\n+000099d0: 0a20 2020 2020 5468 6520 6e65 7720 696e . The new in\n+000099e0: 6974 6961 6c69 7a65 6420 6d75 6c74 6963 itialized multic\n+000099f0: 6173 7420 736f 636b 6574 0a0a 4445 5343 ast socket..DESC\n+00009a00: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00009a10: 7320 6675 6e63 7469 6f6e 2063 7265 6174 s function creat\n+00009a20: 6573 2061 6e20 4950 206d 756c 7469 6361 es an IP multica\n+00009a30: 7374 2073 6f63 6b65 7420 6174 7461 6368 st socket attach\n+00009a40: 6564 2074 6f20 6120 6769 7665 6e0a 2020 ed to a given. \n+00009a50: 2020 2067 726f 7570 2c20 6964 656e 7469 group, identi\n+00009a60: 6669 6564 2062 7920 6974 7320 636c 6173 fied by its clas\n+00009a70: 7320 4520 4950 2061 6464 7265 7373 2061 s E IP address a\n+00009a80: 6e64 2070 6f72 742e 2020 4966 0a20 2020 nd port. If. \n+00009a90: 2020 4c6f 6361 6c5f 506f 7274 2069 7320 Local_Port is \n+00009aa0: 302c 2061 2066 7265 6520 706f 7274 2077 0, a free port w\n+00009ab0: 696c 6c20 6175 746f 6d61 7469 6361 6c6c ill automaticall\n+00009ac0: 7920 6265 2063 686f 7365 6e20 6279 2079 y be chosen by y\n+00009ad0: 6f75 720a 2020 2020 206f 7065 7261 7469 our. operati\n+00009ae0: 6e67 2073 7973 7465 6d2e 0a0a 2020 2020 ng system... \n+00009af0: 2054 6869 7320 6675 6e63 7469 6f6e 2073 This function s\n+00009b00: 686f 756c 6420 6265 2075 7365 6420 7768 hould be used wh\n+00009b10: 656e 2079 6f75 2077 616e 7420 746f 2073 en you want to s\n+00009b20: 656e 6420 7061 636b 6574 7320 746f 2061 end packets to a\n+00009b30: 0a20 2020 2020 6d75 6c74 6963 6173 7420 . multicast \n+00009b40: 6772 6f75 7020 7769 7468 6f75 7420 7265 group without re\n+00009b50: 6365 6976 696e 6720 616e 7920 7061 636b ceiving any pack\n+00009b60: 6574 2079 6f75 7273 656c 662e 0a0a 4558 et yourself...EX\n+00009b70: 414d 504c 450a 2020 2020 2020 2020 2020 AMPLE. \n+00009b80: 6465 636c 6172 650a 2020 2020 2020 2020 declare. \n+00009b90: 2020 2020 2053 6f63 6b20 2020 2020 3a20 Sock : \n+00009ba0: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+00009bb0: 2020 2020 2020 2020 496e 636f 6d69 6e67 Incoming\n+00009bc0: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n+00009bd0: 2020 2020 2020 2020 6265 6769 6e0a 2020 begin. \n+00009be0: 2020 2020 2020 2020 2020 202d 2d20 4372 -- Cr\n+00009bf0: 6561 7465 2061 2054 4350 2073 6f63 6b65 eate a TCP socke\n+00009c00: 7420 6c69 7374 656e 696e 6720 6f6e 206c t listening on l\n+00009c10: 6f63 616c 2070 6f72 7420 3431 3631 0a20 ocal port 4161. \n+00009c20: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00009c30: 6574 2028 536f 636b 2c20 5046 5f49 4e45 et (Sock, PF_INE\n+00009c40: 542c 2053 4f43 4b5f 5354 5245 414d 293b T, SOCK_STREAM);\n+00009c50: 0a20 2020 2020 2020 2020 2020 2020 4269 . Bi\n+00009c60: 6e64 2028 536f 636b 2c20 3431 3631 293b nd (Sock, 4161);\n+00009c70: 0a20 2020 2020 2020 2020 2020 2020 4c69 . Li\n+00009c80: 7374 656e 2028 536f 636b 2c20 3329 3b0a sten (Sock, 3);.\n+00009c90: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n+00009ca0: 4f6e 652d 636f 6e6e 6563 7469 6f6e 2d61 One-connection-a\n+00009cb0: 742d 612d 7469 6d65 2073 6572 7665 7220 t-a-time server \n+00009cc0: 2833 206d 6179 2062 6520 7065 6e64 696e (3 may be pendin\n+00009cd0: 6729 0a20 2020 2020 2020 2020 2020 2020 g). \n+00009ce0: 6c6f 6f70 0a20 2020 2020 2020 2020 2020 loop. \n+00009cf0: 2020 2020 202d 2d20 5761 6974 2066 6f72 -- Wait for\n+00009d00: 2061 206e 6577 2063 6f6e 6e65 6374 696f a new connectio\n+00009d10: 6e20 616e 6420 6163 6365 7074 2069 740a n and accept it.\n+00009d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009d30: 4163 6365 7074 5f53 6f63 6b65 7420 2853 Accept_Socket (S\n+00009d40: 6f63 6b2c 2049 6e63 6f6d 696e 6729 3b0a ock, Incoming);.\n+00009d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009d60: 2d2d 2044 6f20 736f 6d65 2064 6961 6c6f -- Do some dialo\n+00009d70: 6720 7769 7468 2074 6865 2072 656d 6f74 g with the remot\n+00009d80: 6520 686f 7374 0a20 2020 2020 2020 2020 e host. \n+00009d90: 2020 2020 2020 2044 6f5f 536f 6d65 5f44 Do_Some_D\n+00009da0: 6961 6c6f 6720 2849 6e63 6f6d 696e 6729 ialog (Incoming)\n+00009db0: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00009dc0: 2020 2d2d 2043 6c6f 7365 2069 6e63 6f6d -- Close incom\n+00009dd0: 696e 6720 736f 636b 6574 2061 6e64 2077 ing socket and w\n+00009de0: 6169 7420 666f 7220 6e65 7874 2063 6f6e ait for next con\n+00009df0: 6e65 6374 696f 6e0a 2020 2020 2020 2020 nection. \n+00009e00: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n+00009e10: 2028 496e 636f 6d69 6e67 293b 0a20 2020 (Incoming);. \n+00009e20: 2020 2020 2020 2020 2020 656e 6420 6c6f end lo\n+00009e30: 6f70 3b0a 2020 2020 2020 2020 2020 656e op;. en\n+00009e40: 643b 0a0a 5345 4520 414c 534f 0a20 2020 d;..SEE ALSO. \n+00009e50: 2020 2a6e 6f74 6520 5365 6e64 2028 7072 *note Send (pr\n+00009e60: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00009e70: 202a 6e6f 7465 2053 6875 7464 6f77 6e20 *note Shutdown \n+00009e80: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00009e90: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00009ea0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00009eb0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n+00009ec0: 6163 6b61 6765 2c20 204e 6578 743a 2043 ackage, Next: C\n+00009ed0: 6f6e 7472 6962 7574 6f72 732c 2020 5072 ontributors, Pr\n+00009ee0: 6576 3a20 536f 636b 6574 732e 4d75 6c74 ev: Sockets.Mult\n+00009ef0: 6963 6173 7420 7061 636b 6167 652c 2020 icast package, \n+00009f00: 5570 3a20 546f 700a 0a36 2053 6f63 6b65 Up: Top..6 Socke\n+00009f10: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+00009f20: 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a e.**************\n+00009f30: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 **********..The \n+00009f40: e280 9853 6f63 6b65 7473 2e4e 616d 696e ...Sockets.Namin\n+00009f50: 67e2 8099 2070 6163 6b61 6765 2063 6f6e g... package con\n+00009f60: 7461 696e 7320 7479 7065 7320 616e 6420 tains types and \n+00009f70: 6865 6c70 6572 2066 756e 6374 696f 6e73 helper functions\n+00009f80: 206e 6565 6465 640a 746f 206d 616e 6970 needed.to manip\n+00009f90: 756c 6174 6520 496e 7465 726e 6574 2068 ulate Internet h\n+00009fa0: 6f73 7420 6e61 6d65 7320 616e 6420 6164 ost names and ad\n+00009fb0: 6472 6573 7365 732e 0a0a 202d 2d20 536f dresses... -- So\n+00009fc0: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add\n+00009fd0: 7265 7373 3a20 7479 7065 2041 6464 7265 ress: type Addre\n+00009fe0: 7373 2069 7320 7265 636f 7264 0a20 2020 ss is record. \n+00009ff0: 2020 2020 2020 2020 4831 2c20 4832 2c20 H1, H2, \n+0000a000: 4833 2c20 4834 203a 2041 6464 7265 7373 H3, H4 : Address\n+0000a010: 5f43 6f6d 706f 6e65 6e74 3b0a 2020 2020 _Component;. \n+0000a020: 2020 2020 2020 656e 6420 7265 636f 7264 end record\n+0000a030: 3b0a 2020 2020 2054 6869 7320 7479 7065 ;. This type\n+0000a040: 2072 6570 7265 7365 6e74 7320 616e 2049 represents an I\n+0000a050: 5076 3420 6164 6472 6573 7320 7769 7468 Pv4 address with\n+0000a060: 20e2 8098 4831 e280 9920 6265 696e 6720 ...H1... being \n+0000a070: 7468 6520 6669 7273 740a 2020 2020 206f the first. o\n+0000a080: 6374 6574 2061 6e64 20e2 8098 4834 e280 ctet and ...H4..\n+0000a090: 9920 7468 6520 6c61 7374 206f 6e65 2e20 . the last one. \n+0000a0a0: 2046 6f72 2065 7861 6d70 6c65 2c20 3133 For example, 13\n+0000a0b0: 372e 3139 342e 3136 312e 3220 6973 0a20 7.194.161.2 is. \n+0000a0c0: 2020 2020 7265 7072 6573 656e 7465 6420 represented \n+0000a0d0: 6279 20e2 8098 4831 3d31 3337 2c20 4832 by ...H1=137, H2\n+0000a0e0: 3d31 3934 2c20 4833 3d31 3631 2c20 4834 =194, H3=161, H4\n+0000a0f0: 3d32 e280 992e 0a0a 202d 2d20 536f 636b =2...... -- Sock\n+0000a100: 6574 732e 4e61 6d69 6e67 2e41 6464 7265 ets.Naming.Addre\n+0000a110: 7373 5f41 7272 6179 3a20 7479 7065 2041 ss_Array: type A\n+0000a120: 6464 7265 7373 5f41 7272 6179 2069 7320 ddress_Array is \n+0000a130: 6172 7261 7920 2850 6f73 6974 6976 650a array (Positive.\n+0000a140: 2020 2020 2020 2020 2020 7261 6e67 6520 range \n+0000a150: 3c3e 2920 6f66 2041 6464 7265 7373 3b0a <>) of Address;.\n+0000a160: 2020 2020 2048 656c 7065 7220 7479 7065 Helper type\n+0000a170: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na\n+0000a180: 6d69 6e67 2e41 6464 7265 7373 5f43 6f6d ming.Address_Com\n+0000a190: 706f 6e65 6e74 3a20 7479 7065 2041 6464 ponent: type Add\n+0000a1a0: 7265 7373 5f43 6f6d 706f 6e65 6e74 2069 ress_Component i\n+0000a1b0: 7320 4e61 7475 7261 6c0a 2020 2020 2020 s Natural. \n+0000a1c0: 2020 2020 7261 6e67 6520 3020 2e2e 2032 range 0 .. 2\n+0000a1d0: 3535 3b0a 2020 2020 2048 656c 7065 7220 55;. Helper \n+0000a1e0: 7479 7065 0a0a 202d 2d20 536f 636b 6574 type.. -- Socket\n+0000a1f0: 732e 4e61 6d69 6e67 2e48 6f73 745f 456e s.Naming.Host_En\n+0000a200: 7472 793a 2074 7970 6520 486f 7374 5f45 try: type Host_E\n+0000a210: 6e74 7279 2028 4e5f 416c 6961 7365 732c ntry (N_Aliases,\n+0000a220: 204e 5f41 6464 7265 7373 6573 203a 0a20 N_Addresses :. \n+0000a230: 2020 2020 2020 2020 204e 6174 7572 616c Natural\n+0000a240: 2920 6973 206e 6577 2041 6461 2e46 696e ) is new Ada.Fin\n+0000a250: 616c 697a 6174 696f 6e2e 436f 6e74 726f alization.Contro\n+0000a260: 6c6c 6564 2077 6974 6820 7265 636f 7264 lled with record\n+0000a270: 0a20 2020 2020 2020 2020 2020 204e 616d . Nam\n+0000a280: 6520 3a20 5374 7269 6e67 5f41 6363 6573 e : String_Acces\n+0000a290: 733b 0a20 2020 2020 2020 2020 2020 2041 s;. A\n+0000a2a0: 6c69 6173 6573 203a 2053 7472 696e 675f liases : String_\n+0000a2b0: 4172 7261 7920 2831 202e 2e20 4e5f 416c Array (1 .. N_Al\n+0000a2c0: 6961 7365 7329 3b0a 2020 2020 2020 2020 iases);. \n+0000a2d0: 2020 2020 4164 6472 6573 7365 7320 3a20 Addresses : \n+0000a2e0: 4164 6472 6573 735f 4172 7261 7920 2831 Address_Array (1\n+0000a2f0: 202e 2e20 4e5f 4164 6472 6573 7365 7329 .. N_Addresses)\n+0000a300: 3b0a 2020 2020 2020 2020 2020 656e 6420 ;. end \n+0000a310: 7265 636f 7264 3b0a 2020 2020 2054 6865 record;. The\n+0000a320: 20e2 8098 486f 7374 5f45 6e74 7279 e280 ...Host_Entry..\n+0000a330: 9920 7479 7065 2068 6f6c 6473 2061 2073 . type holds a s\n+0000a340: 6574 206f 6620 6e61 6d65 7320 616e 6420 et of names and \n+0000a350: 4950 2061 6464 7265 7373 6573 0a20 2020 IP addresses. \n+0000a360: 2020 6173 736f 6369 6174 6564 2077 6974 associated wit\n+0000a370: 6820 6120 686f 7374 2e20 2045 6163 6820 h a host. Each \n+0000a380: 686f 7374 2063 616e 2068 6176 6520 7365 host can have se\n+0000a390: 7665 7261 6c20 4950 2061 6464 7265 7373 veral IP address\n+0000a3a0: 2061 730a 2020 2020 2077 656c 6c20 6173 as. well as\n+0000a3b0: 2073 6576 6572 616c 2061 6c69 6173 6573 several aliases\n+0000a3c0: 2e0a 0a20 2d2d 2053 6f63 6b65 7473 2e4e ... -- Sockets.N\n+0000a3d0: 616d 696e 672e 5374 7269 6e67 5f41 6363 aming.String_Acc\n+0000a3e0: 6573 733a 2074 7970 6520 5374 7269 6e67 ess: type String\n+0000a3f0: 5f41 6363 6573 7320 6973 2061 6363 6573 _Access is acces\n+0000a400: 7320 5374 7269 6e67 3b0a 2020 2020 2048 s String;. H\n+0000a410: 656c 7065 7220 7479 7065 0a0a 202d 2d20 elper type.. -- \n+0000a420: 536f 636b 6574 732e 4e61 6d69 6e67 2e53 Sockets.Naming.S\n+0000a430: 7472 696e 675f 4172 7261 793a 2074 7970 tring_Array: typ\n+0000a440: 6520 5374 7269 6e67 5f41 7272 6179 2069 e String_Array i\n+0000a450: 7320 6172 7261 7920 2850 6f73 6974 6976 s array (Positiv\n+0000a460: 650a 2020 2020 2020 2020 2020 7261 6e67 e. rang\n+0000a470: 6520 3c3e 2920 6f66 2053 7472 696e 675f e <>) of String_\n+0000a480: 4163 6365 7373 3b0a 2020 2020 2048 656c Access;. Hel\n+0000a490: 7065 7220 7479 7065 0a0a 2a20 4d65 6e75 per type..* Menu\n+0000a4a0: 3a0a 0a2a 2041 6464 7265 7373 5f4f 6620 :..* Address_Of \n+0000a4b0: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a4d0: 2020 2020 2047 6574 2074 6865 2049 5020 Get the IP \n+0000a4e0: 6164 6472 6573 7320 6f66 2061 2068 6f73 address of a hos\n+0000a4f0: 740a 2a20 416e 795f 4164 6472 6573 7320 t.* Any_Address \n+0000a500: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a520: 2020 2020 2053 7065 6369 616c 2061 6464 Special add\n+0000a530: 7265 7373 2072 6570 7265 7365 6e74 696e ress representin\n+0000a540: 6720 616e 7920 6164 6472 6573 7320 6f6e g any address on\n+0000a550: 2074 6865 206c 6f63 616c 2068 6f73 740a the local host.\n+0000a560: 2a20 4765 745f 5065 6572 5f41 6464 7220 * Get_Peer_Addr \n+0000a570: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a590: 2020 2020 2052 6574 7269 6576 6520 4950 Retrieve IP\n+0000a5a0: 2061 6464 7265 7373 206f 6620 7265 6d6f address of remo\n+0000a5b0: 7465 2068 6f73 740a 2a20 4765 745f 5065 te host.* Get_Pe\n+0000a5c0: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000a5d0: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+0000a5e0: 2020 2020 2020 2020 2020 2020 2052 6574 Ret\n+0000a5f0: 7269 6576 6520 706f 7274 2075 7365 6420 rieve port used \n+0000a600: 6279 2072 656d 6f74 6520 686f 7374 0a2a by remote host.*\n+0000a610: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+0000a620: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a640: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP \n+0000a650: 6164 6472 6573 7320 6f66 206c 6f63 616c address of local\n+0000a660: 2068 6f73 740a 2a20 4765 745f 536f 636b host.* Get_Sock\n+0000a670: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000a680: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+0000a690: 2020 2020 2020 2020 2020 2052 6574 7269 Retri\n+0000a6a0: 6576 6520 706f 7274 2075 7365 6420 6279 eve port used by\n+0000a6b0: 206c 6f63 616c 2068 6f73 740a 2a20 486f local host.* Ho\n+0000a6c0: 7374 5f4e 616d 6520 2866 756e 6374 696f st_Name (functio\n+0000a6d0: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+0000a6e0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000a6f0: 2074 6865 206e 616d 6520 6f66 2074 6865 the name of the\n+0000a700: 2063 7572 7265 6e74 2068 6f73 740a 2a20 current host.* \n+0000a710: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function)\n+0000a720: 3a3a 2020 2020 4d61 6b65 2061 2073 7472 :: Make a str\n+0000a730: 696e 6720 6672 6f6d 2061 6e20 6164 6472 ing from an addr\n+0000a740: 6573 730a 2a20 496e 666f 5f4f 665f 4e61 ess.* Info_Of_Na\n+0000a750: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi\n+0000a760: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+0000a770: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000a780: 7420 6164 6472 6573 7365 7320 616e 6420 t addresses and \n+0000a790: 6e61 6d65 7320 6f66 2061 2068 6f73 740a names of a host.\n+0000a7a0: 2a20 4973 5f49 505f 4164 6472 6573 7320 * Is_IP_Address \n+0000a7b0: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n 0000a7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a7d0: 5370 6563 6961 6c20 6164 6472 6573 7320 Special address \n-0000a7e0: 7265 7072 6573 656e 7469 6e67 2061 6e79 representing any\n-0000a7f0: 2061 6464 7265 7373 206f 6e20 7468 6520 address on the \n-0000a800: 6c6f 6361 6c20 686f 7374 0a2a 2047 6574 local host.* Get\n-0000a810: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func\n-0000a820: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n-0000a830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a840: 5265 7472 6965 7665 2049 5020 6164 6472 Retrieve IP addr\n-0000a850: 6573 7320 6f66 2072 656d 6f74 6520 686f ess of remote ho\n-0000a860: 7374 0a2a 2047 6574 5f50 6565 725f 506f st.* Get_Peer_Po\n-0000a870: 7274 2028 6675 6e63 7469 6f6e 293a 3a0a rt (function)::.\n-0000a880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a890: 2020 2020 2020 2020 5265 7472 6965 7665 Retrieve\n-0000a8a0: 2070 6f72 7420 7573 6564 2062 7920 7265 port used by re\n-0000a8b0: 6d6f 7465 2068 6f73 740a 2a20 4765 745f mote host.* Get_\n-0000a8c0: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n-0000a8d0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n-0000a8e0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000a8f0: 6574 7269 6576 6520 4950 2061 6464 7265 etrieve IP addre\n-0000a900: 7373 206f 6620 6c6f 6361 6c20 686f 7374 ss of local host\n-0000a910: 0a2a 2047 6574 5f53 6f63 6b5f 506f 7274 .* Get_Sock_Port\n-0000a920: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n-0000a930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a940: 2020 2020 2020 5265 7472 6965 7665 2070 Retrieve p\n-0000a950: 6f72 7420 7573 6564 2062 7920 6c6f 6361 ort used by loca\n-0000a960: 6c20 686f 7374 0a2a 2048 6f73 745f 4e61 l host.* Host_Na\n-0000a970: 6d65 2028 6675 6e63 7469 6f6e 293a 3a0a me (function)::.\n-0000a980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a990: 2020 2020 2020 2020 4765 7420 7468 6520 Get the \n-0000a9a0: 6e61 6d65 206f 6620 7468 6520 6375 7272 name of the curr\n-0000a9b0: 656e 7420 686f 7374 0a2a 2049 6d61 6765 ent host.* Image\n-0000a9c0: 2028 6675 6e63 7469 6f6e 293a 3a20 2020 (function):: \n-0000a9d0: 204d 616b 6520 6120 7374 7269 6e67 2066 Make a string f\n-0000a9e0: 726f 6d20 616e 2061 6464 7265 7373 0a2a rom an address.*\n-0000a9f0: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72 Info_Of_Name_Or\n-0000aa00: 5f49 5020 2866 756e 6374 696f 6e29 3a3a _IP (function)::\n-0000aa10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000aa20: 2020 2020 2020 2020 2047 6574 2061 6464 Get add\n-0000aa30: 7265 7373 6573 2061 6e64 206e 616d 6573 resses and names\n-0000aa40: 206f 6620 6120 686f 7374 0a2a 2049 735f of a host.* Is_\n-0000aa50: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n-0000aa60: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n+0000a7d0: 2020 2020 2043 6865 636b 2069 6620 6769 Check if gi\n+0000a7e0: 7665 6e20 7374 7269 6e67 2069 7320 6120 ven string is a \n+0000a7f0: 7661 6c69 6420 4950 2061 6464 7265 7373 valid IP address\n+0000a800: 0a2a 204e 616d 655f 4f66 2028 6675 6e63 .* Name_Of (func\n+0000a810: 7469 6f6e 293a 3a20 204f 6666 6963 6961 tion):: Officia\n+0000a820: 6c20 6e61 6d65 206f 6620 7468 6520 686f l name of the ho\n+0000a830: 7374 0a2a 2056 616c 7565 2028 6675 6e63 st.* Value (func\n+0000a840: 7469 6f6e 293a 3a20 2020 2054 7261 6e73 tion):: Trans\n+0000a850: 666f 726d 2061 2073 7472 696e 6720 696e form a string in\n+0000a860: 746f 2061 6e20 6164 6472 6573 730a 0a1f to an address...\n+0000a870: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000a880: 732e 696e 666f 2c20 204e 6f64 653a 2041 s.info, Node: A\n+0000a890: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000a8a0: 696f 6e29 2c20 204e 6578 743a 2041 6e79 ion), Next: Any\n+0000a8b0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000a8c0: 6f6e 292c 2020 5570 3a20 536f 636b 6574 on), Up: Socket\n+0000a8d0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+0000a8e0: 0a0a 4164 6472 6573 735f 4f66 2028 6675 ..Address_Of (fu\n+0000a8f0: 6e63 7469 6f6e 290a 3d3d 3d3d 3d3d 3d3d nction).========\n+0000a900: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a50 =============..P\n+0000a910: 5552 504f 5345 0a20 2020 2020 4765 7420 URPOSE. Get \n+0000a920: 7468 6520 4950 2061 6464 7265 7373 206f the IP address o\n+0000a930: 6620 6120 686f 7374 0a50 524f 544f 5459 f a host.PROTOTY\n+0000a940: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+0000a950: 6574 732e 4e61 6d69 6e67 2e41 6464 7265 ets.Naming.Addre\n+0000a960: 7373 5f4f 663a 2066 756e 6374 696f 6e20 ss_Of: function \n+0000a970: 4164 6472 6573 735f 4f66 0a20 2020 2020 Address_Of. \n+0000a980: 2020 2020 2020 2020 2020 2853 4f4d 4554 (SOMET\n+0000a990: 4849 4e47 203a 2053 7472 696e 6729 0a20 HING : String). \n+0000a9a0: 2020 2020 2020 2020 2020 2020 2020 7265 re\n+0000a9b0: 7475 726e 2041 6464 7265 7373 3b0a 0a50 turn Address;..P\n+0000a9c0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+0000a9d0: 4f4d 4554 4849 4e47 2020 696e 2020 2020 OMETHING in \n+0000a9e0: 2020 2020 2048 6f73 7420 6e61 6d65 206f Host name o\n+0000a9f0: 7220 4950 2061 6464 7265 7373 0a0a 5245 r IP address..RE\n+0000aa00: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000aa10: 4950 7634 2061 6464 7265 7373 0a0a 4558 IPv4 address..EX\n+0000aa20: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n+0000aa30: 984e 616d 696e 675f 4572 726f 72e2 8099 .Naming_Error...\n+0000aa40: 2020 2020 204e 6f20 696e 666f 726d 6174 No informat\n+0000aa50: 696f 6e20 6176 6169 6c61 626c 6520 666f ion available fo\n+0000aa60: 7220 7468 6973 206e 616d 6520 6f72 0a20 r this name or. \n 0000aa70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000aa80: 4368 6563 6b20 6966 2067 6976 656e 2073 Check if given s\n-0000aa90: 7472 696e 6720 6973 2061 2076 616c 6964 tring is a valid\n-0000aaa0: 2049 5020 6164 6472 6573 730a 2a20 4e61 IP address.* Na\n-0000aab0: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n-0000aac0: 3a3a 2020 4f66 6669 6369 616c 206e 616d :: Official nam\n-0000aad0: 6520 6f66 2074 6865 2068 6f73 740a 2a20 e of the host.* \n-0000aae0: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-0000aaf0: 3a3a 2020 2020 5472 616e 7366 6f72 6d20 :: Transform \n-0000ab00: 6120 7374 7269 6e67 2069 6e74 6f20 616e a string into an\n-0000ab10: 2061 6464 7265 7373 0a0a 1f0a 4669 6c65 address....File\n-0000ab20: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-0000ab30: 6f2c 2020 4e6f 6465 3a20 4164 6472 6573 o, Node: Addres\n-0000ab40: 735f 4f66 2028 6675 6e63 7469 6f6e 292c s_Of (function),\n-0000ab50: 2020 4e65 7874 3a20 416e 795f 4164 6472 Next: Any_Addr\n-0000ab60: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n-0000ab70: 2055 703a 2053 6f63 6b65 7473 2e4e 616d Up: Sockets.Nam\n-0000ab80: 696e 6720 7061 636b 6167 650a 0a41 6464 ing package..Add\n-0000ab90: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n-0000aba0: 6e29 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d n).=============\n-0000abb0: 3d3d 3d3d 3d3d 3d3d 0a0a 5055 5250 4f53 ========..PURPOS\n-0000abc0: 450a 2020 2020 2047 6574 2074 6865 2049 E. Get the I\n-0000abd0: 5020 6164 6472 6573 7320 6f66 2061 2068 P address of a h\n-0000abe0: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-0000abf0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n-0000ac00: 616d 696e 672e 4164 6472 6573 735f 4f66 aming.Address_Of\n-0000ac10: 3a20 6675 6e63 7469 6f6e 2041 6464 7265 : function Addre\n-0000ac20: 7373 5f4f 660a 2020 2020 2020 2020 2020 ss_Of. \n-0000ac30: 2020 2020 2028 534f 4d45 5448 494e 4720 (SOMETHING \n-0000ac40: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n-0000ac50: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n-0000ac60: 4164 6472 6573 733b 0a0a 5041 5241 4d45 Address;..PARAME\n-0000ac70: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH\n-0000ac80: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in \n-0000ac90: 486f 7374 206e 616d 6520 6f72 2049 5020 Host name or IP \n-0000aca0: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN \n-0000acb0: 5641 4c55 450a 2020 2020 2049 5076 3420 VALUE. IPv4 \n-0000acc0: 6164 6472 6573 730a 0a45 5843 4550 5449 address..EXCEPTI\n-0000acd0: 4f4e 530a 2020 2020 20e2 8098 4e61 6d69 ONS. ...Nami\n-0000ace0: 6e67 5f45 7272 6f72 e280 9920 2020 2020 ng_Error... \n-0000acf0: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061 No information a\n-0000ad00: 7661 696c 6162 6c65 2066 6f72 2074 6869 vailable for thi\n-0000ad10: 7320 6e61 6d65 206f 720a 2020 2020 2020 s name or. \n-0000ad20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ad30: 2020 6164 6472 6573 730a 0a53 4545 2041 address..SEE A\n-0000ad40: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n-0000ad50: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-0000ad60: 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a )::...* Menu:..*\n-0000ad70: 2041 6e79 5f41 6464 7265 7373 2028 6675 Any_Address (fu\n-0000ad80: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n-0000ad90: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n-0000ada0: 696f 6e29 3a3a 0a2a 2047 6574 5f50 6565 ion)::.* Get_Pee\n-0000adb0: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-0000adc0: 293a 3a0a 2a20 4765 745f 536f 636b 5f41 )::.* Get_Sock_A\n-0000add0: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-0000ade0: 0a2a 2047 6574 5f53 6f63 6b5f 506f 7274 .* Get_Sock_Port\n-0000adf0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n-0000ae00: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n-0000ae10: 696f 6e29 3a3a 0a2a 2049 6d61 6765 2028 ion)::.* Image (\n-0000ae20: 6675 6e63 7469 6f6e 293a 3a0a 2a20 496e function)::.* In\n-0000ae30: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n-0000ae40: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n-0000ae50: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f\n-0000ae60: 756e 6374 696f 6e29 3a3a 0a2a 204e 616d unction)::.* Nam\n-0000ae70: 655f 4f66 2028 6675 6e63 7469 6f6e 293a e_Of (function):\n-0000ae80: 3a0a 2a20 5661 6c75 6520 2866 756e 6374 :.* Value (funct\n-0000ae90: 696f 6e29 3a3a 0a0a 1f0a 4669 6c65 3a20 ion)::....File: \n-0000aea0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-0000aeb0: 2020 4e6f 6465 3a20 416e 795f 4164 6472 Node: Any_Addr\n-0000aec0: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n-0000aed0: 204e 6578 743a 2047 6574 5f50 6565 725f Next: Get_Peer_\n-0000aee0: 4164 6472 2028 6675 6e63 7469 6f6e 292c Addr (function),\n-0000aef0: 2020 5072 6576 3a20 4164 6472 6573 735f Prev: Address_\n-0000af00: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n-0000af10: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n-0000af20: 6675 6e63 7469 6f6e 290a 0a41 6e79 5f41 function)..Any_A\n-0000af30: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-0000af40: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000af50: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000af60: 450a 2020 2020 2053 7065 6369 616c 2061 E. Special a\n-0000af70: 6464 7265 7373 2072 6570 7265 7365 6e74 ddress represent\n-0000af80: 696e 6720 616e 7920 6164 6472 6573 7320 ing any address \n-0000af90: 6f6e 2074 6865 206c 6f63 616c 2068 6f73 on the local hos\n-0000afa0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n-0000afb0: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n-0000afc0: 696e 672e 416e 795f 4164 6472 6573 733a ing.Any_Address:\n-0000afd0: 2066 756e 6374 696f 6e20 416e 795f 4164 function Any_Ad\n-0000afe0: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n-0000aff0: 4c55 450a 2020 2020 2045 7175 6976 616c LUE. Equival\n-0000b000: 656e 7420 746f 20e2 8098 494e 4144 4452 ent to ...INADDR\n-0000b010: 5f41 4e59 e280 9920 696e 2074 6865 2043 _ANY... in the C\n-0000b020: 2070 726f 6772 616d 6d69 6e67 206c 616e programming lan\n-0000b030: 6775 6167 650a 0a1f 0a46 696c 653a 2061 guage....File: a\n-0000b040: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-0000b050: 204e 6f64 653a 2047 6574 5f50 6565 725f Node: Get_Peer_\n-0000b060: 4164 6472 2028 6675 6e63 7469 6f6e 292c Addr (function),\n-0000b070: 2020 4e65 7874 3a20 4765 745f 5065 6572 Next: Get_Peer\n-0000b080: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n-0000b090: 2c20 2050 7265 763a 2041 6e79 5f41 6464 , Prev: Any_Add\n-0000b0a0: 7265 7373 2028 6675 6e63 7469 6f6e 292c ress (function),\n-0000b0b0: 2020 5570 3a20 4164 6472 6573 735f 4f66 Up: Address_Of\n-0000b0c0: 2028 6675 6e63 7469 6f6e 290a 0a47 6574 (function)..Get\n-0000b0d0: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func\n-0000b0e0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-0000b0f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-0000b100: 5055 5250 4f53 450a 2020 2020 2052 6574 PURPOSE. Ret\n-0000b110: 7269 6576 6520 4950 2061 6464 7265 7373 rieve IP address\n-0000b120: 206f 6620 7265 6d6f 7465 2068 6f73 740a of remote host.\n-0000b130: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-0000b140: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-0000b150: 672e 4765 745f 5065 6572 5f41 6464 723a g.Get_Peer_Addr:\n-0000b160: 2066 756e 6374 696f 6e20 4765 745f 5065 function Get_Pe\n-0000b170: 6572 5f41 6464 720a 2020 2020 2020 2020 er_Addr. \n-0000b180: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-0000b190: 2053 6f63 6b65 745f 4644 290a 2020 2020 Socket_FD). \n-0000b1a0: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n-0000b1b0: 6e20 4164 6472 6573 733b 0a0a 5041 5241 n Address;..PARA\n-0000b1c0: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n-0000b1d0: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n-0000b1e0: 2020 436f 6e6e 6563 7465 6420 736f 636b Connected sock\n-0000b1f0: 6574 206f 626a 6563 740a 0a52 4554 5552 et object..RETUR\n-0000b200: 4e20 5641 4c55 450a 2020 2020 2050 6565 N VALUE. Pee\n-0000b210: 7220 6164 6472 6573 730a 0a53 4545 2041 r address..SEE A\n-0000b220: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047 LSO. *note G\n-0000b230: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n-0000b240: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n-0000b250: 2a6e 6f74 6520 4765 745f 536f 636b 5f41 *note Get_Sock_A\n-0000b260: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-0000b270: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-0000b280: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000b290: 653a 2047 6574 5f50 6565 725f 506f 7274 e: Get_Peer_Port\n-0000b2a0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000b2b0: 7874 3a20 4765 745f 536f 636b 5f41 6464 xt: Get_Sock_Add\n-0000b2c0: 7220 2866 756e 6374 696f 6e29 2c20 2050 r (function), P\n-0000b2d0: 7265 763a 2047 6574 5f50 6565 725f 4164 rev: Get_Peer_Ad\n-0000b2e0: 6472 2028 6675 6e63 7469 6f6e 292c 2020 dr (function), \n-0000b2f0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n-0000b300: 6675 6e63 7469 6f6e 290a 0a47 6574 5f50 function)..Get_P\n-0000b310: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n-0000b320: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-0000b330: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-0000b340: 5250 4f53 450a 2020 2020 2052 6574 7269 RPOSE. Retri\n-0000b350: 6576 6520 706f 7274 2075 7365 6420 6279 eve port used by\n-0000b360: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n-0000b370: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-0000b380: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n-0000b390: 6574 5f50 6565 725f 506f 7274 3a20 6675 et_Peer_Port: fu\n-0000b3a0: 6e63 7469 6f6e 2047 6574 5f50 6565 725f nction Get_Peer_\n-0000b3b0: 506f 7274 0a20 2020 2020 2020 2020 2020 Port. \n-0000b3c0: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So\n-0000b3d0: 636b 6574 5f46 4429 0a20 2020 2020 2020 cket_FD). \n-0000b3e0: 2020 2020 2020 2020 7265 7475 726e 2050 return P\n-0000b3f0: 6f73 6974 6976 653b 0a0a 5041 5241 4d45 ositive;..PARAME\n-0000b400: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-0000b410: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-0000b420: 436f 6e6e 6563 7465 6420 736f 636b 6574 Connected socket\n-0000b430: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n-0000b440: 5641 4c55 450a 2020 2020 2050 6f72 7420 VALUE. Port \n-0000b450: 7573 6564 206f 6e20 7468 6520 7265 6d6f used on the remo\n-0000b460: 7465 2068 6f73 740a 0a53 4545 2041 4c53 te host..SEE ALS\n-0000b470: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n-0000b480: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000b490: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-0000b4a0: 6f74 6520 4765 745f 5065 6572 5f41 6464 ote Get_Peer_Add\n-0000b4b0: 7220 2866 756e 6374 696f 6e29 3a3a 2e0a r (function)::..\n-0000b4c0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000b4d0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000b4e0: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n-0000b4f0: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000b500: 3a20 4765 745f 536f 636b 5f50 6f72 7420 : Get_Sock_Port \n-0000b510: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-0000b520: 763a 2047 6574 5f50 6565 725f 506f 7274 v: Get_Peer_Port\n-0000b530: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000b540: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000b550: 6e63 7469 6f6e 290a 0a47 6574 5f53 6f63 nction)..Get_Soc\n-0000b560: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function\n-0000b570: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000b580: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000b590: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n-0000b5a0: 6520 4950 2061 6464 7265 7373 206f 6620 e IP address of \n-0000b5b0: 6c6f 6361 6c20 686f 7374 0a50 524f 544f local host.PROTO\n-0000b5c0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-0000b5d0: 636b 6574 732e 4e61 6d69 6e67 2e47 6574 ckets.Naming.Get\n-0000b5e0: 5f53 6f63 6b5f 4164 6472 3a20 6675 6e63 _Sock_Addr: func\n-0000b5f0: 7469 6f6e 2047 6574 5f53 6f63 6b5f 4164 tion Get_Sock_Ad\n-0000b600: 6472 0a20 2020 2020 2020 2020 2020 2020 dr. \n-0000b610: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n-0000b620: 6574 5f46 4429 0a20 2020 2020 2020 2020 et_FD). \n-0000b630: 2020 2020 2020 7265 7475 726e 2041 6464 return Add\n-0000b640: 7265 7373 3b0a 0a50 4152 414d 4554 4552 ress;..PARAMETER\n-0000b650: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-0000b660: 2020 696e 2020 2020 2020 2020 2043 6f6e in Con\n-0000b670: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-0000b680: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n-0000b690: 5545 0a20 2020 2020 4164 6472 6573 7320 UE. Address \n-0000b6a0: 6f66 206c 6f63 616c 2069 6e74 6572 6661 of local interfa\n-0000b6b0: 6365 2075 7365 640a 0a53 4545 2041 4c53 ce used..SEE ALS\n-0000b6c0: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n-0000b6d0: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000b6e0: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-0000b6f0: 6f74 6520 4765 745f 5065 6572 5f41 6464 ote Get_Peer_Add\n-0000b700: 7220 2866 756e 6374 696f 6e29 3a3a 2e0a r (function)::..\n-0000b710: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000b720: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000b730: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n-0000b740: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000b750: 3a20 486f 7374 5f4e 616d 6520 2866 756e : Host_Name (fun\n-0000b760: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n-0000b770: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n-0000b780: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n-0000b790: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000b7a0: 6f6e 290a 0a47 6574 5f53 6f63 6b5f 506f on)..Get_Sock_Po\n-0000b7b0: 7274 2028 6675 6e63 7469 6f6e 290a 2d2d rt (function).--\n-0000b7c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b7d0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-0000b7e0: 2020 2020 2052 6574 7269 6576 6520 706f Retrieve po\n-0000b7f0: 7274 2075 7365 6420 6279 206c 6f63 616c rt used by local\n-0000b800: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-0000b810: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-0000b820: 2e4e 616d 696e 672e 4765 745f 536f 636b .Naming.Get_Sock\n-0000b830: 5f50 6f72 743a 2066 756e 6374 696f 6e20 _Port: function \n-0000b840: 4765 745f 536f 636b 5f50 6f72 740a 2020 Get_Sock_Port. \n-0000b850: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n-0000b860: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-0000b870: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-0000b880: 2072 6574 7572 6e20 506f 7369 7469 7665 return Positive\n-0000b890: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000b8a0: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-0000b8b0: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n-0000b8c0: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-0000b8d0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-0000b8e0: 2020 2020 506f 7274 2075 7365 6420 6f6e Port used on\n-0000b8f0: 2074 6865 206c 6f63 616c 2068 6f73 740a the local host.\n-0000b900: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-0000b910: 6e6f 7465 2047 6574 5f50 6565 725f 506f note Get_Peer_Po\n-0000b920: 7274 2028 6675 6e63 7469 6f6e 293a 3a2c rt (function)::,\n-0000b930: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n-0000b940: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n-0000b950: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n-0000b960: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-0000b970: 2c20 204e 6f64 653a 2048 6f73 745f 4e61 , Node: Host_Na\n-0000b980: 6d65 2028 6675 6e63 7469 6f6e 292c 2020 me (function), \n-0000b990: 4e65 7874 3a20 496d 6167 6520 2866 756e Next: Image (fun\n-0000b9a0: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n-0000b9b0: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n-0000b9c0: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n-0000b9d0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000b9e0: 6f6e 290a 0a48 6f73 745f 4e61 6d65 2028 on)..Host_Name (\n-0000b9f0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-0000ba00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-0000ba10: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n-0000ba20: 2074 6865 206e 616d 6520 6f66 2074 6865 the name of the\n-0000ba30: 2063 7572 7265 6e74 2068 6f73 740a 5052 current host.PR\n-0000ba40: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-0000ba50: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-0000ba60: 486f 7374 5f4e 616d 653a 2066 756e 6374 Host_Name: funct\n-0000ba70: 696f 6e20 486f 7374 5f4e 616d 650a 0a52 ion Host_Name..R\n-0000ba80: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n-0000ba90: 204e 616d 6520 6f66 2074 6865 2063 7572 Name of the cur\n-0000baa0: 7265 6e74 2068 6f73 740a 0a44 4553 4352 rent host..DESCR\n-0000bab0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-0000bac0: 2066 756e 6374 696f 6e20 7265 7475 726e function return\n-0000bad0: 7320 7468 6520 6e61 6d65 206f 6620 7468 s the name of th\n-0000bae0: 6520 6375 7272 656e 7420 686f 7374 2e20 e current host. \n-0000baf0: 2044 6570 656e 6469 6e67 206f 6e0a 2020 Depending on. \n-0000bb00: 2020 2074 6865 206c 6f63 616c 2063 6f6e the local con\n-0000bb10: 6669 6775 7261 7469 6f6e 2c20 6974 206d figuration, it m\n-0000bb20: 6179 206f 7220 6d61 7920 6e6f 7420 6265 ay or may not be\n-0000bb30: 2061 2066 756c 6c79 2071 7561 6c69 6669 a fully qualifi\n-0000bb40: 6564 0a20 2020 2020 646f 6d61 696e 206e ed. domain n\n-0000bb50: 616d 6520 2846 5144 4e29 2e0a 0a1f 0a46 ame (FQDN).....F\n-0000bb60: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000bb70: 696e 666f 2c20 204e 6f64 653a 2049 6d61 info, Node: Ima\n-0000bb80: 6765 2028 6675 6e63 7469 6f6e 292c 2020 ge (function), \n-0000bb90: 4e65 7874 3a20 496e 666f 5f4f 665f 4e61 Next: Info_Of_Na\n-0000bba0: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi\n-0000bbb0: 6f6e 292c 2020 5072 6576 3a20 486f 7374 on), Prev: Host\n-0000bbc0: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n-0000bbd0: 2c20 2055 703a 2041 6464 7265 7373 5f4f , Up: Address_O\n-0000bbe0: 6620 2866 756e 6374 696f 6e29 0a0a 496d f (function)..Im\n-0000bbf0: 6167 6520 2866 756e 6374 696f 6e29 0a2d age (function).-\n-0000bc00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-0000bc10: 0a50 5552 504f 5345 0a20 2020 2020 4d61 .PURPOSE. Ma\n-0000bc20: 6b65 2061 2073 7472 696e 6720 6672 6f6d ke a string from\n-0000bc30: 2061 6e20 6164 6472 6573 730a 5052 4f54 an address.PROT\n-0000bc40: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000bc50: 6f63 6b65 7473 2e4e 616d 696e 672e 496d ockets.Naming.Im\n-0000bc60: 6167 653a 2066 756e 6374 696f 6e20 496d age: function Im\n-0000bc70: 6167 6520 2841 4444 203a 2041 6464 7265 age (ADD : Addre\n-0000bc80: 7373 290a 2020 2020 2020 2020 2020 2020 ss). \n-0000bc90: 2020 2072 6574 7572 6e20 5374 7269 6e67 return String\n-0000bca0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000bcb0: 2020 2041 4444 2020 2020 2020 2020 696e ADD in\n-0000bcc0: 2020 2020 2020 2020 2049 5020 6164 6472 IP addr\n-0000bcd0: 6573 730a 0a52 4554 5552 4e20 5641 4c55 ess..RETURN VALU\n-0000bce0: 450a 2020 2020 2053 7472 696e 6720 7265 E. String re\n-0000bcf0: 7072 6573 656e 7461 7469 6f6e 206f 6620 presentation of \n-0000bd00: 7468 6520 4950 2061 6464 7265 7373 0a0a the IP address..\n-0000bd10: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-0000bd20: 6f74 6520 5661 6c75 6520 2866 756e 6374 ote Value (funct\n-0000bd30: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n-0000bd40: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-0000bd50: 2c20 204e 6f64 653a 2049 6e66 6f5f 4f66 , Node: Info_Of\n-0000bd60: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n-0000bd70: 6374 696f 6e29 2c20 204e 6578 743a 2049 ction), Next: I\n-0000bd80: 735f 4950 5f41 6464 7265 7373 2028 6675 s_IP_Address (fu\n-0000bd90: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n-0000bda0: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function)\n-0000bdb0: 2c20 2055 703a 2041 6464 7265 7373 5f4f , Up: Address_O\n-0000bdc0: 6620 2866 756e 6374 696f 6e29 0a0a 496e f (function)..In\n-0000bdd0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n-0000bde0: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-0000bdf0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000be00: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-0000be10: 5345 0a20 2020 2020 4765 7420 6164 6472 SE. Get addr\n-0000be20: 6573 7365 7320 616e 6420 6e61 6d65 7320 esses and names \n-0000be30: 6f66 2061 2068 6f73 740a 5052 4f54 4f54 of a host.PROTOT\n-0000be40: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-0000be50: 6b65 7473 2e4e 616d 696e 672e 496e 666f kets.Naming.Info\n-0000be60: 5f4f 665f 4e61 6d65 5f4f 725f 4950 3a20 _Of_Name_Or_IP: \n-0000be70: 6675 6e63 7469 6f6e 2049 6e66 6f5f 4f66 function Info_Of\n-0000be80: 5f4e 616d 655f 4f72 5f49 500a 2020 2020 _Name_Or_IP. \n-0000be90: 2020 2020 2020 2020 2020 2028 534f 4d45 (SOME\n-0000bea0: 5448 494e 4720 3a20 5374 7269 6e67 290a THING : String).\n-0000beb0: 2020 2020 2020 2020 2020 2020 2020 2072 r\n-0000bec0: 6574 7572 6e20 486f 7374 5f45 6e74 7279 eturn Host_Entry\n-0000bed0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000bee0: 2020 2053 4f4d 4554 4849 4e47 2020 696e SOMETHING in\n-0000bef0: 2020 2020 2020 2020 2048 6f73 7420 6e61 Host na\n-0000bf00: 6d65 206f 7220 4950 2061 6464 7265 7373 me or IP address\n-0000bf10: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-0000bf20: 2020 2020 436f 7272 6573 706f 6e64 696e Correspondin\n-0000bf30: 6720 686f 7374 2065 6e74 7279 0a0a 4445 g host entry..DE\n-0000bf40: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-0000bf50: 6869 7320 6675 6e63 7469 6f6e 2065 7874 his function ext\n-0000bf60: 7261 6374 7320 616c 6c20 7468 6520 6e61 racts all the na\n-0000bf70: 6d65 7320 616e 6420 6164 6472 6573 7365 mes and addresse\n-0000bf80: 7320 6672 6f6d 2074 6865 206e 616d 696e s from the namin\n-0000bf90: 670a 2020 2020 2073 6572 7669 6365 2e0a g. service..\n-0000bfa0: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n-0000bfb0: 20e2 8098 4e61 6d69 6e67 5f45 7272 6f72 ...Naming_Error\n-0000bfc0: e280 9920 2020 2020 4e6f 2069 6e66 6f72 ... No infor\n-0000bfd0: 6d61 7469 6f6e 2061 7661 696c 6162 6c65 mation available\n-0000bfe0: 2066 6f72 2074 6869 7320 6e61 6d65 206f for this name o\n-0000bff0: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n-0000c000: 2020 2020 2020 2020 2020 6164 6472 6573 addres\n-0000c010: 730a 0a1f 0a46 696c 653a 2061 6461 736f s....File: adaso\n-0000c020: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000c030: 653a 2049 735f 4950 5f41 6464 7265 7373 e: Is_IP_Address\n-0000c040: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000c050: 7874 3a20 4e61 6d65 5f4f 6620 2866 756e xt: Name_Of (fun\n-0000c060: 6374 696f 6e29 2c20 2050 7265 763a 2049 ction), Prev: I\n-0000c070: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n-0000c080: 5020 2866 756e 6374 696f 6e29 2c20 2055 P (function), U\n-0000c090: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n-0000c0a0: 756e 6374 696f 6e29 0a0a 4973 5f49 505f unction)..Is_IP_\n-0000c0b0: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-0000c0c0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n-0000c0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-0000c0e0: 504f 5345 0a20 2020 2020 4368 6563 6b20 POSE. Check \n-0000c0f0: 6966 2067 6976 656e 2073 7472 696e 6720 if given string \n-0000c100: 6973 2061 2076 616c 6964 2049 5020 6164 is a valid IP ad\n-0000c110: 6472 6573 730a 5052 4f54 4f54 5950 450a dress.PROTOTYPE.\n-0000c120: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-0000c130: 2e4e 616d 696e 672e 4973 5f49 505f 4164 .Naming.Is_IP_Ad\n-0000c140: 6472 6573 733a 2066 756e 6374 696f 6e20 dress: function \n-0000c150: 4973 5f49 505f 4164 6472 6573 730a 2020 Is_IP_Address. \n-0000c160: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n-0000c170: 4d45 5448 494e 4720 3a20 5374 7269 6e67 METHING : String\n-0000c180: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-0000c190: 2072 6574 7572 6e20 426f 6f6c 6561 6e3b return Boolean;\n-0000c1a0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-0000c1b0: 2020 534f 4d45 5448 494e 4720 2069 6e20 SOMETHING in \n-0000c1c0: 2020 2020 2020 2020 5374 7269 6e67 2074 String t\n-0000c1d0: 6f20 6368 6563 6b0a 0a52 4554 5552 4e20 o check..RETURN \n-0000c1e0: 5641 4c55 450a 2020 2020 20e2 8098 5472 VALUE. ...Tr\n-0000c1f0: 7565 e280 9920 6966 2053 4f4d 4554 4849 ue... if SOMETHI\n-0000c200: 4e47 2069 7320 616e 2049 5020 6164 6472 NG is an IP addr\n-0000c210: 6573 730a 0a1f 0a46 696c 653a 2061 6461 ess....File: ada\n-0000c220: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-0000c230: 6f64 653a 204e 616d 655f 4f66 2028 6675 ode: Name_Of (fu\n-0000c240: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000c250: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-0000c260: 2c20 2050 7265 763a 2049 735f 4950 5f41 , Prev: Is_IP_A\n-0000c270: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-0000c280: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n-0000c290: 4f66 2028 6675 6e63 7469 6f6e 290a 0a4e Of (function)..N\n-0000c2a0: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-0000c2b0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000c2c0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-0000c2d0: 2020 204f 6666 6963 6961 6c20 6e61 6d65 Official name\n-0000c2e0: 206f 6620 7468 6520 686f 7374 0a50 524f of the host.PRO\n-0000c2f0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-0000c300: 536f 636b 6574 732e 4e61 6d69 6e67 2e4e Sockets.Naming.N\n-0000c310: 616d 655f 4f66 3a20 6675 6e63 7469 6f6e ame_Of: function\n-0000c320: 204e 616d 655f 4f66 2028 534f 4d45 5448 Name_Of (SOMETH\n-0000c330: 494e 4720 3a20 5374 7269 6e67 290a 2020 ING : String). \n-0000c340: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-0000c350: 7572 6e20 5374 7269 6e67 3b0a 0a50 4152 urn String;..PAR\n-0000c360: 414d 4554 4552 530a 2020 2020 2053 4f4d AMETERS. SOM\n-0000c370: 4554 4849 4e47 2020 696e 2020 2020 2020 ETHING in \n-0000c380: 2020 2048 6f73 7420 6e61 6d65 206f 7220 Host name or \n-0000c390: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU\n-0000c3a0: 524e 2056 414c 5545 0a20 2020 2020 4e61 RN VALUE. Na\n-0000c3b0: 6d65 206f 6620 7468 6520 686f 7374 0a0a me of the host..\n-0000c3c0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-0000c3d0: e280 984e 616d 696e 675f 4572 726f 72e2 ...Naming_Error.\n-0000c3e0: 8099 2020 2020 204e 6f20 696e 666f 726d .. No inform\n-0000c3f0: 6174 696f 6e20 6176 6169 6c61 626c 6520 ation available \n-0000c400: 666f 7220 7468 6973 206e 616d 6520 6f72 for this name or\n-0000c410: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c420: 2020 2020 2020 2020 2061 6464 7265 7373 address\n-0000c430: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-0000c440: 2a6e 6f74 6520 4164 6472 6573 735f 4f66 *note Address_Of\n-0000c450: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n-0000c460: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-0000c470: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-0000c480: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-0000c490: 2c20 2050 7265 763a 204e 616d 655f 4f66 , Prev: Name_Of\n-0000c4a0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000c4b0: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000c4c0: 6e63 7469 6f6e 290a 0a56 616c 7565 2028 nction)..Value (\n-0000c4d0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-0000c4e0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000c4f0: 4f53 450a 2020 2020 2054 7261 6e73 666f OSE. Transfo\n-0000c500: 726d 2061 2073 7472 696e 6720 696e 746f rm a string into\n-0000c510: 2061 6e20 6164 6472 6573 730a 5052 4f54 an address.PROT\n-0000c520: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000c530: 6f63 6b65 7473 2e4e 616d 696e 672e 5661 ockets.Naming.Va\n-0000c540: 6c75 653a 2066 756e 6374 696f 6e20 5661 lue: function Va\n-0000c550: 6c75 6520 2841 4444 203a 2053 7472 696e lue (ADD : Strin\n-0000c560: 6729 0a20 2020 2020 2020 2020 2020 2020 g). \n-0000c570: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n-0000c580: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000c590: 2020 2041 4444 2020 2020 2020 2020 696e ADD in\n-0000c5a0: 2020 2020 2020 2020 2054 6578 7475 616c Textual\n-0000c5b0: 2072 6570 7265 7365 6e74 6174 696f 6e20 representation \n-0000c5c0: 6f66 2061 6e20 4950 2061 6464 7265 7373 of an IP address\n-0000c5d0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-0000c5e0: 2020 2020 436f 7272 6573 706f 6e64 696e Correspondin\n-0000c5f0: 6720 4164 6472 6573 730a 0a53 4545 2041 g Address..SEE A\n-0000c600: 4c53 4f0a 2020 2020 202a 6e6f 7465 2049 LSO. *note I\n-0000c610: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n-0000c620: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-0000c630: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-0000c640: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors\n-0000c650: 2c20 204e 6578 743a 2052 6573 6f75 7263 , Next: Resourc\n-0000c660: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n-0000c670: 6574 2c20 2050 7265 763a 2053 6f63 6b65 et, Prev: Socke\n-0000c680: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000c690: 652c 2020 5570 3a20 546f 700a 0a41 7070 e, Up: Top..App\n-0000c6a0: 656e 6469 7820 4120 436f 6e74 7269 6275 endix A Contribu\n-0000c6b0: 746f 7273 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a tors.***********\n-0000c6c0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 4164 ************..Ad\n-0000c6d0: 6153 6f63 6b65 7473 2068 6173 2062 6565 aSockets has bee\n-0000c6e0: 6e20 6f72 6967 696e 616c 6c79 2064 6576 n originally dev\n-0000c6f0: 656c 6f70 7065 6420 6279 2053 616d 7565 elopped by Samue\n-0000c700: 6c20 5461 7264 6965 7520 7768 6f20 7374 l Tardieu who st\n-0000c710: 696c 6c0a 6d61 696e 7461 696e 7320 6974 ill.maintains it\n-0000c720: 2e20 2048 6f77 6576 6572 2c20 7468 6520 . However, the \n-0000c730: 666f 6c6c 6f77 696e 6720 7065 6f70 6c65 following people\n-0000c740: 2068 6176 6520 6d61 6465 2063 7275 6369 have made cruci\n-0000c750: 616c 0a63 6f6e 7472 6962 7574 696f 6e73 al.contributions\n-0000c760: 2074 6f20 4164 6153 6f63 6b65 7473 2c20 to AdaSockets, \n-0000c770: 6265 2074 6865 7920 6e65 7720 636f 6465 be they new code\n-0000c780: 2c20 6275 6720 6669 7865 7320 6f72 2070 , bug fixes or p\n-0000c790: 6f72 7469 6e67 2074 6f0a 6e65 7720 6f70 orting to.new op\n-0000c7a0: 6572 6174 696e 6720 7379 7374 656d 733a erating systems:\n-0000c7b0: 0a0a 2020 20e2 80a2 2044 6d69 7472 6979 .. ... Dmitriy\n-0000c7c0: 2041 6e69 7369 6d6b 6f76 2028 3c61 6e69 Anisimkov (). ... Alan B\n-0000c7f0: 6172 6e65 7320 283c 6261 726e 6573 6140 arnes (). \n-0000c810: 20e2 80a2 204a 7561 6e6d 6120 4261 7272 ... Juanma Barr\n-0000c820: 616e 7175 6572 6f20 283c 6c65 6b74 7540 anquero (). ..\n-0000c840: a220 426f 6262 7920 442e 2042 7279 616e . Bobby D. Bryan\n-0000c850: 7420 283c 6264 6272 7961 6e74 406d 6169 t (). \n-0000c870: 2020 e280 a220 5361 6e64 6572 2043 6f78 ... Sander Cox\n-0000c880: 2028 3c73 616e 6465 722e 636f 7840 7068 (). .\n-0000c8a0: 80a2 2053 756e 6520 4661 6c6b 2028 3c73 .. Sune Falk (). ... Gui\n-0000c8d0: 6c6c 6175 6d65 2046 6f6c 6961 7264 2028 llaume Foliard (\n-0000c8e0: 3c67 7569 666f 4077 616e 6164 6f6f 2e66 ). ... Laure\n-0000c900: 6e74 2047 7565 7262 7920 283c 6775 6572 nt Guerby (). ... Dav\n-0000c930: 6964 204a 2e20 4b72 6973 746f 6c61 2028 id J. Kristola (\n-0000c940: 3c44 6176 6964 3935 3033 3740 616f 6c2e ). ... Dom\n-0000c960: 696e 696b 204d 6164 6f6e 2028 3c64 6f6d inik Madon (). \n-0000c980: 2020 e280 a220 5061 7363 616c 204f 6272 ... Pascal Obr\n-0000c990: 7920 283c 702e 6f62 7279 4077 616e 6164 y (). ... N\n-0000c9b0: 6963 6f6c 6173 204f 6c6c 696e 6765 7220 icolas Ollinger \n-0000c9c0: 283c 4e69 636f 6c61 732e 4f6c 6c69 6e67 ()\n-0000c9e0: 0a20 2020 e280 a220 5374 7068 616e 6520 . ... Stphane \n-0000c9f0: 5061 7475 7265 6175 2028 3c73 7061 7475 Patureau (\n-0000ca20: 290a 2020 20e2 80a2 2054 686f 6d61 7320 ). ... Thomas \n-0000ca30: 5175 696e 6f74 2028 3c74 686f 6d61 7340 Quinot (). ... Preben\n-0000ca60: 2052 616e 6468 6f6c 2028 3c72 616e 6468 Randhol (). \n-0000ca80: e280 a220 4d61 7869 6d20 5265 7a6e 696b ... Maxim Reznik\n-0000ca90: 2028 3c6d 6178 3140 6d62 616e 6b2e 636f (). ... Jo\n-0000cab0: 656c 2053 6865 7272 696c 6c20 283c 6a6f el Sherrill (). ...\n-0000cae0: 2053 616d 7565 6c20 5461 7264 6965 7520 Samuel Tardieu \n-0000caf0: 283c 7361 6d40 7266 6331 3134 392e 6e65 ().. If you f\n-0000cb10: 6565 6c20 7468 6174 2079 6f75 2068 6176 eel that you hav\n-0000cb20: 6520 6265 656e 2066 6f72 676f 7474 656e e been forgotten\n-0000cb30: 2c20 706c 6561 7365 2073 656e 6420 6d65 , please send me\n-0000cb40: 2061 206d 6169 6c20 736f 0a74 6861 7420 a mail so.that \n-0000cb50: 4920 6361 6e20 6669 7820 6974 2069 6e20 I can fix it in \n-0000cb60: 7468 6520 6e65 7874 2076 6572 7369 6f6e the next version\n-0000cb70: 2e0a 0a20 2020 2a4e 6f74 6520 5265 736f ... *Note Reso\n-0000cb80: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n-0000cb90: 6572 6e65 743a 3a2c 2066 6f72 2068 6f77 ernet::, for how\n-0000cba0: 2074 6f20 636f 6e74 7269 6275 7465 2e0a to contribute..\n-0000cbb0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000cbc0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000cbd0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n-0000cbe0: 6520 496e 7465 726e 6574 2c20 204e 6578 e Internet, Nex\n-0000cbf0: 743a 2049 6e64 6578 2c20 2050 7265 763a t: Index, Prev:\n-0000cc00: 2043 6f6e 7472 6962 7574 6f72 732c 2020 Contributors, \n-0000cc10: 5570 3a20 546f 700a 0a41 7070 656e 6469 Up: Top..Appendi\n-0000cc20: 7820 4220 5265 736f 7572 6365 7320 6f6e x B Resources on\n-0000cc30: 2074 6865 2049 6e74 6572 6e65 740a 2a2a the Internet.**\n-0000cc40: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000cc50: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000cc60: 2a2a 0a0a 5468 6520 6c61 7465 7374 2076 **..The latest v\n-0000cc70: 6572 7369 6f6e 206f 6620 4164 6153 6f63 ersion of AdaSoc\n-0000cc80: 6b65 7473 2063 616e 2061 6c77 6179 7320 kets can always \n-0000cc90: 6265 2066 6f75 6e64 2061 743a 0a0a 2020 be found at:.. \n-0000cca0: 2020 2020 2020 2020 2020 2020 3c68 7474 .. You c\n-0000cce0: 616e 2072 6570 6f72 7420 6973 7375 6573 an report issues\n-0000ccf0: 206f 7220 7468 6520 4164 6153 6f63 6b65 or the AdaSocke\n-0000cd00: 7473 206d 6169 6c69 6e67 2d6c 6973 7420 ts mailing-list \n-0000cd10: 6174 0a0a 2020 2020 2020 2020 2020 2020 at.. \n-0000cd20: 3c68 7474 7073 3a2f 2f6c 6973 7473 2e73 .\n-0000cd50: 0a20 2020 436f 6e74 7269 6275 7469 6f6e . Contribution\n-0000cd60: 7320 616e 6420 7061 7463 6865 7320 6172 s and patches ar\n-0000cd70: 6520 7765 6c63 6f6d 6564 2e0a 0a1f 0a46 e welcomed.....F\n-0000cd80: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000cd90: 696e 666f 2c20 204e 6f64 653a 2049 6e64 info, Node: Ind\n-0000cda0: 6578 2c20 2050 7265 763a 2052 6573 6f75 ex, Prev: Resou\n-0000cdb0: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n-0000cdc0: 726e 6574 2c20 2055 703a 2054 6f70 0a0a rnet, Up: Top..\n-0000cdd0: 496e 6465 780a 2a2a 2a2a 2a0a 0a00 085b Index.*****....[\n-0000cde0: 696e 6465 7800 085d 0a2a 204d 656e 753a index..].* Menu:\n-0000cdf0: 0a0a 2a20 4163 6365 7074 5f53 6f63 6b65 ..* Accept_Socke\n-0000ce00: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0000ce10: 2020 2020 2020 2020 2020 2041 6363 6570 Accep\n-0000ce20: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-0000ce30: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000ce40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce70: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000ce80: 2041 6363 6570 7469 6e67 2061 206e 6577 Accepting a new\n-0000ce90: 2063 6f6e 6e65 6374 696f 6e3a 2020 2020 connection: \n-0000cea0: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n-0000ceb0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-0000cec0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000ced0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000aa80: 2020 2020 2020 2061 6464 7265 7373 0a0a address..\n+0000aa90: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000aaa0: 6f74 6520 4e61 6d65 5f4f 6620 2866 756e ote Name_Of (fun\n+0000aab0: 6374 696f 6e29 3a3a 2e0a 0a2a 204d 656e ction)::...* Men\n+0000aac0: 753a 0a0a 2a20 416e 795f 4164 6472 6573 u:..* Any_Addres\n+0000aad0: 7320 2866 756e 6374 696f 6e29 3a3a 0a2a s (function)::.*\n+0000aae0: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n+0000aaf0: 6675 6e63 7469 6f6e 293a 3a0a 2a20 4765 function)::.* Ge\n+0000ab00: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n+0000ab10: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f53 ction)::.* Get_S\n+0000ab20: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000ab30: 6f6e 293a 3a0a 2a20 4765 745f 536f 636b on)::.* Get_Sock\n+0000ab40: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000ab50: 3a3a 0a2a 2048 6f73 745f 4e61 6d65 2028 ::.* Host_Name (\n+0000ab60: 6675 6e63 7469 6f6e 293a 3a0a 2a20 496d function)::.* Im\n+0000ab70: 6167 6520 2866 756e 6374 696f 6e29 3a3a age (function)::\n+0000ab80: 0a2a 2049 6e66 6f5f 4f66 5f4e 616d 655f .* Info_Of_Name_\n+0000ab90: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function)\n+0000aba0: 3a3a 0a2a 2049 735f 4950 5f41 6464 7265 ::.* Is_IP_Addre\n+0000abb0: 7373 2028 6675 6e63 7469 6f6e 293a 3a0a ss (function)::.\n+0000abc0: 2a20 4e61 6d65 5f4f 6620 2866 756e 6374 * Name_Of (funct\n+0000abd0: 696f 6e29 3a3a 0a2a 2056 616c 7565 2028 ion)::.* Value (\n+0000abe0: 6675 6e63 7469 6f6e 293a 3a0a 0a1f 0a46 function)::....F\n+0000abf0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000ac00: 696e 666f 2c20 204e 6f64 653a 2041 6e79 info, Node: Any\n+0000ac10: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000ac20: 6f6e 292c 2020 4e65 7874 3a20 4765 745f on), Next: Get_\n+0000ac30: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000ac40: 696f 6e29 2c20 2050 7265 763a 2041 6464 ion), Prev: Add\n+0000ac50: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000ac60: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000ac70: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000ac80: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun\n+0000ac90: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+0000aca0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+0000acb0: 5552 504f 5345 0a20 2020 2020 5370 6563 URPOSE. Spec\n+0000acc0: 6961 6c20 6164 6472 6573 7320 7265 7072 ial address repr\n+0000acd0: 6573 656e 7469 6e67 2061 6e79 2061 6464 esenting any add\n+0000ace0: 7265 7373 206f 6e20 7468 6520 6c6f 6361 ress on the loca\n+0000acf0: 6c20 686f 7374 0a50 524f 544f 5459 5045 l host.PROTOTYPE\n+0000ad00: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+0000ad10: 732e 4e61 6d69 6e67 2e41 6e79 5f41 6464 s.Naming.Any_Add\n+0000ad20: 7265 7373 3a20 6675 6e63 7469 6f6e 2041 ress: function A\n+0000ad30: 6e79 5f41 6464 7265 7373 0a0a 5245 5455 ny_Address..RETU\n+0000ad40: 524e 2056 414c 5545 0a20 2020 2020 4571 RN VALUE. Eq\n+0000ad50: 7569 7661 6c65 6e74 2074 6f20 e280 9849 uivalent to ...I\n+0000ad60: 4e41 4444 525f 414e 59e2 8099 2069 6e20 NADDR_ANY... in \n+0000ad70: 7468 6520 4320 7072 6f67 7261 6d6d 696e the C programmin\n+0000ad80: 6720 6c61 6e67 7561 6765 0a0a 1f0a 4669 g language....Fi\n+0000ad90: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+0000ada0: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f nfo, Node: Get_\n+0000adb0: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000adc0: 696f 6e29 2c20 204e 6578 743a 2047 6574 ion), Next: Get\n+0000add0: 5f50 6565 725f 506f 7274 2028 6675 6e63 _Peer_Port (func\n+0000ade0: 7469 6f6e 292c 2020 5072 6576 3a20 416e tion), Prev: An\n+0000adf0: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct\n+0000ae00: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000ae10: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000ae20: 0a0a 4765 745f 5065 6572 5f41 6464 7220 ..Get_Peer_Addr \n+0000ae30: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+0000ae40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000ae50: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000ae60: 2020 5265 7472 6965 7665 2049 5020 6164 Retrieve IP ad\n+0000ae70: 6472 6573 7320 6f66 2072 656d 6f74 6520 dress of remote \n+0000ae80: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n+0000ae90: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+0000aea0: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f Naming.Get_Peer_\n+0000aeb0: 4164 6472 3a20 6675 6e63 7469 6f6e 2047 Addr: function G\n+0000aec0: 6574 5f50 6565 725f 4164 6472 0a20 2020 et_Peer_Addr. \n+0000aed0: 2020 2020 2020 2020 2020 2020 2853 4f43 (SOC\n+0000aee0: 4b45 5420 3a20 536f 636b 6574 5f46 4429 KET : Socket_FD)\n+0000aef0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000af00: 7265 7475 726e 2041 6464 7265 7373 3b0a return Address;.\n+0000af10: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+0000af20: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+0000af30: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected\n+0000af40: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n+0000af50: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000af60: 2020 5065 6572 2061 6464 7265 7373 0a0a Peer address..\n+0000af70: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000af80: 6f74 6520 4765 745f 5065 6572 5f50 6f72 ote Get_Peer_Por\n+0000af90: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+0000afa0: 2020 2020 202a 6e6f 7465 2047 6574 5f53 *note Get_S\n+0000afb0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000afc0: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000afd0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000afe0: 2020 4e6f 6465 3a20 4765 745f 5065 6572 Node: Get_Peer\n+0000aff0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000b000: 2c20 204e 6578 743a 2047 6574 5f53 6f63 , Next: Get_Soc\n+0000b010: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function\n+0000b020: 292c 2020 5072 6576 3a20 4765 745f 5065 ), Prev: Get_Pe\n+0000b030: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n+0000b040: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000b050: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000b060: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f\n+0000b070: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000b080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b090: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+0000b0a0: 5265 7472 6965 7665 2070 6f72 7420 7573 Retrieve port us\n+0000b0b0: 6564 2062 7920 7265 6d6f 7465 2068 6f73 ed by remote hos\n+0000b0c0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000b0d0: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000b0e0: 696e 672e 4765 745f 5065 6572 5f50 6f72 ing.Get_Peer_Por\n+0000b0f0: 743a 2066 756e 6374 696f 6e20 4765 745f t: function Get_\n+0000b100: 5065 6572 5f50 6f72 740a 2020 2020 2020 Peer_Port. \n+0000b110: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n+0000b120: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). \n+0000b130: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000b140: 7572 6e20 506f 7369 7469 7665 3b0a 0a50 urn Positive;..P\n+0000b150: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+0000b160: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+0000b170: 2020 2020 2043 6f6e 6e65 6374 6564 2073 Connected s\n+0000b180: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n+0000b190: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000b1a0: 506f 7274 2075 7365 6420 6f6e 2074 6865 Port used on the\n+0000b1b0: 2072 656d 6f74 6520 686f 7374 0a0a 5345 remote host..SE\n+0000b1c0: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+0000b1d0: 6520 4765 745f 536f 636b 5f50 6f72 7420 e Get_Sock_Port \n+0000b1e0: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+0000b1f0: 2020 202a 6e6f 7465 2047 6574 5f50 6565 *note Get_Pee\n+0000b200: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n+0000b210: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+0000b220: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000b230: 4e6f 6465 3a20 4765 745f 536f 636b 5f41 Node: Get_Sock_A\n+0000b240: 6464 7220 2866 756e 6374 696f 6e29 2c20 ddr (function), \n+0000b250: 204e 6578 743a 2047 6574 5f53 6f63 6b5f Next: Get_Sock_\n+0000b260: 506f 7274 2028 6675 6e63 7469 6f6e 292c Port (function),\n+0000b270: 2020 5072 6576 3a20 4765 745f 5065 6572 Prev: Get_Peer\n+0000b280: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000b290: 2c20 2055 703a 2041 6464 7265 7373 5f4f , Up: Address_O\n+0000b2a0: 6620 2866 756e 6374 696f 6e29 0a0a 4765 f (function)..Ge\n+0000b2b0: 745f 536f 636b 5f41 6464 7220 2866 756e t_Sock_Addr (fun\n+0000b2c0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+0000b2d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+0000b2e0: 0a50 5552 504f 5345 0a20 2020 2020 5265 .PURPOSE. Re\n+0000b2f0: 7472 6965 7665 2049 5020 6164 6472 6573 trieve IP addres\n+0000b300: 7320 6f66 206c 6f63 616c 2068 6f73 740a s of local host.\n+0000b310: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+0000b320: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n+0000b330: 672e 4765 745f 536f 636b 5f41 6464 723a g.Get_Sock_Addr:\n+0000b340: 2066 756e 6374 696f 6e20 4765 745f 536f function Get_So\n+0000b350: 636b 5f41 6464 720a 2020 2020 2020 2020 ck_Addr. \n+0000b360: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n+0000b370: 2053 6f63 6b65 745f 4644 290a 2020 2020 Socket_FD). \n+0000b380: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+0000b390: 6e20 4164 6472 6573 733b 0a0a 5041 5241 n Address;..PARA\n+0000b3a0: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+0000b3b0: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+0000b3c0: 2020 436f 6e6e 6563 7465 6420 736f 636b Connected sock\n+0000b3d0: 6574 206f 626a 6563 740a 0a52 4554 5552 et object..RETUR\n+0000b3e0: 4e20 5641 4c55 450a 2020 2020 2041 6464 N VALUE. Add\n+0000b3f0: 7265 7373 206f 6620 6c6f 6361 6c20 696e ress of local in\n+0000b400: 7465 7266 6163 6520 7573 6564 0a0a 5345 terface used..SE\n+0000b410: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+0000b420: 6520 4765 745f 536f 636b 5f50 6f72 7420 e Get_Sock_Port \n+0000b430: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+0000b440: 2020 202a 6e6f 7465 2047 6574 5f50 6565 *note Get_Pee\n+0000b450: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n+0000b460: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+0000b470: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000b480: 4e6f 6465 3a20 4765 745f 536f 636b 5f50 Node: Get_Sock_P\n+0000b490: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), \n+0000b4a0: 204e 6578 743a 2048 6f73 745f 4e61 6d65 Next: Host_Name\n+0000b4b0: 2028 6675 6e63 7469 6f6e 292c 2020 5072 (function), Pr\n+0000b4c0: 6576 3a20 4765 745f 536f 636b 5f41 6464 ev: Get_Sock_Add\n+0000b4d0: 7220 2866 756e 6374 696f 6e29 2c20 2055 r (function), U\n+0000b4e0: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n+0000b4f0: 756e 6374 696f 6e29 0a0a 4765 745f 536f unction)..Get_So\n+0000b500: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio\n+0000b510: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+0000b520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+0000b530: 504f 5345 0a20 2020 2020 5265 7472 6965 POSE. Retrie\n+0000b540: 7665 2070 6f72 7420 7573 6564 2062 7920 ve port used by \n+0000b550: 6c6f 6361 6c20 686f 7374 0a50 524f 544f local host.PROTO\n+0000b560: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+0000b570: 636b 6574 732e 4e61 6d69 6e67 2e47 6574 ckets.Naming.Get\n+0000b580: 5f53 6f63 6b5f 506f 7274 3a20 6675 6e63 _Sock_Port: func\n+0000b590: 7469 6f6e 2047 6574 5f53 6f63 6b5f 506f tion Get_Sock_Po\n+0000b5a0: 7274 0a20 2020 2020 2020 2020 2020 2020 rt. \n+0000b5b0: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n+0000b5c0: 6574 5f46 4429 0a20 2020 2020 2020 2020 et_FD). \n+0000b5d0: 2020 2020 2020 7265 7475 726e 2050 6f73 return Pos\n+0000b5e0: 6974 6976 653b 0a0a 5041 5241 4d45 5445 itive;..PARAMETE\n+0000b5f0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+0000b600: 2020 2069 6e20 2020 2020 2020 2020 436f in Co\n+0000b610: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+0000b620: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n+0000b630: 4c55 450a 2020 2020 2050 6f72 7420 7573 LUE. Port us\n+0000b640: 6564 206f 6e20 7468 6520 6c6f 6361 6c20 ed on the local \n+0000b650: 686f 7374 0a0a 5345 4520 414c 534f 0a20 host..SEE ALSO. \n+0000b660: 2020 2020 2a6e 6f74 6520 4765 745f 5065 *note Get_Pe\n+0000b670: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000b680: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n+0000b690: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+0000b6a0: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::.....\n+0000b6b0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000b6c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 486f .info, Node: Ho\n+0000b6d0: 7374 5f4e 616d 6520 2866 756e 6374 696f st_Name (functio\n+0000b6e0: 6e29 2c20 204e 6578 743a 2049 6d61 6765 n), Next: Image\n+0000b6f0: 2028 6675 6e63 7469 6f6e 292c 2020 5072 (function), Pr\n+0000b700: 6576 3a20 4765 745f 536f 636b 5f50 6f72 ev: Get_Sock_Por\n+0000b710: 7420 2866 756e 6374 696f 6e29 2c20 2055 t (function), U\n+0000b720: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n+0000b730: 756e 6374 696f 6e29 0a0a 486f 7374 5f4e unction)..Host_N\n+0000b740: 616d 6520 2866 756e 6374 696f 6e29 0a2d ame (function).-\n+0000b750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b760: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000b770: 2020 4765 7420 7468 6520 6e61 6d65 206f Get the name o\n+0000b780: 6620 7468 6520 6375 7272 656e 7420 686f f the current ho\n+0000b790: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+0000b7a0: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000b7b0: 6d69 6e67 2e48 6f73 745f 4e61 6d65 3a20 ming.Host_Name: \n+0000b7c0: 6675 6e63 7469 6f6e 2048 6f73 745f 4e61 function Host_Na\n+0000b7d0: 6d65 0a0a 5245 5455 524e 2056 414c 5545 me..RETURN VALUE\n+0000b7e0: 0a20 2020 2020 4e61 6d65 206f 6620 7468 . Name of th\n+0000b7f0: 6520 6375 7272 656e 7420 686f 7374 0a0a e current host..\n+0000b800: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+0000b810: 2054 6869 7320 6675 6e63 7469 6f6e 2072 This function r\n+0000b820: 6574 7572 6e73 2074 6865 206e 616d 6520 eturns the name \n+0000b830: 6f66 2074 6865 2063 7572 7265 6e74 2068 of the current h\n+0000b840: 6f73 742e 2020 4465 7065 6e64 696e 6720 ost. Depending \n+0000b850: 6f6e 0a20 2020 2020 7468 6520 6c6f 6361 on. the loca\n+0000b860: 6c20 636f 6e66 6967 7572 6174 696f 6e2c l configuration,\n+0000b870: 2069 7420 6d61 7920 6f72 206d 6179 206e it may or may n\n+0000b880: 6f74 2062 6520 6120 6675 6c6c 7920 7175 ot be a fully qu\n+0000b890: 616c 6966 6965 640a 2020 2020 2064 6f6d alified. dom\n+0000b8a0: 6169 6e20 6e61 6d65 2028 4651 444e 292e ain name (FQDN).\n+0000b8b0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+0000b8c0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+0000b8d0: 3a20 496d 6167 6520 2866 756e 6374 696f : Image (functio\n+0000b8e0: 6e29 2c20 204e 6578 743a 2049 6e66 6f5f n), Next: Info_\n+0000b8f0: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f\n+0000b900: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+0000b910: 2048 6f73 745f 4e61 6d65 2028 6675 6e63 Host_Name (func\n+0000b920: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n+0000b930: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000b940: 290a 0a49 6d61 6765 2028 6675 6e63 7469 )..Image (functi\n+0000b950: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n+0000b960: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+0000b970: 2020 204d 616b 6520 6120 7374 7269 6e67 Make a string\n+0000b980: 2066 726f 6d20 616e 2061 6464 7265 7373 from an address\n+0000b990: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000b9a0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000b9b0: 6e67 2e49 6d61 6765 3a20 6675 6e63 7469 ng.Image: functi\n+0000b9c0: 6f6e 2049 6d61 6765 2028 4144 4420 3a20 on Image (ADD : \n+0000b9d0: 4164 6472 6573 7329 0a20 2020 2020 2020 Address). \n+0000b9e0: 2020 2020 2020 2020 7265 7475 726e 2053 return S\n+0000b9f0: 7472 696e 673b 0a0a 5041 5241 4d45 5445 tring;..PARAMETE\n+0000ba00: 5253 0a20 2020 2020 4144 4420 2020 2020 RS. ADD \n+0000ba10: 2020 2069 6e20 2020 2020 2020 2020 4950 in IP\n+0000ba20: 2061 6464 7265 7373 0a0a 5245 5455 524e address..RETURN\n+0000ba30: 2056 414c 5545 0a20 2020 2020 5374 7269 VALUE. Stri\n+0000ba40: 6e67 2072 6570 7265 7365 6e74 6174 696f ng representatio\n+0000ba50: 6e20 6f66 2074 6865 2049 5020 6164 6472 n of the IP addr\n+0000ba60: 6573 730a 0a53 4545 2041 4c53 4f0a 2020 ess..SEE ALSO. \n+0000ba70: 2020 202a 6e6f 7465 2056 616c 7565 2028 *note Value (\n+0000ba80: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::.....\n+0000ba90: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000baa0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In\n+0000bab0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n+0000bac0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+0000bad0: 7874 3a20 4973 5f49 505f 4164 6472 6573 xt: Is_IP_Addres\n+0000bae0: 7320 2866 756e 6374 696f 6e29 2c20 2050 s (function), P\n+0000baf0: 7265 763a 2049 6d61 6765 2028 6675 6e63 rev: Image (func\n+0000bb00: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n+0000bb10: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000bb20: 290a 0a49 6e66 6f5f 4f66 5f4e 616d 655f )..Info_Of_Name_\n+0000bb30: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function)\n+0000bb40: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000bb50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+0000bb60: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n+0000bb70: 2061 6464 7265 7373 6573 2061 6e64 206e addresses and n\n+0000bb80: 616d 6573 206f 6620 6120 686f 7374 0a50 ames of a host.P\n+0000bb90: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+0000bba0: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming\n+0000bbb0: 2e49 6e66 6f5f 4f66 5f4e 616d 655f 4f72 .Info_Of_Name_Or\n+0000bbc0: 5f49 503a 2066 756e 6374 696f 6e20 496e _IP: function In\n+0000bbd0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n+0000bbe0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000bbf0: 2853 4f4d 4554 4849 4e47 203a 2053 7472 (SOMETHING : Str\n+0000bc00: 696e 6729 0a20 2020 2020 2020 2020 2020 ing). \n+0000bc10: 2020 2020 7265 7475 726e 2048 6f73 745f return Host_\n+0000bc20: 456e 7472 793b 0a0a 5041 5241 4d45 5445 Entry;..PARAMETE\n+0000bc30: 5253 0a20 2020 2020 534f 4d45 5448 494e RS. SOMETHIN\n+0000bc40: 4720 2069 6e20 2020 2020 2020 2020 486f G in Ho\n+0000bc50: 7374 206e 616d 6520 6f72 2049 5020 6164 st name or IP ad\n+0000bc60: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n+0000bc70: 4c55 450a 2020 2020 2043 6f72 7265 7370 LUE. Corresp\n+0000bc80: 6f6e 6469 6e67 2068 6f73 7420 656e 7472 onding host entr\n+0000bc90: 790a 0a44 4553 4352 4950 5449 4f4e 0a20 y..DESCRIPTION. \n+0000bca0: 2020 2020 5468 6973 2066 756e 6374 696f This functio\n+0000bcb0: 6e20 6578 7472 6163 7473 2061 6c6c 2074 n extracts all t\n+0000bcc0: 6865 206e 616d 6573 2061 6e64 2061 6464 he names and add\n+0000bcd0: 7265 7373 6573 2066 726f 6d20 7468 6520 resses from the \n+0000bce0: 6e61 6d69 6e67 0a20 2020 2020 7365 7276 naming. serv\n+0000bcf0: 6963 652e 0a0a 4558 4345 5054 494f 4e53 ice...EXCEPTIONS\n+0000bd00: 0a20 2020 2020 e280 984e 616d 696e 675f . ...Naming_\n+0000bd10: 4572 726f 72e2 8099 2020 2020 204e 6f20 Error... No \n+0000bd20: 696e 666f 726d 6174 696f 6e20 6176 6169 information avai\n+0000bd30: 6c61 626c 6520 666f 7220 7468 6973 206e lable for this n\n+0000bd40: 616d 6520 6f72 0a20 2020 2020 2020 2020 ame or. \n+0000bd50: 2020 2020 2020 2020 2020 2020 2020 2061 a\n+0000bd60: 6464 7265 7373 0a0a 1f0a 4669 6c65 3a20 ddress....File: \n+0000bd70: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000bd80: 2020 4e6f 6465 3a20 4973 5f49 505f 4164 Node: Is_IP_Ad\n+0000bd90: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n+0000bda0: 2c20 204e 6578 743a 204e 616d 655f 4f66 , Next: Name_Of\n+0000bdb0: 2028 6675 6e63 7469 6f6e 292c 2020 5072 (function), Pr\n+0000bdc0: 6576 3a20 496e 666f 5f4f 665f 4e61 6d65 ev: Info_Of_Name\n+0000bdd0: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+0000bde0: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n+0000bdf0: 4f66 2028 6675 6e63 7469 6f6e 290a 0a49 Of (function)..I\n+0000be00: 735f 4950 5f41 6464 7265 7373 2028 6675 s_IP_Address (fu\n+0000be10: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000be20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000be30: 0a0a 5055 5250 4f53 450a 2020 2020 2043 ..PURPOSE. C\n+0000be40: 6865 636b 2069 6620 6769 7665 6e20 7374 heck if given st\n+0000be50: 7269 6e67 2069 7320 6120 7661 6c69 6420 ring is a valid \n+0000be60: 4950 2061 6464 7265 7373 0a50 524f 544f IP address.PROTO\n+0000be70: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+0000be80: 636b 6574 732e 4e61 6d69 6e67 2e49 735f ckets.Naming.Is_\n+0000be90: 4950 5f41 6464 7265 7373 3a20 6675 6e63 IP_Address: func\n+0000bea0: 7469 6f6e 2049 735f 4950 5f41 6464 7265 tion Is_IP_Addre\n+0000beb0: 7373 0a20 2020 2020 2020 2020 2020 2020 ss. \n+0000bec0: 2020 2853 4f4d 4554 4849 4e47 203a 2053 (SOMETHING : S\n+0000bed0: 7472 696e 6729 0a20 2020 2020 2020 2020 tring). \n+0000bee0: 2020 2020 2020 7265 7475 726e 2042 6f6f return Boo\n+0000bef0: 6c65 616e 3b0a 0a50 4152 414d 4554 4552 lean;..PARAMETER\n+0000bf00: 530a 2020 2020 2053 4f4d 4554 4849 4e47 S. SOMETHING\n+0000bf10: 2020 696e 2020 2020 2020 2020 2053 7472 in Str\n+0000bf20: 696e 6720 746f 2063 6865 636b 0a0a 5245 ing to check..RE\n+0000bf30: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000bf40: e280 9854 7275 65e2 8099 2069 6620 534f ...True... if SO\n+0000bf50: 4d45 5448 494e 4720 6973 2061 6e20 4950 METHING is an IP\n+0000bf60: 2061 6464 7265 7373 0a0a 1f0a 4669 6c65 address....File\n+0000bf70: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+0000bf80: 6f2c 2020 4e6f 6465 3a20 4e61 6d65 5f4f o, Node: Name_O\n+0000bf90: 6620 2866 756e 6374 696f 6e29 2c20 204e f (function), N\n+0000bfa0: 6578 743a 2056 616c 7565 2028 6675 6e63 ext: Value (func\n+0000bfb0: 7469 6f6e 292c 2020 5072 6576 3a20 4973 tion), Prev: Is\n+0000bfc0: 5f49 505f 4164 6472 6573 7320 2866 756e _IP_Address (fun\n+0000bfd0: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000bfe0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000bff0: 6e29 0a0a 4e61 6d65 5f4f 6620 2866 756e n)..Name_Of (fun\n+0000c000: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+0000c010: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+0000c020: 5345 0a20 2020 2020 4f66 6669 6369 616c SE. Official\n+0000c030: 206e 616d 6520 6f66 2074 6865 2068 6f73 name of the hos\n+0000c040: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000c050: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000c060: 696e 672e 4e61 6d65 5f4f 663a 2066 756e ing.Name_Of: fun\n+0000c070: 6374 696f 6e20 4e61 6d65 5f4f 6620 2853 ction Name_Of (S\n+0000c080: 4f4d 4554 4849 4e47 203a 2053 7472 696e OMETHING : Strin\n+0000c090: 6729 0a20 2020 2020 2020 2020 2020 2020 g). \n+0000c0a0: 2020 7265 7475 726e 2053 7472 696e 673b return String;\n+0000c0b0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+0000c0c0: 2020 534f 4d45 5448 494e 4720 2069 6e20 SOMETHING in \n+0000c0d0: 2020 2020 2020 2020 486f 7374 206e 616d Host nam\n+0000c0e0: 6520 6f72 2049 5020 6164 6472 6573 730a e or IP address.\n+0000c0f0: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+0000c100: 2020 204e 616d 6520 6f66 2074 6865 2068 Name of the h\n+0000c110: 6f73 740a 0a45 5843 4550 5449 4f4e 530a ost..EXCEPTIONS.\n+0000c120: 2020 2020 20e2 8098 4e61 6d69 6e67 5f45 ...Naming_E\n+0000c130: 7272 6f72 e280 9920 2020 2020 4e6f 2069 rror... No i\n+0000c140: 6e66 6f72 6d61 7469 6f6e 2061 7661 696c nformation avail\n+0000c150: 6162 6c65 2066 6f72 2074 6869 7320 6e61 able for this na\n+0000c160: 6d65 206f 720a 2020 2020 2020 2020 2020 me or. \n+0000c170: 2020 2020 2020 2020 2020 2020 2020 6164 ad\n+0000c180: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO.\n+0000c190: 2020 2020 202a 6e6f 7465 2041 6464 7265 *note Addre\n+0000c1a0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000c1b0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+0000c1c0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000c1d0: 6f64 653a 2056 616c 7565 2028 6675 6e63 ode: Value (func\n+0000c1e0: 7469 6f6e 292c 2020 5072 6576 3a20 4e61 tion), Prev: Na\n+0000c1f0: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n+0000c200: 2c20 2055 703a 2041 6464 7265 7373 5f4f , Up: Address_O\n+0000c210: 6620 2866 756e 6374 696f 6e29 0a0a 5661 f (function)..Va\n+0000c220: 6c75 6520 2866 756e 6374 696f 6e29 0a2d lue (function).-\n+0000c230: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+0000c240: 0a50 5552 504f 5345 0a20 2020 2020 5472 .PURPOSE. Tr\n+0000c250: 616e 7366 6f72 6d20 6120 7374 7269 6e67 ansform a string\n+0000c260: 2069 6e74 6f20 616e 2061 6464 7265 7373 into an address\n+0000c270: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000c280: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000c290: 6e67 2e56 616c 7565 3a20 6675 6e63 7469 ng.Value: functi\n+0000c2a0: 6f6e 2056 616c 7565 2028 4144 4420 3a20 on Value (ADD : \n+0000c2b0: 5374 7269 6e67 290a 2020 2020 2020 2020 String). \n+0000c2c0: 2020 2020 2020 2072 6574 7572 6e20 4164 return Ad\n+0000c2d0: 6472 6573 733b 0a0a 5041 5241 4d45 5445 dress;..PARAMETE\n+0000c2e0: 5253 0a20 2020 2020 4144 4420 2020 2020 RS. ADD \n+0000c2f0: 2020 2069 6e20 2020 2020 2020 2020 5465 in Te\n+0000c300: 7874 7561 6c20 7265 7072 6573 656e 7461 xtual representa\n+0000c310: 7469 6f6e 206f 6620 616e 2049 5020 6164 tion of an IP ad\n+0000c320: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n+0000c330: 4c55 450a 2020 2020 2043 6f72 7265 7370 LUE. Corresp\n+0000c340: 6f6e 6469 6e67 2041 6464 7265 7373 0a0a onding Address..\n+0000c350: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000c360: 6f74 6520 496d 6167 6520 2866 756e 6374 ote Image (funct\n+0000c370: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n+0000c380: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000c390: 2c20 204e 6f64 653a 2043 6f6e 7472 6962 , Node: Contrib\n+0000c3a0: 7574 6f72 732c 2020 4e65 7874 3a20 5265 utors, Next: Re\n+0000c3b0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n+0000c3c0: 6e74 6572 6e65 742c 2020 5072 6576 3a20 nternet, Prev: \n+0000c3d0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n+0000c3e0: 6163 6b61 6765 2c20 2055 703a 2054 6f70 ackage, Up: Top\n+0000c3f0: 0a0a 4170 7065 6e64 6978 2041 2043 6f6e ..Appendix A Con\n+0000c400: 7472 6962 7574 6f72 730a 2a2a 2a2a 2a2a tributors.******\n+0000c410: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c420: 2a0a 0a41 6461 536f 636b 6574 7320 6861 *..AdaSockets ha\n+0000c430: 7320 6265 656e 206f 7269 6769 6e61 6c6c s been originall\n+0000c440: 7920 6465 7665 6c6f 7070 6564 2062 7920 y developped by \n+0000c450: 5361 6d75 656c 2054 6172 6469 6575 2077 Samuel Tardieu w\n+0000c460: 686f 2073 7469 6c6c 0a6d 6169 6e74 6169 ho still.maintai\n+0000c470: 6e73 2069 742e 2020 486f 7765 7665 722c ns it. However,\n+0000c480: 2074 6865 2066 6f6c 6c6f 7769 6e67 2070 the following p\n+0000c490: 656f 706c 6520 6861 7665 206d 6164 6520 eople have made \n+0000c4a0: 6372 7563 6961 6c0a 636f 6e74 7269 6275 crucial.contribu\n+0000c4b0: 7469 6f6e 7320 746f 2041 6461 536f 636b tions to AdaSock\n+0000c4c0: 6574 732c 2062 6520 7468 6579 206e 6577 ets, be they new\n+0000c4d0: 2063 6f64 652c 2062 7567 2066 6978 6573 code, bug fixes\n+0000c4e0: 206f 7220 706f 7274 696e 6720 746f 0a6e or porting to.n\n+0000c4f0: 6577 206f 7065 7261 7469 6e67 2073 7973 ew operating sys\n+0000c500: 7465 6d73 3a0a 0a20 2020 e280 a220 446d tems:.. ... Dm\n+0000c510: 6974 7269 7920 416e 6973 696d 6b6f 7620 itriy Anisimkov \n+0000c520: 283c 616e 6973 696d 6b6f 7640 7961 686f (). ... A\n+0000c540: 6c61 6e20 4261 726e 6573 2028 3c62 6172 lan Barnes (). ... Juanma\n+0000c570: 2042 6172 7261 6e71 7565 726f 2028 3c6c Barranquero ().\n+0000c590: 2020 20e2 80a2 2042 6f62 6279 2044 2e20 ... Bobby D. \n+0000c5a0: 4272 7961 6e74 2028 3c62 6462 7279 616e Bryant (). ... Sande\n+0000c5d0: 7220 436f 7820 283c 7361 6e64 6572 2e63 r Cox ()\n+0000c5f0: 0a20 2020 e280 a220 5375 6e65 2046 616c . ... Sune Fal\n+0000c600: 6b20 283c 7375 6e65 2e66 616c 636b 4074 k (). ..\n+0000c620: a220 4775 696c 6c61 756d 6520 466f 6c69 . Guillaume Foli\n+0000c630: 6172 6420 283c 6775 6966 6f40 7761 6e61 ard (). ... \n+0000c650: 4c61 7572 656e 7420 4775 6572 6279 2028 Laurent Guerby (\n+0000c660: 3c67 7565 7262 7940 636c 7562 2d69 6e74 ). ..\n+0000c680: a220 4461 7669 6420 4a2e 204b 7269 7374 . David J. Krist\n+0000c690: 6f6c 6120 283c 4461 7669 6439 3530 3337 ola (). ..\n+0000c6b0: a220 446f 6d69 6e69 6b20 4d61 646f 6e20 . Dominik Madon \n+0000c6c0: 283c 646f 6d69 6e69 6b40 6163 6d2e 6f72 (). ... Pasca\n+0000c6e0: 6c20 4f62 7279 2028 3c70 2e6f 6272 7940 l Obry (). \n+0000c700: e280 a220 4e69 636f 6c61 7320 4f6c 6c69 ... Nicolas Olli\n+0000c710: 6e67 6572 2028 3c4e 6963 6f6c 6173 2e4f nger (). ... Stp\n+0000c740: 6861 6e65 2050 6174 7572 6561 7520 283c hane Patureau (<\n+0000c750: 7370 6174 7572 6561 406d 656c 6574 752e spaturea@meletu.\n+0000c760: 756e 6976 2d76 616c 656e 6369 656e 6e65 univ-valencienne\n+0000c770: 732e 6672 3e29 0a20 2020 e280 a220 5468 s.fr>). ... Th\n+0000c780: 6f6d 6173 2051 7569 6e6f 7420 283c 7468 omas Quinot (). ... P\n+0000c7b0: 7265 6265 6e20 5261 6e64 686f 6c20 283c reben Randhol (<\n+0000c7c0: 7261 6e64 686f 6c40 7076 762e 6f72 673e randhol@pvv.org>\n+0000c7d0: 290a 2020 20e2 80a2 204d 6178 696d 2052 ). ... Maxim R\n+0000c7e0: 657a 6e69 6b20 283c 6d61 7831 406d 6261 eznik (). .\n+0000c800: 80a2 204a 6f65 6c20 5368 6572 7269 6c6c .. Joel Sherrill\n+0000c810: 2028 3c6a 6f65 6c2e 7368 6572 7269 6c6c (). \n+0000c830: 2020 e280 a220 5361 6d75 656c 2054 6172 ... Samuel Tar\n+0000c840: 6469 6575 2028 3c73 616d 4072 6663 3131 dieu ().. If \n+0000c860: 796f 7520 6665 656c 2074 6861 7420 796f you feel that yo\n+0000c870: 7520 6861 7665 2062 6565 6e20 666f 7267 u have been forg\n+0000c880: 6f74 7465 6e2c 2070 6c65 6173 6520 7365 otten, please se\n+0000c890: 6e64 206d 6520 6120 6d61 696c 2073 6f0a nd me a mail so.\n+0000c8a0: 7468 6174 2049 2063 616e 2066 6978 2069 that I can fix i\n+0000c8b0: 7420 696e 2074 6865 206e 6578 7420 7665 t in the next ve\n+0000c8c0: 7273 696f 6e2e 0a0a 2020 202a 4e6f 7465 rsion... *Note\n+0000c8d0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000c8e0: 6520 496e 7465 726e 6574 3a3a 2c20 666f e Internet::, fo\n+0000c8f0: 7220 686f 7720 746f 2063 6f6e 7472 6962 r how to contrib\n+0000c900: 7574 652e 0a0a 1f0a 4669 6c65 3a20 6164 ute.....File: ad\n+0000c910: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000c920: 4e6f 6465 3a20 5265 736f 7572 6365 7320 Node: Resources \n+0000c930: 6f6e 2074 6865 2049 6e74 6572 6e65 742c on the Internet,\n+0000c940: 2020 4e65 7874 3a20 496e 6465 782c 2020 Next: Index, \n+0000c950: 5072 6576 3a20 436f 6e74 7269 6275 746f Prev: Contributo\n+0000c960: 7273 2c20 2055 703a 2054 6f70 0a0a 4170 rs, Up: Top..Ap\n+0000c970: 7065 6e64 6978 2042 2052 6573 6f75 7263 pendix B Resourc\n+0000c980: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n+0000c990: 6574 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a et.*************\n+0000c9a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c9b0: 2a2a 2a2a 2a2a 2a0a 0a54 6865 206c 6174 *******..The lat\n+0000c9c0: 6573 7420 7665 7273 696f 6e20 6f66 2041 est version of A\n+0000c9d0: 6461 536f 636b 6574 7320 6361 6e20 616c daSockets can al\n+0000c9e0: 7761 7973 2062 6520 666f 756e 6420 6174 ways be found at\n+0000c9f0: 3a0a 0a20 2020 2020 2020 2020 2020 2020 :.. \n+0000ca00: 203c 6874 7470 733a 2f2f 7777 772e 7266 .. \n+0000ca30: 596f 7520 6361 6e20 7265 706f 7274 2069 You can report i\n+0000ca40: 7373 7565 7320 6f72 2074 6865 2041 6461 ssues or the Ada\n+0000ca50: 536f 636b 6574 7320 6d61 696c 696e 672d Sockets mailing-\n+0000ca60: 6c69 7374 2061 740a 0a20 2020 2020 2020 list at.. \n+0000ca70: 2020 2020 203c 6874 7470 733a 2f2f 6c69 .. Contrib\n+0000cab0: 7574 696f 6e73 2061 6e64 2070 6174 6368 utions and patch\n+0000cac0: 6573 2061 7265 2077 656c 636f 6d65 642e es are welcomed.\n+0000cad0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+0000cae0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+0000caf0: 3a20 496e 6465 782c 2020 5072 6576 3a20 : Index, Prev: \n+0000cb00: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+0000cb10: 2049 6e74 6572 6e65 742c 2020 5570 3a20 Internet, Up: \n+0000cb20: 546f 700a 0a49 6e64 6578 0a2a 2a2a 2a2a Top..Index.*****\n+0000cb30: 0a0a 0008 5b69 6e64 6578 0008 5d0a 2a20 ....[index..].* \n+0000cb40: 4d65 6e75 3a0a 0a2a 2041 6363 6570 745f Menu:..* Accept_\n+0000cb50: 536f 636b 6574 3a20 2020 2020 2020 2020 Socket: \n+0000cb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb70: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+0000cb80: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000cb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbc0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000cbd0: 2039 290a 2a20 4163 6365 7074 696e 6720 9).* Accepting \n+0000cbe0: 6120 6e65 7720 636f 6e6e 6563 7469 6f6e a new connection\n+0000cbf0: 3a20 2020 2020 2020 2020 2020 2041 6363 : Acc\n+0000cc00: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+0000cc10: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000cc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc50: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000cc60: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n+0000cc70: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+0000cc80: 7261 793a 2020 2020 2020 5261 7720 6461 ray: Raw da\n+0000cc90: 7461 206d 616e 6970 756c 6174 696f 6e2e ta manipulation.\n+0000cca0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000ccb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ccd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cce0: 286c 696e 6520 2036 290a 2a20 4164 612e (line 6).* Ada.\n+0000ccf0: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000cd00: 6c65 6d65 6e74 5f41 7272 6179 203c 313e lement_Array <1>\n+0000cd10: 3a20 2052 6563 6569 7665 2028 6675 6e63 : Receive (func\n+0000cd20: 7469 6f6e 292e 2020 2028 6c69 6e65 2032 tion). (line 2\n+0000cd30: 3229 0a2a 2041 6461 2e53 7472 6561 6d73 2).* Ada.Streams\n+0000cd40: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+0000cd50: 4172 7261 7920 3c32 3e3a 2020 5265 6365 Array <2>: Rece\n+0000cd60: 6976 6520 2870 726f 6365 6475 7265 292e ive (procedure).\n+0000cd70: 2020 286c 696e 6520 3138 290a 2a20 4164 (line 18).* Ad\n+0000cd80: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n+0000cd90: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c _Element_Array <\n+0000cda0: 333e 3a20 2052 6563 6569 7665 5f53 6f6d 3>: Receive_Som\n+0000cdb0: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. \n+0000cdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdf0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000ce00: 696e 6520 3231 290a 2a20 4164 612e 5374 ine 21).* Ada.St\n+0000ce10: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n+0000ce20: 6d65 6e74 5f41 7272 6179 203c 343e 3a20 ment_Array <4>: \n+0000ce30: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n+0000ce40: 292e 2020 2020 2028 6c69 6e65 2031 3729 ). (line 17)\n+0000ce50: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n+0000ce60: 7472 6561 6d5f 456c 656d 656e 745f 436f tream_Element_Co\n+0000ce70: 756e 743a 2020 2020 2020 5265 6365 6976 unt: Receiv\n+0000ce80: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+0000ce90: 286c 696e 6520 3232 290a 2a20 4164 612e (line 22).* Ada.\n+0000cea0: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000ceb0: 6c65 6d65 6e74 5f43 6f75 6e74 203c 313e lement_Count <1>\n+0000cec0: 3a20 2052 6563 6569 7665 5f53 6f6d 6520 : Receive_Some \n+0000ced0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 0000cee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf00: 2020 286c 696e 6520 2036 290a 2a20 4164 (line 6).* Ad\n-0000cf10: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n-0000cf20: 5f45 6c65 6d65 6e74 5f41 7272 6179 3a20 _Element_Array: \n-0000cf30: 2020 2020 2052 6177 2064 6174 6120 6d61 Raw data ma\n-0000cf40: 6e69 7075 6c61 7469 6f6e 2e0a 2020 2020 nipulation.. \n-0000cf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf80: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000cf90: 2020 3629 0a2a 2041 6461 2e53 7472 6561 6).* Ada.Strea\n-0000cfa0: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-0000cfb0: 745f 4172 7261 7920 3c31 3e3a 2020 5265 t_Array <1>: Re\n-0000cfc0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-0000cfd0: 2e20 2020 286c 696e 6520 3232 290a 2a20 . (line 22).* \n-0000cfe0: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-0000cff0: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-0000d000: 203c 323e 3a20 2052 6563 6569 7665 2028 <2>: Receive (\n-0000d010: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n-0000d020: 6e65 2031 3829 0a2a 2041 6461 2e53 7472 ne 18).* Ada.Str\n-0000d030: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-0000d040: 656e 745f 4172 7261 7920 3c33 3e3a 2020 ent_Array <3>: \n-0000d050: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-0000d060: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000d070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d0a0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000d0b0: 3129 0a2a 2041 6461 2e53 7472 6561 6d73 1).* Ada.Streams\n-0000d0c0: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n-0000d0d0: 4172 7261 7920 3c34 3e3a 2020 5365 6e64 Array <4>: Send\n-0000d0e0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000d0f0: 2020 286c 696e 6520 3137 290a 2a20 4164 (line 17).* Ad\n-0000d100: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n-0000d110: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 3a20 _Element_Count: \n-0000d120: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu\n-0000d130: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n-0000d140: 2032 3229 0a2a 2041 6461 2e53 7472 6561 22).* Ada.Strea\n-0000d150: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-0000d160: 745f 436f 756e 7420 3c31 3e3a 2020 5265 t_Count <1>: Re\n-0000d170: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-0000d180: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-0000d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf10: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000cf20: 6520 3231 290a 2a20 4164 6153 6f63 6b65 e 21).* AdaSocke\n+0000cf30: 7473 2070 7265 7365 6e74 6174 696f 6e3a ts presentation:\n+0000cf40: 2020 2020 2020 2020 2020 2020 2020 2057 W\n+0000cf50: 6861 7420 6973 2041 6461 536f 636b 6574 hat is AdaSocket\n+0000cf60: 733f 2e20 2028 6c69 6e65 2020 3629 0a2a s?. (line 6).*\n+0000cf70: 2041 6464 7265 7373 3a20 2020 2020 2020 Address: \n+0000cf80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf90: 2020 2020 2020 2020 536f 636b 6574 732e Sockets.\n+0000cfa0: 4e61 6d69 6e67 2070 6163 6b61 6765 2e0a Naming package..\n+0000cfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfe0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000cff0: 6c69 6e65 2020 3929 0a2a 2041 6464 7265 line 9).* Addre\n+0000d000: 7373 5f41 7272 6179 3a20 2020 2020 2020 ss_Array: \n+0000d010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d020: 2020 536f 636b 6574 732e 4e61 6d69 6e67 Sockets.Naming\n+0000d030: 2070 6163 6b61 6765 2e0a 2020 2020 2020 package.. \n+0000d040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d070: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0000d080: 3629 0a2a 2041 6464 7265 7373 5f43 6f6d 6).* Address_Com\n+0000d090: 706f 6e65 6e74 3a20 2020 2020 2020 2020 ponent: \n+0000d0a0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+0000d0b0: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n+0000d0c0: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. \n+0000d0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d100: 2020 2028 6c69 6e65 2032 3029 0a2a 2041 (line 20).* A\n+0000d110: 6464 7265 7373 5f4f 663a 2020 2020 2020 ddress_Of: \n+0000d120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d130: 2020 2020 2020 4164 6472 6573 735f 4f66 Address_Of\n+0000d140: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+0000d150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d180: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000d190: 6520 2039 290a 2a20 4146 5f49 4e45 543a e 9).* AF_INET:\n 0000d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1c0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n-0000d1d0: 0a2a 2041 6461 536f 636b 6574 7320 7072 .* AdaSockets pr\n-0000d1e0: 6573 656e 7461 7469 6f6e 3a20 2020 2020 esentation: \n-0000d1f0: 2020 2020 2020 2020 2020 5768 6174 2069 What i\n-0000d200: 7320 4164 6153 6f63 6b65 7473 3f2e 2020 s AdaSockets?. \n-0000d210: 286c 696e 6520 2036 290a 2a20 4164 6472 (line 6).* Addr\n-0000d220: 6573 733a 2020 2020 2020 2020 2020 2020 ess: \n+0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000d1c0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+0000d1d0: 292e 2020 2028 6c69 6e65 2031 3929 0a2a ). (line 19).*\n+0000d1e0: 2041 6e79 5f41 6464 7265 7373 3a20 2020 Any_Address: \n+0000d1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d200: 2020 2020 2020 2020 416e 795f 4164 6472 Any_Addr\n+0000d210: 6573 7320 2866 756e 6374 696f 6e29 2e0a ess (function)..\n+0000d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d240: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin\n-0000d250: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. \n-0000d260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d290: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000d2a0: 2039 290a 2a20 4164 6472 6573 735f 4172 9).* Address_Ar\n-0000d2b0: 7261 793a 2020 2020 2020 2020 2020 2020 ray: \n-0000d2c0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-0000d2d0: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n-0000d2e0: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \n-0000d2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d250: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000d260: 6c69 6e65 2020 3929 0a2a 2041 7373 6967 line 9).* Assig\n+0000d270: 6e69 6e67 2061 206c 6f63 616c 2070 6f72 ning a local por\n+0000d280: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000d290: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur\n+0000d2a0: 6529 2e20 2020 2020 286c 696e 6520 2036 e). (line 6\n+0000d2b0: 290a 2a20 4269 6e64 3a20 2020 2020 2020 ).* Bind: \n+0000d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d2d0: 2020 2020 2020 2020 2020 2042 696e 6420 Bind \n+0000d2e0: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+0000d2f0: 2028 6c69 6e65 2020 3929 0a2a 2042 696e (line 9).* Bin\n+0000d300: 6469 6e67 2061 2073 6f63 6b65 743a 2020 ding a socket: \n 0000d310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d320: 2020 2020 286c 696e 6520 3136 290a 2a20 (line 16).* \n-0000d330: 4164 6472 6573 735f 436f 6d70 6f6e 656e Address_Componen\n-0000d340: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0000d350: 2020 2020 2020 2053 6f63 6b65 7473 2e4e Sockets.N\n-0000d360: 616d 696e 6720 7061 636b 6167 652e 0a20 aming package.. \n-0000d370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d3a0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000d3b0: 696e 6520 3230 290a 2a20 4164 6472 6573 ine 20).* Addres\n-0000d3c0: 735f 4f66 3a20 2020 2020 2020 2020 2020 s_Of: \n-0000d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d3e0: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n-0000d3f0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-0000d400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d430: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n-0000d440: 0a2a 2041 465f 494e 4554 3a20 2020 2020 .* AF_INET: \n-0000d450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d460: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-0000d470: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000d480: 286c 696e 6520 3139 290a 2a20 416e 795f (line 19).* Any_\n-0000d490: 4164 6472 6573 733a 2020 2020 2020 2020 Address: \n-0000d4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d4b0: 2020 2041 6e79 5f41 6464 7265 7373 2028 Any_Address (\n-0000d4c0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n-0000d4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d500: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000d510: 2039 290a 2a20 4173 7369 676e 696e 6720 9).* Assigning \n-0000d520: 6120 6c6f 6361 6c20 706f 7274 3a20 2020 a local port: \n-0000d530: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n-0000d540: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-0000d550: 2020 2028 6c69 6e65 2020 3629 0a2a 2042 (line 6).* B\n-0000d560: 696e 643a 2020 2020 2020 2020 2020 2020 ind: \n-0000d570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d580: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n-0000d590: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n-0000d5a0: 6520 2039 290a 2a20 4269 6e64 696e 6720 e 9).* Binding \n-0000d5b0: 6120 736f 636b 6574 3a20 2020 2020 2020 a socket: \n-0000d5c0: 2020 2020 2020 2020 2020 2020 2020 2042 B\n-0000d5d0: 696e 6420 2870 726f 6365 6475 7265 292e ind (procedure).\n-0000d5e0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000d5f0: 2042 6f74 683a 2020 2020 2020 2020 2020 Both: \n-0000d600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d610: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n-0000d620: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000d630: 696e 6520 3137 290a 2a20 436c 6f73 696e ine 17).* Closin\n-0000d640: 6720 6120 736f 636b 6574 3a20 2020 2020 g a socket: \n-0000d650: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d660: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n-0000d670: 6475 7265 292e 2028 6c69 6e65 2020 3629 dure). (line 6)\n-0000d680: 0a2a 2043 6f6d 7061 7261 6973 6f6e 2077 .* Comparaison w\n-0000d690: 6974 6820 474e 4154 2e53 6f63 6b65 7473 ith GNAT.Sockets\n-0000d6a0: 3a20 2020 2020 2020 2020 5768 6174 2069 : What i\n-0000d6b0: 7320 4164 6153 6f63 6b65 7473 3f2e 2020 s AdaSockets?. \n-0000d6c0: 286c 696e 6520 2036 290a 2a20 436f 6e6e (line 6).* Conn\n-0000d6d0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: \n-0000d6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6f0: 2020 2043 6f6e 6e65 6374 2028 7072 6f63 Connect (proc\n-0000d700: 6564 7572 6529 2e20 2028 6c69 6e65 2020 edure). (line \n-0000d710: 3929 0a2a 2043 6f6e 6e65 6374 696e 6720 9).* Connecting \n-0000d720: 6120 736f 636b 6574 3a20 2020 2020 2020 a socket: \n-0000d730: 2020 2020 2020 2020 2020 2020 436f 6e6e Conn\n-0000d740: 6563 7420 2870 726f 6365 6475 7265 292e ect (procedure).\n-0000d750: 2020 286c 696e 6520 2036 290a 2a20 436f (line 6).* Co\n-0000d760: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 643a nnection_Closed:\n-0000d770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d780: 2020 2020 2047 6574 2028 6675 6e63 7469 Get (functi\n-0000d790: 6f6e 292e 2020 2020 2020 2028 6c69 6e65 on). (line\n-0000d7a0: 2033 3429 0a2a 2043 6f6e 6e65 6374 696f 34).* Connectio\n-0000d7b0: 6e5f 436c 6f73 6564 203c 313e 3a20 2020 n_Closed <1>: \n-0000d7c0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000d7d0: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n-0000d7e0: 292e 2020 286c 696e 6520 3233 290a 2a20 ). (line 23).* \n-0000d7f0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-0000d800: 6420 3c32 3e3a 2020 2020 2020 2020 2020 d <2>: \n-0000d810: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line \n-0000d820: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li\n-0000d830: 6e65 2033 3229 0a2a 2043 6f6e 6e65 6374 ne 32).* Connect\n-0000d840: 696f 6e5f 436c 6f73 6564 203c 333e 3a20 ion_Closed <3>: \n-0000d850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d860: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-0000d870: 7572 6529 2e20 286c 696e 6520 3237 290a ure). (line 27).\n-0000d880: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n-0000d890: 7365 6420 3c34 3e3a 2020 2020 2020 2020 sed <4>: \n-0000d8a0: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin\n-0000d8b0: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n-0000d8c0: 6c69 6e65 2032 3029 0a2a 2043 6f6e 6e65 line 20).* Conne\n-0000d8d0: 6374 696f 6e5f 436c 6f73 6564 203c 353e ction_Closed <5>\n-0000d8e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d8f0: 2020 5075 7420 2870 726f 6365 6475 7265 Put (procedure\n-0000d900: 292e 2020 2020 2020 286c 696e 6520 3231 ). (line 21\n-0000d910: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n-0000d920: 6c6f 7365 6420 3c36 3e3a 2020 2020 2020 losed <6>: \n-0000d930: 2020 2020 2020 2020 2020 2050 7574 5f4c Put_L\n-0000d940: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000d950: 2028 6c69 6e65 2032 3129 0a2a 2043 6f6e (line 21).* Con\n-0000d960: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n-0000d970: 373e 3a20 2020 2020 2020 2020 2020 2020 7>: \n-0000d980: 2020 2020 5265 6365 6976 6520 2866 756e Receive (fun\n-0000d990: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n-0000d9a0: 3330 290a 2a20 436f 6e6e 6563 7469 6f6e 30).* Connection\n-0000d9b0: 5f43 6c6f 7365 6420 3c38 3e3a 2020 2020 _Closed <8>: \n-0000d9c0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n-0000d9d0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n-0000d9e0: 2e20 2028 6c69 6e65 2032 3529 0a2a 2043 . (line 25).* C\n-0000d9f0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-0000da00: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: \n-0000da10: 2020 2020 2020 5265 6365 6976 655f 536f Receive_So\n-0000da20: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\n-0000da30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da60: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000da70: 6c69 6e65 2032 3729 0a2a 2043 6f6e 6e65 line 27).* Conne\n-0000da80: 6374 696f 6e5f 436c 6f73 6564 203c 3130 ction_Closed <10\n-0000da90: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000daa0: 2020 5365 6e64 2028 7072 6f63 6564 7572 Send (procedur\n-0000dab0: 6529 2e20 2020 2020 286c 696e 6520 3231 e). (line 21\n-0000dac0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f52 ).* Connection_R\n-0000dad0: 6566 7573 6564 3a20 2020 2020 2020 2020 efused: \n-0000dae0: 2020 2020 2020 2020 2020 2043 6f6e 6e65 Conne\n-0000daf0: 6374 2028 7072 6f63 6564 7572 6529 2e20 ct (procedure). \n-0000db00: 2028 6c69 6e65 2032 3529 0a2a 2043 6f6e (line 25).* Con\n-0000db10: 7472 6962 7574 696e 673a 2020 2020 2020 tributing: \n-0000db20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db30: 2020 2020 436f 6e74 7269 6275 746f 7273 Contributors\n-0000db40: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-0000db50: 2036 290a 2a20 436f 6e74 7269 6275 7469 6).* Contributi\n-0000db60: 6e67 203c 313e 3a20 2020 2020 2020 2020 ng <1>: \n-0000db70: 2020 2020 2020 2020 2020 2020 2052 6573 Res\n-0000db80: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000db90: 7465 726e 6574 2e0a 2020 2020 2020 2020 ternet.. \n+0000d320: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n+0000d330: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+0000d340: 2036 290a 2a20 426f 7468 3a20 2020 2020 6).* Both: \n+0000d350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d360: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+0000d370: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n+0000d380: 292e 2028 6c69 6e65 2031 3729 0a2a 2043 ). (line 17).* C\n+0000d390: 6c6f 7369 6e67 2061 2073 6f63 6b65 743a losing a socket:\n+0000d3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d3b0: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n+0000d3c0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000d3d0: 6520 2036 290a 2a20 436f 6d70 6172 6169 e 6).* Comparai\n+0000d3e0: 736f 6e20 7769 7468 2047 4e41 542e 536f son with GNAT.So\n+0000d3f0: 636b 6574 733a 2020 2020 2020 2020 2057 ckets: W\n+0000d400: 6861 7420 6973 2041 6461 536f 636b 6574 hat is AdaSocket\n+0000d410: 733f 2e20 2028 6c69 6e65 2020 3629 0a2a s?. (line 6).*\n+0000d420: 2043 6f6e 6e65 6374 3a20 2020 2020 2020 Connect: \n+0000d430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d440: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n+0000d450: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+0000d460: 696e 6520 2039 290a 2a20 436f 6e6e 6563 ine 9).* Connec\n+0000d470: 7469 6e67 2061 2073 6f63 6b65 743a 2020 ting a socket: \n+0000d480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d490: 2043 6f6e 6e65 6374 2028 7072 6f63 6564 Connect (proced\n+0000d4a0: 7572 6529 2e20 2028 6c69 6e65 2020 3629 ure). (line 6)\n+0000d4b0: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n+0000d4c0: 6f73 6564 3a20 2020 2020 2020 2020 2020 osed: \n+0000d4d0: 2020 2020 2020 2020 2020 4765 7420 2866 Get (f\n+0000d4e0: 756e 6374 696f 6e29 2e20 2020 2020 2020 unction). \n+0000d4f0: 286c 696e 6520 3334 290a 2a20 436f 6e6e (line 34).* Conn\n+0000d500: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c31 ection_Closed <1\n+0000d510: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000d520: 2020 2047 6574 5f43 6861 7220 2866 756e Get_Char (fun\n+0000d530: 6374 696f 6e29 2e20 2028 6c69 6e65 2032 ction). (line 2\n+0000d540: 3329 0a2a 2043 6f6e 6e65 6374 696f 6e5f 3).* Connection_\n+0000d550: 436c 6f73 6564 203c 323e 3a20 2020 2020 Closed <2>: \n+0000d560: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n+0000d570: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e Line (function).\n+0000d580: 2020 286c 696e 6520 3332 290a 2a20 436f (line 32).* Co\n+0000d590: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d5a0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n+0000d5b0: 2020 2020 2047 6574 5f4c 696e 6520 2870 Get_Line (p\n+0000d5c0: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n+0000d5d0: 2032 3729 0a2a 2043 6f6e 6e65 6374 696f 27).* Connectio\n+0000d5e0: 6e5f 436c 6f73 6564 203c 343e 3a20 2020 n_Closed <4>: \n+0000d5f0: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n+0000d600: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n+0000d610: 6529 2e20 286c 696e 6520 3230 290a 2a20 e). (line 20).* \n+0000d620: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d630: 6420 3c35 3e3a 2020 2020 2020 2020 2020 d <5>: \n+0000d640: 2020 2020 2020 2050 7574 2028 7072 6f63 Put (proc\n+0000d650: 6564 7572 6529 2e20 2020 2020 2028 6c69 edure). (li\n+0000d660: 6e65 2032 3129 0a2a 2043 6f6e 6e65 6374 ne 21).* Connect\n+0000d670: 696f 6e5f 436c 6f73 6564 203c 363e 3a20 ion_Closed <6>: \n+0000d680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d690: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n+0000d6a0: 7572 6529 2e20 286c 696e 6520 3231 290a ure). (line 21).\n+0000d6b0: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n+0000d6c0: 7365 6420 3c37 3e3a 2020 2020 2020 2020 sed <7>: \n+0000d6d0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+0000d6e0: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n+0000d6f0: 6c69 6e65 2033 3029 0a2a 2043 6f6e 6e65 line 30).* Conne\n+0000d700: 6374 696f 6e5f 436c 6f73 6564 203c 383e ction_Closed <8>\n+0000d710: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d720: 2020 5265 6365 6976 6520 2870 726f 6365 Receive (proce\n+0000d730: 6475 7265 292e 2020 286c 696e 6520 3235 dure). (line 25\n+0000d740: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n+0000d750: 6c6f 7365 6420 3c39 3e3a 2020 2020 2020 losed <9>: \n+0000d760: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000d770: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n+0000d780: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000d790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7c0: 2020 2020 286c 696e 6520 3237 290a 2a20 (line 27).* \n+0000d7d0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d7e0: 6420 3c31 303e 3a20 2020 2020 2020 2020 d <10>: \n+0000d7f0: 2020 2020 2020 2053 656e 6420 2870 726f Send (pro\n+0000d800: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n+0000d810: 6e65 2032 3129 0a2a 2043 6f6e 6e65 6374 ne 21).* Connect\n+0000d820: 696f 6e5f 5265 6675 7365 643a 2020 2020 ion_Refused: \n+0000d830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d840: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n+0000d850: 7265 292e 2020 286c 696e 6520 3235 290a re). (line 25).\n+0000d860: 2a20 436f 6e74 7269 6275 7469 6e67 3a20 * Contributing: \n+0000d870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d880: 2020 2020 2020 2020 2043 6f6e 7472 6962 Contrib\n+0000d890: 7574 6f72 732e 2020 2020 2020 2020 2028 utors. (\n+0000d8a0: 6c69 6e65 2020 3629 0a2a 2043 6f6e 7472 line 6).* Contr\n+0000d8b0: 6962 7574 696e 6720 3c31 3e3a 2020 2020 ibuting <1>: \n+0000d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8d0: 2020 5265 736f 7572 6365 7320 6f6e 2074 Resources on t\n+0000d8e0: 6865 2049 6e74 6572 6e65 742e 0a20 2020 he Internet.. \n+0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d920: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000d930: 6520 2036 290a 2a20 4352 3a20 2020 2020 e 6).* CR: \n+0000d940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d950: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000d960: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+0000d970: 6e29 2e20 2028 6c69 6e65 2032 3129 0a2a n). (line 21).*\n+0000d980: 2043 5220 3c31 3e3a 2020 2020 2020 2020 CR <1>: \n+0000d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d9a0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+0000d9b0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+0000d9c0: 696e 6520 3138 290a 2a20 4352 203c 323e ine 18).* CR <2>\n+0000d9d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d9f0: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+0000da00: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17)\n+0000da10: 0a2a 2043 7265 6174 655f 4d75 6c74 6963 .* Create_Multic\n+0000da20: 6173 745f 536f 636b 6574 3a20 2020 2020 ast_Socket: \n+0000da30: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+0000da40: 6720 7570 206d 756c 7469 6361 7374 2073 g up multicast s\n+0000da50: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n+0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da90: 2020 2020 2020 2028 6c69 6e65 2031 3629 (line 16)\n+0000daa0: 0a2a 2043 7265 6174 655f 4d75 6c74 6963 .* Create_Multic\n+0000dab0: 6173 745f 536f 636b 6574 203c 313e 3a20 ast_Socket <1>: \n+0000dac0: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+0000dad0: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+0000dae0: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. \n+0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000db30: 6e65 2020 3929 0a2a 2043 7265 6174 655f ne 9).* Create_\n+0000db40: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+0000db50: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0000db60: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+0000db70: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+0000db80: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+0000db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbd0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000dbe0: 0a2a 2043 523a 2020 2020 2020 2020 2020 .* CR: \n-0000dbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc00: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n-0000dc10: 6e65 2028 6675 6e63 7469 6f6e 292e 2020 ne (function). \n-0000dc20: 286c 696e 6520 3231 290a 2a20 4352 203c (line 21).* CR <\n-0000dc30: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0000dbc0: 2020 2028 6c69 6e65 2036 3329 0a2a 2043 (line 63).* C\n+0000dbd0: 7265 6174 696e 6720 6120 6d75 6c74 6963 reating a multic\n+0000dbe0: 6173 7420 736f 636b 6574 3a20 2020 2020 ast socket: \n+0000dbf0: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n+0000dc00: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n+0000dc10: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n+0000dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc50: 2020 2047 6574 5f4c 696e 6520 2870 726f Get_Line (pro\n-0000dc60: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n-0000dc70: 3829 0a2a 2043 5220 3c32 3e3a 2020 2020 8).* CR <2>: \n-0000dc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc90: 2020 2020 2020 2020 2020 2020 4e65 775f New_\n-0000dca0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-0000dcb0: 2e20 286c 696e 6520 3137 290a 2a20 4372 . (line 17).* Cr\n-0000dcc0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-0000dcd0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000dce0: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-0000dcf0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n-0000dd00: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd40: 2020 286c 696e 6520 3136 290a 2a20 4372 (line 16).* Cr\n-0000dd50: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-0000dd60: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020 ocket <1>: \n-0000dd70: 2020 2020 2043 7265 6174 655f 4d75 6c74 Create_Mult\n-0000dd80: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-0000dd90: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000dc50: 2020 2028 6c69 6e65 2020 3629 0a2a 2043 (line 6).* C\n+0000dc60: 7265 6174 696e 6720 6120 6d75 6c74 6963 reating a multic\n+0000dc70: 6173 7420 736f 636b 6574 203c 313e 3a20 ast socket <1>: \n+0000dc80: 2020 2020 2020 4372 6561 7465 5f4d 756c Create_Mul\n+0000dc90: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n+0000dca0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n+0000dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dce0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000dcf0: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000dd00: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000dd10: 203c 323e 3a20 2020 2020 2020 4372 6561 <2>: Crea\n+0000dd20: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+0000dd30: 6b65 7420 2866 756e 6374 696f 6e29 2e0a ket (function)..\n+0000dd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd70: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000dd80: 6c69 6e65 2036 3029 0a2a 2043 7265 6174 line 60).* Creat\n+0000dd90: 696e 6720 6120 7365 7276 6572 3a20 2020 ing a server: \n 0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ddc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ddd0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n-0000dde0: 290a 2a20 4372 6561 7465 5f4d 756c 7469 ).* Create_Multi\n-0000ddf0: 6361 7374 5f53 6f63 6b65 7420 3c32 3e3a cast_Socket <2>:\n-0000de00: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n-0000de10: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-0000de20: 6574 2028 6675 6e63 7469 6f6e 292e 0a20 et (function).. \n+0000ddb0: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur\n+0000ddc0: 6529 2e20 2020 2020 286c 696e 6520 2036 e). (line 6\n+0000ddd0: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s\n+0000dde0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n+0000ddf0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n+0000de00: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n+0000de10: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+0000de20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000de30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000de40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de60: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000de70: 696e 6520 3731 290a 2a20 4372 6561 7469 ine 71).* Creati\n-0000de80: 6e67 2061 206d 756c 7469 6361 7374 2073 ng a multicast s\n-0000de90: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000dea0: 2053 6574 7469 6e67 2075 7020 6d75 6c74 Setting up mult\n-0000deb0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n-0000dec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ded0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000def0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000df00: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-0000df10: 6e67 2061 206d 756c 7469 6361 7374 2073 ng a multicast s\n-0000df20: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020 ocket <1>: \n-0000df30: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-0000df40: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-0000df50: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n-0000df60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df90: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000dfa0: 4372 6561 7469 6e67 2061 206d 756c 7469 Creating a multi\n-0000dfb0: 6361 7374 2073 6f63 6b65 7420 3c32 3e3a cast socket <2>:\n-0000dfc0: 2020 2020 2020 2043 7265 6174 655f 4d75 Create_Mu\n-0000dfd0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-0000dfe0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n-0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e020: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000e030: 3638 290a 2a20 4372 6561 7469 6e67 2061 68).* Creating a\n-0000e040: 2073 6572 7665 723a 2020 2020 2020 2020 server: \n-0000e050: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n-0000e060: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-0000e070: 2020 2028 6c69 6e65 2020 3629 0a2a 2043 (line 6).* C\n-0000e080: 7265 6174 696e 6720 6120 736f 636b 6574 reating a socket\n-0000e090: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e0a0: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n-0000e0b0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets\n-0000e0c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000de50: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000de60: 2a20 4372 6561 7469 6e67 2061 2073 6f63 * Creating a soc\n+0000de70: 6b65 7420 3c31 3e3a 2020 2020 2020 2020 ket <1>: \n+0000de80: 2020 2020 2020 2020 2053 6f63 6b65 7420 Socket \n+0000de90: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n+0000dea0: 6c69 6e65 2020 3629 0a2a 2043 7265 6174 line 6).* Creat\n+0000deb0: 696e 6720 6120 736f 636b 6574 203c 323e ing a socket <2>\n+0000dec0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000ded0: 2020 4372 6561 7465 5f4d 756c 7469 6361 Create_Multica\n+0000dee0: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+0000def0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000df00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df30: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000df40: 2043 7265 6174 696e 6720 6120 736f 636b Creating a sock\n+0000df50: 6574 203c 333e 3a20 2020 2020 2020 2020 et <3>: \n+0000df60: 2020 2020 2020 2020 4372 6561 7465 5f4d Create_M\n+0000df70: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+0000df80: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfc0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000dfd0: 2036 3029 0a2a 2043 7265 6174 696e 6720 60).* Creating \n+0000dfe0: 6120 5443 5020 736f 636b 6574 3a20 2020 a TCP socket: \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000e000: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n+0000e010: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n+0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e050: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000e060: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000e070: 5544 5020 736f 636b 6574 3a20 2020 2020 UDP socket: \n+0000e080: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000e090: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+0000e0a0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n+0000e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e100: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n-0000e110: 6174 696e 6720 6120 736f 636b 6574 203c ating a socket <\n-0000e120: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000e130: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-0000e140: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-0000e150: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n-0000e160: 2073 6f63 6b65 7420 3c32 3e3a 2020 2020 socket <2>: \n-0000e170: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n-0000e180: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-0000e190: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n-0000e1a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1e0: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n-0000e1f0: 7469 6e67 2061 2073 6f63 6b65 7420 3c33 ting a socket <3\n-0000e200: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000e210: 2020 2043 7265 6174 655f 4d75 6c74 6963 Create_Multic\n-0000e220: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-0000e230: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n-0000e240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0e0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000e0f0: 0a2a 2043 7265 6174 696e 6720 6120 756e .* Creating a un\n+0000e100: 6963 6173 7420 736f 636b 6574 3a20 2020 icast socket: \n+0000e110: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+0000e120: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n+0000e130: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e170: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000e180: 2045 7374 6162 6c69 7368 696e 6720 6120 Establishing a \n+0000e190: 6c69 7374 656e 2071 7565 7565 3a20 2020 listen queue: \n+0000e1a0: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n+0000e1b0: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+0000e1c0: 696e 6520 2036 290a 2a20 4669 6e64 696e ine 6).* Findin\n+0000e1d0: 6720 4164 6153 6f63 6b65 7473 206f 6e20 g AdaSockets on \n+0000e1e0: 7468 6520 496e 7465 726e 6574 3a20 2020 the Internet: \n+0000e1f0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000e200: 6520 496e 7465 726e 6574 2e0a 2020 2020 e Internet.. \n+0000e210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e240: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e250: 2020 3629 0a2a 2047 6574 3a20 2020 2020 6).* Get: \n 0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e270: 2020 2020 2020 286c 696e 6520 3638 290a (line 68).\n-0000e280: 2a20 4372 6561 7469 6e67 2061 2054 4350 * Creating a TCP\n-0000e290: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n-0000e2a0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-0000e2b0: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n-0000e2c0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n-0000e2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e300: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000e310: 4372 6561 7469 6e67 2061 2055 4450 2073 Creating a UDP s\n-0000e320: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000e330: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-0000e340: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-0000e350: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-0000e360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e390: 2020 286c 696e 6520 2036 290a 2a20 4372 (line 6).* Cr\n-0000e3a0: 6561 7469 6e67 2061 2075 6e69 6361 7374 eating a unicast\n-0000e3b0: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n-0000e3c0: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-0000e3d0: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n-0000e3e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e420: 286c 696e 6520 2036 290a 2a20 4573 7461 (line 6).* Esta\n-0000e430: 626c 6973 6869 6e67 2061 206c 6973 7465 blishing a liste\n-0000e440: 6e20 7175 6575 653a 2020 2020 2020 2020 n queue: \n-0000e450: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce\n-0000e460: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n-0000e470: 3629 0a2a 2046 696e 6469 6e67 2041 6461 6).* Finding Ada\n-0000e480: 536f 636b 6574 7320 6f6e 2074 6865 2049 Sockets on the I\n-0000e490: 6e74 6572 6e65 743a 2020 2020 5265 736f nternet: Reso\n-0000e4a0: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n-0000e4b0: 6572 6e65 742e 0a20 2020 2020 2020 2020 ernet.. \n-0000e4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e270: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000e280: 7420 2866 756e 6374 696f 6e29 2e20 2020 t (function). \n+0000e290: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000e2a0: 4765 745f 4368 6172 3a20 2020 2020 2020 Get_Char: \n+0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e2c0: 2020 2020 2020 2047 6574 5f43 6861 7220 Get_Char \n+0000e2d0: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li\n+0000e2e0: 6e65 2020 3929 0a2a 2047 6574 5f4c 696e ne 9).* Get_Lin\n+0000e2f0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0000e300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e310: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n+0000e320: 6f6e 292e 2020 286c 696e 6520 2039 290a on). (line 9).\n+0000e330: 2a20 4765 745f 4c69 6e65 203c 313e 3a20 * Get_Line <1>: \n+0000e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e350: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n+0000e360: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+0000e370: 6c69 6e65 2020 3929 0a2a 2047 6574 5f50 line 9).* Get_P\n+0000e380: 6565 725f 4164 6472 3a20 2020 2020 2020 eer_Addr: \n+0000e390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3a0: 2020 4765 745f 5065 6572 5f41 6464 7220 Get_Peer_Addr \n+0000e3b0: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e400: 2020 3929 0a2a 2047 6574 5f50 6565 725f 9).* Get_Peer_\n+0000e410: 506f 7274 3a20 2020 2020 2020 2020 2020 Port: \n+0000e420: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000e430: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n+0000e440: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n+0000e450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e480: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+0000e490: 0a2a 2047 6574 5f52 6563 6569 7665 5f51 .* Get_Receive_Q\n+0000e4a0: 7565 7565 5f53 697a 653a 2020 2020 2020 ueue_Size: \n+0000e4b0: 2020 2020 2020 2020 2020 4765 745f 5265 Get_Re\n+0000e4c0: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n+0000e4d0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 0000e4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4f0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000e500: 2a20 4765 743a 2020 2020 2020 2020 2020 * Get: \n-0000e510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e520: 2020 2020 2020 2020 2047 6574 2028 6675 Get (fu\n-0000e530: 6e63 7469 6f6e 292e 2020 2020 2020 2028 nction). (\n-0000e540: 6c69 6e65 2020 3929 0a2a 2047 6574 5f43 line 9).* Get_C\n-0000e550: 6861 723a 2020 2020 2020 2020 2020 2020 har: \n-0000e560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e570: 2020 4765 745f 4368 6172 2028 6675 6e63 Get_Char (func\n-0000e580: 7469 6f6e 292e 2020 286c 696e 6520 2039 tion). (line 9\n-0000e590: 290a 2a20 4765 745f 4c69 6e65 3a20 2020 ).* Get_Line: \n-0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e5b0: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n-0000e5c0: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n-0000e5d0: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get\n-0000e5e0: 5f4c 696e 6520 3c31 3e3a 2020 2020 2020 _Line <1>: \n-0000e5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e600: 2020 2020 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n-0000e610: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000e620: 2039 290a 2a20 4765 745f 5065 6572 5f41 9).* Get_Peer_A\n-0000e630: 6464 723a 2020 2020 2020 2020 2020 2020 ddr: \n-0000e640: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000e650: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func\n-0000e660: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n-0000e670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e510: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e520: 6520 2039 290a 2a20 4765 745f 5365 6e64 e 9).* Get_Send\n+0000e530: 5f51 7565 7565 5f53 697a 653a 2020 2020 _Queue_Size: \n+0000e540: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e550: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n+0000e560: 7a65 2028 6675 6e63 7469 6f6e 292e 0a20 ze (function).. \n+0000e570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5a0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000e5b0: 696e 6520 2039 290a 2a20 4765 745f 536f ine 9).* Get_So\n+0000e5c0: 636b 5f41 6464 723a 2020 2020 2020 2020 ck_Addr: \n+0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5e0: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+0000e5f0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+0000e600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e630: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000e640: 2039 290a 2a20 4765 745f 536f 636b 5f50 9).* Get_Sock_P\n+0000e650: 6f72 743a 2020 2020 2020 2020 2020 2020 ort: \n+0000e660: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000e670: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n+0000e680: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 0000e690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6a0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n-0000e6b0: 2a20 4765 745f 5065 6572 5f50 6f72 743a * Get_Peer_Port:\n-0000e6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6d0: 2020 2020 2020 2020 2047 6574 5f50 6565 Get_Pee\n-0000e6e0: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-0000e6f0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000e700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6c0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000e6d0: 2a20 4765 7473 6f63 6b6f 7074 3a20 2020 * Getsockopt: \n+0000e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6f0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+0000e700: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+0000e710: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000e720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e730: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n-0000e740: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n-0000e750: 5369 7a65 3a20 2020 2020 2020 2020 2020 Size: \n-0000e760: 2020 2020 2047 6574 5f52 6563 6569 7665 Get_Receive\n-0000e770: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-0000e780: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-0000e790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e750: 286c 696e 6520 2039 290a 2a20 4772 6f75 (line 9).* Grou\n+0000e760: 7020 636f 6d6d 756e 6963 6174 696f 6e3a p communication:\n+0000e770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e780: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n+0000e790: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n+0000e7a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000e7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7c0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n-0000e7d0: 0a2a 2047 6574 5f53 656e 645f 5175 6575 .* Get_Send_Queu\n-0000e7e0: 655f 5369 7a65 3a20 2020 2020 2020 2020 e_Size: \n-0000e7f0: 2020 2020 2020 2020 2020 4765 745f 5365 Get_Se\n-0000e800: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-0000e810: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-0000e820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7e0: 286c 696e 6520 2036 290a 2a20 4861 6e64 (line 6).* Hand\n+0000e7f0: 6c69 6e67 2061 206e 6577 2063 6f6e 6e65 ling a new conne\n+0000e800: 6374 696f 6e3a 2020 2020 2020 2020 2020 ction: \n+0000e810: 2020 2041 6363 6570 745f 536f 636b 6574 Accept_Socket\n+0000e820: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000e830: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e850: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000e860: 3929 0a2a 2047 6574 5f53 6f63 6b5f 4164 9).* Get_Sock_Ad\n-0000e870: 6472 3a20 2020 2020 2020 2020 2020 2020 dr: \n-0000e880: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000e890: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n-0000e8a0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n-0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e860: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e870: 6e65 2020 3629 0a2a 2048 6f73 745f 456e ne 6).* Host_En\n+0000e880: 7472 793a 2020 2020 2020 2020 2020 2020 try: \n+0000e890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8a0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n+0000e8b0: 6163 6b61 6765 2e0a 2020 2020 2020 2020 ackage.. \n 0000e8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e8e0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000e8f0: 2047 6574 5f53 6f63 6b5f 506f 7274 3a20 Get_Sock_Port: \n-0000e900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e910: 2020 2020 2020 2020 4765 745f 536f 636b Get_Sock\n-0000e920: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n-0000e930: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000e940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8f0: 2020 2020 2020 2028 6c69 6e65 2032 3429 (line 24)\n+0000e900: 0a2a 2048 6f73 745f 4e61 6d65 3a20 2020 .* Host_Name: \n+0000e910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e920: 2020 2020 2020 2020 2020 486f 7374 5f4e Host_N\n+0000e930: 616d 6520 2866 756e 6374 696f 6e29 2e20 ame (function). \n+0000e940: 286c 696e 6520 2039 290a 2a20 496d 6167 (line 9).* Imag\n+0000e950: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n 0000e960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e970: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get\n-0000e980: 736f 636b 6f70 743a 2020 2020 2020 2020 sockopt: \n-0000e990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e9a0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n-0000e9b0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e970: 2020 2049 6d61 6765 2028 6675 6e63 7469 Image (functi\n+0000e980: 6f6e 292e 2020 2020 2028 6c69 6e65 2020 on). (line \n+0000e990: 3929 0a2a 2049 6e66 6f5f 4f66 5f4e 616d 9).* Info_Of_Nam\n+0000e9a0: 655f 4f72 5f49 503a 2020 2020 2020 2020 e_Or_IP: \n+0000e9b0: 2020 2020 2020 2020 2020 2020 496e 666f Info\n+0000e9c0: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP (\n+0000e9d0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n 0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e9f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000ea00: 2020 3929 0a2a 2047 726f 7570 2063 6f6d 9).* Group com\n-0000ea10: 6d75 6e69 6361 7469 6f6e 3a20 2020 2020 munication: \n-0000ea20: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000ea30: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n-0000ea40: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-0000ea50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea10: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000ea20: 2039 290a 2a20 496e 7374 616c 6c69 6e67 9).* Installing\n+0000ea30: 2041 6461 536f 636b 6574 733a 2020 2020 AdaSockets: \n+0000ea40: 2020 2020 2020 2020 2020 2020 2049 6e73 Ins\n+0000ea50: 7461 6c6c 696e 6720 4164 6153 6f63 6b65 talling AdaSocke\n+0000ea60: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n 0000ea70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea80: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000ea90: 2020 3629 0a2a 2048 616e 646c 696e 6720 6).* Handling \n-0000eaa0: 6120 6e65 7720 636f 6e6e 6563 7469 6f6e a new connection\n-0000eab0: 3a20 2020 2020 2020 2020 2020 2020 4163 : Ac\n-0000eac0: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n-0000ead0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eaa0: 2020 2028 6c69 6e65 2020 3629 0a2a 2049 (line 6).* I\n+0000eab0: 505f 4144 445f 4d45 4d42 4552 5348 4950 P_ADD_MEMBERSHIP\n+0000eac0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000ead0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+0000eae0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb10: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000eb20: 290a 2a20 486f 7374 5f45 6e74 7279 3a20 ).* Host_Entry: \n-0000eb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb40: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-0000eb50: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000eb60: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n-0000eb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000eb30: 6e65 2032 3029 0a2a 2049 505f 4144 445f ne 20).* IP_ADD_\n+0000eb40: 4d45 4d42 4552 5348 4950 203c 313e 3a20 MEMBERSHIP <1>: \n+0000eb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb60: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+0000eb70: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 0000eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eba0: 2020 286c 696e 6520 3234 290a 2a20 486f (line 24).* Ho\n-0000ebb0: 7374 5f4e 616d 653a 2020 2020 2020 2020 st_Name: \n-0000ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebd0: 2020 2020 2048 6f73 745f 4e61 6d65 2028 Host_Name (\n-0000ebe0: 6675 6e63 7469 6f6e 292e 2028 6c69 6e65 function). (line\n-0000ebf0: 2020 3929 0a2a 2049 6d61 6765 3a20 2020 9).* Image: \n-0000ec00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ec10: 2020 2020 2020 2020 2020 2020 2020 496d Im\n-0000ec20: 6167 6520 2866 756e 6374 696f 6e29 2e20 age (function). \n-0000ec30: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000ec40: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n-0000ec50: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: \n-0000ec60: 2020 2020 2020 2049 6e66 6f5f 4f66 5f4e Info_Of_N\n-0000ec70: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n-0000ec80: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000eba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ebb0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+0000ebc0: 0a2a 2049 505f 4452 4f50 5f4d 454d 4245 .* IP_DROP_MEMBE\n+0000ebd0: 5253 4849 503a 2020 2020 2020 2020 2020 RSHIP: \n+0000ebe0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+0000ebf0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000ec00: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec40: 2028 6c69 6e65 2032 3029 0a2a 2049 505f (line 20).* IP_\n+0000ec50: 4452 4f50 5f4d 454d 4245 5253 4849 5020 DROP_MEMBERSHIP \n+0000ec60: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0000ec70: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+0000ec80: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 0000ec90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ecb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ecc0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000ecd0: 2049 6e73 7461 6c6c 696e 6720 4164 6153 Installing AdaS\n-0000ece0: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n-0000ecf0: 2020 2020 2020 2020 496e 7374 616c 6c69 Installi\n-0000ed00: 6e67 2041 6461 536f 636b 6574 732e 0a20 ng AdaSockets.. \n-0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecc0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000ecd0: 2032 3029 0a2a 2049 505f 4d55 4c54 4943 20).* IP_MULTIC\n+0000ece0: 4153 545f 4c4f 4f50 3a20 2020 2020 2020 AST_LOOP: \n+0000ecf0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000ed00: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000ed10: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed40: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000ed50: 696e 6520 2036 290a 2a20 4950 5f41 4444 ine 6).* IP_ADD\n-0000ed60: 5f4d 454d 4245 5253 4849 503a 2020 2020 _MEMBERSHIP: \n-0000ed70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed80: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000ed90: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000ed40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed50: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+0000ed60: 2049 505f 4d55 4c54 4943 4153 545f 4c4f IP_MULTICAST_LO\n+0000ed70: 4f50 203c 313e 3a20 2020 2020 2020 2020 OP <1>: \n+0000ed80: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+0000ed90: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 0000eda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000edd0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000ede0: 290a 2a20 4950 5f41 4444 5f4d 454d 4245 ).* IP_ADD_MEMBE\n-0000edf0: 5253 4849 5020 3c31 3e3a 2020 2020 2020 RSHIP <1>: \n-0000ee00: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-0000ee10: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000ee20: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000edd0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000ede0: 6c69 6e65 2032 3029 0a2a 2049 505f 4d55 line 20).* IP_MU\n+0000edf0: 4c54 4943 4153 545f 5454 4c3a 2020 2020 LTICAST_TTL: \n+0000ee00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee10: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+0000ee20: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ee40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ee50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ee60: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n-0000ee70: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n-0000ee80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000ee90: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-0000eea0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee60: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000ee70: 3029 0a2a 2049 505f 4d55 4c54 4943 4153 0).* IP_MULTICAS\n+0000ee80: 545f 5454 4c20 3c31 3e3a 2020 2020 2020 T_TTL <1>: \n+0000ee90: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+0000eea0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+0000eeb0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eee0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000eef0: 6520 3230 290a 2a20 4950 5f44 524f 505f e 20).* IP_DROP_\n-0000ef00: 4d45 4d42 4552 5348 4950 203c 313e 3a20 MEMBERSHIP <1>: \n-0000ef10: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000ef20: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000ef30: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eef0: 2020 2028 6c69 6e65 2032 3029 0a2a 2049 (line 20).* I\n+0000ef00: 5050 524f 544f 5f49 503a 2020 2020 2020 PPROTO_IP: \n+0000ef10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef20: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+0000ef30: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef70: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000ef80: 2a20 4950 5f4d 554c 5449 4341 5354 5f4c * IP_MULTICAST_L\n-0000ef90: 4f4f 503a 2020 2020 2020 2020 2020 2020 OOP: \n-0000efa0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-0000efb0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000efc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000ef70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000ef80: 6e65 2032 3029 0a2a 2049 5050 524f 544f ne 20).* IPPROTO\n+0000ef90: 5f49 5020 3c31 3e3a 2020 2020 2020 2020 _IP <1>: \n+0000efa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000efb0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+0000efc0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000efe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f000: 286c 696e 6520 3230 290a 2a20 4950 5f4d (line 20).* IP_M\n-0000f010: 554c 5449 4341 5354 5f4c 4f4f 5020 3c31 ULTICAST_LOOP <1\n-0000f020: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000f030: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-0000f040: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000f050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f000: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+0000f010: 0a2a 2049 735f 4950 5f41 6464 7265 7373 .* Is_IP_Address\n+0000f020: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f030: 2020 2020 2020 2020 2020 4973 5f49 505f Is_IP_\n+0000f040: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+0000f050: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n 0000f060: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f080: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000f090: 3230 290a 2a20 4950 5f4d 554c 5449 4341 20).* IP_MULTICA\n-0000f0a0: 5354 5f54 544c 3a20 2020 2020 2020 2020 ST_TTL: \n-0000f0b0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000f0c0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000f0d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f090: 2020 2028 6c69 6e65 2020 3929 0a2a 204c (line 9).* L\n+0000f0a0: 463a 2020 2020 2020 2020 2020 2020 2020 F: \n+0000f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f0c0: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000f0d0: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n+0000f0e0: 6520 3231 290a 2a20 4c46 203c 313e 3a20 e 21).* LF <1>: \n 0000f0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f110: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-0000f120: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n-0000f130: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000f140: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-0000f150: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-0000f160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f190: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f1a0: 696e 6520 3230 290a 2a20 4950 5052 4f54 ine 20).* IPPROT\n-0000f1b0: 4f5f 4950 3a20 2020 2020 2020 2020 2020 O_IP: \n-0000f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1d0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000f1e0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000f1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f220: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000f230: 290a 2a20 4950 5052 4f54 4f5f 4950 203c ).* IPPROTO_IP <\n-0000f240: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000f250: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-0000f260: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000f270: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000f280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2b0: 2020 286c 696e 6520 3230 290a 2a20 4973 (line 20).* Is\n-0000f2c0: 5f49 505f 4164 6472 6573 733a 2020 2020 _IP_Address: \n-0000f2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2e0: 2020 2020 2049 735f 4950 5f41 6464 7265 Is_IP_Addre\n-0000f2f0: 7373 2028 6675 6e63 7469 6f6e 292e 0a20 ss (function).. \n+0000f100: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000f110: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+0000f120: 7265 292e 2028 6c69 6e65 2031 3829 0a2a re). (line 18).*\n+0000f130: 204c 4620 3c32 3e3a 2020 2020 2020 2020 LF <2>: \n+0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f150: 2020 2020 2020 2020 4e65 775f 4c69 6e65 New_Line\n+0000f160: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+0000f170: 696e 6520 3137 290a 2a20 4c69 7374 656e ine 17).* Listen\n+0000f180: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1a0: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+0000f1b0: 7265 292e 2020 2028 6c69 6e65 2020 3929 re). (line 9)\n+0000f1c0: 0a2a 204c 6973 7465 6e20 7175 6575 653a .* Listen queue:\n+0000f1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1e0: 2020 2020 2020 2020 2020 4c69 7374 656e Listen\n+0000f1f0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000f200: 286c 696e 6520 2036 290a 2a20 4d61 6e69 (line 6).* Mani\n+0000f210: 7075 6c61 7469 6e67 2073 6f63 6b65 7420 pulating socket \n+0000f220: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n+0000f230: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+0000f240: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f280: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000f290: 2036 290a 2a20 4d61 6e69 7075 6c61 7469 6).* Manipulati\n+0000f2a0: 6e67 2073 6f63 6b65 7420 6f70 7469 6f6e ng socket option\n+0000f2b0: 7320 3c31 3e3a 2020 2020 2020 2053 6574 s <1>: Set\n+0000f2c0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+0000f2d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f330: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f340: 696e 6520 2039 290a 2a20 4c46 3a20 2020 ine 9).* LF: \n-0000f350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f370: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-0000f380: 696f 6e29 2e20 2028 6c69 6e65 2032 3129 ion). (line 21)\n-0000f390: 0a2a 204c 4620 3c31 3e3a 2020 2020 2020 .* LF <1>: \n-0000f3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f3b0: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n-0000f3c0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000f3d0: 286c 696e 6520 3138 290a 2a20 4c46 203c (line 18).* LF <\n-0000f3e0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f400: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n-0000f410: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n-0000f420: 3729 0a2a 204c 6973 7465 6e3a 2020 2020 7).* Listen: \n-0000f430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f440: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n-0000f450: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). \n-0000f460: 2020 286c 696e 6520 2039 290a 2a20 4c69 (line 9).* Li\n-0000f470: 7374 656e 2071 7565 7565 3a20 2020 2020 sten queue: \n-0000f480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f490: 2020 2020 204c 6973 7465 6e20 2870 726f Listen (pro\n-0000f4a0: 6365 6475 7265 292e 2020 2028 6c69 6e65 cedure). (line\n-0000f4b0: 2020 3629 0a2a 204d 616e 6970 756c 6174 6).* Manipulat\n-0000f4c0: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n-0000f4d0: 6e73 3a20 2020 2020 2020 2020 2020 4765 ns: Ge\n-0000f4e0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000f4f0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000f500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f310: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000f320: 4d62 6f6e 653a 2020 2020 2020 2020 2020 Mbone: \n+0000f330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f340: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+0000f350: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+0000f360: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3a0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000f3b0: 4d75 6c74 6963 6173 7420 736f 636b 6574 Multicast socket\n+0000f3c0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+0000f3d0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+0000f3e0: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+0000f3f0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f430: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000f440: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+0000f450: 5f46 443a 2020 2020 2020 2020 2020 2020 _FD: \n+0000f460: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+0000f470: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+0000f480: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4c0: 2020 2020 286c 696e 6520 3136 290a 2a20 (line 16).* \n+0000f4d0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+0000f4e0: 5f46 4420 3c31 3e3a 2020 2020 2020 2020 _FD <1>: \n+0000f4f0: 2020 2020 2020 2053 6f63 6b65 7473 2e4d Sockets.M\n+0000f500: 756c 7469 6361 7374 2070 6163 6b61 6765 ulticast package\n+0000f510: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f530: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000f540: 204d 616e 6970 756c 6174 696e 6720 736f Manipulating so\n-0000f550: 636b 6574 206f 7074 696f 6e73 203c 313e cket options <1>\n-0000f560: 3a20 2020 2020 2020 5365 7473 6f63 6b6f : Setsocko\n-0000f570: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-0000f580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5b0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f5c0: 6c69 6e65 2020 3629 0a2a 204d 626f 6e65 line 6).* Mbone\n-0000f5d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5f0: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000f600: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n+0000f530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f550: 2028 6c69 6e65 2020 3829 0a2a 204e 616d (line 8).* Nam\n+0000f560: 655f 4f66 3a20 2020 2020 2020 2020 2020 e_Of: \n+0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f580: 2020 2020 4e61 6d65 5f4f 6620 2866 756e Name_Of (fun\n+0000f590: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n+0000f5a0: 2039 290a 2a20 4e61 6d69 6e67 5f45 7272 9).* Naming_Err\n+0000f5b0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n+0000f5c0: 2020 2020 2020 2020 2020 2020 2041 6464 Add\n+0000f5d0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000f5e0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+0000f5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f600: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f640: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f650: 6c69 6e65 2020 3629 0a2a 204d 756c 7469 line 6).* Multi\n-0000f660: 6361 7374 2073 6f63 6b65 7473 3a20 2020 cast sockets: \n-0000f670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f680: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000f690: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n+0000f620: 2020 2028 6c69 6e65 2032 3129 0a2a 204e (line 21).* N\n+0000f630: 616d 696e 675f 4572 726f 7220 3c31 3e3a aming_Error <1>:\n+0000f640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f650: 2020 2020 2020 496e 666f 5f4f 665f 4e61 Info_Of_Na\n+0000f660: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi\n+0000f670: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f690: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f6e0: 6c69 6e65 2020 3629 0a2a 204d 756c 7469 line 6).* Multi\n-0000f6f0: 6361 7374 5f53 6f63 6b65 745f 4644 3a20 cast_Socket_FD: \n-0000f700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f710: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000f720: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n-0000f730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f760: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f770: 6c69 6e65 2031 3629 0a2a 204d 756c 7469 line 16).* Multi\n-0000f780: 6361 7374 5f53 6f63 6b65 745f 4644 203c cast_Socket_FD <\n-0000f790: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000f7a0: 2020 536f 636b 6574 732e 4d75 6c74 6963 Sockets.Multic\n-0000f7b0: 6173 7420 7061 636b 6167 652e 0a20 2020 ast package.. \n-0000f7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000f800: 6520 2038 290a 2a20 4e61 6d65 5f4f 663a e 8).* Name_Of:\n-0000f810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f820: 2020 2020 2020 2020 2020 2020 2020 204e N\n-0000f830: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-0000f840: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n-0000f850: 204e 616d 696e 675f 4572 726f 723a 2020 Naming_Error: \n-0000f860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f870: 2020 2020 2020 2020 4164 6472 6573 735f Address_\n-0000f880: 4f66 2028 6675 6e63 7469 6f6e 292e 0a20 Of (function).. \n+0000f6b0: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* \n+0000f6c0: 4e61 6d69 6e67 5f45 7272 6f72 203c 323e Naming_Error <2>\n+0000f6d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f6e0: 2020 2020 2020 204e 616d 655f 4f66 2028 Name_Of (\n+0000f6f0: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n+0000f700: 6e65 2032 3029 0a2a 204e 6577 5f4c 696e ne 20).* New_Lin\n+0000f710: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0000f720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f730: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+0000f740: 7572 6529 2e20 286c 696e 6520 2039 290a ure). (line 9).\n+0000f750: 2a20 5046 5f49 4e45 543a 2020 2020 2020 * PF_INET: \n+0000f760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f770: 2020 2020 2020 2020 2053 6f63 6b65 7420 Socket \n+0000f780: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n+0000f790: 6c69 6e65 2031 3929 0a2a 2050 7574 3a20 line 19).* Put: \n+0000f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f7c0: 2020 5075 7420 2870 726f 6365 6475 7265 Put (procedure\n+0000f7d0: 292e 2020 2020 2020 286c 696e 6520 2039 ). (line 9\n+0000f7e0: 290a 2a20 5075 745f 4c69 6e65 3a20 2020 ).* Put_Line: \n+0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f800: 2020 2020 2020 2020 2020 2050 7574 5f4c Put_L\n+0000f810: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n+0000f820: 2028 6c69 6e65 2020 3929 0a2a 2052 6177 (line 9).* Raw\n+0000f830: 2064 6174 6120 6d61 6e69 7075 6c61 7469 data manipulati\n+0000f840: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n+0000f850: 2020 2020 5261 7720 6461 7461 206d 616e Raw data man\n+0000f860: 6970 756c 6174 696f 6e2e 0a20 2020 2020 ipulation.. \n+0000f870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f880: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f8d0: 696e 6520 3231 290a 2a20 4e61 6d69 6e67 ine 21).* Naming\n-0000f8e0: 5f45 7272 6f72 203c 313e 3a20 2020 2020 _Error <1>: \n-0000f8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f900: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72 Info_Of_Name_Or\n-0000f910: 5f49 5020 2866 756e 6374 696f 6e29 2e0a _IP (function)..\n-0000f920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f950: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f960: 6c69 6e65 2032 3529 0a2a 204e 616d 696e line 25).* Namin\n-0000f970: 675f 4572 726f 7220 3c32 3e3a 2020 2020 g_Error <2>: \n-0000f980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f990: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct\n-0000f9a0: 696f 6e29 2e20 2020 286c 696e 6520 3230 ion). (line 20\n-0000f9b0: 290a 2a20 4e65 775f 4c69 6e65 3a20 2020 ).* New_Line: \n-0000f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9d0: 2020 2020 2020 2020 2020 204e 6577 5f4c New_L\n-0000f9e0: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000f9f0: 2028 6c69 6e65 2020 3929 0a2a 2050 465f (line 9).* PF_\n-0000fa00: 494e 4554 3a20 2020 2020 2020 2020 2020 INET: \n-0000fa10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa20: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-0000fa30: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-0000fa40: 3139 290a 2a20 5075 743a 2020 2020 2020 19).* Put: \n-0000fa50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa60: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n-0000fa70: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000fa80: 2020 2028 6c69 6e65 2020 3929 0a2a 2050 (line 9).* P\n-0000fa90: 7574 5f4c 696e 653a 2020 2020 2020 2020 ut_Line: \n-0000faa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fab0: 2020 2020 2020 5075 745f 4c69 6e65 2028 Put_Line (\n-0000fac0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000fad0: 6520 2039 290a 2a20 5261 7720 6461 7461 e 9).* Raw data\n-0000fae0: 206d 616e 6970 756c 6174 696f 6e3a 2020 manipulation: \n-0000faf0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000fb00: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n-0000fb10: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n-0000fb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb50: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000fb60: 2052 6563 6569 7665 3a20 2020 2020 2020 Receive: \n-0000fb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb80: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n-0000fb90: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n-0000fba0: 696e 6520 2039 290a 2a20 5265 6365 6976 ine 9).* Receiv\n-0000fbb0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-0000fbc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fbd0: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-0000fbe0: 7572 6529 2e20 2028 6c69 6e65 2020 3929 ure). (line 9)\n-0000fbf0: 0a2a 2052 6563 6569 7665 203c 323e 3a20 .* Receive <2>: \n-0000fc00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc10: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n-0000fc20: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n-0000fc30: 286c 696e 6520 3137 290a 2a20 5265 6365 (line 17).* Rece\n-0000fc40: 6976 655f 536f 6d65 3a20 2020 2020 2020 ive_Some: \n-0000fc50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc60: 2020 2052 6563 6569 7665 5f53 6f6d 6520 Receive_Some \n-0000fc70: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000fc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcb0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000fcc0: 6520 2039 290a 2a20 5265 6365 6976 696e e 9).* Receivin\n-0000fcd0: 6720 6461 7461 3a20 2020 2020 2020 2020 g data: \n-0000fce0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000fcf0: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei\n-0000fd00: 7669 6e67 2064 6174 612e 0a20 2020 2020 ving data.. \n-0000fd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd40: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000fd50: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000fd60: 6461 7461 203c 313e 3a20 2020 2020 2020 data <1>: \n-0000fd70: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000fd80: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n-0000fd90: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-0000fda0: 6563 6569 7669 6e67 2064 6174 6120 3c32 eceiving data <2\n-0000fdb0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000fdc0: 2020 2020 2020 4765 745f 4368 6172 2028 Get_Char (\n-0000fdd0: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n-0000fde0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n-0000fdf0: 6720 6461 7461 203c 333e 3a20 2020 2020 g data <3>: \n-0000fe00: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000fe10: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-0000fe20: 6e29 2e20 2028 6c69 6e65 2020 3629 0a2a n). (line 6).*\n-0000fe30: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n-0000fe40: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-0000fe50: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000fe60: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000fe70: 696e 6520 2036 290a 2a20 5265 6365 6976 ine 6).* Receiv\n-0000fe80: 696e 6720 6461 7461 203c 353e 3a20 2020 ing data <5>: \n-0000fe90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fea0: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n-0000feb0: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n-0000fec0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-0000fed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8a0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000f8b0: 2036 290a 2a20 5265 6365 6976 653a 2020 6).* Receive: \n+0000f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8d0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000f8e0: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n+0000f8f0: 2020 2028 6c69 6e65 2020 3929 0a2a 2052 (line 9).* R\n+0000f900: 6563 6569 7665 203c 313e 3a20 2020 2020 eceive <1>: \n+0000f910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f920: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p\n+0000f930: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+0000f940: 6520 2039 290a 2a20 5265 6365 6976 6520 e 9).* Receive \n+0000f950: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+0000f960: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000f970: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+0000f980: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).*\n+0000f990: 2052 6563 6569 7665 5f53 6f6d 653a 2020 Receive_Some: \n+0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9b0: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n+0000f9c0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+0000f9d0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa10: 2028 6c69 6e65 2020 3929 0a2a 2052 6563 (line 9).* Rec\n+0000fa20: 6569 7669 6e67 2064 6174 613a 2020 2020 eiving data: \n+0000fa30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa40: 2020 2020 5365 6e64 696e 6720 616e 6420 Sending and \n+0000fa50: 7265 6365 6976 696e 6720 6461 7461 2e0a receiving data..\n+0000fa60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000faa0: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n+0000fab0: 7669 6e67 2064 6174 6120 3c31 3e3a 2020 ving data <1>: \n+0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fad0: 2020 4765 7420 2866 756e 6374 696f 6e29 Get (function)\n+0000fae0: 2e20 2020 2020 2020 286c 696e 6520 2036 . (line 6\n+0000faf0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fb00: 7461 203c 323e 3a20 2020 2020 2020 2020 ta <2>: \n+0000fb10: 2020 2020 2020 2020 2020 2047 6574 5f43 Get_C\n+0000fb20: 6861 7220 2866 756e 6374 696f 6e29 2e20 har (function). \n+0000fb30: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fb40: 6569 7669 6e67 2064 6174 6120 3c33 3e3a eiving data <3>:\n+0000fb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fb60: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n+0000fb70: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n+0000fb80: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000fb90: 6461 7461 203c 343e 3a20 2020 2020 2020 data <4>: \n+0000fba0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000fbb0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+0000fbc0: 292e 2028 6c69 6e65 2020 3629 0a2a 2052 ). (line 6).* R\n+0000fbd0: 6563 6569 7669 6e67 2064 6174 6120 3c35 eceiving data <5\n+0000fbe0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000fbf0: 2020 2020 2020 4765 745f 5265 6365 6976 Get_Receiv\n+0000fc00: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+0000fc10: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000fc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc50: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000fc60: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fc70: 7461 203c 363e 3a20 2020 2020 2020 2020 ta <6>: \n+0000fc80: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000fc90: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n+0000fca0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fcb0: 6569 7669 6e67 2064 6174 6120 3c37 3e3a eiving data <7>:\n+0000fcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fcd0: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro\n+0000fce0: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n+0000fcf0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000fd00: 6461 7461 203c 383e 3a20 2020 2020 2020 data <8>: \n+0000fd10: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000fd20: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+0000fd30: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd70: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000fd80: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n+0000fd90: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: \n+0000fda0: 2020 2020 2020 2020 2053 6574 5f42 7566 Set_Buf\n+0000fdb0: 6665 7220 2870 726f 6365 6475 7265 292e fer (procedure).\n+0000fdc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fdf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe00: 286c 696e 6520 2036 290a 2a20 5265 6365 (line 6).* Rece\n+0000fe10: 6976 696e 6720 6461 7461 203c 3130 3e3a iving data <10>:\n+0000fe20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe30: 2020 2055 6e73 6574 5f42 7566 6665 7220 Unset_Buffer \n+0000fe40: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000fe50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe80: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000fe90: 6520 2036 290a 2a20 5265 706f 7274 696e e 6).* Reportin\n+0000fea0: 6720 6120 6275 673a 2020 2020 2020 2020 g a bug: \n+0000feb0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000fec0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n+0000fed0: 496e 7465 726e 6574 2e0a 2020 2020 2020 Internet.. \n 0000fee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff00: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-0000ff10: 6563 6569 7669 6e67 2064 6174 6120 3c36 eceiving data <6\n-0000ff20: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000ff30: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n-0000ff40: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-0000ff50: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n-0000ff60: 6720 6461 7461 203c 373e 3a20 2020 2020 g data <7>: \n-0000ff70: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000ff80: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-0000ff90: 6529 2e20 2028 6c69 6e65 2020 3629 0a2a e). (line 6).*\n-0000ffa0: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n-0000ffb0: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: \n-0000ffc0: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n-0000ffd0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-0000ffe0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000fff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff10: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000ff20: 3629 0a2a 2052 6570 7265 7365 6e74 696e 6).* Representin\n+0000ff30: 6720 4950 2061 6464 7265 7373 6573 3a20 g IP addresses: \n+0000ff40: 2020 2020 2020 2020 2020 2020 496d 6167 Imag\n+0000ff50: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+0000ff60: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000ff70: 7072 6573 656e 7469 6e67 2049 5020 6164 presenting IP ad\n+0000ff80: 6472 6573 7365 7320 3c31 3e3a 2020 2020 dresses <1>: \n+0000ff90: 2020 2020 2056 616c 7565 2028 6675 6e63 Value (func\n+0000ffa0: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n+0000ffb0: 2020 3629 0a2a 2052 6574 7269 6576 696e 6).* Retrievin\n+0000ffc0: 6720 736f 636b 6574 206f 7074 696f 6e73 g socket options\n+0000ffd0: 3a20 2020 2020 2020 2020 2020 2020 4765 : Ge\n+0000ffe0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000fff0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00010000: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010020: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-00010030: 6569 7669 6e67 2064 6174 6120 3c39 3e3a eiving data <9>:\n-00010040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010050: 2020 2020 5365 745f 4275 6666 6572 2028 Set_Buffer (\n-00010060: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-00010070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000100b0: 2020 3629 0a2a 2052 6563 6569 7669 6e67 6).* Receiving\n-000100c0: 2064 6174 6120 3c31 303e 3a20 2020 2020 data <10>: \n-000100d0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n-000100e0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n-000100f0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00010100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010030: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+00010040: 2053 656e 643a 2020 2020 2020 2020 2020 Send: \n+00010050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010060: 2020 2020 2020 2020 5365 6e64 2028 7072 Send (pr\n+00010070: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n+00010080: 696e 6520 2039 290a 2a20 5365 6e64 203c ine 9).* Send <\n+00010090: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100b0: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n+000100c0: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17)\n+000100d0: 0a2a 2053 656e 6469 6e67 2064 6174 613a .* Sending data:\n+000100e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100f0: 2020 2020 2020 2020 2020 5365 6e64 696e Sendin\n+00010100: 6720 616e 6420 7265 6365 6976 696e 6720 g and receiving \n+00010110: 6461 7461 2e0a 2020 2020 2020 2020 2020 data.. \n 00010120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010130: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-00010140: 0a2a 2052 6570 6f72 7469 6e67 2061 2062 .* Reporting a b\n-00010150: 7567 3a20 2020 2020 2020 2020 2020 2020 ug: \n-00010160: 2020 2020 2020 2020 2020 5265 736f 7572 Resour\n-00010170: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n-00010180: 6e65 742e 0a20 2020 2020 2020 2020 2020 net.. \n-00010190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000101a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010150: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+00010160: 2053 656e 6469 6e67 2064 6174 6120 3c31 Sending data <1\n+00010170: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00010180: 2020 2020 2020 2020 4765 745f 5365 6e64 Get_Send\n+00010190: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+000101a0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n 000101b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000101c0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-000101d0: 5265 7072 6573 656e 7469 6e67 2049 5020 Representing IP \n-000101e0: 6164 6472 6573 7365 733a 2020 2020 2020 addresses: \n-000101f0: 2020 2020 2020 2049 6d61 6765 2028 6675 Image (fu\n-00010200: 6e63 7469 6f6e 292e 2020 2020 2028 6c69 nction). (li\n-00010210: 6e65 2020 3629 0a2a 2052 6570 7265 7365 ne 6).* Represe\n-00010220: 6e74 696e 6720 4950 2061 6464 7265 7373 nting IP address\n-00010230: 6573 203c 313e 3a20 2020 2020 2020 2020 es <1>: \n-00010240: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-00010250: 2e20 2020 2020 286c 696e 6520 2036 290a . (line 6).\n-00010260: 2a20 5265 7472 6965 7669 6e67 2073 6f63 * Retrieving soc\n-00010270: 6b65 7420 6f70 7469 6f6e 733a 2020 2020 ket options: \n-00010280: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-00010290: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-000102a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000102b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102e0: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-000102f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010310: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu\n-00010320: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n-00010330: 3929 0a2a 2053 656e 6420 3c31 3e3a 2020 9).* Send <1>: \n-00010340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010350: 2020 2020 2020 2020 2020 2020 5368 7574 Shut\n-00010360: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00010370: 2e20 286c 696e 6520 3137 290a 2a20 5365 . (line 17).* Se\n-00010380: 6e64 696e 6720 6461 7461 3a20 2020 2020 nding data: \n-00010390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103a0: 2020 2020 2053 656e 6469 6e67 2061 6e64 Sending and\n-000103b0: 2072 6563 6569 7669 6e67 2064 6174 612e receiving data.\n-000103c0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000103d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101e0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+000101f0: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n+00010200: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+00010210: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n+00010220: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+00010230: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n+00010240: 696e 6720 6461 7461 203c 333e 3a20 2020 ing data <3>: \n+00010250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010260: 2020 2050 7574 2028 7072 6f63 6564 7572 Put (procedur\n+00010270: 6529 2e20 2020 2020 2028 6c69 6e65 2020 e). (line \n+00010280: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat\n+00010290: 6120 3c34 3e3a 2020 2020 2020 2020 2020 a <4>: \n+000102a0: 2020 2020 2020 2020 2020 2020 5075 745f Put_\n+000102b0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+000102c0: 2e20 286c 696e 6520 2036 290a 2a20 5365 . (line 6).* Se\n+000102d0: 6e64 696e 6720 6461 7461 203c 353e 3a20 nding data <5>: \n+000102e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000102f0: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce\n+00010300: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+00010310: 2020 3629 0a2a 2053 656e 6469 6e67 2070 6).* Sending p\n+00010320: 6174 6368 6573 3a20 2020 2020 2020 2020 atches: \n+00010330: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00010340: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n+00010350: 6e74 6572 6e65 742e 0a20 2020 2020 2020 nternet.. \n+00010360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010390: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+000103a0: 290a 2a20 5365 745f 4275 6666 6572 3a20 ).* Set_Buffer: \n+000103b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000103c0: 2020 2020 2020 2020 2020 2053 6574 5f42 Set_B\n+000103d0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+000103e0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 000103f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010400: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-00010410: 696e 6720 6461 7461 203c 313e 3a20 2020 ing data <1>: \n-00010420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010430: 2020 2047 6574 5f53 656e 645f 5175 6575 Get_Send_Queu\n-00010440: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-00010450: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00010460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010420: 2020 286c 696e 6520 2039 290a 2a20 5365 (line 9).* Se\n+00010430: 7473 6f63 6b6f 7074 3a20 2020 2020 2020 tsockopt: \n+00010440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010450: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+00010460: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 00010470: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010490: 2020 286c 696e 6520 2036 290a 2a20 5365 (line 6).* Se\n-000104a0: 6e64 696e 6720 6461 7461 203c 323e 3a20 nding data <2>: \n-000104b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000104c0: 2020 2020 204e 6577 5f4c 696e 6520 2870 New_Line (p\n-000104d0: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-000104e0: 2020 3629 0a2a 2053 656e 6469 6e67 2064 6).* Sending d\n-000104f0: 6174 6120 3c33 3e3a 2020 2020 2020 2020 ata <3>: \n-00010500: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n-00010510: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-00010520: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-00010530: 5365 6e64 696e 6720 6461 7461 203c 343e Sending data <4>\n-00010540: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010550: 2020 2020 2020 2050 7574 5f4c 696e 6520 Put_Line \n-00010560: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n-00010570: 6e65 2020 3629 0a2a 2053 656e 6469 6e67 ne 6).* Sending\n-00010580: 2064 6174 6120 3c35 3e3a 2020 2020 2020 data <5>: \n-00010590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105a0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n-000105b0: 2e20 2020 2020 286c 696e 6520 2036 290a . (line 6).\n-000105c0: 2a20 5365 6e64 696e 6720 7061 7463 6865 * Sending patche\n-000105d0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-000105e0: 2020 2020 2020 2020 2052 6573 6f75 7263 Resourc\n-000105f0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n-00010600: 6574 2e0a 2020 2020 2020 2020 2020 2020 et.. \n-00010610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010640: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n-00010650: 6574 5f42 7566 6665 723a 2020 2020 2020 et_Buffer: \n+00010490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104a0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000104b0: 6520 2039 290a 2a20 5365 7474 696e 6720 e 9).* Setting \n+000104c0: 736f 636b 6574 206f 7074 696f 6e73 3a20 socket options: \n+000104d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+000104e0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+000104f0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00010500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010530: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+00010540: 2a20 5368 7574 646f 776e 3a20 2020 2020 * Shutdown: \n+00010550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010560: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow\n+00010570: 6e20 2870 726f 6365 6475 7265 292e 2028 n (procedure). (\n+00010580: 6c69 6e65 2020 3929 0a2a 2053 4f5f 5243 line 9).* SO_RC\n+00010590: 5642 5546 3a20 2020 2020 2020 2020 2020 VBUF: \n+000105a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105b0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+000105c0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+000105d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010600: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00010610: 3029 0a2a 2053 4f5f 5243 5642 5546 203c 0).* SO_RCVBUF <\n+00010620: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00010630: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00010640: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00010650: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 00010660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010670: 2020 2020 2020 5365 745f 4275 6666 6572 Set_Buffer\n-00010680: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00010690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000106a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010690: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+000106a0: 4f5f 5245 5553 4541 4444 523a 2020 2020 O_REUSEADDR: \n 000106b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000106c0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000106d0: 6e65 2020 3929 0a2a 2053 6574 736f 636b ne 9).* Setsock\n-000106e0: 6f70 743a 2020 2020 2020 2020 2020 2020 opt: \n+000106c0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+000106d0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000106e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000106f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010700: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00010710: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00010720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010710: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010720: 6e65 2032 3029 0a2a 2053 4f5f 5245 5553 ne 20).* SO_REUS\n+00010730: 4541 4444 5220 3c31 3e3a 2020 2020 2020 EADDR <1>: \n 00010740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010750: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n-00010760: 0a2a 2053 6574 7469 6e67 2073 6f63 6b65 .* Setting socke\n-00010770: 7420 6f70 7469 6f6e 733a 2020 2020 2020 t options: \n-00010780: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n-00010790: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-000107a0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-000107b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010750: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00010760: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00010770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107a0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+000107b0: 0a2a 2053 4f5f 5245 5553 4550 4f52 543a .* SO_REUSEPORT:\n 000107c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000107d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000107e0: 2028 6c69 6e65 2020 3629 0a2a 2053 6875 (line 6).* Shu\n-000107f0: 7464 6f77 6e3a 2020 2020 2020 2020 2020 tdown: \n+000107d0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+000107e0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000107f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00010800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010810: 2020 2020 5368 7574 646f 776e 2028 7072 Shutdown (pr\n-00010820: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-00010830: 2039 290a 2a20 534f 5f52 4356 4255 463a 9).* SO_RCVBUF:\n-00010840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010850: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-00010860: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00010870: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00010810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010830: 2028 6c69 6e65 2032 3029 0a2a 2053 4f5f (line 20).* SO_\n+00010840: 5245 5553 4550 4f52 5420 3c31 3e3a 2020 REUSEPORT <1>: \n+00010850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010860: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00010870: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 00010880: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010890: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000108a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108b0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-000108c0: 534f 5f52 4356 4255 4620 3c31 3e3a 2020 SO_RCVBUF <1>: \n-000108d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108e0: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-000108f0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-00010900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000108c0: 2032 3029 0a2a 2053 4f5f 534e 4442 5546 20).* SO_SNDBUF\n+000108d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000108e0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+000108f0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00010900: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00010910: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010930: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00010940: 696e 6520 3230 290a 2a20 534f 5f52 4555 ine 20).* SO_REU\n-00010950: 5345 4144 4452 3a20 2020 2020 2020 2020 SEADDR: \n+00010930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010940: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+00010950: 2053 4f5f 534e 4442 5546 203c 313e 3a20 SO_SNDBUF <1>: \n 00010960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010970: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-00010980: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00010970: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00010980: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 00010990: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000109a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000109b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109c0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-000109d0: 290a 2a20 534f 5f52 4555 5345 4144 4452 ).* SO_REUSEADDR\n-000109e0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-000109f0: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-00010a00: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00010a10: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00010a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109c0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000109d0: 6c69 6e65 2032 3029 0a2a 2053 4f43 4b5f line 20).* SOCK_\n+000109e0: 4447 5241 4d3a 2020 2020 2020 2020 2020 DGRAM: \n+000109f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a00: 2020 536f 636b 6574 2028 7072 6f63 6564 Socket (proced\n+00010a10: 7572 6529 2e20 2020 286c 696e 6520 3139 ure). (line 19\n+00010a20: 290a 2a20 534f 434b 5f53 5452 4541 4d3a ).* SOCK_STREAM:\n 00010a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a50: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n-00010a60: 5f52 4555 5345 504f 5254 3a20 2020 2020 _REUSEPORT: \n-00010a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a80: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-00010a90: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-00010aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a40: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+00010a50: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+00010a60: 2028 6c69 6e65 2031 3929 0a2a 2053 6f63 (line 19).* Soc\n+00010a70: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+00010a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a90: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n+00010aa0: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n 00010ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ad0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010ae0: 6520 3230 290a 2a20 534f 5f52 4555 5345 e 20).* SO_REUSE\n-00010af0: 504f 5254 203c 313e 3a20 2020 2020 2020 PORT <1>: \n-00010b00: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00010b10: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-00010b20: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-00010b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b60: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-00010b70: 2a20 534f 5f53 4e44 4255 463a 2020 2020 * SO_SNDBUF: \n-00010b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b90: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-00010ba0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-00010bb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00010bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010bf0: 286c 696e 6520 3230 290a 2a20 534f 5f53 (line 20).* SO_S\n-00010c00: 4e44 4255 4620 3c31 3e3a 2020 2020 2020 NDBUF <1>: \n-00010c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c20: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-00010c30: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-00010c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c70: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00010c80: 3230 290a 2a20 534f 434b 5f44 4752 414d 20).* SOCK_DGRAM\n-00010c90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010ca0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-00010cb0: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n-00010cc0: 2020 2028 6c69 6e65 2031 3929 0a2a 2053 (line 19).* S\n-00010cd0: 4f43 4b5f 5354 5245 414d 3a20 2020 2020 OCK_STREAM: \n-00010ce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010cf0: 2020 2020 2020 536f 636b 6574 2028 7072 Socket (pr\n-00010d00: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n-00010d10: 6520 3139 290a 2a20 536f 636b 6574 3a20 e 19).* Socket: \n-00010d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d30: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00010d40: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-00010d50: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n+00010ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ae0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010af0: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65 line 6).* Socke\n+00010b00: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+00010b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b20: 2020 536f 636b 6574 2028 7072 6f63 6564 Socket (proced\n+00010b30: 7572 6529 2e20 2020 286c 696e 6520 2039 ure). (line 9\n+00010b40: 290a 2a20 536f 636b 6574 2073 6875 7464 ).* Socket shutd\n+00010b50: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: \n+00010b60: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00010b70: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+00010b80: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc\n+00010b90: 6b65 745f 4572 726f 723a 2020 2020 2020 ket_Error: \n+00010ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010bb0: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n+00010bc0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+00010bd0: 3330 290a 2a20 536f 636b 6574 5f45 7272 30).* Socket_Err\n+00010be0: 6f72 203c 313e 3a20 2020 2020 2020 2020 or <1>: \n+00010bf0: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n+00010c00: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n+00010c10: 2e20 2028 6c69 6e65 2032 3729 0a2a 2053 . (line 27).* S\n+00010c20: 6f63 6b65 745f 4644 3a20 2020 2020 2020 ocket_FD: \n+00010c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c40: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n+00010c50: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets\n+00010c60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00010c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ca0: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc\n+00010cb0: 6b65 745f 4644 203c 313e 3a20 2020 2020 ket_FD <1>: \n+00010cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010cd0: 2020 2020 536f 636b 6574 7320 7061 636b Sockets pack\n+00010ce0: 6167 652e 2020 2020 2020 286c 696e 6520 age. (line \n+00010cf0: 2039 290a 2a20 536f 636b 6574 732e 4163 9).* Sockets.Ac\n+00010d00: 6365 7074 5f53 6f63 6b65 743a 2020 2020 cept_Socket: \n+00010d10: 2020 2020 2020 2020 2020 2020 2041 6363 Acc\n+00010d20: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00010d30: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00010d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d90: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00010da0: 2036 290a 2a20 536f 636b 6574 203c 313e 6).* Socket <1>\n-00010db0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010dc0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-00010dd0: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n-00010de0: 2020 2028 6c69 6e65 2020 3929 0a2a 2053 (line 9).* S\n-00010df0: 6f63 6b65 7420 7368 7574 646f 776e 3a20 ocket shutdown: \n-00010e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e10: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n-00010e20: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-00010e30: 6520 2036 290a 2a20 536f 636b 6574 5f45 e 6).* Socket_E\n-00010e40: 7272 6f72 3a20 2020 2020 2020 2020 2020 rror: \n-00010e50: 2020 2020 2020 2020 2020 2020 2020 2042 B\n-00010e60: 696e 6420 2870 726f 6365 6475 7265 292e ind (procedure).\n-00010e70: 2020 2020 2028 6c69 6e65 2033 3029 0a2a (line 30).*\n-00010e80: 2053 6f63 6b65 745f 4572 726f 7220 3c31 Socket_Error <1\n-00010e90: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00010ea0: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n-00010eb0: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n-00010ec0: 696e 6520 3237 290a 2a20 536f 636b 6574 ine 27).* Socket\n-00010ed0: 5f46 443a 2020 2020 2020 2020 2020 2020 _FD: \n-00010ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ef0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-00010f00: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-00010f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f40: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010f50: 6520 2036 290a 2a20 536f 636b 6574 5f46 e 6).* Socket_F\n-00010f60: 4420 3c31 3e3a 2020 2020 2020 2020 2020 D <1>: \n-00010f70: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00010f80: 6f63 6b65 7473 2070 6163 6b61 6765 2e20 ockets package. \n-00010f90: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-00010fa0: 2053 6f63 6b65 7473 2e41 6363 6570 745f Sockets.Accept_\n-00010fb0: 536f 636b 6574 3a20 2020 2020 2020 2020 Socket: \n-00010fc0: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n-00010fd0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00010fe0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00010ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011020: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n-00011030: 636b 6574 732e 4269 6e64 3a20 2020 2020 ckets.Bind: \n+00010d70: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11)\n+00010d80: 0a2a 2053 6f63 6b65 7473 2e42 696e 643a .* Sockets.Bind:\n+00010d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010da0: 2020 2020 2020 2020 2020 4269 6e64 2028 Bind (\n+00010db0: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+00010dc0: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n+00010dd0: 6574 732e 436f 6e6e 6563 743a 2020 2020 ets.Connect: \n+00010de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010df0: 2020 2043 6f6e 6e65 6374 2028 7072 6f63 Connect (proc\n+00010e00: 6564 7572 6529 2e20 2028 6c69 6e65 2031 edure). (line 1\n+00010e10: 3129 0a2a 2053 6f63 6b65 7473 2e47 6574 1).* Sockets.Get\n+00010e20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010e30: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n+00010e40: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+00010e50: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+00010e60: 636b 6574 732e 4765 745f 4368 6172 3a20 ckets.Get_Char: \n+00010e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e80: 2020 2020 2047 6574 5f43 6861 7220 2866 Get_Char (f\n+00010e90: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n+00010ea0: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47 11).* Sockets.G\n+00010eb0: 6574 5f4c 696e 653a 2020 2020 2020 2020 et_Line: \n+00010ec0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+00010ed0: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n+00010ee0: 292e 2020 286c 696e 6520 3132 290a 2a20 ). (line 12).* \n+00010ef0: 536f 636b 6574 732e 4765 745f 4c69 6e65 Sockets.Get_Line\n+00010f00: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00010f10: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line \n+00010f20: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+00010f30: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+00010f40: 2e47 6574 5f52 6563 6569 7665 5f51 7565 .Get_Receive_Que\n+00010f50: 7565 5f53 697a 653a 2020 2020 2020 2020 ue_Size: \n+00010f60: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n+00010f70: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+00010f80: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fc0: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n+00010fd0: 636b 6574 732e 4765 745f 5365 6e64 5f51 ckets.Get_Send_Q\n+00010fe0: 7565 7565 5f53 697a 653a 2020 2020 2020 ueue_Size: \n+00010ff0: 2020 2020 2047 6574 5f53 656e 645f 5175 Get_Send_Qu\n+00011000: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+00011010: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00011020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011030: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011050: 2020 2020 2042 696e 6420 2870 726f 6365 Bind (proce\n-00011060: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n-00011070: 2031 3129 0a2a 2053 6f63 6b65 7473 2e43 11).* Sockets.C\n-00011080: 6f6e 6e65 6374 3a20 2020 2020 2020 2020 onnect: \n-00011090: 2020 2020 2020 2020 2020 2020 2020 436f Co\n-000110a0: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n-000110b0: 292e 2020 286c 696e 6520 3131 290a 2a20 ). (line 11).* \n-000110c0: 536f 636b 6574 732e 4765 743a 2020 2020 Sockets.Get: \n-000110d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110e0: 2020 2020 2020 2047 6574 2028 6675 6e63 Get (func\n-000110f0: 7469 6f6e 292e 2020 2020 2020 2028 6c69 tion). (li\n-00011100: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n-00011110: 2e47 6574 5f43 6861 723a 2020 2020 2020 .Get_Char: \n-00011120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011130: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-00011140: 6f6e 292e 2020 286c 696e 6520 3131 290a on). (line 11).\n-00011150: 2a20 536f 636b 6574 732e 4765 745f 4c69 * Sockets.Get_Li\n-00011160: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n-00011170: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n-00011180: 6520 2866 756e 6374 696f 6e29 2e20 2028 e (function). (\n-00011190: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-000111a0: 7473 2e47 6574 5f4c 696e 6520 3c31 3e3a ts.Get_Line <1>:\n-000111b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000111c0: 2020 4765 745f 4c69 6e65 2028 7072 6f63 Get_Line (proc\n-000111d0: 6564 7572 6529 2e20 286c 696e 6520 3131 edure). (line 11\n-000111e0: 290a 2a20 536f 636b 6574 732e 4765 745f ).* Sockets.Get_\n-000111f0: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n-00011200: 7a65 3a20 2020 2020 2020 2047 6574 5f52 ze: Get_R\n-00011210: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-00011220: 6520 2866 756e 6374 696f 6e29 2e0a 2020 e (function).. \n-00011230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011050: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n+00011060: 536f 636b 6574 732e 4765 7473 6f63 6b6f Sockets.Getsocko\n+00011070: 7074 3a20 2020 2020 2020 2020 2020 2020 pt: \n+00011080: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+00011090: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+000110a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110d0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000110e0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+000110f0: 732e 4950 5f41 4444 5f4d 454d 4245 5253 s.IP_ADD_MEMBERS\n+00011100: 4849 503a 2020 2020 2020 2020 2020 2020 HIP: \n+00011110: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+00011120: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00011130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011160: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00011170: 290a 2a20 536f 636b 6574 732e 4950 5f41 ).* Sockets.IP_A\n+00011180: 4444 5f4d 454d 4245 5253 4849 5020 3c31 DD_MEMBERSHIP <1\n+00011190: 3e3a 2020 2020 2020 2020 2053 6574 736f >: Setso\n+000111a0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+000111b0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+000111c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111f0: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n+00011200: 636b 6574 732e 4950 5f44 524f 505f 4d45 ckets.IP_DROP_ME\n+00011210: 4d42 4552 5348 4950 3a20 2020 2020 2020 MBERSHIP: \n+00011220: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+00011230: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 00011240: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011260: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00011270: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n-00011280: 2e47 6574 5f53 656e 645f 5175 6575 655f .Get_Send_Queue_\n-00011290: 5369 7a65 3a20 2020 2020 2020 2020 2020 Size: \n-000112a0: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n-000112b0: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n-000112c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011270: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011280: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n+00011290: 4950 5f44 524f 505f 4d45 4d42 4552 5348 IP_DROP_MEMBERSH\n+000112a0: 4950 203c 313e 3a20 2020 2020 2020 2053 IP <1>: S\n+000112b0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+000112c0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n 000112d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000112e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000112f0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00011300: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-00011310: 7473 2e47 6574 736f 636b 6f70 743a 2020 ts.Getsockopt: \n-00011320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011330: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-00011340: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-00011350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011300: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+00011310: 2a20 536f 636b 6574 732e 4950 5f4d 554c * Sockets.IP_MUL\n+00011320: 5449 4341 5354 5f4c 4f4f 503a 2020 2020 TICAST_LOOP: \n+00011330: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00011340: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00011350: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00011360: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011380: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-00011390: 3229 0a2a 2053 6f63 6b65 7473 2e49 505f 2).* Sockets.IP_\n-000113a0: 4144 445f 4d45 4d42 4552 5348 4950 3a20 ADD_MEMBERSHIP: \n-000113b0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-000113c0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-000113d0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00011380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011390: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n+000113a0: 6574 732e 4950 5f4d 554c 5449 4341 5354 ets.IP_MULTICAST\n+000113b0: 5f4c 4f4f 5020 3c31 3e3a 2020 2020 2020 _LOOP <1>: \n+000113c0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+000113d0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n 000113e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000113f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011410: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-00011420: 6f63 6b65 7473 2e49 505f 4144 445f 4d45 ockets.IP_ADD_ME\n-00011430: 4d42 4552 5348 4950 203c 313e 3a20 2020 MBERSHIP <1>: \n-00011440: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n-00011450: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00011460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011410: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011420: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP\n+00011430: 5f4d 554c 5449 4341 5354 5f54 544c 3a20 _MULTICAST_TTL: \n+00011440: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+00011450: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00011460: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n 00011470: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011490: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000114a0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-000114b0: 2e49 505f 4452 4f50 5f4d 454d 4245 5253 .IP_DROP_MEMBERS\n-000114c0: 4849 503a 2020 2020 2020 2020 2020 2020 HIP: \n-000114d0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-000114e0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114a0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+000114b0: 536f 636b 6574 732e 4950 5f4d 554c 5449 Sockets.IP_MULTI\n+000114c0: 4341 5354 5f54 544c 203c 313e 3a20 2020 CAST_TTL <1>: \n+000114d0: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+000114e0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n 000114f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011500: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011520: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-00011530: 0a2a 2053 6f63 6b65 7473 2e49 505f 4452 .* Sockets.IP_DR\n-00011540: 4f50 5f4d 454d 4245 5253 4849 5020 3c31 OP_MEMBERSHIP <1\n-00011550: 3e3a 2020 2020 2020 2020 5365 7473 6f63 >: Setsoc\n-00011560: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00011570: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00011520: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011530: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n+00011540: 732e 4950 5052 4f54 4f5f 4950 3a20 2020 s.IPPROTO_IP: \n+00011550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011560: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+00011570: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 00011580: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011590: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000115a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115b0: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-000115c0: 6b65 7473 2e49 505f 4d55 4c54 4943 4153 kets.IP_MULTICAS\n-000115d0: 545f 4c4f 4f50 3a20 2020 2020 2020 2020 T_LOOP: \n-000115e0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n-000115f0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-00011600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115b0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+000115c0: 290a 2a20 536f 636b 6574 732e 4950 5052 ).* Sockets.IPPR\n+000115d0: 4f54 4f5f 4950 203c 313e 3a20 2020 2020 OTO_IP <1>: \n+000115e0: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+000115f0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00011600: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 00011610: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011630: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00011640: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n-00011650: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50 P_MULTICAST_LOOP\n-00011660: 203c 313e 3a20 2020 2020 2020 2020 5365 <1>: Se\n-00011670: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00011680: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-00011690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116c0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-000116d0: 2053 6f63 6b65 7473 2e49 505f 4d55 4c54 Sockets.IP_MULT\n-000116e0: 4943 4153 545f 5454 4c3a 2020 2020 2020 ICAST_TTL: \n-000116f0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n-00011700: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-00011710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011740: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00011750: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-00011760: 7473 2e49 505f 4d55 4c54 4943 4153 545f ts.IP_MULTICAST_\n-00011770: 5454 4c20 3c31 3e3a 2020 2020 2020 2020 TTL <1>: \n-00011780: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n-00011790: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00011630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011640: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n+00011650: 636b 6574 732e 4c69 7374 656e 3a20 2020 ckets.Listen: \n+00011660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011670: 2020 2020 204c 6973 7465 6e20 2870 726f Listen (pro\n+00011680: 6365 6475 7265 292e 2020 2028 6c69 6e65 cedure). (line\n+00011690: 2031 3129 0a2a 2053 6f63 6b65 7473 2e4d 11).* Sockets.M\n+000116a0: 756c 7469 6361 7374 2e43 7265 6174 655f ulticast.Create_\n+000116b0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+000116c0: 3a20 5365 7474 696e 6720 7570 206d 756c : Setting up mul\n+000116d0: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n+000116e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011710: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011720: 6c69 6e65 2031 3629 0a2a 2053 6f63 6b65 line 16).* Socke\n+00011730: 7473 2e4d 756c 7469 6361 7374 2e43 7265 ts.Multicast.Cre\n+00011740: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00011750: 636b 6574 203c 313e 3a20 4372 6561 7465 cket <1>: Create\n+00011760: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00011770: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. \n+00011780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011790: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000117a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117d0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-000117e0: 3029 0a2a 2053 6f63 6b65 7473 2e49 5050 0).* Sockets.IPP\n-000117f0: 524f 544f 5f49 503a 2020 2020 2020 2020 ROTO_IP: \n-00011800: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-00011810: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00011820: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+000117b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000117c0: 6e65 2031 3429 0a2a 2053 6f63 6b65 7473 ne 14).* Sockets\n+000117d0: 2e4d 756c 7469 6361 7374 2e43 7265 6174 .Multicast.Creat\n+000117e0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+000117f0: 6574 203c 323e 3a20 4372 6561 7465 5f4d et <2>: Create_M\n+00011800: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+00011810: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+00011820: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011830: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011860: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-00011870: 6f63 6b65 7473 2e49 5050 524f 544f 5f49 ockets.IPPROTO_I\n-00011880: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: \n-00011890: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n-000118a0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00011850: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011860: 2036 3829 0a2a 2053 6f63 6b65 7473 2e4e 68).* Sockets.N\n+00011870: 616d 696e 672e 4164 6472 6573 735f 4f66 aming.Address_Of\n+00011880: 3a20 2020 2020 2020 2020 2020 2020 4164 : Ad\n+00011890: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+000118a0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n 000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000118c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000118d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000118e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000118f0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00011900: 2e4c 6973 7465 6e3a 2020 2020 2020 2020 .Listen: \n-00011910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011920: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n-00011930: 6529 2e20 2020 286c 696e 6520 3131 290a e). (line 11).\n-00011940: 2a20 536f 636b 6574 732e 4d75 6c74 6963 * Sockets.Multic\n-00011950: 6173 742e 4372 6561 7465 5f4d 756c 7469 ast.Create_Multi\n-00011960: 6361 7374 5f53 6f63 6b65 743a 2053 6574 cast_Socket: Set\n-00011970: 7469 6e67 2075 7020 6d75 6c74 6963 6173 ting up multicas\n-00011980: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n-00011990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000119d0: 3136 290a 2a20 536f 636b 6574 732e 4d75 16).* Sockets.Mu\n-000119e0: 6c74 6963 6173 742e 4372 6561 7465 5f4d lticast.Create_M\n-000119f0: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n-00011a00: 3c31 3e3a 2043 7265 6174 655f 4d75 6c74 <1>: Create_Mult\n-00011a10: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-00011a20: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-00011a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118e0: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n+000118f0: 536f 636b 6574 732e 4e61 6d69 6e67 2e41 Sockets.Naming.A\n+00011900: 6e79 5f41 6464 7265 7373 3a20 2020 2020 ny_Address: \n+00011910: 2020 2020 2020 2041 6e79 5f41 6464 7265 Any_Addre\n+00011920: 7373 2028 6675 6e63 7469 6f6e 292e 0a20 ss (function).. \n+00011930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011960: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011970: 696e 6520 3130 290a 2a20 536f 636b 6574 ine 10).* Socket\n+00011980: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565 s.Naming.Get_Pee\n+00011990: 725f 4164 6472 3a20 2020 2020 2020 2020 r_Addr: \n+000119a0: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n+000119b0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+000119c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011a00: 3132 290a 2a20 536f 636b 6574 732e 4e61 12).* Sockets.Na\n+00011a10: 6d69 6e67 2e47 6574 5f50 6565 725f 506f ming.Get_Peer_Po\n+00011a20: 7274 3a20 2020 2020 2020 2020 2047 6574 rt: Get\n+00011a30: 5f50 6565 725f 506f 7274 2028 6675 6e63 _Peer_Port (func\n+00011a40: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 00011a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a60: 2020 2020 2020 2020 286c 696e 6520 3134 (line 14\n-00011a70: 290a 2a20 536f 636b 6574 732e 4d75 6c74 ).* Sockets.Mult\n-00011a80: 6963 6173 742e 4372 6561 7465 5f4d 756c icast.Create_Mul\n-00011a90: 7469 6361 7374 5f53 6f63 6b65 7420 3c32 ticast_Socket <2\n-00011aa0: 3e3a 2043 7265 6174 655f 4d75 6c74 6963 >: Create_Multic\n-00011ab0: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-00011ac0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n-00011ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a80: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n+00011a90: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n+00011aa0: 2e47 6574 5f53 6f63 6b5f 4164 6472 3a20 .Get_Sock_Addr: \n+00011ab0: 2020 2020 2020 2020 2047 6574 5f53 6f63 Get_Soc\n+00011ac0: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function\n+00011ad0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 00011ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011b00: 2020 2020 2020 286c 696e 6520 3736 290a (line 76).\n-00011b10: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n-00011b20: 2e41 6464 7265 7373 5f4f 663a 2020 2020 .Address_Of: \n-00011b30: 2020 2020 2020 2020 2041 6464 7265 7373 Address\n-00011b40: 5f4f 6620 2866 756e 6374 696f 6e29 2e0a _Of (function)..\n-00011b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b10: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n+00011b20: 636b 6574 732e 4e61 6d69 6e67 2e47 6574 ckets.Naming.Get\n+00011b30: 5f53 6f63 6b5f 506f 7274 3a20 2020 2020 _Sock_Port: \n+00011b40: 2020 2020 2047 6574 5f53 6f63 6b5f 506f Get_Sock_Po\n+00011b50: 7274 2028 6675 6e63 7469 6f6e 292e 0a20 rt (function).. \n 00011b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011b80: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00011b90: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-00011ba0: 7473 2e4e 616d 696e 672e 416e 795f 4164 ts.Naming.Any_Ad\n-00011bb0: 6472 6573 733a 2020 2020 2020 2020 2020 dress: \n-00011bc0: 2020 416e 795f 4164 6472 6573 7320 2866 Any_Address (f\n-00011bd0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-00011be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011c10: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-00011c20: 3029 0a2a 2053 6f63 6b65 7473 2e4e 616d 0).* Sockets.Nam\n-00011c30: 696e 672e 4765 745f 5065 6572 5f41 6464 ing.Get_Peer_Add\n-00011c40: 723a 2020 2020 2020 2020 2020 4765 745f r: Get_\n-00011c50: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n-00011c60: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n-00011c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b90: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011ba0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+00011bb0: 732e 4e61 6d69 6e67 2e48 6f73 745f 4e61 s.Naming.Host_Na\n+00011bc0: 6d65 3a20 2020 2020 2020 2020 2020 2020 me: \n+00011bd0: 2048 6f73 745f 4e61 6d65 2028 6675 6e63 Host_Name (func\n+00011be0: 7469 6f6e 292e 2028 6c69 6e65 2031 3029 tion). (line 10)\n+00011bf0: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n+00011c00: 672e 496d 6167 653a 2020 2020 2020 2020 g.Image: \n+00011c10: 2020 2020 2020 2020 2020 496d 6167 6520 Image \n+00011c20: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+00011c30: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n+00011c40: 6574 732e 4e61 6d69 6e67 2e49 6e66 6f5f ets.Naming.Info_\n+00011c50: 4f66 5f4e 616d 655f 4f72 5f49 503a 2020 Of_Name_Or_IP: \n+00011c60: 2020 2049 6e66 6f5f 4f66 5f4e 616d 655f Info_Of_Name_\n+00011c70: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function)\n+00011c80: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00011c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ca0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n-00011cb0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-00011cc0: 4765 745f 5065 6572 5f50 6f72 743a 2020 Get_Peer_Port: \n-00011cd0: 2020 2020 2020 2020 4765 745f 5065 6572 Get_Peer\n-00011ce0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n-00011cf0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00011d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cc0: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00011cd0: 6b65 7473 2e4e 616d 696e 672e 4973 5f49 kets.Naming.Is_I\n+00011ce0: 505f 4164 6472 6573 733a 2020 2020 2020 P_Address: \n+00011cf0: 2020 2020 4973 5f49 505f 4164 6472 6573 Is_IP_Addres\n+00011d00: 7320 2866 756e 6374 696f 6e29 2e0a 2020 s (function).. \n 00011d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d30: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n-00011d40: 6b65 7473 2e4e 616d 696e 672e 4765 745f kets.Naming.Get_\n-00011d50: 536f 636b 5f41 6464 723a 2020 2020 2020 Sock_Addr: \n-00011d60: 2020 2020 4765 745f 536f 636b 5f41 6464 Get_Sock_Add\n-00011d70: 7220 2866 756e 6374 696f 6e29 2e0a 2020 r (function).. \n-00011d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011db0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00011dc0: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n-00011dd0: 2e4e 616d 696e 672e 4765 745f 536f 636b .Naming.Get_Sock\n-00011de0: 5f50 6f72 743a 2020 2020 2020 2020 2020 _Port: \n-00011df0: 4765 745f 536f 636b 5f50 6f72 7420 2866 Get_Sock_Port (f\n-00011e00: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-00011e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e40: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-00011e50: 3229 0a2a 2053 6f63 6b65 7473 2e4e 616d 2).* Sockets.Nam\n-00011e60: 696e 672e 486f 7374 5f4e 616d 653a 2020 ing.Host_Name: \n-00011e70: 2020 2020 2020 2020 2020 2020 486f 7374 Host\n-00011e80: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n-00011e90: 2e20 286c 696e 6520 3130 290a 2a20 536f . (line 10).* So\n-00011ea0: 636b 6574 732e 4e61 6d69 6e67 2e49 6d61 ckets.Naming.Ima\n-00011eb0: 6765 3a20 2020 2020 2020 2020 2020 2020 ge: \n-00011ec0: 2020 2020 2049 6d61 6765 2028 6675 6e63 Image (func\n-00011ed0: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n-00011ee0: 2031 3129 0a2a 2053 6f63 6b65 7473 2e4e 11).* Sockets.N\n-00011ef0: 616d 696e 672e 496e 666f 5f4f 665f 4e61 aming.Info_Of_Na\n-00011f00: 6d65 5f4f 725f 4950 3a20 2020 2020 496e me_Or_IP: In\n-00011f10: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n-00011f20: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-00011f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f60: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00011f70: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n-00011f80: 4e61 6d69 6e67 2e49 735f 4950 5f41 6464 Naming.Is_IP_Add\n-00011f90: 7265 7373 3a20 2020 2020 2020 2020 2049 ress: I\n-00011fa0: 735f 4950 5f41 6464 7265 7373 2028 6675 s_IP_Address (fu\n-00011fb0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+00011d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d40: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011d50: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n+00011d60: 2e4e 616d 696e 672e 4e61 6d65 5f4f 663a .Naming.Name_Of:\n+00011d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d80: 4e61 6d65 5f4f 6620 2866 756e 6374 696f Name_Of (functio\n+00011d90: 6e29 2e20 2020 286c 696e 6520 3131 290a n). (line 11).\n+00011da0: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n+00011db0: 2e56 616c 7565 3a20 2020 2020 2020 2020 .Value: \n+00011dc0: 2020 2020 2020 2020 2056 616c 7565 2028 Value (\n+00011dd0: 6675 6e63 7469 6f6e 292e 2020 2020 2028 function). (\n+00011de0: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n+00011df0: 7473 2e4e 6577 5f4c 696e 653a 2020 2020 ts.New_Line: \n+00011e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e10: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc\n+00011e20: 6564 7572 6529 2e20 286c 696e 6520 3131 edure). (line 11\n+00011e30: 290a 2a20 536f 636b 6574 732e 5075 743a ).* Sockets.Put:\n+00011e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e50: 2020 2020 2020 2020 2020 2050 7574 2028 Put (\n+00011e60: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+00011e70: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n+00011e80: 6b65 7473 2e50 7574 5f4c 696e 653a 2020 kets.Put_Line: \n+00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ea0: 2020 2020 5075 745f 4c69 6e65 2028 7072 Put_Line (pr\n+00011eb0: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+00011ec0: 3131 290a 2a20 536f 636b 6574 732e 5265 11).* Sockets.Re\n+00011ed0: 6365 6976 653a 2020 2020 2020 2020 2020 ceive: \n+00011ee0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+00011ef0: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n+00011f00: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011f10: 6f63 6b65 7473 2e52 6563 6569 7665 203c ockets.Receive <\n+00011f20: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00011f30: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p\n+00011f40: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+00011f50: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+00011f60: 5265 6365 6976 655f 536f 6d65 3a20 2020 Receive_Some: \n+00011f70: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+00011f80: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+00011f90: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00011fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ff0: 2020 2020 2020 2020 286c 696e 6520 3132 (line 12\n-00012000: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n-00012010: 6e67 2e4e 616d 655f 4f66 3a20 2020 2020 ng.Name_Of: \n-00012020: 2020 2020 2020 2020 2020 204e 616d 655f Name_\n-00012030: 4f66 2028 6675 6e63 7469 6f6e 292e 2020 Of (function). \n-00012040: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n-00012050: 6b65 7473 2e4e 616d 696e 672e 5661 6c75 kets.Naming.Valu\n-00012060: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-00012070: 2020 2020 5661 6c75 6520 2866 756e 6374 Value (funct\n-00012080: 696f 6e29 2e20 2020 2020 286c 696e 6520 ion). (line \n-00012090: 3131 290a 2a20 536f 636b 6574 732e 4e65 11).* Sockets.Ne\n-000120a0: 775f 4c69 6e65 3a20 2020 2020 2020 2020 w_Line: \n-000120b0: 2020 2020 2020 2020 2020 2020 204e 6577 New\n-000120c0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-000120d0: 292e 2028 6c69 6e65 2031 3129 0a2a 2053 ). (line 11).* S\n-000120e0: 6f63 6b65 7473 2e50 7574 3a20 2020 2020 ockets.Put: \n-000120f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012100: 2020 2020 2020 5075 7420 2870 726f 6365 Put (proce\n-00012110: 6475 7265 292e 2020 2020 2020 286c 696e dure). (lin\n-00012120: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n-00012130: 5075 745f 4c69 6e65 3a20 2020 2020 2020 Put_Line: \n-00012140: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-00012150: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n-00012160: 7265 292e 2028 6c69 6e65 2031 3129 0a2a re). (line 11).*\n-00012170: 2053 6f63 6b65 7473 2e52 6563 6569 7665 Sockets.Receive\n-00012180: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012190: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n-000121a0: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n-000121b0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n-000121c0: 732e 5265 6365 6976 6520 3c31 3e3a 2020 s.Receive <1>: \n+00011fd0: 2020 2020 2020 2020 286c 696e 6520 3133 (line 13\n+00011fe0: 290a 2a20 536f 636b 6574 732e 5365 6e64 ).* Sockets.Send\n+00011ff0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012000: 2020 2020 2020 2020 2020 2053 656e 6420 Send \n+00012010: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+00012020: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n+00012030: 6b65 7473 2e53 6574 5f42 7566 6665 723a kets.Set_Buffer:\n+00012040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012050: 2020 2020 5365 745f 4275 6666 6572 2028 Set_Buffer (\n+00012060: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00012070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000120b0: 2031 3129 0a2a 2053 6f63 6b65 7473 2e53 11).* Sockets.S\n+000120c0: 6574 736f 636b 6f70 743a 2020 2020 2020 etsockopt: \n+000120d0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+000120e0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+000120f0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+00012100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012130: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n+00012140: 2053 6f63 6b65 7473 2e53 6875 7464 6f77 Sockets.Shutdow\n+00012150: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+00012160: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n+00012170: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+00012180: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+00012190: 732e 534f 5f52 4356 4255 463a 2020 2020 s.SO_RCVBUF: \n+000121a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121b0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+000121c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 000121d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121e0: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-000121f0: 7572 6529 2e20 2028 6c69 6e65 2031 3129 ure). (line 11)\n-00012200: 0a2a 2053 6f63 6b65 7473 2e52 6563 6569 .* Sockets.Recei\n-00012210: 7665 5f53 6f6d 653a 2020 2020 2020 2020 ve_Some: \n-00012220: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-00012230: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-00012240: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-00012250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012200: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00012210: 290a 2a20 536f 636b 6574 732e 534f 5f52 ).* Sockets.SO_R\n+00012220: 4356 4255 4620 3c31 3e3a 2020 2020 2020 CVBUF <1>: \n+00012230: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+00012240: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00012250: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 00012260: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012280: 2020 2028 6c69 6e65 2031 3329 0a2a 2053 (line 13).* S\n-00012290: 6f63 6b65 7473 2e53 656e 643a 2020 2020 ockets.Send: \n-000122a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000122b0: 2020 2020 2020 5365 6e64 2028 7072 6f63 Send (proc\n-000122c0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n-000122d0: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n-000122e0: 5365 745f 4275 6666 6572 3a20 2020 2020 Set_Buffer: \n-000122f0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00012300: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n-00012310: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-00012320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012350: 2020 2020 2020 286c 696e 6520 3131 290a (line 11).\n-00012360: 2a20 536f 636b 6574 732e 5365 7473 6f63 * Sockets.Setsoc\n-00012370: 6b6f 7074 3a20 2020 2020 2020 2020 2020 kopt: \n-00012380: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-00012390: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-000123a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000123b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000123c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000123d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000123e0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n-000123f0: 6574 732e 5368 7574 646f 776e 3a20 2020 ets.Shutdown: \n+00012280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012290: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n+000122a0: 636b 6574 732e 534f 5f52 4555 5345 4144 ckets.SO_REUSEAD\n+000122b0: 4452 3a20 2020 2020 2020 2020 2020 2020 DR: \n+000122c0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+000122d0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+000122e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012310: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012320: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n+00012330: 534f 5f52 4555 5345 4144 4452 203c 313e SO_REUSEADDR <1>\n+00012340: 3a20 2020 2020 2020 2020 2020 2020 2053 : S\n+00012350: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00012360: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00012370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123a0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+000123b0: 2a20 536f 636b 6574 732e 534f 5f52 4555 * Sockets.SO_REU\n+000123c0: 5345 504f 5254 3a20 2020 2020 2020 2020 SEPORT: \n+000123d0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+000123e0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+000123f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00012400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012410: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro\n-00012420: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n-00012430: 3129 0a2a 2053 6f63 6b65 7473 2e53 4f5f 1).* Sockets.SO_\n-00012440: 5243 5642 5546 3a20 2020 2020 2020 2020 RCVBUF: \n-00012450: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-00012460: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00012470: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00012410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012430: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n+00012440: 6574 732e 534f 5f52 4555 5345 504f 5254 ets.SO_REUSEPORT\n+00012450: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00012460: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00012470: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n 00012480: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012490: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000124a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000124b0: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-000124c0: 6f63 6b65 7473 2e53 4f5f 5243 5642 5546 ockets.SO_RCVBUF\n-000124d0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-000124e0: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n-000124f0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00012500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000124c0: 3230 290a 2a20 536f 636b 6574 732e 534f 20).* Sockets.SO\n+000124d0: 5f53 4e44 4255 463a 2020 2020 2020 2020 _SNDBUF: \n+000124e0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+000124f0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00012500: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n 00012510: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012530: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00012540: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00012550: 2e53 4f5f 5245 5553 4541 4444 523a 2020 .SO_REUSEADDR: \n-00012560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012570: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-00012580: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012540: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+00012550: 536f 636b 6574 732e 534f 5f53 4e44 4255 Sockets.SO_SNDBU\n+00012560: 4620 3c31 3e3a 2020 2020 2020 2020 2020 F <1>: \n+00012570: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00012580: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n 00012590: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000125a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000125b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000125c0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-000125d0: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5245 .* Sockets.SO_RE\n-000125e0: 5553 4541 4444 5220 3c31 3e3a 2020 2020 USEADDR <1>: \n-000125f0: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n-00012600: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00012610: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000125c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000125d0: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n+000125e0: 732e 536f 636b 6574 3a20 2020 2020 2020 s.Socket: \n+000125f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012600: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+00012610: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n 00012620: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012630: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012650: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-00012660: 6b65 7473 2e53 4f5f 5245 5553 4550 4f52 kets.SO_REUSEPOR\n-00012670: 543a 2020 2020 2020 2020 2020 2020 2020 T: \n-00012680: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n-00012690: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-000126a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000126b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000126c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000126d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000126e0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n-000126f0: 4f5f 5245 5553 4550 4f52 5420 3c31 3e3a O_REUSEPORT <1>:\n-00012700: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00012710: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00012720: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-00012730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012760: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00012770: 2053 6f63 6b65 7473 2e53 4f5f 534e 4442 Sockets.SO_SNDB\n-00012780: 5546 3a20 2020 2020 2020 2020 2020 2020 UF: \n-00012790: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n-000127a0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-000127b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000127c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000127d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000127e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-000127f0: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-00012800: 7473 2e53 4f5f 534e 4442 5546 203c 313e ts.SO_SNDBUF <1>\n-00012810: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012820: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n-00012830: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-00012840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012650: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012660: 6520 2036 290a 2a20 536f 636b 6574 732e e 6).* Sockets.\n+00012670: 536f 636b 6574 203c 313e 3a20 2020 2020 Socket <1>: \n+00012680: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012690: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+000126a0: 292e 2020 2028 6c69 6e65 2031 3229 0a2a ). (line 12).*\n+000126b0: 2053 6f63 6b65 7473 2e53 4f4c 5f53 4f43 Sockets.SOL_SOC\n+000126c0: 4b45 543a 2020 2020 2020 2020 2020 2020 KET: \n+000126d0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+000126e0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012720: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012730: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n+00012740: 7473 2e53 4f4c 5f53 4f43 4b45 5420 3c31 ts.SOL_SOCKET <1\n+00012750: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00012760: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00012770: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00012780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127b0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+000127c0: 3029 0a2a 2053 6f63 6b65 7473 2e55 6e73 0).* Sockets.Uns\n+000127d0: 6574 5f42 7566 6665 723a 2020 2020 2020 et_Buffer: \n+000127e0: 2020 2020 2020 2020 2020 2020 556e 7365 Unse\n+000127f0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00012800: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+00012810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012840: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n+00012850: 2053 4f4c 5f53 4f43 4b45 543a 2020 2020 SOL_SOCKET: \n 00012860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012870: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-00012880: 3029 0a2a 2053 6f63 6b65 7473 2e53 6f63 0).* Sockets.Soc\n-00012890: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n-000128a0: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n-000128b0: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n-000128c0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n-000128d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000128e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012870: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+00012880: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00012890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128c0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000128d0: 6c69 6e65 2032 3029 0a2a 2053 4f4c 5f53 line 20).* SOL_S\n+000128e0: 4f43 4b45 5420 3c31 3e3a 2020 2020 2020 OCKET <1>: \n 000128f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012900: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-00012910: 0a2a 2053 6f63 6b65 7473 2e53 6f63 6b65 .* Sockets.Socke\n-00012920: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n-00012930: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-00012940: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-00012950: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n-00012960: 6574 732e 534f 4c5f 534f 434b 4554 3a20 ets.SOL_SOCKET: \n-00012970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012980: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-00012990: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-000129a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012900: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00012910: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00012920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012950: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00012960: 3029 0a2a 2053 7472 6561 6d5f 456c 656d 0).* Stream_Elem\n+00012970: 656e 745f 4172 7261 793a 2020 2020 2020 ent_Array: \n+00012980: 2020 2020 2020 2020 2020 2020 5261 7720 Raw \n+00012990: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n+000129a0: 6e2e 0a20 2020 2020 2020 2020 2020 2020 n.. \n 000129b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000129c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000129d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000129e0: 3230 290a 2a20 536f 636b 6574 732e 534f 20).* Sockets.SO\n-000129f0: 4c5f 534f 434b 4554 203c 313e 3a20 2020 L_SOCKET <1>: \n-00012a00: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00012a10: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00012a20: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-00012a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012a60: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-00012a70: 536f 636b 6574 732e 556e 7365 745f 4275 Sockets.Unset_Bu\n-00012a80: 6666 6572 3a20 2020 2020 2020 2020 2020 ffer: \n-00012a90: 2020 2020 2020 2055 6e73 6574 5f42 7566 Unset_Buf\n-00012aa0: 6665 7220 2870 726f 6365 6475 7265 292e fer (procedure).\n-00012ab0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00012ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129e0: 2020 286c 696e 6520 2036 290a 2a20 5374 (line 6).* St\n+000129f0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n+00012a00: 6179 203c 313e 3a20 2020 2020 2020 2020 ay <1>: \n+00012a10: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu\n+00012a20: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n+00012a30: 2032 3229 0a2a 2053 7472 6561 6d5f 456c 22).* Stream_El\n+00012a40: 656d 656e 745f 4172 7261 7920 3c32 3e3a ement_Array <2>:\n+00012a50: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00012a60: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00012a70: 292e 2020 286c 696e 6520 3138 290a 2a20 ). (line 18).* \n+00012a80: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00012a90: 7272 6179 203c 333e 3a20 2020 2020 2020 rray <3>: \n+00012aa0: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S\n+00012ab0: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure).\n+00012ac0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00012ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012af0: 286c 696e 6520 3131 290a 2a20 534f 4c5f (line 11).* SOL_\n-00012b00: 534f 434b 4554 3a20 2020 2020 2020 2020 SOCKET: \n-00012b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012b20: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-00012b30: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-00012b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012b70: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00012b80: 3230 290a 2a20 534f 4c5f 534f 434b 4554 20).* SOL_SOCKET\n-00012b90: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00012ba0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00012bb0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00012bc0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-00012bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b00: 286c 696e 6520 3231 290a 2a20 5374 7265 (line 21).* Stre\n+00012b10: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n+00012b20: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n+00012b30: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu\n+00012b40: 7265 292e 2020 2020 2028 6c69 6e65 2031 re). (line 1\n+00012b50: 3729 0a2a 2053 7472 6561 6d5f 456c 656d 7).* Stream_Elem\n+00012b60: 656e 745f 436f 756e 743a 2020 2020 2020 ent_Count: \n+00012b70: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n+00012b80: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). \n+00012b90: 2020 286c 696e 6520 3232 290a 2a20 5374 (line 22).* St\n+00012ba0: 7265 616d 5f45 6c65 6d65 6e74 5f43 6f75 ream_Element_Cou\n+00012bb0: 6e74 203c 313e 3a20 2020 2020 2020 2020 nt <1>: \n+00012bc0: 2020 2020 2052 6563 6569 7665 5f53 6f6d Receive_Som\n+00012bd0: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. \n 00012be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c00: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-00012c10: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n-00012c20: 7272 6179 3a20 2020 2020 2020 2020 2020 rray: \n-00012c30: 2020 2020 2020 2052 6177 2064 6174 6120 Raw data \n-00012c40: 6d61 6e69 7075 6c61 7469 6f6e 2e0a 2020 manipulation.. \n-00012c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c10: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00012c20: 696e 6520 3231 290a 2a20 5374 7269 6e67 ine 21).* String\n+00012c30: 5f41 6363 6573 733a 2020 2020 2020 2020 _Access: \n+00012c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c50: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+00012c60: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \n 00012c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c80: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00012c90: 6e65 2020 3629 0a2a 2053 7472 6561 6d5f ne 6).* Stream_\n-00012ca0: 456c 656d 656e 745f 4172 7261 7920 3c31 Element_Array <1\n-00012cb0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00012cc0: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-00012cd0: 6e29 2e20 2020 286c 696e 6520 3232 290a n). (line 22).\n-00012ce0: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element\n-00012cf0: 5f41 7272 6179 203c 323e 3a20 2020 2020 _Array <2>: \n-00012d00: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n-00012d10: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n-00012d20: 6c69 6e65 2031 3829 0a2a 2053 7472 6561 line 18).* Strea\n-00012d30: 6d5f 456c 656d 656e 745f 4172 7261 7920 m_Element_Array \n-00012d40: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n-00012d50: 2020 5265 6365 6976 655f 536f 6d65 2028 Receive_Some (\n-00012d60: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-00012d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ca0: 2020 2020 2020 2020 286c 696e 6520 3334 (line 34\n+00012cb0: 290a 2a20 5374 7269 6e67 5f41 7272 6179 ).* String_Array\n+00012cc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012cd0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+00012ce0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+00012cf0: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n+00012d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d30: 2020 286c 696e 6520 3337 290a 2a20 5375 (line 37).* Su\n+00012d40: 6767 6573 7469 6e67 2061 2066 6561 7475 ggesting a featu\n+00012d50: 7265 3a20 2020 2020 2020 2020 2020 2020 re: \n+00012d60: 2020 2020 2052 6573 6f75 7263 6573 206f Resources o\n+00012d70: 6e20 7468 6520 496e 7465 726e 6574 2e0a n the Internet..\n 00012d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012da0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00012db0: 2032 3129 0a2a 2053 7472 6561 6d5f 456c 21).* Stream_El\n-00012dc0: 656d 656e 745f 4172 7261 7920 3c34 3e3a ement_Array <4>:\n-00012dd0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00012de0: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-00012df0: 2020 2020 286c 696e 6520 3137 290a 2a20 (line 17).* \n-00012e00: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n-00012e10: 6f75 6e74 3a20 2020 2020 2020 2020 2020 ount: \n-00012e20: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n-00012e30: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n-00012e40: 6e65 2032 3229 0a2a 2053 7472 6561 6d5f ne 22).* Stream_\n-00012e50: 456c 656d 656e 745f 436f 756e 7420 3c31 Element_Count <1\n-00012e60: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00012e70: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-00012e80: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-00012e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012db0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012dc0: 6c69 6e65 2020 3629 0a2a 2054 4350 2073 line 6).* TCP s\n+00012dd0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n+00012de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012df0: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni\n+00012e00: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n+00012e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e40: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00012e50: 6e65 2020 3629 0a2a 2055 4450 2073 6f63 ne 6).* UDP soc\n+00012e60: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+00012e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e80: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+00012e90: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n 00012ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012ec0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-00012ed0: 3129 0a2a 2053 7472 696e 675f 4163 6365 1).* String_Acce\n-00012ee0: 7373 3a20 2020 2020 2020 2020 2020 2020 ss: \n-00012ef0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n-00012f00: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n-00012f10: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. \n-00012f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ed0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012ee0: 2020 3629 0a2a 2055 6e69 6361 7374 2073 6).* Unicast s\n+00012ef0: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n+00012f00: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+00012f10: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n+00012f20: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n 00012f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012f50: 2020 2028 6c69 6e65 2033 3429 0a2a 2053 (line 34).* S\n-00012f60: 7472 696e 675f 4172 7261 793a 2020 2020 tring_Array: \n-00012f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012f80: 2020 2020 2020 536f 636b 6574 732e 4e61 Sockets.Na\n-00012f90: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020 ming package.. \n-00012fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f60: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00012f70: 3629 0a2a 2055 6e73 6574 5f42 7566 6665 6).* Unset_Buffe\n+00012f80: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+00012f90: 2020 2020 2020 2020 2020 2020 556e 7365 Unse\n+00012fa0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00012fb0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00012fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012fd0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00012fe0: 6e65 2033 3729 0a2a 2053 7567 6765 7374 ne 37).* Suggest\n-00012ff0: 696e 6720 6120 6665 6174 7572 653a 2020 ing a feature: \n-00013000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013010: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n-00013020: 2049 6e74 6572 6e65 742e 0a20 2020 2020 Internet.. \n-00013030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013060: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00013070: 2036 290a 2a20 5443 5020 736f 636b 6574 6).* TCP socket\n-00013080: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00013090: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-000130a0: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n-000130b0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n-000130c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000130d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000130e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000130f0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-00013100: 290a 2a20 5544 5020 736f 636b 6574 3a20 ).* UDP socket: \n-00013110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013120: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-00013130: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n-00013140: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n-00013150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013180: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-00013190: 2a20 556e 6963 6173 7420 736f 636b 6574 * Unicast socket\n-000131a0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-000131b0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-000131c0: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n-000131d0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n-000131e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000131f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013210: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-00013220: 556e 7365 745f 4275 6666 6572 3a20 2020 Unset_Buffer: \n-00013230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013240: 2020 2020 2020 2055 6e73 6574 5f42 7566 Unset_Buf\n-00013250: 6665 7220 2870 726f 6365 6475 7265 292e fer (procedure).\n-00013260: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00013270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000132a0: 286c 696e 6520 2039 290a 2a20 5661 6c75 (line 9).* Valu\n-000132b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-000132c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000132d0: 2020 2056 616c 7565 2028 6675 6e63 7469 Value (functi\n-000132e0: 6f6e 292e 2020 2020 2028 6c69 6e65 2020 on). (line \n-000132f0: 3929 0a0a 0a1f 0a54 6167 2054 6162 6c65 9).....Tag Table\n-00013300: 3a0a 4e6f 6465 3a20 546f 707f 3831 360a :.Node: Top.816.\n-00013310: 4e6f 6465 3a20 5768 6174 2069 7320 4164 Node: What is Ad\n-00013320: 6153 6f63 6b65 7473 3f7f 3133 3839 0a4e aSockets?.1389.N\n-00013330: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing \n-00013340: 4164 6153 6f63 6b65 7473 7f32 3239 300a AdaSockets.2290.\n-00013350: 4e6f 6465 3a20 5573 696e 6720 4164 6153 Node: Using AdaS\n-00013360: 6f63 6b65 7473 7f33 3239 370a 4e6f 6465 ockets.3297.Node\n-00013370: 3a20 436f 6d70 696c 696e 6720 616e 2041 : Compiling an A\n-00013380: 6461 2061 7070 6c69 6361 7469 6f6e 7f33 da application.3\n-00013390: 3538 380a 4e6f 6465 3a20 5365 7474 696e 588.Node: Settin\n-000133a0: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n-000133b0: 6b65 7473 7f34 3233 350a 4e6f 6465 3a20 kets.4235.Node: \n-000133c0: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-000133d0: 6361 7374 2073 6f63 6b65 7473 7f35 3534 cast sockets.554\n-000133e0: 390a 4e6f 6465 3a20 5365 6e64 696e 6720 9.Node: Sending \n-000133f0: 616e 6420 7265 6365 6976 696e 6720 6461 and receiving da\n-00013400: 7461 7f36 3930 320a 4e6f 6465 3a20 5261 ta.6902.Node: Ra\n-00013410: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat\n-00013420: 696f 6e7f 3732 3634 0a4e 6f64 653a 2053 ion.7264.Node: S\n-00013430: 7472 696e 672d 6f72 6965 6e74 6564 2065 tring-oriented e\n-00013440: 7863 6861 6e67 6573 7f37 3637 320a 4e6f xchanges.7672.No\n-00013450: 6465 3a20 536f 636b 6574 7320 7061 636b de: Sockets pack\n-00013460: 6167 657f 3838 3035 0a4e 6f64 653a 2041 age.8805.Node: A\n-00013470: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00013480: 6f63 6564 7572 6529 7f31 3130 3839 0a4e ocedure).11089.N\n-00013490: 6f64 653a 2042 696e 6420 2870 726f 6365 ode: Bind (proce\n-000134a0: 6475 7265 297f 3133 3439 360a 4e6f 6465 dure).13496.Node\n-000134b0: 3a20 436f 6e6e 6563 7420 2870 726f 6365 : Connect (proce\n-000134c0: 6475 7265 297f 3134 3737 330a 4e6f 6465 dure).14773.Node\n-000134d0: 3a20 4765 7420 2866 756e 6374 696f 6e29 : Get (function)\n-000134e0: 7f31 3631 3636 0a4e 6f64 653a 2047 6574 .16166.Node: Get\n-000134f0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n-00013500: 7f31 3733 3635 0a4e 6f64 653a 2047 6574 .17365.Node: Get\n-00013510: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n-00013520: 7f31 3832 3330 0a4e 6f64 653a 2047 6574 .18230.Node: Get\n-00013530: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-00013540: 297f 3139 3534 310a 4e6f 6465 3a20 4765 ).19541.Node: Ge\n-00013550: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n-00013560: 5369 7a65 2028 6675 6e63 7469 6f6e 297f Size (function).\n-00013570: 3230 3731 300a 4e6f 6465 3a20 4765 745f 20710.Node: Get_\n-00013580: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n-00013590: 2866 756e 6374 696f 6e29 7f32 3135 3738 (function).21578\n-000135a0: 0a4e 6f64 653a 2047 6574 736f 636b 6f70 .Node: Getsockop\n-000135b0: 7420 2870 726f 6365 6475 7265 297f 3232 t (procedure).22\n-000135c0: 3433 350a 4e6f 6465 3a20 4c69 7374 656e 435.Node: Listen\n-000135d0: 2028 7072 6f63 6564 7572 6529 7f32 3338 (procedure).238\n-000135e0: 3032 0a4e 6f64 653a 204e 6577 5f4c 696e 02.Node: New_Lin\n-000135f0: 6520 2870 726f 6365 6475 7265 297f 3234 e (procedure).24\n-00013600: 3637 380a 4e6f 6465 3a20 5075 7420 2870 678.Node: Put (p\n-00013610: 726f 6365 6475 7265 297f 3235 3430 340a rocedure).25404.\n-00013620: 4e6f 6465 3a20 5075 745f 4c69 6e65 2028 Node: Put_Line (\n-00013630: 7072 6f63 6564 7572 6529 7f32 3631 3339 procedure).26139\n-00013640: 0a4e 6f64 653a 2052 6563 6569 7665 2028 .Node: Receive (\n-00013650: 6675 6e63 7469 6f6e 297f 3236 3932 390a function).26929.\n-00013660: 4e6f 6465 3a20 5265 6365 6976 6520 2870 Node: Receive (p\n-00013670: 726f 6365 6475 7265 297f 3238 3134 320a rocedure).28142.\n-00013680: 4e6f 6465 3a20 5265 6365 6976 655f 536f Node: Receive_So\n-00013690: 6d65 2028 7072 6f63 6564 7572 6529 7f32 me (procedure).2\n-000136a0: 3931 3733 0a4e 6f64 653a 2053 656e 6420 9173.Node: Send \n-000136b0: 2870 726f 6365 6475 7265 297f 3330 3336 (procedure).3036\n-000136c0: 340a 4e6f 6465 3a20 5365 745f 4275 6666 4.Node: Set_Buff\n-000136d0: 6572 2028 7072 6f63 6564 7572 6529 7f33 er (procedure).3\n-000136e0: 3131 3037 0a4e 6f64 653a 2053 6574 736f 1107.Node: Setso\n-000136f0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00013700: 297f 3332 3332 300a 4e6f 6465 3a20 5368 ).32320.Node: Sh\n-00013710: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n-00013720: 6529 7f33 3336 3637 0a4e 6f64 653a 2053 e).33667.Node: S\n-00013730: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00013740: 297f 3334 3331 370a 4e6f 6465 3a20 556e ).34317.Node: Un\n-00013750: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n-00013760: 6564 7572 6529 7f33 3537 3037 0a4e 6f64 edure).35707.Nod\n-00013770: 653a 2053 6f63 6b65 7473 2e4d 756c 7469 e: Sockets.Multi\n-00013780: 6361 7374 2070 6163 6b61 6765 7f33 3634 cast package.364\n-00013790: 3036 0a4e 6f64 653a 2043 7265 6174 655f 06.Node: Create_\n-000137a0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-000137b0: 2028 6675 6e63 7469 6f6e 297f 3337 3235 (function).3725\n-000137c0: 320a 4e6f 6465 3a20 536f 636b 6574 732e 2.Node: Sockets.\n-000137d0: 4e61 6d69 6e67 2070 6163 6b61 6765 7f34 Naming package.4\n-000137e0: 3132 3735 0a4e 6f64 653a 2041 6464 7265 1275.Node: Addre\n-000137f0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n-00013800: 7f34 3338 3032 0a4e 6f64 653a 2041 6e79 .43802.Node: Any\n-00013810: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-00013820: 6f6e 297f 3434 3639 360a 4e6f 6465 3a20 on).44696.Node: \n-00013830: 4765 745f 5065 6572 5f41 6464 7220 2866 Get_Peer_Addr (f\n-00013840: 756e 6374 696f 6e29 7f34 3531 3131 0a4e unction).45111.N\n-00013850: 6f64 653a 2047 6574 5f50 6565 725f 506f ode: Get_Peer_Po\n-00013860: 7274 2028 6675 6e63 7469 6f6e 297f 3435 rt (function).45\n-00013870: 3638 330a 4e6f 6465 3a20 4765 745f 536f 683.Node: Get_So\n-00013880: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n-00013890: 6e29 7f34 3632 3733 0a4e 6f64 653a 2047 n).46273.Node: G\n-000138a0: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n-000138b0: 6e63 7469 6f6e 297f 3436 3836 350a 4e6f nction).46865.No\n-000138c0: 6465 3a20 486f 7374 5f4e 616d 6520 2866 de: Host_Name (f\n-000138d0: 756e 6374 696f 6e29 7f34 3734 3439 0a4e unction).47449.N\n-000138e0: 6f64 653a 2049 6d61 6765 2028 6675 6e63 ode: Image (func\n-000138f0: 7469 6f6e 297f 3437 3936 350a 4e6f 6465 tion).47965.Node\n-00013900: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f : Info_Of_Name_O\n-00013910: 725f 4950 2028 6675 6e63 7469 6f6e 297f r_IP (function).\n-00013920: 3438 3434 310a 4e6f 6465 3a20 4973 5f49 48441.Node: Is_I\n-00013930: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct\n-00013940: 696f 6e29 7f34 3931 3731 0a4e 6f64 653a ion).49171.Node:\n-00013950: 204e 616d 655f 4f66 2028 6675 6e63 7469 Name_Of (functi\n-00013960: 6f6e 297f 3439 3638 350a 4e6f 6465 3a20 on).49685.Node: \n-00013970: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-00013980: 7f35 3032 3732 0a4e 6f64 653a 2043 6f6e .50272.Node: Con\n-00013990: 7472 6962 7574 6f72 737f 3530 3732 340a tributors.50724.\n-000139a0: 4e6f 6465 3a20 5265 736f 7572 6365 7320 Node: Resources \n-000139b0: 6f6e 2074 6865 2049 6e74 6572 6e65 747f on the Internet.\n-000139c0: 3532 3134 350a 4e6f 6465 3a20 496e 6465 52145.Node: Inde\n-000139d0: 787f 3532 3630 350a 1f0a 456e 6420 5461 x.52605...End Ta\n-000139e0: 6720 5461 626c 650a 0a1f 0a4c 6f63 616c g Table....Local\n-000139f0: 2056 6172 6961 626c 6573 3a0a 636f 6469 Variables:.codi\n-00013a00: 6e67 3a20 7574 662d 380a 456e 643a 0a ng: utf-8.End:.\n+00012fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ff0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+00013000: 2056 616c 7565 3a20 2020 2020 2020 2020 Value: \n+00013010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00013020: 2020 2020 2020 2020 5661 6c75 6520 2866 Value (f\n+00013030: 756e 6374 696f 6e29 2e20 2020 2020 286c unction). (l\n+00013040: 696e 6520 2039 290a 0a0a 1f0a 5461 6720 ine 9).....Tag \n+00013050: 5461 626c 653a 0a4e 6f64 653a 2054 6f70 Table:.Node: Top\n+00013060: 7f38 3136 0a4e 6f64 653a 2057 6861 7420 .816.Node: What \n+00013070: 6973 2041 6461 536f 636b 6574 733f 7f31 is AdaSockets?.1\n+00013080: 3338 390a 4e6f 6465 3a20 496e 7374 616c 389.Node: Instal\n+00013090: 6c69 6e67 2041 6461 536f 636b 6574 737f ling AdaSockets.\n+000130a0: 3232 3930 0a4e 6f64 653a 2055 7369 6e67 2290.Node: Using\n+000130b0: 2041 6461 536f 636b 6574 737f 3332 3937 AdaSockets.3297\n+000130c0: 0a4e 6f64 653a 2043 6f6d 7069 6c69 6e67 .Node: Compiling\n+000130d0: 2061 6e20 4164 6120 6170 706c 6963 6174 an Ada applicat\n+000130e0: 696f 6e7f 3335 3838 0a4e 6f64 653a 2053 ion.3588.Node: S\n+000130f0: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+00013100: 7420 736f 636b 6574 737f 3432 3335 0a4e t sockets.4235.N\n+00013110: 6f64 653a 2053 6574 7469 6e67 2075 7020 ode: Setting up \n+00013120: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+00013130: 737f 3535 3439 0a4e 6f64 653a 2053 656e s.5549.Node: Sen\n+00013140: 6469 6e67 2061 6e64 2072 6563 6569 7669 ding and receivi\n+00013150: 6e67 2064 6174 617f 3639 3032 0a4e 6f64 ng data.6902.Nod\n+00013160: 653a 2052 6177 2064 6174 6120 6d61 6e69 e: Raw data mani\n+00013170: 7075 6c61 7469 6f6e 7f37 3236 340a 4e6f pulation.7264.No\n+00013180: 6465 3a20 5374 7269 6e67 2d6f 7269 656e de: String-orien\n+00013190: 7465 6420 6578 6368 616e 6765 737f 3736 ted exchanges.76\n+000131a0: 3732 0a4e 6f64 653a 2053 6f63 6b65 7473 72.Node: Sockets\n+000131b0: 2070 6163 6b61 6765 7f38 3830 350a 4e6f package.8805.No\n+000131c0: 6465 3a20 4163 6365 7074 5f53 6f63 6b65 de: Accept_Socke\n+000131d0: 7420 2870 726f 6365 6475 7265 297f 3131 t (procedure).11\n+000131e0: 3038 390a 4e6f 6465 3a20 4269 6e64 2028 089.Node: Bind (\n+000131f0: 7072 6f63 6564 7572 6529 7f31 3237 3830 procedure).12780\n+00013200: 0a4e 6f64 653a 2043 6f6e 6e65 6374 2028 .Node: Connect (\n+00013210: 7072 6f63 6564 7572 6529 7f31 3430 3537 procedure).14057\n+00013220: 0a4e 6f64 653a 2047 6574 2028 6675 6e63 .Node: Get (func\n+00013230: 7469 6f6e 297f 3135 3435 300a 4e6f 6465 tion).15450.Node\n+00013240: 3a20 4765 745f 4368 6172 2028 6675 6e63 : Get_Char (func\n+00013250: 7469 6f6e 297f 3136 3634 390a 4e6f 6465 tion).16649.Node\n+00013260: 3a20 4765 745f 4c69 6e65 2028 6675 6e63 : Get_Line (func\n+00013270: 7469 6f6e 297f 3137 3531 340a 4e6f 6465 tion).17514.Node\n+00013280: 3a20 4765 745f 4c69 6e65 2028 7072 6f63 : Get_Line (proc\n+00013290: 6564 7572 6529 7f31 3838 3235 0a4e 6f64 edure).18825.Nod\n+000132a0: 653a 2047 6574 5f52 6563 6569 7665 5f51 e: Get_Receive_Q\n+000132b0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+000132c0: 696f 6e29 7f31 3939 3934 0a4e 6f64 653a ion).19994.Node:\n+000132d0: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n+000132e0: 5369 7a65 2028 6675 6e63 7469 6f6e 297f Size (function).\n+000132f0: 3230 3836 320a 4e6f 6465 3a20 4765 7473 20862.Node: Gets\n+00013300: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00013310: 6529 7f32 3137 3139 0a4e 6f64 653a 204c e).21719.Node: L\n+00013320: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+00013330: 297f 3233 3038 360a 4e6f 6465 3a20 4e65 ).23086.Node: Ne\n+00013340: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n+00013350: 6529 7f32 3339 3632 0a4e 6f64 653a 2050 e).23962.Node: P\n+00013360: 7574 2028 7072 6f63 6564 7572 6529 7f32 ut (procedure).2\n+00013370: 3436 3838 0a4e 6f64 653a 2050 7574 5f4c 4688.Node: Put_L\n+00013380: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n+00013390: 3235 3432 330a 4e6f 6465 3a20 5265 6365 25423.Node: Rece\n+000133a0: 6976 6520 2866 756e 6374 696f 6e29 7f32 ive (function).2\n+000133b0: 3632 3133 0a4e 6f64 653a 2052 6563 6569 6213.Node: Recei\n+000133c0: 7665 2028 7072 6f63 6564 7572 6529 7f32 ve (procedure).2\n+000133d0: 3734 3236 0a4e 6f64 653a 2052 6563 6569 7426.Node: Recei\n+000133e0: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n+000133f0: 7265 297f 3238 3435 370a 4e6f 6465 3a20 re).28457.Node: \n+00013400: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00013410: 7f32 3936 3438 0a4e 6f64 653a 2053 6574 .29648.Node: Set\n+00013420: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+00013430: 7265 297f 3330 3339 310a 4e6f 6465 3a20 re).30391.Node: \n+00013440: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00013450: 6564 7572 6529 7f33 3136 3034 0a4e 6f64 edure).31604.Nod\n+00013460: 653a 2053 6875 7464 6f77 6e20 2870 726f e: Shutdown (pro\n+00013470: 6365 6475 7265 297f 3332 3935 310a 4e6f cedure).32951.No\n+00013480: 6465 3a20 536f 636b 6574 2028 7072 6f63 de: Socket (proc\n+00013490: 6564 7572 6529 7f33 3336 3031 0a4e 6f64 edure).33601.Nod\n+000134a0: 653a 2055 6e73 6574 5f42 7566 6665 7220 e: Unset_Buffer \n+000134b0: 2870 726f 6365 6475 7265 297f 3334 3939 (procedure).3499\n+000134c0: 310a 4e6f 6465 3a20 536f 636b 6574 732e 1.Node: Sockets.\n+000134d0: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+000134e0: 657f 3335 3639 300a 4e6f 6465 3a20 4372 e.35690.Node: Cr\n+000134f0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00013500: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+00013510: 7f33 3635 3336 0a4e 6f64 653a 2053 6f63 .36536.Node: Soc\n+00013520: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+00013530: 6167 657f 3430 3539 320a 4e6f 6465 3a20 age.40592.Node: \n+00013540: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+00013550: 7469 6f6e 297f 3433 3131 390a 4e6f 6465 tion).43119.Node\n+00013560: 3a20 416e 795f 4164 6472 6573 7320 2866 : Any_Address (f\n+00013570: 756e 6374 696f 6e29 7f34 3430 3133 0a4e unction).44013.N\n+00013580: 6f64 653a 2047 6574 5f50 6565 725f 4164 ode: Get_Peer_Ad\n+00013590: 6472 2028 6675 6e63 7469 6f6e 297f 3434 dr (function).44\n+000135a0: 3432 380a 4e6f 6465 3a20 4765 745f 5065 428.Node: Get_Pe\n+000135b0: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+000135c0: 6e29 7f34 3530 3030 0a4e 6f64 653a 2047 n).45000.Node: G\n+000135d0: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n+000135e0: 6e63 7469 6f6e 297f 3435 3539 300a 4e6f nction).45590.No\n+000135f0: 6465 3a20 4765 745f 536f 636b 5f50 6f72 de: Get_Sock_Por\n+00013600: 7420 2866 756e 6374 696f 6e29 7f34 3631 t (function).461\n+00013610: 3832 0a4e 6f64 653a 2048 6f73 745f 4e61 82.Node: Host_Na\n+00013620: 6d65 2028 6675 6e63 7469 6f6e 297f 3436 me (function).46\n+00013630: 3736 360a 4e6f 6465 3a20 496d 6167 6520 766.Node: Image \n+00013640: 2866 756e 6374 696f 6e29 7f34 3732 3832 (function).47282\n+00013650: 0a4e 6f64 653a 2049 6e66 6f5f 4f66 5f4e .Node: Info_Of_N\n+00013660: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n+00013670: 696f 6e29 7f34 3737 3538 0a4e 6f64 653a ion).47758.Node:\n+00013680: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n+00013690: 6675 6e63 7469 6f6e 297f 3438 3438 380a function).48488.\n+000136a0: 4e6f 6465 3a20 4e61 6d65 5f4f 6620 2866 Node: Name_Of (f\n+000136b0: 756e 6374 696f 6e29 7f34 3930 3032 0a4e unction).49002.N\n+000136c0: 6f64 653a 2056 616c 7565 2028 6675 6e63 ode: Value (func\n+000136d0: 7469 6f6e 297f 3439 3538 390a 4e6f 6465 tion).49589.Node\n+000136e0: 3a20 436f 6e74 7269 6275 746f 7273 7f35 : Contributors.5\n+000136f0: 3030 3431 0a4e 6f64 653a 2052 6573 6f75 0041.Node: Resou\n+00013700: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n+00013710: 726e 6574 7f35 3134 3632 0a4e 6f64 653a rnet.51462.Node:\n+00013720: 2049 6e64 6578 7f35 3139 3232 0a1f 0a45 Index.51922...E\n+00013730: 6e64 2054 6167 2054 6162 6c65 0a0a 1f0a nd Tag Table....\n+00013740: 4c6f 6361 6c20 5661 7269 6162 6c65 733a Local Variables:\n+00013750: 0a63 6f64 696e 673a 2075 7466 2d38 0a45 .coding: utf-8.E\n+00013760: 6e64 3a0a nd:.\n"}]}]}]}]}]}