{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.dsaaAw8H/b1/adasockets_1.14-3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.dsaaAw8H/b2/adasockets_1.14-3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n  1ba2f75f78faa81676abdadb85c501bb 62728 libdevel optional libadasockets-dev_1.14-3_amd64.deb\n- 3d523afe16675575aa7e58d7ffab98ed 262180 doc optional libadasockets-doc_1.14-3_all.deb\n+ 21c317095f92b41549f501b9a3a3213a 262348 doc optional libadasockets-doc_1.14-3_all.deb\n  bb2bf9b07f8f7eaa2434e3676139b9d0 51136 debug optional libadasockets11-dbgsym_1.14-3_amd64.deb\n  aa68daf438bab923a01da35512a6f0d3 29988 libs optional libadasockets11_1.14-3_amd64.deb\n"}, {"source1": "libadasockets-doc_1.14-3_all.deb", "source2": "libadasockets-doc_1.14-3_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 2025-03-19 15:40:14.000000 debian-binary\n--rw-r--r--   0        0        0     1064 2025-03-19 15:40:14.000000 control.tar.xz\n--rw-r--r--   0        0        0   260924 2025-03-19 15:40:14.000000 data.tar.xz\n+-rw-r--r--   0        0        0     1060 2025-03-19 15:40:14.000000 control.tar.xz\n+-rw-r--r--   0        0        0   261096 2025-03-19 15:40:14.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-3\n Architecture: all\n Maintainer: Phil Brooke <pjb@debian.org>\n-Installed-Size: 290\n+Installed-Size: 291\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 2025-03-19 15:40:14.000000 ./\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/share/\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/share/doc/\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.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)   238428 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n+-rw-r--r--   0 root         (0) root         (0)   238594 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/examples/\n -rw-r--r--   0 root         (0) root         (0)      233 2025-03-19 15:40:14.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 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/\n -rw-r--r--   0 root         (0) root         (0)     1698 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/changelog.Debian.gz\n -rw-r--r--   0 root         (0) root         (0)     3026 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/copyright\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/share/doc-base/\n -rw-r--r--   0 root         (0) root         (0)      475 2025-03-19 15:40:14.000000 ./usr/share/doc-base/libadasockets-doc.adasockets\n drwxr-xr-x   0 root         (0) root         (0)        0 2025-03-19 15:40:14.000000 ./usr/share/info/\n--rw-r--r--   0 root         (0) root         (0)    14112 2025-03-19 15:40:14.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r--   0 root         (0) root         (0)    14116 2025-03-19 15:40:14.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": "@@ -23,31 +23,31 @@\n 3.3 Setting up multicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n 3.4 Sending and receiving data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.1 Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.2 String-oriented exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n \n 4 Sockets package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accept Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\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 Listen (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Receive Some (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n+Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\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 Sockets.Multicast package . . . . . . . . . . . . . . . . . . . . . 19\n@@ -199,16 +199,17 @@\n \n Accept Socket (procedure)\n Purpose\n \n Accept an incoming connection\n \n Prototype\n-[Sockets.Accept Socket]\n+\n procedure Accept_Socket\n+[Sockets.Accept Socket]\n (Socket : Socket_FD; New_Socket : out Socket_FD);\n Parameters\n Socket\n New Socket\n \n in\n out\n@@ -221,37 +222,47 @@\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 : Multicast_Socket_FD;\n+Sock\n+: Socket_FD;\n+Incoming : Socket_FD;\n begin\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-Shutdown (Sock, Both);\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-See also [Bind (procedure)], page 7,\n+\n+\f8\n+\n+AdaSockets reference manual\n+\n+See also [Bind (procedure)], page 8,\n [Listen (procedure)], page 12,\n [Shutdown (procedure)], page 17,\n [Socket (procedure)], page 17.\n \n Bind (procedure)\n Purpose\n \n Associate a local port to a socket\n \n-\f8\n-\n-AdaSockets reference manual\n-\n Prototype\n \n procedure Bind (Socket : Socket_FD;\n Port : Natural; Host : String := \"\");\n Parameters\n Socket\n Port\n@@ -314,25 +325,24 @@\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-\n-\fChapter 4: Sockets package\n-\n-9\n-\n -- Connect it to rfc1149.net's 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@@ -386,32 +396,31 @@\n \n in\n \n [Sockets.Get Char]\n \n Initialized and connected socket object\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-\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 14,\n+[Receive (procedure)], page 15,\n [Set Buffer (procedure)], page 16.\n \n Get Line (function)\n Purpose\n \n Get a whole line from a remote host\n \n@@ -446,45 +455,41 @@\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 14,\n+[Receive (procedure)], page 15,\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-Prototype\n+\fChapter 4: Sockets package\n \n-procedure Get_Line\n+11\n+\n+Prototype\n [Sockets.Get Line]\n+procedure Get_Line\n (Socket : Socket_FD\u2019Class; Str : in out String;\n Last : out Natural);\n Parameters\n Socket\n-\n-in\n-\n-Initialized and connected socket object\n-\n-\fChapter 4: Sockets package\n-\n Str\n Last\n \n-11\n-\n+in\n in out\n out\n \n+Initialized and connected socket object\n String to fill\n Last index used in the string\n \n Description\n This procedure receives one line from the remote host. A line consists into zero\n or more characters followed by an optional CR and by a LF. Those terminators\n are stripped before the line is returned.\n@@ -493,46 +498,51 @@\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 (function)], page 10,\n-[Receive (procedure)], page 14,\n+[Receive (procedure)], page 15,\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 Prototype\n-[Sockets.Get Receive Queue Size]\n+\n function Get_Receive_Queue_Size\n+[Sockets.Get Receive Queue Size]\n (Socket : Socket_FD\u2019Class)\n return Integer;\n Parameters\n Socket\n \n in\n \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 14.\n+See also [Receive (procedure)], page 15.\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@@ -541,23 +551,18 @@\n \n [Sockets.Get Send Queue Size]\n \n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the output queue\n-\n-\f12\n-\n-AdaSockets reference manual\n-\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 15.\n+See also [Send (procedure)], page 16.\n \n Getsockopt (procedure)\n Purpose\n \n Retrieve a socket option\n \n Prototype\n@@ -599,46 +604,49 @@\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-\n-\fChapter 4: Sockets package\n-\n-13\n-\n See also [Accept Socket (procedure)], page 7,\n-[Bind (procedure)], page 7,\n+[Bind (procedure)], page 8,\n [Socket (procedure)], page 17.\n \n New Line (procedure)\n Purpose\n \n Send a CR/LF to a remote host\n \n Prototype\n-[Sockets.New Line]\n+\n procedure New_Line\n+[Sockets.New Line]\n (Socket : Socket_FD\u2019Class; Count : Natural := 1);\n Parameters\n Socket\n Count\n \n in\n in\n@@ -650,15 +658,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 13.\n+[Put Line (procedure)], page 14.\n \n Put (procedure)\n Purpose\n \n Send a string to a remote host\n \n Prototype\n@@ -681,55 +689,51 @@\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 13,\n-[Send (procedure)], page 15.\n+[Put Line (procedure)], page 14,\n+[Send (procedure)], page 16.\n+\n+\f14\n+\n+AdaSockets reference manual\n \n Put Line (procedure)\n Purpose\n \n Send a CR/LF terminated string to a remote host\n \n Prototype\n-\n-procedure Put_Line\n [Sockets.Put Line]\n+procedure Put_Line\n (Socket : Socket_FD\u2019Class; Str : String);\n Parameters\n Socket\n-\n-in\n-\n-Initialized and connected socket object\n-\n-\f14\n-\n-AdaSockets reference manual\n-\n Str\n \n in\n+in\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 Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [New Line (procedure)], page 13,\n [Put (procedure)], page 13,\n-[Send (procedure)], page 15.\n+[Send (procedure)], page 16.\n \n Receive (function)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n@@ -755,19 +759,23 @@\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 14,\n+See also [Receive (procedure)], page 15,\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@@ -780,18 +788,14 @@\n \n in\n out\n \n Initialized and bound or connected socket object\n Incoming data buffer\n \n-\fChapter 4: Sockets package\n-\n-15\n-\n Description\n This procedure receives data from a bound UDP socket or a connected TCP\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'Length bytes\n@@ -804,16 +808,17 @@\n \n Receive Some (procedure)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n-[Sockets.Receive Some]\n+\n procedure Receive_Some\n+[Sockets.Receive Some]\n (Socket : Socket_FD\u2019Class;\n Data : out Ada.Streams.Stream_Element_Array;\n Last : out Ada.Streams.Stream_Element_Offset);\n Parameters\n Socket\n Data\n Last\n@@ -834,15 +839,19 @@\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 14.\n+[Receive (procedure)], page 15.\n+\n+\f16\n+\n+AdaSockets reference manual\n \n Send (procedure)\n Purpose\n \n Send raw data over a socket\n \n Prototype\n@@ -856,28 +865,24 @@\n \n in\n out\n \n Initialized and connected socket object\n Data to be sent\n \n-\f16\n-\n-AdaSockets reference manual\n-\n Description\n This procedure sends data over a connected outgoing socket or over an incoming\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 13.\n+[Put Line (procedure)], page 14.\n \n Set Buffer (procedure)\n Purpose\n \n Install a line-oriented buffer of the socket object\n \n Prototype\n@@ -908,14 +913,18 @@\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@@ -933,19 +942,14 @@\n Protocol level\n Option name\n Option value\n \n Description\n This procedure sets options applicable to a socket. Please see your operating\n system manual for usable levels and options.\n-\n-\fChapter 4: Sockets package\n-\n-17\n-\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@@ -985,42 +989,44 @@\n Prototype\n \n procedure Socket (Socket : out Socket_FD;\n Domain : Socket_Domain := PF_INET;\n Typ : Socket_Type := SOCK_STREAM);\n Parameters\n Socket\n+\n+out\n+\n+Socket object to initialize\n+\n+[Sockets.Socket]\n+\n+\f18\n+\n+AdaSockets reference manual\n+\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 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 declare\n Sock : Socket_FD;\n begin\n-\n-\f18\n-\n-AdaSockets reference manual\n-\n -- Create a TCP socket\n Socket (Sock, PF_INET, SOCK_STREAM);\n -- Perform some operations on socket\n [...]\n -- Shutdown the socket in both directions\n Shutdown (Sock, Both);\n end;\n@@ -1125,15 +1131,15 @@\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-See also [Send (procedure)], page 15,\n+See also [Send (procedure)], page 16,\n [Shutdown (procedure)], page 17.\n \n Create Multicast Socket (function)\n Purpose\n \n Create an IP multicast socket\n \n@@ -1180,15 +1186,15 @@\n \n \fChapter 5: Sockets.Multicast package\n \n [...]\n -- Shutdown the socket in both directions\n Shutdown (Sock, Both);\n end;\n-See also [Send (procedure)], page 15,\n+See also [Send (procedure)], page 16,\n [Shutdown (procedure)], page 17.\n \n 21\n \n \f\f23\n \n 6 Sockets.Naming package\n@@ -1578,34 +1584,34 @@\n Ada.Streams.Stream_Element_Array . 6, 14, 15, 16\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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n+Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11\n-Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11\n+Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 12\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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Both . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n \n Handling a new connection . . . . . . . . . . . . . . . . . . . . . . 7\n Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n \n I\n@@ -1615,29 +1621,29 @@\n Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connecting a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connection_Closed . . . . . . . 9, 10, 11, 13, 14, 15, 16\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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\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 \n Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n Installing AdaSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\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+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 Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n \n L\n LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n@@ -1678,80 +1684,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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Sockets.Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Sockets.Receive. . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15\n Sockets.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n+Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Sockets.Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n-Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n Stream_Element_Array . . . . . . . . . . . . . . . 6, 14, 15, 16\n Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15\n String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n \n-PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n \n R\n Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6\n-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17\n+Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15, 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 \n S\n-Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 17\n-Sending data . . . . . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 15\n+Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 17\n+Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 14, 16\n Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Setting socket options . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\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+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 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.Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Sockets.Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Sockets.Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n+Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n Sockets.Get_Receive_Queue_Size . . . . . . . . . . . . . 11\n-Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 11\n+Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 12\n Sockets.Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\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.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.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": "@@ -750,4258 +750,4279 @@\n 00002ed0: 6b65 74e2 8099 2077 696c 6c20 626c 6f63  ket... will bloc\n 00002ee0: 6b20 756e 7469 6c20 616e 2069 6e63 6f6d  k until an incom\n 00002ef0: 696e 6720 636f 6e6e 6563 7469 6f6e 2069  ing connection i\n 00002f00: 7320 7265 6164 7920 746f 0a20 2020 2020  s ready to.     \n 00002f10: 6265 2061 6363 6570 7465 642e 0a0a 4558  be accepted...EX\n 00002f20: 414d 504c 450a 2020 2020 2020 2020 2020  AMPLE.          \n 00002f30: 6465 636c 6172 650a 2020 2020 2020 2020  declare.        \n-00002f40: 2020 2020 2053 6f63 6b20 3a20 4d75 6c74       Sock : Mult\n-00002f50: 6963 6173 745f 536f 636b 6574 5f46 443b  icast_Socket_FD;\n-00002f60: 0a20 2020 2020 2020 2020 2062 6567 696e  .          begin\n-00002f70: 0a20 2020 2020 2020 2020 2020 2020 2d2d  .             --\n-00002f80: 2043 7265 6174 6520 6120 6d75 6c74 6963   Create a multic\n-00002f90: 6173 7420 736f 636b 6574 206f 6e20 6772  ast socket on gr\n-00002fa0: 6f75 7020 3232 342e 312e 322e 3320 706f  oup 224.1.2.3 po\n-00002fb0: 7274 2038 3736 330a 2020 2020 2020 2020  rt 8763.        \n-00002fc0: 2020 2020 2053 6f63 6b20 3a3d 2043 7265       Sock := Cre\n-00002fd0: 6174 655f 4d75 6c74 6963 6173 745f 536f  ate_Multicast_So\n-00002fe0: 636b 6574 2028 2232 3234 2e31 2e32 2e33  cket (\"224.1.2.3\n-00002ff0: 222c 2038 3736 3329 3b0a 2020 2020 2020  \", 8763);.      \n-00003000: 2020 2020 2020 202d 2d20 5065 7266 6f72         -- Perfor\n-00003010: 6d20 736f 6d65 206f 7065 7261 7469 6f6e  m some operation\n-00003020: 7320 6f6e 2073 6f63 6b65 740a 2020 2020  s on socket.    \n-00003030: 2020 2020 2020 2020 205b 2e2e 2e5d 0a20           [...]. \n-00003040: 2020 2020 2020 2020 2020 2020 2d2d 2053              -- S\n-00003050: 6875 7464 6f77 6e20 7468 6520 736f 636b  hutdown the sock\n-00003060: 6574 2069 6e20 626f 7468 2064 6972 6563  et in both direc\n-00003070: 7469 6f6e 730a 2020 2020 2020 2020 2020  tions.          \n-00003080: 2020 2053 6875 7464 6f77 6e20 2853 6f63     Shutdown (Soc\n-00003090: 6b2c 2042 6f74 6829 3b0a 2020 2020 2020  k, Both);.      \n-000030a0: 2020 2020 656e 643b 0a0a 5345 4520 414c      end;..SEE AL\n-000030b0: 534f 0a20 2020 2020 2a6e 6f74 6520 4269  SO.     *note Bi\n-000030c0: 6e64 2028 7072 6f63 6564 7572 6529 3a3a  nd (procedure)::\n-000030d0: 2c0a 2020 2020 202a 6e6f 7465 204c 6973  ,.     *note Lis\n-000030e0: 7465 6e20 2870 726f 6365 6475 7265 293a  ten (procedure):\n-000030f0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5368  :,.     *note Sh\n-00003100: 7574 646f 776e 2028 7072 6f63 6564 7572  utdown (procedur\n-00003110: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465  e)::,.     *note\n-00003120: 2053 6f63 6b65 7420 2870 726f 6365 6475   Socket (procedu\n-00003130: 7265 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a  re)::...* Menu:.\n-00003140: 0a2a 2042 696e 6420 2870 726f 6365 6475  .* Bind (procedu\n-00003150: 7265 293a 3a0a 2a20 436f 6e6e 6563 7420  re)::.* Connect \n-00003160: 2870 726f 6365 6475 7265 293a 3a0a 2a20  (procedure)::.* \n-00003170: 4765 7420 2866 756e 6374 696f 6e29 3a3a  Get (function)::\n-00003180: 0a2a 2047 6574 5f43 6861 7220 2866 756e  .* Get_Char (fun\n-00003190: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f4c  ction)::.* Get_L\n-000031a0: 696e 6520 2866 756e 6374 696f 6e29 3a3a  ine (function)::\n-000031b0: 0a2a 2047 6574 5f4c 696e 6520 2870 726f  .* Get_Line (pro\n-000031c0: 6365 6475 7265 293a 3a0a 2a20 4765 745f  cedure)::.* Get_\n-000031d0: 5265 6365 6976 655f 5175 6575 655f 5369  Receive_Queue_Si\n-000031e0: 7a65 2028 6675 6e63 7469 6f6e 293a 3a0a  ze (function)::.\n-000031f0: 2a20 4765 745f 5365 6e64 5f51 7565 7565  * Get_Send_Queue\n-00003200: 5f53 697a 6520 2866 756e 6374 696f 6e29  _Size (function)\n-00003210: 3a3a 0a2a 2047 6574 736f 636b 6f70 7420  ::.* Getsockopt \n-00003220: 2870 726f 6365 6475 7265 293a 3a0a 2a20  (procedure)::.* \n-00003230: 4c69 7374 656e 2028 7072 6f63 6564 7572  Listen (procedur\n-00003240: 6529 3a3a 0a2a 204e 6577 5f4c 696e 6520  e)::.* New_Line \n-00003250: 2870 726f 6365 6475 7265 293a 3a0a 2a20  (procedure)::.* \n-00003260: 5075 7420 2870 726f 6365 6475 7265 293a  Put (procedure):\n-00003270: 3a0a 2a20 5075 745f 4c69 6e65 2028 7072  :.* Put_Line (pr\n-00003280: 6f63 6564 7572 6529 3a3a 0a2a 2052 6563  ocedure)::.* Rec\n-00003290: 6569 7665 2028 6675 6e63 7469 6f6e 293a  eive (function):\n-000032a0: 3a0a 2a20 5265 6365 6976 6520 2870 726f  :.* Receive (pro\n-000032b0: 6365 6475 7265 293a 3a0a 2a20 5265 6365  cedure)::.* Rece\n-000032c0: 6976 655f 536f 6d65 2028 7072 6f63 6564  ive_Some (proced\n-000032d0: 7572 6529 3a3a 0a2a 2053 656e 6420 2870  ure)::.* Send (p\n-000032e0: 726f 6365 6475 7265 293a 3a0a 2a20 5365  rocedure)::.* Se\n-000032f0: 745f 4275 6666 6572 2028 7072 6f63 6564  t_Buffer (proced\n-00003300: 7572 6529 3a3a 0a2a 2053 6574 736f 636b  ure)::.* Setsock\n-00003310: 6f70 7420 2870 726f 6365 6475 7265 293a  opt (procedure):\n-00003320: 3a0a 2a20 5368 7574 646f 776e 2028 7072  :.* Shutdown (pr\n-00003330: 6f63 6564 7572 6529 3a3a 0a2a 2053 6f63  ocedure)::.* Soc\n-00003340: 6b65 7420 2870 726f 6365 6475 7265 293a  ket (procedure):\n-00003350: 3a0a 2a20 556e 7365 745f 4275 6666 6572  :.* Unset_Buffer\n-00003360: 2028 7072 6f63 6564 7572 6529 3a3a 0a0a   (procedure)::..\n-00003370: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65  ..File: adasocke\n-00003380: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20  ts.info,  Node: \n-00003390: 4269 6e64 2028 7072 6f63 6564 7572 6529  Bind (procedure)\n-000033a0: 2c20 204e 6578 743a 2043 6f6e 6e65 6374  ,  Next: Connect\n-000033b0: 2028 7072 6f63 6564 7572 6529 2c20 2050   (procedure),  P\n-000033c0: 7265 763a 2041 6363 6570 745f 536f 636b  rev: Accept_Sock\n-000033d0: 6574 2028 7072 6f63 6564 7572 6529 2c20  et (procedure), \n-000033e0: 2055 703a 2041 6363 6570 745f 536f 636b   Up: Accept_Sock\n-000033f0: 6574 2028 7072 6f63 6564 7572 6529 0a0a  et (procedure)..\n-00003400: 4269 6e64 2028 7072 6f63 6564 7572 6529  Bind (procedure)\n-00003410: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n-00003420: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n-00003430: 4173 736f 6369 6174 6520 6120 6c6f 6361  Associate a loca\n-00003440: 6c20 706f 7274 2074 6f20 6120 736f 636b  l port to a sock\n-00003450: 6574 0a50 524f 544f 5459 5045 0a20 2020  et.PROTOTYPE.   \n-00003460: 2020 202d 2d20 536f 636b 6574 732e 4269     -- Sockets.Bi\n-00003470: 6e64 3a20 7072 6f63 6564 7572 6520 4269  nd: procedure Bi\n-00003480: 6e64 2028 534f 434b 4554 203a 2053 6f63  nd (SOCKET : Soc\n-00003490: 6b65 745f 4644 3b0a 2020 2020 2020 2020  ket_FD;.        \n-000034a0: 2020 2020 2020 2050 4f52 5420 3a20 4e61         PORT : Na\n-000034b0: 7475 7261 6c3b 2048 4f53 5420 3a20 5374  tural; HOST : St\n-000034c0: 7269 6e67 203a 3d20 2222 293b 0a0a 5041  ring := \"\");..PA\n-000034d0: 5241 4d45 5445 5253 0a20 2020 2020 534f  RAMETERS.     SO\n-000034e0: 434b 4554 2020 2020 2069 6e20 2020 2020  CKET     in     \n-000034f0: 2020 2020 496e 6974 6961 6c69 7a65 6420      Initialized \n-00003500: 736f 636b 6574 206f 626a 6563 740a 2020  socket object.  \n-00003510: 2020 2050 4f52 5420 2020 2020 2020 696e     PORT       in\n-00003520: 2020 2020 2020 2020 204c 6f63 616c 2070           Local p\n-00003530: 6f72 7420 746f 2062 696e 6420 746f 0a20  ort to bind to. \n-00003540: 2020 2020 484f 5354 2020 2020 2020 2069      HOST       i\n-00003550: 6e20 2020 2020 2020 2020 4c6f 6361 6c20  n         Local \n-00003560: 696e 7465 7266 6163 6520 746f 2062 696e  interface to bin\n-00003570: 6420 746f 0a0a 4445 5343 5249 5054 494f  d to..DESCRIPTIO\n-00003580: 4e0a 2020 2020 2054 6869 7320 7072 6f63  N.     This proc\n-00003590: 6564 7572 6520 7265 7175 6573 7473 2061  edure requests a\n-000035a0: 206c 6f63 616c 2070 6f72 7420 6672 6f6d   local port from\n-000035b0: 2074 6865 206f 7065 7261 7469 6e67 2073   the operating s\n-000035c0: 7973 7465 6d2e 2020 4966 0a20 2020 2020  ystem.  If.     \n-000035d0: 3020 6973 2067 6976 656e 2069 6e20 504f  0 is given in PO\n-000035e0: 5254 2c20 7468 6520 7379 7374 656d 2077  RT, the system w\n-000035f0: 696c 6c20 6173 7369 676e 2061 2066 7265  ill assign a fre\n-00003600: 6520 706f 7274 2077 686f 7365 206e 756d  e port whose num\n-00003610: 6265 720a 2020 2020 2063 616e 206c 6174  ber.     can lat\n-00003620: 6572 2062 6520 7265 7472 6965 7665 6420  er be retrieved \n-00003630: 7573 696e 6720 2a6e 6f74 6520 4765 745f  using *note Get_\n-00003640: 536f 636b 5f50 6f72 7420 2866 756e 6374  Sock_Port (funct\n-00003650: 696f 6e29 3a3a 2e0a 2020 2020 2041 6c73  ion)::..     Als\n-00003660: 6f2c 206d 6f73 7420 6f70 6572 6174 696e  o, most operatin\n-00003670: 6720 7379 7374 656d 7320 7265 7175 6972  g systems requir\n-00003680: 6520 7370 6563 6961 6c20 7072 6976 696c  e special privil\n-00003690: 6567 6573 2069 6620 796f 7520 7761 6e74  eges if you want\n-000036a0: 0a20 2020 2020 746f 2062 696e 6420 746f  .     to bind to\n-000036b0: 2070 6f72 7473 2062 656c 6f77 2031 3032   ports below 102\n-000036c0: 342e 0a0a 2020 2020 2049 6620 484f 5354  4...     If HOST\n-000036d0: 2069 7320 6e6f 7420 7468 6520 656d 7074   is not the empt\n-000036e0: 7920 7374 7269 6e67 2c20 6974 206d 7573  y string, it mus\n-000036f0: 7420 636f 6e74 6169 6e20 7468 6520 4950  t contain the IP\n-00003700: 2061 6464 7265 7373 206f 660a 2020 2020   address of.    \n-00003710: 2061 206c 6f63 616c 2069 6e74 6572 6661   a local interfa\n-00003720: 6365 2074 6f20 6269 6e64 2074 6f2c 206f  ce to bind to, o\n-00003730: 7220 6120 6e61 6d65 2077 6869 6368 2072  r a name which r\n-00003740: 6573 6f6c 7665 7320 696e 746f 2073 7563  esolves into suc\n-00003750: 6820 616e 0a20 2020 2020 6164 6472 6573  h an.     addres\n-00003760: 732e 2020 4966 2061 6e20 656d 7074 7920  s.  If an empty \n-00003770: 7374 7269 6e67 2069 7320 6769 7665 6e20  string is given \n-00003780: 2874 6865 2064 6566 6175 6c74 292c 2074  (the default), t\n-00003790: 6865 2073 6f63 6b65 740a 2020 2020 2077  he socket.     w\n-000037a0: 696c 6c20 6265 2062 6f75 6e64 2074 6f20  ill be bound to \n-000037b0: 616c 6c20 7468 6520 6176 6169 6c61 626c  all the availabl\n-000037c0: 6520 696e 7465 7266 6163 6573 2e0a 0a45  e interfaces...E\n-000037d0: 5843 4550 5449 4f4e 530a 2020 2020 20e2  XCEPTIONS.     .\n-000037e0: 8098 536f 636b 6574 5f45 7272 6f72 e280  ..Socket_Error..\n-000037f0: 9920 2020 2020 5265 7175 6573 7465 6420  .     Requested \n-00003800: 706f 7274 206f 7220 696e 7465 7266 6163  port or interfac\n-00003810: 6520 6e6f 7420 6176 6169 6c61 626c 650a  e not available.\n-00003820: 0a53 4545 2041 4c53 4f0a 2020 2020 202a  .SEE ALSO.     *\n-00003830: 6e6f 7465 204c 6973 7465 6e20 2870 726f  note Listen (pro\n-00003840: 6365 6475 7265 293a 3a2c 0a20 2020 2020  cedure)::,.     \n-00003850: 2a6e 6f74 6520 536f 636b 6574 2028 7072  *note Socket (pr\n-00003860: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46  ocedure)::.....F\n-00003870: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n-00003880: 696e 666f 2c20 204e 6f64 653a 2043 6f6e  info,  Node: Con\n-00003890: 6e65 6374 2028 7072 6f63 6564 7572 6529  nect (procedure)\n-000038a0: 2c20 204e 6578 743a 2047 6574 2028 6675  ,  Next: Get (fu\n-000038b0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20  nction),  Prev: \n-000038c0: 4269 6e64 2028 7072 6f63 6564 7572 6529  Bind (procedure)\n-000038d0: 2c20 2055 703a 2041 6363 6570 745f 536f  ,  Up: Accept_So\n-000038e0: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n-000038f0: 0a0a 436f 6e6e 6563 7420 2870 726f 6365  ..Connect (proce\n-00003900: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d  dure).----------\n-00003910: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f  ---------..PURPO\n-00003920: 5345 0a20 2020 2020 436f 6e6e 6563 7420  SE.     Connect \n-00003930: 6120 736f 636b 6574 206f 6e20 6120 6769  a socket on a gi\n-00003940: 7665 6e20 686f 7374 2f70 6f72 740a 5052  ven host/port.PR\n-00003950: 4f54 4f54 5950 450a 2020 2020 2020 2d2d  OTOTYPE.      --\n-00003960: 2053 6f63 6b65 7473 2e43 6f6e 6e65 6374   Sockets.Connect\n-00003970: 3a20 7072 6f63 6564 7572 6520 436f 6e6e  : procedure Conn\n-00003980: 6563 7420 2853 4f43 4b45 5420 3a20 536f  ect (SOCKET : So\n-00003990: 636b 6574 5f46 443b 0a20 2020 2020 2020  cket_FD;.       \n-000039a0: 2020 2020 2020 2020 484f 5354 203a 2053          HOST : S\n-000039b0: 7472 696e 673b 2050 4f52 5420 3a20 506f  tring; PORT : Po\n-000039c0: 7369 7469 7665 293b 0a0a 5041 5241 4d45  sitive);..PARAME\n-000039d0: 5445 5253 0a20 2020 2020 534f 434b 4554  TERS.     SOCKET\n-000039e0: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n-000039f0: 496e 6974 6961 6c69 7a65 6420 736f 636b  Initialized sock\n-00003a00: 6574 206f 626a 6563 740a 2020 2020 2048  et object.     H\n-00003a10: 4f53 5420 2020 2020 2020 696e 2020 2020  OST       in    \n-00003a20: 2020 2020 2048 6f73 7420 746f 2063 6f6e       Host to con\n-00003a30: 6e65 6374 2074 6f0a 2020 2020 2050 4f52  nect to.     POR\n-00003a40: 5420 2020 2020 2020 696e 2020 2020 2020  T       in      \n-00003a50: 2020 2050 6f72 7420 746f 2063 6f6e 6e65     Port to conne\n-00003a60: 6374 2074 6f0a 0a44 4553 4352 4950 5449  ct to..DESCRIPTI\n-00003a70: 4f4e 0a20 2020 2020 5468 6973 2070 726f  ON.     This pro\n-00003a80: 6365 6475 7265 2063 6f6e 6e65 6374 7320  cedure connects \n-00003a90: 616e 2069 6e69 7469 616c 697a 6564 2073  an initialized s\n-00003aa0: 6f63 6b65 7420 746f 2061 2067 6976 656e  ocket to a given\n-00003ab0: 2068 6f73 7420 6f6e 2061 0a20 2020 2020   host on a.     \n-00003ac0: 6769 7665 6e20 706f 7274 2e20 2049 6e20  given port.  In \n-00003ad0: 7468 6520 6361 7365 206f 6620 6120 5443  the case of a TC\n-00003ae0: 5020 736f 636b 6574 2c20 6120 7265 616c  P socket, a real\n-00003af0: 2063 6f6e 6e65 6374 696f 6e20 6973 0a20   connection is. \n-00003b00: 2020 2020 6174 7465 6d70 7465 642e 2020      attempted.  \n-00003b10: 496e 2074 6865 2063 6173 6520 6f66 2061  In the case of a\n-00003b20: 2055 4450 2073 6f63 6b65 742c 206e 6f20   UDP socket, no \n-00003b30: 636f 6e6e 6563 7469 6f6e 2074 616b 6573  connection takes\n-00003b40: 2070 6c61 6365 0a20 2020 2020 6275 7420   place.     but \n-00003b50: 7468 6520 656e 6470 6f69 6e74 2063 6f6f  the endpoint coo\n-00003b60: 7264 696e 6174 6573 2061 7265 2072 6563  rdinates are rec\n-00003b70: 6f72 6465 642e 0a0a 4558 4345 5054 494f  orded...EXCEPTIO\n-00003b80: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65  NS.     ...Conne\n-00003b90: 6374 696f 6e5f 5265 6675 7365 64e2 8099  ction_Refused...\n-00003ba0: 5468 6520 636f 6e6e 6563 7469 6f6e 2068  The connection h\n-00003bb0: 6173 2062 6565 6e20 7265 6675 7365 6420  as been refused \n-00003bc0: 6279 2074 6865 0a20 2020 2020 2020 2020  by the.         \n-00003bd0: 2020 2020 2020 2020 2020 2020 2020 2073                 s\n-00003be0: 6572 7665 720a 2020 2020 20e2 8098 536f  erver.     ...So\n-00003bf0: 636b 6574 5f45 7272 6f72 e280 9920 2020  cket_Error...   \n-00003c00: 2020 416e 6f74 6865 7220 6572 726f 7220    Another error \n-00003c10: 6f63 6375 7272 6564 2064 7572 696e 6720  occurred during \n-00003c20: 7468 650a 2020 2020 2020 2020 2020 2020  the.            \n-00003c30: 2020 2020 2020 2020 2020 2020 636f 6e6e              conn\n-00003c40: 6563 7469 6f6e 0a0a 4558 414d 504c 450a  ection..EXAMPLE.\n-00003c50: 2020 2020 2020 2020 2020 6465 636c 6172            declar\n-00003c60: 650a 2020 2020 2020 2020 2020 2020 2053  e.             S\n-00003c70: 6f63 6b20 3a20 536f 636b 6574 5f46 443b  ock : Socket_FD;\n-00003c80: 0a20 2020 2020 2020 2020 2062 6567 696e  .          begin\n-00003c90: 0a20 2020 2020 2020 2020 2020 2020 2d2d  .             --\n-00003ca0: 2043 7265 6174 6520 6120 5443 5020 736f   Create a TCP so\n-00003cb0: 636b 6574 0a20 2020 2020 2020 2020 2020  cket.           \n-00003cc0: 2020 536f 636b 6574 2028 536f 636b 2c20    Socket (Sock, \n-00003cd0: 5046 5f49 4e45 542c 2053 4f43 4b5f 5354  PF_INET, SOCK_ST\n-00003ce0: 5245 414d 293b 0a20 2020 2020 2020 2020  REAM);.         \n-00003cf0: 2020 2020 2d2d 2043 6f6e 6e65 6374 2069      -- Connect i\n-00003d00: 7420 746f 2072 6663 3131 3439 2e6e 6574  t to rfc1149.net\n-00003d10: 2773 206d 6169 6c20 7365 7276 6572 0a20  's mail server. \n-00003d20: 2020 2020 2020 2020 2020 2020 436f 6e6e              Conn\n-00003d30: 6563 7420 2853 6f63 6b2c 2022 6d61 696c  ect (Sock, \"mail\n-00003d40: 2e72 6663 3131 3439 2e6e 6574 222c 2032  .rfc1149.net\", 2\n-00003d50: 3529 3b0a 2020 2020 2020 2020 2020 2020  5);.            \n-00003d60: 202d 2d20 446f 2061 206d 6169 6c20 7472   -- Do a mail tr\n-00003d70: 616e 7361 6374 696f 6e20 7468 656e 2063  ansaction then c\n-00003d80: 6c6f 7365 2074 6865 2073 6f63 6b65 740a  lose the socket.\n-00003d90: 2020 2020 2020 2020 2020 2020 205b 2e2e               [..\n-00003da0: 2e5d 0a20 2020 2020 2020 2020 2065 6e64  .].          end\n-00003db0: 3b0a 0a53 4545 2041 4c53 4f0a 2020 2020  ;..SEE ALSO.    \n-00003dc0: 202a 6e6f 7465 2053 6f63 6b65 7420 2870   *note Socket (p\n-00003dd0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n-00003de0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-00003df0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765  .info,  Node: Ge\n-00003e00: 7420 2866 756e 6374 696f 6e29 2c20 204e  t (function),  N\n-00003e10: 6578 743a 2047 6574 5f43 6861 7220 2866  ext: Get_Char (f\n-00003e20: 756e 6374 696f 6e29 2c20 2050 7265 763a  unction),  Prev:\n-00003e30: 2043 6f6e 6e65 6374 2028 7072 6f63 6564   Connect (proced\n-00003e40: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n-00003e50: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n-00003e60: 7572 6529 0a0a 4765 7420 2866 756e 6374  ure)..Get (funct\n-00003e70: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ion).-----------\n-00003e80: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n-00003e90: 2020 4765 7420 6120 7374 7269 6e67 2066    Get a string f\n-00003ea0: 726f 6d20 6120 7265 6d6f 7465 2068 6f73  rom a remote hos\n-00003eb0: 740a 5052 4f54 4f54 5950 450a 2020 2020  t.PROTOTYPE.    \n-00003ec0: 2020 2d2d 2053 6f63 6b65 7473 2e47 6574    -- Sockets.Get\n-00003ed0: 3a20 6675 6e63 7469 6f6e 2047 6574 2028  : function Get (\n-00003ee0: 534f 434b 4554 203a 2053 6f63 6b65 745f  SOCKET : Socket_\n-00003ef0: 4644 2743 6c61 7373 290a 2020 2020 2020  FD'Class).      \n-00003f00: 2020 2020 2020 2020 2072 6574 7572 6e20           return \n-00003f10: 5374 7269 6e67 3b0a 0a50 4152 414d 4554  String;..PARAMET\n-00003f20: 4552 530a 2020 2020 2053 4f43 4b45 5420  ERS.     SOCKET \n-00003f30: 2020 2020 696e 2020 2020 2020 2020 2049      in         I\n-00003f40: 6e69 7469 616c 697a 6564 2061 6e64 2063  nitialized and c\n-00003f50: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420  onnected socket \n-00003f60: 6f62 6a65 6374 0a0a 5245 5455 524e 2056  object..RETURN V\n-00003f70: 414c 5545 0a20 2020 2020 536f 6d65 2063  ALUE.     Some c\n-00003f80: 6861 7261 6374 6572 7320 7468 6174 2068  haracters that h\n-00003f90: 6176 6520 6265 656e 2072 6563 6569 7665  ave been receive\n-00003fa0: 640a 0a44 4553 4352 4950 5449 4f4e 0a20  d..DESCRIPTION. \n-00003fb0: 2020 2020 5468 6973 2066 756e 6374 696f      This functio\n-00003fc0: 6e20 7265 6365 6976 6573 2073 6f6d 6520  n receives some \n-00003fd0: 6368 6172 6163 7465 7273 2066 726f 6d20  characters from \n-00003fe0: 6120 7265 6d6f 7465 2068 6f73 742e 2020  a remote host.  \n-00003ff0: 4173 2073 6f6f 6e0a 2020 2020 2074 6861  As soon.     tha\n-00004000: 7420 6174 206c 6561 7374 206f 6e65 2063  t at least one c\n-00004010: 6861 7261 6374 6572 2069 7320 6176 6169  haracter is avai\n-00004020: 6c61 626c 652c 2074 6865 2063 7572 7265  lable, the curre\n-00004030: 6e74 2072 6563 6570 7469 6f6e 0a20 2020  nt reception.   \n-00004040: 2020 6275 6666 6572 2069 7320 7265 7475    buffer is retu\n-00004050: 726e 6564 2e0a 0a20 2020 2020 5468 6572  rned...     Ther\n-00004060: 6520 6973 2075 7375 616c 6c79 206c 6974  e is usually lit\n-00004070: 746c 6520 6761 696e 2069 6e20 7573 696e  tle gain in usin\n-00004080: 6720 7468 6973 2066 756e 6374 696f 6e20  g this function \n-00004090: 7768 6f73 6520 6265 6861 7669 6f72 0a20  whose behavior. \n-000040a0: 2020 2020 6973 2063 6f6d 7061 7261 626c      is comparabl\n-000040b0: 6520 746f 2074 6865 206f 6e65 206f 6620  e to the one of \n-000040c0: 2a6e 6f74 6520 5265 6365 6976 6520 2866  *note Receive (f\n-000040d0: 756e 6374 696f 6e29 3a3a 2e20 204f 7468  unction)::.  Oth\n-000040e0: 6572 0a20 2020 2020 6675 6e63 7469 6f6e  er.     function\n-000040f0: 7320 7375 6368 2061 7320 2a6e 6f74 6520  s such as *note \n-00004100: 4765 745f 4368 6172 2028 6675 6e63 7469  Get_Char (functi\n-00004110: 6f6e 293a 3a2c 206f 7220 2a6e 6f74 6520  on)::, or *note \n-00004120: 4765 745f 4c69 6e65 0a20 2020 2020 2866  Get_Line.     (f\n-00004130: 756e 6374 696f 6e29 3a3a 2c20 616c 6c6f  unction)::, allo\n-00004140: 7720 6d6f 7265 2073 7472 7563 7475 7265  w more structure\n-00004150: 6420 7072 6f67 7261 6d6d 696e 672e 0a0a  d programming...\n-00004160: 2020 2020 2048 6f77 6576 6572 2c20 7468       However, th\n-00004170: 6973 2066 756e 6374 696f 6e20 6d61 7920  is function may \n-00004180: 6265 2075 7365 6420 746f 2061 766f 6964  be used to avoid\n-00004190: 206c 6f73 696e 6720 6368 6172 6163 7465   losing characte\n-000041a0: 7273 2077 6865 6e0a 2020 2020 2063 616c  rs when.     cal\n-000041b0: 6c69 6e67 202a 6e6f 7465 2055 6e73 6574  ling *note Unset\n-000041c0: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n-000041d0: 7265 293a 3a2c 2069 662c 2066 6f72 2073  re)::, if, for s\n-000041e0: 6f6d 6520 7265 6173 6f6e 2c20 7468 650a  ome reason, the.\n-000041f0: 2020 2020 2072 656d 6f74 6520 686f 7374       remote host\n-00004200: 206d 6179 2068 6176 6520 7365 6e74 2073   may have sent s\n-00004210: 6f6d 652e 0a0a 4558 4345 5054 494f 4e53  ome...EXCEPTIONS\n-00004220: 0a20 2020 2020 e280 9843 6f6e 6e65 6374  .     ...Connect\n-00004230: 696f 6e5f 436c 6f73 6564 e280 9950 6565  ion_Closed...Pee\n-00004240: 7220 6861 7320 636c 6f73 6564 2074 6865  r has closed the\n-00004250: 2063 6f6e 6e65 6374 696f 6e20 6265 666f   connection befo\n-00004260: 7265 0a20 2020 2020 2020 2020 2020 2020  re.             \n-00004270: 2020 2020 2020 2020 2020 2073 656e 6469             sendi\n-00004280: 6e67 2061 6e79 2064 6174 610a 0a1f 0a46  ng any data....F\n-00004290: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n-000042a0: 696e 666f 2c20 204e 6f64 653a 2047 6574  info,  Node: Get\n-000042b0: 5f43 6861 7220 2866 756e 6374 696f 6e29  _Char (function)\n-000042c0: 2c20 204e 6578 743a 2047 6574 5f4c 696e  ,  Next: Get_Lin\n-000042d0: 6520 2866 756e 6374 696f 6e29 2c20 2050  e (function),  P\n-000042e0: 7265 763a 2047 6574 2028 6675 6e63 7469  rev: Get (functi\n-000042f0: 6f6e 292c 2020 5570 3a20 4163 6365 7074  on),  Up: Accept\n-00004300: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n-00004310: 7265 290a 0a47 6574 5f43 6861 7220 2866  re)..Get_Char (f\n-00004320: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d  unction).-------\n-00004330: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055  ------------..PU\n-00004340: 5250 4f53 450a 2020 2020 2047 6574 2061  RPOSE.     Get a\n-00004350: 2063 6861 7261 6374 6572 2066 726f 6d20   character from \n-00004360: 6120 7265 6d6f 7465 2068 6f73 740a 5052  a remote host.PR\n-00004370: 4f54 4f54 5950 450a 2020 2020 2020 2d2d  OTOTYPE.      --\n-00004380: 2053 6f63 6b65 7473 2e47 6574 5f43 6861   Sockets.Get_Cha\n-00004390: 723a 2066 756e 6374 696f 6e20 4765 745f  r: function Get_\n-000043a0: 4368 6172 2028 534f 434b 4554 203a 2053  Char (SOCKET : S\n-000043b0: 6f63 6b65 745f 4644 2743 6c61 7373 290a  ocket_FD'Class).\n-000043c0: 2020 2020 2020 2020 2020 2020 2020 2072                 r\n-000043d0: 6574 7572 6e20 4368 6172 6163 7465 723b  eturn Character;\n-000043e0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020  ..PARAMETERS.   \n-000043f0: 2020 534f 434b 4554 2020 2020 2069 6e20    SOCKET     in \n-00004400: 2020 2020 2020 2020 496e 6974 6961 6c69          Initiali\n-00004410: 7a65 6420 616e 6420 636f 6e6e 6563 7465  zed and connecte\n-00004420: 6420 736f 636b 6574 206f 626a 6563 740a  d socket object.\n-00004430: 0a52 4554 5552 4e20 5641 4c55 450a 2020  .RETURN VALUE.  \n-00004440: 2020 204f 6e65 2063 6861 7261 6374 6572     One character\n-00004450: 2073 656e 7420 6279 2074 6865 2072 656d   sent by the rem\n-00004460: 6f74 6520 686f 7374 0a0a 4445 5343 5249  ote host..DESCRI\n-00004470: 5054 494f 4e0a 2020 2020 2054 6869 7320  PTION.     This \n-00004480: 6675 6e63 7469 6f6e 2072 6563 6569 7665  function receive\n-00004490: 7320 6578 6163 746c 7920 6f6e 6520 6368  s exactly one ch\n-000044a0: 6172 6163 7465 7220 6672 6f6d 2074 6865  aracter from the\n-000044b0: 2072 656d 6f74 6520 686f 7374 2e0a 0a45   remote host...E\n-000044c0: 5843 4550 5449 4f4e 530a 2020 2020 20e2  XCEPTIONS.     .\n-000044d0: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f  ..Connection_Clo\n-000044e0: 7365 64e2 8099 5065 6572 2068 6173 2063  sed...Peer has c\n-000044f0: 6c6f 7365 6420 7468 6520 636f 6e6e 6563  losed the connec\n-00004500: 7469 6f6e 2062 6566 6f72 650a 2020 2020  tion before.    \n-00004510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00004520: 2020 2020 7365 6e64 696e 6720 7468 6520      sending the \n-00004530: 6368 6172 6163 7465 720a 0a53 4545 2041  character..SEE A\n-00004540: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047  LSO.     *note G\n-00004550: 6574 2028 6675 6e63 7469 6f6e 293a 3a2c  et (function)::,\n-00004560: 0a20 2020 2020 2a6e 6f74 6520 4765 745f  .     *note Get_\n-00004570: 4c69 6e65 2028 6675 6e63 7469 6f6e 293a  Line (function):\n-00004580: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765  :,.     *note Ge\n-00004590: 745f 4c69 6e65 2028 7072 6f63 6564 7572  t_Line (procedur\n-000045a0: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465  e)::,.     *note\n-000045b0: 2052 6563 6569 7665 2028 7072 6f63 6564   Receive (proced\n-000045c0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f  ure)::,.     *no\n-000045d0: 7465 2053 6574 5f42 7566 6665 7220 2870  te Set_Buffer (p\n-000045e0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n-000045f0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-00004600: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765  .info,  Node: Ge\n-00004610: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e  t_Line (function\n-00004620: 292c 2020 4e65 7874 3a20 4765 745f 4c69  ),  Next: Get_Li\n-00004630: 6e65 2028 7072 6f63 6564 7572 6529 2c20  ne (procedure), \n-00004640: 2050 7265 763a 2047 6574 5f43 6861 7220   Prev: Get_Char \n-00004650: 2866 756e 6374 696f 6e29 2c20 2055 703a  (function),  Up:\n-00004660: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-00004670: 7072 6f63 6564 7572 6529 0a0a 4765 745f  procedure)..Get_\n-00004680: 4c69 6e65 2028 6675 6e63 7469 6f6e 290a  Line (function).\n-00004690: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-000046a0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n-000046b0: 2020 4765 7420 6120 7768 6f6c 6520 6c69    Get a whole li\n-000046c0: 6e65 2066 726f 6d20 6120 7265 6d6f 7465  ne from a remote\n-000046d0: 2068 6f73 740a 5052 4f54 4f54 5950 450a   host.PROTOTYPE.\n-000046e0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n-000046f0: 2e47 6574 5f4c 696e 653a 2066 756e 6374  .Get_Line: funct\n-00004700: 696f 6e20 4765 745f 4c69 6e65 2028 534f  ion Get_Line (SO\n-00004710: 434b 4554 203a 2053 6f63 6b65 745f 4644  CKET : Socket_FD\n-00004720: 2743 6c61 7373 3b0a 2020 2020 2020 2020  'Class;.        \n-00004730: 2020 2020 2020 204d 4158 5f4c 454e 4754         MAX_LENGT\n-00004740: 4820 3a20 506f 7369 7469 7665 203a 3d20  H : Positive := \n-00004750: 3230 3438 290a 2020 2020 2020 2020 2020  2048).          \n-00004760: 2020 2020 2072 6574 7572 6e20 5374 7269       return Stri\n-00004770: 6e67 3b0a 0a50 4152 414d 4554 4552 530a  ng;..PARAMETERS.\n-00004780: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n-00004790: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n-000047a0: 616c 697a 6564 2061 6e64 2063 6f6e 6e65  alized and conne\n-000047b0: 6374 6564 2073 6f63 6b65 7420 6f62 6a65  cted socket obje\n-000047c0: 6374 0a20 2020 2020 4d41 585f 4c45 4e47  ct.     MAX_LENG\n-000047d0: 5448 2069 6e20 2020 2020 2020 2020 4d61  TH in         Ma\n-000047e0: 7869 6d75 6d20 7265 7475 726e 6564 206c  ximum returned l\n-000047f0: 696e 6520 6c65 6e67 7468 0a0a 5245 5455  ine length..RETU\n-00004800: 524e 2056 414c 5545 0a20 2020 2020 4120  RN VALUE.     A \n-00004810: 6c69 6e65 2077 6974 686f 7574 2074 6865  line without the\n-00004820: 2043 5220 616e 6420 4c46 2073 6570 6172   CR and LF separ\n-00004830: 6174 6f72 730a 0a44 4553 4352 4950 5449  ators..DESCRIPTI\n-00004840: 4f4e 0a20 2020 2020 5468 6973 2066 756e  ON.     This fun\n-00004850: 6374 696f 6e20 7265 6365 6976 6573 206f  ction receives o\n-00004860: 6e65 206c 696e 6520 6672 6f6d 2074 6865  ne line from the\n-00004870: 2072 656d 6f74 6520 686f 7374 2e20 2041   remote host.  A\n-00004880: 206c 696e 650a 2020 2020 2063 6f6e 7369   line.     consi\n-00004890: 7374 7320 696e 746f 207a 6572 6f20 6f72  sts into zero or\n-000048a0: 206d 6f72 6520 6368 6172 6163 7465 7273   more characters\n-000048b0: 2066 6f6c 6c6f 7765 6420 6279 2061 6e20   followed by an \n-000048c0: 6f70 7469 6f6e 616c 2043 520a 2020 2020  optional CR.    \n-000048d0: 2061 6e64 2062 7920 6120 4c46 2e20 5468   and by a LF. Th\n-000048e0: 6f73 6520 7465 726d 696e 6174 6f72 7320  ose terminators \n-000048f0: 6172 6520 7374 7269 7070 6564 2062 6566  are stripped bef\n-00004900: 6f72 6520 7468 6520 6c69 6e65 2069 730a  ore the line is.\n-00004910: 2020 2020 2072 6574 7572 6e65 642e 0a0a       returned...\n-00004920: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n-00004930: 6f6e 2062 6c6f 636b 7320 756e 7469 6c20  on blocks until \n-00004940: 6f6e 6520 6675 6c6c 206c 696e 6520 6861  one full line ha\n-00004950: 7320 6265 656e 2072 6563 6569 7665 642e  s been received.\n-00004960: 2020 5468 650a 2020 2020 206c 696e 6520    The.     line \n-00004970: 6c65 6e67 7468 2069 7320 6c69 6d69 7465  length is limite\n-00004980: 6420 7769 7468 2074 6865 2076 616c 7565  d with the value\n-00004990: 206f 6620 7468 6520 4d61 785f 4c65 6e67   of the Max_Leng\n-000049a0: 7468 2061 7267 756d 656e 742c 0a20 2020  th argument,.   \n-000049b0: 2020 746f 2061 766f 6964 2065 7868 6175    to avoid exhau\n-000049c0: 7374 696f 6e20 6f66 2074 6865 2073 6563  stion of the sec\n-000049d0: 6f6e 6461 7279 2073 7461 636b 2e0a 0a45  ondary stack...E\n-000049e0: 5843 4550 5449 4f4e 530a 2020 2020 20e2  XCEPTIONS.     .\n-000049f0: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f  ..Connection_Clo\n-00004a00: 7365 64e2 8099 5065 6572 2068 6173 2063  sed...Peer has c\n-00004a10: 6c6f 7365 6420 7468 6520 636f 6e6e 6563  losed the connec\n-00004a20: 7469 6f6e 2062 6566 6f72 650a 2020 2020  tion before.    \n-00004a30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00004a40: 2020 2020 7365 6e64 696e 6720 6120 7768      sending a wh\n-00004a50: 6f6c 6520 6c69 6e65 0a0a 5345 4520 414c  ole line..SEE AL\n-00004a60: 534f 0a20 2020 2020 2a6e 6f74 6520 4765  SO.     *note Ge\n-00004a70: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a  t (function)::,.\n-00004a80: 2020 2020 202a 6e6f 7465 2047 6574 5f43       *note Get_C\n-00004a90: 6861 7220 2866 756e 6374 696f 6e29 3a3a  har (function)::\n-00004aa0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574  ,.     *note Get\n-00004ab0: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n-00004ac0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520  )::,.     *note \n-00004ad0: 5265 6365 6976 6520 2870 726f 6365 6475  Receive (procedu\n-00004ae0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74  re)::,.     *not\n-00004af0: 6520 5365 745f 4275 6666 6572 2028 7072  e Set_Buffer (pr\n-00004b00: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46  ocedure)::.....F\n-00004b10: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n-00004b20: 696e 666f 2c20 204e 6f64 653a 2047 6574  info,  Node: Get\n-00004b30: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n-00004b40: 292c 2020 4e65 7874 3a20 4765 745f 5265  ),  Next: Get_Re\n-00004b50: 6365 6976 655f 5175 6575 655f 5369 7a65  ceive_Queue_Size\n-00004b60: 2028 6675 6e63 7469 6f6e 292c 2020 5072   (function),  Pr\n-00004b70: 6576 3a20 4765 745f 4c69 6e65 2028 6675  ev: Get_Line (fu\n-00004b80: 6e63 7469 6f6e 292c 2020 5570 3a20 4163  nction),  Up: Ac\n-00004b90: 6365 7074 5f53 6f63 6b65 7420 2870 726f  cept_Socket (pro\n-00004ba0: 6365 6475 7265 290a 0a47 6574 5f4c 696e  cedure)..Get_Lin\n-00004bb0: 6520 2870 726f 6365 6475 7265 290a 2d2d  e (procedure).--\n-00004bc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-00004bd0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n-00004be0: 2047 6574 2061 2077 686f 6c65 206c 696e   Get a whole lin\n-00004bf0: 6520 6672 6f6d 2061 2072 656d 6f74 6520  e from a remote \n-00004c00: 686f 7374 0a50 524f 544f 5459 5045 0a20  host.PROTOTYPE. \n-00004c10: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n-00004c20: 4765 745f 4c69 6e65 3a20 7072 6f63 6564  Get_Line: proced\n-00004c30: 7572 6520 4765 745f 4c69 6e65 2028 534f  ure Get_Line (SO\n-00004c40: 434b 4554 203a 2053 6f63 6b65 745f 4644  CKET : Socket_FD\n-00004c50: 2743 6c61 7373 3b0a 2020 2020 2020 2020  'Class;.        \n-00004c60: 2020 2020 2020 2053 5452 203a 2069 6e20         STR : in \n-00004c70: 6f75 7420 5374 7269 6e67 3b20 4c41 5354  out String; LAST\n-00004c80: 203a 206f 7574 204e 6174 7572 616c 293b   : out Natural);\n-00004c90: 0a0a 5041 5241 4d45 5445 5253 0a20 2020  ..PARAMETERS.   \n-00004ca0: 2020 534f 434b 4554 2020 2020 2069 6e20    SOCKET     in \n-00004cb0: 2020 2020 2020 2020 496e 6974 6961 6c69          Initiali\n-00004cc0: 7a65 6420 616e 6420 636f 6e6e 6563 7465  zed and connecte\n-00004cd0: 6420 736f 636b 6574 206f 626a 6563 740a  d socket object.\n-00004ce0: 2020 2020 2053 5452 2020 2020 2020 2020       STR        \n-00004cf0: 696e 206f 7574 2020 2020 2053 7472 696e  in out     Strin\n-00004d00: 6720 746f 2066 696c 6c0a 2020 2020 204c  g to fill.     L\n-00004d10: 4153 5420 2020 2020 2020 6f75 7420 2020  AST       out   \n-00004d20: 2020 2020 204c 6173 7420 696e 6465 7820       Last index \n-00004d30: 7573 6564 2069 6e20 7468 6520 7374 7269  used in the stri\n-00004d40: 6e67 0a0a 4445 5343 5249 5054 494f 4e0a  ng..DESCRIPTION.\n-00004d50: 2020 2020 2054 6869 7320 7072 6f63 6564       This proced\n-00004d60: 7572 6520 7265 6365 6976 6573 206f 6e65  ure receives one\n-00004d70: 206c 696e 6520 6672 6f6d 2074 6865 2072   line from the r\n-00004d80: 656d 6f74 6520 686f 7374 2e20 2041 206c  emote host.  A l\n-00004d90: 696e 650a 2020 2020 2063 6f6e 7369 7374  ine.     consist\n-00004da0: 7320 696e 746f 207a 6572 6f20 6f72 206d  s into zero or m\n-00004db0: 6f72 6520 6368 6172 6163 7465 7273 2066  ore characters f\n-00004dc0: 6f6c 6c6f 7765 6420 6279 2061 6e20 6f70  ollowed by an op\n-00004dd0: 7469 6f6e 616c 2043 520a 2020 2020 2061  tional CR.     a\n-00004de0: 6e64 2062 7920 6120 4c46 2e20 5468 6f73  nd by a LF. Thos\n-00004df0: 6520 7465 726d 696e 6174 6f72 7320 6172  e terminators ar\n-00004e00: 6520 7374 7269 7070 6564 2062 6566 6f72  e stripped befor\n-00004e10: 6520 7468 6520 6c69 6e65 2069 730a 2020  e the line is.  \n-00004e20: 2020 2072 6574 7572 6e65 642e 0a0a 2020     returned...  \n-00004e30: 2020 2054 6869 7320 7072 6f63 6564 7572     This procedur\n-00004e40: 6520 626c 6f63 6b73 2075 6e74 696c 206f  e blocks until o\n-00004e50: 6e65 2066 756c 6c20 6c69 6e65 2068 6173  ne full line has\n-00004e60: 2062 6565 6e20 7265 6365 6976 6564 2e0a   been received..\n-00004e70: 0a45 5843 4550 5449 4f4e 530a 2020 2020  .EXCEPTIONS.    \n-00004e80: 20e2 8098 436f 6e6e 6563 7469 6f6e 5f43   ...Connection_C\n-00004e90: 6c6f 7365 64e2 8099 5065 6572 2068 6173  losed...Peer has\n-00004ea0: 2063 6c6f 7365 6420 7468 6520 636f 6e6e   closed the conn\n-00004eb0: 6563 7469 6f6e 2062 6566 6f72 650a 2020  ection before.  \n-00004ec0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00004ed0: 2020 2020 2020 7365 6e64 696e 6720 6120        sending a \n-00004ee0: 7768 6f6c 6520 6c69 6e65 0a0a 5345 4520  whole line..SEE \n-00004ef0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n-00004f00: 4765 7420 2866 756e 6374 696f 6e29 3a3a  Get (function)::\n-00004f10: 2c0a 2020 2020 202a 6e6f 7465 2047 6574  ,.     *note Get\n-00004f20: 5f43 6861 7220 2866 756e 6374 696f 6e29  _Char (function)\n-00004f30: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047  ::,.     *note G\n-00004f40: 6574 5f4c 696e 6520 2866 756e 6374 696f  et_Line (functio\n-00004f50: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465  n)::,.     *note\n-00004f60: 2052 6563 6569 7665 2028 7072 6f63 6564   Receive (proced\n-00004f70: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f  ure)::,.     *no\n-00004f80: 7465 2053 6574 5f42 7566 6665 7220 2870  te Set_Buffer (p\n-00004f90: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n-00004fa0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-00004fb0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765  .info,  Node: Ge\n-00004fc0: 745f 5265 6365 6976 655f 5175 6575 655f  t_Receive_Queue_\n-00004fd0: 5369 7a65 2028 6675 6e63 7469 6f6e 292c  Size (function),\n-00004fe0: 2020 4e65 7874 3a20 4765 745f 5365 6e64    Next: Get_Send\n-00004ff0: 5f51 7565 7565 5f53 697a 6520 2866 756e  _Queue_Size (fun\n-00005000: 6374 696f 6e29 2c20 2050 7265 763a 2047  ction),  Prev: G\n-00005010: 6574 5f4c 696e 6520 2870 726f 6365 6475  et_Line (procedu\n-00005020: 7265 292c 2020 5570 3a20 4163 6365 7074  re),  Up: Accept\n-00005030: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n-00005040: 7265 290a 0a47 6574 5f52 6563 6569 7665  re)..Get_Receive\n-00005050: 5f51 7565 7565 5f53 697a 6520 2866 756e  _Queue_Size (fun\n-00005060: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d  ction).---------\n-00005070: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-00005080: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n-00005090: 450a 2020 2020 2052 6574 7572 6e20 7468  E.     Return th\n-000050a0: 6520 7369 7a65 206f 6620 7468 6520 756e  e size of the un\n-000050b0: 7265 6164 2064 6174 6120 696e 2074 6865  read data in the\n-000050c0: 2069 6e70 7574 2071 7565 7565 0a50 524f   input queue.PRO\n-000050d0: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n-000050e0: 536f 636b 6574 732e 4765 745f 5265 6365  Sockets.Get_Rece\n-000050f0: 6976 655f 5175 6575 655f 5369 7a65 3a20  ive_Queue_Size: \n-00005100: 6675 6e63 7469 6f6e 2047 6574 5f52 6563  function Get_Rec\n-00005110: 6569 7665 5f51 7565 7565 5f53 697a 650a  eive_Queue_Size.\n-00005120: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-00005130: 534f 434b 4554 203a 2053 6f63 6b65 745f  SOCKET : Socket_\n-00005140: 4644 2743 6c61 7373 290a 2020 2020 2020  FD'Class).      \n-00005150: 2020 2020 2020 2020 2072 6574 7572 6e20           return \n-00005160: 496e 7465 6765 723b 0a0a 5041 5241 4d45  Integer;..PARAME\n-00005170: 5445 5253 0a20 2020 2020 534f 434b 4554  TERS.     SOCKET\n-00005180: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n-00005190: 496e 6974 6961 6c69 7a65 6420 616e 6420  Initialized and \n-000051a0: 636f 6e6e 6563 7465 6420 736f 636b 6574  connected socket\n-000051b0: 206f 626a 6563 740a 0a52 4554 5552 4e20   object..RETURN \n-000051c0: 5641 4c55 450a 2020 2020 2054 6865 206e  VALUE.     The n\n-000051d0: 6f6e 2d6e 6567 6174 6976 6520 7369 7a65  on-negative size\n-000051e0: 2069 6e20 6279 7465 7320 6f66 2074 6865   in bytes of the\n-000051f0: 2069 6e70 7574 2071 7565 7565 0a0a 4445   input queue..DE\n-00005200: 5343 5249 5054 494f 4e0a 2020 2020 2054  SCRIPTION.     T\n-00005210: 6869 7320 6675 6e63 7469 6f6e 2069 7320  his function is \n-00005220: 6f6e 6c79 2061 7661 696c 6162 6c65 206f  only available o\n-00005230: 6e20 4c69 6e75 7820 706c 6174 666f 726d  n Linux platform\n-00005240: 732e 2020 4f6e 206f 7468 6572 0a20 2020  s.  On other.   \n-00005250: 2020 6f70 6572 6174 696e 6720 7379 7374    operating syst\n-00005260: 656d 732c 2069 7420 7769 6c6c 2072 6574  ems, it will ret\n-00005270: 7572 6e20 2d32 2074 6f20 696e 6469 6361  urn -2 to indica\n-00005280: 7465 2074 6861 7420 7468 6520 6e65 6365  te that the nece\n-00005290: 7373 6172 790a 2020 2020 206d 6563 6861  ssary.     mecha\n-000052a0: 6e69 736d 7320 746f 2072 6574 7269 6576  nisms to retriev\n-000052b0: 6520 7468 6520 696e 666f 726d 6174 696f  e the informatio\n-000052c0: 6e20 6172 6520 6e6f 7420 6176 6169 6c61  n are not availa\n-000052d0: 626c 652e 0a0a 5345 4520 414c 534f 0a20  ble...SEE ALSO. \n-000052e0: 2020 2020 2a6e 6f74 6520 5265 6365 6976      *note Receiv\n-000052f0: 6520 2870 726f 6365 6475 7265 293a 3a2e  e (procedure)::.\n-00005300: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63  ....File: adasoc\n-00005310: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465  kets.info,  Node\n-00005320: 3a20 4765 745f 5365 6e64 5f51 7565 7565  : Get_Send_Queue\n-00005330: 5f53 697a 6520 2866 756e 6374 696f 6e29  _Size (function)\n-00005340: 2c20 204e 6578 743a 2047 6574 736f 636b  ,  Next: Getsock\n-00005350: 6f70 7420 2870 726f 6365 6475 7265 292c  opt (procedure),\n-00005360: 2020 5072 6576 3a20 4765 745f 5265 6365    Prev: Get_Rece\n-00005370: 6976 655f 5175 6575 655f 5369 7a65 2028  ive_Queue_Size (\n-00005380: 6675 6e63 7469 6f6e 292c 2020 5570 3a20  function),  Up: \n-00005390: 4163 6365 7074 5f53 6f63 6b65 7420 2870  Accept_Socket (p\n-000053a0: 726f 6365 6475 7265 290a 0a47 6574 5f53  rocedure)..Get_S\n-000053b0: 656e 645f 5175 6575 655f 5369 7a65 2028  end_Queue_Size (\n-000053c0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d  function).------\n-000053d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-000053e0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n-000053f0: 450a 2020 2020 2052 6574 7572 6e20 7468  E.     Return th\n-00005400: 6520 7369 7a65 206f 6620 7468 6520 756e  e size of the un\n-00005410: 7365 6e74 2064 6174 6120 696e 2074 6865  sent data in the\n-00005420: 206f 7574 7075 7420 7175 6575 650a 5052   output queue.PR\n-00005430: 4f54 4f54 5950 450a 2020 2020 2020 2d2d  OTOTYPE.      --\n-00005440: 2053 6f63 6b65 7473 2e47 6574 5f53 656e   Sockets.Get_Sen\n-00005450: 645f 5175 6575 655f 5369 7a65 3a20 6675  d_Queue_Size: fu\n-00005460: 6e63 7469 6f6e 2047 6574 5f53 656e 645f  nction Get_Send_\n-00005470: 5175 6575 655f 5369 7a65 0a20 2020 2020  Queue_Size.     \n-00005480: 2020 2020 2020 2020 2020 2853 4f43 4b45            (SOCKE\n-00005490: 5420 3a20 536f 636b 6574 5f46 4427 436c  T : Socket_FD'Cl\n-000054a0: 6173 7329 0a20 2020 2020 2020 2020 2020  ass).           \n-000054b0: 2020 2020 7265 7475 726e 2049 6e74 6567      return Integ\n-000054c0: 6572 3b0a 0a50 4152 414d 4554 4552 530a  er;..PARAMETERS.\n-000054d0: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n-000054e0: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n-000054f0: 616c 697a 6564 2061 6e64 2063 6f6e 6e65  alized and conne\n-00005500: 6374 6564 2073 6f63 6b65 7420 6f62 6a65  cted socket obje\n-00005510: 6374 0a0a 5245 5455 524e 2056 414c 5545  ct..RETURN VALUE\n-00005520: 0a20 2020 2020 5468 6520 6e6f 6e2d 6e65  .     The non-ne\n-00005530: 6761 7469 7665 2073 697a 6520 696e 2062  gative size in b\n-00005540: 7974 6573 206f 6620 7468 6520 6f75 7470  ytes of the outp\n-00005550: 7574 2071 7565 7565 0a0a 4445 5343 5249  ut queue..DESCRI\n-00005560: 5054 494f 4e0a 2020 2020 2054 6869 7320  PTION.     This \n-00005570: 6675 6e63 7469 6f6e 2069 7320 6f6e 6c79  function is only\n-00005580: 2061 7661 696c 6162 6c65 206f 6e20 4c69   available on Li\n-00005590: 6e75 7820 706c 6174 666f 726d 732e 2020  nux platforms.  \n-000055a0: 4f6e 206f 7468 6572 0a20 2020 2020 6f70  On other.     op\n-000055b0: 6572 6174 696e 6720 7379 7374 656d 732c  erating systems,\n-000055c0: 2069 7420 7769 6c6c 2072 6574 7572 6e20   it will return \n-000055d0: 2d32 2074 6f20 696e 6469 6361 7465 2074  -2 to indicate t\n-000055e0: 6861 7420 7468 6520 6e65 6365 7373 6172  hat the necessar\n-000055f0: 790a 2020 2020 206d 6563 6861 6e69 736d  y.     mechanism\n-00005600: 7320 746f 2072 6574 7269 6576 6520 7468  s to retrieve th\n-00005610: 6520 696e 666f 726d 6174 696f 6e20 6172  e information ar\n-00005620: 6520 6e6f 7420 6176 6169 6c61 626c 652e  e not available.\n-00005630: 0a0a 5345 4520 414c 534f 0a20 2020 2020  ..SEE ALSO.     \n-00005640: 2a6e 6f74 6520 5365 6e64 2028 7072 6f63  *note Send (proc\n-00005650: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c  edure)::.....Fil\n-00005660: 653a 2061 6461 736f 636b 6574 732e 696e  e: adasockets.in\n-00005670: 666f 2c20 204e 6f64 653a 2047 6574 736f  fo,  Node: Getso\n-00005680: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n-00005690: 292c 2020 4e65 7874 3a20 4c69 7374 656e  ),  Next: Listen\n-000056a0: 2028 7072 6f63 6564 7572 6529 2c20 2050   (procedure),  P\n-000056b0: 7265 763a 2047 6574 5f53 656e 645f 5175  rev: Get_Send_Qu\n-000056c0: 6575 655f 5369 7a65 2028 6675 6e63 7469  eue_Size (functi\n-000056d0: 6f6e 292c 2020 5570 3a20 4163 6365 7074  on),  Up: Accept\n-000056e0: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n-000056f0: 7265 290a 0a47 6574 736f 636b 6f70 7420  re)..Getsockopt \n-00005700: 2870 726f 6365 6475 7265 290a 2d2d 2d2d  (procedure).----\n-00005710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-00005720: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n-00005730: 2052 6574 7269 6576 6520 6120 736f 636b   Retrieve a sock\n-00005740: 6574 206f 7074 696f 6e0a 5052 4f54 4f54  et option.PROTOT\n-00005750: 5950 450a 2020 2020 2020 2d2d 2053 6f63  YPE.      -- Soc\n-00005760: 6b65 7473 2e47 6574 736f 636b 6f70 743a  kets.Getsockopt:\n-00005770: 2070 726f 6365 6475 7265 2047 6574 736f   procedure Getso\n-00005780: 636b 6f70 7420 2853 4f43 4b45 5420 3a20  ckopt (SOCKET : \n-00005790: 536f 636b 6574 5f46 443b 0a20 2020 2020  Socket_FD;.     \n-000057a0: 2020 2020 2020 2020 2020 4c45 5645 4c20            LEVEL \n-000057b0: 3a20 536f 636b 6574 5f4c 6576 656c 203a  : Socket_Level :\n-000057c0: 3d20 534f 4c5f 534f 434b 4554 3b0a 2020  = SOL_SOCKET;.  \n-000057d0: 2020 2020 2020 2020 2020 2020 204f 5054               OPT\n-000057e0: 4e41 4d45 203a 2053 6f63 6b65 745f 4f70  NAME : Socket_Op\n-000057f0: 7469 6f6e 3b20 4f50 5456 414c 203a 206f  tion; OPTVAL : o\n-00005800: 7574 2049 6e74 6567 6572 293b 0a0a 5041  ut Integer);..PA\n-00005810: 5241 4d45 5445 5253 0a20 2020 2020 534f  RAMETERS.     SO\n-00005820: 434b 4554 2020 2020 2069 6e20 2020 2020  CKET     in     \n-00005830: 2020 2020 496e 6974 6961 6c69 7a65 6420      Initialized \n-00005840: 616e 6420 626f 756e 6420 736f 636b 6574  and bound socket\n-00005850: 206f 626a 6563 740a 2020 2020 204c 4556   object.     LEV\n-00005860: 454c 2020 2020 2020 696e 2020 2020 2020  EL      in      \n-00005870: 2020 2050 726f 746f 636f 6c20 6c65 7665     Protocol leve\n-00005880: 6c0a 2020 2020 204f 5054 4e41 4d45 2020  l.     OPTNAME  \n-00005890: 2020 696e 2020 2020 2020 2020 204f 7074    in         Opt\n-000058a0: 696f 6e20 6e61 6d65 0a20 2020 2020 4f50  ion name.     OP\n-000058b0: 5456 414c 2020 2020 206f 7574 2020 2020  TVAL     out    \n-000058c0: 2020 2020 4f70 7469 6f6e 2076 616c 7565      Option value\n-000058d0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020  ..DESCRIPTION.  \n-000058e0: 2020 2054 6869 7320 7072 6f63 6564 7572     This procedur\n-000058f0: 6520 7265 7472 6965 7665 7320 6f70 7469  e retrieves opti\n-00005900: 6f6e 7320 6170 706c 6963 6162 6c65 2074  ons applicable t\n-00005910: 6f20 6120 736f 636b 6574 2e20 2050 6c65  o a socket.  Ple\n-00005920: 6173 650a 2020 2020 2073 6565 2079 6f75  ase.     see you\n-00005930: 7220 6f70 6572 6174 696e 6720 7379 7374  r operating syst\n-00005940: 656d 206d 616e 7561 6c20 666f 7220 7573  em manual for us\n-00005950: 6162 6c65 206c 6576 656c 7320 616e 6420  able levels and \n-00005960: 6f70 7469 6f6e 732e 0a0a 2020 2020 2054  options...     T\n-00005970: 776f 206c 6576 656c 7320 6172 6520 6465  wo levels are de\n-00005980: 6669 6e65 643a 20e2 8098 534f 4c5f 534f  fined: ...SOL_SO\n-00005990: 434b 4554 e280 9920 2874 6865 2064 6566  CKET... (the def\n-000059a0: 6175 6c74 2920 616e 640a 2020 2020 20e2  ault) and.     .\n-000059b0: 8098 4950 5052 4f54 4f5f 4950 e280 992e  ..IPPROTO_IP....\n-000059c0: 2020 5468 6520 6f70 7469 6f6e 7320 6172    The options ar\n-000059d0: 6520 e280 9853 4f5f 5245 5553 4541 4444  e ...SO_REUSEADD\n-000059e0: 52e2 8099 2c20 e280 9853 4f5f 5245 5553  R..., ...SO_REUS\n-000059f0: 4550 4f52 54e2 8099 2c0a 2020 2020 20e2  EPORT...,.     .\n-00005a00: 8098 4950 5f4d 554c 5449 4341 5354 5f54  ..IP_MULTICAST_T\n-00005a10: 544c e280 992c 20e2 8098 4950 5f41 4444  TL..., ...IP_ADD\n-00005a20: 5f4d 454d 4245 5253 4849 50e2 8099 2c20  _MEMBERSHIP..., \n-00005a30: e280 9849 505f 4452 4f50 5f4d 454d 4245  ...IP_DROP_MEMBE\n-00005a40: 5253 4849 50e2 8099 2c0a 2020 2020 20e2  RSHIP...,.     .\n-00005a50: 8098 4950 5f4d 554c 5449 4341 5354 5f4c  ..IP_MULTICAST_L\n-00005a60: 4f4f 50e2 8099 2c20 e280 9853 4f5f 534e  OOP..., ...SO_SN\n-00005a70: 4442 5546 e280 9920 616e 6420 e280 9849  DBUF... and ...I\n-00005a80: 505f 5243 5642 5546 e280 992e 0a0a 2020  P_RCVBUF......  \n-00005a90: 2020 204e 6f74 6520 7468 6174 2075 6e6c     Note that unl\n-00005aa0: 696b 6520 7468 6569 7220 4320 6c61 6e67  ike their C lang\n-00005ab0: 7561 6765 2063 6f75 6e74 6572 7061 7274  uage counterpart\n-00005ac0: 2c20 e280 9847 6574 736f 636b 6f70 74e2  , ...Getsockopt.\n-00005ad0: 8099 2061 6e64 0a20 2020 2020 e280 9853  .. and.     ...S\n-00005ae0: 6574 736f 636b 6f70 74e2 8099 2064 6f20  etsockopt... do \n-00005af0: 6e6f 7420 7265 7175 6972 6520 616e 2065  not require an e\n-00005b00: 7874 7261 2070 6172 616d 6574 6572 2072  xtra parameter r\n-00005b10: 6570 7265 7365 6e74 696e 6720 7468 650a  epresenting the.\n-00005b20: 2020 2020 206c 656e 6774 6820 696e 2062       length in b\n-00005b30: 7974 6573 206f 6620 7468 6520 6f70 7469  ytes of the opti\n-00005b40: 6f6e 2076 616c 7565 2e20 2041 6461 536f  on value.  AdaSo\n-00005b50: 636b 6574 7320 6b6e 6f77 7320 7468 6520  ckets knows the \n-00005b60: 7269 6768 740a 2020 2020 2073 697a 6520  right.     size \n-00005b70: 666f 7220 6576 6572 7920 6f70 7469 6f6e  for every option\n-00005b80: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020  ...SEE ALSO.    \n-00005b90: 202a 6e6f 7465 2053 6574 736f 636b 6f70   *note Setsockop\n-00005ba0: 7420 2870 726f 6365 6475 7265 293a 3a2e  t (procedure)::.\n-00005bb0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63  ....File: adasoc\n-00005bc0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465  kets.info,  Node\n-00005bd0: 3a20 4c69 7374 656e 2028 7072 6f63 6564  : Listen (proced\n-00005be0: 7572 6529 2c20 204e 6578 743a 204e 6577  ure),  Next: New\n-00005bf0: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n-00005c00: 292c 2020 5072 6576 3a20 4765 7473 6f63  ),  Prev: Getsoc\n-00005c10: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n-00005c20: 2c20 2055 703a 2041 6363 6570 745f 536f  ,  Up: Accept_So\n-00005c30: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n-00005c40: 0a0a 4c69 7374 656e 2028 7072 6f63 6564  ..Listen (proced\n-00005c50: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ure).-----------\n-00005c60: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n-00005c70: 0a20 2020 2020 4573 7461 626c 6973 6820  .     Establish \n-00005c80: 6120 6c69 7374 656e 2071 7565 7565 0a50  a listen queue.P\n-00005c90: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n-00005ca0: 2d20 536f 636b 6574 732e 4c69 7374 656e  - Sockets.Listen\n-00005cb0: 3a20 7072 6f63 6564 7572 6520 4c69 7374  : procedure List\n-00005cc0: 656e 2028 534f 434b 4554 203a 2053 6f63  en (SOCKET : Soc\n-00005cd0: 6b65 745f 4644 3b0a 2020 2020 2020 2020  ket_FD;.        \n-00005ce0: 2020 2020 2020 2051 5545 5545 5f53 495a         QUEUE_SIZ\n-00005cf0: 4520 3a20 506f 7369 7469 7665 203a 3d20  E : Positive := \n-00005d00: 3529 3b0a 0a50 4152 414d 4554 4552 530a  5);..PARAMETERS.\n-00005d10: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n-00005d20: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n-00005d30: 616c 697a 6564 2061 6e64 2062 6f75 6e64  alized and bound\n-00005d40: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20   socket object. \n-00005d50: 2020 2020 5155 4555 455f 5349 5a45 2069      QUEUE_SIZE i\n-00005d60: 6e20 2020 2020 2020 2020 5265 7175 6573  n         Reques\n-00005d70: 7465 6420 736c 6f74 7320 696e 2074 6865  ted slots in the\n-00005d80: 206c 6973 7465 6e20 7175 6575 650a 0a44   listen queue..D\n-00005d90: 4553 4352 4950 5449 4f4e 0a20 2020 2020  ESCRIPTION.     \n-00005da0: 5468 6973 2070 726f 6365 6475 7265 2065  This procedure e\n-00005db0: 7374 6162 6c69 7368 6573 2061 206c 6973  stablishes a lis\n-00005dc0: 7465 6e20 7175 6575 6520 6166 7465 7220  ten queue after \n-00005dd0: 6120 5443 5020 736f 636b 6574 2061 730a  a TCP socket as.\n-00005de0: 2020 2020 2062 6565 6e20 696e 6974 6961       been initia\n-00005df0: 6c69 7a65 6420 616e 6420 626f 756e 642e  lized and bound.\n-00005e00: 2020 4561 6368 2073 6c6f 7420 696e 2074    Each slot in t\n-00005e10: 6865 2071 7565 7565 2063 616e 2068 6f6c  he queue can hol\n-00005e20: 6420 6f6e 650a 2020 2020 2069 6e63 6f6d  d one.     incom\n-00005e30: 696e 6720 636f 6e6e 6563 7469 6f6e 2074  ing connection t\n-00005e40: 6861 7420 6861 7320 6e6f 7420 6265 656e  hat has not been\n-00005e50: 2061 6363 6570 7465 6420 7965 742e 2020   accepted yet.  \n-00005e60: 4e6f 7465 2074 6861 7420 6d6f 7374 0a20  Note that most. \n-00005e70: 2020 2020 6f70 6572 6174 696e 6720 7379      operating sy\n-00005e80: 7374 656d 7320 6967 6e6f 7265 2071 7565  stems ignore que\n-00005e90: 7565 2073 697a 6573 206c 6172 6765 7220  ue sizes larger \n-00005ea0: 7468 616e 2066 6976 652e 0a0a 5345 4520  than five...SEE \n-00005eb0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n-00005ec0: 4163 6365 7074 5f53 6f63 6b65 7420 2870  Accept_Socket (p\n-00005ed0: 726f 6365 6475 7265 293a 3a2c 0a20 2020  rocedure)::,.   \n-00005ee0: 2020 2a6e 6f74 6520 4269 6e64 2028 7072    *note Bind (pr\n-00005ef0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020  ocedure)::,.    \n-00005f00: 202a 6e6f 7465 2053 6f63 6b65 7420 2870   *note Socket (p\n-00005f10: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n-00005f20: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-00005f30: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4e65  .info,  Node: Ne\n-00005f40: 775f 4c69 6e65 2028 7072 6f63 6564 7572  w_Line (procedur\n-00005f50: 6529 2c20 204e 6578 743a 2050 7574 2028  e),  Next: Put (\n-00005f60: 7072 6f63 6564 7572 6529 2c20 2050 7265  procedure),  Pre\n-00005f70: 763a 204c 6973 7465 6e20 2870 726f 6365  v: Listen (proce\n-00005f80: 6475 7265 292c 2020 5570 3a20 4163 6365  dure),  Up: Acce\n-00005f90: 7074 5f53 6f63 6b65 7420 2870 726f 6365  pt_Socket (proce\n-00005fa0: 6475 7265 290a 0a4e 6577 5f4c 696e 6520  dure)..New_Line \n-00005fb0: 2870 726f 6365 6475 7265 290a 2d2d 2d2d  (procedure).----\n-00005fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-00005fd0: 0a0a 5055 5250 4f53 450a 2020 2020 2053  ..PURPOSE.     S\n-00005fe0: 656e 6420 6120 4352 2f4c 4620 746f 2061  end a CR/LF to a\n-00005ff0: 2072 656d 6f74 6520 686f 7374 0a50 524f   remote host.PRO\n-00006000: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n-00006010: 536f 636b 6574 732e 4e65 775f 4c69 6e65  Sockets.New_Line\n-00006020: 3a20 7072 6f63 6564 7572 6520 4e65 775f  : procedure New_\n-00006030: 4c69 6e65 2028 534f 434b 4554 203a 2053  Line (SOCKET : S\n-00006040: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a  ocket_FD'Class;.\n-00006050: 2020 2020 2020 2020 2020 2020 2020 2043                 C\n-00006060: 4f55 4e54 203a 204e 6174 7572 616c 203a  OUNT : Natural :\n-00006070: 3d20 3129 3b0a 0a50 4152 414d 4554 4552  = 1);..PARAMETER\n-00006080: 530a 2020 2020 2053 4f43 4b45 5420 2020  S.     SOCKET   \n-00006090: 2020 696e 2020 2020 2020 2020 2049 6e69    in         Ini\n-000060a0: 7469 616c 697a 6564 2061 6e64 2063 6f6e  tialized and con\n-000060b0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62  nected socket ob\n-000060c0: 6a65 6374 0a20 2020 2020 434f 554e 5420  ject.     COUNT \n-000060d0: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n-000060e0: 4e75 6d62 6572 206f 6620 4352 2f4c 4620  Number of CR/LF \n-000060f0: 7365 7175 656e 6365 7320 746f 2073 656e  sequences to sen\n-00006100: 640a 0a44 4553 4352 4950 5449 4f4e 0a20  d..DESCRIPTION. \n-00006110: 2020 2020 5468 6973 2070 726f 6365 6475      This procedu\n-00006120: 7265 2073 656e 6473 206f 6e65 206f 7220  re sends one or \n-00006130: 6d6f 7265 2043 522f 4c46 2063 6f6d 6269  more CR/LF combi\n-00006140: 6e61 7469 6f6e 7320 746f 2074 6865 2070  nations to the p\n-00006150: 6565 722e 0a0a 4558 4345 5054 494f 4e53  eer...EXCEPTIONS\n-00006160: 0a20 2020 2020 e280 9843 6f6e 6e65 6374  .     ...Connect\n-00006170: 696f 6e5f 436c 6f73 6564 e280 9950 6565  ion_Closed...Pee\n-00006180: 7220 6861 7320 7072 656d 6174 7572 656c  r has prematurel\n-00006190: 7920 636c 6f73 6564 2074 6865 2063 6f6e  y closed the con\n-000061a0: 6e65 6374 696f 6e0a 0a53 4545 2041 4c53  nection..SEE ALS\n-000061b0: 4f0a 2020 2020 202a 6e6f 7465 2050 7574  O.     *note Put\n-000061c0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n-000061d0: 2020 2020 202a 6e6f 7465 2050 7574 5f4c       *note Put_L\n-000061e0: 696e 6520 2870 726f 6365 6475 7265 293a  ine (procedure):\n-000061f0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173  :.....File: adas\n-00006200: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n-00006210: 6465 3a20 5075 7420 2870 726f 6365 6475  de: Put (procedu\n-00006220: 7265 292c 2020 4e65 7874 3a20 5075 745f  re),  Next: Put_\n-00006230: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n-00006240: 2c20 2050 7265 763a 204e 6577 5f4c 696e  ,  Prev: New_Lin\n-00006250: 6520 2870 726f 6365 6475 7265 292c 2020  e (procedure),  \n-00006260: 5570 3a20 4163 6365 7074 5f53 6f63 6b65  Up: Accept_Socke\n-00006270: 7420 2870 726f 6365 6475 7265 290a 0a50  t (procedure)..P\n-00006280: 7574 2028 7072 6f63 6564 7572 6529 0a2d  ut (procedure).-\n-00006290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a  --------------..\n-000062a0: 5055 5250 4f53 450a 2020 2020 2053 656e  PURPOSE.     Sen\n-000062b0: 6420 6120 7374 7269 6e67 2074 6f20 6120  d a string to a \n-000062c0: 7265 6d6f 7465 2068 6f73 740a 5052 4f54  remote host.PROT\n-000062d0: 4f54 5950 450a 2020 2020 2020 2d2d 2053  OTYPE.      -- S\n-000062e0: 6f63 6b65 7473 2e50 7574 3a20 7072 6f63  ockets.Put: proc\n-000062f0: 6564 7572 6520 5075 7420 2853 4f43 4b45  edure Put (SOCKE\n-00006300: 5420 3a20 536f 636b 6574 5f46 4427 436c  T : Socket_FD'Cl\n-00006310: 6173 733b 0a20 2020 2020 2020 2020 2020  ass;.           \n-00006320: 2020 2020 5354 5220 3a20 5374 7269 6e67      STR : String\n-00006330: 293b 0a0a 5041 5241 4d45 5445 5253 0a20  );..PARAMETERS. \n-00006340: 2020 2020 534f 434b 4554 2020 2020 2069      SOCKET     i\n-00006350: 6e20 2020 2020 2020 2020 496e 6974 6961  n         Initia\n-00006360: 6c69 7a65 6420 616e 6420 636f 6e6e 6563  lized and connec\n-00006370: 7465 6420 736f 636b 6574 206f 626a 6563  ted socket objec\n-00006380: 740a 2020 2020 2053 5452 2020 2020 2020  t.     STR      \n-00006390: 2020 696e 2020 2020 2020 2020 2053 7472    in         Str\n-000063a0: 696e 6720 746f 2073 656e 640a 0a44 4553  ing to send..DES\n-000063b0: 4352 4950 5449 4f4e 0a20 2020 2020 5468  CRIPTION.     Th\n-000063c0: 6973 2070 726f 6365 6475 7265 2073 656e  is procedure sen\n-000063d0: 6473 2074 6865 2063 6f6e 7465 6e74 206f  ds the content o\n-000063e0: 6620 5354 5220 6f76 6572 2061 6e20 6f75  f STR over an ou\n-000063f0: 7467 6f69 6e67 206f 720a 2020 2020 2069  tgoing or.     i\n-00006400: 6e63 6f6d 696e 6720 736f 636b 6574 2e0a  ncoming socket..\n-00006410: 0a45 5843 4550 5449 4f4e 530a 2020 2020  .EXCEPTIONS.    \n-00006420: 20e2 8098 436f 6e6e 6563 7469 6f6e 5f43   ...Connection_C\n-00006430: 6c6f 7365 64e2 8099 5065 6572 2068 6173  losed...Peer has\n-00006440: 2070 7265 6d61 7475 7265 6c79 2063 6c6f   prematurely clo\n-00006450: 7365 6420 7468 6520 636f 6e6e 6563 7469  sed the connecti\n-00006460: 6f6e 0a0a 5345 4520 414c 534f 0a20 2020  on..SEE ALSO.   \n-00006470: 2020 2a6e 6f74 6520 4e65 775f 4c69 6e65    *note New_Line\n-00006480: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n-00006490: 2020 2020 202a 6e6f 7465 2050 7574 5f4c       *note Put_L\n-000064a0: 696e 6520 2870 726f 6365 6475 7265 293a  ine (procedure):\n-000064b0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365  :,.     *note Se\n-000064c0: 6e64 2028 7072 6f63 6564 7572 6529 3a3a  nd (procedure)::\n-000064d0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f  .....File: adaso\n-000064e0: 636b 6574 732e 696e 666f 2c20 204e 6f64  ckets.info,  Nod\n-000064f0: 653a 2050 7574 5f4c 696e 6520 2870 726f  e: Put_Line (pro\n-00006500: 6365 6475 7265 292c 2020 4e65 7874 3a20  cedure),  Next: \n-00006510: 5265 6365 6976 6520 2866 756e 6374 696f  Receive (functio\n-00006520: 6e29 2c20 2050 7265 763a 2050 7574 2028  n),  Prev: Put (\n-00006530: 7072 6f63 6564 7572 6529 2c20 2055 703a  procedure),  Up:\n-00006540: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-00006550: 7072 6f63 6564 7572 6529 0a0a 5075 745f  procedure)..Put_\n-00006560: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n-00006570: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n-00006580: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20  -----..PURPOSE. \n-00006590: 2020 2020 5365 6e64 2061 2043 522f 4c46      Send a CR/LF\n-000065a0: 2074 6572 6d69 6e61 7465 6420 7374 7269   terminated stri\n-000065b0: 6e67 2074 6f20 6120 7265 6d6f 7465 2068  ng to a remote h\n-000065c0: 6f73 740a 5052 4f54 4f54 5950 450a 2020  ost.PROTOTYPE.  \n-000065d0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e50      -- Sockets.P\n-000065e0: 7574 5f4c 696e 653a 2070 726f 6365 6475  ut_Line: procedu\n-000065f0: 7265 2050 7574 5f4c 696e 6520 2853 4f43  re Put_Line (SOC\n-00006600: 4b45 5420 3a20 536f 636b 6574 5f46 4427  KET : Socket_FD'\n-00006610: 436c 6173 733b 0a20 2020 2020 2020 2020  Class;.         \n-00006620: 2020 2020 2020 5354 5220 3a20 5374 7269        STR : Stri\n-00006630: 6e67 293b 0a0a 5041 5241 4d45 5445 5253  ng);..PARAMETERS\n-00006640: 0a20 2020 2020 534f 434b 4554 2020 2020  .     SOCKET    \n-00006650: 2069 6e20 2020 2020 2020 2020 496e 6974   in         Init\n-00006660: 6961 6c69 7a65 6420 616e 6420 636f 6e6e  ialized and conn\n-00006670: 6563 7465 6420 736f 636b 6574 206f 626a  ected socket obj\n-00006680: 6563 740a 2020 2020 2053 5452 2020 2020  ect.     STR    \n-00006690: 2020 2020 696e 2020 2020 2020 2020 2053      in         S\n-000066a0: 7472 696e 6720 746f 2073 656e 640a 0a44  tring to send..D\n-000066b0: 4553 4352 4950 5449 4f4e 0a20 2020 2020  ESCRIPTION.     \n-000066c0: 5468 6973 2070 726f 6365 6475 7265 2073  This procedure s\n-000066d0: 656e 6473 2074 6865 2063 6f6e 7465 6e74  ends the content\n-000066e0: 206f 6620 5354 5220 706c 7573 2061 2043   of STR plus a C\n-000066f0: 522f 4c46 2063 6f6d 6269 6e61 7469 6f6e  R/LF combination\n-00006700: 0a20 2020 2020 6f76 6572 2061 6e20 6f75  .     over an ou\n-00006710: 7467 6f69 6e67 206f 7220 696e 636f 6d69  tgoing or incomi\n-00006720: 6e67 2073 6f63 6b65 742e 0a0a 4558 4345  ng socket...EXCE\n-00006730: 5054 494f 4e53 0a20 2020 2020 e280 9843  PTIONS.     ...C\n-00006740: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564  onnection_Closed\n-00006750: e280 9950 6565 7220 6861 7320 7072 656d  ...Peer has prem\n-00006760: 6174 7572 656c 7920 636c 6f73 6564 2074  aturely closed t\n-00006770: 6865 2063 6f6e 6e65 6374 696f 6e0a 0a53  he connection..S\n-00006780: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f  EE ALSO.     *no\n-00006790: 7465 204e 6577 5f4c 696e 6520 2870 726f  te New_Line (pro\n-000067a0: 6365 6475 7265 293a 3a2c 0a20 2020 2020  cedure)::,.     \n-000067b0: 2a6e 6f74 6520 5075 7420 2870 726f 6365  *note Put (proce\n-000067c0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e  dure)::,.     *n\n-000067d0: 6f74 6520 5365 6e64 2028 7072 6f63 6564  ote Send (proced\n-000067e0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a  ure)::.....File:\n-000067f0: 2061 6461 736f 636b 6574 732e 696e 666f   adasockets.info\n-00006800: 2c20 204e 6f64 653a 2052 6563 6569 7665  ,  Node: Receive\n-00006810: 2028 6675 6e63 7469 6f6e 292c 2020 4e65   (function),  Ne\n-00006820: 7874 3a20 5265 6365 6976 6520 2870 726f  xt: Receive (pro\n-00006830: 6365 6475 7265 292c 2020 5072 6576 3a20  cedure),  Prev: \n-00006840: 5075 745f 4c69 6e65 2028 7072 6f63 6564  Put_Line (proced\n-00006850: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n-00006860: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n-00006870: 7572 6529 0a0a 5265 6365 6976 6520 2866  ure)..Receive (f\n-00006880: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d  unction).-------\n-00006890: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552  -----------..PUR\n-000068a0: 504f 5345 0a20 2020 2020 5265 6365 6976  POSE.     Receiv\n-000068b0: 6520 7261 7720 6461 7461 206f 7665 7220  e raw data over \n-000068c0: 6120 736f 636b 6574 0a50 524f 544f 5459  a socket.PROTOTY\n-000068d0: 5045 0a20 2020 2020 202d 2d20 536f 636b  PE.      -- Sock\n-000068e0: 6574 732e 5265 6365 6976 653a 2066 756e  ets.Receive: fun\n-000068f0: 6374 696f 6e20 5265 6365 6976 6520 2853  ction Receive (S\n-00006900: 4f43 4b45 5420 3a20 536f 636b 6574 5f46  OCKET : Socket_F\n-00006910: 443b 0a20 2020 2020 2020 2020 2020 2020  D;.             \n-00006920: 2020 4d41 5820 3a20 4164 612e 5374 7265    MAX : Ada.Stre\n-00006930: 616d 732e 5374 7265 616d 5f45 6c65 6d65  ams.Stream_Eleme\n-00006940: 6e74 5f43 6f75 6e74 203a 3d20 3430 3936  nt_Count := 4096\n-00006950: 290a 2020 2020 2020 2020 2020 2020 2020  ).              \n-00006960: 2072 6574 7572 6e20 4164 612e 5374 7265   return Ada.Stre\n-00006970: 616d 732e 5374 7265 616d 5f45 6c65 6d65  ams.Stream_Eleme\n-00006980: 6e74 5f41 7272 6179 3b0a 0a50 4152 414d  nt_Array;..PARAM\n-00006990: 4554 4552 530a 2020 2020 2053 4f43 4b45  ETERS.     SOCKE\n-000069a0: 5420 2020 2020 696e 2020 2020 2020 2020  T     in        \n-000069b0: 2049 6e69 7469 616c 697a 6564 2061 6e64   Initialized and\n-000069c0: 2062 6f75 6e64 206f 7220 636f 6e6e 6563   bound or connec\n-000069d0: 7465 640a 2020 2020 2020 2020 2020 2020  ted.            \n-000069e0: 2020 2020 2020 2020 2020 2020 2020 2073                 s\n-000069f0: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020  ocket object.   \n-00006a00: 2020 4d41 5820 2020 2020 2020 2069 6e20    MAX        in \n-00006a10: 2020 2020 2020 2020 4d61 7869 6d75 6d20          Maximum \n-00006a20: 6461 7461 206c 656e 6774 680a 0a52 4554  data length..RET\n-00006a30: 5552 4e20 5641 4c55 450a 2020 2020 2052  URN VALUE.     R\n-00006a40: 6563 6569 7665 6420 7261 7720 6461 7461  eceived raw data\n-00006a50: 0a0a 4445 5343 5249 5054 494f 4e0a 2020  ..DESCRIPTION.  \n-00006a60: 2020 2054 6869 7320 7072 6f63 6564 7572     This procedur\n-00006a70: 6520 7265 6365 6976 6573 2064 6174 6120  e receives data \n-00006a80: 6672 6f6d 2061 2062 6f75 6e64 2055 4450  from a bound UDP\n-00006a90: 2073 6f63 6b65 7420 6f72 2061 2063 6f6e   socket or a con\n-00006aa0: 6e65 6374 6564 0a20 2020 2020 5443 5020  nected.     TCP \n-00006ab0: 736f 636b 6574 2e20 204f 6e6c 7920 6f6e  socket.  Only on\n-00006ac0: 6520 7379 7374 656d 2063 616c 6c20 7769  e system call wi\n-00006ad0: 6c6c 2062 6520 7065 7266 6f72 6d65 643b  ll be performed;\n-00006ae0: 2074 6869 7320 6675 6e63 7469 6f6e 0a20   this function. \n-00006af0: 2020 2020 7769 6c6c 2072 6574 7572 6e20      will return \n-00006b00: 7768 6174 6576 6572 2064 6174 6120 6861  whatever data ha\n-00006b10: 7320 6172 7269 7665 642e 2020 4e6f 7465  s arrived.  Note\n-00006b20: 2074 6861 7420 696e 2047 4e41 5420 7468   that in GNAT th\n-00006b30: 650a 2020 2020 2073 6563 6f6e 6461 7279  e.     secondary\n-00006b40: 2073 7461 636b 206d 6179 2062 6520 7573   stack may be us\n-00006b50: 6564 2074 6f20 7374 6f72 6520 7468 6520  ed to store the \n-00006b60: 6461 7461 2061 6e64 206d 6179 2072 6573  data and may res\n-00006b70: 756c 7420 696e 0a20 2020 2020 7374 6163  ult in.     stac\n-00006b80: 6b20 7374 6f72 6167 6520 6578 6861 7573  k storage exhaus\n-00006b90: 7469 6f6e 2e0a 0a45 5843 4550 5449 4f4e  tion...EXCEPTION\n-00006ba0: 530a 2020 2020 20e2 8098 436f 6e6e 6563  S.     ...Connec\n-00006bb0: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065  tion_Closed...Pe\n-00006bc0: 6572 2068 6173 2063 6c6f 7365 6420 7468  er has closed th\n-00006bd0: 6520 636f 6e6e 6563 7469 6f6e 2062 6566  e connection bef\n-00006be0: 6f72 650a 2020 2020 2020 2020 2020 2020  ore.            \n-00006bf0: 2020 2020 2020 2020 2020 2020 7365 6e64              send\n-00006c00: 696e 6720 616e 7920 6461 7461 0a0a 5345  ing any data..SE\n-00006c10: 4520 414c 534f 0a20 2020 2020 2a6e 6f74  E ALSO.     *not\n-00006c20: 6520 5265 6365 6976 6520 2870 726f 6365  e Receive (proce\n-00006c30: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e  dure)::,.     *n\n-00006c40: 6f74 6520 5265 6365 6976 655f 536f 6d65  ote Receive_Some\n-00006c50: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n-00006c60: 2020 2020 202a 6e6f 7465 2047 6574 5f4c       *note Get_L\n-00006c70: 696e 6520 2866 756e 6374 696f 6e29 3a3a  ine (function)::\n-00006c80: 2c0a 2020 2020 202a 6e6f 7465 2047 6574  ,.     *note Get\n-00006c90: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n-00006ca0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164  )::.....File: ad\n-00006cb0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n-00006cc0: 4e6f 6465 3a20 5265 6365 6976 6520 2870  Node: Receive (p\n-00006cd0: 726f 6365 6475 7265 292c 2020 4e65 7874  rocedure),  Next\n-00006ce0: 3a20 5265 6365 6976 655f 536f 6d65 2028  : Receive_Some (\n-00006cf0: 7072 6f63 6564 7572 6529 2c20 2050 7265  procedure),  Pre\n-00006d00: 763a 2052 6563 6569 7665 2028 6675 6e63  v: Receive (func\n-00006d10: 7469 6f6e 292c 2020 5570 3a20 4163 6365  tion),  Up: Acce\n-00006d20: 7074 5f53 6f63 6b65 7420 2870 726f 6365  pt_Socket (proce\n-00006d30: 6475 7265 290a 0a52 6563 6569 7665 2028  dure)..Receive (\n-00006d40: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d  procedure).-----\n-00006d50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a  --------------..\n-00006d60: 5055 5250 4f53 450a 2020 2020 2052 6563  PURPOSE.     Rec\n-00006d70: 6569 7665 2072 6177 2064 6174 6120 6f76  eive raw data ov\n-00006d80: 6572 2061 2073 6f63 6b65 740a 5052 4f54  er a socket.PROT\n-00006d90: 4f54 5950 450a 2020 2020 2020 2d2d 2053  OTYPE.      -- S\n-00006da0: 6f63 6b65 7473 2e52 6563 6569 7665 3a20  ockets.Receive: \n-00006db0: 7072 6f63 6564 7572 6520 5265 6365 6976  procedure Receiv\n-00006dc0: 6520 2853 4f43 4b45 5420 3a20 536f 636b  e (SOCKET : Sock\n-00006dd0: 6574 5f46 4427 436c 6173 733b 0a20 2020  et_FD'Class;.   \n-00006de0: 2020 2020 2020 2020 2020 2020 4441 5441              DATA\n-00006df0: 203a 206f 7574 2041 6461 2e53 7472 6561   : out Ada.Strea\n-00006e00: 6d73 2e53 7472 6561 6d5f 456c 656d 656e  ms.Stream_Elemen\n-00006e10: 745f 4172 7261 7929 3b0a 0a50 4152 414d  t_Array);..PARAM\n-00006e20: 4554 4552 530a 2020 2020 2053 4f43 4b45  ETERS.     SOCKE\n-00006e30: 5420 2020 2020 696e 2020 2020 2020 2020  T     in        \n-00006e40: 2049 6e69 7469 616c 697a 6564 2061 6e64   Initialized and\n-00006e50: 2062 6f75 6e64 206f 7220 636f 6e6e 6563   bound or connec\n-00006e60: 7465 640a 2020 2020 2020 2020 2020 2020  ted.            \n-00006e70: 2020 2020 2020 2020 2020 2020 2020 2073                 s\n-00006e80: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020  ocket object.   \n-00006e90: 2020 4441 5441 2020 2020 2020 206f 7574    DATA       out\n-00006ea0: 2020 2020 2020 2020 496e 636f 6d69 6e67          Incoming\n-00006eb0: 2064 6174 6120 6275 6666 6572 0a0a 4445   data buffer..DE\n-00006ec0: 5343 5249 5054 494f 4e0a 2020 2020 2054  SCRIPTION.     T\n-00006ed0: 6869 7320 7072 6f63 6564 7572 6520 7265  his procedure re\n-00006ee0: 6365 6976 6573 2064 6174 6120 6672 6f6d  ceives data from\n-00006ef0: 2061 2062 6f75 6e64 2055 4450 2073 6f63   a bound UDP soc\n-00006f00: 6b65 7420 6f72 2061 2063 6f6e 6e65 6374  ket or a connect\n-00006f10: 6564 0a20 2020 2020 5443 5020 736f 636b  ed.     TCP sock\n-00006f20: 6574 2e20 2049 7420 7769 6c6c 2062 6c6f  et.  It will blo\n-00006f30: 636b 2075 6e74 696c 2074 6865 2044 4154  ck until the DAT\n-00006f40: 4120 7265 6365 7074 696f 6e20 6275 6666  A reception buff\n-00006f50: 6572 2068 6173 2062 6565 6e0a 2020 2020  er has been.    \n-00006f60: 2074 6f74 616c 6c79 2066 696c 6c65 642e   totally filled.\n-00006f70: 0a0a 4558 4345 5054 494f 4e53 0a20 2020  ..EXCEPTIONS.   \n-00006f80: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f    ...Connection_\n-00006f90: 436c 6f73 6564 e280 9950 6565 7220 6861  Closed...Peer ha\n-00006fa0: 7320 636c 6f73 6564 2074 6865 2063 6f6e  s closed the con\n-00006fb0: 6e65 6374 696f 6e20 6265 666f 7265 0a20  nection before. \n-00006fc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00006fd0: 2020 2020 2020 20e2 8098 4461 7461 274c         ...Data'L\n-00006fe0: 656e 6774 68e2 8099 2062 7974 6573 0a20  ength... bytes. \n-00006ff0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00007000: 2020 2020 2020 2077 6572 6520 7265 6365         were rece\n-00007010: 6976 6564 0a0a 5345 4520 414c 534f 0a20  ived..SEE ALSO. \n-00007020: 2020 2020 2a6e 6f74 6520 4765 745f 4c69      *note Get_Li\n-00007030: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c  ne (function)::,\n-00007040: 0a20 2020 2020 2a6e 6f74 6520 4765 745f  .     *note Get_\n-00007050: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n-00007060: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052  ::,.     *note R\n-00007070: 6563 6569 7665 2028 6675 6e63 7469 6f6e  eceive (function\n-00007080: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520  )::,.     *note \n-00007090: 5265 6365 6976 655f 536f 6d65 2028 7072  Receive_Some (pr\n-000070a0: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46  ocedure)::.....F\n-000070b0: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n-000070c0: 696e 666f 2c20 204e 6f64 653a 2052 6563  info,  Node: Rec\n-000070d0: 6569 7665 5f53 6f6d 6520 2870 726f 6365  eive_Some (proce\n-000070e0: 6475 7265 292c 2020 4e65 7874 3a20 5365  dure),  Next: Se\n-000070f0: 6e64 2028 7072 6f63 6564 7572 6529 2c20  nd (procedure), \n-00007100: 2050 7265 763a 2052 6563 6569 7665 2028   Prev: Receive (\n-00007110: 7072 6f63 6564 7572 6529 2c20 2055 703a  procedure),  Up:\n-00007120: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-00007130: 7072 6f63 6564 7572 6529 0a0a 5265 6365  procedure)..Rece\n-00007140: 6976 655f 536f 6d65 2028 7072 6f63 6564  ive_Some (proced\n-00007150: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ure).-----------\n-00007160: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n-00007170: 5552 504f 5345 0a20 2020 2020 5265 6365  URPOSE.     Rece\n-00007180: 6976 6520 7261 7720 6461 7461 206f 7665  ive raw data ove\n-00007190: 7220 6120 736f 636b 6574 0a50 524f 544f  r a socket.PROTO\n-000071a0: 5459 5045 0a20 2020 2020 202d 2d20 536f  TYPE.      -- So\n-000071b0: 636b 6574 732e 5265 6365 6976 655f 536f  ckets.Receive_So\n-000071c0: 6d65 3a20 7072 6f63 6564 7572 6520 5265  me: procedure Re\n-000071d0: 6365 6976 655f 536f 6d65 0a20 2020 2020  ceive_Some.     \n-000071e0: 2020 2020 2020 2020 2020 2853 4f43 4b45            (SOCKE\n-000071f0: 5420 3a20 536f 636b 6574 5f46 4427 436c  T : Socket_FD'Cl\n-00007200: 6173 733b 0a20 2020 2020 2020 2020 2020  ass;.           \n-00007210: 2020 2020 4441 5441 203a 206f 7574 2041      DATA : out A\n-00007220: 6461 2e53 7472 6561 6d73 2e53 7472 6561  da.Streams.Strea\n-00007230: 6d5f 456c 656d 656e 745f 4172 7261 793b  m_Element_Array;\n-00007240: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-00007250: 4c41 5354 203a 206f 7574 2041 6461 2e53  LAST : out Ada.S\n-00007260: 7472 6561 6d73 2e53 7472 6561 6d5f 456c  treams.Stream_El\n-00007270: 656d 656e 745f 4f66 6673 6574 293b 0a0a  ement_Offset);..\n-00007280: 5041 5241 4d45 5445 5253 0a20 2020 2020  PARAMETERS.     \n-00007290: 534f 434b 4554 2020 2020 2069 6e20 2020  SOCKET     in   \n-000072a0: 2020 2020 2020 496e 6974 6961 6c69 7a65        Initialize\n-000072b0: 6420 616e 6420 626f 756e 6420 6f72 2063  d and bound or c\n-000072c0: 6f6e 6e65 6374 6564 0a20 2020 2020 2020  onnected.       \n-000072d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000072e0: 2020 2020 736f 636b 6574 206f 626a 6563      socket objec\n-000072f0: 740a 2020 2020 2044 4154 4120 2020 2020  t.     DATA     \n-00007300: 2020 6f75 7420 2020 2020 2020 2049 6e63    out        Inc\n-00007310: 6f6d 696e 6720 6461 7461 2062 7566 6665  oming data buffe\n-00007320: 720a 2020 2020 204c 4153 5420 2020 2020  r.     LAST     \n-00007330: 2020 6f75 7420 2020 2020 2020 2049 6e64    out        Ind\n-00007340: 6578 206f 6620 6c61 7374 2065 6c65 6d65  ex of last eleme\n-00007350: 6e74 2070 6c61 6365 6420 696e 746f 2044  nt placed into D\n-00007360: 4154 410a 0a44 4553 4352 4950 5449 4f4e  ATA..DESCRIPTION\n-00007370: 0a20 2020 2020 5468 6973 2070 726f 6365  .     This proce\n-00007380: 6475 7265 2072 6563 6569 7665 7320 6461  dure receives da\n-00007390: 7461 2066 726f 6d20 6120 626f 756e 6420  ta from a bound \n-000073a0: 5544 5020 736f 636b 6574 206f 7220 6120  UDP socket or a \n-000073b0: 636f 6e6e 6563 7465 640a 2020 2020 2054  connected.     T\n-000073c0: 4350 2073 6f63 6b65 742e 2020 4173 2073  CP socket.  As s\n-000073d0: 6f6f 6e20 6173 2061 7420 6c65 6173 7420  oon as at least \n-000073e0: 6f6e 6520 6279 7465 2068 6173 2062 6565  one byte has bee\n-000073f0: 6e20 7265 6164 2c20 6974 2072 6574 7572  n read, it retur\n-00007400: 6e73 0a20 2020 2020 7769 7468 204c 4153  ns.     with LAS\n-00007410: 5420 7365 7420 746f 2074 6865 2069 6e64  T set to the ind\n-00007420: 6578 206f 6620 7468 6520 6c61 7465 7374  ex of the latest\n-00007430: 2077 7269 7474 656e 2065 6c65 6d65 6e74   written element\n-00007440: 206f 6620 4441 5441 2e0a 0a45 5843 4550   of DATA...EXCEP\n-00007450: 5449 4f4e 530a 2020 2020 20e2 8098 436f  TIONS.     ...Co\n-00007460: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2  nnection_Closed.\n-00007470: 8099 5065 6572 2068 6173 2063 6c6f 7365  ..Peer has close\n-00007480: 6420 7468 6520 636f 6e6e 6563 7469 6f6e  d the connection\n-00007490: 2062 6566 6f72 650a 2020 2020 2020 2020   before.        \n-000074a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000074b0: 7365 6e64 696e 6720 616e 7920 6461 7461  sending any data\n-000074c0: 0a0a 5345 4520 414c 534f 0a20 2020 2020  ..SEE ALSO.     \n-000074d0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028  *note Get_Line (\n-000074e0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020  function)::,.   \n-000074f0: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65    *note Get_Line\n-00007500: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n-00007510: 2020 2020 202a 6e6f 7465 2052 6563 6569       *note Recei\n-00007520: 7665 2028 6675 6e63 7469 6f6e 293a 3a2c  ve (function)::,\n-00007530: 0a20 2020 2020 2a6e 6f74 6520 5265 6365  .     *note Rece\n-00007540: 6976 6520 2870 726f 6365 6475 7265 293a  ive (procedure):\n-00007550: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173  :.....File: adas\n-00007560: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n-00007570: 6465 3a20 5365 6e64 2028 7072 6f63 6564  de: Send (proced\n-00007580: 7572 6529 2c20 204e 6578 743a 2053 6574  ure),  Next: Set\n-00007590: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n-000075a0: 7265 292c 2020 5072 6576 3a20 5265 6365  re),  Prev: Rece\n-000075b0: 6976 655f 536f 6d65 2028 7072 6f63 6564  ive_Some (proced\n-000075c0: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n-000075d0: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n-000075e0: 7572 6529 0a0a 5365 6e64 2028 7072 6f63  ure)..Send (proc\n-000075f0: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d  edure).---------\n-00007600: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n-00007610: 0a20 2020 2020 5365 6e64 2072 6177 2064  .     Send raw d\n-00007620: 6174 6120 6f76 6572 2061 2073 6f63 6b65  ata over a socke\n-00007630: 740a 5052 4f54 4f54 5950 450a 2020 2020  t.PROTOTYPE.    \n-00007640: 2020 2d2d 2053 6f63 6b65 7473 2e53 656e    -- Sockets.Sen\n-00007650: 643a 2070 726f 6365 6475 7265 2053 656e  d: procedure Sen\n-00007660: 6420 2853 4f43 4b45 5420 3a20 536f 636b  d (SOCKET : Sock\n-00007670: 6574 5f46 443b 0a20 2020 2020 2020 2020  et_FD;.         \n-00007680: 2020 2020 2020 4441 5441 203a 206f 7574        DATA : out\n-00007690: 2041 6461 2e53 7472 6561 6d73 2e53 7472   Ada.Streams.Str\n-000076a0: 6561 6d5f 456c 656d 656e 745f 4172 7261  eam_Element_Arra\n-000076b0: 7929 3b0a 0a50 4152 414d 4554 4552 530a  y);..PARAMETERS.\n-000076c0: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n-000076d0: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n-000076e0: 616c 697a 6564 2061 6e64 2063 6f6e 6e65  alized and conne\n-000076f0: 6374 6564 2073 6f63 6b65 7420 6f62 6a65  cted socket obje\n-00007700: 6374 0a20 2020 2020 4441 5441 2020 2020  ct.     DATA    \n-00007710: 2020 206f 7574 2020 2020 2020 2020 4461     out        Da\n-00007720: 7461 2074 6f20 6265 2073 656e 740a 0a44  ta to be sent..D\n-00007730: 4553 4352 4950 5449 4f4e 0a20 2020 2020  ESCRIPTION.     \n-00007740: 5468 6973 2070 726f 6365 6475 7265 2073  This procedure s\n-00007750: 656e 6473 2064 6174 6120 6f76 6572 2061  ends data over a\n-00007760: 2063 6f6e 6e65 6374 6564 206f 7574 676f   connected outgo\n-00007770: 696e 6720 736f 636b 6574 206f 7220 6f76  ing socket or ov\n-00007780: 6572 0a20 2020 2020 616e 2069 6e63 6f6d  er.     an incom\n-00007790: 696e 6720 736f 636b 6574 2e0a 0a45 5843  ing socket...EXC\n-000077a0: 4550 5449 4f4e 530a 2020 2020 20e2 8098  EPTIONS.     ...\n-000077b0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365  Connection_Close\n-000077c0: 64e2 8099 5065 6572 2068 6173 2070 7265  d...Peer has pre\n-000077d0: 6d61 7475 7265 6c79 2063 6c6f 7365 6420  maturely closed \n-000077e0: 7468 6520 636f 6e6e 6563 7469 6f6e 0a0a  the connection..\n-000077f0: 5345 4520 414c 534f 0a20 2020 2020 2a6e  SEE ALSO.     *n\n-00007800: 6f74 6520 5075 7420 2870 726f 6365 6475  ote Put (procedu\n-00007810: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74  re)::,.     *not\n-00007820: 6520 5075 745f 4c69 6e65 2028 7072 6f63  e Put_Line (proc\n-00007830: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c  edure)::.....Fil\n-00007840: 653a 2061 6461 736f 636b 6574 732e 696e  e: adasockets.in\n-00007850: 666f 2c20 204e 6f64 653a 2053 6574 5f42  fo,  Node: Set_B\n-00007860: 7566 6665 7220 2870 726f 6365 6475 7265  uffer (procedure\n-00007870: 292c 2020 4e65 7874 3a20 5365 7473 6f63  ),  Next: Setsoc\n-00007880: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n-00007890: 2c20 2050 7265 763a 2053 656e 6420 2870  ,  Prev: Send (p\n-000078a0: 726f 6365 6475 7265 292c 2020 5570 3a20  rocedure),  Up: \n-000078b0: 4163 6365 7074 5f53 6f63 6b65 7420 2870  Accept_Socket (p\n-000078c0: 726f 6365 6475 7265 290a 0a53 6574 5f42  rocedure)..Set_B\n-000078d0: 7566 6665 7220 2870 726f 6365 6475 7265  uffer (procedure\n-000078e0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ).--------------\n-000078f0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n-00007900: 450a 2020 2020 2049 6e73 7461 6c6c 2061  E.     Install a\n-00007910: 206c 696e 652d 6f72 6965 6e74 6564 2062   line-oriented b\n-00007920: 7566 6665 7220 6f66 2074 6865 2073 6f63  uffer of the soc\n-00007930: 6b65 7420 6f62 6a65 6374 0a50 524f 544f  ket object.PROTO\n-00007940: 5459 5045 0a20 2020 2020 202d 2d20 536f  TYPE.      -- So\n-00007950: 636b 6574 732e 5365 745f 4275 6666 6572  ckets.Set_Buffer\n-00007960: 3a20 7072 6f63 6564 7572 6520 5365 745f  : procedure Set_\n-00007970: 4275 6666 6572 0a20 2020 2020 2020 2020  Buffer.         \n-00007980: 2020 2020 2020 2853 4f43 4b45 5420 3a20        (SOCKET : \n-00007990: 536f 636b 6574 5f46 4427 436c 6173 733b  Socket_FD'Class;\n-000079a0: 204c 454e 4754 4820 3a20 506f 7369 7469   LENGTH : Positi\n-000079b0: 7665 203a 3d20 3135 3030 293b 0a0a 5041  ve := 1500);..PA\n-000079c0: 5241 4d45 5445 5253 0a20 2020 2020 534f  RAMETERS.     SO\n-000079d0: 434b 4554 2020 2020 2069 6e20 2020 2020  CKET     in     \n-000079e0: 2020 2020 496e 6974 6961 6c69 7a65 6420      Initialized \n-000079f0: 616e 6420 636f 6e6e 6563 7465 6420 736f  and connected so\n-00007a00: 636b 6574 206f 626a 6563 740a 2020 2020  cket object.    \n-00007a10: 204c 454e 4754 4820 2020 2020 696e 2020   LENGTH     in  \n-00007a20: 2020 2020 2020 2053 697a 6520 696e 2062         Size in b\n-00007a30: 7974 6573 206f 6620 7468 6520 6e65 776c  ytes of the newl\n-00007a40: 7920 696e 7374 616c 6c65 640a 2020 2020  y installed.    \n-00007a50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00007a60: 2020 2020 2020 2062 7566 6665 720a 0a44         buffer..D\n-00007a70: 4553 4352 4950 5449 4f4e 0a20 2020 2020  ESCRIPTION.     \n-00007a80: 5468 6973 2070 726f 6365 6475 7265 2070  This procedure p\n-00007a90: 7574 7320 7468 6520 736f 636b 6574 206f  uts the socket o\n-00007aa0: 626a 6563 7420 696e 2062 7566 6665 7265  bject in buffere\n-00007ab0: 6420 6d6f 6465 2e20 2049 6620 7468 650a  d mode.  If the.\n-00007ac0: 2020 2020 2073 6f63 6b65 7420 7761 7320       socket was \n-00007ad0: 616c 7265 6164 7920 6275 6666 6572 6564  already buffered\n-00007ae0: 2c20 7468 6520 636f 6e74 656e 7420 6f66  , the content of\n-00007af0: 2074 6865 2070 7265 7669 6f75 7320 6275   the previous bu\n-00007b00: 6666 6572 0a20 2020 2020 7769 6c6c 2062  ffer.     will b\n-00007b10: 6520 6c6f 7374 2e20 2054 6865 2062 7566  e lost.  The buf\n-00007b20: 6665 7265 6420 6d6f 6465 206f 6e6c 7920  fered mode only \n-00007b30: 6166 6665 6374 7320 6368 6172 6163 7465  affects characte\n-00007b40: 722d 2061 6e64 0a20 2020 2020 6c69 6e65  r- and.     line\n-00007b50: 2d6f 7269 656e 7465 6420 7265 6164 206f  -oriented read o\n-00007b60: 7065 7261 7469 6f6e 2073 7563 6820 6173  peration such as\n-00007b70: 202a 6e6f 7465 2047 6574 2028 6675 6e63   *note Get (func\n-00007b80: 7469 6f6e 293a 3a2c 202a 6e6f 7465 0a20  tion)::, *note. \n-00007b90: 2020 2020 4765 745f 4368 6172 2028 6675      Get_Char (fu\n-00007ba0: 6e63 7469 6f6e 293a 3a2c 2061 6e64 202a  nction)::, and *\n-00007bb0: 6e6f 7465 2047 6574 5f4c 696e 6520 2866  note Get_Line (f\n-00007bc0: 756e 6374 696f 6e29 3a3a 2e20 204f 7468  unction)::.  Oth\n-00007bd0: 6572 0a20 2020 2020 7265 6365 7074 696f  er.     receptio\n-00007be0: 6e20 7375 6270 726f 6772 616d 7320 7769  n subprograms wi\n-00007bf0: 6c6c 206e 6f74 2066 756e 6374 696f 6e20  ll not function \n-00007c00: 7072 6f70 6572 6c79 2069 6620 6275 6666  properly if buff\n-00007c10: 6572 6564 206d 6f64 650a 2020 2020 2069  ered mode.     i\n-00007c20: 7320 7573 6564 2061 7420 7468 6520 7361  s used at the sa\n-00007c30: 6d65 2074 696d 652e 0a0a 2020 2020 2054  me time...     T\n-00007c40: 6865 2073 697a 6520 6f66 2074 6865 2062  he size of the b\n-00007c50: 7566 6665 7220 6861 7320 746f 2062 6520  uffer has to be \n-00007c60: 6772 6561 7465 7220 7468 616e 2074 6865  greater than the\n-00007c70: 2062 6967 6765 7374 2070 6f73 7369 626c   biggest possibl\n-00007c80: 650a 2020 2020 2070 6163 6b65 7420 7365  e.     packet se\n-00007c90: 6e74 2062 7920 7468 6520 7265 6d6f 7465  nt by the remote\n-00007ca0: 2068 6f73 742c 206f 7468 6572 7769 7365   host, otherwise\n-00007cb0: 2064 6174 6120 6c6f 7373 206d 6179 206f   data loss may o\n-00007cc0: 6363 7572 2e0a 0a53 4545 2041 4c53 4f0a  ccur...SEE ALSO.\n-00007cd0: 2020 2020 202a 6e6f 7465 2055 6e73 6574       *note Unset\n-00007ce0: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n-00007cf0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  re)::.....File: \n-00007d00: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n-00007d10: 2020 4e6f 6465 3a20 5365 7473 6f63 6b6f    Node: Setsocko\n-00007d20: 7074 2028 7072 6f63 6564 7572 6529 2c20  pt (procedure), \n-00007d30: 204e 6578 743a 2053 6875 7464 6f77 6e20   Next: Shutdown \n-00007d40: 2870 726f 6365 6475 7265 292c 2020 5072  (procedure),  Pr\n-00007d50: 6576 3a20 5365 745f 4275 6666 6572 2028  ev: Set_Buffer (\n-00007d60: 7072 6f63 6564 7572 6529 2c20 2055 703a  procedure),  Up:\n-00007d70: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-00007d80: 7072 6f63 6564 7572 6529 0a0a 5365 7473  procedure)..Sets\n-00007d90: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n-00007da0: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  e).-------------\n-00007db0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f  ---------..PURPO\n-00007dc0: 5345 0a20 2020 2020 5365 7420 6120 736f  SE.     Set a so\n-00007dd0: 636b 6574 206f 7074 696f 6e0a 5052 4f54  cket option.PROT\n-00007de0: 4f54 5950 450a 2020 2020 2020 2d2d 2053  OTYPE.      -- S\n-00007df0: 6f63 6b65 7473 2e53 6574 736f 636b 6f70  ockets.Setsockop\n-00007e00: 743a 2070 726f 6365 6475 7265 2053 6574  t: procedure Set\n-00007e10: 736f 636b 6f70 7420 2853 4f43 4b45 5420  sockopt (SOCKET \n-00007e20: 3a20 536f 636b 6574 5f46 443b 0a20 2020  : Socket_FD;.   \n-00007e30: 2020 2020 2020 2020 2020 2020 4c45 5645              LEVE\n-00007e40: 4c20 3a20 536f 636b 6574 5f4c 6576 656c  L : Socket_Level\n-00007e50: 203a 3d20 534f 4c5f 534f 434b 4554 3b0a   := SOL_SOCKET;.\n-00007e60: 2020 2020 2020 2020 2020 2020 2020 204f                 O\n-00007e70: 5054 4e41 4d45 203a 2053 6f63 6b65 745f  PTNAME : Socket_\n-00007e80: 4f70 7469 6f6e 3b20 4f50 5456 414c 203a  Option; OPTVAL :\n-00007e90: 2049 6e74 6567 6572 293b 0a0a 5041 5241   Integer);..PARA\n-00007ea0: 4d45 5445 5253 0a20 2020 2020 534f 434b  METERS.     SOCK\n-00007eb0: 4554 2020 2020 2069 6e20 2020 2020 2020  ET     in       \n-00007ec0: 2020 496e 6974 6961 6c69 7a65 6420 616e    Initialized an\n-00007ed0: 6420 626f 756e 6420 736f 636b 6574 206f  d bound socket o\n-00007ee0: 626a 6563 740a 2020 2020 204c 4556 454c  bject.     LEVEL\n-00007ef0: 2020 2020 2020 696e 2020 2020 2020 2020        in        \n-00007f00: 2050 726f 746f 636f 6c20 6c65 7665 6c0a   Protocol level.\n-00007f10: 2020 2020 204f 5054 4e41 4d45 2020 2020       OPTNAME    \n-00007f20: 696e 2020 2020 2020 2020 204f 7074 696f  in         Optio\n-00007f30: 6e20 6e61 6d65 0a20 2020 2020 4f50 5456  n name.     OPTV\n-00007f40: 414c 2020 2020 2069 6e20 2020 2020 2020  AL     in       \n-00007f50: 2020 4f70 7469 6f6e 2076 616c 7565 0a0a    Option value..\n-00007f60: 4445 5343 5249 5054 494f 4e0a 2020 2020  DESCRIPTION.    \n-00007f70: 2054 6869 7320 7072 6f63 6564 7572 6520   This procedure \n-00007f80: 7365 7473 206f 7074 696f 6e73 2061 7070  sets options app\n-00007f90: 6c69 6361 626c 6520 746f 2061 2073 6f63  licable to a soc\n-00007fa0: 6b65 742e 2020 506c 6561 7365 2073 6565  ket.  Please see\n-00007fb0: 0a20 2020 2020 796f 7572 206f 7065 7261  .     your opera\n-00007fc0: 7469 6e67 2073 7973 7465 6d20 6d61 6e75  ting system manu\n-00007fd0: 616c 2066 6f72 2075 7361 626c 6520 6c65  al for usable le\n-00007fe0: 7665 6c73 2061 6e64 206f 7074 696f 6e73  vels and options\n-00007ff0: 2e0a 0a20 2020 2020 5477 6f20 6c65 7665  ...     Two leve\n-00008000: 6c73 2061 7265 2064 6566 696e 6564 3a20  ls are defined: \n-00008010: e280 9853 4f4c 5f53 4f43 4b45 54e2 8099  ...SOL_SOCKET...\n-00008020: 2028 7468 6520 6465 6661 756c 7429 2061   (the default) a\n-00008030: 6e64 0a20 2020 2020 e280 9849 5050 524f  nd.     ...IPPRO\n-00008040: 544f 5f49 50e2 8099 2e20 2054 6865 206f  TO_IP....  The o\n-00008050: 7074 696f 6e73 2061 7265 20e2 8098 534f  ptions are ...SO\n-00008060: 5f52 4555 5345 4144 4452 e280 992c 20e2  _REUSEADDR..., .\n-00008070: 8098 534f 5f52 4555 5345 504f 5254 e280  ..SO_REUSEPORT..\n-00008080: 992c 0a20 2020 2020 e280 9849 505f 4d55  .,.     ...IP_MU\n-00008090: 4c54 4943 4153 545f 5454 4ce2 8099 2c20  LTICAST_TTL..., \n-000080a0: e280 9849 505f 4144 445f 4d45 4d42 4552  ...IP_ADD_MEMBER\n-000080b0: 5348 4950 e280 992c 20e2 8098 4950 5f44  SHIP..., ...IP_D\n-000080c0: 524f 505f 4d45 4d42 4552 5348 4950 e280  ROP_MEMBERSHIP..\n-000080d0: 992c 0a20 2020 2020 e280 9849 505f 4d55  .,.     ...IP_MU\n-000080e0: 4c54 4943 4153 545f 4c4f 4f50 e280 992c  LTICAST_LOOP...,\n-000080f0: 20e2 8098 534f 5f53 4e44 4255 46e2 8099   ...SO_SNDBUF...\n-00008100: 2061 6e64 20e2 8098 4950 5f52 4356 4255   and ...IP_RCVBU\n-00008110: 46e2 8099 2e0a 0a20 2020 2020 4e6f 7465  F......     Note\n-00008120: 2074 6861 7420 756e 6c69 6b65 2074 6865   that unlike the\n-00008130: 6972 2043 206c 616e 6775 6167 6520 636f  ir C language co\n-00008140: 756e 7465 7270 6172 742c 20e2 8098 4765  unterpart, ...Ge\n-00008150: 7473 6f63 6b6f 7074 e280 9920 616e 640a  tsockopt... and.\n-00008160: 2020 2020 20e2 8098 5365 7473 6f63 6b6f       ...Setsocko\n-00008170: 7074 e280 9920 646f 206e 6f74 2072 6571  pt... do not req\n-00008180: 7569 7265 2061 6e20 6578 7472 6120 7061  uire an extra pa\n-00008190: 7261 6d65 7465 7220 7265 7072 6573 656e  rameter represen\n-000081a0: 7469 6e67 2074 6865 0a20 2020 2020 6c65  ting the.     le\n-000081b0: 6e67 7468 2069 6e20 6279 7465 7320 6f66  ngth in bytes of\n-000081c0: 2074 6865 206f 7074 696f 6e20 7661 6c75   the option valu\n-000081d0: 652e 2020 4164 6153 6f63 6b65 7473 206b  e.  AdaSockets k\n-000081e0: 6e6f 7773 2074 6865 2072 6967 6874 0a20  nows the right. \n-000081f0: 2020 2020 7369 7a65 2066 6f72 2065 7665      size for eve\n-00008200: 7279 206f 7074 696f 6e2e 0a0a 5345 4520  ry option...SEE \n-00008210: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n-00008220: 4765 7473 6f63 6b6f 7074 2028 7072 6f63  Getsockopt (proc\n-00008230: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c  edure)::.....Fil\n-00008240: 653a 2061 6461 736f 636b 6574 732e 696e  e: adasockets.in\n-00008250: 666f 2c20 204e 6f64 653a 2053 6875 7464  fo,  Node: Shutd\n-00008260: 6f77 6e20 2870 726f 6365 6475 7265 292c  own (procedure),\n-00008270: 2020 4e65 7874 3a20 536f 636b 6574 2028    Next: Socket (\n-00008280: 7072 6f63 6564 7572 6529 2c20 2050 7265  procedure),  Pre\n-00008290: 763a 2053 6574 736f 636b 6f70 7420 2870  v: Setsockopt (p\n-000082a0: 726f 6365 6475 7265 292c 2020 5570 3a20  rocedure),  Up: \n-000082b0: 4163 6365 7074 5f53 6f63 6b65 7420 2870  Accept_Socket (p\n-000082c0: 726f 6365 6475 7265 290a 0a53 6875 7464  rocedure)..Shutd\n-000082d0: 6f77 6e20 2870 726f 6365 6475 7265 290a  own (procedure).\n-000082e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-000082f0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020  ----..PURPOSE.  \n-00008300: 2020 2053 6875 7464 6f77 6e20 6120 736f     Shutdown a so\n-00008310: 636b 6574 0a50 524f 544f 5459 5045 0a20  cket.PROTOTYPE. \n-00008320: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n-00008330: 5368 7574 646f 776e 3a20 7072 6f63 6564  Shutdown: proced\n-00008340: 7572 6520 5368 7574 646f 776e 0a20 2020  ure Shutdown.   \n-00008350: 2020 2020 2020 2020 2020 2020 2853 4f43              (SOC\n-00008360: 4b45 5420 3a20 696e 206f 7574 2053 6f63  KET : in out Soc\n-00008370: 6b65 745f 4644 3b20 484f 5720 3a20 5368  ket_FD; HOW : Sh\n-00008380: 7574 646f 776e 5f54 7970 6520 3a3d 2042  utdown_Type := B\n-00008390: 6f74 6829 3b0a 0a50 4152 414d 4554 4552  oth);..PARAMETER\n-000083a0: 530a 2020 2020 2053 4f43 4b45 5420 2020  S.     SOCKET   \n-000083b0: 2020 696e 206f 7574 2020 2020 2053 6f63    in out     Soc\n-000083c0: 6b65 7420 6f62 6a65 6374 2074 6f20 7368  ket object to sh\n-000083d0: 7574 646f 776e 0a20 2020 2020 484f 5720  utdown.     HOW \n-000083e0: 2020 2020 2020 2069 6e20 2020 2020 2020         in       \n-000083f0: 2020 4469 7265 6374 696f 6e20 746f 2073    Direction to s\n-00008400: 6875 7464 6f77 6e0a 0a44 4553 4352 4950  hutdown..DESCRIP\n-00008410: 5449 4f4e 0a20 2020 2020 5468 6973 2070  TION.     This p\n-00008420: 726f 6365 6475 7265 2073 6875 7464 6f77  rocedure shutdow\n-00008430: 6e73 2065 6974 6865 7220 6469 7265 6374  ns either direct\n-00008440: 696f 6e20 6f66 2074 6865 2073 6f63 6b65  ion of the socke\n-00008450: 742e 2020 484f 5720 6361 6e0a 2020 2020  t.  HOW can.    \n-00008460: 2074 616b 6520 7468 6520 7661 6c75 6520   take the value \n-00008470: e280 9853 656e 64e2 8099 2c20 e280 9852  ...Send..., ...R\n-00008480: 6563 6569 7665 e280 9920 6f72 20e2 8098  eceive... or ...\n-00008490: 426f 7468 e280 992e 0a0a 5345 4520 414c  Both......SEE AL\n-000084a0: 534f 0a20 2020 2020 2a6e 6f74 6520 536f  SO.     *note So\n-000084b0: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n-000084c0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461  ::.....File: ada\n-000084d0: 736f 636b 6574 732e 696e 666f 2c20 204e  sockets.info,  N\n-000084e0: 6f64 653a 2053 6f63 6b65 7420 2870 726f  ode: Socket (pro\n-000084f0: 6365 6475 7265 292c 2020 4e65 7874 3a20  cedure),  Next: \n-00008500: 556e 7365 745f 4275 6666 6572 2028 7072  Unset_Buffer (pr\n-00008510: 6f63 6564 7572 6529 2c20 2050 7265 763a  ocedure),  Prev:\n-00008520: 2053 6875 7464 6f77 6e20 2870 726f 6365   Shutdown (proce\n-00008530: 6475 7265 292c 2020 5570 3a20 4163 6365  dure),  Up: Acce\n-00008540: 7074 5f53 6f63 6b65 7420 2870 726f 6365  pt_Socket (proce\n-00008550: 6475 7265 290a 0a53 6f63 6b65 7420 2870  dure)..Socket (p\n-00008560: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d  rocedure).------\n-00008570: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055  ------------..PU\n-00008580: 5250 4f53 450a 2020 2020 2043 7265 6174  RPOSE.     Creat\n-00008590: 6520 6120 736f 636b 6574 206f 6620 7468  e a socket of th\n-000085a0: 6520 6769 7665 6e20 6d6f 6465 0a50 524f  e given mode.PRO\n-000085b0: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n-000085c0: 536f 636b 6574 732e 536f 636b 6574 3a20  Sockets.Socket: \n-000085d0: 7072 6f63 6564 7572 6520 536f 636b 6574  procedure Socket\n-000085e0: 2028 534f 434b 4554 203a 206f 7574 2053   (SOCKET : out S\n-000085f0: 6f63 6b65 745f 4644 3b0a 2020 2020 2020  ocket_FD;.      \n-00008600: 2020 2020 2020 2020 2044 4f4d 4149 4e20           DOMAIN \n-00008610: 3a20 536f 636b 6574 5f44 6f6d 6169 6e20  : Socket_Domain \n-00008620: 3a3d 2050 465f 494e 4554 3b0a 2020 2020  := PF_INET;.    \n-00008630: 2020 2020 2020 2020 2020 2054 5950 203a             TYP :\n-00008640: 2053 6f63 6b65 745f 5479 7065 203a 3d20   Socket_Type := \n-00008650: 534f 434b 5f53 5452 4541 4d29 3b0a 0a50  SOCK_STREAM);..P\n-00008660: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n-00008670: 4f43 4b45 5420 2020 2020 6f75 7420 2020  OCKET     out   \n-00008680: 2020 2020 2053 6f63 6b65 7420 6f62 6a65       Socket obje\n-00008690: 6374 2074 6f20 696e 6974 6961 6c69 7a65  ct to initialize\n-000086a0: 0a20 2020 2020 444f 4d41 494e 2020 2020  .     DOMAIN    \n-000086b0: 2069 6e20 2020 2020 2020 2020 5072 6f74   in         Prot\n-000086c0: 6f63 6f6c 2066 616d 696c 790a 2020 2020  ocol family.    \n-000086d0: 2054 5950 2020 2020 2020 2020 696e 2020   TYP        in  \n-000086e0: 2020 2020 2020 204b 696e 6420 6f66 2073         Kind of s\n-000086f0: 6f63 6b65 7473 0a0a 4445 5343 5249 5054  ockets..DESCRIPT\n-00008700: 494f 4e0a 2020 2020 2054 6869 7320 7072  ION.     This pr\n-00008710: 6f63 6564 7572 6520 696e 6974 6961 6c69  ocedure initiali\n-00008720: 7a65 7320 6120 6e65 7720 736f 636b 6574  zes a new socket\n-00008730: 206f 626a 6563 7420 6279 2072 6573 6572   object by reser\n-00008740: 7669 6e67 2061 2066 696c 650a 2020 2020  ving a file.    \n-00008750: 2064 6573 6372 6970 746f 7220 746f 2074   descriptor to t\n-00008760: 6865 206f 7065 7261 7469 6e67 2073 7973  he operating sys\n-00008770: 7465 6d2e 2020 466f 7220 6261 636b 7761  tem.  For backwa\n-00008780: 7264 2063 6f6d 7061 7469 6269 6c69 7479  rd compatibility\n-00008790: 0a20 2020 2020 7769 7468 206f 6c64 6572  .     with older\n-000087a0: 2076 6572 7369 6f6e 7320 6f66 2074 6869   versions of thi\n-000087b0: 7320 6c69 6272 6172 792c 20e2 8098 4146  s library, ...AF\n-000087c0: 5f49 4e45 54e2 8099 2069 7320 7374 696c  _INET... is stil\n-000087d0: 6c20 6163 6365 7074 6564 2061 730a 2020  l accepted as.  \n-000087e0: 2020 2061 2076 616c 7565 2062 7574 2073     a value but s\n-000087f0: 686f 756c 6420 6265 2072 6570 6c61 6365  hould be replace\n-00008800: 6420 6173 2073 6f6f 6e20 6173 2070 6f73  d as soon as pos\n-00008810: 7369 626c 6520 7769 7468 2074 6865 2070  sible with the p\n-00008820: 726f 7065 720a 2020 2020 20e2 8098 5046  roper.     ...PF\n-00008830: 5f49 4e45 54e2 8099 2e20 2055 7369 6e67  _INET....  Using\n-00008840: 20e2 8098 534f 434b 5f53 5452 4541 4de2   ...SOCK_STREAM.\n-00008850: 8099 2066 6f72 2074 6865 2054 5950 2061  .. for the TYP a\n-00008860: 7267 756d 656e 7420 7769 6c6c 2063 7265  rgument will cre\n-00008870: 6174 6520 610a 2020 2020 2054 4350 2073  ate a.     TCP s\n-00008880: 6f63 6b65 7420 7768 696c 6520 6120 e280  ocket while a ..\n-00008890: 9853 4f43 4b5f 4447 5241 4de2 8099 2077  .SOCK_DGRAM... w\n-000088a0: 696c 6c20 6372 6561 7465 2061 2055 4450  ill create a UDP\n-000088b0: 206f 6e65 2e0a 0a45 5841 4d50 4c45 0a20   one...EXAMPLE. \n-000088c0: 2020 2020 2020 2020 2064 6563 6c61 7265           declare\n-000088d0: 0a20 2020 2020 2020 2020 2020 2020 536f  .             So\n-000088e0: 636b 203a 2053 6f63 6b65 745f 4644 3b0a  ck : Socket_FD;.\n-000088f0: 2020 2020 2020 2020 2020 6265 6769 6e0a            begin.\n-00008900: 2020 2020 2020 2020 2020 2020 202d 2d20               -- \n-00008910: 4372 6561 7465 2061 2054 4350 2073 6f63  Create a TCP soc\n-00008920: 6b65 740a 2020 2020 2020 2020 2020 2020  ket.            \n-00008930: 2053 6f63 6b65 7420 2853 6f63 6b2c 2050   Socket (Sock, P\n-00008940: 465f 494e 4554 2c20 534f 434b 5f53 5452  F_INET, SOCK_STR\n-00008950: 4541 4d29 3b0a 2020 2020 2020 2020 2020  EAM);.          \n-00008960: 2020 202d 2d20 5065 7266 6f72 6d20 736f     -- Perform so\n-00008970: 6d65 206f 7065 7261 7469 6f6e 7320 6f6e  me operations on\n-00008980: 2073 6f63 6b65 740a 2020 2020 2020 2020   socket.        \n-00008990: 2020 2020 205b 2e2e 2e5d 0a20 2020 2020       [...].     \n-000089a0: 2020 2020 2020 2020 2d2d 2053 6875 7464          -- Shutd\n-000089b0: 6f77 6e20 7468 6520 736f 636b 6574 2069  own the socket i\n-000089c0: 6e20 626f 7468 2064 6972 6563 7469 6f6e  n both direction\n-000089d0: 730a 2020 2020 2020 2020 2020 2020 2053  s.             S\n-000089e0: 6875 7464 6f77 6e20 2853 6f63 6b2c 2042  hutdown (Sock, B\n-000089f0: 6f74 6829 3b0a 2020 2020 2020 2020 2020  oth);.          \n-00008a00: 656e 643b 0a0a 5345 4520 414c 534f 0a20  end;..SEE ALSO. \n-00008a10: 2020 2020 2a6e 6f74 6520 5368 7574 646f      *note Shutdo\n-00008a20: 776e 2028 7072 6f63 6564 7572 6529 3a3a  wn (procedure)::\n-00008a30: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f  .....File: adaso\n-00008a40: 636b 6574 732e 696e 666f 2c20 204e 6f64  ckets.info,  Nod\n-00008a50: 653a 2055 6e73 6574 5f42 7566 6665 7220  e: Unset_Buffer \n-00008a60: 2870 726f 6365 6475 7265 292c 2020 5072  (procedure),  Pr\n-00008a70: 6576 3a20 536f 636b 6574 2028 7072 6f63  ev: Socket (proc\n-00008a80: 6564 7572 6529 2c20 2055 703a 2041 6363  edure),  Up: Acc\n-00008a90: 6570 745f 536f 636b 6574 2028 7072 6f63  ept_Socket (proc\n-00008aa0: 6564 7572 6529 0a0a 556e 7365 745f 4275  edure)..Unset_Bu\n-00008ab0: 6666 6572 2028 7072 6f63 6564 7572 6529  ffer (procedure)\n-00008ac0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n-00008ad0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f  ---------..PURPO\n-00008ae0: 5345 0a20 2020 2020 4465 696e 7374 616c  SE.     Deinstal\n-00008af0: 6c20 7468 6520 6c69 6e65 2d6f 7269 656e  l the line-orien\n-00008b00: 7465 6420 6275 6666 6572 206f 6620 7468  ted buffer of th\n-00008b10: 6520 736f 636b 6574 206f 626a 6563 740a  e socket object.\n-00008b20: 5052 4f54 4f54 5950 450a 2020 2020 2020  PROTOTYPE.      \n-00008b30: 2d2d 2053 6f63 6b65 7473 2e55 6e73 6574  -- Sockets.Unset\n-00008b40: 5f42 7566 6665 723a 2070 726f 6365 6475  _Buffer: procedu\n-00008b50: 7265 2055 6e73 6574 5f42 7566 6665 720a  re Unset_Buffer.\n-00008b60: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-00008b70: 534f 434b 4554 203a 2053 6f63 6b65 745f  SOCKET : Socket_\n-00008b80: 4644 2743 6c61 7373 293b 0a0a 5041 5241  FD'Class);..PARA\n-00008b90: 4d45 5445 5253 0a20 2020 2020 534f 434b  METERS.     SOCK\n-00008ba0: 4554 2020 2020 2069 6e20 2020 2020 2020  ET     in       \n-00008bb0: 2020 496e 6974 6961 6c69 7a65 6420 616e    Initialized an\n-00008bc0: 6420 636f 6e6e 6563 7465 6420 736f 636b  d connected sock\n-00008bd0: 6574 206f 626a 6563 740a 0a44 4553 4352  et object..DESCR\n-00008be0: 4950 5449 4f4e 0a20 2020 2020 5468 6973  IPTION.     This\n-00008bf0: 2070 726f 6365 6475 7265 2075 6e69 6e73   procedure unins\n-00008c00: 7461 6c6c 7320 7468 6520 6275 6666 6572  talls the buffer\n-00008c10: 2070 7265 7669 6f75 736c 7920 696e 7374   previously inst\n-00008c20: 616c 6c65 6420 6279 202a 6e6f 7465 0a20  alled by *note. \n-00008c30: 2020 2020 5365 745f 4275 6666 6572 2028      Set_Buffer (\n-00008c40: 7072 6f63 6564 7572 6529 3a3a 2e20 2049  procedure)::.  I\n-00008c50: 6620 616e 7920 6461 7461 2069 7320 7374  f any data is st\n-00008c60: 696c 6c20 7072 6573 656e 7420 696e 2074  ill present in t\n-00008c70: 6865 0a20 2020 2020 6275 6666 6572 2c20  he.     buffer, \n-00008c80: 6974 2077 696c 6c20 6265 206c 6f73 742e  it will be lost.\n-00008c90: 2020 546f 2061 766f 6964 2074 6869 7320    To avoid this \n-00008ca0: 7369 7475 6174 696f 6e2c 2074 6865 2062  situation, the b\n-00008cb0: 7566 6665 7220 6361 6e0a 2020 2020 2062  uffer can.     b\n-00008cc0: 6520 666c 7573 6865 6420 6279 2063 616c  e flushed by cal\n-00008cd0: 6c69 6e67 202a 6e6f 7465 2047 6574 2028  ling *note Get (\n-00008ce0: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a  function)::.....\n-00008cf0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-00008d00: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 536f  .info,  Node: So\n-00008d10: 636b 6574 732e 4d75 6c74 6963 6173 7420  ckets.Multicast \n-00008d20: 7061 636b 6167 652c 2020 4e65 7874 3a20  package,  Next: \n-00008d30: 536f 636b 6574 732e 4e61 6d69 6e67 2070  Sockets.Naming p\n-00008d40: 6163 6b61 6765 2c20 2050 7265 763a 2053  ackage,  Prev: S\n-00008d50: 6f63 6b65 7473 2070 6163 6b61 6765 2c20  ockets package, \n-00008d60: 2055 703a 2054 6f70 0a0a 3520 536f 636b   Up: Top..5 Sock\n-00008d70: 6574 732e 4d75 6c74 6963 6173 7420 7061  ets.Multicast pa\n-00008d80: 636b 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a  ckage.**********\n-00008d90: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n-00008da0: 2a0a 0a54 6865 20e2 8098 536f 636b 6574  *..The ...Socket\n-00008db0: 732e 4d75 6c74 6963 6173 74e2 8099 2061  s.Multicast... a\n-00008dc0: 6c6c 6f77 7320 7468 6520 6372 6561 7469  llows the creati\n-00008dd0: 6f6e 206f 6620 4950 206d 756c 7469 6361  on of IP multica\n-00008de0: 7374 2073 6f63 6b65 7473 2e0a 0a20 2d2d  st sockets... --\n-00008df0: 2053 6f63 6b65 7473 2e4d 756c 7469 6361   Sockets.Multica\n-00008e00: 7374 2e4d 756c 7469 6361 7374 5f53 6f63  st.Multicast_Soc\n-00008e10: 6b65 745f 4644 3a20 7479 7065 204d 756c  ket_FD: type Mul\n-00008e20: 7469 6361 7374 5f53 6f63 6b65 745f 4644  ticast_Socket_FD\n-00008e30: 2069 730a 2020 2020 2020 2020 2020 6e65   is.          ne\n-00008e40: 7720 536f 636b 6574 5f46 4420 7769 7468  w Socket_FD with\n-00008e50: 2070 7269 7661 7465 3b0a 2020 2020 2054   private;.     T\n-00008e60: 6865 20e2 8098 4d75 6c74 6963 6173 745f  he ...Multicast_\n-00008e70: 536f 636b 6574 5f46 44e2 8099 2074 6167  Socket_FD... tag\n-00008e80: 6765 6420 7479 7065 2064 6572 6976 6573  ged type derives\n-00008e90: 2066 726f 6d20 7468 6520 e280 9853 6f63   from the ...Soc\n-00008ea0: 6b65 745f 4644 e280 990a 2020 2020 2074  ket_FD....     t\n-00008eb0: 7970 652e 2020 4974 2067 6574 7320 696e  ype.  It gets in\n-00008ec0: 6974 6961 6c69 7a65 6420 6279 2063 616c  itialized by cal\n-00008ed0: 6c69 6e67 202a 6e6f 7465 2043 7265 6174  ling *note Creat\n-00008ee0: 655f 4d75 6c74 6963 6173 745f 536f 636b  e_Multicast_Sock\n-00008ef0: 6574 0a20 2020 2020 2866 756e 6374 696f  et.     (functio\n-00008f00: 6e29 3a3a 2e20 2041 6e20 756e 696e 6974  n)::.  An uninit\n-00008f10: 6961 6c69 7a65 6420 e280 984d 756c 7469  ialized ...Multi\n-00008f20: 6361 7374 5f53 6f63 6b65 745f 4644 e280  cast_Socket_FD..\n-00008f30: 9920 6361 6e20 6265 0a20 2020 2020 7375  . can be.     su\n-00008f40: 6363 6573 7366 756c 6c79 2063 6f6d 7061  ccessfully compa\n-00008f50: 7265 6420 746f 20e2 8098 4e75 6c6c 5f4d  red to ...Null_M\n-00008f60: 756c 7469 6361 7374 5f53 6f63 6b65 745f  ulticast_Socket_\n-00008f70: 4644 e280 992e 0a0a 2a20 4d65 6e75 3a0a  FD......* Menu:.\n-00008f80: 0a2a 2043 7265 6174 655f 4d75 6c74 6963  .* Create_Multic\n-00008f90: 6173 745f 536f 636b 6574 2028 6675 6e63  ast_Socket (func\n-00008fa0: 7469 6f6e 293a 3a0a 2020 2020 2020 2020  tion)::.        \n-00008fb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00008fc0: 4372 6561 7465 2061 6e20 4950 206d 756c  Create an IP mul\n-00008fd0: 7469 6361 7374 2073 6f63 6b65 740a 2a20  ticast socket.* \n-00008fe0: 4372 6561 7465 5f4d 756c 7469 6361 7374  Create_Multicast\n-00008ff0: 5f53 6f63 6b65 7420 2866 756e 6374 696f  _Socket (functio\n-00009000: 6e29 3a3a 0a20 2020 2020 2020 2020 2020  n)::.           \n-00009010: 2020 2020 2020 2020 2020 2020 2043 7265               Cre\n-00009020: 6174 6520 616e 2049 5020 6d75 6c74 6963  ate an IP multic\n-00009030: 6173 7420 736f 636b 6574 0a0a 1f0a 4669  ast socket....Fi\n-00009040: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n-00009050: 6e66 6f2c 2020 4e6f 6465 3a20 4372 6561  nfo,  Node: Crea\n-00009060: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n-00009070: 6b65 7420 2866 756e 6374 696f 6e29 2c20  ket (function), \n-00009080: 204e 6578 743a 2043 7265 6174 655f 4d75   Next: Create_Mu\n-00009090: 6c74 6963 6173 745f 536f 636b 6574 2028  lticast_Socket (\n-000090a0: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n-000090b0: 3a20 4372 6561 7465 5f4d 756c 7469 6361  : Create_Multica\n-000090c0: 7374 5f53 6f63 6b65 7420 2866 756e 6374  st_Socket (funct\n-000090d0: 696f 6e29 2c20 2055 703a 2053 6f63 6b65  ion),  Up: Socke\n-000090e0: 7473 2e4d 756c 7469 6361 7374 2070 6163  ts.Multicast pac\n-000090f0: 6b61 6765 0a0a 4372 6561 7465 5f4d 756c  kage..Create_Mul\n-00009100: 7469 6361 7374 5f53 6f63 6b65 7420 2866  ticast_Socket (f\n-00009110: 756e 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d  unction).=======\n-00009120: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d  ================\n-00009130: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a50 5552  ===========..PUR\n-00009140: 504f 5345 0a20 2020 2020 4372 6561 7465  POSE.     Create\n-00009150: 2061 6e20 4950 206d 756c 7469 6361 7374   an IP multicast\n-00009160: 2073 6f63 6b65 740a 5052 4f54 4f54 5950   socket.PROTOTYP\n-00009170: 450a 2020 2020 2020 2d2d 2053 6f63 6b65  E.      -- Socke\n-00009180: 7473 2e4d 756c 7469 6361 7374 2e43 7265  ts.Multicast.Cre\n-00009190: 6174 655f 4d75 6c74 6963 6173 745f 536f  ate_Multicast_So\n-000091a0: 636b 6574 3a20 6675 6e63 7469 6f6e 0a20  cket: function. \n-000091b0: 2020 2020 2020 2020 2020 2020 2020 4372                Cr\n-000091c0: 6561 7465 5f4d 756c 7469 6361 7374 5f53  eate_Multicast_S\n-000091d0: 6f63 6b65 7420 2847 524f 5550 203a 2053  ocket (GROUP : S\n-000091e0: 7472 696e 673b 2050 4f52 5420 3a20 4e61  tring; PORT : Na\n-000091f0: 7475 7261 6c3b 0a20 2020 2020 2020 2020  tural;.         \n-00009200: 2020 2020 2020 5454 4c20 3a20 506f 7369        TTL : Posi\n-00009210: 7469 7665 203a 3d20 3136 3b20 5345 4c46  tive := 16; SELF\n-00009220: 5f4c 4f4f 5020 3a20 426f 6f6c 6561 6e20  _LOOP : Boolean \n-00009230: 3a3d 2054 7275 653b 0a20 2020 2020 2020  := True;.       \n-00009240: 2020 2020 2020 2020 4c4f 4341 4c5f 4946          LOCAL_IF\n-00009250: 203a 2053 7472 696e 6720 3a3d 2030 2e30   : String := 0.0\n-00009260: 2e30 2e30 290a 2020 2020 2020 2020 2020  .0.0).          \n-00009270: 2020 2020 2072 6574 7572 6e20 4d75 6c74       return Mult\n-00009280: 6963 6173 745f 536f 636b 6574 5f46 443b  icast_Socket_FD;\n-00009290: 0a0a 5041 5241 4d45 5445 5253 0a20 2020  ..PARAMETERS.   \n-000092a0: 2020 4752 4f55 5020 2020 2020 2069 6e20    GROUP      in \n-000092b0: 2020 2020 2020 2020 4950 2061 6464 7265          IP addre\n-000092c0: 7373 206f 6620 7468 6520 6d75 6c74 6963  ss of the multic\n-000092d0: 6173 7420 6772 6f75 7020 746f 0a20 2020  ast group to.   \n-000092e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000092f0: 2020 2020 2020 2020 6a6f 696e 0a20 2020          join.   \n-00009300: 2020 504f 5254 2020 2020 2020 2069 6e20    PORT       in \n-00009310: 2020 2020 2020 2020 506f 7274 206f 6620          Port of \n-00009320: 7468 6520 6d75 6c74 6963 6173 7420 6772  the multicast gr\n-00009330: 6f75 7020 746f 206a 6f69 6e0a 2020 2020  oup to join.    \n-00009340: 2054 544c 2020 2020 2020 2020 696e 2020   TTL        in  \n-00009350: 2020 2020 2020 2054 696d 652d 746f 2d6c         Time-to-l\n-00009360: 6976 6520 6f66 2073 656e 7420 7061 636b  ive of sent pack\n-00009370: 6574 730a 2020 2020 2053 454c 465f 4c4f  ets.     SELF_LO\n-00009380: 4f50 2020 696e 2020 2020 2020 2020 2053  OP  in         S\n-00009390: 686f 756c 6420 7468 6520 736f 636b 6574  hould the socket\n-000093a0: 2072 6563 6569 7665 2074 6865 2070 6163   receive the pac\n-000093b0: 6b65 7473 0a20 2020 2020 2020 2020 2020  kets.           \n-000093c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000093d0: 7365 6e74 2066 726f 6d20 7468 6520 6c6f  sent from the lo\n-000093e0: 6361 6c20 686f 7374 3f0a 2020 2020 204c  cal host?.     L\n-000093f0: 4f43 414c 5f49 4620 2020 696e 2020 2020  OCAL_IF   in    \n-00009400: 2020 2020 2041 6464 7265 7373 206f 6620       Address of \n-00009410: 7468 6520 6c6f 6361 6c20 696e 7465 7266  the local interf\n-00009420: 6163 6520 746f 2075 7365 0a0a 5245 5455  ace to use..RETU\n-00009430: 524e 2056 414c 5545 0a20 2020 2020 5468  RN VALUE.     Th\n-00009440: 6520 6e65 7720 696e 6974 6961 6c69 7a65  e new initialize\n-00009450: 6420 6d75 6c74 6963 6173 7420 736f 636b  d multicast sock\n-00009460: 6574 0a0a 4445 5343 5249 5054 494f 4e0a  et..DESCRIPTION.\n-00009470: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n-00009480: 6f6e 2063 7265 6174 6573 2061 6e20 4950  on creates an IP\n-00009490: 206d 756c 7469 6361 7374 2073 6f63 6b65   multicast socke\n-000094a0: 7420 6174 7461 6368 6564 2074 6f20 6120  t attached to a \n-000094b0: 6769 7665 6e0a 2020 2020 2067 726f 7570  given.     group\n-000094c0: 2c20 6964 656e 7469 6669 6564 2062 7920  , identified by \n-000094d0: 6974 7320 636c 6173 7320 4520 4950 2061  its class E IP a\n-000094e0: 6464 7265 7373 2061 6e64 2070 6f72 742e  ddress and port.\n-000094f0: 0a0a 2020 2020 2042 6520 6361 7265 6675  ..     Be carefu\n-00009500: 6c20 7768 656e 2063 686f 6f73 696e 6720  l when choosing \n-00009510: 7468 6520 5454 4c20 7061 7261 6d65 7465  the TTL paramete\n-00009520: 7220 6f66 2079 6f75 7220 4950 206d 756c  r of your IP mul\n-00009530: 7469 6361 7374 0a20 2020 2020 736f 636b  ticast.     sock\n-00009540: 6574 2e20 204d 6f73 7420 4950 206d 756c  et.  Most IP mul\n-00009550: 7469 6361 7374 2072 6f75 7465 7273 2064  ticast routers d\n-00009560: 6f20 696d 706c 656d 656e 7420 7468 7265  o implement thre\n-00009570: 7368 6f6c 642d 6261 7365 640a 2020 2020  shold-based.    \n-00009580: 2066 696c 7465 7269 6e67 2061 6e64 2077   filtering and w\n-00009590: 696c 6c20 6e6f 7420 6c65 7420 4950 206d  ill not let IP m\n-000095a0: 756c 7469 6361 7374 2070 6163 6b65 7473  ulticast packets\n-000095b0: 206c 6561 7665 2079 6f75 720a 2020 2020   leave your.    \n-000095c0: 206f 7267 616e 697a 6174 696f 6e20 6966   organization if\n-000095d0: 2074 6865 2054 544c 206f 6e20 7468 6520   the TTL on the \n-000095e0: 6c61 7374 2072 6f75 7465 7220 6973 2073  last router is s\n-000095f0: 6d61 6c6c 6572 2074 6861 6e20 3136 2e0a  maller than 16..\n-00009600: 0a20 2020 2020 4966 2030 2069 7320 6769  .     If 0 is gi\n-00009610: 7665 6e20 666f 7220 7468 6520 506f 7274  ven for the Port\n-00009620: 2c20 6120 6c6f 6361 6c20 6f6e 6520 7769  , a local one wi\n-00009630: 6c6c 2062 6520 6368 6f73 656e 2e20 2049  ll be chosen.  I\n-00009640: 7420 6361 6e0a 2020 2020 2074 6865 6e20  t can.     then \n-00009650: 6c61 7465 7220 6265 2072 6574 7269 6576  later be retriev\n-00009660: 6564 2075 7369 6e67 2047 6574 5f53 6f63  ed using Get_Soc\n-00009670: 6b5f 506f 7274 2e0a 0a45 5841 4d50 4c45  k_Port...EXAMPLE\n-00009680: 0a20 2020 2020 2020 2020 2064 6563 6c61  .          decla\n-00009690: 7265 0a20 2020 2020 2020 2020 2020 2020  re.             \n-000096a0: 536f 636b 2020 2020 203a 2053 6f63 6b65  Sock     : Socke\n-000096b0: 745f 4644 3b0a 2020 2020 2020 2020 2020  t_FD;.          \n-000096c0: 2020 2049 6e63 6f6d 696e 6720 3a20 536f     Incoming : So\n-000096d0: 636b 6574 5f46 443b 0a20 2020 2020 2020  cket_FD;.       \n-000096e0: 2020 2062 6567 696e 0a20 2020 2020 2020     begin.       \n-000096f0: 2020 2020 2020 2d2d 2043 7265 6174 6520        -- Create \n-00009700: 6120 5443 5020 736f 636b 6574 206c 6973  a TCP socket lis\n-00009710: 7465 6e69 6e67 206f 6e20 6c6f 6361 6c20  tening on local \n-00009720: 706f 7274 2034 3136 310a 2020 2020 2020  port 4161.      \n-00009730: 2020 2020 2020 2053 6f63 6b65 7420 2853         Socket (S\n-00009740: 6f63 6b2c 2050 465f 494e 4554 2c20 534f  ock, PF_INET, SO\n-00009750: 434b 5f53 5452 4541 4d29 3b0a 2020 2020  CK_STREAM);.    \n-00009760: 2020 2020 2020 2020 2042 696e 6420 2853           Bind (S\n-00009770: 6f63 6b2c 2034 3136 3129 3b0a 2020 2020  ock, 4161);.    \n-00009780: 2020 2020 2020 2020 204c 6973 7465 6e20           Listen \n-00009790: 2853 6f63 6b2c 2033 293b 0a20 2020 2020  (Sock, 3);.     \n-000097a0: 2020 2020 2020 2020 2d2d 204f 6e65 2d63          -- One-c\n-000097b0: 6f6e 6e65 6374 696f 6e2d 6174 2d61 2d74  onnection-at-a-t\n-000097c0: 696d 6520 7365 7276 6572 2028 3320 6d61  ime server (3 ma\n-000097d0: 7920 6265 2070 656e 6469 6e67 290a 2020  y be pending).  \n-000097e0: 2020 2020 2020 2020 2020 206c 6f6f 700a             loop.\n-000097f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00009800: 2d2d 2057 6169 7420 666f 7220 6120 6e65  -- Wait for a ne\n-00009810: 7720 636f 6e6e 6563 7469 6f6e 2061 6e64  w connection and\n-00009820: 2061 6363 6570 7420 6974 0a20 2020 2020   accept it.     \n-00009830: 2020 2020 2020 2020 2020 2041 6363 6570             Accep\n-00009840: 745f 536f 636b 6574 2028 536f 636b 2c20  t_Socket (Sock, \n-00009850: 496e 636f 6d69 6e67 293b 0a20 2020 2020  Incoming);.     \n-00009860: 2020 2020 2020 2020 2020 202d 2d20 446f             -- Do\n-00009870: 2073 6f6d 6520 6469 616c 6f67 2077 6974   some dialog wit\n-00009880: 6820 7468 6520 7265 6d6f 7465 2068 6f73  h the remote hos\n-00009890: 740a 2020 2020 2020 2020 2020 2020 2020  t.              \n-000098a0: 2020 446f 5f53 6f6d 655f 4469 616c 6f67    Do_Some_Dialog\n-000098b0: 2028 496e 636f 6d69 6e67 293b 0a20 2020   (Incoming);.   \n-000098c0: 2020 2020 2020 2020 2020 2020 202d 2d20               -- \n-000098d0: 436c 6f73 6520 696e 636f 6d69 6e67 2073  Close incoming s\n-000098e0: 6f63 6b65 7420 616e 6420 7761 6974 2066  ocket and wait f\n-000098f0: 6f72 206e 6578 7420 636f 6e6e 6563 7469  or next connecti\n-00009900: 6f6e 0a20 2020 2020 2020 2020 2020 2020  on.             \n-00009910: 2020 2053 6875 7464 6f77 6e20 2849 6e63     Shutdown (Inc\n-00009920: 6f6d 696e 6729 3b0a 2020 2020 2020 2020  oming);.        \n-00009930: 2020 2020 2065 6e64 206c 6f6f 703b 0a20       end loop;. \n-00009940: 2020 2020 2020 2020 2065 6e64 3b0a 0a53           end;..S\n-00009950: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f  EE ALSO.     *no\n-00009960: 7465 2053 656e 6420 2870 726f 6365 6475  te Send (procedu\n-00009970: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74  re)::,.     *not\n-00009980: 6520 5368 7574 646f 776e 2028 7072 6f63  e Shutdown (proc\n-00009990: 6564 7572 6529 3a3a 2e0a 0a2a 204d 656e  edure)::...* Men\n-000099a0: 753a 0a0a 4372 6561 7465 5f4d 756c 7469  u:..Create_Multi\n-000099b0: 6361 7374 5f53 6f63 6b65 7420 2866 756e  cast_Socket (fun\n-000099c0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d  ction).---------\n-000099d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-000099e0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f  ---------..PURPO\n-000099f0: 5345 0a20 2020 2020 4372 6561 7465 2061  SE.     Create a\n-00009a00: 6e20 4950 206d 756c 7469 6361 7374 2073  n IP multicast s\n-00009a10: 6f63 6b65 740a 5052 4f54 4f54 5950 450a  ocket.PROTOTYPE.\n-00009a20: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n-00009a30: 2e4d 756c 7469 6361 7374 2e43 7265 6174  .Multicast.Creat\n-00009a40: 655f 4d75 6c74 6963 6173 745f 536f 636b  e_Multicast_Sock\n-00009a50: 6574 3a20 6675 6e63 7469 6f6e 0a20 2020  et: function.   \n-00009a60: 2020 2020 2020 2020 2020 2020 4372 6561              Crea\n-00009a70: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n-00009a80: 6b65 7420 2847 524f 5550 203a 2053 7472  ket (GROUP : Str\n-00009a90: 696e 673b 2050 4f52 5420 3a20 506f 7369  ing; PORT : Posi\n-00009aa0: 7469 7665 3b0a 2020 2020 2020 2020 2020  tive;.          \n-00009ab0: 2020 2020 204c 4f43 414c 5f50 4f52 5420       LOCAL_PORT \n-00009ac0: 3a20 4e61 7475 7261 6c3b 2054 544c 203a  : Natural; TTL :\n-00009ad0: 2050 6f73 6974 6976 6520 3a3d 2031 363b   Positive := 16;\n-00009ae0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-00009af0: 4c4f 4341 4c5f 4946 203a 2053 7472 696e  LOCAL_IF : Strin\n-00009b00: 6720 3a3d 2030 2e30 2e30 2e30 290a 2020  g := 0.0.0.0).  \n-00009b10: 2020 2020 2020 2020 2020 2020 2072 6574               ret\n-00009b20: 7572 6e20 4d75 6c74 6963 6173 745f 536f  urn Multicast_So\n-00009b30: 636b 6574 5f46 443b 0a0a 5041 5241 4d45  cket_FD;..PARAME\n-00009b40: 5445 5253 0a20 2020 2020 4752 4f55 5020  TERS.     GROUP \n-00009b50: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n-00009b60: 4950 2061 6464 7265 7373 206f 6620 7468  IP address of th\n-00009b70: 6520 6d75 6c74 6963 6173 7420 6772 6f75  e multicast grou\n-00009b80: 7020 746f 0a20 2020 2020 2020 2020 2020  p to.           \n-00009b90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00009ba0: 6a6f 696e 0a20 2020 2020 504f 5254 2020  join.     PORT  \n-00009bb0: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n-00009bc0: 506f 7274 206f 6620 7468 6520 6d75 6c74  Port of the mult\n-00009bd0: 6963 6173 7420 6772 6f75 7020 746f 206a  icast group to j\n-00009be0: 6f69 6e0a 2020 2020 204c 4f43 414c 5f50  oin.     LOCAL_P\n-00009bf0: 4f52 5420 696e 2020 2020 2020 2020 204c  ORT in         L\n-00009c00: 6f63 616c 2070 6f72 7420 6e75 6d62 6572  ocal port number\n-00009c10: 2074 6f20 7573 650a 2020 2020 2054 544c   to use.     TTL\n-00009c20: 2020 2020 2020 2020 696e 2020 2020 2020          in      \n-00009c30: 2020 2054 696d 652d 746f 2d6c 6976 6520     Time-to-live \n-00009c40: 6f66 2073 656e 7420 7061 636b 6574 730a  of sent packets.\n-00009c50: 2020 2020 204c 4f43 414c 5f49 4620 2020       LOCAL_IF   \n-00009c60: 696e 2020 2020 2020 2020 2041 6464 7265  in         Addre\n-00009c70: 7373 206f 6620 7468 6520 6c6f 6361 6c20  ss of the local \n-00009c80: 696e 7465 7266 6163 6520 746f 2075 7365  interface to use\n-00009c90: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n-00009ca0: 2020 2020 5468 6520 6e65 7720 696e 6974      The new init\n-00009cb0: 6961 6c69 7a65 6420 6d75 6c74 6963 6173  ialized multicas\n-00009cc0: 7420 736f 636b 6574 0a0a 4445 5343 5249  t socket..DESCRI\n-00009cd0: 5054 494f 4e0a 2020 2020 2054 6869 7320  PTION.     This \n-00009ce0: 6675 6e63 7469 6f6e 2063 7265 6174 6573  function creates\n-00009cf0: 2061 6e20 4950 206d 756c 7469 6361 7374   an IP multicast\n-00009d00: 2073 6f63 6b65 7420 6174 7461 6368 6564   socket attached\n-00009d10: 2074 6f20 6120 6769 7665 6e0a 2020 2020   to a given.    \n-00009d20: 2067 726f 7570 2c20 6964 656e 7469 6669   group, identifi\n-00009d30: 6564 2062 7920 6974 7320 636c 6173 7320  ed by its class \n-00009d40: 4520 4950 2061 6464 7265 7373 2061 6e64  E IP address and\n-00009d50: 2070 6f72 742e 2020 4966 0a20 2020 2020   port.  If.     \n-00009d60: 4c6f 6361 6c5f 506f 7274 2069 7320 302c  Local_Port is 0,\n-00009d70: 2061 2066 7265 6520 706f 7274 2077 696c   a free port wil\n-00009d80: 6c20 6175 746f 6d61 7469 6361 6c6c 7920  l automatically \n-00009d90: 6265 2063 686f 7365 6e20 6279 2079 6f75  be chosen by you\n-00009da0: 720a 2020 2020 206f 7065 7261 7469 6e67  r.     operating\n-00009db0: 2073 7973 7465 6d2e 0a0a 2020 2020 2054   system...     T\n-00009dc0: 6869 7320 6675 6e63 7469 6f6e 2073 686f  his function sho\n-00009dd0: 756c 6420 6265 2075 7365 6420 7768 656e  uld be used when\n-00009de0: 2079 6f75 2077 616e 7420 746f 2073 656e   you want to sen\n-00009df0: 6420 7061 636b 6574 7320 746f 2061 0a20  d packets to a. \n-00009e00: 2020 2020 6d75 6c74 6963 6173 7420 6772      multicast gr\n-00009e10: 6f75 7020 7769 7468 6f75 7420 7265 6365  oup without rece\n-00009e20: 6976 696e 6720 616e 7920 7061 636b 6574  iving any packet\n-00009e30: 2079 6f75 7273 656c 662e 0a0a 4558 414d   yourself...EXAM\n-00009e40: 504c 450a 2020 2020 2020 2020 2020 6465  PLE.          de\n-00009e50: 636c 6172 650a 2020 2020 2020 2020 2020  clare.          \n-00009e60: 2020 2053 6f63 6b20 3a20 4d75 6c74 6963     Sock : Multic\n-00009e70: 6173 745f 536f 636b 6574 5f46 443b 0a20  ast_Socket_FD;. \n-00009e80: 2020 2020 2020 2020 2062 6567 696e 0a20           begin. \n-00009e90: 2020 2020 2020 2020 2020 2020 2d2d 2043              -- C\n-00009ea0: 7265 6174 6520 6120 6d75 6c74 6963 6173  reate a multicas\n-00009eb0: 7420 736f 636b 6574 206f 6e20 6772 6f75  t socket on grou\n-00009ec0: 7020 3232 342e 312e 322e 3320 706f 7274  p 224.1.2.3 port\n-00009ed0: 2038 3736 330a 2020 2020 2020 2020 2020   8763.          \n-00009ee0: 2020 2053 6f63 6b20 3a3d 2043 7265 6174     Sock := Creat\n-00009ef0: 655f 4d75 6c74 6963 6173 745f 536f 636b  e_Multicast_Sock\n-00009f00: 6574 2028 2232 3234 2e31 2e32 2e33 222c  et (\"224.1.2.3\",\n-00009f10: 2038 3736 3329 3b0a 2020 2020 2020 2020   8763);.        \n-00009f20: 2020 2020 202d 2d20 5065 7266 6f72 6d20       -- Perform \n-00009f30: 736f 6d65 206f 7065 7261 7469 6f6e 7320  some operations \n-00009f40: 6f6e 2073 6f63 6b65 740a 2020 2020 2020  on socket.      \n-00009f50: 2020 2020 2020 205b 2e2e 2e5d 0a20 2020         [...].   \n-00009f60: 2020 2020 2020 2020 2020 2d2d 2053 6875            -- Shu\n-00009f70: 7464 6f77 6e20 7468 6520 736f 636b 6574  tdown the socket\n-00009f80: 2069 6e20 626f 7468 2064 6972 6563 7469   in both directi\n-00009f90: 6f6e 730a 2020 2020 2020 2020 2020 2020  ons.            \n-00009fa0: 2053 6875 7464 6f77 6e20 2853 6f63 6b2c   Shutdown (Sock,\n-00009fb0: 2042 6f74 6829 3b0a 2020 2020 2020 2020   Both);.        \n-00009fc0: 2020 656e 643b 0a0a 5345 4520 414c 534f    end;..SEE ALSO\n-00009fd0: 0a20 2020 2020 2a6e 6f74 6520 5365 6e64  .     *note Send\n-00009fe0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n-00009ff0: 2020 2020 202a 6e6f 7465 2053 6875 7464       *note Shutd\n-0000a000: 6f77 6e20 2870 726f 6365 6475 7265 293a  own (procedure):\n-0000a010: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173  :.....File: adas\n-0000a020: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n-0000a030: 6465 3a20 536f 636b 6574 732e 4e61 6d69  de: Sockets.Nami\n-0000a040: 6e67 2070 6163 6b61 6765 2c20 204e 6578  ng package,  Nex\n-0000a050: 743a 2043 6f6e 7472 6962 7574 6f72 732c  t: Contributors,\n-0000a060: 2020 5072 6576 3a20 536f 636b 6574 732e    Prev: Sockets.\n-0000a070: 4d75 6c74 6963 6173 7420 7061 636b 6167  Multicast packag\n-0000a080: 652c 2020 5570 3a20 546f 700a 0a36 2053  e,  Up: Top..6 S\n-0000a090: 6f63 6b65 7473 2e4e 616d 696e 6720 7061  ockets.Naming pa\n-0000a0a0: 636b 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a  ckage.**********\n-0000a0b0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a  **************..\n-0000a0c0: 5468 6520 e280 9853 6f63 6b65 7473 2e4e  The ...Sockets.N\n-0000a0d0: 616d 696e 67e2 8099 2070 6163 6b61 6765  aming... package\n-0000a0e0: 2063 6f6e 7461 696e 7320 7479 7065 7320   contains types \n-0000a0f0: 616e 6420 6865 6c70 6572 2066 756e 6374  and helper funct\n-0000a100: 696f 6e73 206e 6565 6465 640a 746f 206d  ions needed.to m\n-0000a110: 616e 6970 756c 6174 6520 496e 7465 726e  anipulate Intern\n-0000a120: 6574 2068 6f73 7420 6e61 6d65 7320 616e  et host names an\n-0000a130: 6420 6164 6472 6573 7365 732e 0a0a 202d  d addresses... -\n-0000a140: 2d20 536f 636b 6574 732e 4e61 6d69 6e67  - Sockets.Naming\n-0000a150: 2e41 6464 7265 7373 3a20 7479 7065 2041  .Address: type A\n-0000a160: 6464 7265 7373 2069 7320 7265 636f 7264  ddress is record\n-0000a170: 0a20 2020 2020 2020 2020 2020 4831 2c20  .           H1, \n-0000a180: 4832 2c20 4833 2c20 4834 203a 2041 6464  H2, H3, H4 : Add\n-0000a190: 7265 7373 5f43 6f6d 706f 6e65 6e74 3b0a  ress_Component;.\n-0000a1a0: 2020 2020 2020 2020 2020 656e 6420 7265            end re\n-0000a1b0: 636f 7264 3b0a 2020 2020 2054 6869 7320  cord;.     This \n-0000a1c0: 7479 7065 2072 6570 7265 7365 6e74 7320  type represents \n-0000a1d0: 616e 2049 5076 3420 6164 6472 6573 7320  an IPv4 address \n-0000a1e0: 7769 7468 20e2 8098 4831 e280 9920 6265  with ...H1... be\n-0000a1f0: 696e 6720 7468 6520 6669 7273 740a 2020  ing the first.  \n-0000a200: 2020 206f 6374 6574 2061 6e64 20e2 8098     octet and ...\n-0000a210: 4834 e280 9920 7468 6520 6c61 7374 206f  H4... the last o\n-0000a220: 6e65 2e20 2046 6f72 2065 7861 6d70 6c65  ne.  For example\n-0000a230: 2c20 3133 372e 3139 342e 3136 312e 3220  , 137.194.161.2 \n-0000a240: 6973 0a20 2020 2020 7265 7072 6573 656e  is.     represen\n-0000a250: 7465 6420 6279 20e2 8098 4831 3d31 3337  ted by ...H1=137\n-0000a260: 2c20 4832 3d31 3934 2c20 4833 3d31 3631  , H2=194, H3=161\n-0000a270: 2c20 4834 3d32 e280 992e 0a0a 202d 2d20  , H4=2...... -- \n-0000a280: 536f 636b 6574 732e 4e61 6d69 6e67 2e41  Sockets.Naming.A\n-0000a290: 6464 7265 7373 5f41 7272 6179 3a20 7479  ddress_Array: ty\n-0000a2a0: 7065 2041 6464 7265 7373 5f41 7272 6179  pe Address_Array\n-0000a2b0: 2069 7320 6172 7261 7920 2850 6f73 6974   is array (Posit\n-0000a2c0: 6976 650a 2020 2020 2020 2020 2020 7261  ive.          ra\n-0000a2d0: 6e67 6520 3c3e 2920 6f66 2041 6464 7265  nge <>) of Addre\n-0000a2e0: 7373 3b0a 2020 2020 2048 656c 7065 7220  ss;.     Helper \n-0000a2f0: 7479 7065 0a0a 202d 2d20 536f 636b 6574  type.. -- Socket\n-0000a300: 732e 4e61 6d69 6e67 2e41 6464 7265 7373  s.Naming.Address\n-0000a310: 5f43 6f6d 706f 6e65 6e74 3a20 7479 7065  _Component: type\n-0000a320: 2041 6464 7265 7373 5f43 6f6d 706f 6e65   Address_Compone\n-0000a330: 6e74 2069 7320 4e61 7475 7261 6c0a 2020  nt is Natural.  \n-0000a340: 2020 2020 2020 2020 7261 6e67 6520 3020          range 0 \n-0000a350: 2e2e 2032 3535 3b0a 2020 2020 2048 656c  .. 255;.     Hel\n-0000a360: 7065 7220 7479 7065 0a0a 202d 2d20 536f  per type.. -- So\n-0000a370: 636b 6574 732e 4e61 6d69 6e67 2e48 6f73  ckets.Naming.Hos\n-0000a380: 745f 456e 7472 793a 2074 7970 6520 486f  t_Entry: type Ho\n-0000a390: 7374 5f45 6e74 7279 2028 4e5f 416c 6961  st_Entry (N_Alia\n-0000a3a0: 7365 732c 204e 5f41 6464 7265 7373 6573  ses, N_Addresses\n-0000a3b0: 203a 0a20 2020 2020 2020 2020 204e 6174   :.          Nat\n-0000a3c0: 7572 616c 2920 6973 206e 6577 2041 6461  ural) is new Ada\n-0000a3d0: 2e46 696e 616c 697a 6174 696f 6e2e 436f  .Finalization.Co\n-0000a3e0: 6e74 726f 6c6c 6564 2077 6974 6820 7265  ntrolled with re\n-0000a3f0: 636f 7264 0a20 2020 2020 2020 2020 2020  cord.           \n-0000a400: 204e 616d 6520 3a20 5374 7269 6e67 5f41   Name : String_A\n-0000a410: 6363 6573 733b 0a20 2020 2020 2020 2020  ccess;.         \n-0000a420: 2020 2041 6c69 6173 6573 203a 2053 7472     Aliases : Str\n-0000a430: 696e 675f 4172 7261 7920 2831 202e 2e20  ing_Array (1 .. \n-0000a440: 4e5f 416c 6961 7365 7329 3b0a 2020 2020  N_Aliases);.    \n-0000a450: 2020 2020 2020 2020 4164 6472 6573 7365          Addresse\n-0000a460: 7320 3a20 4164 6472 6573 735f 4172 7261  s : Address_Arra\n-0000a470: 7920 2831 202e 2e20 4e5f 4164 6472 6573  y (1 .. N_Addres\n-0000a480: 7365 7329 3b0a 2020 2020 2020 2020 2020  ses);.          \n-0000a490: 656e 6420 7265 636f 7264 3b0a 2020 2020  end record;.    \n-0000a4a0: 2054 6865 20e2 8098 486f 7374 5f45 6e74   The ...Host_Ent\n-0000a4b0: 7279 e280 9920 7479 7065 2068 6f6c 6473  ry... type holds\n-0000a4c0: 2061 2073 6574 206f 6620 6e61 6d65 7320   a set of names \n-0000a4d0: 616e 6420 4950 2061 6464 7265 7373 6573  and IP addresses\n-0000a4e0: 0a20 2020 2020 6173 736f 6369 6174 6564  .     associated\n-0000a4f0: 2077 6974 6820 6120 686f 7374 2e20 2045   with a host.  E\n-0000a500: 6163 6820 686f 7374 2063 616e 2068 6176  ach host can hav\n-0000a510: 6520 7365 7665 7261 6c20 4950 2061 6464  e several IP add\n-0000a520: 7265 7373 2061 730a 2020 2020 2077 656c  ress as.     wel\n-0000a530: 6c20 6173 2073 6576 6572 616c 2061 6c69  l as several ali\n-0000a540: 6173 6573 2e0a 0a20 2d2d 2053 6f63 6b65  ases... -- Socke\n-0000a550: 7473 2e4e 616d 696e 672e 5374 7269 6e67  ts.Naming.String\n-0000a560: 5f41 6363 6573 733a 2074 7970 6520 5374  _Access: type St\n-0000a570: 7269 6e67 5f41 6363 6573 7320 6973 2061  ring_Access is a\n-0000a580: 6363 6573 7320 5374 7269 6e67 3b0a 2020  ccess String;.  \n-0000a590: 2020 2048 656c 7065 7220 7479 7065 0a0a     Helper type..\n-0000a5a0: 202d 2d20 536f 636b 6574 732e 4e61 6d69   -- Sockets.Nami\n-0000a5b0: 6e67 2e53 7472 696e 675f 4172 7261 793a  ng.String_Array:\n-0000a5c0: 2074 7970 6520 5374 7269 6e67 5f41 7272   type String_Arr\n-0000a5d0: 6179 2069 7320 6172 7261 7920 2850 6f73  ay is array (Pos\n-0000a5e0: 6974 6976 650a 2020 2020 2020 2020 2020  itive.          \n-0000a5f0: 7261 6e67 6520 3c3e 2920 6f66 2053 7472  range <>) of Str\n-0000a600: 696e 675f 4163 6365 7373 3b0a 2020 2020  ing_Access;.    \n-0000a610: 2048 656c 7065 7220 7479 7065 0a0a 2a20   Helper type..* \n-0000a620: 4d65 6e75 3a0a 0a2a 2041 6464 7265 7373  Menu:..* Address\n-0000a630: 5f4f 6620 2866 756e 6374 696f 6e29 3a3a  _Of (function)::\n-0000a640: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000a650: 2020 2020 2020 2020 2047 6574 2074 6865           Get the\n-0000a660: 2049 5020 6164 6472 6573 7320 6f66 2061   IP address of a\n-0000a670: 2068 6f73 740a 2a20 416e 795f 4164 6472   host.* Any_Addr\n-0000a680: 6573 7320 2866 756e 6374 696f 6e29 3a3a  ess (function)::\n-0000a690: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000a6a0: 2020 2020 2020 2020 2053 7065 6369 616c           Special\n-0000a6b0: 2061 6464 7265 7373 2072 6570 7265 7365   address represe\n-0000a6c0: 6e74 696e 6720 616e 7920 6164 6472 6573  nting any addres\n-0000a6d0: 7320 6f6e 2074 6865 206c 6f63 616c 2068  s on the local h\n-0000a6e0: 6f73 740a 2a20 4765 745f 5065 6572 5f41  ost.* Get_Peer_A\n-0000a6f0: 6464 7220 2866 756e 6374 696f 6e29 3a3a  ddr (function)::\n-0000a700: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000a710: 2020 2020 2020 2020 2052 6574 7269 6576           Retriev\n-0000a720: 6520 4950 2061 6464 7265 7373 206f 6620  e IP address of \n-0000a730: 7265 6d6f 7465 2068 6f73 740a 2a20 4765  remote host.* Ge\n-0000a740: 745f 5065 6572 5f50 6f72 7420 2866 756e  t_Peer_Port (fun\n-0000a750: 6374 696f 6e29 3a3a 0a20 2020 2020 2020  ction)::.       \n-0000a760: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000a770: 2052 6574 7269 6576 6520 706f 7274 2075   Retrieve port u\n-0000a780: 7365 6420 6279 2072 656d 6f74 6520 686f  sed by remote ho\n-0000a790: 7374 0a2a 2047 6574 5f53 6f63 6b5f 4164  st.* Get_Sock_Ad\n-0000a7a0: 6472 2028 6675 6e63 7469 6f6e 293a 3a0a  dr (function)::.\n-0000a7b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000a7c0: 2020 2020 2020 2020 5265 7472 6965 7665          Retrieve\n-0000a7d0: 2049 5020 6164 6472 6573 7320 6f66 206c   IP address of l\n-0000a7e0: 6f63 616c 2068 6f73 740a 2a20 4765 745f  ocal host.* Get_\n-0000a7f0: 536f 636b 5f50 6f72 7420 2866 756e 6374  Sock_Port (funct\n-0000a800: 696f 6e29 3a3a 0a20 2020 2020 2020 2020  ion)::.         \n-0000a810: 2020 2020 2020 2020 2020 2020 2020 2052                 R\n-0000a820: 6574 7269 6576 6520 706f 7274 2075 7365  etrieve port use\n-0000a830: 6420 6279 206c 6f63 616c 2068 6f73 740a  d by local host.\n-0000a840: 2a20 486f 7374 5f4e 616d 6520 2866 756e  * Host_Name (fun\n-0000a850: 6374 696f 6e29 3a3a 0a20 2020 2020 2020  ction)::.       \n-0000a860: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000a870: 2047 6574 2074 6865 206e 616d 6520 6f66   Get the name of\n-0000a880: 2074 6865 2063 7572 7265 6e74 2068 6f73   the current hos\n-0000a890: 740a 2a20 496d 6167 6520 2866 756e 6374  t.* Image (funct\n-0000a8a0: 696f 6e29 3a3a 2020 2020 4d61 6b65 2061  ion)::    Make a\n-0000a8b0: 2073 7472 696e 6720 6672 6f6d 2061 6e20   string from an \n-0000a8c0: 6164 6472 6573 730a 2a20 496e 666f 5f4f  address.* Info_O\n-0000a8d0: 665f 4e61 6d65 5f4f 725f 4950 2028 6675  f_Name_Or_IP (fu\n-0000a8e0: 6e63 7469 6f6e 293a 3a0a 2020 2020 2020  nction)::.      \n-0000a8f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000a900: 2020 4765 7420 6164 6472 6573 7365 7320    Get addresses \n-0000a910: 616e 6420 6e61 6d65 7320 6f66 2061 2068  and names of a h\n-0000a920: 6f73 740a 2a20 4973 5f49 505f 4164 6472  ost.* Is_IP_Addr\n-0000a930: 6573 7320 2866 756e 6374 696f 6e29 3a3a  ess (function)::\n-0000a940: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000a950: 2020 2020 2020 2020 2043 6865 636b 2069           Check i\n-0000a960: 6620 6769 7665 6e20 7374 7269 6e67 2069  f given string i\n-0000a970: 7320 6120 7661 6c69 6420 4950 2061 6464  s a valid IP add\n-0000a980: 7265 7373 0a2a 204e 616d 655f 4f66 2028  ress.* Name_Of (\n-0000a990: 6675 6e63 7469 6f6e 293a 3a20 204f 6666  function)::  Off\n-0000a9a0: 6963 6961 6c20 6e61 6d65 206f 6620 7468  icial name of th\n-0000a9b0: 6520 686f 7374 0a2a 2056 616c 7565 2028  e host.* Value (\n-0000a9c0: 6675 6e63 7469 6f6e 293a 3a20 2020 2054  function)::    T\n-0000a9d0: 7261 6e73 666f 726d 2061 2073 7472 696e  ransform a strin\n-0000a9e0: 6720 696e 746f 2061 6e20 6164 6472 6573  g into an addres\n-0000a9f0: 730a 0a1f 0a46 696c 653a 2061 6461 736f  s....File: adaso\n-0000aa00: 636b 6574 732e 696e 666f 2c20 204e 6f64  ckets.info,  Nod\n-0000aa10: 653a 2041 6464 7265 7373 5f4f 6620 2866  e: Address_Of (f\n-0000aa20: 756e 6374 696f 6e29 2c20 204e 6578 743a  unction),  Next:\n-0000aa30: 2041 6e79 5f41 6464 7265 7373 2028 6675   Any_Address (fu\n-0000aa40: 6e63 7469 6f6e 292c 2020 5570 3a20 536f  nction),  Up: So\n-0000aa50: 636b 6574 732e 4e61 6d69 6e67 2070 6163  ckets.Naming pac\n-0000aa60: 6b61 6765 0a0a 4164 6472 6573 735f 4f66  kage..Address_Of\n-0000aa70: 2028 6675 6e63 7469 6f6e 290a 3d3d 3d3d   (function).====\n-0000aa80: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d  ================\n-0000aa90: 3d0a 0a50 5552 504f 5345 0a20 2020 2020  =..PURPOSE.     \n-0000aaa0: 4765 7420 7468 6520 4950 2061 6464 7265  Get the IP addre\n-0000aab0: 7373 206f 6620 6120 686f 7374 0a50 524f  ss of a host.PRO\n-0000aac0: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n-0000aad0: 536f 636b 6574 732e 4e61 6d69 6e67 2e41  Sockets.Naming.A\n-0000aae0: 6464 7265 7373 5f4f 663a 2066 756e 6374  ddress_Of: funct\n-0000aaf0: 696f 6e20 4164 6472 6573 735f 4f66 0a20  ion Address_Of. \n-0000ab00: 2020 2020 2020 2020 2020 2020 2020 2853                (S\n-0000ab10: 4f4d 4554 4849 4e47 203a 2053 7472 696e  OMETHING : Strin\n-0000ab20: 6729 0a20 2020 2020 2020 2020 2020 2020  g).             \n-0000ab30: 2020 7265 7475 726e 2041 6464 7265 7373    return Address\n-0000ab40: 3b0a 0a50 4152 414d 4554 4552 530a 2020  ;..PARAMETERS.  \n-0000ab50: 2020 2053 4f4d 4554 4849 4e47 2020 696e     SOMETHING  in\n-0000ab60: 2020 2020 2020 2020 2048 6f73 7420 6e61           Host na\n-0000ab70: 6d65 206f 7220 4950 2061 6464 7265 7373  me or IP address\n-0000ab80: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n-0000ab90: 2020 2020 4950 7634 2061 6464 7265 7373      IPv4 address\n-0000aba0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020  ..EXCEPTIONS.   \n-0000abb0: 2020 e280 984e 616d 696e 675f 4572 726f    ...Naming_Erro\n-0000abc0: 72e2 8099 2020 2020 204e 6f20 696e 666f  r...     No info\n-0000abd0: 726d 6174 696f 6e20 6176 6169 6c61 626c  rmation availabl\n-0000abe0: 6520 666f 7220 7468 6973 206e 616d 6520  e for this name \n-0000abf0: 6f72 0a20 2020 2020 2020 2020 2020 2020  or.             \n-0000ac00: 2020 2020 2020 2020 2020 2061 6464 7265             addre\n-0000ac10: 7373 0a0a 5345 4520 414c 534f 0a20 2020  ss..SEE ALSO.   \n-0000ac20: 2020 2a6e 6f74 6520 4e61 6d65 5f4f 6620    *note Name_Of \n-0000ac30: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a2a  (function)::...*\n-0000ac40: 204d 656e 753a 0a0a 2a20 416e 795f 4164   Menu:..* Any_Ad\n-0000ac50: 6472 6573 7320 2866 756e 6374 696f 6e29  dress (function)\n-0000ac60: 3a3a 0a2a 2047 6574 5f50 6565 725f 4164  ::.* Get_Peer_Ad\n-0000ac70: 6472 2028 6675 6e63 7469 6f6e 293a 3a0a  dr (function)::.\n-0000ac80: 2a20 4765 745f 5065 6572 5f50 6f72 7420  * Get_Peer_Port \n-0000ac90: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047  (function)::.* G\n-0000aca0: 6574 5f53 6f63 6b5f 4164 6472 2028 6675  et_Sock_Addr (fu\n-0000acb0: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f  nction)::.* Get_\n-0000acc0: 536f 636b 5f50 6f72 7420 2866 756e 6374  Sock_Port (funct\n-0000acd0: 696f 6e29 3a3a 0a2a 2048 6f73 745f 4e61  ion)::.* Host_Na\n-0000ace0: 6d65 2028 6675 6e63 7469 6f6e 293a 3a0a  me (function)::.\n-0000acf0: 2a20 496d 6167 6520 2866 756e 6374 696f  * Image (functio\n-0000ad00: 6e29 3a3a 0a2a 2049 6e66 6f5f 4f66 5f4e  n)::.* Info_Of_N\n-0000ad10: 616d 655f 4f72 5f49 5020 2866 756e 6374  ame_Or_IP (funct\n-0000ad20: 696f 6e29 3a3a 0a2a 2049 735f 4950 5f41  ion)::.* Is_IP_A\n-0000ad30: 6464 7265 7373 2028 6675 6e63 7469 6f6e  ddress (function\n-0000ad40: 293a 3a0a 2a20 4e61 6d65 5f4f 6620 2866  )::.* Name_Of (f\n-0000ad50: 756e 6374 696f 6e29 3a3a 0a2a 2056 616c  unction)::.* Val\n-0000ad60: 7565 2028 6675 6e63 7469 6f6e 293a 3a0a  ue (function)::.\n-0000ad70: 0a1f 0a46 696c 653a 2061 6461 736f 636b  ...File: adasock\n-0000ad80: 6574 732e 696e 666f 2c20 204e 6f64 653a  ets.info,  Node:\n-0000ad90: 2041 6e79 5f41 6464 7265 7373 2028 6675   Any_Address (fu\n-0000ada0: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20  nction),  Next: \n-0000adb0: 4765 745f 5065 6572 5f41 6464 7220 2866  Get_Peer_Addr (f\n-0000adc0: 756e 6374 696f 6e29 2c20 2050 7265 763a  unction),  Prev:\n-0000add0: 2041 6464 7265 7373 5f4f 6620 2866 756e   Address_Of (fun\n-0000ade0: 6374 696f 6e29 2c20 2055 703a 2041 6464  ction),  Up: Add\n-0000adf0: 7265 7373 5f4f 6620 2866 756e 6374 696f  ress_Of (functio\n-0000ae00: 6e29 0a0a 416e 795f 4164 6472 6573 7320  n)..Any_Address \n-0000ae10: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d  (function).-----\n-0000ae20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000ae30: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n-0000ae40: 5370 6563 6961 6c20 6164 6472 6573 7320  Special address \n-0000ae50: 7265 7072 6573 656e 7469 6e67 2061 6e79  representing any\n-0000ae60: 2061 6464 7265 7373 206f 6e20 7468 6520   address on the \n-0000ae70: 6c6f 6361 6c20 686f 7374 0a50 524f 544f  local host.PROTO\n-0000ae80: 5459 5045 0a20 2020 2020 202d 2d20 536f  TYPE.      -- So\n-0000ae90: 636b 6574 732e 4e61 6d69 6e67 2e41 6e79  ckets.Naming.Any\n-0000aea0: 5f41 6464 7265 7373 3a20 6675 6e63 7469  _Address: functi\n-0000aeb0: 6f6e 2041 6e79 5f41 6464 7265 7373 0a0a  on Any_Address..\n-0000aec0: 5245 5455 524e 2056 414c 5545 0a20 2020  RETURN VALUE.   \n-0000aed0: 2020 4571 7569 7661 6c65 6e74 2074 6f20    Equivalent to \n-0000aee0: e280 9849 4e41 4444 525f 414e 59e2 8099  ...INADDR_ANY...\n-0000aef0: 2069 6e20 7468 6520 4320 7072 6f67 7261   in the C progra\n-0000af00: 6d6d 696e 6720 6c61 6e67 7561 6765 0a0a  mming language..\n-0000af10: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65  ..File: adasocke\n-0000af20: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20  ts.info,  Node: \n-0000af30: 4765 745f 5065 6572 5f41 6464 7220 2866  Get_Peer_Addr (f\n-0000af40: 756e 6374 696f 6e29 2c20 204e 6578 743a  unction),  Next:\n-0000af50: 2047 6574 5f50 6565 725f 506f 7274 2028   Get_Peer_Port (\n-0000af60: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n-0000af70: 3a20 416e 795f 4164 6472 6573 7320 2866  : Any_Address (f\n-0000af80: 756e 6374 696f 6e29 2c20 2055 703a 2041  unction),  Up: A\n-0000af90: 6464 7265 7373 5f4f 6620 2866 756e 6374  ddress_Of (funct\n-0000afa0: 696f 6e29 0a0a 4765 745f 5065 6572 5f41  ion)..Get_Peer_A\n-0000afb0: 6464 7220 2866 756e 6374 696f 6e29 0a2d  ddr (function).-\n-0000afc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000afd0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n-0000afe0: 0a20 2020 2020 5265 7472 6965 7665 2049  .     Retrieve I\n-0000aff0: 5020 6164 6472 6573 7320 6f66 2072 656d  P address of rem\n-0000b000: 6f74 6520 686f 7374 0a50 524f 544f 5459  ote host.PROTOTY\n-0000b010: 5045 0a20 2020 2020 202d 2d20 536f 636b  PE.      -- Sock\n-0000b020: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50  ets.Naming.Get_P\n-0000b030: 6565 725f 4164 6472 3a20 6675 6e63 7469  eer_Addr: functi\n-0000b040: 6f6e 2047 6574 5f50 6565 725f 4164 6472  on Get_Peer_Addr\n-0000b050: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000b060: 2853 4f43 4b45 5420 3a20 536f 636b 6574  (SOCKET : Socket\n-0000b070: 5f46 4429 0a20 2020 2020 2020 2020 2020  _FD).           \n-0000b080: 2020 2020 7265 7475 726e 2041 6464 7265      return Addre\n-0000b090: 7373 3b0a 0a50 4152 414d 4554 4552 530a  ss;..PARAMETERS.\n-0000b0a0: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n-0000b0b0: 696e 2020 2020 2020 2020 2043 6f6e 6e65  in         Conne\n-0000b0c0: 6374 6564 2073 6f63 6b65 7420 6f62 6a65  cted socket obje\n-0000b0d0: 6374 0a0a 5245 5455 524e 2056 414c 5545  ct..RETURN VALUE\n-0000b0e0: 0a20 2020 2020 5065 6572 2061 6464 7265  .     Peer addre\n-0000b0f0: 7373 0a0a 5345 4520 414c 534f 0a20 2020  ss..SEE ALSO.   \n-0000b100: 2020 2a6e 6f74 6520 4765 745f 5065 6572    *note Get_Peer\n-0000b110: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n-0000b120: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047  ::,.     *note G\n-0000b130: 6574 5f53 6f63 6b5f 4164 6472 2028 6675  et_Sock_Addr (fu\n-0000b140: 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a 4669  nction)::.....Fi\n-0000b150: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n-0000b160: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f  nfo,  Node: Get_\n-0000b170: 5065 6572 5f50 6f72 7420 2866 756e 6374  Peer_Port (funct\n-0000b180: 696f 6e29 2c20 204e 6578 743a 2047 6574  ion),  Next: Get\n-0000b190: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63  _Sock_Addr (func\n-0000b1a0: 7469 6f6e 292c 2020 5072 6576 3a20 4765  tion),  Prev: Ge\n-0000b1b0: 745f 5065 6572 5f41 6464 7220 2866 756e  t_Peer_Addr (fun\n-0000b1c0: 6374 696f 6e29 2c20 2055 703a 2041 6464  ction),  Up: Add\n-0000b1d0: 7265 7373 5f4f 6620 2866 756e 6374 696f  ress_Of (functio\n-0000b1e0: 6e29 0a0a 4765 745f 5065 6572 5f50 6f72  n)..Get_Peer_Por\n-0000b1f0: 7420 2866 756e 6374 696f 6e29 0a2d 2d2d  t (function).---\n-0000b200: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000b210: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20  -----..PURPOSE. \n-0000b220: 2020 2020 5265 7472 6965 7665 2070 6f72      Retrieve por\n-0000b230: 7420 7573 6564 2062 7920 7265 6d6f 7465  t used by remote\n-0000b240: 2068 6f73 740a 5052 4f54 4f54 5950 450a   host.PROTOTYPE.\n-0000b250: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n-0000b260: 2e4e 616d 696e 672e 4765 745f 5065 6572  .Naming.Get_Peer\n-0000b270: 5f50 6f72 743a 2066 756e 6374 696f 6e20  _Port: function \n-0000b280: 4765 745f 5065 6572 5f50 6f72 740a 2020  Get_Peer_Port.  \n-0000b290: 2020 2020 2020 2020 2020 2020 2028 534f               (SO\n-0000b2a0: 434b 4554 203a 2053 6f63 6b65 745f 4644  CKET : Socket_FD\n-0000b2b0: 290a 2020 2020 2020 2020 2020 2020 2020  ).              \n-0000b2c0: 2072 6574 7572 6e20 506f 7369 7469 7665   return Positive\n-0000b2d0: 3b0a 0a50 4152 414d 4554 4552 530a 2020  ;..PARAMETERS.  \n-0000b2e0: 2020 2053 4f43 4b45 5420 2020 2020 696e     SOCKET     in\n-0000b2f0: 2020 2020 2020 2020 2043 6f6e 6e65 6374           Connect\n-0000b300: 6564 2073 6f63 6b65 7420 6f62 6a65 6374  ed socket object\n-0000b310: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n-0000b320: 2020 2020 506f 7274 2075 7365 6420 6f6e      Port used on\n-0000b330: 2074 6865 2072 656d 6f74 6520 686f 7374   the remote host\n-0000b340: 0a0a 5345 4520 414c 534f 0a20 2020 2020  ..SEE ALSO.     \n-0000b350: 2a6e 6f74 6520 4765 745f 536f 636b 5f50  *note Get_Sock_P\n-0000b360: 6f72 7420 2866 756e 6374 696f 6e29 3a3a  ort (function)::\n-0000b370: 2c0a 2020 2020 202a 6e6f 7465 2047 6574  ,.     *note Get\n-0000b380: 5f50 6565 725f 4164 6472 2028 6675 6e63  _Peer_Addr (func\n-0000b390: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65  tion)::.....File\n-0000b3a0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66  : adasockets.inf\n-0000b3b0: 6f2c 2020 4e6f 6465 3a20 4765 745f 536f  o,  Node: Get_So\n-0000b3c0: 636b 5f41 6464 7220 2866 756e 6374 696f  ck_Addr (functio\n-0000b3d0: 6e29 2c20 204e 6578 743a 2047 6574 5f53  n),  Next: Get_S\n-0000b3e0: 6f63 6b5f 506f 7274 2028 6675 6e63 7469  ock_Port (functi\n-0000b3f0: 6f6e 292c 2020 5072 6576 3a20 4765 745f  on),  Prev: Get_\n-0000b400: 5065 6572 5f50 6f72 7420 2866 756e 6374  Peer_Port (funct\n-0000b410: 696f 6e29 2c20 2055 703a 2041 6464 7265  ion),  Up: Addre\n-0000b420: 7373 5f4f 6620 2866 756e 6374 696f 6e29  ss_Of (function)\n-0000b430: 0a0a 4765 745f 536f 636b 5f41 6464 7220  ..Get_Sock_Addr \n-0000b440: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d  (function).-----\n-0000b450: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000b460: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n-0000b470: 2020 5265 7472 6965 7665 2049 5020 6164    Retrieve IP ad\n-0000b480: 6472 6573 7320 6f66 206c 6f63 616c 2068  dress of local h\n-0000b490: 6f73 740a 5052 4f54 4f54 5950 450a 2020  ost.PROTOTYPE.  \n-0000b4a0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e      -- Sockets.N\n-0000b4b0: 616d 696e 672e 4765 745f 536f 636b 5f41  aming.Get_Sock_A\n-0000b4c0: 6464 723a 2066 756e 6374 696f 6e20 4765  ddr: function Ge\n-0000b4d0: 745f 536f 636b 5f41 6464 720a 2020 2020  t_Sock_Addr.    \n-0000b4e0: 2020 2020 2020 2020 2020 2028 534f 434b             (SOCK\n-0000b4f0: 4554 203a 2053 6f63 6b65 745f 4644 290a  ET : Socket_FD).\n-0000b500: 2020 2020 2020 2020 2020 2020 2020 2072                 r\n-0000b510: 6574 7572 6e20 4164 6472 6573 733b 0a0a  eturn Address;..\n-0000b520: 5041 5241 4d45 5445 5253 0a20 2020 2020  PARAMETERS.     \n-0000b530: 534f 434b 4554 2020 2020 2069 6e20 2020  SOCKET     in   \n-0000b540: 2020 2020 2020 436f 6e6e 6563 7465 6420        Connected \n-0000b550: 736f 636b 6574 206f 626a 6563 740a 0a52  socket object..R\n-0000b560: 4554 5552 4e20 5641 4c55 450a 2020 2020  ETURN VALUE.    \n-0000b570: 2041 6464 7265 7373 206f 6620 6c6f 6361   Address of loca\n-0000b580: 6c20 696e 7465 7266 6163 6520 7573 6564  l interface used\n-0000b590: 0a0a 5345 4520 414c 534f 0a20 2020 2020  ..SEE ALSO.     \n-0000b5a0: 2a6e 6f74 6520 4765 745f 536f 636b 5f50  *note Get_Sock_P\n-0000b5b0: 6f72 7420 2866 756e 6374 696f 6e29 3a3a  ort (function)::\n-0000b5c0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574  ,.     *note Get\n-0000b5d0: 5f50 6565 725f 4164 6472 2028 6675 6e63  _Peer_Addr (func\n-0000b5e0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65  tion)::.....File\n-0000b5f0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66  : adasockets.inf\n-0000b600: 6f2c 2020 4e6f 6465 3a20 4765 745f 536f  o,  Node: Get_So\n-0000b610: 636b 5f50 6f72 7420 2866 756e 6374 696f  ck_Port (functio\n-0000b620: 6e29 2c20 204e 6578 743a 2048 6f73 745f  n),  Next: Host_\n-0000b630: 4e61 6d65 2028 6675 6e63 7469 6f6e 292c  Name (function),\n-0000b640: 2020 5072 6576 3a20 4765 745f 536f 636b    Prev: Get_Sock\n-0000b650: 5f41 6464 7220 2866 756e 6374 696f 6e29  _Addr (function)\n-0000b660: 2c20 2055 703a 2041 6464 7265 7373 5f4f  ,  Up: Address_O\n-0000b670: 6620 2866 756e 6374 696f 6e29 0a0a 4765  f (function)..Ge\n-0000b680: 745f 536f 636b 5f50 6f72 7420 2866 756e  t_Sock_Port (fun\n-0000b690: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d  ction).---------\n-0000b6a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a  ---------------.\n-0000b6b0: 0a50 5552 504f 5345 0a20 2020 2020 5265  .PURPOSE.     Re\n-0000b6c0: 7472 6965 7665 2070 6f72 7420 7573 6564  trieve port used\n-0000b6d0: 2062 7920 6c6f 6361 6c20 686f 7374 0a50   by local host.P\n-0000b6e0: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n-0000b6f0: 2d20 536f 636b 6574 732e 4e61 6d69 6e67  - Sockets.Naming\n-0000b700: 2e47 6574 5f53 6f63 6b5f 506f 7274 3a20  .Get_Sock_Port: \n-0000b710: 6675 6e63 7469 6f6e 2047 6574 5f53 6f63  function Get_Soc\n-0000b720: 6b5f 506f 7274 0a20 2020 2020 2020 2020  k_Port.         \n-0000b730: 2020 2020 2020 2853 4f43 4b45 5420 3a20        (SOCKET : \n-0000b740: 536f 636b 6574 5f46 4429 0a20 2020 2020  Socket_FD).     \n-0000b750: 2020 2020 2020 2020 2020 7265 7475 726e            return\n-0000b760: 2050 6f73 6974 6976 653b 0a0a 5041 5241   Positive;..PARA\n-0000b770: 4d45 5445 5253 0a20 2020 2020 534f 434b  METERS.     SOCK\n-0000b780: 4554 2020 2020 2069 6e20 2020 2020 2020  ET     in       \n-0000b790: 2020 436f 6e6e 6563 7465 6420 736f 636b    Connected sock\n-0000b7a0: 6574 206f 626a 6563 740a 0a52 4554 5552  et object..RETUR\n-0000b7b0: 4e20 5641 4c55 450a 2020 2020 2050 6f72  N VALUE.     Por\n-0000b7c0: 7420 7573 6564 206f 6e20 7468 6520 6c6f  t used on the lo\n-0000b7d0: 6361 6c20 686f 7374 0a0a 5345 4520 414c  cal host..SEE AL\n-0000b7e0: 534f 0a20 2020 2020 2a6e 6f74 6520 4765  SO.     *note Ge\n-0000b7f0: 745f 5065 6572 5f50 6f72 7420 2866 756e  t_Peer_Port (fun\n-0000b800: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a  ction)::,.     *\n-0000b810: 6e6f 7465 2047 6574 5f53 6f63 6b5f 4164  note Get_Sock_Ad\n-0000b820: 6472 2028 6675 6e63 7469 6f6e 293a 3a2e  dr (function)::.\n-0000b830: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63  ....File: adasoc\n-0000b840: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465  kets.info,  Node\n-0000b850: 3a20 486f 7374 5f4e 616d 6520 2866 756e  : Host_Name (fun\n-0000b860: 6374 696f 6e29 2c20 204e 6578 743a 2049  ction),  Next: I\n-0000b870: 6d61 6765 2028 6675 6e63 7469 6f6e 292c  mage (function),\n-0000b880: 2020 5072 6576 3a20 4765 745f 536f 636b    Prev: Get_Sock\n-0000b890: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n-0000b8a0: 2c20 2055 703a 2041 6464 7265 7373 5f4f  ,  Up: Address_O\n-0000b8b0: 6620 2866 756e 6374 696f 6e29 0a0a 486f  f (function)..Ho\n-0000b8c0: 7374 5f4e 616d 6520 2866 756e 6374 696f  st_Name (functio\n-0000b8d0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  n).-------------\n-0000b8e0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n-0000b8f0: 0a20 2020 2020 4765 7420 7468 6520 6e61  .     Get the na\n-0000b900: 6d65 206f 6620 7468 6520 6375 7272 656e  me of the curren\n-0000b910: 7420 686f 7374 0a50 524f 544f 5459 5045  t host.PROTOTYPE\n-0000b920: 0a20 2020 2020 202d 2d20 536f 636b 6574  .      -- Socket\n-0000b930: 732e 4e61 6d69 6e67 2e48 6f73 745f 4e61  s.Naming.Host_Na\n-0000b940: 6d65 3a20 6675 6e63 7469 6f6e 2048 6f73  me: function Hos\n-0000b950: 745f 4e61 6d65 0a0a 5245 5455 524e 2056  t_Name..RETURN V\n-0000b960: 414c 5545 0a20 2020 2020 4e61 6d65 206f  ALUE.     Name o\n-0000b970: 6620 7468 6520 6375 7272 656e 7420 686f  f the current ho\n-0000b980: 7374 0a0a 4445 5343 5249 5054 494f 4e0a  st..DESCRIPTION.\n-0000b990: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n-0000b9a0: 6f6e 2072 6574 7572 6e73 2074 6865 206e  on returns the n\n-0000b9b0: 616d 6520 6f66 2074 6865 2063 7572 7265  ame of the curre\n-0000b9c0: 6e74 2068 6f73 742e 2020 4465 7065 6e64  nt host.  Depend\n-0000b9d0: 696e 6720 6f6e 0a20 2020 2020 7468 6520  ing on.     the \n-0000b9e0: 6c6f 6361 6c20 636f 6e66 6967 7572 6174  local configurat\n-0000b9f0: 696f 6e2c 2069 7420 6d61 7920 6f72 206d  ion, it may or m\n-0000ba00: 6179 206e 6f74 2062 6520 6120 6675 6c6c  ay not be a full\n-0000ba10: 7920 7175 616c 6966 6965 640a 2020 2020  y qualified.    \n-0000ba20: 2064 6f6d 6169 6e20 6e61 6d65 2028 4651   domain name (FQ\n-0000ba30: 444e 292e 0a0a 1f0a 4669 6c65 3a20 6164  DN).....File: ad\n-0000ba40: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n-0000ba50: 4e6f 6465 3a20 496d 6167 6520 2866 756e  Node: Image (fun\n-0000ba60: 6374 696f 6e29 2c20 204e 6578 743a 2049  ction),  Next: I\n-0000ba70: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49  nfo_Of_Name_Or_I\n-0000ba80: 5020 2866 756e 6374 696f 6e29 2c20 2050  P (function),  P\n-0000ba90: 7265 763a 2048 6f73 745f 4e61 6d65 2028  rev: Host_Name (\n-0000baa0: 6675 6e63 7469 6f6e 292c 2020 5570 3a20  function),  Up: \n-0000bab0: 4164 6472 6573 735f 4f66 2028 6675 6e63  Address_Of (func\n-0000bac0: 7469 6f6e 290a 0a49 6d61 6765 2028 6675  tion)..Image (fu\n-0000bad0: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d  nction).--------\n-0000bae0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n-0000baf0: 450a 2020 2020 204d 616b 6520 6120 7374  E.     Make a st\n-0000bb00: 7269 6e67 2066 726f 6d20 616e 2061 6464  ring from an add\n-0000bb10: 7265 7373 0a50 524f 544f 5459 5045 0a20  ress.PROTOTYPE. \n-0000bb20: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n-0000bb30: 4e61 6d69 6e67 2e49 6d61 6765 3a20 6675  Naming.Image: fu\n-0000bb40: 6e63 7469 6f6e 2049 6d61 6765 2028 4144  nction Image (AD\n-0000bb50: 4420 3a20 4164 6472 6573 7329 0a20 2020  D : Address).   \n-0000bb60: 2020 2020 2020 2020 2020 2020 7265 7475              retu\n-0000bb70: 726e 2053 7472 696e 673b 0a0a 5041 5241  rn String;..PARA\n-0000bb80: 4d45 5445 5253 0a20 2020 2020 4144 4420  METERS.     ADD \n-0000bb90: 2020 2020 2020 2069 6e20 2020 2020 2020         in       \n-0000bba0: 2020 4950 2061 6464 7265 7373 0a0a 5245    IP address..RE\n-0000bbb0: 5455 524e 2056 414c 5545 0a20 2020 2020  TURN VALUE.     \n-0000bbc0: 5374 7269 6e67 2072 6570 7265 7365 6e74  String represent\n-0000bbd0: 6174 696f 6e20 6f66 2074 6865 2049 5020  ation of the IP \n-0000bbe0: 6164 6472 6573 730a 0a53 4545 2041 4c53  address..SEE ALS\n-0000bbf0: 4f0a 2020 2020 202a 6e6f 7465 2056 616c  O.     *note Val\n-0000bc00: 7565 2028 6675 6e63 7469 6f6e 293a 3a2e  ue (function)::.\n-0000bc10: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63  ....File: adasoc\n-0000bc20: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465  kets.info,  Node\n-0000bc30: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f  : Info_Of_Name_O\n-0000bc40: 725f 4950 2028 6675 6e63 7469 6f6e 292c  r_IP (function),\n-0000bc50: 2020 4e65 7874 3a20 4973 5f49 505f 4164    Next: Is_IP_Ad\n-0000bc60: 6472 6573 7320 2866 756e 6374 696f 6e29  dress (function)\n-0000bc70: 2c20 2050 7265 763a 2049 6d61 6765 2028  ,  Prev: Image (\n-0000bc80: 6675 6e63 7469 6f6e 292c 2020 5570 3a20  function),  Up: \n-0000bc90: 4164 6472 6573 735f 4f66 2028 6675 6e63  Address_Of (func\n-0000bca0: 7469 6f6e 290a 0a49 6e66 6f5f 4f66 5f4e  tion)..Info_Of_N\n-0000bcb0: 616d 655f 4f72 5f49 5020 2866 756e 6374  ame_Or_IP (funct\n-0000bcc0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ion).-----------\n-0000bcd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000bce0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n-0000bcf0: 2047 6574 2061 6464 7265 7373 6573 2061   Get addresses a\n-0000bd00: 6e64 206e 616d 6573 206f 6620 6120 686f  nd names of a ho\n-0000bd10: 7374 0a50 524f 544f 5459 5045 0a20 2020  st.PROTOTYPE.   \n-0000bd20: 2020 202d 2d20 536f 636b 6574 732e 4e61     -- Sockets.Na\n-0000bd30: 6d69 6e67 2e49 6e66 6f5f 4f66 5f4e 616d  ming.Info_Of_Nam\n-0000bd40: 655f 4f72 5f49 503a 2066 756e 6374 696f  e_Or_IP: functio\n-0000bd50: 6e20 496e 666f 5f4f 665f 4e61 6d65 5f4f  n Info_Of_Name_O\n-0000bd60: 725f 4950 0a20 2020 2020 2020 2020 2020  r_IP.           \n-0000bd70: 2020 2020 2853 4f4d 4554 4849 4e47 203a      (SOMETHING :\n-0000bd80: 2053 7472 696e 6729 0a20 2020 2020 2020   String).       \n-0000bd90: 2020 2020 2020 2020 7265 7475 726e 2048          return H\n-0000bda0: 6f73 745f 456e 7472 793b 0a0a 5041 5241  ost_Entry;..PARA\n-0000bdb0: 4d45 5445 5253 0a20 2020 2020 534f 4d45  METERS.     SOME\n-0000bdc0: 5448 494e 4720 2069 6e20 2020 2020 2020  THING  in       \n-0000bdd0: 2020 486f 7374 206e 616d 6520 6f72 2049    Host name or I\n-0000bde0: 5020 6164 6472 6573 730a 0a52 4554 5552  P address..RETUR\n-0000bdf0: 4e20 5641 4c55 450a 2020 2020 2043 6f72  N VALUE.     Cor\n-0000be00: 7265 7370 6f6e 6469 6e67 2068 6f73 7420  responding host \n-0000be10: 656e 7472 790a 0a44 4553 4352 4950 5449  entry..DESCRIPTI\n-0000be20: 4f4e 0a20 2020 2020 5468 6973 2066 756e  ON.     This fun\n-0000be30: 6374 696f 6e20 6578 7472 6163 7473 2061  ction extracts a\n-0000be40: 6c6c 2074 6865 206e 616d 6573 2061 6e64  ll the names and\n-0000be50: 2061 6464 7265 7373 6573 2066 726f 6d20   addresses from \n-0000be60: 7468 6520 6e61 6d69 6e67 0a20 2020 2020  the naming.     \n-0000be70: 7365 7276 6963 652e 0a0a 4558 4345 5054  service...EXCEPT\n-0000be80: 494f 4e53 0a20 2020 2020 e280 984e 616d  IONS.     ...Nam\n-0000be90: 696e 675f 4572 726f 72e2 8099 2020 2020  ing_Error...    \n-0000bea0: 204e 6f20 696e 666f 726d 6174 696f 6e20   No information \n-0000beb0: 6176 6169 6c61 626c 6520 666f 7220 7468  available for th\n-0000bec0: 6973 206e 616d 6520 6f72 0a20 2020 2020  is name or.     \n-0000bed0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000bee0: 2020 2061 6464 7265 7373 0a0a 1f0a 4669     address....Fi\n-0000bef0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n-0000bf00: 6e66 6f2c 2020 4e6f 6465 3a20 4973 5f49  nfo,  Node: Is_I\n-0000bf10: 505f 4164 6472 6573 7320 2866 756e 6374  P_Address (funct\n-0000bf20: 696f 6e29 2c20 204e 6578 743a 204e 616d  ion),  Next: Nam\n-0000bf30: 655f 4f66 2028 6675 6e63 7469 6f6e 292c  e_Of (function),\n-0000bf40: 2020 5072 6576 3a20 496e 666f 5f4f 665f    Prev: Info_Of_\n-0000bf50: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63  Name_Or_IP (func\n-0000bf60: 7469 6f6e 292c 2020 5570 3a20 4164 6472  tion),  Up: Addr\n-0000bf70: 6573 735f 4f66 2028 6675 6e63 7469 6f6e  ess_Of (function\n-0000bf80: 290a 0a49 735f 4950 5f41 6464 7265 7373  )..Is_IP_Address\n-0000bf90: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d   (function).----\n-0000bfa0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n-0000bfb0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020  ----..PURPOSE.  \n-0000bfc0: 2020 2043 6865 636b 2069 6620 6769 7665     Check if give\n-0000bfd0: 6e20 7374 7269 6e67 2069 7320 6120 7661  n string is a va\n-0000bfe0: 6c69 6420 4950 2061 6464 7265 7373 0a50  lid IP address.P\n-0000bff0: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n-0000c000: 2d20 536f 636b 6574 732e 4e61 6d69 6e67  - Sockets.Naming\n-0000c010: 2e49 735f 4950 5f41 6464 7265 7373 3a20  .Is_IP_Address: \n-0000c020: 6675 6e63 7469 6f6e 2049 735f 4950 5f41  function Is_IP_A\n-0000c030: 6464 7265 7373 0a20 2020 2020 2020 2020  ddress.         \n-0000c040: 2020 2020 2020 2853 4f4d 4554 4849 4e47        (SOMETHING\n-0000c050: 203a 2053 7472 696e 6729 0a20 2020 2020   : String).     \n-0000c060: 2020 2020 2020 2020 2020 7265 7475 726e            return\n-0000c070: 2042 6f6f 6c65 616e 3b0a 0a50 4152 414d   Boolean;..PARAM\n-0000c080: 4554 4552 530a 2020 2020 2053 4f4d 4554  ETERS.     SOMET\n-0000c090: 4849 4e47 2020 696e 2020 2020 2020 2020  HING  in        \n-0000c0a0: 2053 7472 696e 6720 746f 2063 6865 636b   String to check\n-0000c0b0: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n-0000c0c0: 2020 2020 e280 9854 7275 65e2 8099 2069      ...True... i\n-0000c0d0: 6620 534f 4d45 5448 494e 4720 6973 2061  f SOMETHING is a\n-0000c0e0: 6e20 4950 2061 6464 7265 7373 0a0a 1f0a  n IP address....\n-0000c0f0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n-0000c100: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4e61  .info,  Node: Na\n-0000c110: 6d65 5f4f 6620 2866 756e 6374 696f 6e29  me_Of (function)\n-0000c120: 2c20 204e 6578 743a 2056 616c 7565 2028  ,  Next: Value (\n-0000c130: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n-0000c140: 3a20 4973 5f49 505f 4164 6472 6573 7320  : Is_IP_Address \n-0000c150: 2866 756e 6374 696f 6e29 2c20 2055 703a  (function),  Up:\n-0000c160: 2041 6464 7265 7373 5f4f 6620 2866 756e   Address_Of (fun\n-0000c170: 6374 696f 6e29 0a0a 4e61 6d65 5f4f 6620  ction)..Name_Of \n-0000c180: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d  (function).-----\n-0000c190: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n-0000c1a0: 5552 504f 5345 0a20 2020 2020 4f66 6669  URPOSE.     Offi\n-0000c1b0: 6369 616c 206e 616d 6520 6f66 2074 6865  cial name of the\n-0000c1c0: 2068 6f73 740a 5052 4f54 4f54 5950 450a   host.PROTOTYPE.\n-0000c1d0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n-0000c1e0: 2e4e 616d 696e 672e 4e61 6d65 5f4f 663a  .Naming.Name_Of:\n-0000c1f0: 2066 756e 6374 696f 6e20 4e61 6d65 5f4f   function Name_O\n-0000c200: 6620 2853 4f4d 4554 4849 4e47 203a 2053  f (SOMETHING : S\n-0000c210: 7472 696e 6729 0a20 2020 2020 2020 2020  tring).         \n-0000c220: 2020 2020 2020 7265 7475 726e 2053 7472        return Str\n-0000c230: 696e 673b 0a0a 5041 5241 4d45 5445 5253  ing;..PARAMETERS\n-0000c240: 0a20 2020 2020 534f 4d45 5448 494e 4720  .     SOMETHING \n-0000c250: 2069 6e20 2020 2020 2020 2020 486f 7374   in         Host\n-0000c260: 206e 616d 6520 6f72 2049 5020 6164 6472   name or IP addr\n-0000c270: 6573 730a 0a52 4554 5552 4e20 5641 4c55  ess..RETURN VALU\n-0000c280: 450a 2020 2020 204e 616d 6520 6f66 2074  E.     Name of t\n-0000c290: 6865 2068 6f73 740a 0a45 5843 4550 5449  he host..EXCEPTI\n-0000c2a0: 4f4e 530a 2020 2020 20e2 8098 4e61 6d69  ONS.     ...Nami\n-0000c2b0: 6e67 5f45 7272 6f72 e280 9920 2020 2020  ng_Error...     \n-0000c2c0: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061  No information a\n-0000c2d0: 7661 696c 6162 6c65 2066 6f72 2074 6869  vailable for thi\n-0000c2e0: 7320 6e61 6d65 206f 720a 2020 2020 2020  s name or.      \n-0000c2f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000c300: 2020 6164 6472 6573 730a 0a53 4545 2041    address..SEE A\n-0000c310: 4c53 4f0a 2020 2020 202a 6e6f 7465 2041  LSO.     *note A\n-0000c320: 6464 7265 7373 5f4f 6620 2866 756e 6374  ddress_Of (funct\n-0000c330: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a  ion)::.....File:\n-0000c340: 2061 6461 736f 636b 6574 732e 696e 666f   adasockets.info\n-0000c350: 2c20 204e 6f64 653a 2056 616c 7565 2028  ,  Node: Value (\n-0000c360: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n-0000c370: 3a20 4e61 6d65 5f4f 6620 2866 756e 6374  : Name_Of (funct\n-0000c380: 696f 6e29 2c20 2055 703a 2041 6464 7265  ion),  Up: Addre\n-0000c390: 7373 5f4f 6620 2866 756e 6374 696f 6e29  ss_Of (function)\n-0000c3a0: 0a0a 5661 6c75 6520 2866 756e 6374 696f  ..Value (functio\n-0000c3b0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  n).-------------\n-0000c3c0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n-0000c3d0: 2020 5472 616e 7366 6f72 6d20 6120 7374    Transform a st\n-0000c3e0: 7269 6e67 2069 6e74 6f20 616e 2061 6464  ring into an add\n-0000c3f0: 7265 7373 0a50 524f 544f 5459 5045 0a20  ress.PROTOTYPE. \n-0000c400: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n-0000c410: 4e61 6d69 6e67 2e56 616c 7565 3a20 6675  Naming.Value: fu\n-0000c420: 6e63 7469 6f6e 2056 616c 7565 2028 4144  nction Value (AD\n-0000c430: 4420 3a20 5374 7269 6e67 290a 2020 2020  D : String).    \n-0000c440: 2020 2020 2020 2020 2020 2072 6574 7572             retur\n-0000c450: 6e20 4164 6472 6573 733b 0a0a 5041 5241  n Address;..PARA\n-0000c460: 4d45 5445 5253 0a20 2020 2020 4144 4420  METERS.     ADD \n-0000c470: 2020 2020 2020 2069 6e20 2020 2020 2020         in       \n-0000c480: 2020 5465 7874 7561 6c20 7265 7072 6573    Textual repres\n-0000c490: 656e 7461 7469 6f6e 206f 6620 616e 2049  entation of an I\n-0000c4a0: 5020 6164 6472 6573 730a 0a52 4554 5552  P address..RETUR\n-0000c4b0: 4e20 5641 4c55 450a 2020 2020 2043 6f72  N VALUE.     Cor\n-0000c4c0: 7265 7370 6f6e 6469 6e67 2041 6464 7265  responding Addre\n-0000c4d0: 7373 0a0a 5345 4520 414c 534f 0a20 2020  ss..SEE ALSO.   \n-0000c4e0: 2020 2a6e 6f74 6520 496d 6167 6520 2866    *note Image (f\n-0000c4f0: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46  unction)::.....F\n-0000c500: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n-0000c510: 696e 666f 2c20 204e 6f64 653a 2043 6f6e  info,  Node: Con\n-0000c520: 7472 6962 7574 6f72 732c 2020 4e65 7874  tributors,  Next\n-0000c530: 3a20 5265 736f 7572 6365 7320 6f6e 2074  : Resources on t\n-0000c540: 6865 2049 6e74 6572 6e65 742c 2020 5072  he Internet,  Pr\n-0000c550: 6576 3a20 536f 636b 6574 732e 4e61 6d69  ev: Sockets.Nami\n-0000c560: 6e67 2070 6163 6b61 6765 2c20 2055 703a  ng package,  Up:\n-0000c570: 2054 6f70 0a0a 4170 7065 6e64 6978 2041   Top..Appendix A\n-0000c580: 2043 6f6e 7472 6962 7574 6f72 730a 2a2a   Contributors.**\n-0000c590: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n-0000c5a0: 2a2a 2a2a 2a0a 0a41 6461 536f 636b 6574  *****..AdaSocket\n-0000c5b0: 7320 6861 7320 6265 656e 206f 7269 6769  s has been origi\n-0000c5c0: 6e61 6c6c 7920 6465 7665 6c6f 7070 6564  nally developped\n-0000c5d0: 2062 7920 5361 6d75 656c 2054 6172 6469   by Samuel Tardi\n-0000c5e0: 6575 2077 686f 2073 7469 6c6c 0a6d 6169  eu who still.mai\n-0000c5f0: 6e74 6169 6e73 2069 742e 2020 486f 7765  ntains it.  Howe\n-0000c600: 7665 722c 2074 6865 2066 6f6c 6c6f 7769  ver, the followi\n-0000c610: 6e67 2070 656f 706c 6520 6861 7665 206d  ng people have m\n-0000c620: 6164 6520 6372 7563 6961 6c0a 636f 6e74  ade crucial.cont\n-0000c630: 7269 6275 7469 6f6e 7320 746f 2041 6461  ributions to Ada\n-0000c640: 536f 636b 6574 732c 2062 6520 7468 6579  Sockets, be they\n-0000c650: 206e 6577 2063 6f64 652c 2062 7567 2066   new code, bug f\n-0000c660: 6978 6573 206f 7220 706f 7274 696e 6720  ixes or porting \n-0000c670: 746f 0a6e 6577 206f 7065 7261 7469 6e67  to.new operating\n-0000c680: 2073 7973 7465 6d73 3a0a 0a20 2020 e280   systems:..   ..\n-0000c690: a220 446d 6974 7269 7920 416e 6973 696d  . Dmitriy Anisim\n-0000c6a0: 6b6f 7620 283c 616e 6973 696d 6b6f 7640  kov (<anisimkov@\n-0000c6b0: 7961 686f 6f2e 636f 6d3e 290a 2020 20e2  yahoo.com>).   .\n-0000c6c0: 80a2 2041 6c61 6e20 4261 726e 6573 2028  .. Alan Barnes (\n-0000c6d0: 3c62 6172 6e65 7361 4061 7374 6f6e 2e61  <barnesa@aston.a\n-0000c6e0: 632e 756b 3e29 0a20 2020 e280 a220 4a75  c.uk>).   ... Ju\n-0000c6f0: 616e 6d61 2042 6172 7261 6e71 7565 726f  anma Barranquero\n-0000c700: 2028 3c6c 656b 7475 4074 6572 7261 2e65   (<lektu@terra.e\n-0000c710: 733e 290a 2020 20e2 80a2 2042 6f62 6279  s>).   ... Bobby\n-0000c720: 2044 2e20 4272 7961 6e74 2028 3c62 6462   D. Bryant (<bdb\n-0000c730: 7279 616e 7440 6d61 696c 2e75 7465 7861  ryant@mail.utexa\n-0000c740: 732e 6564 753e 290a 2020 20e2 80a2 2053  s.edu>).   ... S\n-0000c750: 616e 6465 7220 436f 7820 283c 7361 6e64  ander Cox (<sand\n-0000c760: 6572 2e63 6f78 4070 6869 6c69 7073 2e63  er.cox@philips.c\n-0000c770: 6f6d 3e29 0a20 2020 e280 a220 5375 6e65  om>).   ... Sune\n-0000c780: 2046 616c 6b20 283c 7375 6e65 2e66 616c   Falk (<sune.fal\n-0000c790: 636b 4074 656c 6961 2e63 6f6d 3e29 0a20  ck@telia.com>). \n-0000c7a0: 2020 e280 a220 4775 696c 6c61 756d 6520    ... Guillaume \n-0000c7b0: 466f 6c69 6172 6420 283c 6775 6966 6f40  Foliard (<guifo@\n-0000c7c0: 7761 6e61 646f 6f2e 6672 3e29 0a20 2020  wanadoo.fr>).   \n-0000c7d0: e280 a220 4c61 7572 656e 7420 4775 6572  ... Laurent Guer\n-0000c7e0: 6279 2028 3c67 7565 7262 7940 636c 7562  by (<guerby@club\n-0000c7f0: 2d69 6e74 6572 6e65 742e 6672 3e29 0a20  -internet.fr>). \n-0000c800: 2020 e280 a220 4461 7669 6420 4a2e 204b    ... David J. K\n-0000c810: 7269 7374 6f6c 6120 283c 4461 7669 6439  ristola (<David9\n-0000c820: 3530 3337 4061 6f6c 2e63 6f6d 3e29 0a20  5037@aol.com>). \n-0000c830: 2020 e280 a220 446f 6d69 6e69 6b20 4d61    ... Dominik Ma\n-0000c840: 646f 6e20 283c 646f 6d69 6e69 6b40 6163  don (<dominik@ac\n-0000c850: 6d2e 6f72 673e 290a 2020 20e2 80a2 2050  m.org>).   ... P\n-0000c860: 6173 6361 6c20 4f62 7279 2028 3c70 2e6f  ascal Obry (<p.o\n-0000c870: 6272 7940 7761 6e61 646f 6f2e 6672 3e29  bry@wanadoo.fr>)\n-0000c880: 0a20 2020 e280 a220 4e69 636f 6c61 7320  .   ... Nicolas \n-0000c890: 4f6c 6c69 6e67 6572 2028 3c4e 6963 6f6c  Ollinger (<Nicol\n-0000c8a0: 6173 2e4f 6c6c 696e 6765 7240 656e 732d  as.Ollinger@ens-\n-0000c8b0: 6c79 6f6e 2e66 723e 290a 2020 20e2 80a2  lyon.fr>).   ...\n-0000c8c0: 2053 7470 6861 6e65 2050 6174 7572 6561   Stphane Paturea\n-0000c8d0: 7520 283c 7370 6174 7572 6561 406d 656c  u (<spaturea@mel\n-0000c8e0: 6574 752e 756e 6976 2d76 616c 656e 6369  etu.univ-valenci\n-0000c8f0: 656e 6e65 732e 6672 3e29 0a20 2020 e280  ennes.fr>).   ..\n-0000c900: a220 5468 6f6d 6173 2051 7569 6e6f 7420  . Thomas Quinot \n-0000c910: 283c 7468 6f6d 6173 4063 7569 7672 652e  (<thomas@cuivre.\n-0000c920: 6672 2e65 752e 6f72 673e 290a 2020 20e2  fr.eu.org>).   .\n-0000c930: 80a2 2050 7265 6265 6e20 5261 6e64 686f  .. Preben Randho\n-0000c940: 6c20 283c 7261 6e64 686f 6c40 7076 762e  l (<randhol@pvv.\n-0000c950: 6f72 673e 290a 2020 20e2 80a2 204d 6178  org>).   ... Max\n-0000c960: 696d 2052 657a 6e69 6b20 283c 6d61 7831  im Reznik (<max1\n-0000c970: 406d 6261 6e6b 2e63 6f6d 2e75 613e 290a  @mbank.com.ua>).\n-0000c980: 2020 20e2 80a2 204a 6f65 6c20 5368 6572     ... Joel Sher\n-0000c990: 7269 6c6c 2028 3c6a 6f65 6c2e 7368 6572  rill (<joel.sher\n-0000c9a0: 7269 6c6c 406f 6172 636f 7270 2e63 6f6d  rill@oarcorp.com\n-0000c9b0: 3e29 0a20 2020 e280 a220 5361 6d75 656c  >).   ... Samuel\n-0000c9c0: 2054 6172 6469 6575 2028 3c73 616d 4072   Tardieu (<sam@r\n-0000c9d0: 6663 3131 3439 2e6e 6574 3e29 0a0a 2020  fc1149.net>)..  \n-0000c9e0: 2049 6620 796f 7520 6665 656c 2074 6861   If you feel tha\n-0000c9f0: 7420 796f 7520 6861 7665 2062 6565 6e20  t you have been \n-0000ca00: 666f 7267 6f74 7465 6e2c 2070 6c65 6173  forgotten, pleas\n-0000ca10: 6520 7365 6e64 206d 6520 6120 6d61 696c  e send me a mail\n-0000ca20: 2073 6f0a 7468 6174 2049 2063 616e 2066   so.that I can f\n-0000ca30: 6978 2069 7420 696e 2074 6865 206e 6578  ix it in the nex\n-0000ca40: 7420 7665 7273 696f 6e2e 0a0a 2020 202a  t version...   *\n-0000ca50: 4e6f 7465 2052 6573 6f75 7263 6573 206f  Note Resources o\n-0000ca60: 6e20 7468 6520 496e 7465 726e 6574 3a3a  n the Internet::\n-0000ca70: 2c20 666f 7220 686f 7720 746f 2063 6f6e  , for how to con\n-0000ca80: 7472 6962 7574 652e 0a0a 1f0a 4669 6c65  tribute.....File\n-0000ca90: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66  : adasockets.inf\n-0000caa0: 6f2c 2020 4e6f 6465 3a20 5265 736f 7572  o,  Node: Resour\n-0000cab0: 6365 7320 6f6e 2074 6865 2049 6e74 6572  ces on the Inter\n-0000cac0: 6e65 742c 2020 4e65 7874 3a20 496e 6465  net,  Next: Inde\n-0000cad0: 782c 2020 5072 6576 3a20 436f 6e74 7269  x,  Prev: Contri\n-0000cae0: 6275 746f 7273 2c20 2055 703a 2054 6f70  butors,  Up: Top\n-0000caf0: 0a0a 4170 7065 6e64 6978 2042 2052 6573  ..Appendix B Res\n-0000cb00: 6f75 7263 6573 206f 6e20 7468 6520 496e  ources on the In\n-0000cb10: 7465 726e 6574 0a2a 2a2a 2a2a 2a2a 2a2a  ternet.*********\n-0000cb20: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n-0000cb30: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865  ***********..The\n-0000cb40: 206c 6174 6573 7420 7665 7273 696f 6e20   latest version \n-0000cb50: 6f66 2041 6461 536f 636b 6574 7320 6361  of AdaSockets ca\n-0000cb60: 6e20 616c 7761 7973 2062 6520 666f 756e  n always be foun\n-0000cb70: 6420 6174 3a0a 0a20 2020 2020 2020 2020  d at:..         \n-0000cb80: 2020 2020 203c 6874 7470 733a 2f2f 7777       <https://ww\n-0000cb90: 772e 7266 6331 3134 392e 6e65 742f 6465  w.rfc1149.net/de\n-0000cba0: 7665 6c2f 6164 6173 6f63 6b65 7473 3e0a  vel/adasockets>.\n-0000cbb0: 0a20 2020 596f 7520 6361 6e20 7265 706f  .   You can repo\n-0000cbc0: 7274 2069 7373 7565 7320 6f72 2074 6865  rt issues or the\n-0000cbd0: 2041 6461 536f 636b 6574 7320 6d61 696c   AdaSockets mail\n-0000cbe0: 696e 672d 6c69 7374 2061 740a 0a20 2020  ing-list at..   \n-0000cbf0: 2020 2020 2020 2020 203c 6874 7470 733a           <https:\n-0000cc00: 2f2f 6c69 7374 732e 7372 2e68 742f 7e72  //lists.sr.ht/~r\n-0000cc10: 6663 3131 3439 2f61 6461 736f 636b 6574  fc1149/adasocket\n-0000cc20: 732d 6465 7665 6c3e 0a0a 2020 2043 6f6e  s-devel>..   Con\n-0000cc30: 7472 6962 7574 696f 6e73 2061 6e64 2070  tributions and p\n-0000cc40: 6174 6368 6573 2061 7265 2077 656c 636f  atches are welco\n-0000cc50: 6d65 642e 0a0a 1f0a 4669 6c65 3a20 6164  med.....File: ad\n-0000cc60: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n-0000cc70: 4e6f 6465 3a20 496e 6465 782c 2020 5072  Node: Index,  Pr\n-0000cc80: 6576 3a20 5265 736f 7572 6365 7320 6f6e  ev: Resources on\n-0000cc90: 2074 6865 2049 6e74 6572 6e65 742c 2020   the Internet,  \n-0000cca0: 5570 3a20 546f 700a 0a49 6e64 6578 0a2a  Up: Top..Index.*\n-0000ccb0: 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 0008  ****....[index..\n-0000ccc0: 5d0a 2a20 4d65 6e75 3a0a 0a2a 2041 6363  ].* Menu:..* Acc\n-0000ccd0: 6570 745f 536f 636b 6574 3a20 2020 2020  ept_Socket:     \n-0000cce0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ccf0: 2020 2020 4163 6365 7074 5f53 6f63 6b65      Accept_Socke\n-0000cd00: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n-0000cd10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cd20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cd30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cd40: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-0000cd50: 696e 6520 2039 290a 2a20 4163 6365 7074  ine  9).* Accept\n-0000cd60: 696e 6720 6120 6e65 7720 636f 6e6e 6563  ing a new connec\n-0000cd70: 7469 6f6e 3a20 2020 2020 2020 2020 2020  tion:           \n-0000cd80: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-0000cd90: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n-0000cda0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cdb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cdc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cdd0: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000cde0: 2020 3629 0a2a 2041 6461 2e53 7472 6561    6).* Ada.Strea\n-0000cdf0: 6d73 2e53 7472 6561 6d5f 456c 656d 656e  ms.Stream_Elemen\n-0000ce00: 745f 4172 7261 793a 2020 2020 2020 5261  t_Array:      Ra\n-0000ce10: 7720 6461 7461 206d 616e 6970 756c 6174  w data manipulat\n-0000ce20: 696f 6e2e 0a20 2020 2020 2020 2020 2020  ion..           \n-0000ce30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ce40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ce50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ce60: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n-0000ce70: 4164 612e 5374 7265 616d 732e 5374 7265  Ada.Streams.Stre\n-0000ce80: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179  am_Element_Array\n-0000ce90: 203c 313e 3a20 2052 6563 6569 7665 2028   <1>:  Receive (\n-0000cea0: 6675 6e63 7469 6f6e 292e 2020 2028 6c69  function).   (li\n-0000ceb0: 6e65 2032 3229 0a2a 2041 6461 2e53 7472  ne 22).* Ada.Str\n-0000cec0: 6561 6d73 2e53 7472 6561 6d5f 456c 656d  eams.Stream_Elem\n-0000ced0: 656e 745f 4172 7261 7920 3c32 3e3a 2020  ent_Array <2>:  \n-0000cee0: 5265 6365 6976 6520 2870 726f 6365 6475  Receive (procedu\n-0000cef0: 7265 292e 2020 286c 696e 6520 3138 290a  re).  (line 18).\n-0000cf00: 2a20 4164 612e 5374 7265 616d 732e 5374  * Ada.Streams.St\n-0000cf10: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272  ream_Element_Arr\n-0000cf20: 6179 203c 333e 3a20 2052 6563 6569 7665  ay <3>:  Receive\n-0000cf30: 5f53 6f6d 6520 2870 726f 6365 6475 7265  _Some (procedure\n-0000cf40: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-0000cf50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cf60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00002f40: 2020 2020 2053 6f63 6b20 2020 2020 3a20       Sock     : \n+00002f50: 536f 636b 6574 5f46 443b 0a20 2020 2020  Socket_FD;.     \n+00002f60: 2020 2020 2020 2020 496e 636f 6d69 6e67          Incoming\n+00002f70: 203a 2053 6f63 6b65 745f 4644 3b0a 2020   : Socket_FD;.  \n+00002f80: 2020 2020 2020 2020 6265 6769 6e0a 2020          begin.  \n+00002f90: 2020 2020 2020 2020 2020 202d 2d20 4372             -- Cr\n+00002fa0: 6561 7465 2061 2054 4350 2073 6f63 6b65  eate a TCP socke\n+00002fb0: 7420 6c69 7374 656e 696e 6720 6f6e 206c  t listening on l\n+00002fc0: 6f63 616c 2070 6f72 7420 3431 3631 0a20  ocal port 4161. \n+00002fd0: 2020 2020 2020 2020 2020 2020 536f 636b              Sock\n+00002fe0: 6574 2028 536f 636b 2c20 5046 5f49 4e45  et (Sock, PF_INE\n+00002ff0: 542c 2053 4f43 4b5f 5354 5245 414d 293b  T, SOCK_STREAM);\n+00003000: 0a20 2020 2020 2020 2020 2020 2020 4269  .             Bi\n+00003010: 6e64 2028 536f 636b 2c20 3431 3631 293b  nd (Sock, 4161);\n+00003020: 0a20 2020 2020 2020 2020 2020 2020 4c69  .             Li\n+00003030: 7374 656e 2028 536f 636b 2c20 3329 3b0a  sten (Sock, 3);.\n+00003040: 2020 2020 2020 2020 2020 2020 202d 2d20               -- \n+00003050: 4f6e 652d 636f 6e6e 6563 7469 6f6e 2d61  One-connection-a\n+00003060: 742d 612d 7469 6d65 2073 6572 7665 7220  t-a-time server \n+00003070: 2833 206d 6179 2062 6520 7065 6e64 696e  (3 may be pendin\n+00003080: 6729 0a20 2020 2020 2020 2020 2020 2020  g).             \n+00003090: 6c6f 6f70 0a20 2020 2020 2020 2020 2020  loop.           \n+000030a0: 2020 2020 202d 2d20 5761 6974 2066 6f72       -- Wait for\n+000030b0: 2061 206e 6577 2063 6f6e 6e65 6374 696f   a new connectio\n+000030c0: 6e20 616e 6420 6163 6365 7074 2069 740a  n and accept it.\n+000030d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000030e0: 4163 6365 7074 5f53 6f63 6b65 7420 2853  Accept_Socket (S\n+000030f0: 6f63 6b2c 2049 6e63 6f6d 696e 6729 3b0a  ock, Incoming);.\n+00003100: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00003110: 2d2d 2044 6f20 736f 6d65 2064 6961 6c6f  -- Do some dialo\n+00003120: 6720 7769 7468 2074 6865 2072 656d 6f74  g with the remot\n+00003130: 6520 686f 7374 0a20 2020 2020 2020 2020  e host.         \n+00003140: 2020 2020 2020 2044 6f5f 536f 6d65 5f44         Do_Some_D\n+00003150: 6961 6c6f 6720 2849 6e63 6f6d 696e 6729  ialog (Incoming)\n+00003160: 3b0a 2020 2020 2020 2020 2020 2020 2020  ;.              \n+00003170: 2020 2d2d 2043 6c6f 7365 2069 6e63 6f6d    -- Close incom\n+00003180: 696e 6720 736f 636b 6574 2061 6e64 2077  ing socket and w\n+00003190: 6169 7420 666f 7220 6e65 7874 2063 6f6e  ait for next con\n+000031a0: 6e65 6374 696f 6e0a 2020 2020 2020 2020  nection.        \n+000031b0: 2020 2020 2020 2020 5368 7574 646f 776e          Shutdown\n+000031c0: 2028 496e 636f 6d69 6e67 293b 0a20 2020   (Incoming);.   \n+000031d0: 2020 2020 2020 2020 2020 656e 6420 6c6f            end lo\n+000031e0: 6f70 3b0a 2020 2020 2020 2020 2020 656e  op;.          en\n+000031f0: 643b 0a0a 5345 4520 414c 534f 0a20 2020  d;..SEE ALSO.   \n+00003200: 2020 2a6e 6f74 6520 4269 6e64 2028 7072    *note Bind (pr\n+00003210: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020  ocedure)::,.    \n+00003220: 202a 6e6f 7465 204c 6973 7465 6e20 2870   *note Listen (p\n+00003230: 726f 6365 6475 7265 293a 3a2c 0a20 2020  rocedure)::,.   \n+00003240: 2020 2a6e 6f74 6520 5368 7574 646f 776e    *note Shutdown\n+00003250: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n+00003260: 2020 2020 202a 6e6f 7465 2053 6f63 6b65       *note Socke\n+00003270: 7420 2870 726f 6365 6475 7265 293a 3a2e  t (procedure)::.\n+00003280: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2042 696e  ..* Menu:..* Bin\n+00003290: 6420 2870 726f 6365 6475 7265 293a 3a0a  d (procedure)::.\n+000032a0: 2a20 436f 6e6e 6563 7420 2870 726f 6365  * Connect (proce\n+000032b0: 6475 7265 293a 3a0a 2a20 4765 7420 2866  dure)::.* Get (f\n+000032c0: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574  unction)::.* Get\n+000032d0: 5f43 6861 7220 2866 756e 6374 696f 6e29  _Char (function)\n+000032e0: 3a3a 0a2a 2047 6574 5f4c 696e 6520 2866  ::.* Get_Line (f\n+000032f0: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574  unction)::.* Get\n+00003300: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n+00003310: 293a 3a0a 2a20 4765 745f 5265 6365 6976  )::.* Get_Receiv\n+00003320: 655f 5175 6575 655f 5369 7a65 2028 6675  e_Queue_Size (fu\n+00003330: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f  nction)::.* Get_\n+00003340: 5365 6e64 5f51 7565 7565 5f53 697a 6520  Send_Queue_Size \n+00003350: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047  (function)::.* G\n+00003360: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n+00003370: 6475 7265 293a 3a0a 2a20 4c69 7374 656e  dure)::.* Listen\n+00003380: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a   (procedure)::.*\n+00003390: 204e 6577 5f4c 696e 6520 2870 726f 6365   New_Line (proce\n+000033a0: 6475 7265 293a 3a0a 2a20 5075 7420 2870  dure)::.* Put (p\n+000033b0: 726f 6365 6475 7265 293a 3a0a 2a20 5075  rocedure)::.* Pu\n+000033c0: 745f 4c69 6e65 2028 7072 6f63 6564 7572  t_Line (procedur\n+000033d0: 6529 3a3a 0a2a 2052 6563 6569 7665 2028  e)::.* Receive (\n+000033e0: 6675 6e63 7469 6f6e 293a 3a0a 2a20 5265  function)::.* Re\n+000033f0: 6365 6976 6520 2870 726f 6365 6475 7265  ceive (procedure\n+00003400: 293a 3a0a 2a20 5265 6365 6976 655f 536f  )::.* Receive_So\n+00003410: 6d65 2028 7072 6f63 6564 7572 6529 3a3a  me (procedure)::\n+00003420: 0a2a 2053 656e 6420 2870 726f 6365 6475  .* Send (procedu\n+00003430: 7265 293a 3a0a 2a20 5365 745f 4275 6666  re)::.* Set_Buff\n+00003440: 6572 2028 7072 6f63 6564 7572 6529 3a3a  er (procedure)::\n+00003450: 0a2a 2053 6574 736f 636b 6f70 7420 2870  .* Setsockopt (p\n+00003460: 726f 6365 6475 7265 293a 3a0a 2a20 5368  rocedure)::.* Sh\n+00003470: 7574 646f 776e 2028 7072 6f63 6564 7572  utdown (procedur\n+00003480: 6529 3a3a 0a2a 2053 6f63 6b65 7420 2870  e)::.* Socket (p\n+00003490: 726f 6365 6475 7265 293a 3a0a 2a20 556e  rocedure)::.* Un\n+000034a0: 7365 745f 4275 6666 6572 2028 7072 6f63  set_Buffer (proc\n+000034b0: 6564 7572 6529 3a3a 0a0a 1f0a 4669 6c65  edure)::....File\n+000034c0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66  : adasockets.inf\n+000034d0: 6f2c 2020 4e6f 6465 3a20 4269 6e64 2028  o,  Node: Bind (\n+000034e0: 7072 6f63 6564 7572 6529 2c20 204e 6578  procedure),  Nex\n+000034f0: 743a 2043 6f6e 6e65 6374 2028 7072 6f63  t: Connect (proc\n+00003500: 6564 7572 6529 2c20 2050 7265 763a 2041  edure),  Prev: A\n+00003510: 6363 6570 745f 536f 636b 6574 2028 7072  ccept_Socket (pr\n+00003520: 6f63 6564 7572 6529 2c20 2055 703a 2041  ocedure),  Up: A\n+00003530: 6363 6570 745f 536f 636b 6574 2028 7072  ccept_Socket (pr\n+00003540: 6f63 6564 7572 6529 0a0a 4269 6e64 2028  ocedure)..Bind (\n+00003550: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d  procedure).-----\n+00003560: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552  -----------..PUR\n+00003570: 504f 5345 0a20 2020 2020 4173 736f 6369  POSE.     Associ\n+00003580: 6174 6520 6120 6c6f 6361 6c20 706f 7274  ate a local port\n+00003590: 2074 6f20 6120 736f 636b 6574 0a50 524f   to a socket.PRO\n+000035a0: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n+000035b0: 536f 636b 6574 732e 4269 6e64 3a20 7072  Sockets.Bind: pr\n+000035c0: 6f63 6564 7572 6520 4269 6e64 2028 534f  ocedure Bind (SO\n+000035d0: 434b 4554 203a 2053 6f63 6b65 745f 4644  CKET : Socket_FD\n+000035e0: 3b0a 2020 2020 2020 2020 2020 2020 2020  ;.              \n+000035f0: 2050 4f52 5420 3a20 4e61 7475 7261 6c3b   PORT : Natural;\n+00003600: 2048 4f53 5420 3a20 5374 7269 6e67 203a   HOST : String :\n+00003610: 3d20 2222 293b 0a0a 5041 5241 4d45 5445  = \"\");..PARAMETE\n+00003620: 5253 0a20 2020 2020 534f 434b 4554 2020  RS.     SOCKET  \n+00003630: 2020 2069 6e20 2020 2020 2020 2020 496e     in         In\n+00003640: 6974 6961 6c69 7a65 6420 736f 636b 6574  itialized socket\n+00003650: 206f 626a 6563 740a 2020 2020 2050 4f52   object.     POR\n+00003660: 5420 2020 2020 2020 696e 2020 2020 2020  T       in      \n+00003670: 2020 204c 6f63 616c 2070 6f72 7420 746f     Local port to\n+00003680: 2062 696e 6420 746f 0a20 2020 2020 484f   bind to.     HO\n+00003690: 5354 2020 2020 2020 2069 6e20 2020 2020  ST       in     \n+000036a0: 2020 2020 4c6f 6361 6c20 696e 7465 7266      Local interf\n+000036b0: 6163 6520 746f 2062 696e 6420 746f 0a0a  ace to bind to..\n+000036c0: 4445 5343 5249 5054 494f 4e0a 2020 2020  DESCRIPTION.    \n+000036d0: 2054 6869 7320 7072 6f63 6564 7572 6520   This procedure \n+000036e0: 7265 7175 6573 7473 2061 206c 6f63 616c  requests a local\n+000036f0: 2070 6f72 7420 6672 6f6d 2074 6865 206f   port from the o\n+00003700: 7065 7261 7469 6e67 2073 7973 7465 6d2e  perating system.\n+00003710: 2020 4966 0a20 2020 2020 3020 6973 2067    If.     0 is g\n+00003720: 6976 656e 2069 6e20 504f 5254 2c20 7468  iven in PORT, th\n+00003730: 6520 7379 7374 656d 2077 696c 6c20 6173  e system will as\n+00003740: 7369 676e 2061 2066 7265 6520 706f 7274  sign a free port\n+00003750: 2077 686f 7365 206e 756d 6265 720a 2020   whose number.  \n+00003760: 2020 2063 616e 206c 6174 6572 2062 6520     can later be \n+00003770: 7265 7472 6965 7665 6420 7573 696e 6720  retrieved using \n+00003780: 2a6e 6f74 6520 4765 745f 536f 636b 5f50  *note Get_Sock_P\n+00003790: 6f72 7420 2866 756e 6374 696f 6e29 3a3a  ort (function)::\n+000037a0: 2e0a 2020 2020 2041 6c73 6f2c 206d 6f73  ..     Also, mos\n+000037b0: 7420 6f70 6572 6174 696e 6720 7379 7374  t operating syst\n+000037c0: 656d 7320 7265 7175 6972 6520 7370 6563  ems require spec\n+000037d0: 6961 6c20 7072 6976 696c 6567 6573 2069  ial privileges i\n+000037e0: 6620 796f 7520 7761 6e74 0a20 2020 2020  f you want.     \n+000037f0: 746f 2062 696e 6420 746f 2070 6f72 7473  to bind to ports\n+00003800: 2062 656c 6f77 2031 3032 342e 0a0a 2020   below 1024...  \n+00003810: 2020 2049 6620 484f 5354 2069 7320 6e6f     If HOST is no\n+00003820: 7420 7468 6520 656d 7074 7920 7374 7269  t the empty stri\n+00003830: 6e67 2c20 6974 206d 7573 7420 636f 6e74  ng, it must cont\n+00003840: 6169 6e20 7468 6520 4950 2061 6464 7265  ain the IP addre\n+00003850: 7373 206f 660a 2020 2020 2061 206c 6f63  ss of.     a loc\n+00003860: 616c 2069 6e74 6572 6661 6365 2074 6f20  al interface to \n+00003870: 6269 6e64 2074 6f2c 206f 7220 6120 6e61  bind to, or a na\n+00003880: 6d65 2077 6869 6368 2072 6573 6f6c 7665  me which resolve\n+00003890: 7320 696e 746f 2073 7563 6820 616e 0a20  s into such an. \n+000038a0: 2020 2020 6164 6472 6573 732e 2020 4966      address.  If\n+000038b0: 2061 6e20 656d 7074 7920 7374 7269 6e67   an empty string\n+000038c0: 2069 7320 6769 7665 6e20 2874 6865 2064   is given (the d\n+000038d0: 6566 6175 6c74 292c 2074 6865 2073 6f63  efault), the soc\n+000038e0: 6b65 740a 2020 2020 2077 696c 6c20 6265  ket.     will be\n+000038f0: 2062 6f75 6e64 2074 6f20 616c 6c20 7468   bound to all th\n+00003900: 6520 6176 6169 6c61 626c 6520 696e 7465  e available inte\n+00003910: 7266 6163 6573 2e0a 0a45 5843 4550 5449  rfaces...EXCEPTI\n+00003920: 4f4e 530a 2020 2020 20e2 8098 536f 636b  ONS.     ...Sock\n+00003930: 6574 5f45 7272 6f72 e280 9920 2020 2020  et_Error...     \n+00003940: 5265 7175 6573 7465 6420 706f 7274 206f  Requested port o\n+00003950: 7220 696e 7465 7266 6163 6520 6e6f 7420  r interface not \n+00003960: 6176 6169 6c61 626c 650a 0a53 4545 2041  available..SEE A\n+00003970: 4c53 4f0a 2020 2020 202a 6e6f 7465 204c  LSO.     *note L\n+00003980: 6973 7465 6e20 2870 726f 6365 6475 7265  isten (procedure\n+00003990: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520  )::,.     *note \n+000039a0: 536f 636b 6574 2028 7072 6f63 6564 7572  Socket (procedur\n+000039b0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061  e)::.....File: a\n+000039c0: 6461 736f 636b 6574 732e 696e 666f 2c20  dasockets.info, \n+000039d0: 204e 6f64 653a 2043 6f6e 6e65 6374 2028   Node: Connect (\n+000039e0: 7072 6f63 6564 7572 6529 2c20 204e 6578  procedure),  Nex\n+000039f0: 743a 2047 6574 2028 6675 6e63 7469 6f6e  t: Get (function\n+00003a00: 292c 2020 5072 6576 3a20 4269 6e64 2028  ),  Prev: Bind (\n+00003a10: 7072 6f63 6564 7572 6529 2c20 2055 703a  procedure),  Up:\n+00003a20: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n+00003a30: 7072 6f63 6564 7572 6529 0a0a 436f 6e6e  procedure)..Conn\n+00003a40: 6563 7420 2870 726f 6365 6475 7265 290a  ect (procedure).\n+00003a50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00003a60: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n+00003a70: 2020 436f 6e6e 6563 7420 6120 736f 636b    Connect a sock\n+00003a80: 6574 206f 6e20 6120 6769 7665 6e20 686f  et on a given ho\n+00003a90: 7374 2f70 6f72 740a 5052 4f54 4f54 5950  st/port.PROTOTYP\n+00003aa0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65  E.      -- Socke\n+00003ab0: 7473 2e43 6f6e 6e65 6374 3a20 7072 6f63  ts.Connect: proc\n+00003ac0: 6564 7572 6520 436f 6e6e 6563 7420 2853  edure Connect (S\n+00003ad0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46  OCKET : Socket_F\n+00003ae0: 443b 0a20 2020 2020 2020 2020 2020 2020  D;.             \n+00003af0: 2020 484f 5354 203a 2053 7472 696e 673b    HOST : String;\n+00003b00: 2050 4f52 5420 3a20 506f 7369 7469 7665   PORT : Positive\n+00003b10: 293b 0a0a 5041 5241 4d45 5445 5253 0a20  );..PARAMETERS. \n+00003b20: 2020 2020 534f 434b 4554 2020 2020 2069      SOCKET     i\n+00003b30: 6e20 2020 2020 2020 2020 496e 6974 6961  n         Initia\n+00003b40: 6c69 7a65 6420 736f 636b 6574 206f 626a  lized socket obj\n+00003b50: 6563 740a 2020 2020 2048 4f53 5420 2020  ect.     HOST   \n+00003b60: 2020 2020 696e 2020 2020 2020 2020 2048      in         H\n+00003b70: 6f73 7420 746f 2063 6f6e 6e65 6374 2074  ost to connect t\n+00003b80: 6f0a 2020 2020 2050 4f52 5420 2020 2020  o.     PORT     \n+00003b90: 2020 696e 2020 2020 2020 2020 2050 6f72    in         Por\n+00003ba0: 7420 746f 2063 6f6e 6e65 6374 2074 6f0a  t to connect to.\n+00003bb0: 0a44 4553 4352 4950 5449 4f4e 0a20 2020  .DESCRIPTION.   \n+00003bc0: 2020 5468 6973 2070 726f 6365 6475 7265    This procedure\n+00003bd0: 2063 6f6e 6e65 6374 7320 616e 2069 6e69   connects an ini\n+00003be0: 7469 616c 697a 6564 2073 6f63 6b65 7420  tialized socket \n+00003bf0: 746f 2061 2067 6976 656e 2068 6f73 7420  to a given host \n+00003c00: 6f6e 2061 0a20 2020 2020 6769 7665 6e20  on a.     given \n+00003c10: 706f 7274 2e20 2049 6e20 7468 6520 6361  port.  In the ca\n+00003c20: 7365 206f 6620 6120 5443 5020 736f 636b  se of a TCP sock\n+00003c30: 6574 2c20 6120 7265 616c 2063 6f6e 6e65  et, a real conne\n+00003c40: 6374 696f 6e20 6973 0a20 2020 2020 6174  ction is.     at\n+00003c50: 7465 6d70 7465 642e 2020 496e 2074 6865  tempted.  In the\n+00003c60: 2063 6173 6520 6f66 2061 2055 4450 2073   case of a UDP s\n+00003c70: 6f63 6b65 742c 206e 6f20 636f 6e6e 6563  ocket, no connec\n+00003c80: 7469 6f6e 2074 616b 6573 2070 6c61 6365  tion takes place\n+00003c90: 0a20 2020 2020 6275 7420 7468 6520 656e  .     but the en\n+00003ca0: 6470 6f69 6e74 2063 6f6f 7264 696e 6174  dpoint coordinat\n+00003cb0: 6573 2061 7265 2072 6563 6f72 6465 642e  es are recorded.\n+00003cc0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020  ..EXCEPTIONS.   \n+00003cd0: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f    ...Connection_\n+00003ce0: 5265 6675 7365 64e2 8099 5468 6520 636f  Refused...The co\n+00003cf0: 6e6e 6563 7469 6f6e 2068 6173 2062 6565  nnection has bee\n+00003d00: 6e20 7265 6675 7365 6420 6279 2074 6865  n refused by the\n+00003d10: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00003d20: 2020 2020 2020 2020 2073 6572 7665 720a           server.\n+00003d30: 2020 2020 20e2 8098 536f 636b 6574 5f45       ...Socket_E\n+00003d40: 7272 6f72 e280 9920 2020 2020 416e 6f74  rror...     Anot\n+00003d50: 6865 7220 6572 726f 7220 6f63 6375 7272  her error occurr\n+00003d60: 6564 2064 7572 696e 6720 7468 650a 2020  ed during the.  \n+00003d70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00003d80: 2020 2020 2020 636f 6e6e 6563 7469 6f6e        connection\n+00003d90: 0a0a 4558 414d 504c 450a 2020 2020 2020  ..EXAMPLE.      \n+00003da0: 2020 2020 6465 636c 6172 650a 2020 2020      declare.    \n+00003db0: 2020 2020 2020 2020 2053 6f63 6b20 3a20           Sock : \n+00003dc0: 536f 636b 6574 5f46 443b 0a20 2020 2020  Socket_FD;.     \n+00003dd0: 2020 2020 2062 6567 696e 0a20 2020 2020       begin.     \n+00003de0: 2020 2020 2020 2020 2d2d 2043 7265 6174          -- Creat\n+00003df0: 6520 6120 5443 5020 736f 636b 6574 0a20  e a TCP socket. \n+00003e00: 2020 2020 2020 2020 2020 2020 536f 636b              Sock\n+00003e10: 6574 2028 536f 636b 2c20 5046 5f49 4e45  et (Sock, PF_INE\n+00003e20: 542c 2053 4f43 4b5f 5354 5245 414d 293b  T, SOCK_STREAM);\n+00003e30: 0a20 2020 2020 2020 2020 2020 2020 2d2d  .             --\n+00003e40: 2043 6f6e 6e65 6374 2069 7420 746f 2072   Connect it to r\n+00003e50: 6663 3131 3439 2e6e 6574 2773 206d 6169  fc1149.net's mai\n+00003e60: 6c20 7365 7276 6572 0a20 2020 2020 2020  l server.       \n+00003e70: 2020 2020 2020 436f 6e6e 6563 7420 2853        Connect (S\n+00003e80: 6f63 6b2c 2022 6d61 696c 2e72 6663 3131  ock, \"mail.rfc11\n+00003e90: 3439 2e6e 6574 222c 2032 3529 3b0a 2020  49.net\", 25);.  \n+00003ea0: 2020 2020 2020 2020 2020 202d 2d20 446f             -- Do\n+00003eb0: 2061 206d 6169 6c20 7472 616e 7361 6374   a mail transact\n+00003ec0: 696f 6e20 7468 656e 2063 6c6f 7365 2074  ion then close t\n+00003ed0: 6865 2073 6f63 6b65 740a 2020 2020 2020  he socket.      \n+00003ee0: 2020 2020 2020 205b 2e2e 2e5d 0a20 2020         [...].   \n+00003ef0: 2020 2020 2020 2065 6e64 3b0a 0a53 4545         end;..SEE\n+00003f00: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465   ALSO.     *note\n+00003f10: 2053 6f63 6b65 7420 2870 726f 6365 6475   Socket (procedu\n+00003f20: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  re)::.....File: \n+00003f30: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+00003f40: 2020 4e6f 6465 3a20 4765 7420 2866 756e    Node: Get (fun\n+00003f50: 6374 696f 6e29 2c20 204e 6578 743a 2047  ction),  Next: G\n+00003f60: 6574 5f43 6861 7220 2866 756e 6374 696f  et_Char (functio\n+00003f70: 6e29 2c20 2050 7265 763a 2043 6f6e 6e65  n),  Prev: Conne\n+00003f80: 6374 2028 7072 6f63 6564 7572 6529 2c20  ct (procedure), \n+00003f90: 2055 703a 2041 6363 6570 745f 536f 636b   Up: Accept_Sock\n+00003fa0: 6574 2028 7072 6f63 6564 7572 6529 0a0a  et (procedure)..\n+00003fb0: 4765 7420 2866 756e 6374 696f 6e29 0a2d  Get (function).-\n+00003fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n+00003fd0: 5552 504f 5345 0a20 2020 2020 4765 7420  URPOSE.     Get \n+00003fe0: 6120 7374 7269 6e67 2066 726f 6d20 6120  a string from a \n+00003ff0: 7265 6d6f 7465 2068 6f73 740a 5052 4f54  remote host.PROT\n+00004000: 4f54 5950 450a 2020 2020 2020 2d2d 2053  OTYPE.      -- S\n+00004010: 6f63 6b65 7473 2e47 6574 3a20 6675 6e63  ockets.Get: func\n+00004020: 7469 6f6e 2047 6574 2028 534f 434b 4554  tion Get (SOCKET\n+00004030: 203a 2053 6f63 6b65 745f 4644 2743 6c61   : Socket_FD'Cla\n+00004040: 7373 290a 2020 2020 2020 2020 2020 2020  ss).            \n+00004050: 2020 2072 6574 7572 6e20 5374 7269 6e67     return String\n+00004060: 3b0a 0a50 4152 414d 4554 4552 530a 2020  ;..PARAMETERS.  \n+00004070: 2020 2053 4f43 4b45 5420 2020 2020 696e     SOCKET     in\n+00004080: 2020 2020 2020 2020 2049 6e69 7469 616c           Initial\n+00004090: 697a 6564 2061 6e64 2063 6f6e 6e65 6374  ized and connect\n+000040a0: 6564 2073 6f63 6b65 7420 6f62 6a65 6374  ed socket object\n+000040b0: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n+000040c0: 2020 2020 536f 6d65 2063 6861 7261 6374      Some charact\n+000040d0: 6572 7320 7468 6174 2068 6176 6520 6265  ers that have be\n+000040e0: 656e 2072 6563 6569 7665 640a 0a44 4553  en received..DES\n+000040f0: 4352 4950 5449 4f4e 0a20 2020 2020 5468  CRIPTION.     Th\n+00004100: 6973 2066 756e 6374 696f 6e20 7265 6365  is function rece\n+00004110: 6976 6573 2073 6f6d 6520 6368 6172 6163  ives some charac\n+00004120: 7465 7273 2066 726f 6d20 6120 7265 6d6f  ters from a remo\n+00004130: 7465 2068 6f73 742e 2020 4173 2073 6f6f  te host.  As soo\n+00004140: 6e0a 2020 2020 2074 6861 7420 6174 206c  n.     that at l\n+00004150: 6561 7374 206f 6e65 2063 6861 7261 6374  east one charact\n+00004160: 6572 2069 7320 6176 6169 6c61 626c 652c  er is available,\n+00004170: 2074 6865 2063 7572 7265 6e74 2072 6563   the current rec\n+00004180: 6570 7469 6f6e 0a20 2020 2020 6275 6666  eption.     buff\n+00004190: 6572 2069 7320 7265 7475 726e 6564 2e0a  er is returned..\n+000041a0: 0a20 2020 2020 5468 6572 6520 6973 2075  .     There is u\n+000041b0: 7375 616c 6c79 206c 6974 746c 6520 6761  sually little ga\n+000041c0: 696e 2069 6e20 7573 696e 6720 7468 6973  in in using this\n+000041d0: 2066 756e 6374 696f 6e20 7768 6f73 6520   function whose \n+000041e0: 6265 6861 7669 6f72 0a20 2020 2020 6973  behavior.     is\n+000041f0: 2063 6f6d 7061 7261 626c 6520 746f 2074   comparable to t\n+00004200: 6865 206f 6e65 206f 6620 2a6e 6f74 6520  he one of *note \n+00004210: 5265 6365 6976 6520 2866 756e 6374 696f  Receive (functio\n+00004220: 6e29 3a3a 2e20 204f 7468 6572 0a20 2020  n)::.  Other.   \n+00004230: 2020 6675 6e63 7469 6f6e 7320 7375 6368    functions such\n+00004240: 2061 7320 2a6e 6f74 6520 4765 745f 4368   as *note Get_Ch\n+00004250: 6172 2028 6675 6e63 7469 6f6e 293a 3a2c  ar (function)::,\n+00004260: 206f 7220 2a6e 6f74 6520 4765 745f 4c69   or *note Get_Li\n+00004270: 6e65 0a20 2020 2020 2866 756e 6374 696f  ne.     (functio\n+00004280: 6e29 3a3a 2c20 616c 6c6f 7720 6d6f 7265  n)::, allow more\n+00004290: 2073 7472 7563 7475 7265 6420 7072 6f67   structured prog\n+000042a0: 7261 6d6d 696e 672e 0a0a 2020 2020 2048  ramming...     H\n+000042b0: 6f77 6576 6572 2c20 7468 6973 2066 756e  owever, this fun\n+000042c0: 6374 696f 6e20 6d61 7920 6265 2075 7365  ction may be use\n+000042d0: 6420 746f 2061 766f 6964 206c 6f73 696e  d to avoid losin\n+000042e0: 6720 6368 6172 6163 7465 7273 2077 6865  g characters whe\n+000042f0: 6e0a 2020 2020 2063 616c 6c69 6e67 202a  n.     calling *\n+00004300: 6e6f 7465 2055 6e73 6574 5f42 7566 6665  note Unset_Buffe\n+00004310: 7220 2870 726f 6365 6475 7265 293a 3a2c  r (procedure)::,\n+00004320: 2069 662c 2066 6f72 2073 6f6d 6520 7265   if, for some re\n+00004330: 6173 6f6e 2c20 7468 650a 2020 2020 2072  ason, the.     r\n+00004340: 656d 6f74 6520 686f 7374 206d 6179 2068  emote host may h\n+00004350: 6176 6520 7365 6e74 2073 6f6d 652e 0a0a  ave sent some...\n+00004360: 4558 4345 5054 494f 4e53 0a20 2020 2020  EXCEPTIONS.     \n+00004370: e280 9843 6f6e 6e65 6374 696f 6e5f 436c  ...Connection_Cl\n+00004380: 6f73 6564 e280 9950 6565 7220 6861 7320  osed...Peer has \n+00004390: 636c 6f73 6564 2074 6865 2063 6f6e 6e65  closed the conne\n+000043a0: 6374 696f 6e20 6265 666f 7265 0a20 2020  ction before.   \n+000043b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000043c0: 2020 2020 2073 656e 6469 6e67 2061 6e79       sending any\n+000043d0: 2064 6174 610a 0a1f 0a46 696c 653a 2061   data....File: a\n+000043e0: 6461 736f 636b 6574 732e 696e 666f 2c20  dasockets.info, \n+000043f0: 204e 6f64 653a 2047 6574 5f43 6861 7220   Node: Get_Char \n+00004400: 2866 756e 6374 696f 6e29 2c20 204e 6578  (function),  Nex\n+00004410: 743a 2047 6574 5f4c 696e 6520 2866 756e  t: Get_Line (fun\n+00004420: 6374 696f 6e29 2c20 2050 7265 763a 2047  ction),  Prev: G\n+00004430: 6574 2028 6675 6e63 7469 6f6e 292c 2020  et (function),  \n+00004440: 5570 3a20 4163 6365 7074 5f53 6f63 6b65  Up: Accept_Socke\n+00004450: 7420 2870 726f 6365 6475 7265 290a 0a47  t (procedure)..G\n+00004460: 6574 5f43 6861 7220 2866 756e 6374 696f  et_Char (functio\n+00004470: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  n).-------------\n+00004480: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a  ------..PURPOSE.\n+00004490: 2020 2020 2047 6574 2061 2063 6861 7261       Get a chara\n+000044a0: 6374 6572 2066 726f 6d20 6120 7265 6d6f  cter from a remo\n+000044b0: 7465 2068 6f73 740a 5052 4f54 4f54 5950  te host.PROTOTYP\n+000044c0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65  E.      -- Socke\n+000044d0: 7473 2e47 6574 5f43 6861 723a 2066 756e  ts.Get_Char: fun\n+000044e0: 6374 696f 6e20 4765 745f 4368 6172 2028  ction Get_Char (\n+000044f0: 534f 434b 4554 203a 2053 6f63 6b65 745f  SOCKET : Socket_\n+00004500: 4644 2743 6c61 7373 290a 2020 2020 2020  FD'Class).      \n+00004510: 2020 2020 2020 2020 2072 6574 7572 6e20           return \n+00004520: 4368 6172 6163 7465 723b 0a0a 5041 5241  Character;..PARA\n+00004530: 4d45 5445 5253 0a20 2020 2020 534f 434b  METERS.     SOCK\n+00004540: 4554 2020 2020 2069 6e20 2020 2020 2020  ET     in       \n+00004550: 2020 496e 6974 6961 6c69 7a65 6420 616e    Initialized an\n+00004560: 6420 636f 6e6e 6563 7465 6420 736f 636b  d connected sock\n+00004570: 6574 206f 626a 6563 740a 0a52 4554 5552  et object..RETUR\n+00004580: 4e20 5641 4c55 450a 2020 2020 204f 6e65  N VALUE.     One\n+00004590: 2063 6861 7261 6374 6572 2073 656e 7420   character sent \n+000045a0: 6279 2074 6865 2072 656d 6f74 6520 686f  by the remote ho\n+000045b0: 7374 0a0a 4445 5343 5249 5054 494f 4e0a  st..DESCRIPTION.\n+000045c0: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n+000045d0: 6f6e 2072 6563 6569 7665 7320 6578 6163  on receives exac\n+000045e0: 746c 7920 6f6e 6520 6368 6172 6163 7465  tly one characte\n+000045f0: 7220 6672 6f6d 2074 6865 2072 656d 6f74  r from the remot\n+00004600: 6520 686f 7374 2e0a 0a45 5843 4550 5449  e host...EXCEPTI\n+00004610: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e  ONS.     ...Conn\n+00004620: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099  ection_Closed...\n+00004630: 5065 6572 2068 6173 2063 6c6f 7365 6420  Peer has closed \n+00004640: 7468 6520 636f 6e6e 6563 7469 6f6e 2062  the connection b\n+00004650: 6566 6f72 650a 2020 2020 2020 2020 2020  efore.          \n+00004660: 2020 2020 2020 2020 2020 2020 2020 7365                se\n+00004670: 6e64 696e 6720 7468 6520 6368 6172 6163  nding the charac\n+00004680: 7465 720a 0a53 4545 2041 4c53 4f0a 2020  ter..SEE ALSO.  \n+00004690: 2020 202a 6e6f 7465 2047 6574 2028 6675     *note Get (fu\n+000046a0: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020  nction)::,.     \n+000046b0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028  *note Get_Line (\n+000046c0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020  function)::,.   \n+000046d0: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65    *note Get_Line\n+000046e0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a   (procedure)::,.\n+000046f0: 2020 2020 202a 6e6f 7465 2052 6563 6569       *note Recei\n+00004700: 7665 2028 7072 6f63 6564 7572 6529 3a3a  ve (procedure)::\n+00004710: 2c0a 2020 2020 202a 6e6f 7465 2053 6574  ,.     *note Set\n+00004720: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n+00004730: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  re)::.....File: \n+00004740: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+00004750: 2020 4e6f 6465 3a20 4765 745f 4c69 6e65    Node: Get_Line\n+00004760: 2028 6675 6e63 7469 6f6e 292c 2020 4e65   (function),  Ne\n+00004770: 7874 3a20 4765 745f 4c69 6e65 2028 7072  xt: Get_Line (pr\n+00004780: 6f63 6564 7572 6529 2c20 2050 7265 763a  ocedure),  Prev:\n+00004790: 2047 6574 5f43 6861 7220 2866 756e 6374   Get_Char (funct\n+000047a0: 696f 6e29 2c20 2055 703a 2041 6363 6570  ion),  Up: Accep\n+000047b0: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+000047c0: 7572 6529 0a0a 4765 745f 4c69 6e65 2028  ure)..Get_Line (\n+000047d0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d  function).------\n+000047e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n+000047f0: 5552 504f 5345 0a20 2020 2020 4765 7420  URPOSE.     Get \n+00004800: 6120 7768 6f6c 6520 6c69 6e65 2066 726f  a whole line fro\n+00004810: 6d20 6120 7265 6d6f 7465 2068 6f73 740a  m a remote host.\n+00004820: 5052 4f54 4f54 5950 450a 2020 2020 2020  PROTOTYPE.      \n+00004830: 2d2d 2053 6f63 6b65 7473 2e47 6574 5f4c  -- Sockets.Get_L\n+00004840: 696e 653a 2066 756e 6374 696f 6e20 4765  ine: function Ge\n+00004850: 745f 4c69 6e65 2028 534f 434b 4554 203a  t_Line (SOCKET :\n+00004860: 2053 6f63 6b65 745f 4644 2743 6c61 7373   Socket_FD'Class\n+00004870: 3b0a 2020 2020 2020 2020 2020 2020 2020  ;.              \n+00004880: 204d 4158 5f4c 454e 4754 4820 3a20 506f   MAX_LENGTH : Po\n+00004890: 7369 7469 7665 203a 3d20 3230 3438 290a  sitive := 2048).\n+000048a0: 2020 2020 2020 2020 2020 2020 2020 2072                 r\n+000048b0: 6574 7572 6e20 5374 7269 6e67 3b0a 0a50  eturn String;..P\n+000048c0: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n+000048d0: 4f43 4b45 5420 2020 2020 696e 2020 2020  OCKET     in    \n+000048e0: 2020 2020 2049 6e69 7469 616c 697a 6564       Initialized\n+000048f0: 2061 6e64 2063 6f6e 6e65 6374 6564 2073   and connected s\n+00004900: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020  ocket object.   \n+00004910: 2020 4d41 585f 4c45 4e47 5448 2069 6e20    MAX_LENGTH in \n+00004920: 2020 2020 2020 2020 4d61 7869 6d75 6d20          Maximum \n+00004930: 7265 7475 726e 6564 206c 696e 6520 6c65  returned line le\n+00004940: 6e67 7468 0a0a 5245 5455 524e 2056 414c  ngth..RETURN VAL\n+00004950: 5545 0a20 2020 2020 4120 6c69 6e65 2077  UE.     A line w\n+00004960: 6974 686f 7574 2074 6865 2043 5220 616e  ithout the CR an\n+00004970: 6420 4c46 2073 6570 6172 6174 6f72 730a  d LF separators.\n+00004980: 0a44 4553 4352 4950 5449 4f4e 0a20 2020  .DESCRIPTION.   \n+00004990: 2020 5468 6973 2066 756e 6374 696f 6e20    This function \n+000049a0: 7265 6365 6976 6573 206f 6e65 206c 696e  receives one lin\n+000049b0: 6520 6672 6f6d 2074 6865 2072 656d 6f74  e from the remot\n+000049c0: 6520 686f 7374 2e20 2041 206c 696e 650a  e host.  A line.\n+000049d0: 2020 2020 2063 6f6e 7369 7374 7320 696e       consists in\n+000049e0: 746f 207a 6572 6f20 6f72 206d 6f72 6520  to zero or more \n+000049f0: 6368 6172 6163 7465 7273 2066 6f6c 6c6f  characters follo\n+00004a00: 7765 6420 6279 2061 6e20 6f70 7469 6f6e  wed by an option\n+00004a10: 616c 2043 520a 2020 2020 2061 6e64 2062  al CR.     and b\n+00004a20: 7920 6120 4c46 2e20 5468 6f73 6520 7465  y a LF. Those te\n+00004a30: 726d 696e 6174 6f72 7320 6172 6520 7374  rminators are st\n+00004a40: 7269 7070 6564 2062 6566 6f72 6520 7468  ripped before th\n+00004a50: 6520 6c69 6e65 2069 730a 2020 2020 2072  e line is.     r\n+00004a60: 6574 7572 6e65 642e 0a0a 2020 2020 2054  eturned...     T\n+00004a70: 6869 7320 6675 6e63 7469 6f6e 2062 6c6f  his function blo\n+00004a80: 636b 7320 756e 7469 6c20 6f6e 6520 6675  cks until one fu\n+00004a90: 6c6c 206c 696e 6520 6861 7320 6265 656e  ll line has been\n+00004aa0: 2072 6563 6569 7665 642e 2020 5468 650a   received.  The.\n+00004ab0: 2020 2020 206c 696e 6520 6c65 6e67 7468       line length\n+00004ac0: 2069 7320 6c69 6d69 7465 6420 7769 7468   is limited with\n+00004ad0: 2074 6865 2076 616c 7565 206f 6620 7468   the value of th\n+00004ae0: 6520 4d61 785f 4c65 6e67 7468 2061 7267  e Max_Length arg\n+00004af0: 756d 656e 742c 0a20 2020 2020 746f 2061  ument,.     to a\n+00004b00: 766f 6964 2065 7868 6175 7374 696f 6e20  void exhaustion \n+00004b10: 6f66 2074 6865 2073 6563 6f6e 6461 7279  of the secondary\n+00004b20: 2073 7461 636b 2e0a 0a45 5843 4550 5449   stack...EXCEPTI\n+00004b30: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e  ONS.     ...Conn\n+00004b40: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099  ection_Closed...\n+00004b50: 5065 6572 2068 6173 2063 6c6f 7365 6420  Peer has closed \n+00004b60: 7468 6520 636f 6e6e 6563 7469 6f6e 2062  the connection b\n+00004b70: 6566 6f72 650a 2020 2020 2020 2020 2020  efore.          \n+00004b80: 2020 2020 2020 2020 2020 2020 2020 7365                se\n+00004b90: 6e64 696e 6720 6120 7768 6f6c 6520 6c69  nding a whole li\n+00004ba0: 6e65 0a0a 5345 4520 414c 534f 0a20 2020  ne..SEE ALSO.   \n+00004bb0: 2020 2a6e 6f74 6520 4765 7420 2866 756e    *note Get (fun\n+00004bc0: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a  ction)::,.     *\n+00004bd0: 6e6f 7465 2047 6574 5f43 6861 7220 2866  note Get_Char (f\n+00004be0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020  unction)::,.    \n+00004bf0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520   *note Get_Line \n+00004c00: 2870 726f 6365 6475 7265 293a 3a2c 0a20  (procedure)::,. \n+00004c10: 2020 2020 2a6e 6f74 6520 5265 6365 6976      *note Receiv\n+00004c20: 6520 2870 726f 6365 6475 7265 293a 3a2c  e (procedure)::,\n+00004c30: 0a20 2020 2020 2a6e 6f74 6520 5365 745f  .     *note Set_\n+00004c40: 4275 6666 6572 2028 7072 6f63 6564 7572  Buffer (procedur\n+00004c50: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061  e)::.....File: a\n+00004c60: 6461 736f 636b 6574 732e 696e 666f 2c20  dasockets.info, \n+00004c70: 204e 6f64 653a 2047 6574 5f4c 696e 6520   Node: Get_Line \n+00004c80: 2870 726f 6365 6475 7265 292c 2020 4e65  (procedure),  Ne\n+00004c90: 7874 3a20 4765 745f 5265 6365 6976 655f  xt: Get_Receive_\n+00004ca0: 5175 6575 655f 5369 7a65 2028 6675 6e63  Queue_Size (func\n+00004cb0: 7469 6f6e 292c 2020 5072 6576 3a20 4765  tion),  Prev: Ge\n+00004cc0: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e  t_Line (function\n+00004cd0: 292c 2020 5570 3a20 4163 6365 7074 5f53  ),  Up: Accept_S\n+00004ce0: 6f63 6b65 7420 2870 726f 6365 6475 7265  ocket (procedure\n+00004cf0: 290a 0a47 6574 5f4c 696e 6520 2870 726f  )..Get_Line (pro\n+00004d00: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d  cedure).--------\n+00004d10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055  ------------..PU\n+00004d20: 5250 4f53 450a 2020 2020 2047 6574 2061  RPOSE.     Get a\n+00004d30: 2077 686f 6c65 206c 696e 6520 6672 6f6d   whole line from\n+00004d40: 2061 2072 656d 6f74 6520 686f 7374 0a50   a remote host.P\n+00004d50: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n+00004d60: 2d20 536f 636b 6574 732e 4765 745f 4c69  - Sockets.Get_Li\n+00004d70: 6e65 3a20 7072 6f63 6564 7572 6520 4765  ne: procedure Ge\n+00004d80: 745f 4c69 6e65 2028 534f 434b 4554 203a  t_Line (SOCKET :\n+00004d90: 2053 6f63 6b65 745f 4644 2743 6c61 7373   Socket_FD'Class\n+00004da0: 3b0a 2020 2020 2020 2020 2020 2020 2020  ;.              \n+00004db0: 2053 5452 203a 2069 6e20 6f75 7420 5374   STR : in out St\n+00004dc0: 7269 6e67 3b20 4c41 5354 203a 206f 7574  ring; LAST : out\n+00004dd0: 204e 6174 7572 616c 293b 0a0a 5041 5241   Natural);..PARA\n+00004de0: 4d45 5445 5253 0a20 2020 2020 534f 434b  METERS.     SOCK\n+00004df0: 4554 2020 2020 2069 6e20 2020 2020 2020  ET     in       \n+00004e00: 2020 496e 6974 6961 6c69 7a65 6420 616e    Initialized an\n+00004e10: 6420 636f 6e6e 6563 7465 6420 736f 636b  d connected sock\n+00004e20: 6574 206f 626a 6563 740a 2020 2020 2053  et object.     S\n+00004e30: 5452 2020 2020 2020 2020 696e 206f 7574  TR        in out\n+00004e40: 2020 2020 2053 7472 696e 6720 746f 2066       String to f\n+00004e50: 696c 6c0a 2020 2020 204c 4153 5420 2020  ill.     LAST   \n+00004e60: 2020 2020 6f75 7420 2020 2020 2020 204c      out        L\n+00004e70: 6173 7420 696e 6465 7820 7573 6564 2069  ast index used i\n+00004e80: 6e20 7468 6520 7374 7269 6e67 0a0a 4445  n the string..DE\n+00004e90: 5343 5249 5054 494f 4e0a 2020 2020 2054  SCRIPTION.     T\n+00004ea0: 6869 7320 7072 6f63 6564 7572 6520 7265  his procedure re\n+00004eb0: 6365 6976 6573 206f 6e65 206c 696e 6520  ceives one line \n+00004ec0: 6672 6f6d 2074 6865 2072 656d 6f74 6520  from the remote \n+00004ed0: 686f 7374 2e20 2041 206c 696e 650a 2020  host.  A line.  \n+00004ee0: 2020 2063 6f6e 7369 7374 7320 696e 746f     consists into\n+00004ef0: 207a 6572 6f20 6f72 206d 6f72 6520 6368   zero or more ch\n+00004f00: 6172 6163 7465 7273 2066 6f6c 6c6f 7765  aracters followe\n+00004f10: 6420 6279 2061 6e20 6f70 7469 6f6e 616c  d by an optional\n+00004f20: 2043 520a 2020 2020 2061 6e64 2062 7920   CR.     and by \n+00004f30: 6120 4c46 2e20 5468 6f73 6520 7465 726d  a LF. Those term\n+00004f40: 696e 6174 6f72 7320 6172 6520 7374 7269  inators are stri\n+00004f50: 7070 6564 2062 6566 6f72 6520 7468 6520  pped before the \n+00004f60: 6c69 6e65 2069 730a 2020 2020 2072 6574  line is.     ret\n+00004f70: 7572 6e65 642e 0a0a 2020 2020 2054 6869  urned...     Thi\n+00004f80: 7320 7072 6f63 6564 7572 6520 626c 6f63  s procedure bloc\n+00004f90: 6b73 2075 6e74 696c 206f 6e65 2066 756c  ks until one ful\n+00004fa0: 6c20 6c69 6e65 2068 6173 2062 6565 6e20  l line has been \n+00004fb0: 7265 6365 6976 6564 2e0a 0a45 5843 4550  received...EXCEP\n+00004fc0: 5449 4f4e 530a 2020 2020 20e2 8098 436f  TIONS.     ...Co\n+00004fd0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2  nnection_Closed.\n+00004fe0: 8099 5065 6572 2068 6173 2063 6c6f 7365  ..Peer has close\n+00004ff0: 6420 7468 6520 636f 6e6e 6563 7469 6f6e  d the connection\n+00005000: 2062 6566 6f72 650a 2020 2020 2020 2020   before.        \n+00005010: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00005020: 7365 6e64 696e 6720 6120 7768 6f6c 6520  sending a whole \n+00005030: 6c69 6e65 0a0a 5345 4520 414c 534f 0a20  line..SEE ALSO. \n+00005040: 2020 2020 2a6e 6f74 6520 4765 7420 2866      *note Get (f\n+00005050: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020  unction)::,.    \n+00005060: 202a 6e6f 7465 2047 6574 5f43 6861 7220   *note Get_Char \n+00005070: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020  (function)::,.  \n+00005080: 2020 202a 6e6f 7465 2047 6574 5f4c 696e     *note Get_Lin\n+00005090: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a  e (function)::,.\n+000050a0: 2020 2020 202a 6e6f 7465 2052 6563 6569       *note Recei\n+000050b0: 7665 2028 7072 6f63 6564 7572 6529 3a3a  ve (procedure)::\n+000050c0: 2c0a 2020 2020 202a 6e6f 7465 2053 6574  ,.     *note Set\n+000050d0: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n+000050e0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  re)::.....File: \n+000050f0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+00005100: 2020 4e6f 6465 3a20 4765 745f 5265 6365    Node: Get_Rece\n+00005110: 6976 655f 5175 6575 655f 5369 7a65 2028  ive_Queue_Size (\n+00005120: 6675 6e63 7469 6f6e 292c 2020 4e65 7874  function),  Next\n+00005130: 3a20 4765 745f 5365 6e64 5f51 7565 7565  : Get_Send_Queue\n+00005140: 5f53 697a 6520 2866 756e 6374 696f 6e29  _Size (function)\n+00005150: 2c20 2050 7265 763a 2047 6574 5f4c 696e  ,  Prev: Get_Lin\n+00005160: 6520 2870 726f 6365 6475 7265 292c 2020  e (procedure),  \n+00005170: 5570 3a20 4163 6365 7074 5f53 6f63 6b65  Up: Accept_Socke\n+00005180: 7420 2870 726f 6365 6475 7265 290a 0a47  t (procedure)..G\n+00005190: 6574 5f52 6563 6569 7665 5f51 7565 7565  et_Receive_Queue\n+000051a0: 5f53 697a 6520 2866 756e 6374 696f 6e29  _Size (function)\n+000051b0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n+000051c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+000051d0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n+000051e0: 2052 6574 7572 6e20 7468 6520 7369 7a65   Return the size\n+000051f0: 206f 6620 7468 6520 756e 7265 6164 2064   of the unread d\n+00005200: 6174 6120 696e 2074 6865 2069 6e70 7574  ata in the input\n+00005210: 2071 7565 7565 0a50 524f 544f 5459 5045   queue.PROTOTYPE\n+00005220: 0a20 2020 2020 202d 2d20 536f 636b 6574  .      -- Socket\n+00005230: 732e 4765 745f 5265 6365 6976 655f 5175  s.Get_Receive_Qu\n+00005240: 6575 655f 5369 7a65 3a20 6675 6e63 7469  eue_Size: functi\n+00005250: 6f6e 2047 6574 5f52 6563 6569 7665 5f51  on Get_Receive_Q\n+00005260: 7565 7565 5f53 697a 650a 2020 2020 2020  ueue_Size.      \n+00005270: 2020 2020 2020 2020 2028 534f 434b 4554           (SOCKET\n+00005280: 203a 2053 6f63 6b65 745f 4644 2743 6c61   : Socket_FD'Cla\n+00005290: 7373 290a 2020 2020 2020 2020 2020 2020  ss).            \n+000052a0: 2020 2072 6574 7572 6e20 496e 7465 6765     return Intege\n+000052b0: 723b 0a0a 5041 5241 4d45 5445 5253 0a20  r;..PARAMETERS. \n+000052c0: 2020 2020 534f 434b 4554 2020 2020 2069      SOCKET     i\n+000052d0: 6e20 2020 2020 2020 2020 496e 6974 6961  n         Initia\n+000052e0: 6c69 7a65 6420 616e 6420 636f 6e6e 6563  lized and connec\n+000052f0: 7465 6420 736f 636b 6574 206f 626a 6563  ted socket objec\n+00005300: 740a 0a52 4554 5552 4e20 5641 4c55 450a  t..RETURN VALUE.\n+00005310: 2020 2020 2054 6865 206e 6f6e 2d6e 6567       The non-neg\n+00005320: 6174 6976 6520 7369 7a65 2069 6e20 6279  ative size in by\n+00005330: 7465 7320 6f66 2074 6865 2069 6e70 7574  tes of the input\n+00005340: 2071 7565 7565 0a0a 4445 5343 5249 5054   queue..DESCRIPT\n+00005350: 494f 4e0a 2020 2020 2054 6869 7320 6675  ION.     This fu\n+00005360: 6e63 7469 6f6e 2069 7320 6f6e 6c79 2061  nction is only a\n+00005370: 7661 696c 6162 6c65 206f 6e20 4c69 6e75  vailable on Linu\n+00005380: 7820 706c 6174 666f 726d 732e 2020 4f6e  x platforms.  On\n+00005390: 206f 7468 6572 0a20 2020 2020 6f70 6572   other.     oper\n+000053a0: 6174 696e 6720 7379 7374 656d 732c 2069  ating systems, i\n+000053b0: 7420 7769 6c6c 2072 6574 7572 6e20 2d32  t will return -2\n+000053c0: 2074 6f20 696e 6469 6361 7465 2074 6861   to indicate tha\n+000053d0: 7420 7468 6520 6e65 6365 7373 6172 790a  t the necessary.\n+000053e0: 2020 2020 206d 6563 6861 6e69 736d 7320       mechanisms \n+000053f0: 746f 2072 6574 7269 6576 6520 7468 6520  to retrieve the \n+00005400: 696e 666f 726d 6174 696f 6e20 6172 6520  information are \n+00005410: 6e6f 7420 6176 6169 6c61 626c 652e 0a0a  not available...\n+00005420: 5345 4520 414c 534f 0a20 2020 2020 2a6e  SEE ALSO.     *n\n+00005430: 6f74 6520 5265 6365 6976 6520 2870 726f  ote Receive (pro\n+00005440: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669  cedure)::.....Fi\n+00005450: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n+00005460: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f  nfo,  Node: Get_\n+00005470: 5365 6e64 5f51 7565 7565 5f53 697a 6520  Send_Queue_Size \n+00005480: 2866 756e 6374 696f 6e29 2c20 204e 6578  (function),  Nex\n+00005490: 743a 2047 6574 736f 636b 6f70 7420 2870  t: Getsockopt (p\n+000054a0: 726f 6365 6475 7265 292c 2020 5072 6576  rocedure),  Prev\n+000054b0: 3a20 4765 745f 5265 6365 6976 655f 5175  : Get_Receive_Qu\n+000054c0: 6575 655f 5369 7a65 2028 6675 6e63 7469  eue_Size (functi\n+000054d0: 6f6e 292c 2020 5570 3a20 4163 6365 7074  on),  Up: Accept\n+000054e0: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n+000054f0: 7265 290a 0a47 6574 5f53 656e 645f 5175  re)..Get_Send_Qu\n+00005500: 6575 655f 5369 7a65 2028 6675 6e63 7469  eue_Size (functi\n+00005510: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  on).------------\n+00005520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00005530: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n+00005540: 2052 6574 7572 6e20 7468 6520 7369 7a65   Return the size\n+00005550: 206f 6620 7468 6520 756e 7365 6e74 2064   of the unsent d\n+00005560: 6174 6120 696e 2074 6865 206f 7574 7075  ata in the outpu\n+00005570: 7420 7175 6575 650a 5052 4f54 4f54 5950  t queue.PROTOTYP\n+00005580: 450a 2020 2020 2020 2d2d 2053 6f63 6b65  E.      -- Socke\n+00005590: 7473 2e47 6574 5f53 656e 645f 5175 6575  ts.Get_Send_Queu\n+000055a0: 655f 5369 7a65 3a20 6675 6e63 7469 6f6e  e_Size: function\n+000055b0: 2047 6574 5f53 656e 645f 5175 6575 655f   Get_Send_Queue_\n+000055c0: 5369 7a65 0a20 2020 2020 2020 2020 2020  Size.           \n+000055d0: 2020 2020 2853 4f43 4b45 5420 3a20 536f      (SOCKET : So\n+000055e0: 636b 6574 5f46 4427 436c 6173 7329 0a20  cket_FD'Class). \n+000055f0: 2020 2020 2020 2020 2020 2020 2020 7265                re\n+00005600: 7475 726e 2049 6e74 6567 6572 3b0a 0a50  turn Integer;..P\n+00005610: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n+00005620: 4f43 4b45 5420 2020 2020 696e 2020 2020  OCKET     in    \n+00005630: 2020 2020 2049 6e69 7469 616c 697a 6564       Initialized\n+00005640: 2061 6e64 2063 6f6e 6e65 6374 6564 2073   and connected s\n+00005650: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245  ocket object..RE\n+00005660: 5455 524e 2056 414c 5545 0a20 2020 2020  TURN VALUE.     \n+00005670: 5468 6520 6e6f 6e2d 6e65 6761 7469 7665  The non-negative\n+00005680: 2073 697a 6520 696e 2062 7974 6573 206f   size in bytes o\n+00005690: 6620 7468 6520 6f75 7470 7574 2071 7565  f the output que\n+000056a0: 7565 0a0a 4445 5343 5249 5054 494f 4e0a  ue..DESCRIPTION.\n+000056b0: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n+000056c0: 6f6e 2069 7320 6f6e 6c79 2061 7661 696c  on is only avail\n+000056d0: 6162 6c65 206f 6e20 4c69 6e75 7820 706c  able on Linux pl\n+000056e0: 6174 666f 726d 732e 2020 4f6e 206f 7468  atforms.  On oth\n+000056f0: 6572 0a20 2020 2020 6f70 6572 6174 696e  er.     operatin\n+00005700: 6720 7379 7374 656d 732c 2069 7420 7769  g systems, it wi\n+00005710: 6c6c 2072 6574 7572 6e20 2d32 2074 6f20  ll return -2 to \n+00005720: 696e 6469 6361 7465 2074 6861 7420 7468  indicate that th\n+00005730: 6520 6e65 6365 7373 6172 790a 2020 2020  e necessary.    \n+00005740: 206d 6563 6861 6e69 736d 7320 746f 2072   mechanisms to r\n+00005750: 6574 7269 6576 6520 7468 6520 696e 666f  etrieve the info\n+00005760: 726d 6174 696f 6e20 6172 6520 6e6f 7420  rmation are not \n+00005770: 6176 6169 6c61 626c 652e 0a0a 5345 4520  available...SEE \n+00005780: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n+00005790: 5365 6e64 2028 7072 6f63 6564 7572 6529  Send (procedure)\n+000057a0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461  ::.....File: ada\n+000057b0: 736f 636b 6574 732e 696e 666f 2c20 204e  sockets.info,  N\n+000057c0: 6f64 653a 2047 6574 736f 636b 6f70 7420  ode: Getsockopt \n+000057d0: 2870 726f 6365 6475 7265 292c 2020 4e65  (procedure),  Ne\n+000057e0: 7874 3a20 4c69 7374 656e 2028 7072 6f63  xt: Listen (proc\n+000057f0: 6564 7572 6529 2c20 2050 7265 763a 2047  edure),  Prev: G\n+00005800: 6574 5f53 656e 645f 5175 6575 655f 5369  et_Send_Queue_Si\n+00005810: 7a65 2028 6675 6e63 7469 6f6e 292c 2020  ze (function),  \n+00005820: 5570 3a20 4163 6365 7074 5f53 6f63 6b65  Up: Accept_Socke\n+00005830: 7420 2870 726f 6365 6475 7265 290a 0a47  t (procedure)..G\n+00005840: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n+00005850: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d  dure).----------\n+00005860: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055  ------------..PU\n+00005870: 5250 4f53 450a 2020 2020 2052 6574 7269  RPOSE.     Retri\n+00005880: 6576 6520 6120 736f 636b 6574 206f 7074  eve a socket opt\n+00005890: 696f 6e0a 5052 4f54 4f54 5950 450a 2020  ion.PROTOTYPE.  \n+000058a0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e47      -- Sockets.G\n+000058b0: 6574 736f 636b 6f70 743a 2070 726f 6365  etsockopt: proce\n+000058c0: 6475 7265 2047 6574 736f 636b 6f70 7420  dure Getsockopt \n+000058d0: 2853 4f43 4b45 5420 3a20 536f 636b 6574  (SOCKET : Socket\n+000058e0: 5f46 443b 0a20 2020 2020 2020 2020 2020  _FD;.           \n+000058f0: 2020 2020 4c45 5645 4c20 3a20 536f 636b      LEVEL : Sock\n+00005900: 6574 5f4c 6576 656c 203a 3d20 534f 4c5f  et_Level := SOL_\n+00005910: 534f 434b 4554 3b0a 2020 2020 2020 2020  SOCKET;.        \n+00005920: 2020 2020 2020 204f 5054 4e41 4d45 203a         OPTNAME :\n+00005930: 2053 6f63 6b65 745f 4f70 7469 6f6e 3b20   Socket_Option; \n+00005940: 4f50 5456 414c 203a 206f 7574 2049 6e74  OPTVAL : out Int\n+00005950: 6567 6572 293b 0a0a 5041 5241 4d45 5445  eger);..PARAMETE\n+00005960: 5253 0a20 2020 2020 534f 434b 4554 2020  RS.     SOCKET  \n+00005970: 2020 2069 6e20 2020 2020 2020 2020 496e     in         In\n+00005980: 6974 6961 6c69 7a65 6420 616e 6420 626f  itialized and bo\n+00005990: 756e 6420 736f 636b 6574 206f 626a 6563  und socket objec\n+000059a0: 740a 2020 2020 204c 4556 454c 2020 2020  t.     LEVEL    \n+000059b0: 2020 696e 2020 2020 2020 2020 2050 726f    in         Pro\n+000059c0: 746f 636f 6c20 6c65 7665 6c0a 2020 2020  tocol level.    \n+000059d0: 204f 5054 4e41 4d45 2020 2020 696e 2020   OPTNAME    in  \n+000059e0: 2020 2020 2020 204f 7074 696f 6e20 6e61         Option na\n+000059f0: 6d65 0a20 2020 2020 4f50 5456 414c 2020  me.     OPTVAL  \n+00005a00: 2020 206f 7574 2020 2020 2020 2020 4f70     out        Op\n+00005a10: 7469 6f6e 2076 616c 7565 0a0a 4445 5343  tion value..DESC\n+00005a20: 5249 5054 494f 4e0a 2020 2020 2054 6869  RIPTION.     Thi\n+00005a30: 7320 7072 6f63 6564 7572 6520 7265 7472  s procedure retr\n+00005a40: 6965 7665 7320 6f70 7469 6f6e 7320 6170  ieves options ap\n+00005a50: 706c 6963 6162 6c65 2074 6f20 6120 736f  plicable to a so\n+00005a60: 636b 6574 2e20 2050 6c65 6173 650a 2020  cket.  Please.  \n+00005a70: 2020 2073 6565 2079 6f75 7220 6f70 6572     see your oper\n+00005a80: 6174 696e 6720 7379 7374 656d 206d 616e  ating system man\n+00005a90: 7561 6c20 666f 7220 7573 6162 6c65 206c  ual for usable l\n+00005aa0: 6576 656c 7320 616e 6420 6f70 7469 6f6e  evels and option\n+00005ab0: 732e 0a0a 2020 2020 2054 776f 206c 6576  s...     Two lev\n+00005ac0: 656c 7320 6172 6520 6465 6669 6e65 643a  els are defined:\n+00005ad0: 20e2 8098 534f 4c5f 534f 434b 4554 e280   ...SOL_SOCKET..\n+00005ae0: 9920 2874 6865 2064 6566 6175 6c74 2920  . (the default) \n+00005af0: 616e 640a 2020 2020 20e2 8098 4950 5052  and.     ...IPPR\n+00005b00: 4f54 4f5f 4950 e280 992e 2020 5468 6520  OTO_IP....  The \n+00005b10: 6f70 7469 6f6e 7320 6172 6520 e280 9853  options are ...S\n+00005b20: 4f5f 5245 5553 4541 4444 52e2 8099 2c20  O_REUSEADDR..., \n+00005b30: e280 9853 4f5f 5245 5553 4550 4f52 54e2  ...SO_REUSEPORT.\n+00005b40: 8099 2c0a 2020 2020 20e2 8098 4950 5f4d  ..,.     ...IP_M\n+00005b50: 554c 5449 4341 5354 5f54 544c e280 992c  ULTICAST_TTL...,\n+00005b60: 20e2 8098 4950 5f41 4444 5f4d 454d 4245   ...IP_ADD_MEMBE\n+00005b70: 5253 4849 50e2 8099 2c20 e280 9849 505f  RSHIP..., ...IP_\n+00005b80: 4452 4f50 5f4d 454d 4245 5253 4849 50e2  DROP_MEMBERSHIP.\n+00005b90: 8099 2c0a 2020 2020 20e2 8098 4950 5f4d  ..,.     ...IP_M\n+00005ba0: 554c 5449 4341 5354 5f4c 4f4f 50e2 8099  ULTICAST_LOOP...\n+00005bb0: 2c20 e280 9853 4f5f 534e 4442 5546 e280  , ...SO_SNDBUF..\n+00005bc0: 9920 616e 6420 e280 9849 505f 5243 5642  . and ...IP_RCVB\n+00005bd0: 5546 e280 992e 0a0a 2020 2020 204e 6f74  UF......     Not\n+00005be0: 6520 7468 6174 2075 6e6c 696b 6520 7468  e that unlike th\n+00005bf0: 6569 7220 4320 6c61 6e67 7561 6765 2063  eir C language c\n+00005c00: 6f75 6e74 6572 7061 7274 2c20 e280 9847  ounterpart, ...G\n+00005c10: 6574 736f 636b 6f70 74e2 8099 2061 6e64  etsockopt... and\n+00005c20: 0a20 2020 2020 e280 9853 6574 736f 636b  .     ...Setsock\n+00005c30: 6f70 74e2 8099 2064 6f20 6e6f 7420 7265  opt... do not re\n+00005c40: 7175 6972 6520 616e 2065 7874 7261 2070  quire an extra p\n+00005c50: 6172 616d 6574 6572 2072 6570 7265 7365  arameter represe\n+00005c60: 6e74 696e 6720 7468 650a 2020 2020 206c  nting the.     l\n+00005c70: 656e 6774 6820 696e 2062 7974 6573 206f  ength in bytes o\n+00005c80: 6620 7468 6520 6f70 7469 6f6e 2076 616c  f the option val\n+00005c90: 7565 2e20 2041 6461 536f 636b 6574 7320  ue.  AdaSockets \n+00005ca0: 6b6e 6f77 7320 7468 6520 7269 6768 740a  knows the right.\n+00005cb0: 2020 2020 2073 697a 6520 666f 7220 6576       size for ev\n+00005cc0: 6572 7920 6f70 7469 6f6e 2e0a 0a53 4545  ery option...SEE\n+00005cd0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465   ALSO.     *note\n+00005ce0: 2053 6574 736f 636b 6f70 7420 2870 726f   Setsockopt (pro\n+00005cf0: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669  cedure)::.....Fi\n+00005d00: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n+00005d10: 6e66 6f2c 2020 4e6f 6465 3a20 4c69 7374  nfo,  Node: List\n+00005d20: 656e 2028 7072 6f63 6564 7572 6529 2c20  en (procedure), \n+00005d30: 204e 6578 743a 204e 6577 5f4c 696e 6520   Next: New_Line \n+00005d40: 2870 726f 6365 6475 7265 292c 2020 5072  (procedure),  Pr\n+00005d50: 6576 3a20 4765 7473 6f63 6b6f 7074 2028  ev: Getsockopt (\n+00005d60: 7072 6f63 6564 7572 6529 2c20 2055 703a  procedure),  Up:\n+00005d70: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n+00005d80: 7072 6f63 6564 7572 6529 0a0a 4c69 7374  procedure)..List\n+00005d90: 656e 2028 7072 6f63 6564 7572 6529 0a2d  en (procedure).-\n+00005da0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00005db0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n+00005dc0: 4573 7461 626c 6973 6820 6120 6c69 7374  Establish a list\n+00005dd0: 656e 2071 7565 7565 0a50 524f 544f 5459  en queue.PROTOTY\n+00005de0: 5045 0a20 2020 2020 202d 2d20 536f 636b  PE.      -- Sock\n+00005df0: 6574 732e 4c69 7374 656e 3a20 7072 6f63  ets.Listen: proc\n+00005e00: 6564 7572 6520 4c69 7374 656e 2028 534f  edure Listen (SO\n+00005e10: 434b 4554 203a 2053 6f63 6b65 745f 4644  CKET : Socket_FD\n+00005e20: 3b0a 2020 2020 2020 2020 2020 2020 2020  ;.              \n+00005e30: 2051 5545 5545 5f53 495a 4520 3a20 506f   QUEUE_SIZE : Po\n+00005e40: 7369 7469 7665 203a 3d20 3529 3b0a 0a50  sitive := 5);..P\n+00005e50: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n+00005e60: 4f43 4b45 5420 2020 2020 696e 2020 2020  OCKET     in    \n+00005e70: 2020 2020 2049 6e69 7469 616c 697a 6564       Initialized\n+00005e80: 2061 6e64 2062 6f75 6e64 2073 6f63 6b65   and bound socke\n+00005e90: 7420 6f62 6a65 6374 0a20 2020 2020 5155  t object.     QU\n+00005ea0: 4555 455f 5349 5a45 2069 6e20 2020 2020  EUE_SIZE in     \n+00005eb0: 2020 2020 5265 7175 6573 7465 6420 736c      Requested sl\n+00005ec0: 6f74 7320 696e 2074 6865 206c 6973 7465  ots in the liste\n+00005ed0: 6e20 7175 6575 650a 0a44 4553 4352 4950  n queue..DESCRIP\n+00005ee0: 5449 4f4e 0a20 2020 2020 5468 6973 2070  TION.     This p\n+00005ef0: 726f 6365 6475 7265 2065 7374 6162 6c69  rocedure establi\n+00005f00: 7368 6573 2061 206c 6973 7465 6e20 7175  shes a listen qu\n+00005f10: 6575 6520 6166 7465 7220 6120 5443 5020  eue after a TCP \n+00005f20: 736f 636b 6574 2061 730a 2020 2020 2062  socket as.     b\n+00005f30: 6565 6e20 696e 6974 6961 6c69 7a65 6420  een initialized \n+00005f40: 616e 6420 626f 756e 642e 2020 4561 6368  and bound.  Each\n+00005f50: 2073 6c6f 7420 696e 2074 6865 2071 7565   slot in the que\n+00005f60: 7565 2063 616e 2068 6f6c 6420 6f6e 650a  ue can hold one.\n+00005f70: 2020 2020 2069 6e63 6f6d 696e 6720 636f       incoming co\n+00005f80: 6e6e 6563 7469 6f6e 2074 6861 7420 6861  nnection that ha\n+00005f90: 7320 6e6f 7420 6265 656e 2061 6363 6570  s not been accep\n+00005fa0: 7465 6420 7965 742e 2020 4e6f 7465 2074  ted yet.  Note t\n+00005fb0: 6861 7420 6d6f 7374 0a20 2020 2020 6f70  hat most.     op\n+00005fc0: 6572 6174 696e 6720 7379 7374 656d 7320  erating systems \n+00005fd0: 6967 6e6f 7265 2071 7565 7565 2073 697a  ignore queue siz\n+00005fe0: 6573 206c 6172 6765 7220 7468 616e 2066  es larger than f\n+00005ff0: 6976 652e 0a0a 5345 4520 414c 534f 0a20  ive...SEE ALSO. \n+00006000: 2020 2020 2a6e 6f74 6520 4163 6365 7074      *note Accept\n+00006010: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n+00006020: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74  re)::,.     *not\n+00006030: 6520 4269 6e64 2028 7072 6f63 6564 7572  e Bind (procedur\n+00006040: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465  e)::,.     *note\n+00006050: 2053 6f63 6b65 7420 2870 726f 6365 6475   Socket (procedu\n+00006060: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  re)::.....File: \n+00006070: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+00006080: 2020 4e6f 6465 3a20 4e65 775f 4c69 6e65    Node: New_Line\n+00006090: 2028 7072 6f63 6564 7572 6529 2c20 204e   (procedure),  N\n+000060a0: 6578 743a 2050 7574 2028 7072 6f63 6564  ext: Put (proced\n+000060b0: 7572 6529 2c20 2050 7265 763a 204c 6973  ure),  Prev: Lis\n+000060c0: 7465 6e20 2870 726f 6365 6475 7265 292c  ten (procedure),\n+000060d0: 2020 5570 3a20 4163 6365 7074 5f53 6f63    Up: Accept_Soc\n+000060e0: 6b65 7420 2870 726f 6365 6475 7265 290a  ket (procedure).\n+000060f0: 0a4e 6577 5f4c 696e 6520 2870 726f 6365  .New_Line (proce\n+00006100: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d  dure).----------\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: 4352 2f4c 4620 746f 2061 2072 656d 6f74  CR/LF to a remot\n+00006140: 6520 686f 7374 0a50 524f 544f 5459 5045  e host.PROTOTYPE\n+00006150: 0a20 2020 2020 202d 2d20 536f 636b 6574  .      -- Socket\n+00006160: 732e 4e65 775f 4c69 6e65 3a20 7072 6f63  s.New_Line: proc\n+00006170: 6564 7572 6520 4e65 775f 4c69 6e65 2028  edure New_Line (\n+00006180: 534f 434b 4554 203a 2053 6f63 6b65 745f  SOCKET : Socket_\n+00006190: 4644 2743 6c61 7373 3b0a 2020 2020 2020  FD'Class;.      \n+000061a0: 2020 2020 2020 2020 2043 4f55 4e54 203a           COUNT :\n+000061b0: 204e 6174 7572 616c 203a 3d20 3129 3b0a   Natural := 1);.\n+000061c0: 0a50 4152 414d 4554 4552 530a 2020 2020  .PARAMETERS.    \n+000061d0: 2053 4f43 4b45 5420 2020 2020 696e 2020   SOCKET     in  \n+000061e0: 2020 2020 2020 2049 6e69 7469 616c 697a         Initializ\n+000061f0: 6564 2061 6e64 2063 6f6e 6e65 6374 6564  ed and connected\n+00006200: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20   socket object. \n+00006210: 2020 2020 434f 554e 5420 2020 2020 2069      COUNT      i\n+00006220: 6e20 2020 2020 2020 2020 4e75 6d62 6572  n         Number\n+00006230: 206f 6620 4352 2f4c 4620 7365 7175 656e   of CR/LF sequen\n+00006240: 6365 7320 746f 2073 656e 640a 0a44 4553  ces to send..DES\n+00006250: 4352 4950 5449 4f4e 0a20 2020 2020 5468  CRIPTION.     Th\n+00006260: 6973 2070 726f 6365 6475 7265 2073 656e  is procedure sen\n+00006270: 6473 206f 6e65 206f 7220 6d6f 7265 2043  ds one or more C\n+00006280: 522f 4c46 2063 6f6d 6269 6e61 7469 6f6e  R/LF combination\n+00006290: 7320 746f 2074 6865 2070 6565 722e 0a0a  s to the peer...\n+000062a0: 4558 4345 5054 494f 4e53 0a20 2020 2020  EXCEPTIONS.     \n+000062b0: e280 9843 6f6e 6e65 6374 696f 6e5f 436c  ...Connection_Cl\n+000062c0: 6f73 6564 e280 9950 6565 7220 6861 7320  osed...Peer has \n+000062d0: 7072 656d 6174 7572 656c 7920 636c 6f73  prematurely clos\n+000062e0: 6564 2074 6865 2063 6f6e 6e65 6374 696f  ed the connectio\n+000062f0: 6e0a 0a53 4545 2041 4c53 4f0a 2020 2020  n..SEE ALSO.    \n+00006300: 202a 6e6f 7465 2050 7574 2028 7072 6f63   *note Put (proc\n+00006310: 6564 7572 6529 3a3a 2c0a 2020 2020 202a  edure)::,.     *\n+00006320: 6e6f 7465 2050 7574 5f4c 696e 6520 2870  note Put_Line (p\n+00006330: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n+00006340: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n+00006350: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5075  .info,  Node: Pu\n+00006360: 7420 2870 726f 6365 6475 7265 292c 2020  t (procedure),  \n+00006370: 4e65 7874 3a20 5075 745f 4c69 6e65 2028  Next: Put_Line (\n+00006380: 7072 6f63 6564 7572 6529 2c20 2050 7265  procedure),  Pre\n+00006390: 763a 204e 6577 5f4c 696e 6520 2870 726f  v: New_Line (pro\n+000063a0: 6365 6475 7265 292c 2020 5570 3a20 4163  cedure),  Up: Ac\n+000063b0: 6365 7074 5f53 6f63 6b65 7420 2870 726f  cept_Socket (pro\n+000063c0: 6365 6475 7265 290a 0a50 7574 2028 7072  cedure)..Put (pr\n+000063d0: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d  ocedure).-------\n+000063e0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n+000063f0: 450a 2020 2020 2053 656e 6420 6120 7374  E.     Send a st\n+00006400: 7269 6e67 2074 6f20 6120 7265 6d6f 7465  ring to a remote\n+00006410: 2068 6f73 740a 5052 4f54 4f54 5950 450a   host.PROTOTYPE.\n+00006420: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n+00006430: 2e50 7574 3a20 7072 6f63 6564 7572 6520  .Put: procedure \n+00006440: 5075 7420 2853 4f43 4b45 5420 3a20 536f  Put (SOCKET : So\n+00006450: 636b 6574 5f46 4427 436c 6173 733b 0a20  cket_FD'Class;. \n+00006460: 2020 2020 2020 2020 2020 2020 2020 5354                ST\n+00006470: 5220 3a20 5374 7269 6e67 293b 0a0a 5041  R : String);..PA\n+00006480: 5241 4d45 5445 5253 0a20 2020 2020 534f  RAMETERS.     SO\n+00006490: 434b 4554 2020 2020 2069 6e20 2020 2020  CKET     in     \n+000064a0: 2020 2020 496e 6974 6961 6c69 7a65 6420      Initialized \n+000064b0: 616e 6420 636f 6e6e 6563 7465 6420 736f  and connected so\n+000064c0: 636b 6574 206f 626a 6563 740a 2020 2020  cket object.    \n+000064d0: 2053 5452 2020 2020 2020 2020 696e 2020   STR        in  \n+000064e0: 2020 2020 2020 2053 7472 696e 6720 746f         String to\n+000064f0: 2073 656e 640a 0a44 4553 4352 4950 5449   send..DESCRIPTI\n+00006500: 4f4e 0a20 2020 2020 5468 6973 2070 726f  ON.     This pro\n+00006510: 6365 6475 7265 2073 656e 6473 2074 6865  cedure sends the\n+00006520: 2063 6f6e 7465 6e74 206f 6620 5354 5220   content of STR \n+00006530: 6f76 6572 2061 6e20 6f75 7467 6f69 6e67  over an outgoing\n+00006540: 206f 720a 2020 2020 2069 6e63 6f6d 696e   or.     incomin\n+00006550: 6720 736f 636b 6574 2e0a 0a45 5843 4550  g socket...EXCEP\n+00006560: 5449 4f4e 530a 2020 2020 20e2 8098 436f  TIONS.     ...Co\n+00006570: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2  nnection_Closed.\n+00006580: 8099 5065 6572 2068 6173 2070 7265 6d61  ..Peer has prema\n+00006590: 7475 7265 6c79 2063 6c6f 7365 6420 7468  turely closed th\n+000065a0: 6520 636f 6e6e 6563 7469 6f6e 0a0a 5345  e connection..SE\n+000065b0: 4520 414c 534f 0a20 2020 2020 2a6e 6f74  E ALSO.     *not\n+000065c0: 6520 4e65 775f 4c69 6e65 2028 7072 6f63  e New_Line (proc\n+000065d0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a  edure)::,.     *\n+000065e0: 6e6f 7465 2050 7574 5f4c 696e 6520 2870  note Put_Line (p\n+000065f0: 726f 6365 6475 7265 293a 3a2c 0a20 2020  rocedure)::,.   \n+00006600: 2020 2a6e 6f74 6520 5365 6e64 2028 7072    *note Send (pr\n+00006610: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46  ocedure)::.....F\n+00006620: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n+00006630: 696e 666f 2c20 204e 6f64 653a 2050 7574  info,  Node: Put\n+00006640: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n+00006650: 292c 2020 4e65 7874 3a20 5265 6365 6976  ),  Next: Receiv\n+00006660: 6520 2866 756e 6374 696f 6e29 2c20 2050  e (function),  P\n+00006670: 7265 763a 2050 7574 2028 7072 6f63 6564  rev: Put (proced\n+00006680: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n+00006690: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+000066a0: 7572 6529 0a0a 5075 745f 4c69 6e65 2028  ure)..Put_Line (\n+000066b0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d  procedure).-----\n+000066c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a  ---------------.\n+000066d0: 0a50 5552 504f 5345 0a20 2020 2020 5365  .PURPOSE.     Se\n+000066e0: 6e64 2061 2043 522f 4c46 2074 6572 6d69  nd a CR/LF termi\n+000066f0: 6e61 7465 6420 7374 7269 6e67 2074 6f20  nated string to \n+00006700: 6120 7265 6d6f 7465 2068 6f73 740a 5052  a remote host.PR\n+00006710: 4f54 4f54 5950 450a 2020 2020 2020 2d2d  OTOTYPE.      --\n+00006720: 2053 6f63 6b65 7473 2e50 7574 5f4c 696e   Sockets.Put_Lin\n+00006730: 653a 2070 726f 6365 6475 7265 2050 7574  e: procedure Put\n+00006740: 5f4c 696e 6520 2853 4f43 4b45 5420 3a20  _Line (SOCKET : \n+00006750: 536f 636b 6574 5f46 4427 436c 6173 733b  Socket_FD'Class;\n+00006760: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00006770: 5354 5220 3a20 5374 7269 6e67 293b 0a0a  STR : String);..\n+00006780: 5041 5241 4d45 5445 5253 0a20 2020 2020  PARAMETERS.     \n+00006790: 534f 434b 4554 2020 2020 2069 6e20 2020  SOCKET     in   \n+000067a0: 2020 2020 2020 496e 6974 6961 6c69 7a65        Initialize\n+000067b0: 6420 616e 6420 636f 6e6e 6563 7465 6420  d and connected \n+000067c0: 736f 636b 6574 206f 626a 6563 740a 2020  socket object.  \n+000067d0: 2020 2053 5452 2020 2020 2020 2020 696e     STR        in\n+000067e0: 2020 2020 2020 2020 2053 7472 696e 6720           String \n+000067f0: 746f 2073 656e 640a 0a44 4553 4352 4950  to send..DESCRIP\n+00006800: 5449 4f4e 0a20 2020 2020 5468 6973 2070  TION.     This p\n+00006810: 726f 6365 6475 7265 2073 656e 6473 2074  rocedure sends t\n+00006820: 6865 2063 6f6e 7465 6e74 206f 6620 5354  he content of ST\n+00006830: 5220 706c 7573 2061 2043 522f 4c46 2063  R plus a CR/LF c\n+00006840: 6f6d 6269 6e61 7469 6f6e 0a20 2020 2020  ombination.     \n+00006850: 6f76 6572 2061 6e20 6f75 7467 6f69 6e67  over an outgoing\n+00006860: 206f 7220 696e 636f 6d69 6e67 2073 6f63   or incoming soc\n+00006870: 6b65 742e 0a0a 4558 4345 5054 494f 4e53  ket...EXCEPTIONS\n+00006880: 0a20 2020 2020 e280 9843 6f6e 6e65 6374  .     ...Connect\n+00006890: 696f 6e5f 436c 6f73 6564 e280 9950 6565  ion_Closed...Pee\n+000068a0: 7220 6861 7320 7072 656d 6174 7572 656c  r has prematurel\n+000068b0: 7920 636c 6f73 6564 2074 6865 2063 6f6e  y closed the con\n+000068c0: 6e65 6374 696f 6e0a 0a53 4545 2041 4c53  nection..SEE ALS\n+000068d0: 4f0a 2020 2020 202a 6e6f 7465 204e 6577  O.     *note New\n+000068e0: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n+000068f0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520  )::,.     *note \n+00006900: 5075 7420 2870 726f 6365 6475 7265 293a  Put (procedure):\n+00006910: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365  :,.     *note Se\n+00006920: 6e64 2028 7072 6f63 6564 7572 6529 3a3a  nd (procedure)::\n+00006930: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f  .....File: adaso\n+00006940: 636b 6574 732e 696e 666f 2c20 204e 6f64  ckets.info,  Nod\n+00006950: 653a 2052 6563 6569 7665 2028 6675 6e63  e: Receive (func\n+00006960: 7469 6f6e 292c 2020 4e65 7874 3a20 5265  tion),  Next: Re\n+00006970: 6365 6976 6520 2870 726f 6365 6475 7265  ceive (procedure\n+00006980: 292c 2020 5072 6576 3a20 5075 745f 4c69  ),  Prev: Put_Li\n+00006990: 6e65 2028 7072 6f63 6564 7572 6529 2c20  ne (procedure), \n+000069a0: 2055 703a 2041 6363 6570 745f 536f 636b   Up: Accept_Sock\n+000069b0: 6574 2028 7072 6f63 6564 7572 6529 0a0a  et (procedure)..\n+000069c0: 5265 6365 6976 6520 2866 756e 6374 696f  Receive (functio\n+000069d0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  n).-------------\n+000069e0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20  -----..PURPOSE. \n+000069f0: 2020 2020 5265 6365 6976 6520 7261 7720      Receive raw \n+00006a00: 6461 7461 206f 7665 7220 6120 736f 636b  data over a sock\n+00006a10: 6574 0a50 524f 544f 5459 5045 0a20 2020  et.PROTOTYPE.   \n+00006a20: 2020 202d 2d20 536f 636b 6574 732e 5265     -- Sockets.Re\n+00006a30: 6365 6976 653a 2066 756e 6374 696f 6e20  ceive: function \n+00006a40: 5265 6365 6976 6520 2853 4f43 4b45 5420  Receive (SOCKET \n+00006a50: 3a20 536f 636b 6574 5f46 443b 0a20 2020  : Socket_FD;.   \n+00006a60: 2020 2020 2020 2020 2020 2020 4d41 5820              MAX \n+00006a70: 3a20 4164 612e 5374 7265 616d 732e 5374  : Ada.Streams.St\n+00006a80: 7265 616d 5f45 6c65 6d65 6e74 5f43 6f75  ream_Element_Cou\n+00006a90: 6e74 203a 3d20 3430 3936 290a 2020 2020  nt := 4096).    \n+00006aa0: 2020 2020 2020 2020 2020 2072 6574 7572             retur\n+00006ab0: 6e20 4164 612e 5374 7265 616d 732e 5374  n Ada.Streams.St\n+00006ac0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272  ream_Element_Arr\n+00006ad0: 6179 3b0a 0a50 4152 414d 4554 4552 530a  ay;..PARAMETERS.\n+00006ae0: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n+00006af0: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n+00006b00: 616c 697a 6564 2061 6e64 2062 6f75 6e64  alized and bound\n+00006b10: 206f 7220 636f 6e6e 6563 7465 640a 2020   or connected.  \n+00006b20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00006b30: 2020 2020 2020 2020 2073 6f63 6b65 7420           socket \n+00006b40: 6f62 6a65 6374 0a20 2020 2020 4d41 5820  object.     MAX \n+00006b50: 2020 2020 2020 2069 6e20 2020 2020 2020         in       \n+00006b60: 2020 4d61 7869 6d75 6d20 6461 7461 206c    Maximum data l\n+00006b70: 656e 6774 680a 0a52 4554 5552 4e20 5641  ength..RETURN VA\n+00006b80: 4c55 450a 2020 2020 2052 6563 6569 7665  LUE.     Receive\n+00006b90: 6420 7261 7720 6461 7461 0a0a 4445 5343  d raw data..DESC\n+00006ba0: 5249 5054 494f 4e0a 2020 2020 2054 6869  RIPTION.     Thi\n+00006bb0: 7320 7072 6f63 6564 7572 6520 7265 6365  s procedure rece\n+00006bc0: 6976 6573 2064 6174 6120 6672 6f6d 2061  ives data from a\n+00006bd0: 2062 6f75 6e64 2055 4450 2073 6f63 6b65   bound UDP socke\n+00006be0: 7420 6f72 2061 2063 6f6e 6e65 6374 6564  t or a connected\n+00006bf0: 0a20 2020 2020 5443 5020 736f 636b 6574  .     TCP socket\n+00006c00: 2e20 204f 6e6c 7920 6f6e 6520 7379 7374  .  Only one syst\n+00006c10: 656d 2063 616c 6c20 7769 6c6c 2062 6520  em call will be \n+00006c20: 7065 7266 6f72 6d65 643b 2074 6869 7320  performed; this \n+00006c30: 6675 6e63 7469 6f6e 0a20 2020 2020 7769  function.     wi\n+00006c40: 6c6c 2072 6574 7572 6e20 7768 6174 6576  ll return whatev\n+00006c50: 6572 2064 6174 6120 6861 7320 6172 7269  er data has arri\n+00006c60: 7665 642e 2020 4e6f 7465 2074 6861 7420  ved.  Note that \n+00006c70: 696e 2047 4e41 5420 7468 650a 2020 2020  in GNAT the.    \n+00006c80: 2073 6563 6f6e 6461 7279 2073 7461 636b   secondary stack\n+00006c90: 206d 6179 2062 6520 7573 6564 2074 6f20   may be used to \n+00006ca0: 7374 6f72 6520 7468 6520 6461 7461 2061  store the data a\n+00006cb0: 6e64 206d 6179 2072 6573 756c 7420 696e  nd may result in\n+00006cc0: 0a20 2020 2020 7374 6163 6b20 7374 6f72  .     stack stor\n+00006cd0: 6167 6520 6578 6861 7573 7469 6f6e 2e0a  age exhaustion..\n+00006ce0: 0a45 5843 4550 5449 4f4e 530a 2020 2020  .EXCEPTIONS.    \n+00006cf0: 20e2 8098 436f 6e6e 6563 7469 6f6e 5f43   ...Connection_C\n+00006d00: 6c6f 7365 64e2 8099 5065 6572 2068 6173  losed...Peer has\n+00006d10: 2063 6c6f 7365 6420 7468 6520 636f 6e6e   closed the conn\n+00006d20: 6563 7469 6f6e 2062 6566 6f72 650a 2020  ection before.  \n+00006d30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00006d40: 2020 2020 2020 7365 6e64 696e 6720 616e        sending an\n+00006d50: 7920 6461 7461 0a0a 5345 4520 414c 534f  y data..SEE ALSO\n+00006d60: 0a20 2020 2020 2a6e 6f74 6520 5265 6365  .     *note Rece\n+00006d70: 6976 6520 2870 726f 6365 6475 7265 293a  ive (procedure):\n+00006d80: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265  :,.     *note Re\n+00006d90: 6365 6976 655f 536f 6d65 2028 7072 6f63  ceive_Some (proc\n+00006da0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a  edure)::,.     *\n+00006db0: 6e6f 7465 2047 6574 5f4c 696e 6520 2866  note Get_Line (f\n+00006dc0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020  unction)::,.    \n+00006dd0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520   *note Get_Line \n+00006de0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a  (procedure)::...\n+00006df0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65  ..File: adasocke\n+00006e00: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20  ts.info,  Node: \n+00006e10: 5265 6365 6976 6520 2870 726f 6365 6475  Receive (procedu\n+00006e20: 7265 292c 2020 4e65 7874 3a20 5265 6365  re),  Next: Rece\n+00006e30: 6976 655f 536f 6d65 2028 7072 6f63 6564  ive_Some (proced\n+00006e40: 7572 6529 2c20 2050 7265 763a 2052 6563  ure),  Prev: Rec\n+00006e50: 6569 7665 2028 6675 6e63 7469 6f6e 292c  eive (function),\n+00006e60: 2020 5570 3a20 4163 6365 7074 5f53 6f63    Up: Accept_Soc\n+00006e70: 6b65 7420 2870 726f 6365 6475 7265 290a  ket (procedure).\n+00006e80: 0a52 6563 6569 7665 2028 7072 6f63 6564  .Receive (proced\n+00006e90: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ure).-----------\n+00006ea0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53  --------..PURPOS\n+00006eb0: 450a 2020 2020 2052 6563 6569 7665 2072  E.     Receive r\n+00006ec0: 6177 2064 6174 6120 6f76 6572 2061 2073  aw data over a s\n+00006ed0: 6f63 6b65 740a 5052 4f54 4f54 5950 450a  ocket.PROTOTYPE.\n+00006ee0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n+00006ef0: 2e52 6563 6569 7665 3a20 7072 6f63 6564  .Receive: proced\n+00006f00: 7572 6520 5265 6365 6976 6520 2853 4f43  ure Receive (SOC\n+00006f10: 4b45 5420 3a20 536f 636b 6574 5f46 4427  KET : Socket_FD'\n+00006f20: 436c 6173 733b 0a20 2020 2020 2020 2020  Class;.         \n+00006f30: 2020 2020 2020 4441 5441 203a 206f 7574        DATA : out\n+00006f40: 2041 6461 2e53 7472 6561 6d73 2e53 7472   Ada.Streams.Str\n+00006f50: 6561 6d5f 456c 656d 656e 745f 4172 7261  eam_Element_Arra\n+00006f60: 7929 3b0a 0a50 4152 414d 4554 4552 530a  y);..PARAMETERS.\n+00006f70: 2020 2020 2053 4f43 4b45 5420 2020 2020       SOCKET     \n+00006f80: 696e 2020 2020 2020 2020 2049 6e69 7469  in         Initi\n+00006f90: 616c 697a 6564 2061 6e64 2062 6f75 6e64  alized and bound\n+00006fa0: 206f 7220 636f 6e6e 6563 7465 640a 2020   or connected.  \n+00006fb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00006fc0: 2020 2020 2020 2020 2073 6f63 6b65 7420           socket \n+00006fd0: 6f62 6a65 6374 0a20 2020 2020 4441 5441  object.     DATA\n+00006fe0: 2020 2020 2020 206f 7574 2020 2020 2020         out      \n+00006ff0: 2020 496e 636f 6d69 6e67 2064 6174 6120    Incoming data \n+00007000: 6275 6666 6572 0a0a 4445 5343 5249 5054  buffer..DESCRIPT\n+00007010: 494f 4e0a 2020 2020 2054 6869 7320 7072  ION.     This pr\n+00007020: 6f63 6564 7572 6520 7265 6365 6976 6573  ocedure receives\n+00007030: 2064 6174 6120 6672 6f6d 2061 2062 6f75   data from a bou\n+00007040: 6e64 2055 4450 2073 6f63 6b65 7420 6f72  nd UDP socket or\n+00007050: 2061 2063 6f6e 6e65 6374 6564 0a20 2020   a connected.   \n+00007060: 2020 5443 5020 736f 636b 6574 2e20 2049    TCP socket.  I\n+00007070: 7420 7769 6c6c 2062 6c6f 636b 2075 6e74  t will block unt\n+00007080: 696c 2074 6865 2044 4154 4120 7265 6365  il the DATA rece\n+00007090: 7074 696f 6e20 6275 6666 6572 2068 6173  ption buffer has\n+000070a0: 2062 6565 6e0a 2020 2020 2074 6f74 616c   been.     total\n+000070b0: 6c79 2066 696c 6c65 642e 0a0a 4558 4345  ly filled...EXCE\n+000070c0: 5054 494f 4e53 0a20 2020 2020 e280 9843  PTIONS.     ...C\n+000070d0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564  onnection_Closed\n+000070e0: e280 9950 6565 7220 6861 7320 636c 6f73  ...Peer has clos\n+000070f0: 6564 2074 6865 2063 6f6e 6e65 6374 696f  ed the connectio\n+00007100: 6e20 6265 666f 7265 0a20 2020 2020 2020  n before.       \n+00007110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00007120: 20e2 8098 4461 7461 274c 656e 6774 68e2   ...Data'Length.\n+00007130: 8099 2062 7974 6573 0a20 2020 2020 2020  .. bytes.       \n+00007140: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00007150: 2077 6572 6520 7265 6365 6976 6564 0a0a   were received..\n+00007160: 5345 4520 414c 534f 0a20 2020 2020 2a6e  SEE ALSO.     *n\n+00007170: 6f74 6520 4765 745f 4c69 6e65 2028 6675  ote Get_Line (fu\n+00007180: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020  nction)::,.     \n+00007190: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028  *note Get_Line (\n+000071a0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020  procedure)::,.  \n+000071b0: 2020 202a 6e6f 7465 2052 6563 6569 7665     *note Receive\n+000071c0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20   (function)::,. \n+000071d0: 2020 2020 2a6e 6f74 6520 5265 6365 6976      *note Receiv\n+000071e0: 655f 536f 6d65 2028 7072 6f63 6564 7572  e_Some (procedur\n+000071f0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061  e)::.....File: a\n+00007200: 6461 736f 636b 6574 732e 696e 666f 2c20  dasockets.info, \n+00007210: 204e 6f64 653a 2052 6563 6569 7665 5f53   Node: Receive_S\n+00007220: 6f6d 6520 2870 726f 6365 6475 7265 292c  ome (procedure),\n+00007230: 2020 4e65 7874 3a20 5365 6e64 2028 7072    Next: Send (pr\n+00007240: 6f63 6564 7572 6529 2c20 2050 7265 763a  ocedure),  Prev:\n+00007250: 2052 6563 6569 7665 2028 7072 6f63 6564   Receive (proced\n+00007260: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n+00007270: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+00007280: 7572 6529 0a0a 5265 6365 6976 655f 536f  ure)..Receive_So\n+00007290: 6d65 2028 7072 6f63 6564 7572 6529 0a2d  me (procedure).-\n+000072a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+000072b0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n+000072c0: 0a20 2020 2020 5265 6365 6976 6520 7261  .     Receive ra\n+000072d0: 7720 6461 7461 206f 7665 7220 6120 736f  w data over a so\n+000072e0: 636b 6574 0a50 524f 544f 5459 5045 0a20  cket.PROTOTYPE. \n+000072f0: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n+00007300: 5265 6365 6976 655f 536f 6d65 3a20 7072  Receive_Some: pr\n+00007310: 6f63 6564 7572 6520 5265 6365 6976 655f  ocedure Receive_\n+00007320: 536f 6d65 0a20 2020 2020 2020 2020 2020  Some.           \n+00007330: 2020 2020 2853 4f43 4b45 5420 3a20 536f      (SOCKET : So\n+00007340: 636b 6574 5f46 4427 436c 6173 733b 0a20  cket_FD'Class;. \n+00007350: 2020 2020 2020 2020 2020 2020 2020 4441                DA\n+00007360: 5441 203a 206f 7574 2041 6461 2e53 7472  TA : out Ada.Str\n+00007370: 6561 6d73 2e53 7472 6561 6d5f 456c 656d  eams.Stream_Elem\n+00007380: 656e 745f 4172 7261 793b 0a20 2020 2020  ent_Array;.     \n+00007390: 2020 2020 2020 2020 2020 4c41 5354 203a            LAST :\n+000073a0: 206f 7574 2041 6461 2e53 7472 6561 6d73   out Ada.Streams\n+000073b0: 2e53 7472 6561 6d5f 456c 656d 656e 745f  .Stream_Element_\n+000073c0: 4f66 6673 6574 293b 0a0a 5041 5241 4d45  Offset);..PARAME\n+000073d0: 5445 5253 0a20 2020 2020 534f 434b 4554  TERS.     SOCKET\n+000073e0: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n+000073f0: 496e 6974 6961 6c69 7a65 6420 616e 6420  Initialized and \n+00007400: 626f 756e 6420 6f72 2063 6f6e 6e65 6374  bound or connect\n+00007410: 6564 0a20 2020 2020 2020 2020 2020 2020  ed.             \n+00007420: 2020 2020 2020 2020 2020 2020 2020 736f                so\n+00007430: 636b 6574 206f 626a 6563 740a 2020 2020  cket object.    \n+00007440: 2044 4154 4120 2020 2020 2020 6f75 7420   DATA       out \n+00007450: 2020 2020 2020 2049 6e63 6f6d 696e 6720         Incoming \n+00007460: 6461 7461 2062 7566 6665 720a 2020 2020  data buffer.    \n+00007470: 204c 4153 5420 2020 2020 2020 6f75 7420   LAST       out \n+00007480: 2020 2020 2020 2049 6e64 6578 206f 6620         Index of \n+00007490: 6c61 7374 2065 6c65 6d65 6e74 2070 6c61  last element pla\n+000074a0: 6365 6420 696e 746f 2044 4154 410a 0a44  ced into DATA..D\n+000074b0: 4553 4352 4950 5449 4f4e 0a20 2020 2020  ESCRIPTION.     \n+000074c0: 5468 6973 2070 726f 6365 6475 7265 2072  This procedure r\n+000074d0: 6563 6569 7665 7320 6461 7461 2066 726f  eceives data fro\n+000074e0: 6d20 6120 626f 756e 6420 5544 5020 736f  m a bound UDP so\n+000074f0: 636b 6574 206f 7220 6120 636f 6e6e 6563  cket or a connec\n+00007500: 7465 640a 2020 2020 2054 4350 2073 6f63  ted.     TCP soc\n+00007510: 6b65 742e 2020 4173 2073 6f6f 6e20 6173  ket.  As soon as\n+00007520: 2061 7420 6c65 6173 7420 6f6e 6520 6279   at least one by\n+00007530: 7465 2068 6173 2062 6565 6e20 7265 6164  te has been read\n+00007540: 2c20 6974 2072 6574 7572 6e73 0a20 2020  , it returns.   \n+00007550: 2020 7769 7468 204c 4153 5420 7365 7420    with LAST set \n+00007560: 746f 2074 6865 2069 6e64 6578 206f 6620  to the index of \n+00007570: 7468 6520 6c61 7465 7374 2077 7269 7474  the latest writt\n+00007580: 656e 2065 6c65 6d65 6e74 206f 6620 4441  en element of DA\n+00007590: 5441 2e0a 0a45 5843 4550 5449 4f4e 530a  TA...EXCEPTIONS.\n+000075a0: 2020 2020 20e2 8098 436f 6e6e 6563 7469       ...Connecti\n+000075b0: 6f6e 5f43 6c6f 7365 64e2 8099 5065 6572  on_Closed...Peer\n+000075c0: 2068 6173 2063 6c6f 7365 6420 7468 6520   has closed the \n+000075d0: 636f 6e6e 6563 7469 6f6e 2062 6566 6f72  connection befor\n+000075e0: 650a 2020 2020 2020 2020 2020 2020 2020  e.              \n+000075f0: 2020 2020 2020 2020 2020 7365 6e64 696e            sendin\n+00007600: 6720 616e 7920 6461 7461 0a0a 5345 4520  g any data..SEE \n+00007610: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n+00007620: 4765 745f 4c69 6e65 2028 6675 6e63 7469  Get_Line (functi\n+00007630: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74  on)::,.     *not\n+00007640: 6520 4765 745f 4c69 6e65 2028 7072 6f63  e Get_Line (proc\n+00007650: 6564 7572 6529 3a3a 2c0a 2020 2020 202a  edure)::,.     *\n+00007660: 6e6f 7465 2052 6563 6569 7665 2028 6675  note Receive (fu\n+00007670: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020  nction)::,.     \n+00007680: 2a6e 6f74 6520 5265 6365 6976 6520 2870  *note Receive (p\n+00007690: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n+000076a0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n+000076b0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5365  .info,  Node: Se\n+000076c0: 6e64 2028 7072 6f63 6564 7572 6529 2c20  nd (procedure), \n+000076d0: 204e 6578 743a 2053 6574 5f42 7566 6665   Next: Set_Buffe\n+000076e0: 7220 2870 726f 6365 6475 7265 292c 2020  r (procedure),  \n+000076f0: 5072 6576 3a20 5265 6365 6976 655f 536f  Prev: Receive_So\n+00007700: 6d65 2028 7072 6f63 6564 7572 6529 2c20  me (procedure), \n+00007710: 2055 703a 2041 6363 6570 745f 536f 636b   Up: Accept_Sock\n+00007720: 6574 2028 7072 6f63 6564 7572 6529 0a0a  et (procedure)..\n+00007730: 5365 6e64 2028 7072 6f63 6564 7572 6529  Send (procedure)\n+00007740: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n+00007750: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n+00007760: 5365 6e64 2072 6177 2064 6174 6120 6f76  Send raw data ov\n+00007770: 6572 2061 2073 6f63 6b65 740a 5052 4f54  er a socket.PROT\n+00007780: 4f54 5950 450a 2020 2020 2020 2d2d 2053  OTYPE.      -- S\n+00007790: 6f63 6b65 7473 2e53 656e 643a 2070 726f  ockets.Send: pro\n+000077a0: 6365 6475 7265 2053 656e 6420 2853 4f43  cedure Send (SOC\n+000077b0: 4b45 5420 3a20 536f 636b 6574 5f46 443b  KET : Socket_FD;\n+000077c0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+000077d0: 4441 5441 203a 206f 7574 2041 6461 2e53  DATA : out Ada.S\n+000077e0: 7472 6561 6d73 2e53 7472 6561 6d5f 456c  treams.Stream_El\n+000077f0: 656d 656e 745f 4172 7261 7929 3b0a 0a50  ement_Array);..P\n+00007800: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n+00007810: 4f43 4b45 5420 2020 2020 696e 2020 2020  OCKET     in    \n+00007820: 2020 2020 2049 6e69 7469 616c 697a 6564       Initialized\n+00007830: 2061 6e64 2063 6f6e 6e65 6374 6564 2073   and connected s\n+00007840: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020  ocket object.   \n+00007850: 2020 4441 5441 2020 2020 2020 206f 7574    DATA       out\n+00007860: 2020 2020 2020 2020 4461 7461 2074 6f20          Data to \n+00007870: 6265 2073 656e 740a 0a44 4553 4352 4950  be sent..DESCRIP\n+00007880: 5449 4f4e 0a20 2020 2020 5468 6973 2070  TION.     This p\n+00007890: 726f 6365 6475 7265 2073 656e 6473 2064  rocedure sends d\n+000078a0: 6174 6120 6f76 6572 2061 2063 6f6e 6e65  ata over a conne\n+000078b0: 6374 6564 206f 7574 676f 696e 6720 736f  cted outgoing so\n+000078c0: 636b 6574 206f 7220 6f76 6572 0a20 2020  cket or over.   \n+000078d0: 2020 616e 2069 6e63 6f6d 696e 6720 736f    an incoming so\n+000078e0: 636b 6574 2e0a 0a45 5843 4550 5449 4f4e  cket...EXCEPTION\n+000078f0: 530a 2020 2020 20e2 8098 436f 6e6e 6563  S.     ...Connec\n+00007900: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065  tion_Closed...Pe\n+00007910: 6572 2068 6173 2070 7265 6d61 7475 7265  er has premature\n+00007920: 6c79 2063 6c6f 7365 6420 7468 6520 636f  ly closed the co\n+00007930: 6e6e 6563 7469 6f6e 0a0a 5345 4520 414c  nnection..SEE AL\n+00007940: 534f 0a20 2020 2020 2a6e 6f74 6520 5075  SO.     *note Pu\n+00007950: 7420 2870 726f 6365 6475 7265 293a 3a2c  t (procedure)::,\n+00007960: 0a20 2020 2020 2a6e 6f74 6520 5075 745f  .     *note Put_\n+00007970: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n+00007980: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461  ::.....File: ada\n+00007990: 736f 636b 6574 732e 696e 666f 2c20 204e  sockets.info,  N\n+000079a0: 6f64 653a 2053 6574 5f42 7566 6665 7220  ode: Set_Buffer \n+000079b0: 2870 726f 6365 6475 7265 292c 2020 4e65  (procedure),  Ne\n+000079c0: 7874 3a20 5365 7473 6f63 6b6f 7074 2028  xt: Setsockopt (\n+000079d0: 7072 6f63 6564 7572 6529 2c20 2050 7265  procedure),  Pre\n+000079e0: 763a 2053 656e 6420 2870 726f 6365 6475  v: Send (procedu\n+000079f0: 7265 292c 2020 5570 3a20 4163 6365 7074  re),  Up: Accept\n+00007a00: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n+00007a10: 7265 290a 0a53 6574 5f42 7566 6665 7220  re)..Set_Buffer \n+00007a20: 2870 726f 6365 6475 7265 290a 2d2d 2d2d  (procedure).----\n+00007a30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00007a40: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n+00007a50: 2049 6e73 7461 6c6c 2061 206c 696e 652d   Install a line-\n+00007a60: 6f72 6965 6e74 6564 2062 7566 6665 7220  oriented buffer \n+00007a70: 6f66 2074 6865 2073 6f63 6b65 7420 6f62  of the socket ob\n+00007a80: 6a65 6374 0a50 524f 544f 5459 5045 0a20  ject.PROTOTYPE. \n+00007a90: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n+00007aa0: 5365 745f 4275 6666 6572 3a20 7072 6f63  Set_Buffer: proc\n+00007ab0: 6564 7572 6520 5365 745f 4275 6666 6572  edure Set_Buffer\n+00007ac0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00007ad0: 2853 4f43 4b45 5420 3a20 536f 636b 6574  (SOCKET : Socket\n+00007ae0: 5f46 4427 436c 6173 733b 204c 454e 4754  _FD'Class; LENGT\n+00007af0: 4820 3a20 506f 7369 7469 7665 203a 3d20  H : Positive := \n+00007b00: 3135 3030 293b 0a0a 5041 5241 4d45 5445  1500);..PARAMETE\n+00007b10: 5253 0a20 2020 2020 534f 434b 4554 2020  RS.     SOCKET  \n+00007b20: 2020 2069 6e20 2020 2020 2020 2020 496e     in         In\n+00007b30: 6974 6961 6c69 7a65 6420 616e 6420 636f  itialized and co\n+00007b40: 6e6e 6563 7465 6420 736f 636b 6574 206f  nnected socket o\n+00007b50: 626a 6563 740a 2020 2020 204c 454e 4754  bject.     LENGT\n+00007b60: 4820 2020 2020 696e 2020 2020 2020 2020  H     in        \n+00007b70: 2053 697a 6520 696e 2062 7974 6573 206f   Size in bytes o\n+00007b80: 6620 7468 6520 6e65 776c 7920 696e 7374  f the newly inst\n+00007b90: 616c 6c65 640a 2020 2020 2020 2020 2020  alled.          \n+00007ba0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00007bb0: 2062 7566 6665 720a 0a44 4553 4352 4950   buffer..DESCRIP\n+00007bc0: 5449 4f4e 0a20 2020 2020 5468 6973 2070  TION.     This p\n+00007bd0: 726f 6365 6475 7265 2070 7574 7320 7468  rocedure puts th\n+00007be0: 6520 736f 636b 6574 206f 626a 6563 7420  e socket object \n+00007bf0: 696e 2062 7566 6665 7265 6420 6d6f 6465  in buffered mode\n+00007c00: 2e20 2049 6620 7468 650a 2020 2020 2073  .  If the.     s\n+00007c10: 6f63 6b65 7420 7761 7320 616c 7265 6164  ocket was alread\n+00007c20: 7920 6275 6666 6572 6564 2c20 7468 6520  y buffered, the \n+00007c30: 636f 6e74 656e 7420 6f66 2074 6865 2070  content of the p\n+00007c40: 7265 7669 6f75 7320 6275 6666 6572 0a20  revious buffer. \n+00007c50: 2020 2020 7769 6c6c 2062 6520 6c6f 7374      will be lost\n+00007c60: 2e20 2054 6865 2062 7566 6665 7265 6420  .  The buffered \n+00007c70: 6d6f 6465 206f 6e6c 7920 6166 6665 6374  mode only affect\n+00007c80: 7320 6368 6172 6163 7465 722d 2061 6e64  s character- and\n+00007c90: 0a20 2020 2020 6c69 6e65 2d6f 7269 656e  .     line-orien\n+00007ca0: 7465 6420 7265 6164 206f 7065 7261 7469  ted read operati\n+00007cb0: 6f6e 2073 7563 6820 6173 202a 6e6f 7465  on such as *note\n+00007cc0: 2047 6574 2028 6675 6e63 7469 6f6e 293a   Get (function):\n+00007cd0: 3a2c 202a 6e6f 7465 0a20 2020 2020 4765  :, *note.     Ge\n+00007ce0: 745f 4368 6172 2028 6675 6e63 7469 6f6e  t_Char (function\n+00007cf0: 293a 3a2c 2061 6e64 202a 6e6f 7465 2047  )::, and *note G\n+00007d00: 6574 5f4c 696e 6520 2866 756e 6374 696f  et_Line (functio\n+00007d10: 6e29 3a3a 2e20 204f 7468 6572 0a20 2020  n)::.  Other.   \n+00007d20: 2020 7265 6365 7074 696f 6e20 7375 6270    reception subp\n+00007d30: 726f 6772 616d 7320 7769 6c6c 206e 6f74  rograms will not\n+00007d40: 2066 756e 6374 696f 6e20 7072 6f70 6572   function proper\n+00007d50: 6c79 2069 6620 6275 6666 6572 6564 206d  ly if buffered m\n+00007d60: 6f64 650a 2020 2020 2069 7320 7573 6564  ode.     is used\n+00007d70: 2061 7420 7468 6520 7361 6d65 2074 696d   at the same tim\n+00007d80: 652e 0a0a 2020 2020 2054 6865 2073 697a  e...     The siz\n+00007d90: 6520 6f66 2074 6865 2062 7566 6665 7220  e of the buffer \n+00007da0: 6861 7320 746f 2062 6520 6772 6561 7465  has to be greate\n+00007db0: 7220 7468 616e 2074 6865 2062 6967 6765  r than the bigge\n+00007dc0: 7374 2070 6f73 7369 626c 650a 2020 2020  st possible.    \n+00007dd0: 2070 6163 6b65 7420 7365 6e74 2062 7920   packet sent by \n+00007de0: 7468 6520 7265 6d6f 7465 2068 6f73 742c  the remote host,\n+00007df0: 206f 7468 6572 7769 7365 2064 6174 6120   otherwise data \n+00007e00: 6c6f 7373 206d 6179 206f 6363 7572 2e0a  loss may occur..\n+00007e10: 0a53 4545 2041 4c53 4f0a 2020 2020 202a  .SEE ALSO.     *\n+00007e20: 6e6f 7465 2055 6e73 6574 5f42 7566 6665  note Unset_Buffe\n+00007e30: 7220 2870 726f 6365 6475 7265 293a 3a2e  r (procedure)::.\n+00007e40: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63  ....File: adasoc\n+00007e50: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465  kets.info,  Node\n+00007e60: 3a20 5365 7473 6f63 6b6f 7074 2028 7072  : Setsockopt (pr\n+00007e70: 6f63 6564 7572 6529 2c20 204e 6578 743a  ocedure),  Next:\n+00007e80: 2053 6875 7464 6f77 6e20 2870 726f 6365   Shutdown (proce\n+00007e90: 6475 7265 292c 2020 5072 6576 3a20 5365  dure),  Prev: Se\n+00007ea0: 745f 4275 6666 6572 2028 7072 6f63 6564  t_Buffer (proced\n+00007eb0: 7572 6529 2c20 2055 703a 2041 6363 6570  ure),  Up: Accep\n+00007ec0: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+00007ed0: 7572 6529 0a0a 5365 7473 6f63 6b6f 7074  ure)..Setsockopt\n+00007ee0: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d   (procedure).---\n+00007ef0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00007f00: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n+00007f10: 2020 5365 7420 6120 736f 636b 6574 206f    Set a socket o\n+00007f20: 7074 696f 6e0a 5052 4f54 4f54 5950 450a  ption.PROTOTYPE.\n+00007f30: 2020 2020 2020 2d2d 2053 6f63 6b65 7473        -- Sockets\n+00007f40: 2e53 6574 736f 636b 6f70 743a 2070 726f  .Setsockopt: pro\n+00007f50: 6365 6475 7265 2053 6574 736f 636b 6f70  cedure Setsockop\n+00007f60: 7420 2853 4f43 4b45 5420 3a20 536f 636b  t (SOCKET : Sock\n+00007f70: 6574 5f46 443b 0a20 2020 2020 2020 2020  et_FD;.         \n+00007f80: 2020 2020 2020 4c45 5645 4c20 3a20 536f        LEVEL : So\n+00007f90: 636b 6574 5f4c 6576 656c 203a 3d20 534f  cket_Level := SO\n+00007fa0: 4c5f 534f 434b 4554 3b0a 2020 2020 2020  L_SOCKET;.      \n+00007fb0: 2020 2020 2020 2020 204f 5054 4e41 4d45           OPTNAME\n+00007fc0: 203a 2053 6f63 6b65 745f 4f70 7469 6f6e   : Socket_Option\n+00007fd0: 3b20 4f50 5456 414c 203a 2049 6e74 6567  ; OPTVAL : Integ\n+00007fe0: 6572 293b 0a0a 5041 5241 4d45 5445 5253  er);..PARAMETERS\n+00007ff0: 0a20 2020 2020 534f 434b 4554 2020 2020  .     SOCKET    \n+00008000: 2069 6e20 2020 2020 2020 2020 496e 6974   in         Init\n+00008010: 6961 6c69 7a65 6420 616e 6420 626f 756e  ialized and boun\n+00008020: 6420 736f 636b 6574 206f 626a 6563 740a  d socket object.\n+00008030: 2020 2020 204c 4556 454c 2020 2020 2020       LEVEL      \n+00008040: 696e 2020 2020 2020 2020 2050 726f 746f  in         Proto\n+00008050: 636f 6c20 6c65 7665 6c0a 2020 2020 204f  col level.     O\n+00008060: 5054 4e41 4d45 2020 2020 696e 2020 2020  PTNAME    in    \n+00008070: 2020 2020 204f 7074 696f 6e20 6e61 6d65       Option name\n+00008080: 0a20 2020 2020 4f50 5456 414c 2020 2020  .     OPTVAL    \n+00008090: 2069 6e20 2020 2020 2020 2020 4f70 7469   in         Opti\n+000080a0: 6f6e 2076 616c 7565 0a0a 4445 5343 5249  on value..DESCRI\n+000080b0: 5054 494f 4e0a 2020 2020 2054 6869 7320  PTION.     This \n+000080c0: 7072 6f63 6564 7572 6520 7365 7473 206f  procedure sets o\n+000080d0: 7074 696f 6e73 2061 7070 6c69 6361 626c  ptions applicabl\n+000080e0: 6520 746f 2061 2073 6f63 6b65 742e 2020  e to a socket.  \n+000080f0: 506c 6561 7365 2073 6565 0a20 2020 2020  Please see.     \n+00008100: 796f 7572 206f 7065 7261 7469 6e67 2073  your operating s\n+00008110: 7973 7465 6d20 6d61 6e75 616c 2066 6f72  ystem manual for\n+00008120: 2075 7361 626c 6520 6c65 7665 6c73 2061   usable levels a\n+00008130: 6e64 206f 7074 696f 6e73 2e0a 0a20 2020  nd options...   \n+00008140: 2020 5477 6f20 6c65 7665 6c73 2061 7265    Two levels are\n+00008150: 2064 6566 696e 6564 3a20 e280 9853 4f4c   defined: ...SOL\n+00008160: 5f53 4f43 4b45 54e2 8099 2028 7468 6520  _SOCKET... (the \n+00008170: 6465 6661 756c 7429 2061 6e64 0a20 2020  default) and.   \n+00008180: 2020 e280 9849 5050 524f 544f 5f49 50e2    ...IPPROTO_IP.\n+00008190: 8099 2e20 2054 6865 206f 7074 696f 6e73  ...  The options\n+000081a0: 2061 7265 20e2 8098 534f 5f52 4555 5345   are ...SO_REUSE\n+000081b0: 4144 4452 e280 992c 20e2 8098 534f 5f52  ADDR..., ...SO_R\n+000081c0: 4555 5345 504f 5254 e280 992c 0a20 2020  EUSEPORT...,.   \n+000081d0: 2020 e280 9849 505f 4d55 4c54 4943 4153    ...IP_MULTICAS\n+000081e0: 545f 5454 4ce2 8099 2c20 e280 9849 505f  T_TTL..., ...IP_\n+000081f0: 4144 445f 4d45 4d42 4552 5348 4950 e280  ADD_MEMBERSHIP..\n+00008200: 992c 20e2 8098 4950 5f44 524f 505f 4d45  ., ...IP_DROP_ME\n+00008210: 4d42 4552 5348 4950 e280 992c 0a20 2020  MBERSHIP...,.   \n+00008220: 2020 e280 9849 505f 4d55 4c54 4943 4153    ...IP_MULTICAS\n+00008230: 545f 4c4f 4f50 e280 992c 20e2 8098 534f  T_LOOP..., ...SO\n+00008240: 5f53 4e44 4255 46e2 8099 2061 6e64 20e2  _SNDBUF... and .\n+00008250: 8098 4950 5f52 4356 4255 46e2 8099 2e0a  ..IP_RCVBUF.....\n+00008260: 0a20 2020 2020 4e6f 7465 2074 6861 7420  .     Note that \n+00008270: 756e 6c69 6b65 2074 6865 6972 2043 206c  unlike their C l\n+00008280: 616e 6775 6167 6520 636f 756e 7465 7270  anguage counterp\n+00008290: 6172 742c 20e2 8098 4765 7473 6f63 6b6f  art, ...Getsocko\n+000082a0: 7074 e280 9920 616e 640a 2020 2020 20e2  pt... and.     .\n+000082b0: 8098 5365 7473 6f63 6b6f 7074 e280 9920  ..Setsockopt... \n+000082c0: 646f 206e 6f74 2072 6571 7569 7265 2061  do not require a\n+000082d0: 6e20 6578 7472 6120 7061 7261 6d65 7465  n extra paramete\n+000082e0: 7220 7265 7072 6573 656e 7469 6e67 2074  r representing t\n+000082f0: 6865 0a20 2020 2020 6c65 6e67 7468 2069  he.     length i\n+00008300: 6e20 6279 7465 7320 6f66 2074 6865 206f  n bytes of the o\n+00008310: 7074 696f 6e20 7661 6c75 652e 2020 4164  ption value.  Ad\n+00008320: 6153 6f63 6b65 7473 206b 6e6f 7773 2074  aSockets knows t\n+00008330: 6865 2072 6967 6874 0a20 2020 2020 7369  he right.     si\n+00008340: 7a65 2066 6f72 2065 7665 7279 206f 7074  ze for every opt\n+00008350: 696f 6e2e 0a0a 5345 4520 414c 534f 0a20  ion...SEE ALSO. \n+00008360: 2020 2020 2a6e 6f74 6520 4765 7473 6f63      *note Getsoc\n+00008370: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n+00008380: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461  ::.....File: ada\n+00008390: 736f 636b 6574 732e 696e 666f 2c20 204e  sockets.info,  N\n+000083a0: 6f64 653a 2053 6875 7464 6f77 6e20 2870  ode: Shutdown (p\n+000083b0: 726f 6365 6475 7265 292c 2020 4e65 7874  rocedure),  Next\n+000083c0: 3a20 536f 636b 6574 2028 7072 6f63 6564  : Socket (proced\n+000083d0: 7572 6529 2c20 2050 7265 763a 2053 6574  ure),  Prev: Set\n+000083e0: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n+000083f0: 7265 292c 2020 5570 3a20 4163 6365 7074  re),  Up: Accept\n+00008400: 5f53 6f63 6b65 7420 2870 726f 6365 6475  _Socket (procedu\n+00008410: 7265 290a 0a53 6875 7464 6f77 6e20 2870  re)..Shutdown (p\n+00008420: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d  rocedure).------\n+00008430: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a  --------------..\n+00008440: 5055 5250 4f53 450a 2020 2020 2053 6875  PURPOSE.     Shu\n+00008450: 7464 6f77 6e20 6120 736f 636b 6574 0a50  tdown a socket.P\n+00008460: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n+00008470: 2d20 536f 636b 6574 732e 5368 7574 646f  - Sockets.Shutdo\n+00008480: 776e 3a20 7072 6f63 6564 7572 6520 5368  wn: procedure Sh\n+00008490: 7574 646f 776e 0a20 2020 2020 2020 2020  utdown.         \n+000084a0: 2020 2020 2020 2853 4f43 4b45 5420 3a20        (SOCKET : \n+000084b0: 696e 206f 7574 2053 6f63 6b65 745f 4644  in out Socket_FD\n+000084c0: 3b20 484f 5720 3a20 5368 7574 646f 776e  ; HOW : Shutdown\n+000084d0: 5f54 7970 6520 3a3d 2042 6f74 6829 3b0a  _Type := Both);.\n+000084e0: 0a50 4152 414d 4554 4552 530a 2020 2020  .PARAMETERS.    \n+000084f0: 2053 4f43 4b45 5420 2020 2020 696e 206f   SOCKET     in o\n+00008500: 7574 2020 2020 2053 6f63 6b65 7420 6f62  ut     Socket ob\n+00008510: 6a65 6374 2074 6f20 7368 7574 646f 776e  ject to shutdown\n+00008520: 0a20 2020 2020 484f 5720 2020 2020 2020  .     HOW       \n+00008530: 2069 6e20 2020 2020 2020 2020 4469 7265   in         Dire\n+00008540: 6374 696f 6e20 746f 2073 6875 7464 6f77  ction to shutdow\n+00008550: 6e0a 0a44 4553 4352 4950 5449 4f4e 0a20  n..DESCRIPTION. \n+00008560: 2020 2020 5468 6973 2070 726f 6365 6475      This procedu\n+00008570: 7265 2073 6875 7464 6f77 6e73 2065 6974  re shutdowns eit\n+00008580: 6865 7220 6469 7265 6374 696f 6e20 6f66  her direction of\n+00008590: 2074 6865 2073 6f63 6b65 742e 2020 484f   the socket.  HO\n+000085a0: 5720 6361 6e0a 2020 2020 2074 616b 6520  W can.     take \n+000085b0: 7468 6520 7661 6c75 6520 e280 9853 656e  the value ...Sen\n+000085c0: 64e2 8099 2c20 e280 9852 6563 6569 7665  d..., ...Receive\n+000085d0: e280 9920 6f72 20e2 8098 426f 7468 e280  ... or ...Both..\n+000085e0: 992e 0a0a 5345 4520 414c 534f 0a20 2020  ....SEE ALSO.   \n+000085f0: 2020 2a6e 6f74 6520 536f 636b 6574 2028    *note Socket (\n+00008600: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f  procedure)::....\n+00008610: 0a46 696c 653a 2061 6461 736f 636b 6574  .File: adasocket\n+00008620: 732e 696e 666f 2c20 204e 6f64 653a 2053  s.info,  Node: S\n+00008630: 6f63 6b65 7420 2870 726f 6365 6475 7265  ocket (procedure\n+00008640: 292c 2020 4e65 7874 3a20 556e 7365 745f  ),  Next: Unset_\n+00008650: 4275 6666 6572 2028 7072 6f63 6564 7572  Buffer (procedur\n+00008660: 6529 2c20 2050 7265 763a 2053 6875 7464  e),  Prev: Shutd\n+00008670: 6f77 6e20 2870 726f 6365 6475 7265 292c  own (procedure),\n+00008680: 2020 5570 3a20 4163 6365 7074 5f53 6f63    Up: Accept_Soc\n+00008690: 6b65 7420 2870 726f 6365 6475 7265 290a  ket (procedure).\n+000086a0: 0a53 6f63 6b65 7420 2870 726f 6365 6475  .Socket (procedu\n+000086b0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  re).------------\n+000086c0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a  ------..PURPOSE.\n+000086d0: 2020 2020 2043 7265 6174 6520 6120 736f       Create a so\n+000086e0: 636b 6574 206f 6620 7468 6520 6769 7665  cket of the give\n+000086f0: 6e20 6d6f 6465 0a50 524f 544f 5459 5045  n mode.PROTOTYPE\n+00008700: 0a20 2020 2020 202d 2d20 536f 636b 6574  .      -- Socket\n+00008710: 732e 536f 636b 6574 3a20 7072 6f63 6564  s.Socket: proced\n+00008720: 7572 6520 536f 636b 6574 2028 534f 434b  ure Socket (SOCK\n+00008730: 4554 203a 206f 7574 2053 6f63 6b65 745f  ET : out Socket_\n+00008740: 4644 3b0a 2020 2020 2020 2020 2020 2020  FD;.            \n+00008750: 2020 2044 4f4d 4149 4e20 3a20 536f 636b     DOMAIN : Sock\n+00008760: 6574 5f44 6f6d 6169 6e20 3a3d 2050 465f  et_Domain := PF_\n+00008770: 494e 4554 3b0a 2020 2020 2020 2020 2020  INET;.          \n+00008780: 2020 2020 2054 5950 203a 2053 6f63 6b65       TYP : Socke\n+00008790: 745f 5479 7065 203a 3d20 534f 434b 5f53  t_Type := SOCK_S\n+000087a0: 5452 4541 4d29 3b0a 0a50 4152 414d 4554  TREAM);..PARAMET\n+000087b0: 4552 530a 2020 2020 2053 4f43 4b45 5420  ERS.     SOCKET \n+000087c0: 2020 2020 6f75 7420 2020 2020 2020 2053      out        S\n+000087d0: 6f63 6b65 7420 6f62 6a65 6374 2074 6f20  ocket object to \n+000087e0: 696e 6974 6961 6c69 7a65 0a20 2020 2020  initialize.     \n+000087f0: 444f 4d41 494e 2020 2020 2069 6e20 2020  DOMAIN     in   \n+00008800: 2020 2020 2020 5072 6f74 6f63 6f6c 2066        Protocol f\n+00008810: 616d 696c 790a 2020 2020 2054 5950 2020  amily.     TYP  \n+00008820: 2020 2020 2020 696e 2020 2020 2020 2020        in        \n+00008830: 204b 696e 6420 6f66 2073 6f63 6b65 7473   Kind of sockets\n+00008840: 0a0a 4445 5343 5249 5054 494f 4e0a 2020  ..DESCRIPTION.  \n+00008850: 2020 2054 6869 7320 7072 6f63 6564 7572     This procedur\n+00008860: 6520 696e 6974 6961 6c69 7a65 7320 6120  e initializes a \n+00008870: 6e65 7720 736f 636b 6574 206f 626a 6563  new socket objec\n+00008880: 7420 6279 2072 6573 6572 7669 6e67 2061  t by reserving a\n+00008890: 2066 696c 650a 2020 2020 2064 6573 6372   file.     descr\n+000088a0: 6970 746f 7220 746f 2074 6865 206f 7065  iptor to the ope\n+000088b0: 7261 7469 6e67 2073 7973 7465 6d2e 2020  rating system.  \n+000088c0: 466f 7220 6261 636b 7761 7264 2063 6f6d  For backward com\n+000088d0: 7061 7469 6269 6c69 7479 0a20 2020 2020  patibility.     \n+000088e0: 7769 7468 206f 6c64 6572 2076 6572 7369  with older versi\n+000088f0: 6f6e 7320 6f66 2074 6869 7320 6c69 6272  ons of this libr\n+00008900: 6172 792c 20e2 8098 4146 5f49 4e45 54e2  ary, ...AF_INET.\n+00008910: 8099 2069 7320 7374 696c 6c20 6163 6365  .. is still acce\n+00008920: 7074 6564 2061 730a 2020 2020 2061 2076  pted as.     a v\n+00008930: 616c 7565 2062 7574 2073 686f 756c 6420  alue but should \n+00008940: 6265 2072 6570 6c61 6365 6420 6173 2073  be replaced as s\n+00008950: 6f6f 6e20 6173 2070 6f73 7369 626c 6520  oon as possible \n+00008960: 7769 7468 2074 6865 2070 726f 7065 720a  with the proper.\n+00008970: 2020 2020 20e2 8098 5046 5f49 4e45 54e2       ...PF_INET.\n+00008980: 8099 2e20 2055 7369 6e67 20e2 8098 534f  ...  Using ...SO\n+00008990: 434b 5f53 5452 4541 4de2 8099 2066 6f72  CK_STREAM... for\n+000089a0: 2074 6865 2054 5950 2061 7267 756d 656e   the TYP argumen\n+000089b0: 7420 7769 6c6c 2063 7265 6174 6520 610a  t will create a.\n+000089c0: 2020 2020 2054 4350 2073 6f63 6b65 7420       TCP socket \n+000089d0: 7768 696c 6520 6120 e280 9853 4f43 4b5f  while a ...SOCK_\n+000089e0: 4447 5241 4de2 8099 2077 696c 6c20 6372  DGRAM... will cr\n+000089f0: 6561 7465 2061 2055 4450 206f 6e65 2e0a  eate a UDP one..\n+00008a00: 0a45 5841 4d50 4c45 0a20 2020 2020 2020  .EXAMPLE.       \n+00008a10: 2020 2064 6563 6c61 7265 0a20 2020 2020     declare.     \n+00008a20: 2020 2020 2020 2020 536f 636b 203a 2053          Sock : S\n+00008a30: 6f63 6b65 745f 4644 3b0a 2020 2020 2020  ocket_FD;.      \n+00008a40: 2020 2020 6265 6769 6e0a 2020 2020 2020      begin.      \n+00008a50: 2020 2020 2020 202d 2d20 4372 6561 7465         -- Create\n+00008a60: 2061 2054 4350 2073 6f63 6b65 740a 2020   a TCP socket.  \n+00008a70: 2020 2020 2020 2020 2020 2053 6f63 6b65             Socke\n+00008a80: 7420 2853 6f63 6b2c 2050 465f 494e 4554  t (Sock, PF_INET\n+00008a90: 2c20 534f 434b 5f53 5452 4541 4d29 3b0a  , SOCK_STREAM);.\n+00008aa0: 2020 2020 2020 2020 2020 2020 202d 2d20               -- \n+00008ab0: 5065 7266 6f72 6d20 736f 6d65 206f 7065  Perform some ope\n+00008ac0: 7261 7469 6f6e 7320 6f6e 2073 6f63 6b65  rations on socke\n+00008ad0: 740a 2020 2020 2020 2020 2020 2020 205b  t.             [\n+00008ae0: 2e2e 2e5d 0a20 2020 2020 2020 2020 2020  ...].           \n+00008af0: 2020 2d2d 2053 6875 7464 6f77 6e20 7468    -- Shutdown th\n+00008b00: 6520 736f 636b 6574 2069 6e20 626f 7468  e socket in both\n+00008b10: 2064 6972 6563 7469 6f6e 730a 2020 2020   directions.    \n+00008b20: 2020 2020 2020 2020 2053 6875 7464 6f77           Shutdow\n+00008b30: 6e20 2853 6f63 6b2c 2042 6f74 6829 3b0a  n (Sock, Both);.\n+00008b40: 2020 2020 2020 2020 2020 656e 643b 0a0a            end;..\n+00008b50: 5345 4520 414c 534f 0a20 2020 2020 2a6e  SEE ALSO.     *n\n+00008b60: 6f74 6520 5368 7574 646f 776e 2028 7072  ote Shutdown (pr\n+00008b70: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46  ocedure)::.....F\n+00008b80: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n+00008b90: 696e 666f 2c20 204e 6f64 653a 2055 6e73  info,  Node: Uns\n+00008ba0: 6574 5f42 7566 6665 7220 2870 726f 6365  et_Buffer (proce\n+00008bb0: 6475 7265 292c 2020 5072 6576 3a20 536f  dure),  Prev: So\n+00008bc0: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n+00008bd0: 2c20 2055 703a 2041 6363 6570 745f 536f  ,  Up: Accept_So\n+00008be0: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n+00008bf0: 0a0a 556e 7365 745f 4275 6666 6572 2028  ..Unset_Buffer (\n+00008c00: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d  procedure).-----\n+00008c10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00008c20: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n+00008c30: 2020 4465 696e 7374 616c 6c20 7468 6520    Deinstall the \n+00008c40: 6c69 6e65 2d6f 7269 656e 7465 6420 6275  line-oriented bu\n+00008c50: 6666 6572 206f 6620 7468 6520 736f 636b  ffer of the sock\n+00008c60: 6574 206f 626a 6563 740a 5052 4f54 4f54  et object.PROTOT\n+00008c70: 5950 450a 2020 2020 2020 2d2d 2053 6f63  YPE.      -- Soc\n+00008c80: 6b65 7473 2e55 6e73 6574 5f42 7566 6665  kets.Unset_Buffe\n+00008c90: 723a 2070 726f 6365 6475 7265 2055 6e73  r: procedure Uns\n+00008ca0: 6574 5f42 7566 6665 720a 2020 2020 2020  et_Buffer.      \n+00008cb0: 2020 2020 2020 2020 2028 534f 434b 4554           (SOCKET\n+00008cc0: 203a 2053 6f63 6b65 745f 4644 2743 6c61   : Socket_FD'Cla\n+00008cd0: 7373 293b 0a0a 5041 5241 4d45 5445 5253  ss);..PARAMETERS\n+00008ce0: 0a20 2020 2020 534f 434b 4554 2020 2020  .     SOCKET    \n+00008cf0: 2069 6e20 2020 2020 2020 2020 496e 6974   in         Init\n+00008d00: 6961 6c69 7a65 6420 616e 6420 636f 6e6e  ialized and conn\n+00008d10: 6563 7465 6420 736f 636b 6574 206f 626a  ected socket obj\n+00008d20: 6563 740a 0a44 4553 4352 4950 5449 4f4e  ect..DESCRIPTION\n+00008d30: 0a20 2020 2020 5468 6973 2070 726f 6365  .     This proce\n+00008d40: 6475 7265 2075 6e69 6e73 7461 6c6c 7320  dure uninstalls \n+00008d50: 7468 6520 6275 6666 6572 2070 7265 7669  the buffer previ\n+00008d60: 6f75 736c 7920 696e 7374 616c 6c65 6420  ously installed \n+00008d70: 6279 202a 6e6f 7465 0a20 2020 2020 5365  by *note.     Se\n+00008d80: 745f 4275 6666 6572 2028 7072 6f63 6564  t_Buffer (proced\n+00008d90: 7572 6529 3a3a 2e20 2049 6620 616e 7920  ure)::.  If any \n+00008da0: 6461 7461 2069 7320 7374 696c 6c20 7072  data is still pr\n+00008db0: 6573 656e 7420 696e 2074 6865 0a20 2020  esent in the.   \n+00008dc0: 2020 6275 6666 6572 2c20 6974 2077 696c    buffer, it wil\n+00008dd0: 6c20 6265 206c 6f73 742e 2020 546f 2061  l be lost.  To a\n+00008de0: 766f 6964 2074 6869 7320 7369 7475 6174  void this situat\n+00008df0: 696f 6e2c 2074 6865 2062 7566 6665 7220  ion, the buffer \n+00008e00: 6361 6e0a 2020 2020 2062 6520 666c 7573  can.     be flus\n+00008e10: 6865 6420 6279 2063 616c 6c69 6e67 202a  hed by calling *\n+00008e20: 6e6f 7465 2047 6574 2028 6675 6e63 7469  note Get (functi\n+00008e30: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20  on)::.....File: \n+00008e40: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+00008e50: 2020 4e6f 6465 3a20 536f 636b 6574 732e    Node: Sockets.\n+00008e60: 4d75 6c74 6963 6173 7420 7061 636b 6167  Multicast packag\n+00008e70: 652c 2020 4e65 7874 3a20 536f 636b 6574  e,  Next: Socket\n+00008e80: 732e 4e61 6d69 6e67 2070 6163 6b61 6765  s.Naming package\n+00008e90: 2c20 2050 7265 763a 2053 6f63 6b65 7473  ,  Prev: Sockets\n+00008ea0: 2070 6163 6b61 6765 2c20 2055 703a 2054   package,  Up: T\n+00008eb0: 6f70 0a0a 3520 536f 636b 6574 732e 4d75  op..5 Sockets.Mu\n+00008ec0: 6c74 6963 6173 7420 7061 636b 6167 650a  lticast package.\n+00008ed0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n+00008ee0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865  ***********..The\n+00008ef0: 20e2 8098 536f 636b 6574 732e 4d75 6c74   ...Sockets.Mult\n+00008f00: 6963 6173 74e2 8099 2061 6c6c 6f77 7320  icast... allows \n+00008f10: 7468 6520 6372 6561 7469 6f6e 206f 6620  the creation of \n+00008f20: 4950 206d 756c 7469 6361 7374 2073 6f63  IP multicast soc\n+00008f30: 6b65 7473 2e0a 0a20 2d2d 2053 6f63 6b65  kets... -- Socke\n+00008f40: 7473 2e4d 756c 7469 6361 7374 2e4d 756c  ts.Multicast.Mul\n+00008f50: 7469 6361 7374 5f53 6f63 6b65 745f 4644  ticast_Socket_FD\n+00008f60: 3a20 7479 7065 204d 756c 7469 6361 7374  : type Multicast\n+00008f70: 5f53 6f63 6b65 745f 4644 2069 730a 2020  _Socket_FD is.  \n+00008f80: 2020 2020 2020 2020 6e65 7720 536f 636b          new Sock\n+00008f90: 6574 5f46 4420 7769 7468 2070 7269 7661  et_FD with priva\n+00008fa0: 7465 3b0a 2020 2020 2054 6865 20e2 8098  te;.     The ...\n+00008fb0: 4d75 6c74 6963 6173 745f 536f 636b 6574  Multicast_Socket\n+00008fc0: 5f46 44e2 8099 2074 6167 6765 6420 7479  _FD... tagged ty\n+00008fd0: 7065 2064 6572 6976 6573 2066 726f 6d20  pe derives from \n+00008fe0: 7468 6520 e280 9853 6f63 6b65 745f 4644  the ...Socket_FD\n+00008ff0: e280 990a 2020 2020 2074 7970 652e 2020  ....     type.  \n+00009000: 4974 2067 6574 7320 696e 6974 6961 6c69  It gets initiali\n+00009010: 7a65 6420 6279 2063 616c 6c69 6e67 202a  zed by calling *\n+00009020: 6e6f 7465 2043 7265 6174 655f 4d75 6c74  note Create_Mult\n+00009030: 6963 6173 745f 536f 636b 6574 0a20 2020  icast_Socket.   \n+00009040: 2020 2866 756e 6374 696f 6e29 3a3a 2e20    (function)::. \n+00009050: 2041 6e20 756e 696e 6974 6961 6c69 7a65   An uninitialize\n+00009060: 6420 e280 984d 756c 7469 6361 7374 5f53  d ...Multicast_S\n+00009070: 6f63 6b65 745f 4644 e280 9920 6361 6e20  ocket_FD... can \n+00009080: 6265 0a20 2020 2020 7375 6363 6573 7366  be.     successf\n+00009090: 756c 6c79 2063 6f6d 7061 7265 6420 746f  ully compared to\n+000090a0: 20e2 8098 4e75 6c6c 5f4d 756c 7469 6361   ...Null_Multica\n+000090b0: 7374 5f53 6f63 6b65 745f 4644 e280 992e  st_Socket_FD....\n+000090c0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2043 7265  ..* Menu:..* Cre\n+000090d0: 6174 655f 4d75 6c74 6963 6173 745f 536f  ate_Multicast_So\n+000090e0: 636b 6574 2028 6675 6e63 7469 6f6e 293a  cket (function):\n+000090f0: 3a0a 2020 2020 2020 2020 2020 2020 2020  :.              \n+00009100: 2020 2020 2020 2020 2020 4372 6561 7465            Create\n+00009110: 2061 6e20 4950 206d 756c 7469 6361 7374   an IP multicast\n+00009120: 2073 6f63 6b65 740a 2a20 4372 6561 7465   socket.* Create\n+00009130: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65  _Multicast_Socke\n+00009140: 7420 2866 756e 6374 696f 6e29 3a3a 0a20  t (function)::. \n+00009150: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00009160: 2020 2020 2020 2043 7265 6174 6520 616e         Create an\n+00009170: 2049 5020 6d75 6c74 6963 6173 7420 736f   IP multicast so\n+00009180: 636b 6574 0a0a 1f0a 4669 6c65 3a20 6164  cket....File: ad\n+00009190: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n+000091a0: 4e6f 6465 3a20 4372 6561 7465 5f4d 756c  Node: Create_Mul\n+000091b0: 7469 6361 7374 5f53 6f63 6b65 7420 2866  ticast_Socket (f\n+000091c0: 756e 6374 696f 6e29 2c20 204e 6578 743a  unction),  Next:\n+000091d0: 2043 7265 6174 655f 4d75 6c74 6963 6173   Create_Multicas\n+000091e0: 745f 536f 636b 6574 2028 6675 6e63 7469  t_Socket (functi\n+000091f0: 6f6e 292c 2020 5072 6576 3a20 4372 6561  on),  Prev: Crea\n+00009200: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n+00009210: 6b65 7420 2866 756e 6374 696f 6e29 2c20  ket (function), \n+00009220: 2055 703a 2053 6f63 6b65 7473 2e4d 756c   Up: Sockets.Mul\n+00009230: 7469 6361 7374 2070 6163 6b61 6765 0a0a  ticast package..\n+00009240: 4372 6561 7465 5f4d 756c 7469 6361 7374  Create_Multicast\n+00009250: 5f53 6f63 6b65 7420 2866 756e 6374 696f  _Socket (functio\n+00009260: 6e29 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d  n).=============\n+00009270: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d  ================\n+00009280: 3d3d 3d3d 3d0a 0a50 5552 504f 5345 0a20  =====..PURPOSE. \n+00009290: 2020 2020 4372 6561 7465 2061 6e20 4950      Create an IP\n+000092a0: 206d 756c 7469 6361 7374 2073 6f63 6b65   multicast socke\n+000092b0: 740a 5052 4f54 4f54 5950 450a 2020 2020  t.PROTOTYPE.    \n+000092c0: 2020 2d2d 2053 6f63 6b65 7473 2e4d 756c    -- Sockets.Mul\n+000092d0: 7469 6361 7374 2e43 7265 6174 655f 4d75  ticast.Create_Mu\n+000092e0: 6c74 6963 6173 745f 536f 636b 6574 3a20  lticast_Socket: \n+000092f0: 6675 6e63 7469 6f6e 0a20 2020 2020 2020  function.       \n+00009300: 2020 2020 2020 2020 4372 6561 7465 5f4d          Create_M\n+00009310: 756c 7469 6361 7374 5f53 6f63 6b65 7420  ulticast_Socket \n+00009320: 2847 524f 5550 203a 2053 7472 696e 673b  (GROUP : String;\n+00009330: 2050 4f52 5420 3a20 4e61 7475 7261 6c3b   PORT : Natural;\n+00009340: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00009350: 5454 4c20 3a20 506f 7369 7469 7665 203a  TTL : Positive :\n+00009360: 3d20 3136 3b20 5345 4c46 5f4c 4f4f 5020  = 16; SELF_LOOP \n+00009370: 3a20 426f 6f6c 6561 6e20 3a3d 2054 7275  : Boolean := Tru\n+00009380: 653b 0a20 2020 2020 2020 2020 2020 2020  e;.             \n+00009390: 2020 4c4f 4341 4c5f 4946 203a 2053 7472    LOCAL_IF : Str\n+000093a0: 696e 6720 3a3d 2030 2e30 2e30 2e30 290a  ing := 0.0.0.0).\n+000093b0: 2020 2020 2020 2020 2020 2020 2020 2072                 r\n+000093c0: 6574 7572 6e20 4d75 6c74 6963 6173 745f  eturn Multicast_\n+000093d0: 536f 636b 6574 5f46 443b 0a0a 5041 5241  Socket_FD;..PARA\n+000093e0: 4d45 5445 5253 0a20 2020 2020 4752 4f55  METERS.     GROU\n+000093f0: 5020 2020 2020 2069 6e20 2020 2020 2020  P      in       \n+00009400: 2020 4950 2061 6464 7265 7373 206f 6620    IP address of \n+00009410: 7468 6520 6d75 6c74 6963 6173 7420 6772  the multicast gr\n+00009420: 6f75 7020 746f 0a20 2020 2020 2020 2020  oup to.         \n+00009430: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00009440: 2020 6a6f 696e 0a20 2020 2020 504f 5254    join.     PORT\n+00009450: 2020 2020 2020 2069 6e20 2020 2020 2020         in       \n+00009460: 2020 506f 7274 206f 6620 7468 6520 6d75    Port of the mu\n+00009470: 6c74 6963 6173 7420 6772 6f75 7020 746f  lticast group to\n+00009480: 206a 6f69 6e0a 2020 2020 2054 544c 2020   join.     TTL  \n+00009490: 2020 2020 2020 696e 2020 2020 2020 2020        in        \n+000094a0: 2054 696d 652d 746f 2d6c 6976 6520 6f66   Time-to-live of\n+000094b0: 2073 656e 7420 7061 636b 6574 730a 2020   sent packets.  \n+000094c0: 2020 2053 454c 465f 4c4f 4f50 2020 696e     SELF_LOOP  in\n+000094d0: 2020 2020 2020 2020 2053 686f 756c 6420           Should \n+000094e0: 7468 6520 736f 636b 6574 2072 6563 6569  the socket recei\n+000094f0: 7665 2074 6865 2070 6163 6b65 7473 0a20  ve the packets. \n+00009500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00009510: 2020 2020 2020 2020 2020 7365 6e74 2066            sent f\n+00009520: 726f 6d20 7468 6520 6c6f 6361 6c20 686f  rom the local ho\n+00009530: 7374 3f0a 2020 2020 204c 4f43 414c 5f49  st?.     LOCAL_I\n+00009540: 4620 2020 696e 2020 2020 2020 2020 2041  F   in         A\n+00009550: 6464 7265 7373 206f 6620 7468 6520 6c6f  ddress of the lo\n+00009560: 6361 6c20 696e 7465 7266 6163 6520 746f  cal interface to\n+00009570: 2075 7365 0a0a 5245 5455 524e 2056 414c   use..RETURN VAL\n+00009580: 5545 0a20 2020 2020 5468 6520 6e65 7720  UE.     The new \n+00009590: 696e 6974 6961 6c69 7a65 6420 6d75 6c74  initialized mult\n+000095a0: 6963 6173 7420 736f 636b 6574 0a0a 4445  icast socket..DE\n+000095b0: 5343 5249 5054 494f 4e0a 2020 2020 2054  SCRIPTION.     T\n+000095c0: 6869 7320 6675 6e63 7469 6f6e 2063 7265  his function cre\n+000095d0: 6174 6573 2061 6e20 4950 206d 756c 7469  ates an IP multi\n+000095e0: 6361 7374 2073 6f63 6b65 7420 6174 7461  cast socket atta\n+000095f0: 6368 6564 2074 6f20 6120 6769 7665 6e0a  ched to a given.\n+00009600: 2020 2020 2067 726f 7570 2c20 6964 656e       group, iden\n+00009610: 7469 6669 6564 2062 7920 6974 7320 636c  tified by its cl\n+00009620: 6173 7320 4520 4950 2061 6464 7265 7373  ass E IP address\n+00009630: 2061 6e64 2070 6f72 742e 0a0a 2020 2020   and port...    \n+00009640: 2042 6520 6361 7265 6675 6c20 7768 656e   Be careful when\n+00009650: 2063 686f 6f73 696e 6720 7468 6520 5454   choosing the TT\n+00009660: 4c20 7061 7261 6d65 7465 7220 6f66 2079  L parameter of y\n+00009670: 6f75 7220 4950 206d 756c 7469 6361 7374  our IP multicast\n+00009680: 0a20 2020 2020 736f 636b 6574 2e20 204d  .     socket.  M\n+00009690: 6f73 7420 4950 206d 756c 7469 6361 7374  ost IP multicast\n+000096a0: 2072 6f75 7465 7273 2064 6f20 696d 706c   routers do impl\n+000096b0: 656d 656e 7420 7468 7265 7368 6f6c 642d  ement threshold-\n+000096c0: 6261 7365 640a 2020 2020 2066 696c 7465  based.     filte\n+000096d0: 7269 6e67 2061 6e64 2077 696c 6c20 6e6f  ring and will no\n+000096e0: 7420 6c65 7420 4950 206d 756c 7469 6361  t let IP multica\n+000096f0: 7374 2070 6163 6b65 7473 206c 6561 7665  st packets leave\n+00009700: 2079 6f75 720a 2020 2020 206f 7267 616e   your.     organ\n+00009710: 697a 6174 696f 6e20 6966 2074 6865 2054  ization if the T\n+00009720: 544c 206f 6e20 7468 6520 6c61 7374 2072  TL on the last r\n+00009730: 6f75 7465 7220 6973 2073 6d61 6c6c 6572  outer is smaller\n+00009740: 2074 6861 6e20 3136 2e0a 0a20 2020 2020   than 16...     \n+00009750: 4966 2030 2069 7320 6769 7665 6e20 666f  If 0 is given fo\n+00009760: 7220 7468 6520 506f 7274 2c20 6120 6c6f  r the Port, a lo\n+00009770: 6361 6c20 6f6e 6520 7769 6c6c 2062 6520  cal one will be \n+00009780: 6368 6f73 656e 2e20 2049 7420 6361 6e0a  chosen.  It can.\n+00009790: 2020 2020 2074 6865 6e20 6c61 7465 7220       then later \n+000097a0: 6265 2072 6574 7269 6576 6564 2075 7369  be retrieved usi\n+000097b0: 6e67 2047 6574 5f53 6f63 6b5f 506f 7274  ng Get_Sock_Port\n+000097c0: 2e0a 0a45 5841 4d50 4c45 0a20 2020 2020  ...EXAMPLE.     \n+000097d0: 2020 2020 2064 6563 6c61 7265 0a20 2020       declare.   \n+000097e0: 2020 2020 2020 2020 2020 536f 636b 2020            Sock  \n+000097f0: 2020 203a 2053 6f63 6b65 745f 4644 3b0a     : Socket_FD;.\n+00009800: 2020 2020 2020 2020 2020 2020 2049 6e63               Inc\n+00009810: 6f6d 696e 6720 3a20 536f 636b 6574 5f46  oming : Socket_F\n+00009820: 443b 0a20 2020 2020 2020 2020 2062 6567  D;.          beg\n+00009830: 696e 0a20 2020 2020 2020 2020 2020 2020  in.             \n+00009840: 2d2d 2043 7265 6174 6520 6120 5443 5020  -- Create a TCP \n+00009850: 736f 636b 6574 206c 6973 7465 6e69 6e67  socket listening\n+00009860: 206f 6e20 6c6f 6361 6c20 706f 7274 2034   on local port 4\n+00009870: 3136 310a 2020 2020 2020 2020 2020 2020  161.            \n+00009880: 2053 6f63 6b65 7420 2853 6f63 6b2c 2050   Socket (Sock, P\n+00009890: 465f 494e 4554 2c20 534f 434b 5f53 5452  F_INET, SOCK_STR\n+000098a0: 4541 4d29 3b0a 2020 2020 2020 2020 2020  EAM);.          \n+000098b0: 2020 2042 696e 6420 2853 6f63 6b2c 2034     Bind (Sock, 4\n+000098c0: 3136 3129 3b0a 2020 2020 2020 2020 2020  161);.          \n+000098d0: 2020 204c 6973 7465 6e20 2853 6f63 6b2c     Listen (Sock,\n+000098e0: 2033 293b 0a20 2020 2020 2020 2020 2020   3);.           \n+000098f0: 2020 2d2d 204f 6e65 2d63 6f6e 6e65 6374    -- One-connect\n+00009900: 696f 6e2d 6174 2d61 2d74 696d 6520 7365  ion-at-a-time se\n+00009910: 7276 6572 2028 3320 6d61 7920 6265 2070  rver (3 may be p\n+00009920: 656e 6469 6e67 290a 2020 2020 2020 2020  ending).        \n+00009930: 2020 2020 206c 6f6f 700a 2020 2020 2020       loop.      \n+00009940: 2020 2020 2020 2020 2020 2d2d 2057 6169            -- Wai\n+00009950: 7420 666f 7220 6120 6e65 7720 636f 6e6e  t for a new conn\n+00009960: 6563 7469 6f6e 2061 6e64 2061 6363 6570  ection and accep\n+00009970: 7420 6974 0a20 2020 2020 2020 2020 2020  t it.           \n+00009980: 2020 2020 2041 6363 6570 745f 536f 636b       Accept_Sock\n+00009990: 6574 2028 536f 636b 2c20 496e 636f 6d69  et (Sock, Incomi\n+000099a0: 6e67 293b 0a20 2020 2020 2020 2020 2020  ng);.           \n+000099b0: 2020 2020 202d 2d20 446f 2073 6f6d 6520       -- Do some \n+000099c0: 6469 616c 6f67 2077 6974 6820 7468 6520  dialog with the \n+000099d0: 7265 6d6f 7465 2068 6f73 740a 2020 2020  remote host.    \n+000099e0: 2020 2020 2020 2020 2020 2020 446f 5f53              Do_S\n+000099f0: 6f6d 655f 4469 616c 6f67 2028 496e 636f  ome_Dialog (Inco\n+00009a00: 6d69 6e67 293b 0a20 2020 2020 2020 2020  ming);.         \n+00009a10: 2020 2020 2020 202d 2d20 436c 6f73 6520         -- Close \n+00009a20: 696e 636f 6d69 6e67 2073 6f63 6b65 7420  incoming socket \n+00009a30: 616e 6420 7761 6974 2066 6f72 206e 6578  and wait for nex\n+00009a40: 7420 636f 6e6e 6563 7469 6f6e 0a20 2020  t connection.   \n+00009a50: 2020 2020 2020 2020 2020 2020 2053 6875               Shu\n+00009a60: 7464 6f77 6e20 2849 6e63 6f6d 696e 6729  tdown (Incoming)\n+00009a70: 3b0a 2020 2020 2020 2020 2020 2020 2065  ;.             e\n+00009a80: 6e64 206c 6f6f 703b 0a20 2020 2020 2020  nd loop;.       \n+00009a90: 2020 2065 6e64 3b0a 0a53 4545 2041 4c53     end;..SEE ALS\n+00009aa0: 4f0a 2020 2020 202a 6e6f 7465 2053 656e  O.     *note Sen\n+00009ab0: 6420 2870 726f 6365 6475 7265 293a 3a2c  d (procedure)::,\n+00009ac0: 0a20 2020 2020 2a6e 6f74 6520 5368 7574  .     *note Shut\n+00009ad0: 646f 776e 2028 7072 6f63 6564 7572 6529  down (procedure)\n+00009ae0: 3a3a 2e0a 0a2a 204d 656e 753a 0a0a 4372  ::...* Menu:..Cr\n+00009af0: 6561 7465 5f4d 756c 7469 6361 7374 5f53  eate_Multicast_S\n+00009b00: 6f63 6b65 7420 2866 756e 6374 696f 6e29  ocket (function)\n+00009b10: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n+00009b20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+00009b30: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020  ---..PURPOSE.   \n+00009b40: 2020 4372 6561 7465 2061 6e20 4950 206d    Create an IP m\n+00009b50: 756c 7469 6361 7374 2073 6f63 6b65 740a  ulticast socket.\n+00009b60: 5052 4f54 4f54 5950 450a 2020 2020 2020  PROTOTYPE.      \n+00009b70: 2d2d 2053 6f63 6b65 7473 2e4d 756c 7469  -- Sockets.Multi\n+00009b80: 6361 7374 2e43 7265 6174 655f 4d75 6c74  cast.Create_Mult\n+00009b90: 6963 6173 745f 536f 636b 6574 3a20 6675  icast_Socket: fu\n+00009ba0: 6e63 7469 6f6e 0a20 2020 2020 2020 2020  nction.         \n+00009bb0: 2020 2020 2020 4372 6561 7465 5f4d 756c        Create_Mul\n+00009bc0: 7469 6361 7374 5f53 6f63 6b65 7420 2847  ticast_Socket (G\n+00009bd0: 524f 5550 203a 2053 7472 696e 673b 2050  ROUP : String; P\n+00009be0: 4f52 5420 3a20 506f 7369 7469 7665 3b0a  ORT : Positive;.\n+00009bf0: 2020 2020 2020 2020 2020 2020 2020 204c                 L\n+00009c00: 4f43 414c 5f50 4f52 5420 3a20 4e61 7475  OCAL_PORT : Natu\n+00009c10: 7261 6c3b 2054 544c 203a 2050 6f73 6974  ral; TTL : Posit\n+00009c20: 6976 6520 3a3d 2031 363b 0a20 2020 2020  ive := 16;.     \n+00009c30: 2020 2020 2020 2020 2020 4c4f 4341 4c5f            LOCAL_\n+00009c40: 4946 203a 2053 7472 696e 6720 3a3d 2030  IF : String := 0\n+00009c50: 2e30 2e30 2e30 290a 2020 2020 2020 2020  .0.0.0).        \n+00009c60: 2020 2020 2020 2072 6574 7572 6e20 4d75         return Mu\n+00009c70: 6c74 6963 6173 745f 536f 636b 6574 5f46  lticast_Socket_F\n+00009c80: 443b 0a0a 5041 5241 4d45 5445 5253 0a20  D;..PARAMETERS. \n+00009c90: 2020 2020 4752 4f55 5020 2020 2020 2069      GROUP      i\n+00009ca0: 6e20 2020 2020 2020 2020 4950 2061 6464  n         IP add\n+00009cb0: 7265 7373 206f 6620 7468 6520 6d75 6c74  ress of the mult\n+00009cc0: 6963 6173 7420 6772 6f75 7020 746f 0a20  icast group to. \n+00009cd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00009ce0: 2020 2020 2020 2020 2020 6a6f 696e 0a20            join. \n+00009cf0: 2020 2020 504f 5254 2020 2020 2020 2069      PORT       i\n+00009d00: 6e20 2020 2020 2020 2020 506f 7274 206f  n         Port o\n+00009d10: 6620 7468 6520 6d75 6c74 6963 6173 7420  f the multicast \n+00009d20: 6772 6f75 7020 746f 206a 6f69 6e0a 2020  group to join.  \n+00009d30: 2020 204c 4f43 414c 5f50 4f52 5420 696e     LOCAL_PORT in\n+00009d40: 2020 2020 2020 2020 204c 6f63 616c 2070           Local p\n+00009d50: 6f72 7420 6e75 6d62 6572 2074 6f20 7573  ort number to us\n+00009d60: 650a 2020 2020 2054 544c 2020 2020 2020  e.     TTL      \n+00009d70: 2020 696e 2020 2020 2020 2020 2054 696d    in         Tim\n+00009d80: 652d 746f 2d6c 6976 6520 6f66 2073 656e  e-to-live of sen\n+00009d90: 7420 7061 636b 6574 730a 2020 2020 204c  t packets.     L\n+00009da0: 4f43 414c 5f49 4620 2020 696e 2020 2020  OCAL_IF   in    \n+00009db0: 2020 2020 2041 6464 7265 7373 206f 6620       Address of \n+00009dc0: 7468 6520 6c6f 6361 6c20 696e 7465 7266  the local interf\n+00009dd0: 6163 6520 746f 2075 7365 0a0a 5245 5455  ace to use..RETU\n+00009de0: 524e 2056 414c 5545 0a20 2020 2020 5468  RN VALUE.     Th\n+00009df0: 6520 6e65 7720 696e 6974 6961 6c69 7a65  e new initialize\n+00009e00: 6420 6d75 6c74 6963 6173 7420 736f 636b  d multicast sock\n+00009e10: 6574 0a0a 4445 5343 5249 5054 494f 4e0a  et..DESCRIPTION.\n+00009e20: 2020 2020 2054 6869 7320 6675 6e63 7469       This functi\n+00009e30: 6f6e 2063 7265 6174 6573 2061 6e20 4950  on creates an IP\n+00009e40: 206d 756c 7469 6361 7374 2073 6f63 6b65   multicast socke\n+00009e50: 7420 6174 7461 6368 6564 2074 6f20 6120  t attached to a \n+00009e60: 6769 7665 6e0a 2020 2020 2067 726f 7570  given.     group\n+00009e70: 2c20 6964 656e 7469 6669 6564 2062 7920  , identified by \n+00009e80: 6974 7320 636c 6173 7320 4520 4950 2061  its class E IP a\n+00009e90: 6464 7265 7373 2061 6e64 2070 6f72 742e  ddress and port.\n+00009ea0: 2020 4966 0a20 2020 2020 4c6f 6361 6c5f    If.     Local_\n+00009eb0: 506f 7274 2069 7320 302c 2061 2066 7265  Port is 0, a fre\n+00009ec0: 6520 706f 7274 2077 696c 6c20 6175 746f  e port will auto\n+00009ed0: 6d61 7469 6361 6c6c 7920 6265 2063 686f  matically be cho\n+00009ee0: 7365 6e20 6279 2079 6f75 720a 2020 2020  sen by your.    \n+00009ef0: 206f 7065 7261 7469 6e67 2073 7973 7465   operating syste\n+00009f00: 6d2e 0a0a 2020 2020 2054 6869 7320 6675  m...     This fu\n+00009f10: 6e63 7469 6f6e 2073 686f 756c 6420 6265  nction should be\n+00009f20: 2075 7365 6420 7768 656e 2079 6f75 2077   used when you w\n+00009f30: 616e 7420 746f 2073 656e 6420 7061 636b  ant to send pack\n+00009f40: 6574 7320 746f 2061 0a20 2020 2020 6d75  ets to a.     mu\n+00009f50: 6c74 6963 6173 7420 6772 6f75 7020 7769  lticast group wi\n+00009f60: 7468 6f75 7420 7265 6365 6976 696e 6720  thout receiving \n+00009f70: 616e 7920 7061 636b 6574 2079 6f75 7273  any packet yours\n+00009f80: 656c 662e 0a0a 4558 414d 504c 450a 2020  elf...EXAMPLE.  \n+00009f90: 2020 2020 2020 2020 6465 636c 6172 650a          declare.\n+00009fa0: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n+00009fb0: 6b20 3a20 4d75 6c74 6963 6173 745f 536f  k : Multicast_So\n+00009fc0: 636b 6574 5f46 443b 0a20 2020 2020 2020  cket_FD;.       \n+00009fd0: 2020 2062 6567 696e 0a20 2020 2020 2020     begin.       \n+00009fe0: 2020 2020 2020 2d2d 2043 7265 6174 6520        -- Create \n+00009ff0: 6120 6d75 6c74 6963 6173 7420 736f 636b  a multicast sock\n+0000a000: 6574 206f 6e20 6772 6f75 7020 3232 342e  et on group 224.\n+0000a010: 312e 322e 3320 706f 7274 2038 3736 330a  1.2.3 port 8763.\n+0000a020: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n+0000a030: 6b20 3a3d 2043 7265 6174 655f 4d75 6c74  k := Create_Mult\n+0000a040: 6963 6173 745f 536f 636b 6574 2028 2232  icast_Socket (\"2\n+0000a050: 3234 2e31 2e32 2e33 222c 2038 3736 3329  24.1.2.3\", 8763)\n+0000a060: 3b0a 2020 2020 2020 2020 2020 2020 202d  ;.             -\n+0000a070: 2d20 5065 7266 6f72 6d20 736f 6d65 206f  - Perform some o\n+0000a080: 7065 7261 7469 6f6e 7320 6f6e 2073 6f63  perations on soc\n+0000a090: 6b65 740a 2020 2020 2020 2020 2020 2020  ket.            \n+0000a0a0: 205b 2e2e 2e5d 0a20 2020 2020 2020 2020   [...].         \n+0000a0b0: 2020 2020 2d2d 2053 6875 7464 6f77 6e20      -- Shutdown \n+0000a0c0: 7468 6520 736f 636b 6574 2069 6e20 626f  the socket in bo\n+0000a0d0: 7468 2064 6972 6563 7469 6f6e 730a 2020  th directions.  \n+0000a0e0: 2020 2020 2020 2020 2020 2053 6875 7464             Shutd\n+0000a0f0: 6f77 6e20 2853 6f63 6b2c 2042 6f74 6829  own (Sock, Both)\n+0000a100: 3b0a 2020 2020 2020 2020 2020 656e 643b  ;.          end;\n+0000a110: 0a0a 5345 4520 414c 534f 0a20 2020 2020  ..SEE ALSO.     \n+0000a120: 2a6e 6f74 6520 5365 6e64 2028 7072 6f63  *note Send (proc\n+0000a130: 6564 7572 6529 3a3a 2c0a 2020 2020 202a  edure)::,.     *\n+0000a140: 6e6f 7465 2053 6875 7464 6f77 6e20 2870  note Shutdown (p\n+0000a150: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a  rocedure)::.....\n+0000a160: 4669 6c65 3a20 6164 6173 6f63 6b65 7473  File: adasockets\n+0000a170: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 536f  .info,  Node: So\n+0000a180: 636b 6574 732e 4e61 6d69 6e67 2070 6163  ckets.Naming pac\n+0000a190: 6b61 6765 2c20 204e 6578 743a 2043 6f6e  kage,  Next: Con\n+0000a1a0: 7472 6962 7574 6f72 732c 2020 5072 6576  tributors,  Prev\n+0000a1b0: 3a20 536f 636b 6574 732e 4d75 6c74 6963  : Sockets.Multic\n+0000a1c0: 6173 7420 7061 636b 6167 652c 2020 5570  ast package,  Up\n+0000a1d0: 3a20 546f 700a 0a36 2053 6f63 6b65 7473  : Top..6 Sockets\n+0000a1e0: 2e4e 616d 696e 6720 7061 636b 6167 650a  .Naming package.\n+0000a1f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n+0000a200: 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 e280  ********..The ..\n+0000a210: 9853 6f63 6b65 7473 2e4e 616d 696e 67e2  .Sockets.Naming.\n+0000a220: 8099 2070 6163 6b61 6765 2063 6f6e 7461  .. package conta\n+0000a230: 696e 7320 7479 7065 7320 616e 6420 6865  ins types and he\n+0000a240: 6c70 6572 2066 756e 6374 696f 6e73 206e  lper functions n\n+0000a250: 6565 6465 640a 746f 206d 616e 6970 756c  eeded.to manipul\n+0000a260: 6174 6520 496e 7465 726e 6574 2068 6f73  ate Internet hos\n+0000a270: 7420 6e61 6d65 7320 616e 6420 6164 6472  t names and addr\n+0000a280: 6573 7365 732e 0a0a 202d 2d20 536f 636b  esses... -- Sock\n+0000a290: 6574 732e 4e61 6d69 6e67 2e41 6464 7265  ets.Naming.Addre\n+0000a2a0: 7373 3a20 7479 7065 2041 6464 7265 7373  ss: type Address\n+0000a2b0: 2069 7320 7265 636f 7264 0a20 2020 2020   is record.     \n+0000a2c0: 2020 2020 2020 4831 2c20 4832 2c20 4833        H1, H2, H3\n+0000a2d0: 2c20 4834 203a 2041 6464 7265 7373 5f43  , H4 : Address_C\n+0000a2e0: 6f6d 706f 6e65 6e74 3b0a 2020 2020 2020  omponent;.      \n+0000a2f0: 2020 2020 656e 6420 7265 636f 7264 3b0a      end record;.\n+0000a300: 2020 2020 2054 6869 7320 7479 7065 2072       This type r\n+0000a310: 6570 7265 7365 6e74 7320 616e 2049 5076  epresents an IPv\n+0000a320: 3420 6164 6472 6573 7320 7769 7468 20e2  4 address with .\n+0000a330: 8098 4831 e280 9920 6265 696e 6720 7468  ..H1... being th\n+0000a340: 6520 6669 7273 740a 2020 2020 206f 6374  e first.     oct\n+0000a350: 6574 2061 6e64 20e2 8098 4834 e280 9920  et and ...H4... \n+0000a360: 7468 6520 6c61 7374 206f 6e65 2e20 2046  the last one.  F\n+0000a370: 6f72 2065 7861 6d70 6c65 2c20 3133 372e  or example, 137.\n+0000a380: 3139 342e 3136 312e 3220 6973 0a20 2020  194.161.2 is.   \n+0000a390: 2020 7265 7072 6573 656e 7465 6420 6279    represented by\n+0000a3a0: 20e2 8098 4831 3d31 3337 2c20 4832 3d31   ...H1=137, H2=1\n+0000a3b0: 3934 2c20 4833 3d31 3631 2c20 4834 3d32  94, H3=161, H4=2\n+0000a3c0: e280 992e 0a0a 202d 2d20 536f 636b 6574  ...... -- Socket\n+0000a3d0: 732e 4e61 6d69 6e67 2e41 6464 7265 7373  s.Naming.Address\n+0000a3e0: 5f41 7272 6179 3a20 7479 7065 2041 6464  _Array: type Add\n+0000a3f0: 7265 7373 5f41 7272 6179 2069 7320 6172  ress_Array is ar\n+0000a400: 7261 7920 2850 6f73 6974 6976 650a 2020  ray (Positive.  \n+0000a410: 2020 2020 2020 2020 7261 6e67 6520 3c3e          range <>\n+0000a420: 2920 6f66 2041 6464 7265 7373 3b0a 2020  ) of Address;.  \n+0000a430: 2020 2048 656c 7065 7220 7479 7065 0a0a     Helper type..\n+0000a440: 202d 2d20 536f 636b 6574 732e 4e61 6d69   -- Sockets.Nami\n+0000a450: 6e67 2e41 6464 7265 7373 5f43 6f6d 706f  ng.Address_Compo\n+0000a460: 6e65 6e74 3a20 7479 7065 2041 6464 7265  nent: type Addre\n+0000a470: 7373 5f43 6f6d 706f 6e65 6e74 2069 7320  ss_Component is \n+0000a480: 4e61 7475 7261 6c0a 2020 2020 2020 2020  Natural.        \n+0000a490: 2020 7261 6e67 6520 3020 2e2e 2032 3535    range 0 .. 255\n+0000a4a0: 3b0a 2020 2020 2048 656c 7065 7220 7479  ;.     Helper ty\n+0000a4b0: 7065 0a0a 202d 2d20 536f 636b 6574 732e  pe.. -- Sockets.\n+0000a4c0: 4e61 6d69 6e67 2e48 6f73 745f 456e 7472  Naming.Host_Entr\n+0000a4d0: 793a 2074 7970 6520 486f 7374 5f45 6e74  y: type Host_Ent\n+0000a4e0: 7279 2028 4e5f 416c 6961 7365 732c 204e  ry (N_Aliases, N\n+0000a4f0: 5f41 6464 7265 7373 6573 203a 0a20 2020  _Addresses :.   \n+0000a500: 2020 2020 2020 204e 6174 7572 616c 2920         Natural) \n+0000a510: 6973 206e 6577 2041 6461 2e46 696e 616c  is new Ada.Final\n+0000a520: 697a 6174 696f 6e2e 436f 6e74 726f 6c6c  ization.Controll\n+0000a530: 6564 2077 6974 6820 7265 636f 7264 0a20  ed with record. \n+0000a540: 2020 2020 2020 2020 2020 204e 616d 6520             Name \n+0000a550: 3a20 5374 7269 6e67 5f41 6363 6573 733b  : String_Access;\n+0000a560: 0a20 2020 2020 2020 2020 2020 2041 6c69  .            Ali\n+0000a570: 6173 6573 203a 2053 7472 696e 675f 4172  ases : String_Ar\n+0000a580: 7261 7920 2831 202e 2e20 4e5f 416c 6961  ray (1 .. N_Alia\n+0000a590: 7365 7329 3b0a 2020 2020 2020 2020 2020  ses);.          \n+0000a5a0: 2020 4164 6472 6573 7365 7320 3a20 4164    Addresses : Ad\n+0000a5b0: 6472 6573 735f 4172 7261 7920 2831 202e  dress_Array (1 .\n+0000a5c0: 2e20 4e5f 4164 6472 6573 7365 7329 3b0a  . N_Addresses);.\n+0000a5d0: 2020 2020 2020 2020 2020 656e 6420 7265            end re\n+0000a5e0: 636f 7264 3b0a 2020 2020 2054 6865 20e2  cord;.     The .\n+0000a5f0: 8098 486f 7374 5f45 6e74 7279 e280 9920  ..Host_Entry... \n+0000a600: 7479 7065 2068 6f6c 6473 2061 2073 6574  type holds a set\n+0000a610: 206f 6620 6e61 6d65 7320 616e 6420 4950   of names and IP\n+0000a620: 2061 6464 7265 7373 6573 0a20 2020 2020   addresses.     \n+0000a630: 6173 736f 6369 6174 6564 2077 6974 6820  associated with \n+0000a640: 6120 686f 7374 2e20 2045 6163 6820 686f  a host.  Each ho\n+0000a650: 7374 2063 616e 2068 6176 6520 7365 7665  st can have seve\n+0000a660: 7261 6c20 4950 2061 6464 7265 7373 2061  ral IP address a\n+0000a670: 730a 2020 2020 2077 656c 6c20 6173 2073  s.     well as s\n+0000a680: 6576 6572 616c 2061 6c69 6173 6573 2e0a  everal aliases..\n+0000a690: 0a20 2d2d 2053 6f63 6b65 7473 2e4e 616d  . -- Sockets.Nam\n+0000a6a0: 696e 672e 5374 7269 6e67 5f41 6363 6573  ing.String_Acces\n+0000a6b0: 733a 2074 7970 6520 5374 7269 6e67 5f41  s: type String_A\n+0000a6c0: 6363 6573 7320 6973 2061 6363 6573 7320  ccess is access \n+0000a6d0: 5374 7269 6e67 3b0a 2020 2020 2048 656c  String;.     Hel\n+0000a6e0: 7065 7220 7479 7065 0a0a 202d 2d20 536f  per type.. -- So\n+0000a6f0: 636b 6574 732e 4e61 6d69 6e67 2e53 7472  ckets.Naming.Str\n+0000a700: 696e 675f 4172 7261 793a 2074 7970 6520  ing_Array: type \n+0000a710: 5374 7269 6e67 5f41 7272 6179 2069 7320  String_Array is \n+0000a720: 6172 7261 7920 2850 6f73 6974 6976 650a  array (Positive.\n+0000a730: 2020 2020 2020 2020 2020 7261 6e67 6520            range \n+0000a740: 3c3e 2920 6f66 2053 7472 696e 675f 4163  <>) of String_Ac\n+0000a750: 6365 7373 3b0a 2020 2020 2048 656c 7065  cess;.     Helpe\n+0000a760: 7220 7479 7065 0a0a 2a20 4d65 6e75 3a0a  r type..* Menu:.\n+0000a770: 0a2a 2041 6464 7265 7373 5f4f 6620 2866  .* Address_Of (f\n+0000a780: 756e 6374 696f 6e29 3a3a 0a20 2020 2020  unction)::.     \n+0000a790: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000a7a0: 2020 2047 6574 2074 6865 2049 5020 6164     Get the IP ad\n+0000a7b0: 6472 6573 7320 6f66 2061 2068 6f73 740a  dress of a host.\n+0000a7c0: 2a20 416e 795f 4164 6472 6573 7320 2866  * Any_Address (f\n+0000a7d0: 756e 6374 696f 6e29 3a3a 0a20 2020 2020  unction)::.     \n+0000a7e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000a7f0: 2020 2053 7065 6369 616c 2061 6464 7265     Special addre\n+0000a800: 7373 2072 6570 7265 7365 6e74 696e 6720  ss representing \n+0000a810: 616e 7920 6164 6472 6573 7320 6f6e 2074  any address on t\n+0000a820: 6865 206c 6f63 616c 2068 6f73 740a 2a20  he local host.* \n+0000a830: 4765 745f 5065 6572 5f41 6464 7220 2866  Get_Peer_Addr (f\n+0000a840: 756e 6374 696f 6e29 3a3a 0a20 2020 2020  unction)::.     \n+0000a850: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000a860: 2020 2052 6574 7269 6576 6520 4950 2061     Retrieve IP a\n+0000a870: 6464 7265 7373 206f 6620 7265 6d6f 7465  ddress of remote\n+0000a880: 2068 6f73 740a 2a20 4765 745f 5065 6572   host.* Get_Peer\n+0000a890: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n+0000a8a0: 3a3a 0a20 2020 2020 2020 2020 2020 2020  ::.             \n+0000a8b0: 2020 2020 2020 2020 2020 2052 6574 7269             Retri\n+0000a8c0: 6576 6520 706f 7274 2075 7365 6420 6279  eve port used by\n+0000a8d0: 2072 656d 6f74 6520 686f 7374 0a2a 2047   remote host.* G\n+0000a8e0: 6574 5f53 6f63 6b5f 4164 6472 2028 6675  et_Sock_Addr (fu\n+0000a8f0: 6e63 7469 6f6e 293a 3a0a 2020 2020 2020  nction)::.      \n+0000a900: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000a910: 2020 5265 7472 6965 7665 2049 5020 6164    Retrieve IP ad\n+0000a920: 6472 6573 7320 6f66 206c 6f63 616c 2068  dress of local h\n+0000a930: 6f73 740a 2a20 4765 745f 536f 636b 5f50  ost.* Get_Sock_P\n+0000a940: 6f72 7420 2866 756e 6374 696f 6e29 3a3a  ort (function)::\n+0000a950: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000a960: 2020 2020 2020 2020 2052 6574 7269 6576           Retriev\n+0000a970: 6520 706f 7274 2075 7365 6420 6279 206c  e port used by l\n+0000a980: 6f63 616c 2068 6f73 740a 2a20 486f 7374  ocal host.* Host\n+0000a990: 5f4e 616d 6520 2866 756e 6374 696f 6e29  _Name (function)\n+0000a9a0: 3a3a 0a20 2020 2020 2020 2020 2020 2020  ::.             \n+0000a9b0: 2020 2020 2020 2020 2020 2047 6574 2074             Get t\n+0000a9c0: 6865 206e 616d 6520 6f66 2074 6865 2063  he name of the c\n+0000a9d0: 7572 7265 6e74 2068 6f73 740a 2a20 496d  urrent host.* Im\n+0000a9e0: 6167 6520 2866 756e 6374 696f 6e29 3a3a  age (function)::\n+0000a9f0: 2020 2020 4d61 6b65 2061 2073 7472 696e      Make a strin\n+0000aa00: 6720 6672 6f6d 2061 6e20 6164 6472 6573  g from an addres\n+0000aa10: 730a 2a20 496e 666f 5f4f 665f 4e61 6d65  s.* Info_Of_Name\n+0000aa20: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e  _Or_IP (function\n+0000aa30: 293a 3a0a 2020 2020 2020 2020 2020 2020  )::.            \n+0000aa40: 2020 2020 2020 2020 2020 2020 4765 7420              Get \n+0000aa50: 6164 6472 6573 7365 7320 616e 6420 6e61  addresses and na\n+0000aa60: 6d65 7320 6f66 2061 2068 6f73 740a 2a20  mes of a host.* \n+0000aa70: 4973 5f49 505f 4164 6472 6573 7320 2866  Is_IP_Address (f\n+0000aa80: 756e 6374 696f 6e29 3a3a 0a20 2020 2020  unction)::.     \n+0000aa90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000aaa0: 2020 2043 6865 636b 2069 6620 6769 7665     Check if give\n+0000aab0: 6e20 7374 7269 6e67 2069 7320 6120 7661  n string is a va\n+0000aac0: 6c69 6420 4950 2061 6464 7265 7373 0a2a  lid IP address.*\n+0000aad0: 204e 616d 655f 4f66 2028 6675 6e63 7469   Name_Of (functi\n+0000aae0: 6f6e 293a 3a20 204f 6666 6963 6961 6c20  on)::  Official \n+0000aaf0: 6e61 6d65 206f 6620 7468 6520 686f 7374  name of the host\n+0000ab00: 0a2a 2056 616c 7565 2028 6675 6e63 7469  .* Value (functi\n+0000ab10: 6f6e 293a 3a20 2020 2054 7261 6e73 666f  on)::    Transfo\n+0000ab20: 726d 2061 2073 7472 696e 6720 696e 746f  rm a string into\n+0000ab30: 2061 6e20 6164 6472 6573 730a 0a1f 0a46   an address....F\n+0000ab40: 696c 653a 2061 6461 736f 636b 6574 732e  ile: adasockets.\n+0000ab50: 696e 666f 2c20 204e 6f64 653a 2041 6464  info,  Node: Add\n+0000ab60: 7265 7373 5f4f 6620 2866 756e 6374 696f  ress_Of (functio\n+0000ab70: 6e29 2c20 204e 6578 743a 2041 6e79 5f41  n),  Next: Any_A\n+0000ab80: 6464 7265 7373 2028 6675 6e63 7469 6f6e  ddress (function\n+0000ab90: 292c 2020 5570 3a20 536f 636b 6574 732e  ),  Up: Sockets.\n+0000aba0: 4e61 6d69 6e67 2070 6163 6b61 6765 0a0a  Naming package..\n+0000abb0: 4164 6472 6573 735f 4f66 2028 6675 6e63  Address_Of (func\n+0000abc0: 7469 6f6e 290a 3d3d 3d3d 3d3d 3d3d 3d3d  tion).==========\n+0000abd0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a50 5552  ===========..PUR\n+0000abe0: 504f 5345 0a20 2020 2020 4765 7420 7468  POSE.     Get th\n+0000abf0: 6520 4950 2061 6464 7265 7373 206f 6620  e IP address of \n+0000ac00: 6120 686f 7374 0a50 524f 544f 5459 5045  a host.PROTOTYPE\n+0000ac10: 0a20 2020 2020 202d 2d20 536f 636b 6574  .      -- Socket\n+0000ac20: 732e 4e61 6d69 6e67 2e41 6464 7265 7373  s.Naming.Address\n+0000ac30: 5f4f 663a 2066 756e 6374 696f 6e20 4164  _Of: function Ad\n+0000ac40: 6472 6573 735f 4f66 0a20 2020 2020 2020  dress_Of.       \n+0000ac50: 2020 2020 2020 2020 2853 4f4d 4554 4849          (SOMETHI\n+0000ac60: 4e47 203a 2053 7472 696e 6729 0a20 2020  NG : String).   \n+0000ac70: 2020 2020 2020 2020 2020 2020 7265 7475              retu\n+0000ac80: 726e 2041 6464 7265 7373 3b0a 0a50 4152  rn Address;..PAR\n+0000ac90: 414d 4554 4552 530a 2020 2020 2053 4f4d  AMETERS.     SOM\n+0000aca0: 4554 4849 4e47 2020 696e 2020 2020 2020  ETHING  in      \n+0000acb0: 2020 2048 6f73 7420 6e61 6d65 206f 7220     Host name or \n+0000acc0: 4950 2061 6464 7265 7373 0a0a 5245 5455  IP address..RETU\n+0000acd0: 524e 2056 414c 5545 0a20 2020 2020 4950  RN VALUE.     IP\n+0000ace0: 7634 2061 6464 7265 7373 0a0a 4558 4345  v4 address..EXCE\n+0000acf0: 5054 494f 4e53 0a20 2020 2020 e280 984e  PTIONS.     ...N\n+0000ad00: 616d 696e 675f 4572 726f 72e2 8099 2020  aming_Error...  \n+0000ad10: 2020 204e 6f20 696e 666f 726d 6174 696f     No informatio\n+0000ad20: 6e20 6176 6169 6c61 626c 6520 666f 7220  n available for \n+0000ad30: 7468 6973 206e 616d 6520 6f72 0a20 2020  this name or.   \n+0000ad40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ad50: 2020 2020 2061 6464 7265 7373 0a0a 5345       address..SE\n+0000ad60: 4520 414c 534f 0a20 2020 2020 2a6e 6f74  E ALSO.     *not\n+0000ad70: 6520 4e61 6d65 5f4f 6620 2866 756e 6374  e Name_Of (funct\n+0000ad80: 696f 6e29 3a3a 2e0a 0a2a 204d 656e 753a  ion)::...* Menu:\n+0000ad90: 0a0a 2a20 416e 795f 4164 6472 6573 7320  ..* Any_Address \n+0000ada0: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047  (function)::.* G\n+0000adb0: 6574 5f50 6565 725f 4164 6472 2028 6675  et_Peer_Addr (fu\n+0000adc0: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f  nction)::.* Get_\n+0000add0: 5065 6572 5f50 6f72 7420 2866 756e 6374  Peer_Port (funct\n+0000ade0: 696f 6e29 3a3a 0a2a 2047 6574 5f53 6f63  ion)::.* Get_Soc\n+0000adf0: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e  k_Addr (function\n+0000ae00: 293a 3a0a 2a20 4765 745f 536f 636b 5f50  )::.* Get_Sock_P\n+0000ae10: 6f72 7420 2866 756e 6374 696f 6e29 3a3a  ort (function)::\n+0000ae20: 0a2a 2048 6f73 745f 4e61 6d65 2028 6675  .* Host_Name (fu\n+0000ae30: 6e63 7469 6f6e 293a 3a0a 2a20 496d 6167  nction)::.* Imag\n+0000ae40: 6520 2866 756e 6374 696f 6e29 3a3a 0a2a  e (function)::.*\n+0000ae50: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72   Info_Of_Name_Or\n+0000ae60: 5f49 5020 2866 756e 6374 696f 6e29 3a3a  _IP (function)::\n+0000ae70: 0a2a 2049 735f 4950 5f41 6464 7265 7373  .* Is_IP_Address\n+0000ae80: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20   (function)::.* \n+0000ae90: 4e61 6d65 5f4f 6620 2866 756e 6374 696f  Name_Of (functio\n+0000aea0: 6e29 3a3a 0a2a 2056 616c 7565 2028 6675  n)::.* Value (fu\n+0000aeb0: 6e63 7469 6f6e 293a 3a0a 0a1f 0a46 696c  nction)::....Fil\n+0000aec0: 653a 2061 6461 736f 636b 6574 732e 696e  e: adasockets.in\n+0000aed0: 666f 2c20 204e 6f64 653a 2041 6e79 5f41  fo,  Node: Any_A\n+0000aee0: 6464 7265 7373 2028 6675 6e63 7469 6f6e  ddress (function\n+0000aef0: 292c 2020 4e65 7874 3a20 4765 745f 5065  ),  Next: Get_Pe\n+0000af00: 6572 5f41 6464 7220 2866 756e 6374 696f  er_Addr (functio\n+0000af10: 6e29 2c20 2050 7265 763a 2041 6464 7265  n),  Prev: Addre\n+0000af20: 7373 5f4f 6620 2866 756e 6374 696f 6e29  ss_Of (function)\n+0000af30: 2c20 2055 703a 2041 6464 7265 7373 5f4f  ,  Up: Address_O\n+0000af40: 6620 2866 756e 6374 696f 6e29 0a0a 416e  f (function)..An\n+0000af50: 795f 4164 6472 6573 7320 2866 756e 6374  y_Address (funct\n+0000af60: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ion).-----------\n+0000af70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552  -----------..PUR\n+0000af80: 504f 5345 0a20 2020 2020 5370 6563 6961  POSE.     Specia\n+0000af90: 6c20 6164 6472 6573 7320 7265 7072 6573  l address repres\n+0000afa0: 656e 7469 6e67 2061 6e79 2061 6464 7265  enting any addre\n+0000afb0: 7373 206f 6e20 7468 6520 6c6f 6361 6c20  ss on the local \n+0000afc0: 686f 7374 0a50 524f 544f 5459 5045 0a20  host.PROTOTYPE. \n+0000afd0: 2020 2020 202d 2d20 536f 636b 6574 732e       -- Sockets.\n+0000afe0: 4e61 6d69 6e67 2e41 6e79 5f41 6464 7265  Naming.Any_Addre\n+0000aff0: 7373 3a20 6675 6e63 7469 6f6e 2041 6e79  ss: function Any\n+0000b000: 5f41 6464 7265 7373 0a0a 5245 5455 524e  _Address..RETURN\n+0000b010: 2056 414c 5545 0a20 2020 2020 4571 7569   VALUE.     Equi\n+0000b020: 7661 6c65 6e74 2074 6f20 e280 9849 4e41  valent to ...INA\n+0000b030: 4444 525f 414e 59e2 8099 2069 6e20 7468  DDR_ANY... in th\n+0000b040: 6520 4320 7072 6f67 7261 6d6d 696e 6720  e C programming \n+0000b050: 6c61 6e67 7561 6765 0a0a 1f0a 4669 6c65  language....File\n+0000b060: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66  : adasockets.inf\n+0000b070: 6f2c 2020 4e6f 6465 3a20 4765 745f 5065  o,  Node: Get_Pe\n+0000b080: 6572 5f41 6464 7220 2866 756e 6374 696f  er_Addr (functio\n+0000b090: 6e29 2c20 204e 6578 743a 2047 6574 5f50  n),  Next: Get_P\n+0000b0a0: 6565 725f 506f 7274 2028 6675 6e63 7469  eer_Port (functi\n+0000b0b0: 6f6e 292c 2020 5072 6576 3a20 416e 795f  on),  Prev: Any_\n+0000b0c0: 4164 6472 6573 7320 2866 756e 6374 696f  Address (functio\n+0000b0d0: 6e29 2c20 2055 703a 2041 6464 7265 7373  n),  Up: Address\n+0000b0e0: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a  _Of (function)..\n+0000b0f0: 4765 745f 5065 6572 5f41 6464 7220 2866  Get_Peer_Addr (f\n+0000b100: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d  unction).-------\n+0000b110: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+0000b120: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n+0000b130: 5265 7472 6965 7665 2049 5020 6164 6472  Retrieve IP addr\n+0000b140: 6573 7320 6f66 2072 656d 6f74 6520 686f  ess of remote ho\n+0000b150: 7374 0a50 524f 544f 5459 5045 0a20 2020  st.PROTOTYPE.   \n+0000b160: 2020 202d 2d20 536f 636b 6574 732e 4e61     -- Sockets.Na\n+0000b170: 6d69 6e67 2e47 6574 5f50 6565 725f 4164  ming.Get_Peer_Ad\n+0000b180: 6472 3a20 6675 6e63 7469 6f6e 2047 6574  dr: function Get\n+0000b190: 5f50 6565 725f 4164 6472 0a20 2020 2020  _Peer_Addr.     \n+0000b1a0: 2020 2020 2020 2020 2020 2853 4f43 4b45            (SOCKE\n+0000b1b0: 5420 3a20 536f 636b 6574 5f46 4429 0a20  T : Socket_FD). \n+0000b1c0: 2020 2020 2020 2020 2020 2020 2020 7265                re\n+0000b1d0: 7475 726e 2041 6464 7265 7373 3b0a 0a50  turn Address;..P\n+0000b1e0: 4152 414d 4554 4552 530a 2020 2020 2053  ARAMETERS.     S\n+0000b1f0: 4f43 4b45 5420 2020 2020 696e 2020 2020  OCKET     in    \n+0000b200: 2020 2020 2043 6f6e 6e65 6374 6564 2073       Connected s\n+0000b210: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245  ocket object..RE\n+0000b220: 5455 524e 2056 414c 5545 0a20 2020 2020  TURN VALUE.     \n+0000b230: 5065 6572 2061 6464 7265 7373 0a0a 5345  Peer address..SE\n+0000b240: 4520 414c 534f 0a20 2020 2020 2a6e 6f74  E ALSO.     *not\n+0000b250: 6520 4765 745f 5065 6572 5f50 6f72 7420  e Get_Peer_Port \n+0000b260: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020  (function)::,.  \n+0000b270: 2020 202a 6e6f 7465 2047 6574 5f53 6f63     *note Get_Soc\n+0000b280: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e  k_Addr (function\n+0000b290: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164  )::.....File: ad\n+0000b2a0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n+0000b2b0: 4e6f 6465 3a20 4765 745f 5065 6572 5f50  Node: Get_Peer_P\n+0000b2c0: 6f72 7420 2866 756e 6374 696f 6e29 2c20  ort (function), \n+0000b2d0: 204e 6578 743a 2047 6574 5f53 6f63 6b5f   Next: Get_Sock_\n+0000b2e0: 4164 6472 2028 6675 6e63 7469 6f6e 292c  Addr (function),\n+0000b2f0: 2020 5072 6576 3a20 4765 745f 5065 6572    Prev: Get_Peer\n+0000b300: 5f41 6464 7220 2866 756e 6374 696f 6e29  _Addr (function)\n+0000b310: 2c20 2055 703a 2041 6464 7265 7373 5f4f  ,  Up: Address_O\n+0000b320: 6620 2866 756e 6374 696f 6e29 0a0a 4765  f (function)..Ge\n+0000b330: 745f 5065 6572 5f50 6f72 7420 2866 756e  t_Peer_Port (fun\n+0000b340: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d  ction).---------\n+0000b350: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a  ---------------.\n+0000b360: 0a50 5552 504f 5345 0a20 2020 2020 5265  .PURPOSE.     Re\n+0000b370: 7472 6965 7665 2070 6f72 7420 7573 6564  trieve port used\n+0000b380: 2062 7920 7265 6d6f 7465 2068 6f73 740a   by remote host.\n+0000b390: 5052 4f54 4f54 5950 450a 2020 2020 2020  PROTOTYPE.      \n+0000b3a0: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e  -- Sockets.Namin\n+0000b3b0: 672e 4765 745f 5065 6572 5f50 6f72 743a  g.Get_Peer_Port:\n+0000b3c0: 2066 756e 6374 696f 6e20 4765 745f 5065   function Get_Pe\n+0000b3d0: 6572 5f50 6f72 740a 2020 2020 2020 2020  er_Port.        \n+0000b3e0: 2020 2020 2020 2028 534f 434b 4554 203a         (SOCKET :\n+0000b3f0: 2053 6f63 6b65 745f 4644 290a 2020 2020   Socket_FD).    \n+0000b400: 2020 2020 2020 2020 2020 2072 6574 7572             retur\n+0000b410: 6e20 506f 7369 7469 7665 3b0a 0a50 4152  n Positive;..PAR\n+0000b420: 414d 4554 4552 530a 2020 2020 2053 4f43  AMETERS.     SOC\n+0000b430: 4b45 5420 2020 2020 696e 2020 2020 2020  KET     in      \n+0000b440: 2020 2043 6f6e 6e65 6374 6564 2073 6f63     Connected soc\n+0000b450: 6b65 7420 6f62 6a65 6374 0a0a 5245 5455  ket object..RETU\n+0000b460: 524e 2056 414c 5545 0a20 2020 2020 506f  RN VALUE.     Po\n+0000b470: 7274 2075 7365 6420 6f6e 2074 6865 2072  rt used on the r\n+0000b480: 656d 6f74 6520 686f 7374 0a0a 5345 4520  emote host..SEE \n+0000b490: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n+0000b4a0: 4765 745f 536f 636b 5f50 6f72 7420 2866  Get_Sock_Port (f\n+0000b4b0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020  unction)::,.    \n+0000b4c0: 202a 6e6f 7465 2047 6574 5f50 6565 725f   *note Get_Peer_\n+0000b4d0: 4164 6472 2028 6675 6e63 7469 6f6e 293a  Addr (function):\n+0000b4e0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173  :.....File: adas\n+0000b4f0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n+0000b500: 6465 3a20 4765 745f 536f 636b 5f41 6464  de: Get_Sock_Add\n+0000b510: 7220 2866 756e 6374 696f 6e29 2c20 204e  r (function),  N\n+0000b520: 6578 743a 2047 6574 5f53 6f63 6b5f 506f  ext: Get_Sock_Po\n+0000b530: 7274 2028 6675 6e63 7469 6f6e 292c 2020  rt (function),  \n+0000b540: 5072 6576 3a20 4765 745f 5065 6572 5f50  Prev: Get_Peer_P\n+0000b550: 6f72 7420 2866 756e 6374 696f 6e29 2c20  ort (function), \n+0000b560: 2055 703a 2041 6464 7265 7373 5f4f 6620   Up: Address_Of \n+0000b570: 2866 756e 6374 696f 6e29 0a0a 4765 745f  (function)..Get_\n+0000b580: 536f 636b 5f41 6464 7220 2866 756e 6374  Sock_Addr (funct\n+0000b590: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ion).-----------\n+0000b5a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n+0000b5b0: 5552 504f 5345 0a20 2020 2020 5265 7472  URPOSE.     Retr\n+0000b5c0: 6965 7665 2049 5020 6164 6472 6573 7320  ieve IP address \n+0000b5d0: 6f66 206c 6f63 616c 2068 6f73 740a 5052  of local host.PR\n+0000b5e0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d  OTOTYPE.      --\n+0000b5f0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e   Sockets.Naming.\n+0000b600: 4765 745f 536f 636b 5f41 6464 723a 2066  Get_Sock_Addr: f\n+0000b610: 756e 6374 696f 6e20 4765 745f 536f 636b  unction Get_Sock\n+0000b620: 5f41 6464 720a 2020 2020 2020 2020 2020  _Addr.          \n+0000b630: 2020 2020 2028 534f 434b 4554 203a 2053       (SOCKET : S\n+0000b640: 6f63 6b65 745f 4644 290a 2020 2020 2020  ocket_FD).      \n+0000b650: 2020 2020 2020 2020 2072 6574 7572 6e20           return \n+0000b660: 4164 6472 6573 733b 0a0a 5041 5241 4d45  Address;..PARAME\n+0000b670: 5445 5253 0a20 2020 2020 534f 434b 4554  TERS.     SOCKET\n+0000b680: 2020 2020 2069 6e20 2020 2020 2020 2020       in         \n+0000b690: 436f 6e6e 6563 7465 6420 736f 636b 6574  Connected socket\n+0000b6a0: 206f 626a 6563 740a 0a52 4554 5552 4e20   object..RETURN \n+0000b6b0: 5641 4c55 450a 2020 2020 2041 6464 7265  VALUE.     Addre\n+0000b6c0: 7373 206f 6620 6c6f 6361 6c20 696e 7465  ss of local inte\n+0000b6d0: 7266 6163 6520 7573 6564 0a0a 5345 4520  rface used..SEE \n+0000b6e0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520  ALSO.     *note \n+0000b6f0: 4765 745f 536f 636b 5f50 6f72 7420 2866  Get_Sock_Port (f\n+0000b700: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020  unction)::,.    \n+0000b710: 202a 6e6f 7465 2047 6574 5f50 6565 725f   *note Get_Peer_\n+0000b720: 4164 6472 2028 6675 6e63 7469 6f6e 293a  Addr (function):\n+0000b730: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173  :.....File: adas\n+0000b740: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n+0000b750: 6465 3a20 4765 745f 536f 636b 5f50 6f72  de: Get_Sock_Por\n+0000b760: 7420 2866 756e 6374 696f 6e29 2c20 204e  t (function),  N\n+0000b770: 6578 743a 2048 6f73 745f 4e61 6d65 2028  ext: Host_Name (\n+0000b780: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n+0000b790: 3a20 4765 745f 536f 636b 5f41 6464 7220  : Get_Sock_Addr \n+0000b7a0: 2866 756e 6374 696f 6e29 2c20 2055 703a  (function),  Up:\n+0000b7b0: 2041 6464 7265 7373 5f4f 6620 2866 756e   Address_Of (fun\n+0000b7c0: 6374 696f 6e29 0a0a 4765 745f 536f 636b  ction)..Get_Sock\n+0000b7d0: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n+0000b7e0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  .---------------\n+0000b7f0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f  ---------..PURPO\n+0000b800: 5345 0a20 2020 2020 5265 7472 6965 7665  SE.     Retrieve\n+0000b810: 2070 6f72 7420 7573 6564 2062 7920 6c6f   port used by lo\n+0000b820: 6361 6c20 686f 7374 0a50 524f 544f 5459  cal host.PROTOTY\n+0000b830: 5045 0a20 2020 2020 202d 2d20 536f 636b  PE.      -- Sock\n+0000b840: 6574 732e 4e61 6d69 6e67 2e47 6574 5f53  ets.Naming.Get_S\n+0000b850: 6f63 6b5f 506f 7274 3a20 6675 6e63 7469  ock_Port: functi\n+0000b860: 6f6e 2047 6574 5f53 6f63 6b5f 506f 7274  on Get_Sock_Port\n+0000b870: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000b880: 2853 4f43 4b45 5420 3a20 536f 636b 6574  (SOCKET : Socket\n+0000b890: 5f46 4429 0a20 2020 2020 2020 2020 2020  _FD).           \n+0000b8a0: 2020 2020 7265 7475 726e 2050 6f73 6974      return Posit\n+0000b8b0: 6976 653b 0a0a 5041 5241 4d45 5445 5253  ive;..PARAMETERS\n+0000b8c0: 0a20 2020 2020 534f 434b 4554 2020 2020  .     SOCKET    \n+0000b8d0: 2069 6e20 2020 2020 2020 2020 436f 6e6e   in         Conn\n+0000b8e0: 6563 7465 6420 736f 636b 6574 206f 626a  ected socket obj\n+0000b8f0: 6563 740a 0a52 4554 5552 4e20 5641 4c55  ect..RETURN VALU\n+0000b900: 450a 2020 2020 2050 6f72 7420 7573 6564  E.     Port used\n+0000b910: 206f 6e20 7468 6520 6c6f 6361 6c20 686f   on the local ho\n+0000b920: 7374 0a0a 5345 4520 414c 534f 0a20 2020  st..SEE ALSO.   \n+0000b930: 2020 2a6e 6f74 6520 4765 745f 5065 6572    *note Get_Peer\n+0000b940: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n+0000b950: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047  ::,.     *note G\n+0000b960: 6574 5f53 6f63 6b5f 4164 6472 2028 6675  et_Sock_Addr (fu\n+0000b970: 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a 4669  nction)::.....Fi\n+0000b980: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n+0000b990: 6e66 6f2c 2020 4e6f 6465 3a20 486f 7374  nfo,  Node: Host\n+0000b9a0: 5f4e 616d 6520 2866 756e 6374 696f 6e29  _Name (function)\n+0000b9b0: 2c20 204e 6578 743a 2049 6d61 6765 2028  ,  Next: Image (\n+0000b9c0: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n+0000b9d0: 3a20 4765 745f 536f 636b 5f50 6f72 7420  : Get_Sock_Port \n+0000b9e0: 2866 756e 6374 696f 6e29 2c20 2055 703a  (function),  Up:\n+0000b9f0: 2041 6464 7265 7373 5f4f 6620 2866 756e   Address_Of (fun\n+0000ba00: 6374 696f 6e29 0a0a 486f 7374 5f4e 616d  ction)..Host_Nam\n+0000ba10: 6520 2866 756e 6374 696f 6e29 0a2d 2d2d  e (function).---\n+0000ba20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+0000ba30: 2d0a 0a50 5552 504f 5345 0a20 2020 2020  -..PURPOSE.     \n+0000ba40: 4765 7420 7468 6520 6e61 6d65 206f 6620  Get the name of \n+0000ba50: 7468 6520 6375 7272 656e 7420 686f 7374  the current host\n+0000ba60: 0a50 524f 544f 5459 5045 0a20 2020 2020  .PROTOTYPE.     \n+0000ba70: 202d 2d20 536f 636b 6574 732e 4e61 6d69   -- Sockets.Nami\n+0000ba80: 6e67 2e48 6f73 745f 4e61 6d65 3a20 6675  ng.Host_Name: fu\n+0000ba90: 6e63 7469 6f6e 2048 6f73 745f 4e61 6d65  nction Host_Name\n+0000baa0: 0a0a 5245 5455 524e 2056 414c 5545 0a20  ..RETURN VALUE. \n+0000bab0: 2020 2020 4e61 6d65 206f 6620 7468 6520      Name of the \n+0000bac0: 6375 7272 656e 7420 686f 7374 0a0a 4445  current host..DE\n+0000bad0: 5343 5249 5054 494f 4e0a 2020 2020 2054  SCRIPTION.     T\n+0000bae0: 6869 7320 6675 6e63 7469 6f6e 2072 6574  his function ret\n+0000baf0: 7572 6e73 2074 6865 206e 616d 6520 6f66  urns the name of\n+0000bb00: 2074 6865 2063 7572 7265 6e74 2068 6f73   the current hos\n+0000bb10: 742e 2020 4465 7065 6e64 696e 6720 6f6e  t.  Depending on\n+0000bb20: 0a20 2020 2020 7468 6520 6c6f 6361 6c20  .     the local \n+0000bb30: 636f 6e66 6967 7572 6174 696f 6e2c 2069  configuration, i\n+0000bb40: 7420 6d61 7920 6f72 206d 6179 206e 6f74  t may or may not\n+0000bb50: 2062 6520 6120 6675 6c6c 7920 7175 616c   be a fully qual\n+0000bb60: 6966 6965 640a 2020 2020 2064 6f6d 6169  ified.     domai\n+0000bb70: 6e20 6e61 6d65 2028 4651 444e 292e 0a0a  n name (FQDN)...\n+0000bb80: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65  ..File: adasocke\n+0000bb90: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20  ts.info,  Node: \n+0000bba0: 496d 6167 6520 2866 756e 6374 696f 6e29  Image (function)\n+0000bbb0: 2c20 204e 6578 743a 2049 6e66 6f5f 4f66  ,  Next: Info_Of\n+0000bbc0: 5f4e 616d 655f 4f72 5f49 5020 2866 756e  _Name_Or_IP (fun\n+0000bbd0: 6374 696f 6e29 2c20 2050 7265 763a 2048  ction),  Prev: H\n+0000bbe0: 6f73 745f 4e61 6d65 2028 6675 6e63 7469  ost_Name (functi\n+0000bbf0: 6f6e 292c 2020 5570 3a20 4164 6472 6573  on),  Up: Addres\n+0000bc00: 735f 4f66 2028 6675 6e63 7469 6f6e 290a  s_Of (function).\n+0000bc10: 0a49 6d61 6765 2028 6675 6e63 7469 6f6e  .Image (function\n+0000bc20: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ).--------------\n+0000bc30: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020  --..PURPOSE.    \n+0000bc40: 204d 616b 6520 6120 7374 7269 6e67 2066   Make a string f\n+0000bc50: 726f 6d20 616e 2061 6464 7265 7373 0a50  rom an address.P\n+0000bc60: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n+0000bc70: 2d20 536f 636b 6574 732e 4e61 6d69 6e67  - Sockets.Naming\n+0000bc80: 2e49 6d61 6765 3a20 6675 6e63 7469 6f6e  .Image: function\n+0000bc90: 2049 6d61 6765 2028 4144 4420 3a20 4164   Image (ADD : Ad\n+0000bca0: 6472 6573 7329 0a20 2020 2020 2020 2020  dress).         \n+0000bcb0: 2020 2020 2020 7265 7475 726e 2053 7472        return Str\n+0000bcc0: 696e 673b 0a0a 5041 5241 4d45 5445 5253  ing;..PARAMETERS\n+0000bcd0: 0a20 2020 2020 4144 4420 2020 2020 2020  .     ADD       \n+0000bce0: 2069 6e20 2020 2020 2020 2020 4950 2061   in         IP a\n+0000bcf0: 6464 7265 7373 0a0a 5245 5455 524e 2056  ddress..RETURN V\n+0000bd00: 414c 5545 0a20 2020 2020 5374 7269 6e67  ALUE.     String\n+0000bd10: 2072 6570 7265 7365 6e74 6174 696f 6e20   representation \n+0000bd20: 6f66 2074 6865 2049 5020 6164 6472 6573  of the IP addres\n+0000bd30: 730a 0a53 4545 2041 4c53 4f0a 2020 2020  s..SEE ALSO.    \n+0000bd40: 202a 6e6f 7465 2056 616c 7565 2028 6675   *note Value (fu\n+0000bd50: 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a 4669  nction)::.....Fi\n+0000bd60: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69  le: adasockets.i\n+0000bd70: 6e66 6f2c 2020 4e6f 6465 3a20 496e 666f  nfo,  Node: Info\n+0000bd80: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028  _Of_Name_Or_IP (\n+0000bd90: 6675 6e63 7469 6f6e 292c 2020 4e65 7874  function),  Next\n+0000bda0: 3a20 4973 5f49 505f 4164 6472 6573 7320  : Is_IP_Address \n+0000bdb0: 2866 756e 6374 696f 6e29 2c20 2050 7265  (function),  Pre\n+0000bdc0: 763a 2049 6d61 6765 2028 6675 6e63 7469  v: Image (functi\n+0000bdd0: 6f6e 292c 2020 5570 3a20 4164 6472 6573  on),  Up: Addres\n+0000bde0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a  s_Of (function).\n+0000bdf0: 0a49 6e66 6f5f 4f66 5f4e 616d 655f 4f72  .Info_Of_Name_Or\n+0000be00: 5f49 5020 2866 756e 6374 696f 6e29 0a2d  _IP (function).-\n+0000be10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d  ----------------\n+0000be20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055  ------------..PU\n+0000be30: 5250 4f53 450a 2020 2020 2047 6574 2061  RPOSE.     Get a\n+0000be40: 6464 7265 7373 6573 2061 6e64 206e 616d  ddresses and nam\n+0000be50: 6573 206f 6620 6120 686f 7374 0a50 524f  es of a host.PRO\n+0000be60: 544f 5459 5045 0a20 2020 2020 202d 2d20  TOTYPE.      -- \n+0000be70: 536f 636b 6574 732e 4e61 6d69 6e67 2e49  Sockets.Naming.I\n+0000be80: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49  nfo_Of_Name_Or_I\n+0000be90: 503a 2066 756e 6374 696f 6e20 496e 666f  P: function Info\n+0000bea0: 5f4f 665f 4e61 6d65 5f4f 725f 4950 0a20  _Of_Name_Or_IP. \n+0000beb0: 2020 2020 2020 2020 2020 2020 2020 2853                (S\n+0000bec0: 4f4d 4554 4849 4e47 203a 2053 7472 696e  OMETHING : Strin\n+0000bed0: 6729 0a20 2020 2020 2020 2020 2020 2020  g).             \n+0000bee0: 2020 7265 7475 726e 2048 6f73 745f 456e    return Host_En\n+0000bef0: 7472 793b 0a0a 5041 5241 4d45 5445 5253  try;..PARAMETERS\n+0000bf00: 0a20 2020 2020 534f 4d45 5448 494e 4720  .     SOMETHING \n+0000bf10: 2069 6e20 2020 2020 2020 2020 486f 7374   in         Host\n+0000bf20: 206e 616d 6520 6f72 2049 5020 6164 6472   name or IP addr\n+0000bf30: 6573 730a 0a52 4554 5552 4e20 5641 4c55  ess..RETURN VALU\n+0000bf40: 450a 2020 2020 2043 6f72 7265 7370 6f6e  E.     Correspon\n+0000bf50: 6469 6e67 2068 6f73 7420 656e 7472 790a  ding host entry.\n+0000bf60: 0a44 4553 4352 4950 5449 4f4e 0a20 2020  .DESCRIPTION.   \n+0000bf70: 2020 5468 6973 2066 756e 6374 696f 6e20    This function \n+0000bf80: 6578 7472 6163 7473 2061 6c6c 2074 6865  extracts all the\n+0000bf90: 206e 616d 6573 2061 6e64 2061 6464 7265   names and addre\n+0000bfa0: 7373 6573 2066 726f 6d20 7468 6520 6e61  sses from the na\n+0000bfb0: 6d69 6e67 0a20 2020 2020 7365 7276 6963  ming.     servic\n+0000bfc0: 652e 0a0a 4558 4345 5054 494f 4e53 0a20  e...EXCEPTIONS. \n+0000bfd0: 2020 2020 e280 984e 616d 696e 675f 4572      ...Naming_Er\n+0000bfe0: 726f 72e2 8099 2020 2020 204e 6f20 696e  ror...     No in\n+0000bff0: 666f 726d 6174 696f 6e20 6176 6169 6c61  formation availa\n+0000c000: 626c 6520 666f 7220 7468 6973 206e 616d  ble for this nam\n+0000c010: 6520 6f72 0a20 2020 2020 2020 2020 2020  e or.           \n+0000c020: 2020 2020 2020 2020 2020 2020 2061 6464               add\n+0000c030: 7265 7373 0a0a 1f0a 4669 6c65 3a20 6164  ress....File: ad\n+0000c040: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020  asockets.info,  \n+0000c050: 4e6f 6465 3a20 4973 5f49 505f 4164 6472  Node: Is_IP_Addr\n+0000c060: 6573 7320 2866 756e 6374 696f 6e29 2c20  ess (function), \n+0000c070: 204e 6578 743a 204e 616d 655f 4f66 2028   Next: Name_Of (\n+0000c080: 6675 6e63 7469 6f6e 292c 2020 5072 6576  function),  Prev\n+0000c090: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f  : Info_Of_Name_O\n+0000c0a0: 725f 4950 2028 6675 6e63 7469 6f6e 292c  r_IP (function),\n+0000c0b0: 2020 5570 3a20 4164 6472 6573 735f 4f66    Up: Address_Of\n+0000c0c0: 2028 6675 6e63 7469 6f6e 290a 0a49 735f   (function)..Is_\n+0000c0d0: 4950 5f41 6464 7265 7373 2028 6675 6e63  IP_Address (func\n+0000c0e0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d  tion).----------\n+0000c0f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a  --------------..\n+0000c100: 5055 5250 4f53 450a 2020 2020 2043 6865  PURPOSE.     Che\n+0000c110: 636b 2069 6620 6769 7665 6e20 7374 7269  ck if given stri\n+0000c120: 6e67 2069 7320 6120 7661 6c69 6420 4950  ng is a valid IP\n+0000c130: 2061 6464 7265 7373 0a50 524f 544f 5459   address.PROTOTY\n+0000c140: 5045 0a20 2020 2020 202d 2d20 536f 636b  PE.      -- Sock\n+0000c150: 6574 732e 4e61 6d69 6e67 2e49 735f 4950  ets.Naming.Is_IP\n+0000c160: 5f41 6464 7265 7373 3a20 6675 6e63 7469  _Address: functi\n+0000c170: 6f6e 2049 735f 4950 5f41 6464 7265 7373  on Is_IP_Address\n+0000c180: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000c190: 2853 4f4d 4554 4849 4e47 203a 2053 7472  (SOMETHING : Str\n+0000c1a0: 696e 6729 0a20 2020 2020 2020 2020 2020  ing).           \n+0000c1b0: 2020 2020 7265 7475 726e 2042 6f6f 6c65      return Boole\n+0000c1c0: 616e 3b0a 0a50 4152 414d 4554 4552 530a  an;..PARAMETERS.\n+0000c1d0: 2020 2020 2053 4f4d 4554 4849 4e47 2020       SOMETHING  \n+0000c1e0: 696e 2020 2020 2020 2020 2053 7472 696e  in         Strin\n+0000c1f0: 6720 746f 2063 6865 636b 0a0a 5245 5455  g to check..RETU\n+0000c200: 524e 2056 414c 5545 0a20 2020 2020 e280  RN VALUE.     ..\n+0000c210: 9854 7275 65e2 8099 2069 6620 534f 4d45  .True... if SOME\n+0000c220: 5448 494e 4720 6973 2061 6e20 4950 2061  THING is an IP a\n+0000c230: 6464 7265 7373 0a0a 1f0a 4669 6c65 3a20  ddress....File: \n+0000c240: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c  adasockets.info,\n+0000c250: 2020 4e6f 6465 3a20 4e61 6d65 5f4f 6620    Node: Name_Of \n+0000c260: 2866 756e 6374 696f 6e29 2c20 204e 6578  (function),  Nex\n+0000c270: 743a 2056 616c 7565 2028 6675 6e63 7469  t: Value (functi\n+0000c280: 6f6e 292c 2020 5072 6576 3a20 4973 5f49  on),  Prev: Is_I\n+0000c290: 505f 4164 6472 6573 7320 2866 756e 6374  P_Address (funct\n+0000c2a0: 696f 6e29 2c20 2055 703a 2041 6464 7265  ion),  Up: Addre\n+0000c2b0: 7373 5f4f 6620 2866 756e 6374 696f 6e29  ss_Of (function)\n+0000c2c0: 0a0a 4e61 6d65 5f4f 6620 2866 756e 6374  ..Name_Of (funct\n+0000c2d0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d  ion).-----------\n+0000c2e0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345  -------..PURPOSE\n+0000c2f0: 0a20 2020 2020 4f66 6669 6369 616c 206e  .     Official n\n+0000c300: 616d 6520 6f66 2074 6865 2068 6f73 740a  ame of the host.\n+0000c310: 5052 4f54 4f54 5950 450a 2020 2020 2020  PROTOTYPE.      \n+0000c320: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e  -- Sockets.Namin\n+0000c330: 672e 4e61 6d65 5f4f 663a 2066 756e 6374  g.Name_Of: funct\n+0000c340: 696f 6e20 4e61 6d65 5f4f 6620 2853 4f4d  ion Name_Of (SOM\n+0000c350: 4554 4849 4e47 203a 2053 7472 696e 6729  ETHING : String)\n+0000c360: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000c370: 7265 7475 726e 2053 7472 696e 673b 0a0a  return String;..\n+0000c380: 5041 5241 4d45 5445 5253 0a20 2020 2020  PARAMETERS.     \n+0000c390: 534f 4d45 5448 494e 4720 2069 6e20 2020  SOMETHING  in   \n+0000c3a0: 2020 2020 2020 486f 7374 206e 616d 6520        Host name \n+0000c3b0: 6f72 2049 5020 6164 6472 6573 730a 0a52  or IP address..R\n+0000c3c0: 4554 5552 4e20 5641 4c55 450a 2020 2020  ETURN VALUE.    \n+0000c3d0: 204e 616d 6520 6f66 2074 6865 2068 6f73   Name of the hos\n+0000c3e0: 740a 0a45 5843 4550 5449 4f4e 530a 2020  t..EXCEPTIONS.  \n+0000c3f0: 2020 20e2 8098 4e61 6d69 6e67 5f45 7272     ...Naming_Err\n+0000c400: 6f72 e280 9920 2020 2020 4e6f 2069 6e66  or...     No inf\n+0000c410: 6f72 6d61 7469 6f6e 2061 7661 696c 6162  ormation availab\n+0000c420: 6c65 2066 6f72 2074 6869 7320 6e61 6d65  le for this name\n+0000c430: 206f 720a 2020 2020 2020 2020 2020 2020   or.            \n+0000c440: 2020 2020 2020 2020 2020 2020 6164 6472              addr\n+0000c450: 6573 730a 0a53 4545 2041 4c53 4f0a 2020  ess..SEE ALSO.  \n+0000c460: 2020 202a 6e6f 7465 2041 6464 7265 7373     *note Address\n+0000c470: 5f4f 6620 2866 756e 6374 696f 6e29 3a3a  _Of (function)::\n+0000c480: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f  .....File: adaso\n+0000c490: 636b 6574 732e 696e 666f 2c20 204e 6f64  ckets.info,  Nod\n+0000c4a0: 653a 2056 616c 7565 2028 6675 6e63 7469  e: Value (functi\n+0000c4b0: 6f6e 292c 2020 5072 6576 3a20 4e61 6d65  on),  Prev: Name\n+0000c4c0: 5f4f 6620 2866 756e 6374 696f 6e29 2c20  _Of (function), \n+0000c4d0: 2055 703a 2041 6464 7265 7373 5f4f 6620   Up: Address_Of \n+0000c4e0: 2866 756e 6374 696f 6e29 0a0a 5661 6c75  (function)..Valu\n+0000c4f0: 6520 2866 756e 6374 696f 6e29 0a2d 2d2d  e (function).---\n+0000c500: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50  -------------..P\n+0000c510: 5552 504f 5345 0a20 2020 2020 5472 616e  URPOSE.     Tran\n+0000c520: 7366 6f72 6d20 6120 7374 7269 6e67 2069  sform a string i\n+0000c530: 6e74 6f20 616e 2061 6464 7265 7373 0a50  nto an address.P\n+0000c540: 524f 544f 5459 5045 0a20 2020 2020 202d  ROTOTYPE.      -\n+0000c550: 2d20 536f 636b 6574 732e 4e61 6d69 6e67  - Sockets.Naming\n+0000c560: 2e56 616c 7565 3a20 6675 6e63 7469 6f6e  .Value: function\n+0000c570: 2056 616c 7565 2028 4144 4420 3a20 5374   Value (ADD : St\n+0000c580: 7269 6e67 290a 2020 2020 2020 2020 2020  ring).          \n+0000c590: 2020 2020 2072 6574 7572 6e20 4164 6472       return Addr\n+0000c5a0: 6573 733b 0a0a 5041 5241 4d45 5445 5253  ess;..PARAMETERS\n+0000c5b0: 0a20 2020 2020 4144 4420 2020 2020 2020  .     ADD       \n+0000c5c0: 2069 6e20 2020 2020 2020 2020 5465 7874   in         Text\n+0000c5d0: 7561 6c20 7265 7072 6573 656e 7461 7469  ual representati\n+0000c5e0: 6f6e 206f 6620 616e 2049 5020 6164 6472  on of an IP addr\n+0000c5f0: 6573 730a 0a52 4554 5552 4e20 5641 4c55  ess..RETURN VALU\n+0000c600: 450a 2020 2020 2043 6f72 7265 7370 6f6e  E.     Correspon\n+0000c610: 6469 6e67 2041 6464 7265 7373 0a0a 5345  ding Address..SE\n+0000c620: 4520 414c 534f 0a20 2020 2020 2a6e 6f74  E ALSO.     *not\n+0000c630: 6520 496d 6167 6520 2866 756e 6374 696f  e Image (functio\n+0000c640: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061  n)::.....File: a\n+0000c650: 6461 736f 636b 6574 732e 696e 666f 2c20  dasockets.info, \n+0000c660: 204e 6f64 653a 2043 6f6e 7472 6962 7574   Node: Contribut\n+0000c670: 6f72 732c 2020 4e65 7874 3a20 5265 736f  ors,  Next: Reso\n+0000c680: 7572 6365 7320 6f6e 2074 6865 2049 6e74  urces on the Int\n+0000c690: 6572 6e65 742c 2020 5072 6576 3a20 536f  ernet,  Prev: So\n+0000c6a0: 636b 6574 732e 4e61 6d69 6e67 2070 6163  ckets.Naming pac\n+0000c6b0: 6b61 6765 2c20 2055 703a 2054 6f70 0a0a  kage,  Up: Top..\n+0000c6c0: 4170 7065 6e64 6978 2041 2043 6f6e 7472  Appendix A Contr\n+0000c6d0: 6962 7574 6f72 730a 2a2a 2a2a 2a2a 2a2a  ibutors.********\n+0000c6e0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a  ***************.\n+0000c6f0: 0a41 6461 536f 636b 6574 7320 6861 7320  .AdaSockets has \n+0000c700: 6265 656e 206f 7269 6769 6e61 6c6c 7920  been originally \n+0000c710: 6465 7665 6c6f 7070 6564 2062 7920 5361  developped by Sa\n+0000c720: 6d75 656c 2054 6172 6469 6575 2077 686f  muel Tardieu who\n+0000c730: 2073 7469 6c6c 0a6d 6169 6e74 6169 6e73   still.maintains\n+0000c740: 2069 742e 2020 486f 7765 7665 722c 2074   it.  However, t\n+0000c750: 6865 2066 6f6c 6c6f 7769 6e67 2070 656f  he following peo\n+0000c760: 706c 6520 6861 7665 206d 6164 6520 6372  ple have made cr\n+0000c770: 7563 6961 6c0a 636f 6e74 7269 6275 7469  ucial.contributi\n+0000c780: 6f6e 7320 746f 2041 6461 536f 636b 6574  ons to AdaSocket\n+0000c790: 732c 2062 6520 7468 6579 206e 6577 2063  s, be they new c\n+0000c7a0: 6f64 652c 2062 7567 2066 6978 6573 206f  ode, bug fixes o\n+0000c7b0: 7220 706f 7274 696e 6720 746f 0a6e 6577  r porting to.new\n+0000c7c0: 206f 7065 7261 7469 6e67 2073 7973 7465   operating syste\n+0000c7d0: 6d73 3a0a 0a20 2020 e280 a220 446d 6974  ms:..   ... Dmit\n+0000c7e0: 7269 7920 416e 6973 696d 6b6f 7620 283c  riy Anisimkov (<\n+0000c7f0: 616e 6973 696d 6b6f 7640 7961 686f 6f2e  anisimkov@yahoo.\n+0000c800: 636f 6d3e 290a 2020 20e2 80a2 2041 6c61  com>).   ... Ala\n+0000c810: 6e20 4261 726e 6573 2028 3c62 6172 6e65  n Barnes (<barne\n+0000c820: 7361 4061 7374 6f6e 2e61 632e 756b 3e29  sa@aston.ac.uk>)\n+0000c830: 0a20 2020 e280 a220 4a75 616e 6d61 2042  .   ... Juanma B\n+0000c840: 6172 7261 6e71 7565 726f 2028 3c6c 656b  arranquero (<lek\n+0000c850: 7475 4074 6572 7261 2e65 733e 290a 2020  tu@terra.es>).  \n+0000c860: 20e2 80a2 2042 6f62 6279 2044 2e20 4272   ... Bobby D. Br\n+0000c870: 7961 6e74 2028 3c62 6462 7279 616e 7440  yant (<bdbryant@\n+0000c880: 6d61 696c 2e75 7465 7861 732e 6564 753e  mail.utexas.edu>\n+0000c890: 290a 2020 20e2 80a2 2053 616e 6465 7220  ).   ... Sander \n+0000c8a0: 436f 7820 283c 7361 6e64 6572 2e63 6f78  Cox (<sander.cox\n+0000c8b0: 4070 6869 6c69 7073 2e63 6f6d 3e29 0a20  @philips.com>). \n+0000c8c0: 2020 e280 a220 5375 6e65 2046 616c 6b20    ... Sune Falk \n+0000c8d0: 283c 7375 6e65 2e66 616c 636b 4074 656c  (<sune.falck@tel\n+0000c8e0: 6961 2e63 6f6d 3e29 0a20 2020 e280 a220  ia.com>).   ... \n+0000c8f0: 4775 696c 6c61 756d 6520 466f 6c69 6172  Guillaume Foliar\n+0000c900: 6420 283c 6775 6966 6f40 7761 6e61 646f  d (<guifo@wanado\n+0000c910: 6f2e 6672 3e29 0a20 2020 e280 a220 4c61  o.fr>).   ... La\n+0000c920: 7572 656e 7420 4775 6572 6279 2028 3c67  urent Guerby (<g\n+0000c930: 7565 7262 7940 636c 7562 2d69 6e74 6572  uerby@club-inter\n+0000c940: 6e65 742e 6672 3e29 0a20 2020 e280 a220  net.fr>).   ... \n+0000c950: 4461 7669 6420 4a2e 204b 7269 7374 6f6c  David J. Kristol\n+0000c960: 6120 283c 4461 7669 6439 3530 3337 4061  a (<David95037@a\n+0000c970: 6f6c 2e63 6f6d 3e29 0a20 2020 e280 a220  ol.com>).   ... \n+0000c980: 446f 6d69 6e69 6b20 4d61 646f 6e20 283c  Dominik Madon (<\n+0000c990: 646f 6d69 6e69 6b40 6163 6d2e 6f72 673e  dominik@acm.org>\n+0000c9a0: 290a 2020 20e2 80a2 2050 6173 6361 6c20  ).   ... Pascal \n+0000c9b0: 4f62 7279 2028 3c70 2e6f 6272 7940 7761  Obry (<p.obry@wa\n+0000c9c0: 6e61 646f 6f2e 6672 3e29 0a20 2020 e280  nadoo.fr>).   ..\n+0000c9d0: a220 4e69 636f 6c61 7320 4f6c 6c69 6e67  . Nicolas Olling\n+0000c9e0: 6572 2028 3c4e 6963 6f6c 6173 2e4f 6c6c  er (<Nicolas.Oll\n+0000c9f0: 696e 6765 7240 656e 732d 6c79 6f6e 2e66  inger@ens-lyon.f\n+0000ca00: 723e 290a 2020 20e2 80a2 2053 7470 6861  r>).   ... Stpha\n+0000ca10: 6e65 2050 6174 7572 6561 7520 283c 7370  ne Patureau (<sp\n+0000ca20: 6174 7572 6561 406d 656c 6574 752e 756e  aturea@meletu.un\n+0000ca30: 6976 2d76 616c 656e 6369 656e 6e65 732e  iv-valenciennes.\n+0000ca40: 6672 3e29 0a20 2020 e280 a220 5468 6f6d  fr>).   ... Thom\n+0000ca50: 6173 2051 7569 6e6f 7420 283c 7468 6f6d  as Quinot (<thom\n+0000ca60: 6173 4063 7569 7672 652e 6672 2e65 752e  as@cuivre.fr.eu.\n+0000ca70: 6f72 673e 290a 2020 20e2 80a2 2050 7265  org>).   ... Pre\n+0000ca80: 6265 6e20 5261 6e64 686f 6c20 283c 7261  ben Randhol (<ra\n+0000ca90: 6e64 686f 6c40 7076 762e 6f72 673e 290a  ndhol@pvv.org>).\n+0000caa0: 2020 20e2 80a2 204d 6178 696d 2052 657a     ... Maxim Rez\n+0000cab0: 6e69 6b20 283c 6d61 7831 406d 6261 6e6b  nik (<max1@mbank\n+0000cac0: 2e63 6f6d 2e75 613e 290a 2020 20e2 80a2  .com.ua>).   ...\n+0000cad0: 204a 6f65 6c20 5368 6572 7269 6c6c 2028   Joel Sherrill (\n+0000cae0: 3c6a 6f65 6c2e 7368 6572 7269 6c6c 406f  <joel.sherrill@o\n+0000caf0: 6172 636f 7270 2e63 6f6d 3e29 0a20 2020  arcorp.com>).   \n+0000cb00: e280 a220 5361 6d75 656c 2054 6172 6469  ... Samuel Tardi\n+0000cb10: 6575 2028 3c73 616d 4072 6663 3131 3439  eu (<sam@rfc1149\n+0000cb20: 2e6e 6574 3e29 0a0a 2020 2049 6620 796f  .net>)..   If yo\n+0000cb30: 7520 6665 656c 2074 6861 7420 796f 7520  u feel that you \n+0000cb40: 6861 7665 2062 6565 6e20 666f 7267 6f74  have been forgot\n+0000cb50: 7465 6e2c 2070 6c65 6173 6520 7365 6e64  ten, please send\n+0000cb60: 206d 6520 6120 6d61 696c 2073 6f0a 7468   me a mail so.th\n+0000cb70: 6174 2049 2063 616e 2066 6978 2069 7420  at I can fix it \n+0000cb80: 696e 2074 6865 206e 6578 7420 7665 7273  in the next vers\n+0000cb90: 696f 6e2e 0a0a 2020 202a 4e6f 7465 2052  ion...   *Note R\n+0000cba0: 6573 6f75 7263 6573 206f 6e20 7468 6520  esources on the \n+0000cbb0: 496e 7465 726e 6574 3a3a 2c20 666f 7220  Internet::, for \n+0000cbc0: 686f 7720 746f 2063 6f6e 7472 6962 7574  how to contribut\n+0000cbd0: 652e 0a0a 1f0a 4669 6c65 3a20 6164 6173  e.....File: adas\n+0000cbe0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f  ockets.info,  No\n+0000cbf0: 6465 3a20 5265 736f 7572 6365 7320 6f6e  de: Resources on\n+0000cc00: 2074 6865 2049 6e74 6572 6e65 742c 2020   the Internet,  \n+0000cc10: 4e65 7874 3a20 496e 6465 782c 2020 5072  Next: Index,  Pr\n+0000cc20: 6576 3a20 436f 6e74 7269 6275 746f 7273  ev: Contributors\n+0000cc30: 2c20 2055 703a 2054 6f70 0a0a 4170 7065  ,  Up: Top..Appe\n+0000cc40: 6e64 6978 2042 2052 6573 6f75 7263 6573  ndix B Resources\n+0000cc50: 206f 6e20 7468 6520 496e 7465 726e 6574   on the Internet\n+0000cc60: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  .***************\n+0000cc70: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a  ****************\n+0000cc80: 2a2a 2a2a 2a0a 0a54 6865 206c 6174 6573  *****..The lates\n+0000cc90: 7420 7665 7273 696f 6e20 6f66 2041 6461  t version of Ada\n+0000cca0: 536f 636b 6574 7320 6361 6e20 616c 7761  Sockets can alwa\n+0000ccb0: 7973 2062 6520 666f 756e 6420 6174 3a0a  ys be found at:.\n+0000ccc0: 0a20 2020 2020 2020 2020 2020 2020 203c  .              <\n+0000ccd0: 6874 7470 733a 2f2f 7777 772e 7266 6331  https://www.rfc1\n+0000cce0: 3134 392e 6e65 742f 6465 7665 6c2f 6164  149.net/devel/ad\n+0000ccf0: 6173 6f63 6b65 7473 3e0a 0a20 2020 596f  asockets>..   Yo\n+0000cd00: 7520 6361 6e20 7265 706f 7274 2069 7373  u can report iss\n+0000cd10: 7565 7320 6f72 2074 6865 2041 6461 536f  ues or the AdaSo\n+0000cd20: 636b 6574 7320 6d61 696c 696e 672d 6c69  ckets mailing-li\n+0000cd30: 7374 2061 740a 0a20 2020 2020 2020 2020  st at..         \n+0000cd40: 2020 203c 6874 7470 733a 2f2f 6c69 7374     <https://list\n+0000cd50: 732e 7372 2e68 742f 7e72 6663 3131 3439  s.sr.ht/~rfc1149\n+0000cd60: 2f61 6461 736f 636b 6574 732d 6465 7665  /adasockets-deve\n+0000cd70: 6c3e 0a0a 2020 2043 6f6e 7472 6962 7574  l>..   Contribut\n+0000cd80: 696f 6e73 2061 6e64 2070 6174 6368 6573  ions and patches\n+0000cd90: 2061 7265 2077 656c 636f 6d65 642e 0a0a   are welcomed...\n+0000cda0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65  ..File: adasocke\n+0000cdb0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20  ts.info,  Node: \n+0000cdc0: 496e 6465 782c 2020 5072 6576 3a20 5265  Index,  Prev: Re\n+0000cdd0: 736f 7572 6365 7320 6f6e 2074 6865 2049  sources on the I\n+0000cde0: 6e74 6572 6e65 742c 2020 5570 3a20 546f  nternet,  Up: To\n+0000cdf0: 700a 0a49 6e64 6578 0a2a 2a2a 2a2a 0a0a  p..Index.*****..\n+0000ce00: 0008 5b69 6e64 6578 0008 5d0a 2a20 4d65  ..[index..].* Me\n+0000ce10: 6e75 3a0a 0a2a 2041 6363 6570 745f 536f  nu:..* Accept_So\n+0000ce20: 636b 6574 3a20 2020 2020 2020 2020 2020  cket:           \n+0000ce30: 2020 2020 2020 2020 2020 2020 2020 4163                Ac\n+0000ce40: 6365 7074 5f53 6f63 6b65 7420 2870 726f  cept_Socket (pro\n+0000ce50: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n+0000ce60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ce70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ce80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ce90: 2020 2020 2020 2020 286c 696e 6520 2039          (line  9\n+0000cea0: 290a 2a20 4163 6365 7074 696e 6720 6120  ).* Accepting a \n+0000ceb0: 6e65 7720 636f 6e6e 6563 7469 6f6e 3a20  new connection: \n+0000cec0: 2020 2020 2020 2020 2020 2041 6363 6570             Accep\n+0000ced0: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+0000cee0: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+0000cef0: 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 2020 2020                  \n+0000cf20: 2020 2020 2028 6c69 6e65 2020 3629 0a2a       (line  6).*\n+0000cf30: 2041 6461 2e53 7472 6561 6d73 2e53 7472   Ada.Streams.Str\n+0000cf40: 6561 6d5f 456c 656d 656e 745f 4172 7261  eam_Element_Arra\n+0000cf50: 793a 2020 2020 2020 5261 7720 6461 7461  y:      Raw data\n+0000cf60: 206d 616e 6970 756c 6174 696f 6e2e 0a20   manipulation.. \n 0000cf70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000cf80: 2020 286c 696e 6520 3231 290a 2a20 4164    (line 21).* Ad\n-0000cf90: 612e 5374 7265 616d 732e 5374 7265 616d  a.Streams.Stream\n-0000cfa0: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c  _Element_Array <\n-0000cfb0: 343e 3a20 2053 656e 6420 2870 726f 6365  4>:  Send (proce\n-0000cfc0: 6475 7265 292e 2020 2020 2028 6c69 6e65  dure).     (line\n-0000cfd0: 2031 3729 0a2a 2041 6461 2e53 7472 6561   17).* Ada.Strea\n-0000cfe0: 6d73 2e53 7472 6561 6d5f 456c 656d 656e  ms.Stream_Elemen\n-0000cff0: 745f 436f 756e 743a 2020 2020 2020 5265  t_Count:      Re\n-0000d000: 6365 6976 6520 2866 756e 6374 696f 6e29  ceive (function)\n-0000d010: 2e20 2020 286c 696e 6520 3232 290a 2a20  .   (line 22).* \n-0000d020: 4164 612e 5374 7265 616d 732e 5374 7265  Ada.Streams.Stre\n-0000d030: 616d 5f45 6c65 6d65 6e74 5f43 6f75 6e74  am_Element_Count\n-0000d040: 203c 313e 3a20 2052 6563 6569 7665 5f53   <1>:  Receive_S\n-0000d050: 6f6d 6520 2870 726f 6365 6475 7265 292e  ome (procedure).\n-0000d060: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000d070: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d080: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000cf80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000cf90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000cfa0: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n+0000cfb0: 696e 6520 2036 290a 2a20 4164 612e 5374  ine  6).* Ada.St\n+0000cfc0: 7265 616d 732e 5374 7265 616d 5f45 6c65  reams.Stream_Ele\n+0000cfd0: 6d65 6e74 5f41 7272 6179 203c 313e 3a20  ment_Array <1>: \n+0000cfe0: 2052 6563 6569 7665 2028 6675 6e63 7469   Receive (functi\n+0000cff0: 6f6e 292e 2020 2028 6c69 6e65 2032 3229  on).   (line 22)\n+0000d000: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53  .* Ada.Streams.S\n+0000d010: 7472 6561 6d5f 456c 656d 656e 745f 4172  tream_Element_Ar\n+0000d020: 7261 7920 3c32 3e3a 2020 5265 6365 6976  ray <2>:  Receiv\n+0000d030: 6520 2870 726f 6365 6475 7265 292e 2020  e (procedure).  \n+0000d040: 286c 696e 6520 3138 290a 2a20 4164 612e  (line 18).* Ada.\n+0000d050: 5374 7265 616d 732e 5374 7265 616d 5f45  Streams.Stream_E\n+0000d060: 6c65 6d65 6e74 5f41 7272 6179 203c 333e  lement_Array <3>\n+0000d070: 3a20 2052 6563 6569 7665 5f53 6f6d 6520  :  Receive_Some \n+0000d080: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n 0000d090: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d0a0: 286c 696e 6520 3231 290a 2a20 4164 6153  (line 21).* AdaS\n-0000d0b0: 6f63 6b65 7473 2070 7265 7365 6e74 6174  ockets presentat\n-0000d0c0: 696f 6e3a 2020 2020 2020 2020 2020 2020  ion:            \n-0000d0d0: 2020 2057 6861 7420 6973 2041 6461 536f     What is AdaSo\n-0000d0e0: 636b 6574 733f 2e20 2028 6c69 6e65 2020  ckets?.  (line  \n-0000d0f0: 3629 0a2a 2041 6464 7265 7373 3a20 2020  6).* Address:   \n-0000d100: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d110: 2020 2020 2020 2020 2020 2020 536f 636b              Sock\n-0000d120: 6574 732e 4e61 6d69 6e67 2070 6163 6b61  ets.Naming packa\n-0000d130: 6765 2e0a 2020 2020 2020 2020 2020 2020  ge..            \n-0000d140: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d150: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d160: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d170: 2020 2028 6c69 6e65 2020 3929 0a2a 2041     (line  9).* A\n-0000d180: 6464 7265 7373 5f41 7272 6179 3a20 2020  ddress_Array:   \n-0000d190: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d1a0: 2020 2020 2020 536f 636b 6574 732e 4e61        Sockets.Na\n-0000d1b0: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020  ming package..  \n+0000d0a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d0b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d0c0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+0000d0d0: 6520 3231 290a 2a20 4164 612e 5374 7265  e 21).* Ada.Stre\n+0000d0e0: 616d 732e 5374 7265 616d 5f45 6c65 6d65  ams.Stream_Eleme\n+0000d0f0: 6e74 5f41 7272 6179 203c 343e 3a20 2053  nt_Array <4>:  S\n+0000d100: 656e 6420 2870 726f 6365 6475 7265 292e  end (procedure).\n+0000d110: 2020 2020 2028 6c69 6e65 2031 3729 0a2a       (line 17).*\n+0000d120: 2041 6461 2e53 7472 6561 6d73 2e53 7472   Ada.Streams.Str\n+0000d130: 6561 6d5f 456c 656d 656e 745f 436f 756e  eam_Element_Coun\n+0000d140: 743a 2020 2020 2020 5265 6365 6976 6520  t:      Receive \n+0000d150: 2866 756e 6374 696f 6e29 2e20 2020 286c  (function).   (l\n+0000d160: 696e 6520 3232 290a 2a20 4164 612e 5374  ine 22).* Ada.St\n+0000d170: 7265 616d 732e 5374 7265 616d 5f45 6c65  reams.Stream_Ele\n+0000d180: 6d65 6e74 5f43 6f75 6e74 203c 313e 3a20  ment_Count <1>: \n+0000d190: 2052 6563 6569 7665 5f53 6f6d 6520 2870   Receive_Some (p\n+0000d1a0: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d1c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d1d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d1e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d1f0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n-0000d200: 6e65 2031 3629 0a2a 2041 6464 7265 7373  ne 16).* Address\n-0000d210: 5f43 6f6d 706f 6e65 6e74 3a20 2020 2020  _Component:     \n-0000d220: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d230: 536f 636b 6574 732e 4e61 6d69 6e67 2070  Sockets.Naming p\n-0000d240: 6163 6b61 6765 2e0a 2020 2020 2020 2020  ackage..        \n+0000d1e0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+0000d1f0: 3231 290a 2a20 4164 6153 6f63 6b65 7473  21).* AdaSockets\n+0000d200: 2070 7265 7365 6e74 6174 696f 6e3a 2020   presentation:  \n+0000d210: 2020 2020 2020 2020 2020 2020 2057 6861               Wha\n+0000d220: 7420 6973 2041 6461 536f 636b 6574 733f  t is AdaSockets?\n+0000d230: 2e20 2028 6c69 6e65 2020 3629 0a2a 2041  .  (line  6).* A\n+0000d240: 6464 7265 7373 3a20 2020 2020 2020 2020  ddress:         \n 0000d250: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69 6e65 2032 3029         (line 20)\n-0000d290: 0a2a 2041 6464 7265 7373 5f4f 663a 2020  .* Address_Of:  \n+0000d260: 2020 2020 2020 536f 636b 6574 732e 4e61        Sockets.Na\n+0000d270: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020  ming package..  \n+0000d280: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d290: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d2a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d2b0: 2020 2020 2020 2020 2020 4164 6472 6573            Addres\n-0000d2c0: 735f 4f66 2028 6675 6e63 7469 6f6e 292e  s_Of (function).\n-0000d2d0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000d2b0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+0000d2c0: 6e65 2020 3929 0a2a 2041 6464 7265 7373  ne  9).* Address\n+0000d2d0: 5f41 7272 6179 3a20 2020 2020 2020 2020  _Array:         \n 0000d2e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d2f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d300: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d310: 286c 696e 6520 2039 290a 2a20 4146 5f49  (line  9).* AF_I\n-0000d320: 4e45 543a 2020 2020 2020 2020 2020 2020  NET:            \n+0000d2f0: 536f 636b 6574 732e 4e61 6d69 6e67 2070  Sockets.Naming p\n+0000d300: 6163 6b61 6765 2e0a 2020 2020 2020 2020  ackage..        \n+0000d310: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d320: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d330: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d340: 2020 2053 6f63 6b65 7420 2870 726f 6365     Socket (proce\n-0000d350: 6475 7265 292e 2020 2028 6c69 6e65 2031  dure).   (line 1\n-0000d360: 3929 0a2a 2041 6e79 5f41 6464 7265 7373  9).* Any_Address\n-0000d370: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000d380: 2020 2020 2020 2020 2020 2020 416e 795f              Any_\n-0000d390: 4164 6472 6573 7320 2866 756e 6374 696f  Address (functio\n-0000d3a0: 6e29 2e0a 2020 2020 2020 2020 2020 2020  n)..            \n+0000d340: 2020 2020 2020 2028 6c69 6e65 2031 3629         (line 16)\n+0000d350: 0a2a 2041 6464 7265 7373 5f43 6f6d 706f  .* Address_Compo\n+0000d360: 6e65 6e74 3a20 2020 2020 2020 2020 2020  nent:           \n+0000d370: 2020 2020 2020 2020 2020 536f 636b 6574            Socket\n+0000d380: 732e 4e61 6d69 6e67 2070 6163 6b61 6765  s.Naming package\n+0000d390: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000d3a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d3b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d3c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d3d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d3e0: 2020 2028 6c69 6e65 2020 3929 0a2a 2041     (line  9).* A\n-0000d3f0: 7373 6967 6e69 6e67 2061 206c 6f63 616c  ssigning a local\n-0000d400: 2070 6f72 743a 2020 2020 2020 2020 2020   port:          \n-0000d410: 2020 2020 2020 4269 6e64 2028 7072 6f63        Bind (proc\n-0000d420: 6564 7572 6529 2e20 2020 2020 286c 696e  edure).     (lin\n-0000d430: 6520 2036 290a 2a20 4269 6e64 3a20 2020  e  6).* Bind:   \n+0000d3d0: 2028 6c69 6e65 2032 3029 0a2a 2041 6464   (line 20).* Add\n+0000d3e0: 7265 7373 5f4f 663a 2020 2020 2020 2020  ress_Of:        \n+0000d3f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d400: 2020 2020 4164 6472 6573 735f 4f66 2028      Address_Of (\n+0000d410: 6675 6e63 7469 6f6e 292e 0a20 2020 2020  function)..     \n+0000d420: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d430: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000d440: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d450: 2020 2020 2020 2020 2020 2020 2020 2042                 B\n-0000d460: 696e 6420 2870 726f 6365 6475 7265 292e  ind (procedure).\n-0000d470: 2020 2020 2028 6c69 6e65 2020 3929 0a2a       (line  9).*\n-0000d480: 2042 696e 6469 6e67 2061 2073 6f63 6b65   Binding a socke\n-0000d490: 743a 2020 2020 2020 2020 2020 2020 2020  t:              \n-0000d4a0: 2020 2020 2020 2020 4269 6e64 2028 7072          Bind (pr\n-0000d4b0: 6f63 6564 7572 6529 2e20 2020 2020 286c  ocedure).     (l\n-0000d4c0: 696e 6520 2036 290a 2a20 426f 7468 3a20  ine  6).* Both: \n-0000d4d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d4e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d4f0: 2053 6875 7464 6f77 6e20 2870 726f 6365   Shutdown (proce\n-0000d500: 6475 7265 292e 2028 6c69 6e65 2031 3729  dure). (line 17)\n-0000d510: 0a2a 2043 6c6f 7369 6e67 2061 2073 6f63  .* Closing a soc\n-0000d520: 6b65 743a 2020 2020 2020 2020 2020 2020  ket:            \n-0000d530: 2020 2020 2020 2020 2020 5368 7574 646f            Shutdo\n-0000d540: 776e 2028 7072 6f63 6564 7572 6529 2e20  wn (procedure). \n-0000d550: 286c 696e 6520 2036 290a 2a20 436f 6d70  (line  6).* Comp\n-0000d560: 6172 6169 736f 6e20 7769 7468 2047 4e41  araison with GNA\n-0000d570: 542e 536f 636b 6574 733a 2020 2020 2020  T.Sockets:      \n-0000d580: 2020 2057 6861 7420 6973 2041 6461 536f     What is AdaSo\n-0000d590: 636b 6574 733f 2e20 2028 6c69 6e65 2020  ckets?.  (line  \n-0000d5a0: 3629 0a2a 2043 6f6e 6e65 6374 3a20 2020  6).* Connect:   \n-0000d5b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d5c0: 2020 2020 2020 2020 2020 2020 436f 6e6e              Conn\n-0000d5d0: 6563 7420 2870 726f 6365 6475 7265 292e  ect (procedure).\n-0000d5e0: 2020 286c 696e 6520 2039 290a 2a20 436f    (line  9).* Co\n-0000d5f0: 6e6e 6563 7469 6e67 2061 2073 6f63 6b65  nnecting a socke\n-0000d600: 743a 2020 2020 2020 2020 2020 2020 2020  t:              \n-0000d610: 2020 2020 2043 6f6e 6e65 6374 2028 7072       Connect (pr\n-0000d620: 6f63 6564 7572 6529 2e20 2028 6c69 6e65  ocedure).  (line\n-0000d630: 2020 3629 0a2a 2043 6f6e 6e65 6374 696f    6).* Connectio\n-0000d640: 6e5f 436c 6f73 6564 3a20 2020 2020 2020  n_Closed:       \n-0000d650: 2020 2020 2020 2020 2020 2020 2020 4765                Ge\n-0000d660: 7420 2866 756e 6374 696f 6e29 2e20 2020  t (function).   \n-0000d670: 2020 2020 286c 696e 6520 3334 290a 2a20      (line 34).* \n-0000d680: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365  Connection_Close\n-0000d690: 6420 3c31 3e3a 2020 2020 2020 2020 2020  d <1>:          \n-0000d6a0: 2020 2020 2020 2047 6574 5f43 6861 7220         Get_Char \n-0000d6b0: 2866 756e 6374 696f 6e29 2e20 2028 6c69  (function).  (li\n-0000d6c0: 6e65 2032 3329 0a2a 2043 6f6e 6e65 6374  ne 23).* Connect\n-0000d6d0: 696f 6e5f 436c 6f73 6564 203c 323e 3a20  ion_Closed <2>: \n-0000d6e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d6f0: 4765 745f 4c69 6e65 2028 6675 6e63 7469  Get_Line (functi\n-0000d700: 6f6e 292e 2020 286c 696e 6520 3332 290a  on).  (line 32).\n-0000d710: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f  * Connection_Clo\n-0000d720: 7365 6420 3c33 3e3a 2020 2020 2020 2020  sed <3>:        \n-0000d730: 2020 2020 2020 2020 2047 6574 5f4c 696e           Get_Lin\n-0000d740: 6520 2870 726f 6365 6475 7265 292e 2028  e (procedure). (\n-0000d750: 6c69 6e65 2032 3729 0a2a 2043 6f6e 6e65  line 27).* Conne\n-0000d760: 6374 696f 6e5f 436c 6f73 6564 203c 343e  ction_Closed <4>\n-0000d770: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000d780: 2020 4e65 775f 4c69 6e65 2028 7072 6f63    New_Line (proc\n-0000d790: 6564 7572 6529 2e20 286c 696e 6520 3230  edure). (line 20\n-0000d7a0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43  ).* Connection_C\n-0000d7b0: 6c6f 7365 6420 3c35 3e3a 2020 2020 2020  losed <5>:      \n-0000d7c0: 2020 2020 2020 2020 2020 2050 7574 2028             Put (\n-0000d7d0: 7072 6f63 6564 7572 6529 2e20 2020 2020  procedure).     \n-0000d7e0: 2028 6c69 6e65 2032 3129 0a2a 2043 6f6e   (line 21).* Con\n-0000d7f0: 6e65 6374 696f 6e5f 436c 6f73 6564 203c  nection_Closed <\n-0000d800: 363e 3a20 2020 2020 2020 2020 2020 2020  6>:             \n-0000d810: 2020 2020 5075 745f 4c69 6e65 2028 7072      Put_Line (pr\n-0000d820: 6f63 6564 7572 6529 2e20 286c 696e 6520  ocedure). (line \n-0000d830: 3231 290a 2a20 436f 6e6e 6563 7469 6f6e  21).* Connection\n-0000d840: 5f43 6c6f 7365 6420 3c37 3e3a 2020 2020  _Closed <7>:    \n-0000d850: 2020 2020 2020 2020 2020 2020 2052 6563               Rec\n-0000d860: 6569 7665 2028 6675 6e63 7469 6f6e 292e  eive (function).\n-0000d870: 2020 2028 6c69 6e65 2033 3029 0a2a 2043     (line 30).* C\n-0000d880: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564  onnection_Closed\n-0000d890: 203c 383e 3a20 2020 2020 2020 2020 2020   <8>:           \n-0000d8a0: 2020 2020 2020 5265 6365 6976 6520 2870        Receive (p\n-0000d8b0: 726f 6365 6475 7265 292e 2020 286c 696e  rocedure).  (lin\n-0000d8c0: 6520 3235 290a 2a20 436f 6e6e 6563 7469  e 25).* Connecti\n-0000d8d0: 6f6e 5f43 6c6f 7365 6420 3c39 3e3a 2020  on_Closed <9>:  \n-0000d8e0: 2020 2020 2020 2020 2020 2020 2020 2052                 R\n-0000d8f0: 6563 6569 7665 5f53 6f6d 6520 2870 726f  eceive_Some (pro\n-0000d900: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n-0000d910: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d920: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d930: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d940: 2020 2020 2020 2020 286c 696e 6520 3237          (line 27\n-0000d950: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43  ).* Connection_C\n-0000d960: 6c6f 7365 6420 3c31 303e 3a20 2020 2020  losed <10>:     \n-0000d970: 2020 2020 2020 2020 2020 2053 656e 6420             Send \n-0000d980: 2870 726f 6365 6475 7265 292e 2020 2020  (procedure).    \n-0000d990: 2028 6c69 6e65 2032 3129 0a2a 2043 6f6e   (line 21).* Con\n-0000d9a0: 6e65 6374 696f 6e5f 5265 6675 7365 643a  nection_Refused:\n-0000d9b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000d9c0: 2020 2020 436f 6e6e 6563 7420 2870 726f      Connect (pro\n-0000d9d0: 6365 6475 7265 292e 2020 286c 696e 6520  cedure).  (line \n-0000d9e0: 3235 290a 2a20 436f 6e74 7269 6275 7469  25).* Contributi\n-0000d9f0: 6e67 3a20 2020 2020 2020 2020 2020 2020  ng:             \n-0000da00: 2020 2020 2020 2020 2020 2020 2043 6f6e               Con\n-0000da10: 7472 6962 7574 6f72 732e 2020 2020 2020  tributors.      \n-0000da20: 2020 2028 6c69 6e65 2020 3629 0a2a 2043     (line  6).* C\n-0000da30: 6f6e 7472 6962 7574 696e 6720 3c31 3e3a  ontributing <1>:\n-0000da40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000da50: 2020 2020 2020 5265 736f 7572 6365 7320        Resources \n-0000da60: 6f6e 2074 6865 2049 6e74 6572 6e65 742e  on the Internet.\n-0000da70: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+0000d450: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+0000d460: 2039 290a 2a20 4146 5f49 4e45 543a 2020   9).* AF_INET:  \n+0000d470: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d480: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n+0000d490: 6b65 7420 2870 726f 6365 6475 7265 292e  ket (procedure).\n+0000d4a0: 2020 2028 6c69 6e65 2031 3929 0a2a 2041     (line 19).* A\n+0000d4b0: 6e79 5f41 6464 7265 7373 3a20 2020 2020  ny_Address:     \n+0000d4c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d4d0: 2020 2020 2020 416e 795f 4164 6472 6573        Any_Addres\n+0000d4e0: 7320 2866 756e 6374 696f 6e29 2e0a 2020  s (function)..  \n+0000d4f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d520: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+0000d530: 6e65 2020 3929 0a2a 2041 7373 6967 6e69  ne  9).* Assigni\n+0000d540: 6e67 2061 206c 6f63 616c 2070 6f72 743a  ng a local port:\n+0000d550: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d560: 4269 6e64 2028 7072 6f63 6564 7572 6529  Bind (procedure)\n+0000d570: 2e20 2020 2020 286c 696e 6520 2036 290a  .     (line  6).\n+0000d580: 2a20 4269 6e64 3a20 2020 2020 2020 2020  * Bind:         \n+0000d590: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d5a0: 2020 2020 2020 2020 2042 696e 6420 2870           Bind (p\n+0000d5b0: 726f 6365 6475 7265 292e 2020 2020 2028  rocedure).     (\n+0000d5c0: 6c69 6e65 2020 3929 0a2a 2042 696e 6469  line  9).* Bindi\n+0000d5d0: 6e67 2061 2073 6f63 6b65 743a 2020 2020  ng a socket:    \n+0000d5e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d5f0: 2020 4269 6e64 2028 7072 6f63 6564 7572    Bind (procedur\n+0000d600: 6529 2e20 2020 2020 286c 696e 6520 2036  e).     (line  6\n+0000d610: 290a 2a20 426f 7468 3a20 2020 2020 2020  ).* Both:       \n+0000d620: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d630: 2020 2020 2020 2020 2020 2053 6875 7464             Shutd\n+0000d640: 6f77 6e20 2870 726f 6365 6475 7265 292e  own (procedure).\n+0000d650: 2028 6c69 6e65 2031 3729 0a2a 2043 6c6f   (line 17).* Clo\n+0000d660: 7369 6e67 2061 2073 6f63 6b65 743a 2020  sing a socket:  \n+0000d670: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d680: 2020 2020 5368 7574 646f 776e 2028 7072      Shutdown (pr\n+0000d690: 6f63 6564 7572 6529 2e20 286c 696e 6520  ocedure). (line \n+0000d6a0: 2036 290a 2a20 436f 6d70 6172 6169 736f   6).* Comparaiso\n+0000d6b0: 6e20 7769 7468 2047 4e41 542e 536f 636b  n with GNAT.Sock\n+0000d6c0: 6574 733a 2020 2020 2020 2020 2057 6861  ets:         Wha\n+0000d6d0: 7420 6973 2041 6461 536f 636b 6574 733f  t is AdaSockets?\n+0000d6e0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2043  .  (line  6).* C\n+0000d6f0: 6f6e 6e65 6374 3a20 2020 2020 2020 2020  onnect:         \n+0000d700: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d710: 2020 2020 2020 436f 6e6e 6563 7420 2870        Connect (p\n+0000d720: 726f 6365 6475 7265 292e 2020 286c 696e  rocedure).  (lin\n+0000d730: 6520 2039 290a 2a20 436f 6e6e 6563 7469  e  9).* Connecti\n+0000d740: 6e67 2061 2073 6f63 6b65 743a 2020 2020  ng a socket:    \n+0000d750: 2020 2020 2020 2020 2020 2020 2020 2043                 C\n+0000d760: 6f6e 6e65 6374 2028 7072 6f63 6564 7572  onnect (procedur\n+0000d770: 6529 2e20 2028 6c69 6e65 2020 3629 0a2a  e).  (line  6).*\n+0000d780: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73   Connection_Clos\n+0000d790: 6564 3a20 2020 2020 2020 2020 2020 2020  ed:             \n+0000d7a0: 2020 2020 2020 2020 4765 7420 2866 756e          Get (fun\n+0000d7b0: 6374 696f 6e29 2e20 2020 2020 2020 286c  ction).       (l\n+0000d7c0: 696e 6520 3334 290a 2a20 436f 6e6e 6563  ine 34).* Connec\n+0000d7d0: 7469 6f6e 5f43 6c6f 7365 6420 3c31 3e3a  tion_Closed <1>:\n+0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d7f0: 2047 6574 5f43 6861 7220 2866 756e 6374   Get_Char (funct\n+0000d800: 696f 6e29 2e20 2028 6c69 6e65 2032 3329  ion).  (line 23)\n+0000d810: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c  .* Connection_Cl\n+0000d820: 6f73 6564 203c 323e 3a20 2020 2020 2020  osed <2>:       \n+0000d830: 2020 2020 2020 2020 2020 4765 745f 4c69            Get_Li\n+0000d840: 6e65 2028 6675 6e63 7469 6f6e 292e 2020  ne (function).  \n+0000d850: 286c 696e 6520 3332 290a 2a20 436f 6e6e  (line 32).* Conn\n+0000d860: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c33  ection_Closed <3\n+0000d870: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n+0000d880: 2020 2047 6574 5f4c 696e 6520 2870 726f     Get_Line (pro\n+0000d890: 6365 6475 7265 292e 2028 6c69 6e65 2032  cedure). (line 2\n+0000d8a0: 3729 0a2a 2043 6f6e 6e65 6374 696f 6e5f  7).* Connection_\n+0000d8b0: 436c 6f73 6564 203c 343e 3a20 2020 2020  Closed <4>:     \n+0000d8c0: 2020 2020 2020 2020 2020 2020 4e65 775f              New_\n+0000d8d0: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n+0000d8e0: 2e20 286c 696e 6520 3230 290a 2a20 436f  . (line 20).* Co\n+0000d8f0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420  nnection_Closed \n+0000d900: 3c35 3e3a 2020 2020 2020 2020 2020 2020  <5>:            \n+0000d910: 2020 2020 2050 7574 2028 7072 6f63 6564       Put (proced\n+0000d920: 7572 6529 2e20 2020 2020 2028 6c69 6e65  ure).      (line\n+0000d930: 2032 3129 0a2a 2043 6f6e 6e65 6374 696f   21).* Connectio\n+0000d940: 6e5f 436c 6f73 6564 203c 363e 3a20 2020  n_Closed <6>:   \n+0000d950: 2020 2020 2020 2020 2020 2020 2020 5075                Pu\n+0000d960: 745f 4c69 6e65 2028 7072 6f63 6564 7572  t_Line (procedur\n+0000d970: 6529 2e20 286c 696e 6520 3231 290a 2a20  e). (line 21).* \n+0000d980: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365  Connection_Close\n+0000d990: 6420 3c37 3e3a 2020 2020 2020 2020 2020  d <7>:          \n+0000d9a0: 2020 2020 2020 2052 6563 6569 7665 2028         Receive (\n+0000d9b0: 6675 6e63 7469 6f6e 292e 2020 2028 6c69  function).   (li\n+0000d9c0: 6e65 2033 3029 0a2a 2043 6f6e 6e65 6374  ne 30).* Connect\n+0000d9d0: 696f 6e5f 436c 6f73 6564 203c 383e 3a20  ion_Closed <8>: \n+0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000d9f0: 5265 6365 6976 6520 2870 726f 6365 6475  Receive (procedu\n+0000da00: 7265 292e 2020 286c 696e 6520 3235 290a  re).  (line 25).\n+0000da10: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f  * Connection_Clo\n+0000da20: 7365 6420 3c39 3e3a 2020 2020 2020 2020  sed <9>:        \n+0000da30: 2020 2020 2020 2020 2052 6563 6569 7665           Receive\n+0000da40: 5f53 6f6d 6520 2870 726f 6365 6475 7265  _Some (procedure\n+0000da50: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \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 2020 2020 2020 2020 2020                  \n-0000daa0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dab0: 286c 696e 6520 2036 290a 2a20 4352 3a20  (line  6).* CR: \n-0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dae0: 2020 2047 6574 5f4c 696e 6520 2866 756e     Get_Line (fun\n-0000daf0: 6374 696f 6e29 2e20 2028 6c69 6e65 2032  ction).  (line 2\n-0000db00: 3129 0a2a 2043 5220 3c31 3e3a 2020 2020  1).* CR <1>:    \n-0000db10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000db20: 2020 2020 2020 2020 2020 2020 4765 745f              Get_\n-0000db30: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n-0000db40: 2e20 286c 696e 6520 3138 290a 2a20 4352  . (line 18).* CR\n-0000db50: 203c 323e 3a20 2020 2020 2020 2020 2020   <2>:           \n-0000db60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000db70: 2020 2020 204e 6577 5f4c 696e 6520 2870       New_Line (p\n-0000db80: 726f 6365 6475 7265 292e 2028 6c69 6e65  rocedure). (line\n-0000db90: 2031 3729 0a2a 2043 7265 6174 655f 4d75   17).* Create_Mu\n-0000dba0: 6c74 6963 6173 745f 536f 636b 6574 3a20  lticast_Socket: \n-0000dbb0: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n-0000dbc0: 7474 696e 6720 7570 206d 756c 7469 6361  tting up multica\n-0000dbd0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020  st sockets..    \n+0000da90: 2020 286c 696e 6520 3237 290a 2a20 436f    (line 27).* Co\n+0000daa0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420  nnection_Closed \n+0000dab0: 3c31 303e 3a20 2020 2020 2020 2020 2020  <10>:           \n+0000dac0: 2020 2020 2053 656e 6420 2870 726f 6365       Send (proce\n+0000dad0: 6475 7265 292e 2020 2020 2028 6c69 6e65  dure).     (line\n+0000dae0: 2032 3129 0a2a 2043 6f6e 6e65 6374 696f   21).* Connectio\n+0000daf0: 6e5f 5265 6675 7365 643a 2020 2020 2020  n_Refused:      \n+0000db00: 2020 2020 2020 2020 2020 2020 2020 436f                Co\n+0000db10: 6e6e 6563 7420 2870 726f 6365 6475 7265  nnect (procedure\n+0000db20: 292e 2020 286c 696e 6520 3235 290a 2a20  ).  (line 25).* \n+0000db30: 436f 6e74 7269 6275 7469 6e67 3a20 2020  Contributing:   \n+0000db40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000db50: 2020 2020 2020 2043 6f6e 7472 6962 7574         Contribut\n+0000db60: 6f72 732e 2020 2020 2020 2020 2028 6c69  ors.         (li\n+0000db70: 6e65 2020 3629 0a2a 2043 6f6e 7472 6962  ne  6).* Contrib\n+0000db80: 7574 696e 6720 3c31 3e3a 2020 2020 2020  uting <1>:      \n+0000db90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dba0: 5265 736f 7572 6365 7320 6f6e 2074 6865  Resources on the\n+0000dbb0: 2049 6e74 6572 6e65 742e 0a20 2020 2020   Internet..     \n+0000dbc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dbd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000dbe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dbf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dc00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dc10: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000dc20: 2031 3629 0a2a 2043 7265 6174 655f 4d75   16).* Create_Mu\n-0000dc30: 6c74 6963 6173 745f 536f 636b 6574 203c  lticast_Socket <\n-0000dc40: 313e 3a20 2020 2020 2020 2020 2020 4372  1>:           Cr\n-0000dc50: 6561 7465 5f4d 756c 7469 6361 7374 5f53  eate_Multicast_S\n-0000dc60: 6f63 6b65 7420 2866 756e 6374 696f 6e29  ocket (function)\n-0000dc70: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-0000dc80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dc90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dbf0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+0000dc00: 2036 290a 2a20 4352 3a20 2020 2020 2020   6).* CR:       \n+0000dc10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dc20: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n+0000dc30: 5f4c 696e 6520 2866 756e 6374 696f 6e29  _Line (function)\n+0000dc40: 2e20 2028 6c69 6e65 2032 3129 0a2a 2043  .  (line 21).* C\n+0000dc50: 5220 3c31 3e3a 2020 2020 2020 2020 2020  R <1>:          \n+0000dc60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dc70: 2020 2020 2020 4765 745f 4c69 6e65 2028        Get_Line (\n+0000dc80: 7072 6f63 6564 7572 6529 2e20 286c 696e  procedure). (lin\n+0000dc90: 6520 3138 290a 2a20 4352 203c 323e 3a20  e 18).* CR <2>: \n 0000dca0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dcb0: 2028 6c69 6e65 2020 3929 0a2a 2043 7265   (line  9).* Cre\n-0000dcc0: 6174 655f 4d75 6c74 6963 6173 745f 536f  ate_Multicast_So\n-0000dcd0: 636b 6574 203c 323e 3a20 2020 2020 2020  cket <2>:       \n-0000dce0: 2020 2020 4372 6561 7465 5f4d 756c 7469      Create_Multi\n-0000dcf0: 6361 7374 5f53 6f63 6b65 7420 2866 756e  cast_Socket (fun\n-0000dd00: 6374 696f 6e29 2e0a 2020 2020 2020 2020  ction)..        \n-0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dcb0: 2020 2020 2020 2020 2020 2020 2020 204e                 N\n+0000dcc0: 6577 5f4c 696e 6520 2870 726f 6365 6475  ew_Line (procedu\n+0000dcd0: 7265 292e 2028 6c69 6e65 2031 3729 0a2a  re). (line 17).*\n+0000dce0: 2043 7265 6174 655f 4d75 6c74 6963 6173   Create_Multicas\n+0000dcf0: 745f 536f 636b 6574 3a20 2020 2020 2020  t_Socket:       \n+0000dd00: 2020 2020 2020 2020 5365 7474 696e 6720          Setting \n+0000dd10: 7570 206d 756c 7469 6361 7374 2073 6f63  up multicast soc\n+0000dd20: 6b65 7473 2e0a 2020 2020 2020 2020 2020  kets..          \n 0000dd30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dd40: 2020 2020 2020 2028 6c69 6e65 2037 3129         (line 71)\n-0000dd50: 0a2a 2043 7265 6174 696e 6720 6120 6d75  .* Creating a mu\n-0000dd60: 6c74 6963 6173 7420 736f 636b 6574 3a20  lticast socket: \n-0000dd70: 2020 2020 2020 2020 2020 5365 7474 696e            Settin\n-0000dd80: 6720 7570 206d 756c 7469 6361 7374 2073  g up multicast s\n-0000dd90: 6f63 6b65 7473 2e0a 2020 2020 2020 2020  ockets..        \n-0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dd40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dd50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dd60: 2020 2020 2028 6c69 6e65 2031 3629 0a2a       (line 16).*\n+0000dd70: 2043 7265 6174 655f 4d75 6c74 6963 6173   Create_Multicas\n+0000dd80: 745f 536f 636b 6574 203c 313e 3a20 2020  t_Socket <1>:   \n+0000dd90: 2020 2020 2020 2020 4372 6561 7465 5f4d          Create_M\n+0000dda0: 756c 7469 6361 7374 5f53 6f63 6b65 7420  ulticast_Socket \n+0000ddb0: 2866 756e 6374 696f 6e29 2e0a 2020 2020  (function)..    \n 0000ddc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ddd0: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n-0000dde0: 0a2a 2043 7265 6174 696e 6720 6120 6d75  .* Creating a mu\n-0000ddf0: 6c74 6963 6173 7420 736f 636b 6574 203c  lticast socket <\n-0000de00: 313e 3a20 2020 2020 2020 4372 6561 7465  1>:       Create\n-0000de10: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65  _Multicast_Socke\n-0000de20: 7420 2866 756e 6374 696f 6e29 2e0a 2020  t (function)..  \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 2028 6c69               (li\n-0000de70: 6e65 2020 3629 0a2a 2043 7265 6174 696e  ne  6).* Creatin\n-0000de80: 6720 6120 6d75 6c74 6963 6173 7420 736f  g a multicast so\n-0000de90: 636b 6574 203c 323e 3a20 2020 2020 2020  cket <2>:       \n-0000dea0: 4372 6561 7465 5f4d 756c 7469 6361 7374  Create_Multicast\n-0000deb0: 5f53 6f63 6b65 7420 2866 756e 6374 696f  _Socket (functio\n-0000dec0: 6e29 2e0a 2020 2020 2020 2020 2020 2020  n)..            \n-0000ded0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ddd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000dde0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ddf0: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+0000de00: 2020 3929 0a2a 2043 7265 6174 655f 4d75    9).* Create_Mu\n+0000de10: 6c74 6963 6173 745f 536f 636b 6574 203c  lticast_Socket <\n+0000de20: 323e 3a20 2020 2020 2020 2020 2020 4372  2>:           Cr\n+0000de30: 6561 7465 5f4d 756c 7469 6361 7374 5f53  eate_Multicast_S\n+0000de40: 6f63 6b65 7420 2866 756e 6374 696f 6e29  ocket (function)\n+0000de50: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000de60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000de70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000de80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000de90: 2028 6c69 6e65 2037 3129 0a2a 2043 7265   (line 71).* Cre\n+0000dea0: 6174 696e 6720 6120 6d75 6c74 6963 6173  ating a multicas\n+0000deb0: 7420 736f 636b 6574 3a20 2020 2020 2020  t socket:       \n+0000dec0: 2020 2020 5365 7474 696e 6720 7570 206d      Setting up m\n+0000ded0: 756c 7469 6361 7374 2073 6f63 6b65 7473  ulticast sockets\n+0000dee0: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n 0000def0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000df00: 2020 2028 6c69 6e65 2036 3829 0a2a 2043     (line 68).* C\n-0000df10: 7265 6174 696e 6720 6120 7365 7276 6572  reating a server\n-0000df20: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000df30: 2020 2020 2020 4269 6e64 2028 7072 6f63        Bind (proc\n-0000df40: 6564 7572 6529 2e20 2020 2020 286c 696e  edure).     (lin\n-0000df50: 6520 2036 290a 2a20 4372 6561 7469 6e67  e  6).* Creating\n-0000df60: 2061 2073 6f63 6b65 743a 2020 2020 2020   a socket:      \n-0000df70: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-0000df80: 6574 7469 6e67 2075 7020 756e 6963 6173  etting up unicas\n-0000df90: 7420 736f 636b 6574 732e 0a20 2020 2020  t sockets..     \n+0000df00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000df10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000df20: 2028 6c69 6e65 2020 3629 0a2a 2043 7265   (line  6).* Cre\n+0000df30: 6174 696e 6720 6120 6d75 6c74 6963 6173  ating a multicas\n+0000df40: 7420 736f 636b 6574 203c 313e 3a20 2020  t socket <1>:   \n+0000df50: 2020 2020 4372 6561 7465 5f4d 756c 7469      Create_Multi\n+0000df60: 6361 7374 5f53 6f63 6b65 7420 2866 756e  cast_Socket (fun\n+0000df70: 6374 696f 6e29 2e0a 2020 2020 2020 2020  ction)..        \n+0000df80: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2020 2020 2020                  \n-0000dfd0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-0000dfe0: 2036 290a 2a20 4372 6561 7469 6e67 2061   6).* Creating a\n-0000dff0: 2073 6f63 6b65 7420 3c31 3e3a 2020 2020   socket <1>:    \n-0000e000: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n-0000e010: 6b65 7420 2870 726f 6365 6475 7265 292e  ket (procedure).\n-0000e020: 2020 2028 6c69 6e65 2020 3629 0a2a 2043     (line  6).* C\n-0000e030: 7265 6174 696e 6720 6120 736f 636b 6574  reating a socket\n-0000e040: 203c 323e 3a20 2020 2020 2020 2020 2020   <2>:           \n-0000e050: 2020 2020 2020 4372 6561 7465 5f4d 756c        Create_Mul\n-0000e060: 7469 6361 7374 5f53 6f63 6b65 7420 2866  ticast_Socket (f\n-0000e070: 756e 6374 696f 6e29 2e0a 2020 2020 2020  unction)..      \n-0000e080: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e090: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e0a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e0b0: 2020 2020 2020 2020 2028 6c69 6e65 2020           (line  \n-0000e0c0: 3629 0a2a 2043 7265 6174 696e 6720 6120  6).* Creating a \n-0000e0d0: 736f 636b 6574 203c 333e 3a20 2020 2020  socket <3>:     \n-0000e0e0: 2020 2020 2020 2020 2020 2020 4372 6561              Crea\n-0000e0f0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n-0000e100: 6b65 7420 2866 756e 6374 696f 6e29 2e0a  ket (function)..\n+0000dfb0: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n+0000dfc0: 0a2a 2043 7265 6174 696e 6720 6120 6d75  .* Creating a mu\n+0000dfd0: 6c74 6963 6173 7420 736f 636b 6574 203c  lticast socket <\n+0000dfe0: 323e 3a20 2020 2020 2020 4372 6561 7465  2>:       Create\n+0000dff0: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65  _Multicast_Socke\n+0000e000: 7420 2866 756e 6374 696f 6e29 2e0a 2020  t (function)..  \n+0000e010: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69               (li\n+0000e050: 6e65 2036 3829 0a2a 2043 7265 6174 696e  ne 68).* Creatin\n+0000e060: 6720 6120 7365 7276 6572 3a20 2020 2020  g a server:     \n+0000e070: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e080: 4269 6e64 2028 7072 6f63 6564 7572 6529  Bind (procedure)\n+0000e090: 2e20 2020 2020 286c 696e 6520 2036 290a  .     (line  6).\n+0000e0a0: 2a20 4372 6561 7469 6e67 2061 2073 6f63  * Creating a soc\n+0000e0b0: 6b65 743a 2020 2020 2020 2020 2020 2020  ket:            \n+0000e0c0: 2020 2020 2020 2020 2053 6574 7469 6e67           Setting\n+0000e0d0: 2075 7020 756e 6963 6173 7420 736f 636b   up unicast sock\n+0000e0e0: 6574 732e 0a20 2020 2020 2020 2020 2020  ets..           \n+0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e100: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000e110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e120: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e130: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e140: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-0000e150: 6c69 6e65 2036 3829 0a2a 2043 7265 6174  line 68).* Creat\n-0000e160: 696e 6720 6120 5443 5020 736f 636b 6574  ing a TCP socket\n-0000e170: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000e180: 2020 5365 7474 696e 6720 7570 2075 6e69    Setting up uni\n-0000e190: 6361 7374 2073 6f63 6b65 7473 2e0a 2020  cast sockets..  \n-0000e1a0: 2020 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 2028 6c69               (li\n-0000e1e0: 6e65 2020 3629 0a2a 2043 7265 6174 696e  ne  6).* Creatin\n-0000e1f0: 6720 6120 5544 5020 736f 636b 6574 3a20  g a UDP socket: \n-0000e200: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e210: 5365 7474 696e 6720 7570 2075 6e69 6361  Setting up unica\n-0000e220: 7374 2073 6f63 6b65 7473 2e0a 2020 2020  st sockets..    \n-0000e230: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e240: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e250: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e260: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000e270: 2020 3629 0a2a 2043 7265 6174 696e 6720    6).* Creating \n-0000e280: 6120 756e 6963 6173 7420 736f 636b 6574  a unicast socket\n-0000e290: 3a20 2020 2020 2020 2020 2020 2020 5365  :             Se\n-0000e2a0: 7474 696e 6720 7570 2075 6e69 6361 7374  tting up unicast\n-0000e2b0: 2073 6f63 6b65 7473 2e0a 2020 2020 2020   sockets..      \n-0000e2c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69 6e65 2020           (line  \n-0000e300: 3629 0a2a 2045 7374 6162 6c69 7368 696e  6).* Establishin\n-0000e310: 6720 6120 6c69 7374 656e 2071 7565 7565  g a listen queue\n-0000e320: 3a20 2020 2020 2020 2020 2020 4c69 7374  :           List\n-0000e330: 656e 2028 7072 6f63 6564 7572 6529 2e20  en (procedure). \n-0000e340: 2020 286c 696e 6520 2036 290a 2a20 4669    (line  6).* Fi\n-0000e350: 6e64 696e 6720 4164 6153 6f63 6b65 7473  nding AdaSockets\n-0000e360: 206f 6e20 7468 6520 496e 7465 726e 6574   on the Internet\n-0000e370: 3a20 2020 2052 6573 6f75 7263 6573 206f  :    Resources o\n-0000e380: 6e20 7468 6520 496e 7465 726e 6574 2e0a  n the Internet..\n+0000e120: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n+0000e130: 4372 6561 7469 6e67 2061 2073 6f63 6b65  Creating a socke\n+0000e140: 7420 3c31 3e3a 2020 2020 2020 2020 2020  t <1>:          \n+0000e150: 2020 2020 2020 2053 6f63 6b65 7420 2870         Socket (p\n+0000e160: 726f 6365 6475 7265 292e 2020 2028 6c69  rocedure).   (li\n+0000e170: 6e65 2020 3629 0a2a 2043 7265 6174 696e  ne  6).* Creatin\n+0000e180: 6720 6120 736f 636b 6574 203c 323e 3a20  g a socket <2>: \n+0000e190: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e1a0: 4372 6561 7465 5f4d 756c 7469 6361 7374  Create_Multicast\n+0000e1b0: 5f53 6f63 6b65 7420 2866 756e 6374 696f  _Socket (functio\n+0000e1c0: 6e29 2e0a 2020 2020 2020 2020 2020 2020  n)..            \n+0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e1e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e1f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e200: 2020 2028 6c69 6e65 2020 3629 0a2a 2043     (line  6).* C\n+0000e210: 7265 6174 696e 6720 6120 736f 636b 6574  reating a socket\n+0000e220: 203c 333e 3a20 2020 2020 2020 2020 2020   <3>:           \n+0000e230: 2020 2020 2020 4372 6561 7465 5f4d 756c        Create_Mul\n+0000e240: 7469 6361 7374 5f53 6f63 6b65 7420 2866  ticast_Socket (f\n+0000e250: 756e 6374 696f 6e29 2e0a 2020 2020 2020  unction)..      \n+0000e260: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e270: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e280: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e290: 2020 2020 2020 2020 2028 6c69 6e65 2036           (line 6\n+0000e2a0: 3829 0a2a 2043 7265 6174 696e 6720 6120  8).* Creating a \n+0000e2b0: 5443 5020 736f 636b 6574 3a20 2020 2020  TCP socket:     \n+0000e2c0: 2020 2020 2020 2020 2020 2020 5365 7474              Sett\n+0000e2d0: 696e 6720 7570 2075 6e69 6361 7374 2073  ing up unicast s\n+0000e2e0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020  ockets..        \n+0000e2f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e300: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e310: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e320: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n+0000e330: 0a2a 2043 7265 6174 696e 6720 6120 5544  .* Creating a UD\n+0000e340: 5020 736f 636b 6574 3a20 2020 2020 2020  P socket:       \n+0000e350: 2020 2020 2020 2020 2020 5365 7474 696e            Settin\n+0000e360: 6720 7570 2075 6e69 6361 7374 2073 6f63  g up unicast soc\n+0000e370: 6b65 7473 2e0a 2020 2020 2020 2020 2020  kets..          \n+0000e380: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000e390: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000e3a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e3b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-0000e3d0: 6c69 6e65 2020 3629 0a2a 2047 6574 3a20  line  6).* Get: \n-0000e3e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e3f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e400: 2020 4765 7420 2866 756e 6374 696f 6e29    Get (function)\n-0000e410: 2e20 2020 2020 2020 286c 696e 6520 2039  .       (line  9\n-0000e420: 290a 2a20 4765 745f 4368 6172 3a20 2020  ).* Get_Char:   \n+0000e3b0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a       (line  6).*\n+0000e3c0: 2043 7265 6174 696e 6720 6120 756e 6963   Creating a unic\n+0000e3d0: 6173 7420 736f 636b 6574 3a20 2020 2020  ast socket:     \n+0000e3e0: 2020 2020 2020 2020 5365 7474 696e 6720          Setting \n+0000e3f0: 7570 2075 6e69 6361 7374 2073 6f63 6b65  up unicast socke\n+0000e400: 7473 2e0a 2020 2020 2020 2020 2020 2020  ts..            \n+0000e410: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e420: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000e430: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e440: 2020 2020 2020 2020 2020 2047 6574 5f43             Get_C\n-0000e450: 6861 7220 2866 756e 6374 696f 6e29 2e20  har (function). \n-0000e460: 2028 6c69 6e65 2020 3929 0a2a 2047 6574   (line  9).* Get\n-0000e470: 5f4c 696e 653a 2020 2020 2020 2020 2020  _Line:          \n-0000e480: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e490: 2020 2020 4765 745f 4c69 6e65 2028 6675      Get_Line (fu\n-0000e4a0: 6e63 7469 6f6e 292e 2020 286c 696e 6520  nction).  (line \n-0000e4b0: 2039 290a 2a20 4765 745f 4c69 6e65 203c   9).* Get_Line <\n-0000e4c0: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n-0000e4d0: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n-0000e4e0: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n-0000e4f0: 292e 2028 6c69 6e65 2020 3929 0a2a 2047  ). (line  9).* G\n-0000e500: 6574 5f50 6565 725f 4164 6472 3a20 2020  et_Peer_Addr:   \n-0000e510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e520: 2020 2020 2020 4765 745f 5065 6572 5f41        Get_Peer_A\n-0000e530: 6464 7220 2866 756e 6374 696f 6e29 2e0a  ddr (function)..\n-0000e540: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e550: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e560: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e570: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-0000e580: 6c69 6e65 2020 3929 0a2a 2047 6574 5f50  line  9).* Get_P\n-0000e590: 6565 725f 506f 7274 3a20 2020 2020 2020  eer_Port:       \n-0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e5b0: 2020 4765 745f 5065 6572 5f50 6f72 7420    Get_Peer_Port \n-0000e5c0: 2866 756e 6374 696f 6e29 2e0a 2020 2020  (function)..    \n-0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e5e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e5f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e600: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000e610: 2020 3929 0a2a 2047 6574 5f52 6563 6569    9).* Get_Recei\n-0000e620: 7665 5f51 7565 7565 5f53 697a 653a 2020  ve_Queue_Size:  \n-0000e630: 2020 2020 2020 2020 2020 2020 2020 4765                Ge\n-0000e640: 745f 5265 6365 6976 655f 5175 6575 655f  t_Receive_Queue_\n-0000e650: 5369 7a65 2028 6675 6e63 7469 6f6e 292e  Size (function).\n-0000e660: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000e670: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e680: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e440: 2020 2028 6c69 6e65 2020 3629 0a2a 2045     (line  6).* E\n+0000e450: 7374 6162 6c69 7368 696e 6720 6120 6c69  stablishing a li\n+0000e460: 7374 656e 2071 7565 7565 3a20 2020 2020  sten queue:     \n+0000e470: 2020 2020 2020 4c69 7374 656e 2028 7072        Listen (pr\n+0000e480: 6f63 6564 7572 6529 2e20 2020 286c 696e  ocedure).   (lin\n+0000e490: 6520 2036 290a 2a20 4669 6e64 696e 6720  e  6).* Finding \n+0000e4a0: 4164 6153 6f63 6b65 7473 206f 6e20 7468  AdaSockets on th\n+0000e4b0: 6520 496e 7465 726e 6574 3a20 2020 2052  e Internet:    R\n+0000e4c0: 6573 6f75 7263 6573 206f 6e20 7468 6520  esources on the \n+0000e4d0: 496e 7465 726e 6574 2e0a 2020 2020 2020  Internet..      \n+0000e4e0: 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 2028 6c69 6e65 2020           (line  \n+0000e520: 3629 0a2a 2047 6574 3a20 2020 2020 2020  6).* Get:       \n+0000e530: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e540: 2020 2020 2020 2020 2020 2020 4765 7420              Get \n+0000e550: 2866 756e 6374 696f 6e29 2e20 2020 2020  (function).     \n+0000e560: 2020 286c 696e 6520 2039 290a 2a20 4765    (line  9).* Ge\n+0000e570: 745f 4368 6172 3a20 2020 2020 2020 2020  t_Char:         \n+0000e580: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e590: 2020 2020 2047 6574 5f43 6861 7220 2866       Get_Char (f\n+0000e5a0: 756e 6374 696f 6e29 2e20 2028 6c69 6e65  unction).  (line\n+0000e5b0: 2020 3929 0a2a 2047 6574 5f4c 696e 653a    9).* Get_Line:\n+0000e5c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e5d0: 2020 2020 2020 2020 2020 2020 2020 4765                Ge\n+0000e5e0: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e  t_Line (function\n+0000e5f0: 292e 2020 286c 696e 6520 2039 290a 2a20  ).  (line  9).* \n+0000e600: 4765 745f 4c69 6e65 203c 313e 3a20 2020  Get_Line <1>:   \n+0000e610: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e620: 2020 2020 2020 2047 6574 5f4c 696e 6520         Get_Line \n+0000e630: 2870 726f 6365 6475 7265 292e 2028 6c69  (procedure). (li\n+0000e640: 6e65 2020 3929 0a2a 2047 6574 5f50 6565  ne  9).* Get_Pee\n+0000e650: 725f 4164 6472 3a20 2020 2020 2020 2020  r_Addr:         \n+0000e660: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e670: 4765 745f 5065 6572 5f41 6464 7220 2866  Get_Peer_Addr (f\n+0000e680: 756e 6374 696f 6e29 2e0a 2020 2020 2020  unction)..      \n 0000e690: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e6a0: 286c 696e 6520 2039 290a 2a20 4765 745f  (line  9).* Get_\n-0000e6b0: 5365 6e64 5f51 7565 7565 5f53 697a 653a  Send_Queue_Size:\n-0000e6c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e6d0: 2020 2047 6574 5f53 656e 645f 5175 6575     Get_Send_Queu\n-0000e6e0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e  e_Size (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 2020 2028 6c69 6e65 2020           (line  \n+0000e6d0: 3929 0a2a 2047 6574 5f50 6565 725f 506f  9).* Get_Peer_Po\n+0000e6e0: 7274 3a20 2020 2020 2020 2020 2020 2020  rt:             \n+0000e6f0: 2020 2020 2020 2020 2020 2020 4765 745f              Get_\n+0000e700: 5065 6572 5f50 6f72 7420 2866 756e 6374  Peer_Port (funct\n+0000e710: 696f 6e29 2e0a 2020 2020 2020 2020 2020  ion)..          \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 536f 636b 5f41 6464 723a 2020 2020  t_Sock_Addr:    \n-0000e750: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e760: 2020 2020 2047 6574 5f53 6f63 6b5f 4164       Get_Sock_Ad\n-0000e770: 6472 2028 6675 6e63 7469 6f6e 292e 0a20  dr (function).. \n-0000e780: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e790: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e7b0: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-0000e7c0: 696e 6520 2039 290a 2a20 4765 745f 536f  ine  9).* Get_So\n-0000e7d0: 636b 5f50 6f72 743a 2020 2020 2020 2020  ck_Port:        \n-0000e7e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e7f0: 2047 6574 5f53 6f63 6b5f 506f 7274 2028   Get_Sock_Port (\n-0000e800: 6675 6e63 7469 6f6e 292e 0a20 2020 2020  function)..     \n-0000e810: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e820: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e830: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e840: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-0000e850: 2039 290a 2a20 4765 7473 6f63 6b6f 7074   9).* Getsockopt\n-0000e860: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000e870: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n-0000e880: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n-0000e890: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n-0000e8a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e8c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e8d0: 2020 2020 286c 696e 6520 2039 290a 2a20      (line  9).* \n-0000e8e0: 4772 6f75 7020 636f 6d6d 756e 6963 6174  Group communicat\n-0000e8f0: 696f 6e3a 2020 2020 2020 2020 2020 2020  ion:            \n-0000e900: 2020 2020 2020 2053 6574 7469 6e67 2075         Setting u\n-0000e910: 7020 6d75 6c74 6963 6173 7420 736f 636b  p multicast sock\n-0000e920: 6574 732e 0a20 2020 2020 2020 2020 2020  ets..           \n-0000e930: 2020 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-0000e960: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n-0000e970: 4861 6e64 6c69 6e67 2061 206e 6577 2063  Handling a new c\n-0000e980: 6f6e 6e65 6374 696f 6e3a 2020 2020 2020  onnection:      \n-0000e990: 2020 2020 2020 2041 6363 6570 745f 536f         Accept_So\n-0000e9a0: 636b 6574 2028 7072 6f63 6564 7572 6529  cket (procedure)\n-0000e9b0: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-0000e9c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e9d0: 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: 2020 2020 2028 6c69 6e65 2020 3929 0a2a       (line  9).*\n+0000e760: 2047 6574 5f52 6563 6569 7665 5f51 7565   Get_Receive_Que\n+0000e770: 7565 5f53 697a 653a 2020 2020 2020 2020  ue_Size:        \n+0000e780: 2020 2020 2020 2020 4765 745f 5265 6365          Get_Rece\n+0000e790: 6976 655f 5175 6575 655f 5369 7a65 2028  ive_Queue_Size (\n+0000e7a0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020  function)..     \n+0000e7b0: 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: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+0000e7f0: 2039 290a 2a20 4765 745f 5365 6e64 5f51   9).* Get_Send_Q\n+0000e800: 7565 7565 5f53 697a 653a 2020 2020 2020  ueue_Size:      \n+0000e810: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n+0000e820: 5f53 656e 645f 5175 6575 655f 5369 7a65  _Send_Queue_Size\n+0000e830: 2028 6675 6e63 7469 6f6e 292e 0a20 2020   (function)..   \n+0000e840: 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 2020 2020                  \n+0000e870: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+0000e880: 6520 2039 290a 2a20 4765 745f 536f 636b  e  9).* Get_Sock\n+0000e890: 5f41 6464 723a 2020 2020 2020 2020 2020  _Addr:          \n+0000e8a0: 2020 2020 2020 2020 2020 2020 2020 2047                 G\n+0000e8b0: 6574 5f53 6f63 6b5f 4164 6472 2028 6675  et_Sock_Addr (fu\n+0000e8c0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020  nction)..       \n+0000e8d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e8e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e8f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e900: 2020 2020 2020 2020 286c 696e 6520 2039          (line  9\n+0000e910: 290a 2a20 4765 745f 536f 636b 5f50 6f72  ).* Get_Sock_Por\n+0000e920: 743a 2020 2020 2020 2020 2020 2020 2020  t:              \n+0000e930: 2020 2020 2020 2020 2020 2047 6574 5f53             Get_S\n+0000e940: 6f63 6b5f 506f 7274 2028 6675 6e63 7469  ock_Port (functi\n+0000e950: 6f6e 292e 0a20 2020 2020 2020 2020 2020  on)..           \n+0000e960: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e970: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e980: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e990: 2020 2020 286c 696e 6520 2039 290a 2a20      (line  9).* \n+0000e9a0: 4765 7473 6f63 6b6f 7074 3a20 2020 2020  Getsockopt:     \n+0000e9b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000e9c0: 2020 2020 2020 2047 6574 736f 636b 6f70         Getsockop\n+0000e9d0: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n 0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000e9f0: 2028 6c69 6e65 2020 3629 0a2a 2048 6f73   (line  6).* Hos\n-0000ea00: 745f 456e 7472 793a 2020 2020 2020 2020  t_Entry:        \n-0000ea10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ea20: 2020 2020 536f 636b 6574 732e 4e61 6d69      Sockets.Nami\n-0000ea30: 6e67 2070 6163 6b61 6765 2e0a 2020 2020  ng package..    \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 2020 2020 286c                (l\n+0000ea20: 696e 6520 2039 290a 2a20 4772 6f75 7020  ine  9).* Group \n+0000ea30: 636f 6d6d 756e 6963 6174 696f 6e3a 2020  communication:  \n 0000ea40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ea50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ea60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ea70: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000ea80: 2032 3429 0a2a 2048 6f73 745f 4e61 6d65   24).* Host_Name\n-0000ea90: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000eaa0: 2020 2020 2020 2020 2020 2020 2020 486f                Ho\n-0000eab0: 7374 5f4e 616d 6520 2866 756e 6374 696f  st_Name (functio\n-0000eac0: 6e29 2e20 286c 696e 6520 2039 290a 2a20  n). (line  9).* \n-0000ead0: 496d 6167 653a 2020 2020 2020 2020 2020  Image:          \n-0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eaf0: 2020 2020 2020 2049 6d61 6765 2028 6675         Image (fu\n-0000eb00: 6e63 7469 6f6e 292e 2020 2020 2028 6c69  nction).     (li\n-0000eb10: 6e65 2020 3929 0a2a 2049 6e66 6f5f 4f66  ne  9).* Info_Of\n-0000eb20: 5f4e 616d 655f 4f72 5f49 503a 2020 2020  _Name_Or_IP:    \n-0000eb30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eb40: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f  Info_Of_Name_Or_\n-0000eb50: 4950 2028 6675 6e63 7469 6f6e 292e 0a20  IP (function).. \n-0000eb60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eb70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eb80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eb90: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-0000eba0: 696e 6520 2039 290a 2a20 496e 7374 616c  ine  9).* Instal\n-0000ebb0: 6c69 6e67 2041 6461 536f 636b 6574 733a  ling AdaSockets:\n-0000ebc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ebd0: 2049 6e73 7461 6c6c 696e 6720 4164 6153   Installing AdaS\n-0000ebe0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020  ockets..        \n-0000ebf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ec00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ec20: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n-0000ec30: 0a2a 2049 505f 4144 445f 4d45 4d42 4552  .* IP_ADD_MEMBER\n-0000ec40: 5348 4950 3a20 2020 2020 2020 2020 2020  SHIP:           \n-0000ec50: 2020 2020 2020 2020 2020 4765 7473 6f63            Getsoc\n-0000ec60: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n-0000ec70: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-0000ec80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ec90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eca0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ecb0: 2028 6c69 6e65 2032 3029 0a2a 2049 505f   (line 20).* IP_\n-0000ecc0: 4144 445f 4d45 4d42 4552 5348 4950 203c  ADD_MEMBERSHIP <\n-0000ecd0: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n-0000ece0: 2020 2020 5365 7473 6f63 6b6f 7074 2028      Setsockopt (\n-0000ecf0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n-0000ed00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ed30: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-0000ed40: 2032 3029 0a2a 2049 505f 4452 4f50 5f4d   20).* IP_DROP_M\n-0000ed50: 454d 4245 5253 4849 503a 2020 2020 2020  EMBERSHIP:      \n-0000ed60: 2020 2020 2020 2020 2020 2020 2020 4765                Ge\n-0000ed70: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n-0000ed80: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+0000ea50: 2053 6574 7469 6e67 2075 7020 6d75 6c74   Setting up mult\n+0000ea60: 6963 6173 7420 736f 636b 6574 732e 0a20  icast sockets.. \n+0000ea70: 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 2020 2020 2020 2020 2020 2020 286c                (l\n+0000eab0: 696e 6520 2036 290a 2a20 4861 6e64 6c69  ine  6).* Handli\n+0000eac0: 6e67 2061 206e 6577 2063 6f6e 6e65 6374  ng a new connect\n+0000ead0: 696f 6e3a 2020 2020 2020 2020 2020 2020  ion:            \n+0000eae0: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n+0000eaf0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n+0000eb00: 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 2020 2020                  \n+0000eb30: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+0000eb40: 2020 3629 0a2a 2048 6f73 745f 456e 7472    6).* Host_Entr\n+0000eb50: 793a 2020 2020 2020 2020 2020 2020 2020  y:              \n+0000eb60: 2020 2020 2020 2020 2020 2020 2020 536f                So\n+0000eb70: 636b 6574 732e 4e61 6d69 6e67 2070 6163  ckets.Naming pac\n+0000eb80: 6b61 6765 2e0a 2020 2020 2020 2020 2020  kage..          \n+0000eb90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000eba0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ebb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ebc0: 2020 2020 2028 6c69 6e65 2032 3429 0a2a       (line 24).*\n+0000ebd0: 2048 6f73 745f 4e61 6d65 3a20 2020 2020   Host_Name:     \n+0000ebe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ebf0: 2020 2020 2020 2020 486f 7374 5f4e 616d          Host_Nam\n+0000ec00: 6520 2866 756e 6374 696f 6e29 2e20 286c  e (function). (l\n+0000ec10: 696e 6520 2039 290a 2a20 496d 6167 653a  ine  9).* Image:\n+0000ec20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ec30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ec40: 2049 6d61 6765 2028 6675 6e63 7469 6f6e   Image (function\n+0000ec50: 292e 2020 2020 2028 6c69 6e65 2020 3929  ).     (line  9)\n+0000ec60: 0a2a 2049 6e66 6f5f 4f66 5f4e 616d 655f  .* Info_Of_Name_\n+0000ec70: 4f72 5f49 503a 2020 2020 2020 2020 2020  Or_IP:          \n+0000ec80: 2020 2020 2020 2020 2020 496e 666f 5f4f            Info_O\n+0000ec90: 665f 4e61 6d65 5f4f 725f 4950 2028 6675  f_Name_Or_IP (fu\n+0000eca0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020  nction)..       \n+0000ecb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ecc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ecd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ece0: 2020 2020 2020 2020 286c 696e 6520 2039          (line  9\n+0000ecf0: 290a 2a20 496e 7374 616c 6c69 6e67 2041  ).* Installing A\n+0000ed00: 6461 536f 636b 6574 733a 2020 2020 2020  daSockets:      \n+0000ed10: 2020 2020 2020 2020 2020 2049 6e73 7461             Insta\n+0000ed20: 6c6c 696e 6720 4164 6153 6f63 6b65 7473  lling AdaSockets\n+0000ed30: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000ed40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ed50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ed60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ed70: 2028 6c69 6e65 2020 3629 0a2a 2049 505f   (line  6).* IP_\n+0000ed80: 4144 445f 4d45 4d42 4552 5348 4950 3a20  ADD_MEMBERSHIP: \n 0000ed90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eda0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000edc0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a       (line 20).*\n-0000edd0: 2049 505f 4452 4f50 5f4d 454d 4245 5253   IP_DROP_MEMBERS\n-0000ede0: 4849 5020 3c31 3e3a 2020 2020 2020 2020  HIP <1>:        \n-0000edf0: 2020 2020 2020 2020 5365 7473 6f63 6b6f          Setsocko\n-0000ee00: 7074 2028 7072 6f63 6564 7572 6529 2e0a  pt (procedure)..\n-0000ee10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ee20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ee40: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-0000ee50: 6c69 6e65 2032 3029 0a2a 2049 505f 4d55  line 20).* IP_MU\n-0000ee60: 4c54 4943 4153 545f 4c4f 4f50 3a20 2020  LTICAST_LOOP:   \n+0000eda0: 2020 2020 4765 7473 6f63 6b6f 7074 2028      Getsockopt (\n+0000edb0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n+0000edc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000edd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ede0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000edf0: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+0000ee00: 2032 3029 0a2a 2049 505f 4144 445f 4d45   20).* IP_ADD_ME\n+0000ee10: 4d42 4552 5348 4950 203c 313e 3a20 2020  MBERSHIP <1>:   \n+0000ee20: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n+0000ee30: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n+0000ee40: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+0000ee50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ee60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000ee70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ee80: 2020 4765 7473 6f63 6b6f 7074 2028 7072    Getsockopt (pr\n-0000ee90: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n-0000eea0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000eed0: 2020 2020 2020 2020 2028 6c69 6e65 2032           (line 2\n-0000eee0: 3029 0a2a 2049 505f 4d55 4c54 4943 4153  0).* IP_MULTICAS\n-0000eef0: 545f 4c4f 4f50 203c 313e 3a20 2020 2020  T_LOOP <1>:     \n-0000ef00: 2020 2020 2020 2020 2020 2020 5365 7473              Sets\n-0000ef10: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n-0000ef20: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n-0000ef30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ef60: 2020 2028 6c69 6e65 2032 3029 0a2a 2049     (line 20).* I\n-0000ef70: 505f 4d55 4c54 4943 4153 545f 5454 4c3a  P_MULTICAST_TTL:\n+0000ee80: 2020 2020 2028 6c69 6e65 2032 3029 0a2a       (line 20).*\n+0000ee90: 2049 505f 4452 4f50 5f4d 454d 4245 5253   IP_DROP_MEMBERS\n+0000eea0: 4849 503a 2020 2020 2020 2020 2020 2020  HIP:            \n+0000eeb0: 2020 2020 2020 2020 4765 7473 6f63 6b6f          Getsocko\n+0000eec0: 7074 2028 7072 6f63 6564 7572 6529 2e0a  pt (procedure)..\n+0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000eee0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000eef0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ef00: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+0000ef10: 6c69 6e65 2032 3029 0a2a 2049 505f 4452  line 20).* IP_DR\n+0000ef20: 4f50 5f4d 454d 4245 5253 4849 5020 3c31  OP_MEMBERSHIP <1\n+0000ef30: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n+0000ef40: 2020 5365 7473 6f63 6b6f 7074 2028 7072    Setsockopt (pr\n+0000ef50: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n+0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ef70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000ef80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ef90: 2020 2020 2020 4765 7473 6f63 6b6f 7074        Getsockopt\n-0000efa0: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n-0000efb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000efc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000efe0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n-0000eff0: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54  ne 20).* IP_MULT\n-0000f000: 4943 4153 545f 5454 4c20 3c31 3e3a 2020  ICAST_TTL <1>:  \n+0000ef90: 2020 2020 2020 2020 2028 6c69 6e65 2032           (line 2\n+0000efa0: 3029 0a2a 2049 505f 4d55 4c54 4943 4153  0).* IP_MULTICAS\n+0000efb0: 545f 4c4f 4f50 3a20 2020 2020 2020 2020  T_LOOP:         \n+0000efc0: 2020 2020 2020 2020 2020 2020 4765 7473              Gets\n+0000efd0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n+0000efe0: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+0000eff0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f000: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f010: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f020: 5365 7473 6f63 6b6f 7074 2028 7072 6f63  Setsockopt (proc\n-0000f030: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n-0000f040: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f050: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f060: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f070: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n-0000f080: 0a2a 2049 5050 524f 544f 5f49 503a 2020  .* IPPROTO_IP:  \n+0000f020: 2020 2028 6c69 6e65 2032 3029 0a2a 2049     (line 20).* I\n+0000f030: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50  P_MULTICAST_LOOP\n+0000f040: 203c 313e 3a20 2020 2020 2020 2020 2020   <1>:           \n+0000f050: 2020 2020 2020 5365 7473 6f63 6b6f 7074        Setsockopt\n+0000f060: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n+0000f070: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f080: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f090: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f0a0: 2020 2020 2020 2020 2020 4765 7473 6f63            Getsoc\n-0000f0b0: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n-0000f0c0: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000f0a0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+0000f0b0: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54  ne 20).* IP_MULT\n+0000f0c0: 4943 4153 545f 5454 4c3a 2020 2020 2020  ICAST_TTL:      \n 0000f0d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f0e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f0f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f100: 2028 6c69 6e65 2032 3029 0a2a 2049 5050   (line 20).* IPP\n-0000f110: 524f 544f 5f49 5020 3c31 3e3a 2020 2020  ROTO_IP <1>:    \n+0000f0e0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63  Getsockopt (proc\n+0000f0f0: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n+0000f100: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f120: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f130: 2020 2020 5365 7473 6f63 6b6f 7074 2028      Setsockopt (\n-0000f140: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n-0000f150: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69 6e65             (line\n-0000f190: 2032 3029 0a2a 2049 735f 4950 5f41 6464   20).* Is_IP_Add\n-0000f1a0: 7265 7373 3a20 2020 2020 2020 2020 2020  ress:           \n-0000f1b0: 2020 2020 2020 2020 2020 2020 2020 4973                Is\n-0000f1c0: 5f49 505f 4164 6472 6573 7320 2866 756e  _IP_Address (fun\n-0000f1d0: 6374 696f 6e29 2e0a 2020 2020 2020 2020  ction)..        \n+0000f130: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n+0000f140: 0a2a 2049 505f 4d55 4c54 4943 4153 545f  .* IP_MULTICAST_\n+0000f150: 5454 4c20 3c31 3e3a 2020 2020 2020 2020  TTL <1>:        \n+0000f160: 2020 2020 2020 2020 2020 5365 7473 6f63            Setsoc\n+0000f170: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n+0000f180: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000f190: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f1a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f1b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f1c0: 2028 6c69 6e65 2032 3029 0a2a 2049 5050   (line 20).* IPP\n+0000f1d0: 524f 544f 5f49 503a 2020 2020 2020 2020  ROTO_IP:        \n 0000f1e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69 6e65 2020 3929         (line  9)\n-0000f220: 0a2a 204c 463a 2020 2020 2020 2020 2020  .* LF:          \n+0000f1f0: 2020 2020 4765 7473 6f63 6b6f 7074 2028      Getsockopt (\n+0000f200: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n+0000f210: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f220: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f230: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f240: 2020 2020 2020 2020 2020 4765 745f 4c69            Get_Li\n-0000f250: 6e65 2028 6675 6e63 7469 6f6e 292e 2020  ne (function).  \n-0000f260: 286c 696e 6520 3231 290a 2a20 4c46 203c  (line 21).* LF <\n-0000f270: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n-0000f280: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f290: 2020 2047 6574 5f4c 696e 6520 2870 726f     Get_Line (pro\n-0000f2a0: 6365 6475 7265 292e 2028 6c69 6e65 2031  cedure). (line 1\n-0000f2b0: 3829 0a2a 204c 4620 3c32 3e3a 2020 2020  8).* LF <2>:    \n+0000f240: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+0000f250: 2032 3029 0a2a 2049 5050 524f 544f 5f49   20).* IPPROTO_I\n+0000f260: 5020 3c31 3e3a 2020 2020 2020 2020 2020  P <1>:          \n+0000f270: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n+0000f280: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n+0000f290: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+0000f2a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f2b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f2c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f2d0: 2020 2020 2020 2020 2020 2020 4e65 775f              New_\n-0000f2e0: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n-0000f2f0: 2e20 286c 696e 6520 3137 290a 2a20 4c69  . (line 17).* Li\n-0000f300: 7374 656e 3a20 2020 2020 2020 2020 2020  sten:           \n-0000f310: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f320: 2020 2020 204c 6973 7465 6e20 2870 726f       Listen (pro\n-0000f330: 6365 6475 7265 292e 2020 2028 6c69 6e65  cedure).   (line\n-0000f340: 2020 3929 0a2a 204c 6973 7465 6e20 7175    9).* Listen qu\n-0000f350: 6575 653a 2020 2020 2020 2020 2020 2020  eue:            \n-0000f360: 2020 2020 2020 2020 2020 2020 2020 4c69                Li\n-0000f370: 7374 656e 2028 7072 6f63 6564 7572 6529  sten (procedure)\n-0000f380: 2e20 2020 286c 696e 6520 2036 290a 2a20  .   (line  6).* \n-0000f390: 4d61 6e69 7075 6c61 7469 6e67 2073 6f63  Manipulating soc\n-0000f3a0: 6b65 7420 6f70 7469 6f6e 733a 2020 2020  ket options:    \n-0000f3b0: 2020 2020 2020 2047 6574 736f 636b 6f70         Getsockop\n-0000f3c0: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n-0000f3d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f3e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f400: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-0000f410: 696e 6520 2036 290a 2a20 4d61 6e69 7075  ine  6).* Manipu\n-0000f420: 6c61 7469 6e67 2073 6f63 6b65 7420 6f70  lating socket op\n-0000f430: 7469 6f6e 7320 3c31 3e3a 2020 2020 2020  tions <1>:      \n-0000f440: 2053 6574 736f 636b 6f70 7420 2870 726f   Setsockopt (pro\n-0000f450: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n-0000f460: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f470: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f480: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f490: 2020 2020 2020 2020 286c 696e 6520 2036          (line  6\n-0000f4a0: 290a 2a20 4d62 6f6e 653a 2020 2020 2020  ).* Mbone:      \n-0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f4c0: 2020 2020 2020 2020 2020 2053 6574 7469             Setti\n-0000f4d0: 6e67 2075 7020 6d75 6c74 6963 6173 7420  ng up multicast \n-0000f4e0: 736f 636b 6574 732e 0a20 2020 2020 2020  sockets..       \n-0000f4f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f520: 2020 2020 2020 2020 286c 696e 6520 2036          (line  6\n-0000f530: 290a 2a20 4d75 6c74 6963 6173 7420 736f  ).* Multicast so\n-0000f540: 636b 6574 733a 2020 2020 2020 2020 2020  ckets:          \n-0000f550: 2020 2020 2020 2020 2020 2053 6574 7469             Setti\n-0000f560: 6e67 2075 7020 6d75 6c74 6963 6173 7420  ng up multicast \n-0000f570: 736f 636b 6574 732e 0a20 2020 2020 2020  sockets..       \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 286c 696e 6520 2036          (line  6\n-0000f5c0: 290a 2a20 4d75 6c74 6963 6173 745f 536f  ).* Multicast_So\n-0000f5d0: 636b 6574 5f46 443a 2020 2020 2020 2020  cket_FD:        \n-0000f5e0: 2020 2020 2020 2020 2020 2053 6574 7469             Setti\n-0000f5f0: 6e67 2075 7020 6d75 6c74 6963 6173 7420  ng up multicast \n-0000f600: 736f 636b 6574 732e 0a20 2020 2020 2020  sockets..       \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 286c 696e 6520 3136          (line 16\n-0000f650: 290a 2a20 4d75 6c74 6963 6173 745f 536f  ).* Multicast_So\n-0000f660: 636b 6574 5f46 4420 3c31 3e3a 2020 2020  cket_FD <1>:    \n-0000f670: 2020 2020 2020 2020 2020 2053 6f63 6b65             Socke\n-0000f680: 7473 2e4d 756c 7469 6361 7374 2070 6163  ts.Multicast pac\n-0000f690: 6b61 6765 2e0a 2020 2020 2020 2020 2020  kage..          \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 2028 6c69 6e65 2020 3829 0a2a       (line  8).*\n-0000f6e0: 204e 616d 655f 4f66 3a20 2020 2020 2020   Name_Of:       \n+0000f2d0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a       (line 20).*\n+0000f2e0: 2049 735f 4950 5f41 6464 7265 7373 3a20   Is_IP_Address: \n+0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f300: 2020 2020 2020 2020 4973 5f49 505f 4164          Is_IP_Ad\n+0000f310: 6472 6573 7320 2866 756e 6374 696f 6e29  dress (function)\n+0000f320: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000f330: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f340: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f350: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f360: 2028 6c69 6e65 2020 3929 0a2a 204c 463a   (line  9).* LF:\n+0000f370: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f380: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f390: 2020 2020 4765 745f 4c69 6e65 2028 6675      Get_Line (fu\n+0000f3a0: 6e63 7469 6f6e 292e 2020 286c 696e 6520  nction).  (line \n+0000f3b0: 3231 290a 2a20 4c46 203c 313e 3a20 2020  21).* LF <1>:   \n+0000f3c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f3d0: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n+0000f3e0: 5f4c 696e 6520 2870 726f 6365 6475 7265  _Line (procedure\n+0000f3f0: 292e 2028 6c69 6e65 2031 3829 0a2a 204c  ). (line 18).* L\n+0000f400: 4620 3c32 3e3a 2020 2020 2020 2020 2020  F <2>:          \n+0000f410: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f420: 2020 2020 2020 4e65 775f 4c69 6e65 2028        New_Line (\n+0000f430: 7072 6f63 6564 7572 6529 2e20 286c 696e  procedure). (lin\n+0000f440: 6520 3137 290a 2a20 4c69 7374 656e 3a20  e 17).* Listen: \n+0000f450: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f460: 2020 2020 2020 2020 2020 2020 2020 204c                 L\n+0000f470: 6973 7465 6e20 2870 726f 6365 6475 7265  isten (procedure\n+0000f480: 292e 2020 2028 6c69 6e65 2020 3929 0a2a  ).   (line  9).*\n+0000f490: 204c 6973 7465 6e20 7175 6575 653a 2020   Listen queue:  \n+0000f4a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f4b0: 2020 2020 2020 2020 4c69 7374 656e 2028          Listen (\n+0000f4c0: 7072 6f63 6564 7572 6529 2e20 2020 286c  procedure).   (l\n+0000f4d0: 696e 6520 2036 290a 2a20 4d61 6e69 7075  ine  6).* Manipu\n+0000f4e0: 6c61 7469 6e67 2073 6f63 6b65 7420 6f70  lating socket op\n+0000f4f0: 7469 6f6e 733a 2020 2020 2020 2020 2020  tions:          \n+0000f500: 2047 6574 736f 636b 6f70 7420 2870 726f   Getsockopt (pro\n+0000f510: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n+0000f520: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f530: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f540: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f550: 2020 2020 2020 2020 286c 696e 6520 2036          (line  6\n+0000f560: 290a 2a20 4d61 6e69 7075 6c61 7469 6e67  ).* Manipulating\n+0000f570: 2073 6f63 6b65 7420 6f70 7469 6f6e 7320   socket options \n+0000f580: 3c31 3e3a 2020 2020 2020 2053 6574 736f  <1>:       Setso\n+0000f590: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n+0000f5a0: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n+0000f5b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f5c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f5d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f5e0: 2020 286c 696e 6520 2036 290a 2a20 4d62    (line  6).* Mb\n+0000f5f0: 6f6e 653a 2020 2020 2020 2020 2020 2020  one:            \n+0000f600: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f610: 2020 2020 2053 6574 7469 6e67 2075 7020       Setting up \n+0000f620: 6d75 6c74 6963 6173 7420 736f 636b 6574  multicast socket\n+0000f630: 732e 0a20 2020 2020 2020 2020 2020 2020  s..             \n+0000f640: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f650: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f660: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f670: 2020 286c 696e 6520 2036 290a 2a20 4d75    (line  6).* Mu\n+0000f680: 6c74 6963 6173 7420 736f 636b 6574 733a  lticast sockets:\n+0000f690: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f6a0: 2020 2020 2053 6574 7469 6e67 2075 7020       Setting up \n+0000f6b0: 6d75 6c74 6963 6173 7420 736f 636b 6574  multicast socket\n+0000f6c0: 732e 0a20 2020 2020 2020 2020 2020 2020  s..             \n+0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f6e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f6f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f700: 2020 2020 2020 2020 4e61 6d65 5f4f 6620          Name_Of \n-0000f710: 2866 756e 6374 696f 6e29 2e20 2020 286c  (function).   (l\n-0000f720: 696e 6520 2039 290a 2a20 4e61 6d69 6e67  ine  9).* Naming\n-0000f730: 5f45 7272 6f72 3a20 2020 2020 2020 2020  _Error:         \n-0000f740: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f750: 2041 6464 7265 7373 5f4f 6620 2866 756e   Address_Of (fun\n-0000f760: 6374 696f 6e29 2e0a 2020 2020 2020 2020  ction)..        \n+0000f700: 2020 286c 696e 6520 2036 290a 2a20 4d75    (line  6).* Mu\n+0000f710: 6c74 6963 6173 745f 536f 636b 6574 5f46  lticast_Socket_F\n+0000f720: 443a 2020 2020 2020 2020 2020 2020 2020  D:              \n+0000f730: 2020 2020 2053 6574 7469 6e67 2075 7020       Setting up \n+0000f740: 6d75 6c74 6963 6173 7420 736f 636b 6574  multicast socket\n+0000f750: 732e 0a20 2020 2020 2020 2020 2020 2020  s..             \n+0000f760: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f770: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f780: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f790: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f7a0: 2020 2020 2020 2028 6c69 6e65 2032 3129         (line 21)\n-0000f7b0: 0a2a 204e 616d 696e 675f 4572 726f 7220  .* Naming_Error \n-0000f7c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020  <1>:            \n-0000f7d0: 2020 2020 2020 2020 2020 496e 666f 5f4f            Info_O\n-0000f7e0: 665f 4e61 6d65 5f4f 725f 4950 2028 6675  f_Name_Or_IP (fu\n-0000f7f0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020  nction)..       \n+0000f790: 2020 286c 696e 6520 3136 290a 2a20 4d75    (line 16).* Mu\n+0000f7a0: 6c74 6963 6173 745f 536f 636b 6574 5f46  lticast_Socket_F\n+0000f7b0: 4420 3c31 3e3a 2020 2020 2020 2020 2020  D <1>:          \n+0000f7c0: 2020 2020 2053 6f63 6b65 7473 2e4d 756c       Sockets.Mul\n+0000f7d0: 7469 6361 7374 2070 6163 6b61 6765 2e0a  ticast package..\n+0000f7e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f800: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f810: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f820: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f830: 2020 2020 2020 2020 286c 696e 6520 3235          (line 25\n-0000f840: 290a 2a20 4e61 6d69 6e67 5f45 7272 6f72  ).* Naming_Error\n-0000f850: 203c 323e 3a20 2020 2020 2020 2020 2020   <2>:           \n-0000f860: 2020 2020 2020 2020 2020 204e 616d 655f             Name_\n-0000f870: 4f66 2028 6675 6e63 7469 6f6e 292e 2020  Of (function).  \n-0000f880: 2028 6c69 6e65 2032 3029 0a2a 204e 6577   (line 20).* New\n-0000f890: 5f4c 696e 653a 2020 2020 2020 2020 2020  _Line:          \n-0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f8b0: 2020 2020 4e65 775f 4c69 6e65 2028 7072      New_Line (pr\n-0000f8c0: 6f63 6564 7572 6529 2e20 286c 696e 6520  ocedure). (line \n-0000f8d0: 2039 290a 2a20 5046 5f49 4e45 543a 2020   9).* PF_INET:  \n+0000f810: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+0000f820: 6c69 6e65 2020 3829 0a2a 204e 616d 655f  line  8).* Name_\n+0000f830: 4f66 3a20 2020 2020 2020 2020 2020 2020  Of:             \n+0000f840: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f850: 2020 4e61 6d65 5f4f 6620 2866 756e 6374    Name_Of (funct\n+0000f860: 696f 6e29 2e20 2020 286c 696e 6520 2039  ion).   (line  9\n+0000f870: 290a 2a20 4e61 6d69 6e67 5f45 7272 6f72  ).* Naming_Error\n+0000f880: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+0000f890: 2020 2020 2020 2020 2020 2041 6464 7265             Addre\n+0000f8a0: 7373 5f4f 6620 2866 756e 6374 696f 6e29  ss_Of (function)\n+0000f8b0: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+0000f8c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f8d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000f8e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f8f0: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n-0000f900: 6b65 7420 2870 726f 6365 6475 7265 292e  ket (procedure).\n-0000f910: 2020 2028 6c69 6e65 2031 3929 0a2a 2050     (line 19).* P\n-0000f920: 7574 3a20 2020 2020 2020 2020 2020 2020  ut:             \n-0000f930: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000f940: 2020 2020 2020 5075 7420 2870 726f 6365        Put (proce\n-0000f950: 6475 7265 292e 2020 2020 2020 286c 696e  dure).      (lin\n-0000f960: 6520 2039 290a 2a20 5075 745f 4c69 6e65  e  9).* Put_Line\n-0000f970: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-0000f980: 2020 2020 2020 2020 2020 2020 2020 2050                 P\n-0000f990: 7574 5f4c 696e 6520 2870 726f 6365 6475  ut_Line (procedu\n-0000f9a0: 7265 292e 2028 6c69 6e65 2020 3929 0a2a  re). (line  9).*\n-0000f9b0: 2052 6177 2064 6174 6120 6d61 6e69 7075   Raw data manipu\n-0000f9c0: 6c61 7469 6f6e 3a20 2020 2020 2020 2020  lation:         \n-0000f9d0: 2020 2020 2020 2020 5261 7720 6461 7461          Raw data\n-0000f9e0: 206d 616e 6970 756c 6174 696f 6e2e 0a20   manipulation.. \n-0000f9f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fa00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fa10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fa20: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-0000fa30: 696e 6520 2036 290a 2a20 5265 6365 6976  ine  6).* Receiv\n-0000fa40: 653a 2020 2020 2020 2020 2020 2020 2020  e:              \n-0000fa50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fa60: 2052 6563 6569 7665 2028 6675 6e63 7469   Receive (functi\n-0000fa70: 6f6e 292e 2020 2028 6c69 6e65 2020 3929  on).   (line  9)\n-0000fa80: 0a2a 2052 6563 6569 7665 203c 313e 3a20  .* Receive <1>: \n-0000fa90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000faa0: 2020 2020 2020 2020 2020 5265 6365 6976            Receiv\n-0000fab0: 6520 2870 726f 6365 6475 7265 292e 2020  e (procedure).  \n-0000fac0: 286c 696e 6520 2039 290a 2a20 5265 6365  (line  9).* Rece\n-0000fad0: 6976 6520 3c32 3e3a 2020 2020 2020 2020  ive <2>:        \n-0000fae0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000faf0: 2020 2053 6875 7464 6f77 6e20 2870 726f     Shutdown (pro\n-0000fb00: 6365 6475 7265 292e 2028 6c69 6e65 2031  cedure). (line 1\n-0000fb10: 3729 0a2a 2052 6563 6569 7665 5f53 6f6d  7).* Receive_Som\n-0000fb20: 653a 2020 2020 2020 2020 2020 2020 2020  e:              \n-0000fb30: 2020 2020 2020 2020 2020 2020 5265 6365              Rece\n-0000fb40: 6976 655f 536f 6d65 2028 7072 6f63 6564  ive_Some (proced\n-0000fb50: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+0000f8f0: 2028 6c69 6e65 2032 3129 0a2a 204e 616d   (line 21).* Nam\n+0000f900: 696e 675f 4572 726f 7220 3c31 3e3a 2020  ing_Error <1>:  \n+0000f910: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f920: 2020 2020 496e 666f 5f4f 665f 4e61 6d65      Info_Of_Name\n+0000f930: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e  _Or_IP (function\n+0000f940: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n+0000f950: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f960: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f970: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f980: 2020 286c 696e 6520 3235 290a 2a20 4e61    (line 25).* Na\n+0000f990: 6d69 6e67 5f45 7272 6f72 203c 323e 3a20  ming_Error <2>: \n+0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f9b0: 2020 2020 204e 616d 655f 4f66 2028 6675       Name_Of (fu\n+0000f9c0: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65  nction).   (line\n+0000f9d0: 2032 3029 0a2a 204e 6577 5f4c 696e 653a   20).* New_Line:\n+0000f9e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000f9f0: 2020 2020 2020 2020 2020 2020 2020 4e65                Ne\n+0000fa00: 775f 4c69 6e65 2028 7072 6f63 6564 7572  w_Line (procedur\n+0000fa10: 6529 2e20 286c 696e 6520 2039 290a 2a20  e). (line  9).* \n+0000fa20: 5046 5f49 4e45 543a 2020 2020 2020 2020  PF_INET:        \n+0000fa30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fa40: 2020 2020 2020 2053 6f63 6b65 7420 2870         Socket (p\n+0000fa50: 726f 6365 6475 7265 292e 2020 2028 6c69  rocedure).   (li\n+0000fa60: 6e65 2031 3929 0a2a 2050 7574 3a20 2020  ne 19).* Put:   \n+0000fa70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fa80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fa90: 5075 7420 2870 726f 6365 6475 7265 292e  Put (procedure).\n+0000faa0: 2020 2020 2020 286c 696e 6520 2039 290a        (line  9).\n+0000fab0: 2a20 5075 745f 4c69 6e65 3a20 2020 2020  * Put_Line:     \n+0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fad0: 2020 2020 2020 2020 2050 7574 5f4c 696e           Put_Lin\n+0000fae0: 6520 2870 726f 6365 6475 7265 292e 2028  e (procedure). (\n+0000faf0: 6c69 6e65 2020 3929 0a2a 2052 6177 2064  line  9).* Raw d\n+0000fb00: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e  ata manipulation\n+0000fb10: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+0000fb20: 2020 5261 7720 6461 7461 206d 616e 6970    Raw data manip\n+0000fb30: 756c 6174 696f 6e2e 0a20 2020 2020 2020  ulation..       \n+0000fb40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fb50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 0000fb60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fb70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fb80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fb90: 2020 2020 2028 6c69 6e65 2020 3929 0a2a       (line  9).*\n-0000fba0: 2052 6563 6569 7669 6e67 2064 6174 613a   Receiving data:\n-0000fbb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fbc0: 2020 2020 2020 2020 5365 6e64 696e 6720          Sending \n-0000fbd0: 616e 6420 7265 6365 6976 696e 6720 6461  and receiving da\n-0000fbe0: 7461 2e0a 2020 2020 2020 2020 2020 2020  ta..            \n-0000fbf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fc00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fc10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fc20: 2020 2028 6c69 6e65 2020 3629 0a2a 2052     (line  6).* R\n-0000fc30: 6563 6569 7669 6e67 2064 6174 6120 3c31  eceiving data <1\n-0000fc40: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n-0000fc50: 2020 2020 2020 4765 7420 2866 756e 6374        Get (funct\n-0000fc60: 696f 6e29 2e20 2020 2020 2020 286c 696e  ion).       (lin\n-0000fc70: 6520 2036 290a 2a20 5265 6365 6976 696e  e  6).* Receivin\n-0000fc80: 6720 6461 7461 203c 323e 3a20 2020 2020  g data <2>:     \n-0000fc90: 2020 2020 2020 2020 2020 2020 2020 2047                 G\n-0000fca0: 6574 5f43 6861 7220 2866 756e 6374 696f  et_Char (functio\n-0000fcb0: 6e29 2e20 2028 6c69 6e65 2020 3629 0a2a  n).  (line  6).*\n-0000fcc0: 2052 6563 6569 7669 6e67 2064 6174 6120   Receiving data \n-0000fcd0: 3c33 3e3a 2020 2020 2020 2020 2020 2020  <3>:            \n-0000fce0: 2020 2020 2020 2020 4765 745f 4c69 6e65          Get_Line\n-0000fcf0: 2028 6675 6e63 7469 6f6e 292e 2020 286c   (function).  (l\n-0000fd00: 696e 6520 2036 290a 2a20 5265 6365 6976  ine  6).* Receiv\n-0000fd10: 696e 6720 6461 7461 203c 343e 3a20 2020  ing data <4>:   \n-0000fd20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fd30: 2047 6574 5f4c 696e 6520 2870 726f 6365   Get_Line (proce\n-0000fd40: 6475 7265 292e 2028 6c69 6e65 2020 3629  dure). (line  6)\n-0000fd50: 0a2a 2052 6563 6569 7669 6e67 2064 6174  .* Receiving dat\n-0000fd60: 6120 3c35 3e3a 2020 2020 2020 2020 2020  a <5>:          \n-0000fd70: 2020 2020 2020 2020 2020 4765 745f 5265            Get_Re\n-0000fd80: 6365 6976 655f 5175 6575 655f 5369 7a65  ceive_Queue_Size\n-0000fd90: 2028 6675 6e63 7469 6f6e 292e 0a20 2020   (function)..   \n-0000fda0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fdb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fdc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fdd0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-0000fde0: 6520 2036 290a 2a20 5265 6365 6976 696e  e  6).* Receivin\n-0000fdf0: 6720 6461 7461 203c 363e 3a20 2020 2020  g data <6>:     \n-0000fe00: 2020 2020 2020 2020 2020 2020 2020 2052                 R\n-0000fe10: 6563 6569 7665 2028 6675 6e63 7469 6f6e  eceive (function\n-0000fe20: 292e 2020 2028 6c69 6e65 2020 3629 0a2a  ).   (line  6).*\n-0000fe30: 2052 6563 6569 7669 6e67 2064 6174 6120   Receiving data \n-0000fe40: 3c37 3e3a 2020 2020 2020 2020 2020 2020  <7>:            \n-0000fe50: 2020 2020 2020 2020 5265 6365 6976 6520          Receive \n-0000fe60: 2870 726f 6365 6475 7265 292e 2020 286c  (procedure).  (l\n-0000fe70: 696e 6520 2036 290a 2a20 5265 6365 6976  ine  6).* Receiv\n-0000fe80: 696e 6720 6461 7461 203c 383e 3a20 2020  ing data <8>:   \n-0000fe90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fea0: 2052 6563 6569 7665 5f53 6f6d 6520 2870   Receive_Some (p\n-0000feb0: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n-0000fec0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fed0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fee0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fef0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-0000ff00: 2036 290a 2a20 5265 6365 6976 696e 6720   6).* Receiving \n-0000ff10: 6461 7461 203c 393e 3a20 2020 2020 2020  data <9>:       \n-0000ff20: 2020 2020 2020 2020 2020 2020 2053 6574               Set\n-0000ff30: 5f42 7566 6665 7220 2870 726f 6365 6475  _Buffer (procedu\n-0000ff40: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n-0000ff50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ff60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ff70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000ff80: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n-0000ff90: 5265 6365 6976 696e 6720 6461 7461 203c  Receiving data <\n-0000ffa0: 3130 3e3a 2020 2020 2020 2020 2020 2020  10>:            \n-0000ffb0: 2020 2020 2020 2055 6e73 6574 5f42 7566         Unset_Buf\n-0000ffc0: 6665 7220 2870 726f 6365 6475 7265 292e  fer (procedure).\n-0000ffd0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-0000ffe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-0000fff0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010000: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010010: 286c 696e 6520 2036 290a 2a20 5265 706f  (line  6).* Repo\n-00010020: 7274 696e 6720 6120 6275 673a 2020 2020  rting a bug:    \n+0000fb70: 2020 2020 2020 2020 286c 696e 6520 2036          (line  6\n+0000fb80: 290a 2a20 5265 6365 6976 653a 2020 2020  ).* Receive:    \n+0000fb90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fba0: 2020 2020 2020 2020 2020 2052 6563 6569             Recei\n+0000fbb0: 7665 2028 6675 6e63 7469 6f6e 292e 2020  ve (function).  \n+0000fbc0: 2028 6c69 6e65 2020 3929 0a2a 2052 6563   (line  9).* Rec\n+0000fbd0: 6569 7665 203c 313e 3a20 2020 2020 2020  eive <1>:       \n+0000fbe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fbf0: 2020 2020 5265 6365 6976 6520 2870 726f      Receive (pro\n+0000fc00: 6365 6475 7265 292e 2020 286c 696e 6520  cedure).  (line \n+0000fc10: 2039 290a 2a20 5265 6365 6976 6520 3c32   9).* Receive <2\n+0000fc20: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n+0000fc30: 2020 2020 2020 2020 2020 2020 2053 6875               Shu\n+0000fc40: 7464 6f77 6e20 2870 726f 6365 6475 7265  tdown (procedure\n+0000fc50: 292e 2028 6c69 6e65 2031 3729 0a2a 2052  ). (line 17).* R\n+0000fc60: 6563 6569 7665 5f53 6f6d 653a 2020 2020  eceive_Some:    \n+0000fc70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fc80: 2020 2020 2020 5265 6365 6976 655f 536f        Receive_So\n+0000fc90: 6d65 2028 7072 6f63 6564 7572 6529 2e0a  me (procedure)..\n+0000fca0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fcb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fcc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fcd0: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+0000fce0: 6c69 6e65 2020 3929 0a2a 2052 6563 6569  line  9).* Recei\n+0000fcf0: 7669 6e67 2064 6174 613a 2020 2020 2020  ving data:      \n+0000fd00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fd10: 2020 5365 6e64 696e 6720 616e 6420 7265    Sending and re\n+0000fd20: 6365 6976 696e 6720 6461 7461 2e0a 2020  ceiving data..  \n+0000fd30: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69               (li\n+0000fd70: 6e65 2020 3629 0a2a 2052 6563 6569 7669  ne  6).* Receivi\n+0000fd80: 6e67 2064 6174 6120 3c31 3e3a 2020 2020  ng data <1>:    \n+0000fd90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fda0: 4765 7420 2866 756e 6374 696f 6e29 2e20  Get (function). \n+0000fdb0: 2020 2020 2020 286c 696e 6520 2036 290a        (line  6).\n+0000fdc0: 2a20 5265 6365 6976 696e 6720 6461 7461  * Receiving data\n+0000fdd0: 203c 323e 3a20 2020 2020 2020 2020 2020   <2>:           \n+0000fde0: 2020 2020 2020 2020 2047 6574 5f43 6861           Get_Cha\n+0000fdf0: 7220 2866 756e 6374 696f 6e29 2e20 2028  r (function).  (\n+0000fe00: 6c69 6e65 2020 3629 0a2a 2052 6563 6569  line  6).* Recei\n+0000fe10: 7669 6e67 2064 6174 6120 3c33 3e3a 2020  ving data <3>:  \n+0000fe20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fe30: 2020 4765 745f 4c69 6e65 2028 6675 6e63    Get_Line (func\n+0000fe40: 7469 6f6e 292e 2020 286c 696e 6520 2036  tion).  (line  6\n+0000fe50: 290a 2a20 5265 6365 6976 696e 6720 6461  ).* Receiving da\n+0000fe60: 7461 203c 343e 3a20 2020 2020 2020 2020  ta <4>:         \n+0000fe70: 2020 2020 2020 2020 2020 2047 6574 5f4c             Get_L\n+0000fe80: 696e 6520 2870 726f 6365 6475 7265 292e  ine (procedure).\n+0000fe90: 2028 6c69 6e65 2020 3629 0a2a 2052 6563   (line  6).* Rec\n+0000fea0: 6569 7669 6e67 2064 6174 6120 3c35 3e3a  eiving data <5>:\n+0000feb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000fec0: 2020 2020 4765 745f 5265 6365 6976 655f      Get_Receive_\n+0000fed0: 5175 6575 655f 5369 7a65 2028 6675 6e63  Queue_Size (func\n+0000fee0: 7469 6f6e 292e 0a20 2020 2020 2020 2020  tion)..         \n+0000fef0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ff00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ff10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ff20: 2020 2020 2020 286c 696e 6520 2036 290a        (line  6).\n+0000ff30: 2a20 5265 6365 6976 696e 6720 6461 7461  * Receiving data\n+0000ff40: 203c 363e 3a20 2020 2020 2020 2020 2020   <6>:           \n+0000ff50: 2020 2020 2020 2020 2052 6563 6569 7665           Receive\n+0000ff60: 2028 6675 6e63 7469 6f6e 292e 2020 2028   (function).   (\n+0000ff70: 6c69 6e65 2020 3629 0a2a 2052 6563 6569  line  6).* Recei\n+0000ff80: 7669 6e67 2064 6174 6120 3c37 3e3a 2020  ving data <7>:  \n+0000ff90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+0000ffa0: 2020 5265 6365 6976 6520 2870 726f 6365    Receive (proce\n+0000ffb0: 6475 7265 292e 2020 286c 696e 6520 2036  dure).  (line  6\n+0000ffc0: 290a 2a20 5265 6365 6976 696e 6720 6461  ).* Receiving da\n+0000ffd0: 7461 203c 383e 3a20 2020 2020 2020 2020  ta <8>:         \n+0000ffe0: 2020 2020 2020 2020 2020 2052 6563 6569             Recei\n+0000fff0: 7665 5f53 6f6d 6520 2870 726f 6365 6475  ve_Some (procedu\n+00010000: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n+00010010: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010020: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010030: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010040: 2020 2052 6573 6f75 7263 6573 206f 6e20     Resources on \n-00010050: 7468 6520 496e 7465 726e 6574 2e0a 2020  the Internet..  \n-00010060: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69               (li\n-000100a0: 6e65 2020 3629 0a2a 2052 6570 7265 7365  ne  6).* Represe\n-000100b0: 6e74 696e 6720 4950 2061 6464 7265 7373  nting IP address\n-000100c0: 6573 3a20 2020 2020 2020 2020 2020 2020  es:             \n-000100d0: 496d 6167 6520 2866 756e 6374 696f 6e29  Image (function)\n-000100e0: 2e20 2020 2020 286c 696e 6520 2036 290a  .     (line  6).\n-000100f0: 2a20 5265 7072 6573 656e 7469 6e67 2049  * Representing I\n-00010100: 5020 6164 6472 6573 7365 7320 3c31 3e3a  P addresses <1>:\n-00010110: 2020 2020 2020 2020 2056 616c 7565 2028           Value (\n-00010120: 6675 6e63 7469 6f6e 292e 2020 2020 2028  function).     (\n-00010130: 6c69 6e65 2020 3629 0a2a 2052 6574 7269  line  6).* Retri\n-00010140: 6576 696e 6720 736f 636b 6574 206f 7074  eving socket opt\n-00010150: 696f 6e73 3a20 2020 2020 2020 2020 2020  ions:           \n-00010160: 2020 4765 7473 6f63 6b6f 7074 2028 7072    Getsockopt (pr\n-00010170: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n-00010180: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010190: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000101a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000101b0: 2020 2020 2020 2020 2028 6c69 6e65 2020           (line  \n-000101c0: 3629 0a2a 2053 656e 643a 2020 2020 2020  6).* Send:      \n+00010040: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n+00010050: 5265 6365 6976 696e 6720 6461 7461 203c  Receiving data <\n+00010060: 393e 3a20 2020 2020 2020 2020 2020 2020  9>:             \n+00010070: 2020 2020 2020 2053 6574 5f42 7566 6665         Set_Buffe\n+00010080: 7220 2870 726f 6365 6475 7265 292e 0a20  r (procedure).. \n+00010090: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000100a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000100b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000100c0: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n+000100d0: 696e 6520 2036 290a 2a20 5265 6365 6976  ine  6).* Receiv\n+000100e0: 696e 6720 6461 7461 203c 3130 3e3a 2020  ing data <10>:  \n+000100f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010100: 2055 6e73 6574 5f42 7566 6665 7220 2870   Unset_Buffer (p\n+00010110: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+00010120: 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 2020 2020 2020 286c 696e 6520            (line \n+00010160: 2036 290a 2a20 5265 706f 7274 696e 6720   6).* Reporting \n+00010170: 6120 6275 673a 2020 2020 2020 2020 2020  a bug:          \n+00010180: 2020 2020 2020 2020 2020 2020 2052 6573               Res\n+00010190: 6f75 7263 6573 206f 6e20 7468 6520 496e  ources on the In\n+000101a0: 7465 726e 6574 2e0a 2020 2020 2020 2020  ternet..        \n+000101b0: 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 2020 2020 2020 5365 6e64              Send\n-000101f0: 2028 7072 6f63 6564 7572 6529 2e20 2020   (procedure).   \n-00010200: 2020 286c 696e 6520 2039 290a 2a20 5365    (line  9).* Se\n-00010210: 6e64 203c 313e 3a20 2020 2020 2020 2020  nd <1>:         \n-00010220: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010230: 2020 2020 2053 6875 7464 6f77 6e20 2870       Shutdown (p\n-00010240: 726f 6365 6475 7265 292e 2028 6c69 6e65  rocedure). (line\n-00010250: 2031 3729 0a2a 2053 656e 6469 6e67 2064   17).* Sending d\n-00010260: 6174 613a 2020 2020 2020 2020 2020 2020  ata:            \n-00010270: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n-00010280: 6e64 696e 6720 616e 6420 7265 6365 6976  nding and receiv\n-00010290: 696e 6720 6461 7461 2e0a 2020 2020 2020  ing data..      \n-000102a0: 2020 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 2028 6c69 6e65 2020           (line  \n-000102e0: 3629 0a2a 2053 656e 6469 6e67 2064 6174  6).* Sending dat\n-000102f0: 6120 3c31 3e3a 2020 2020 2020 2020 2020  a <1>:          \n-00010300: 2020 2020 2020 2020 2020 2020 4765 745f              Get_\n-00010310: 5365 6e64 5f51 7565 7565 5f53 697a 6520  Send_Queue_Size \n-00010320: 2866 756e 6374 696f 6e29 2e0a 2020 2020  (function)..    \n-00010330: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010340: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010350: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010360: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-00010370: 2020 3629 0a2a 2053 656e 6469 6e67 2064    6).* Sending d\n-00010380: 6174 6120 3c32 3e3a 2020 2020 2020 2020  ata <2>:        \n-00010390: 2020 2020 2020 2020 2020 2020 2020 4e65                Ne\n-000103a0: 775f 4c69 6e65 2028 7072 6f63 6564 7572  w_Line (procedur\n-000103b0: 6529 2e20 286c 696e 6520 2036 290a 2a20  e). (line  6).* \n-000103c0: 5365 6e64 696e 6720 6461 7461 203c 333e  Sending data <3>\n-000103d0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-000103e0: 2020 2020 2020 2050 7574 2028 7072 6f63         Put (proc\n-000103f0: 6564 7572 6529 2e20 2020 2020 2028 6c69  edure).      (li\n-00010400: 6e65 2020 3629 0a2a 2053 656e 6469 6e67  ne  6).* Sending\n-00010410: 2064 6174 6120 3c34 3e3a 2020 2020 2020   data <4>:      \n-00010420: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010430: 5075 745f 4c69 6e65 2028 7072 6f63 6564  Put_Line (proced\n-00010440: 7572 6529 2e20 286c 696e 6520 2036 290a  ure). (line  6).\n-00010450: 2a20 5365 6e64 696e 6720 6461 7461 203c  * Sending data <\n-00010460: 353e 3a20 2020 2020 2020 2020 2020 2020  5>:             \n-00010470: 2020 2020 2020 2020 2053 656e 6420 2870           Send (p\n-00010480: 726f 6365 6475 7265 292e 2020 2020 2028  rocedure).     (\n-00010490: 6c69 6e65 2020 3629 0a2a 2053 656e 6469  line  6).* Sendi\n-000104a0: 6e67 2070 6174 6368 6573 3a20 2020 2020  ng patches:     \n-000104b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000104c0: 2020 5265 736f 7572 6365 7320 6f6e 2074    Resources on t\n-000104d0: 6865 2049 6e74 6572 6e65 742e 0a20 2020  he Internet..   \n-000104e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000104f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010510: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-00010520: 6520 2036 290a 2a20 5365 745f 4275 6666  e  6).* Set_Buff\n-00010530: 6572 3a20 2020 2020 2020 2020 2020 2020  er:             \n-00010540: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00010550: 6574 5f42 7566 6665 7220 2870 726f 6365  et_Buffer (proce\n-00010560: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n-00010570: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010580: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010590: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000105a0: 2020 2020 2020 286c 696e 6520 2039 290a        (line  9).\n-000105b0: 2a20 5365 7473 6f63 6b6f 7074 3a20 2020  * Setsockopt:   \n-000105c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000105d0: 2020 2020 2020 2020 2053 6574 736f 636b           Setsock\n-000105e0: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n-000105f0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-00010600: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010610: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010620: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010630: 286c 696e 6520 2039 290a 2a20 5365 7474  (line  9).* Sett\n-00010640: 696e 6720 736f 636b 6574 206f 7074 696f  ing socket optio\n-00010650: 6e73 3a20 2020 2020 2020 2020 2020 2020  ns:             \n-00010660: 2020 2053 6574 736f 636b 6f70 7420 2870     Setsockopt (p\n-00010670: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+000101e0: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n+000101f0: 0a2a 2052 6570 7265 7365 6e74 696e 6720  .* Representing \n+00010200: 4950 2061 6464 7265 7373 6573 3a20 2020  IP addresses:   \n+00010210: 2020 2020 2020 2020 2020 496d 6167 6520            Image \n+00010220: 2866 756e 6374 696f 6e29 2e20 2020 2020  (function).     \n+00010230: 286c 696e 6520 2036 290a 2a20 5265 7072  (line  6).* Repr\n+00010240: 6573 656e 7469 6e67 2049 5020 6164 6472  esenting IP addr\n+00010250: 6573 7365 7320 3c31 3e3a 2020 2020 2020  esses <1>:      \n+00010260: 2020 2056 616c 7565 2028 6675 6e63 7469     Value (functi\n+00010270: 6f6e 292e 2020 2020 2028 6c69 6e65 2020  on).     (line  \n+00010280: 3629 0a2a 2052 6574 7269 6576 696e 6720  6).* Retrieving \n+00010290: 736f 636b 6574 206f 7074 696f 6e73 3a20  socket options: \n+000102a0: 2020 2020 2020 2020 2020 2020 4765 7473              Gets\n+000102b0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n+000102c0: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+000102d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000102e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000102f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010300: 2020 2028 6c69 6e65 2020 3629 0a2a 2053     (line  6).* S\n+00010310: 656e 643a 2020 2020 2020 2020 2020 2020  end:            \n+00010320: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010330: 2020 2020 2020 5365 6e64 2028 7072 6f63        Send (proc\n+00010340: 6564 7572 6529 2e20 2020 2020 286c 696e  edure).     (lin\n+00010350: 6520 2039 290a 2a20 5365 6e64 203c 313e  e  9).* Send <1>\n+00010360: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00010370: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n+00010380: 6875 7464 6f77 6e20 2870 726f 6365 6475  hutdown (procedu\n+00010390: 7265 292e 2028 6c69 6e65 2031 3729 0a2a  re). (line 17).*\n+000103a0: 2053 656e 6469 6e67 2064 6174 613a 2020   Sending data:  \n+000103b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000103c0: 2020 2020 2020 2020 5365 6e64 696e 6720          Sending \n+000103d0: 616e 6420 7265 6365 6976 696e 6720 6461  and receiving da\n+000103e0: 7461 2e0a 2020 2020 2020 2020 2020 2020  ta..            \n+000103f0: 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 2028 6c69 6e65 2020 3629 0a2a 2053     (line  6).* S\n+00010430: 656e 6469 6e67 2064 6174 6120 3c31 3e3a  ending data <1>:\n+00010440: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010450: 2020 2020 2020 4765 745f 5365 6e64 5f51        Get_Send_Q\n+00010460: 7565 7565 5f53 697a 6520 2866 756e 6374  ueue_Size (funct\n+00010470: 696f 6e29 2e0a 2020 2020 2020 2020 2020  ion)..          \n+00010480: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010490: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000104a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000104b0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a       (line  6).*\n+000104c0: 2053 656e 6469 6e67 2064 6174 6120 3c32   Sending data <2\n+000104d0: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n+000104e0: 2020 2020 2020 2020 4e65 775f 4c69 6e65          New_Line\n+000104f0: 2028 7072 6f63 6564 7572 6529 2e20 286c   (procedure). (l\n+00010500: 696e 6520 2036 290a 2a20 5365 6e64 696e  ine  6).* Sendin\n+00010510: 6720 6461 7461 203c 333e 3a20 2020 2020  g data <3>:     \n+00010520: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010530: 2050 7574 2028 7072 6f63 6564 7572 6529   Put (procedure)\n+00010540: 2e20 2020 2020 2028 6c69 6e65 2020 3629  .      (line  6)\n+00010550: 0a2a 2053 656e 6469 6e67 2064 6174 6120  .* Sending data \n+00010560: 3c34 3e3a 2020 2020 2020 2020 2020 2020  <4>:            \n+00010570: 2020 2020 2020 2020 2020 5075 745f 4c69            Put_Li\n+00010580: 6e65 2028 7072 6f63 6564 7572 6529 2e20  ne (procedure). \n+00010590: 286c 696e 6520 2036 290a 2a20 5365 6e64  (line  6).* Send\n+000105a0: 696e 6720 6461 7461 203c 353e 3a20 2020  ing data <5>:   \n+000105b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000105c0: 2020 2053 656e 6420 2870 726f 6365 6475     Send (procedu\n+000105d0: 7265 292e 2020 2020 2028 6c69 6e65 2020  re).     (line  \n+000105e0: 3629 0a2a 2053 656e 6469 6e67 2070 6174  6).* Sending pat\n+000105f0: 6368 6573 3a20 2020 2020 2020 2020 2020  ches:           \n+00010600: 2020 2020 2020 2020 2020 2020 5265 736f              Reso\n+00010610: 7572 6365 7320 6f6e 2074 6865 2049 6e74  urces on the Int\n+00010620: 6572 6e65 742e 0a20 2020 2020 2020 2020  ernet..         \n+00010630: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010640: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010650: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010660: 2020 2020 2020 286c 696e 6520 2036 290a        (line  6).\n+00010670: 2a20 5365 745f 4275 6666 6572 3a20 2020  * Set_Buffer:   \n 00010680: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010690: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000106a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000106b0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-000106c0: 2036 290a 2a20 5368 7574 646f 776e 3a20   6).* Shutdown: \n+00010690: 2020 2020 2020 2020 2053 6574 5f42 7566           Set_Buf\n+000106a0: 6665 7220 2870 726f 6365 6475 7265 292e  fer (procedure).\n+000106b0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+000106c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000106d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000106e0: 2020 2020 2020 2020 2020 2020 2053 6875               Shu\n-000106f0: 7464 6f77 6e20 2870 726f 6365 6475 7265  tdown (procedure\n-00010700: 292e 2028 6c69 6e65 2020 3929 0a2a 2053  ). (line  9).* S\n-00010710: 4f5f 5243 5642 5546 3a20 2020 2020 2020  O_RCVBUF:       \n-00010720: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010730: 2020 2020 2020 4765 7473 6f63 6b6f 7074        Getsockopt\n-00010740: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n+000106e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000106f0: 286c 696e 6520 2039 290a 2a20 5365 7473  (line  9).* Sets\n+00010700: 6f63 6b6f 7074 3a20 2020 2020 2020 2020  ockopt:         \n+00010710: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010720: 2020 2053 6574 736f 636b 6f70 7420 2870     Setsockopt (p\n+00010730: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+00010740: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010750: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010760: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010770: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010780: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n-00010790: 6e65 2032 3029 0a2a 2053 4f5f 5243 5642  ne 20).* SO_RCVB\n-000107a0: 5546 203c 313e 3a20 2020 2020 2020 2020  UF <1>:         \n-000107b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000107c0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63  Setsockopt (proc\n-000107d0: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n+00010770: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+00010780: 2039 290a 2a20 5365 7474 696e 6720 736f   9).* Setting so\n+00010790: 636b 6574 206f 7074 696f 6e73 3a20 2020  cket options:   \n+000107a0: 2020 2020 2020 2020 2020 2020 2053 6574               Set\n+000107b0: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n+000107c0: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n+000107d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000107e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000107f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010800: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010810: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n-00010820: 0a2a 2053 4f5f 5245 5553 4541 4444 523a  .* SO_REUSEADDR:\n-00010830: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010840: 2020 2020 2020 2020 2020 4765 7473 6f63            Getsoc\n-00010850: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n-00010860: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+00010800: 2020 2020 286c 696e 6520 2036 290a 2a20      (line  6).* \n+00010810: 5368 7574 646f 776e 3a20 2020 2020 2020  Shutdown:       \n+00010820: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010830: 2020 2020 2020 2053 6875 7464 6f77 6e20         Shutdown \n+00010840: 2870 726f 6365 6475 7265 292e 2028 6c69  (procedure). (li\n+00010850: 6e65 2020 3929 0a2a 2053 4f5f 5243 5642  ne  9).* SO_RCVB\n+00010860: 5546 3a20 2020 2020 2020 2020 2020 2020  UF:             \n 00010870: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010880: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010890: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000108a0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f5f   (line 20).* SO_\n-000108b0: 5245 5553 4541 4444 5220 3c31 3e3a 2020  REUSEADDR <1>:  \n+00010880: 4765 7473 6f63 6b6f 7074 2028 7072 6f63  Getsockopt (proc\n+00010890: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n+000108a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000108b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000108c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000108d0: 2020 2020 5365 7473 6f63 6b6f 7074 2028      Setsockopt (\n-000108e0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n-000108f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010900: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010910: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010920: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-00010930: 2032 3029 0a2a 2053 4f5f 5245 5553 4550   20).* SO_REUSEP\n-00010940: 4f52 543a 2020 2020 2020 2020 2020 2020  ORT:            \n-00010950: 2020 2020 2020 2020 2020 2020 2020 4765                Ge\n-00010960: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n-00010970: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+000108d0: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n+000108e0: 0a2a 2053 4f5f 5243 5642 5546 203c 313e  .* SO_RCVBUF <1>\n+000108f0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00010900: 2020 2020 2020 2020 2020 5365 7473 6f63            Setsoc\n+00010910: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n+00010920: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n+00010930: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010940: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010950: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010960: 2028 6c69 6e65 2032 3029 0a2a 2053 4f5f   (line 20).* SO_\n+00010970: 5245 5553 4541 4444 523a 2020 2020 2020  REUSEADDR:      \n 00010980: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010990: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000109a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000109b0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a       (line 20).*\n-000109c0: 2053 4f5f 5245 5553 4550 4f52 5420 3c31   SO_REUSEPORT <1\n-000109d0: 3e3a 2020 2020 2020 2020 2020 2020 2020  >:              \n-000109e0: 2020 2020 2020 2020 5365 7473 6f63 6b6f          Setsocko\n-000109f0: 7074 2028 7072 6f63 6564 7572 6529 2e0a  pt (procedure)..\n-00010a00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010a10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010a20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010a30: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-00010a40: 6c69 6e65 2032 3029 0a2a 2053 4f5f 534e  line 20).* SO_SN\n-00010a50: 4442 5546 3a20 2020 2020 2020 2020 2020  DBUF:           \n+00010990: 2020 2020 4765 7473 6f63 6b6f 7074 2028      Getsockopt (\n+000109a0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n+000109b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000109c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000109d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000109e0: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+000109f0: 2032 3029 0a2a 2053 4f5f 5245 5553 4541   20).* SO_REUSEA\n+00010a00: 4444 5220 3c31 3e3a 2020 2020 2020 2020  DDR <1>:        \n+00010a10: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n+00010a20: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n+00010a30: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+00010a40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010a50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010a60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010a70: 2020 4765 7473 6f63 6b6f 7074 2028 7072    Getsockopt (pr\n-00010a80: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n+00010a70: 2020 2020 2028 6c69 6e65 2032 3029 0a2a       (line 20).*\n+00010a80: 2053 4f5f 5245 5553 4550 4f52 543a 2020   SO_REUSEPORT:  \n 00010a90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010aa0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ab0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ac0: 2020 2020 2020 2020 2028 6c69 6e65 2032           (line 2\n-00010ad0: 3029 0a2a 2053 4f5f 534e 4442 5546 203c  0).* SO_SNDBUF <\n-00010ae0: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n-00010af0: 2020 2020 2020 2020 2020 2020 5365 7473              Sets\n-00010b00: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n-00010b10: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+00010aa0: 2020 2020 2020 2020 4765 7473 6f63 6b6f          Getsocko\n+00010ab0: 7074 2028 7072 6f63 6564 7572 6529 2e0a  pt (procedure)..\n+00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010ad0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010ae0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010af0: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+00010b00: 6c69 6e65 2032 3029 0a2a 2053 4f5f 5245  line 20).* SO_RE\n+00010b10: 5553 4550 4f52 5420 3c31 3e3a 2020 2020  USEPORT <1>:    \n 00010b20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010b30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010b40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010b50: 2020 2028 6c69 6e65 2032 3029 0a2a 2053     (line 20).* S\n-00010b60: 4f43 4b5f 4447 5241 4d3a 2020 2020 2020  OCK_DGRAM:      \n+00010b30: 2020 5365 7473 6f63 6b6f 7074 2028 7072    Setsockopt (pr\n+00010b40: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n+00010b50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010b60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010b70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010b80: 2020 2020 2020 536f 636b 6574 2028 7072        Socket (pr\n-00010b90: 6f63 6564 7572 6529 2e20 2020 286c 696e  ocedure).   (lin\n-00010ba0: 6520 3139 290a 2a20 534f 434b 5f53 5452  e 19).* SOCK_STR\n-00010bb0: 4541 4d3a 2020 2020 2020 2020 2020 2020  EAM:            \n-00010bc0: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00010bd0: 6f63 6b65 7420 2870 726f 6365 6475 7265  ocket (procedure\n-00010be0: 292e 2020 2028 6c69 6e65 2031 3929 0a2a  ).   (line 19).*\n-00010bf0: 2053 6f63 6b65 743a 2020 2020 2020 2020   Socket:        \n+00010b80: 2020 2020 2020 2020 2028 6c69 6e65 2032           (line 2\n+00010b90: 3029 0a2a 2053 4f5f 534e 4442 5546 3a20  0).* SO_SNDBUF: \n+00010ba0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010bb0: 2020 2020 2020 2020 2020 2020 4765 7473              Gets\n+00010bc0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n+00010bd0: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+00010be0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010bf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00010c00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010c10: 2020 2020 2020 2020 5365 7474 696e 6720          Setting \n-00010c20: 7570 2075 6e69 6361 7374 2073 6f63 6b65  up unicast socke\n-00010c30: 7473 2e0a 2020 2020 2020 2020 2020 2020  ts..            \n-00010c40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010c50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010c10: 2020 2028 6c69 6e65 2032 3029 0a2a 2053     (line 20).* S\n+00010c20: 4f5f 534e 4442 5546 203c 313e 3a20 2020  O_SNDBUF <1>:   \n+00010c30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010c40: 2020 2020 2020 5365 7473 6f63 6b6f 7074        Setsockopt\n+00010c50: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n 00010c60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010c70: 2020 2028 6c69 6e65 2020 3629 0a2a 2053     (line  6).* S\n-00010c80: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020  ocket <1>:      \n-00010c90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ca0: 2020 2020 2020 536f 636b 6574 2028 7072        Socket (pr\n-00010cb0: 6f63 6564 7572 6529 2e20 2020 286c 696e  ocedure).   (lin\n-00010cc0: 6520 2039 290a 2a20 536f 636b 6574 2073  e  9).* Socket s\n-00010cd0: 6875 7464 6f77 6e3a 2020 2020 2020 2020  hutdown:        \n-00010ce0: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00010cf0: 6875 7464 6f77 6e20 2870 726f 6365 6475  hutdown (procedu\n-00010d00: 7265 292e 2028 6c69 6e65 2020 3629 0a2a  re). (line  6).*\n-00010d10: 2053 6f63 6b65 745f 4572 726f 723a 2020   Socket_Error:  \n-00010d20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010d30: 2020 2020 2020 2020 4269 6e64 2028 7072          Bind (pr\n-00010d40: 6f63 6564 7572 6529 2e20 2020 2020 286c  ocedure).     (l\n-00010d50: 696e 6520 3330 290a 2a20 536f 636b 6574  ine 30).* Socket\n-00010d60: 5f45 7272 6f72 203c 313e 3a20 2020 2020  _Error <1>:     \n-00010d70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010d80: 2043 6f6e 6e65 6374 2028 7072 6f63 6564   Connect (proced\n-00010d90: 7572 6529 2e20 2028 6c69 6e65 2032 3729  ure).  (line 27)\n-00010da0: 0a2a 2053 6f63 6b65 745f 4644 3a20 2020  .* Socket_FD:   \n-00010db0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010dc0: 2020 2020 2020 2020 2020 5365 7474 696e            Settin\n-00010dd0: 6720 7570 2075 6e69 6361 7374 2073 6f63  g up unicast soc\n-00010de0: 6b65 7473 2e0a 2020 2020 2020 2020 2020  kets..          \n-00010df0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010e00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010e10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010e20: 2020 2020 2028 6c69 6e65 2020 3629 0a2a       (line  6).*\n-00010e30: 2053 6f63 6b65 745f 4644 203c 313e 3a20   Socket_FD <1>: \n-00010e40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010e50: 2020 2020 2020 2020 536f 636b 6574 7320          Sockets \n-00010e60: 7061 636b 6167 652e 2020 2020 2020 286c  package.      (l\n-00010e70: 696e 6520 2039 290a 2a20 536f 636b 6574  ine  9).* Socket\n-00010e80: 732e 4163 6365 7074 5f53 6f63 6b65 743a  s.Accept_Socket:\n-00010e90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ea0: 2041 6363 6570 745f 536f 636b 6574 2028   Accept_Socket (\n-00010eb0: 7072 6f63 6564 7572 6529 2e0a 2020 2020  procedure)..    \n-00010ec0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ed0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ee0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010ef0: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n-00010f00: 2031 3129 0a2a 2053 6f63 6b65 7473 2e42   11).* Sockets.B\n-00010f10: 696e 643a 2020 2020 2020 2020 2020 2020  ind:            \n-00010f20: 2020 2020 2020 2020 2020 2020 2020 4269                Bi\n-00010f30: 6e64 2028 7072 6f63 6564 7572 6529 2e20  nd (procedure). \n-00010f40: 2020 2020 286c 696e 6520 3131 290a 2a20      (line 11).* \n-00010f50: 536f 636b 6574 732e 436f 6e6e 6563 743a  Sockets.Connect:\n-00010f60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010f70: 2020 2020 2020 2043 6f6e 6e65 6374 2028         Connect (\n-00010f80: 7072 6f63 6564 7572 6529 2e20 2028 6c69  procedure).  (li\n-00010f90: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473  ne 11).* Sockets\n-00010fa0: 2e47 6574 3a20 2020 2020 2020 2020 2020  .Get:           \n-00010fb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00010fc0: 4765 7420 2866 756e 6374 696f 6e29 2e20  Get (function). \n-00010fd0: 2020 2020 2020 286c 696e 6520 3131 290a        (line 11).\n-00010fe0: 2a20 536f 636b 6574 732e 4765 745f 4368  * Sockets.Get_Ch\n-00010ff0: 6172 3a20 2020 2020 2020 2020 2020 2020  ar:             \n-00011000: 2020 2020 2020 2020 2047 6574 5f43 6861           Get_Cha\n-00011010: 7220 2866 756e 6374 696f 6e29 2e20 2028  r (function).  (\n-00011020: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65  line 11).* Socke\n-00011030: 7473 2e47 6574 5f4c 696e 653a 2020 2020  ts.Get_Line:    \n-00011040: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011050: 2020 4765 745f 4c69 6e65 2028 6675 6e63    Get_Line (func\n-00011060: 7469 6f6e 292e 2020 286c 696e 6520 3132  tion).  (line 12\n-00011070: 290a 2a20 536f 636b 6574 732e 4765 745f  ).* Sockets.Get_\n-00011080: 4c69 6e65 203c 313e 3a20 2020 2020 2020  Line <1>:       \n-00011090: 2020 2020 2020 2020 2020 2047 6574 5f4c             Get_L\n-000110a0: 696e 6520 2870 726f 6365 6475 7265 292e  ine (procedure).\n-000110b0: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63   (line 11).* Soc\n-000110c0: 6b65 7473 2e47 6574 5f52 6563 6569 7665  kets.Get_Receive\n-000110d0: 5f51 7565 7565 5f53 697a 653a 2020 2020  _Queue_Size:    \n-000110e0: 2020 2020 4765 745f 5265 6365 6976 655f      Get_Receive_\n-000110f0: 5175 6575 655f 5369 7a65 2028 6675 6e63  Queue_Size (func\n-00011100: 7469 6f6e 292e 0a20 2020 2020 2020 2020  tion)..         \n-00011110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011120: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011130: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011140: 2020 2020 2020 286c 696e 6520 3132 290a        (line 12).\n-00011150: 2a20 536f 636b 6574 732e 4765 745f 5365  * Sockets.Get_Se\n-00011160: 6e64 5f51 7565 7565 5f53 697a 653a 2020  nd_Queue_Size:  \n-00011170: 2020 2020 2020 2020 2047 6574 5f53 656e           Get_Sen\n-00011180: 645f 5175 6575 655f 5369 7a65 2028 6675  d_Queue_Size (fu\n-00011190: 6e63 7469 6f6e 292e 0a20 2020 2020 2020  nction)..       \n-000111a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000111b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000111c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000111d0: 2020 2020 2020 2020 286c 696e 6520 3132          (line 12\n-000111e0: 290a 2a20 536f 636b 6574 732e 4765 7473  ).* Sockets.Gets\n-000111f0: 6f63 6b6f 7074 3a20 2020 2020 2020 2020  ockopt:         \n-00011200: 2020 2020 2020 2020 2020 2047 6574 736f             Getso\n-00011210: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n-00011220: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00011230: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011240: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011250: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011260: 2020 286c 696e 6520 3132 290a 2a20 536f    (line 12).* So\n-00011270: 636b 6574 732e 4950 5f41 4444 5f4d 454d  ckets.IP_ADD_MEM\n-00011280: 4245 5253 4849 503a 2020 2020 2020 2020  BERSHIP:        \n-00011290: 2020 2020 2047 6574 736f 636b 6f70 7420       Getsockopt \n-000112a0: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n-000112b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000112c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000112d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000112e0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-000112f0: 6520 3230 290a 2a20 536f 636b 6574 732e  e 20).* Sockets.\n-00011300: 4950 5f41 4444 5f4d 454d 4245 5253 4849  IP_ADD_MEMBERSHI\n-00011310: 5020 3c31 3e3a 2020 2020 2020 2020 2053  P <1>:         S\n-00011320: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n-00011330: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n-00011340: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011350: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011360: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011370: 2020 2020 2020 286c 696e 6520 3230 290a        (line 20).\n-00011380: 2a20 536f 636b 6574 732e 4950 5f44 524f  * Sockets.IP_DRO\n-00011390: 505f 4d45 4d42 4552 5348 4950 3a20 2020  P_MEMBERSHIP:   \n-000113a0: 2020 2020 2020 2020 2047 6574 736f 636b           Getsock\n-000113b0: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n-000113c0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-000113d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000113e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000113f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011400: 286c 696e 6520 3230 290a 2a20 536f 636b  (line 20).* Sock\n-00011410: 6574 732e 4950 5f44 524f 505f 4d45 4d42  ets.IP_DROP_MEMB\n-00011420: 4552 5348 4950 203c 313e 3a20 2020 2020  ERSHIP <1>:     \n-00011430: 2020 2053 6574 736f 636b 6f70 7420 2870     Setsockopt (p\n-00011440: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n-00011450: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011460: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011470: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011480: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-00011490: 3230 290a 2a20 536f 636b 6574 732e 4950  20).* Sockets.IP\n-000114a0: 5f4d 554c 5449 4341 5354 5f4c 4f4f 503a  _MULTICAST_LOOP:\n-000114b0: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n-000114c0: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n-000114d0: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n-000114e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000114f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011510: 2020 2020 286c 696e 6520 3230 290a 2a20      (line 20).* \n-00011520: 536f 636b 6574 732e 4950 5f4d 554c 5449  Sockets.IP_MULTI\n-00011530: 4341 5354 5f4c 4f4f 5020 3c31 3e3a 2020  CAST_LOOP <1>:  \n-00011540: 2020 2020 2020 2053 6574 736f 636b 6f70         Setsockop\n-00011550: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n-00011560: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011570: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011580: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011590: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-000115a0: 696e 6520 3230 290a 2a20 536f 636b 6574  ine 20).* Socket\n-000115b0: 732e 4950 5f4d 554c 5449 4341 5354 5f54  s.IP_MULTICAST_T\n-000115c0: 544c 3a20 2020 2020 2020 2020 2020 2020  TL:             \n-000115d0: 2047 6574 736f 636b 6f70 7420 2870 726f   Getsockopt (pro\n-000115e0: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n-000115f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011600: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011610: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011620: 2020 2020 2020 2020 286c 696e 6520 3230          (line 20\n-00011630: 290a 2a20 536f 636b 6574 732e 4950 5f4d  ).* Sockets.IP_M\n-00011640: 554c 5449 4341 5354 5f54 544c 203c 313e  ULTICAST_TTL <1>\n-00011650: 3a20 2020 2020 2020 2020 2053 6574 736f  :          Setso\n-00011660: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n-00011670: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00011680: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011690: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000116a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000116b0: 2020 286c 696e 6520 3230 290a 2a20 536f    (line 20).* So\n-000116c0: 636b 6574 732e 4950 5052 4f54 4f5f 4950  ckets.IPPROTO_IP\n-000116d0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-000116e0: 2020 2020 2047 6574 736f 636b 6f70 7420       Getsockopt \n-000116f0: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n-00011700: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 286c 696e              (lin\n-00011740: 6520 3230 290a 2a20 536f 636b 6574 732e  e 20).* Sockets.\n-00011750: 4950 5052 4f54 4f5f 4950 203c 313e 3a20  IPPROTO_IP <1>: \n-00011760: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00011770: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n-00011780: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \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 286c 696e 6520 3230 290a        (line 20).\n-000117d0: 2a20 536f 636b 6574 732e 4c69 7374 656e  * Sockets.Listen\n-000117e0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-000117f0: 2020 2020 2020 2020 204c 6973 7465 6e20           Listen \n-00011800: 2870 726f 6365 6475 7265 292e 2020 2028  (procedure).   (\n-00011810: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65  line 11).* Socke\n-00011820: 7473 2e4d 756c 7469 6361 7374 2e43 7265  ts.Multicast.Cre\n-00011830: 6174 655f 4d75 6c74 6963 6173 745f 536f  ate_Multicast_So\n-00011840: 636b 6574 3a20 5365 7474 696e 6720 7570  cket: Setting up\n-00011850: 206d 756c 7469 6361 7374 2073 6f63 6b65   multicast socke\n-00011860: 7473 2e0a 2020 2020 2020 2020 2020 2020  ts..            \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 2028 6c69               (li\n+00010ca0: 6e65 2032 3029 0a2a 2053 4f43 4b5f 4447  ne 20).* SOCK_DG\n+00010cb0: 5241 4d3a 2020 2020 2020 2020 2020 2020  RAM:            \n+00010cc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010cd0: 536f 636b 6574 2028 7072 6f63 6564 7572  Socket (procedur\n+00010ce0: 6529 2e20 2020 286c 696e 6520 3139 290a  e).   (line 19).\n+00010cf0: 2a20 534f 434b 5f53 5452 4541 4d3a 2020  * SOCK_STREAM:  \n+00010d00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010d10: 2020 2020 2020 2020 2053 6f63 6b65 7420           Socket \n+00010d20: 2870 726f 6365 6475 7265 292e 2020 2028  (procedure).   (\n+00010d30: 6c69 6e65 2031 3929 0a2a 2053 6f63 6b65  line 19).* Socke\n+00010d40: 743a 2020 2020 2020 2020 2020 2020 2020  t:              \n+00010d50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010d60: 2020 5365 7474 696e 6720 7570 2075 6e69    Setting up uni\n+00010d70: 6361 7374 2073 6f63 6b65 7473 2e0a 2020  cast sockets..  \n+00010d80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010d90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010da0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010db0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+00010dc0: 6e65 2020 3629 0a2a 2053 6f63 6b65 7420  ne  6).* Socket \n+00010dd0: 3c31 3e3a 2020 2020 2020 2020 2020 2020  <1>:            \n+00010de0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010df0: 536f 636b 6574 2028 7072 6f63 6564 7572  Socket (procedur\n+00010e00: 6529 2e20 2020 286c 696e 6520 2039 290a  e).   (line  9).\n+00010e10: 2a20 536f 636b 6574 2073 6875 7464 6f77  * Socket shutdow\n+00010e20: 6e3a 2020 2020 2020 2020 2020 2020 2020  n:              \n+00010e30: 2020 2020 2020 2020 2053 6875 7464 6f77           Shutdow\n+00010e40: 6e20 2870 726f 6365 6475 7265 292e 2028  n (procedure). (\n+00010e50: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65  line  6).* Socke\n+00010e60: 745f 4572 726f 723a 2020 2020 2020 2020  t_Error:        \n+00010e70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010e80: 2020 4269 6e64 2028 7072 6f63 6564 7572    Bind (procedur\n+00010e90: 6529 2e20 2020 2020 286c 696e 6520 3330  e).     (line 30\n+00010ea0: 290a 2a20 536f 636b 6574 5f45 7272 6f72  ).* Socket_Error\n+00010eb0: 203c 313e 3a20 2020 2020 2020 2020 2020   <1>:           \n+00010ec0: 2020 2020 2020 2020 2020 2043 6f6e 6e65             Conne\n+00010ed0: 6374 2028 7072 6f63 6564 7572 6529 2e20  ct (procedure). \n+00010ee0: 2028 6c69 6e65 2032 3729 0a2a 2053 6f63   (line 27).* Soc\n+00010ef0: 6b65 745f 4644 3a20 2020 2020 2020 2020  ket_FD:         \n+00010f00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010f10: 2020 2020 5365 7474 696e 6720 7570 2075      Setting up u\n+00010f20: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a  nicast sockets..\n+00010f30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010f40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010f50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010f60: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+00010f70: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65  line  6).* Socke\n+00010f80: 745f 4644 203c 313e 3a20 2020 2020 2020  t_FD <1>:       \n+00010f90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00010fa0: 2020 536f 636b 6574 7320 7061 636b 6167    Sockets packag\n+00010fb0: 652e 2020 2020 2020 286c 696e 6520 2039  e.      (line  9\n+00010fc0: 290a 2a20 536f 636b 6574 732e 4163 6365  ).* Sockets.Acce\n+00010fd0: 7074 5f53 6f63 6b65 743a 2020 2020 2020  pt_Socket:      \n+00010fe0: 2020 2020 2020 2020 2020 2041 6363 6570             Accep\n+00010ff0: 745f 536f 636b 6574 2028 7072 6f63 6564  t_Socket (proced\n+00011000: 7572 6529 2e0a 2020 2020 2020 2020 2020  ure)..          \n+00011010: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011020: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011030: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011040: 2020 2020 2028 6c69 6e65 2031 3129 0a2a       (line 11).*\n+00011050: 2053 6f63 6b65 7473 2e42 696e 643a 2020   Sockets.Bind:  \n+00011060: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011070: 2020 2020 2020 2020 4269 6e64 2028 7072          Bind (pr\n+00011080: 6f63 6564 7572 6529 2e20 2020 2020 286c  ocedure).     (l\n+00011090: 696e 6520 3131 290a 2a20 536f 636b 6574  ine 11).* Socket\n+000110a0: 732e 436f 6e6e 6563 743a 2020 2020 2020  s.Connect:      \n+000110b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000110c0: 2043 6f6e 6e65 6374 2028 7072 6f63 6564   Connect (proced\n+000110d0: 7572 6529 2e20 2028 6c69 6e65 2031 3129  ure).  (line 11)\n+000110e0: 0a2a 2053 6f63 6b65 7473 2e47 6574 3a20  .* Sockets.Get: \n+000110f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011100: 2020 2020 2020 2020 2020 4765 7420 2866            Get (f\n+00011110: 756e 6374 696f 6e29 2e20 2020 2020 2020  unction).       \n+00011120: 286c 696e 6520 3131 290a 2a20 536f 636b  (line 11).* Sock\n+00011130: 6574 732e 4765 745f 4368 6172 3a20 2020  ets.Get_Char:   \n+00011140: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011150: 2020 2047 6574 5f43 6861 7220 2866 756e     Get_Char (fun\n+00011160: 6374 696f 6e29 2e20 2028 6c69 6e65 2031  ction).  (line 1\n+00011170: 3129 0a2a 2053 6f63 6b65 7473 2e47 6574  1).* Sockets.Get\n+00011180: 5f4c 696e 653a 2020 2020 2020 2020 2020  _Line:          \n+00011190: 2020 2020 2020 2020 2020 2020 4765 745f              Get_\n+000111a0: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e  Line (function).\n+000111b0: 2020 286c 696e 6520 3132 290a 2a20 536f    (line 12).* So\n+000111c0: 636b 6574 732e 4765 745f 4c69 6e65 203c  ckets.Get_Line <\n+000111d0: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n+000111e0: 2020 2020 2047 6574 5f4c 696e 6520 2870       Get_Line (p\n+000111f0: 726f 6365 6475 7265 292e 2028 6c69 6e65  rocedure). (line\n+00011200: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47   11).* Sockets.G\n+00011210: 6574 5f52 6563 6569 7665 5f51 7565 7565  et_Receive_Queue\n+00011220: 5f53 697a 653a 2020 2020 2020 2020 4765  _Size:        Ge\n+00011230: 745f 5265 6365 6976 655f 5175 6575 655f  t_Receive_Queue_\n+00011240: 5369 7a65 2028 6675 6e63 7469 6f6e 292e  Size (function).\n+00011250: 0a20 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 2020 2020                  \n+00011280: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011290: 286c 696e 6520 3132 290a 2a20 536f 636b  (line 12).* Sock\n+000112a0: 6574 732e 4765 745f 5365 6e64 5f51 7565  ets.Get_Send_Que\n+000112b0: 7565 5f53 697a 653a 2020 2020 2020 2020  ue_Size:        \n+000112c0: 2020 2047 6574 5f53 656e 645f 5175 6575     Get_Send_Queu\n+000112d0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e  e_Size (function\n+000112e0: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n+000112f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011300: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011310: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011320: 2020 286c 696e 6520 3132 290a 2a20 536f    (line 12).* So\n+00011330: 636b 6574 732e 4765 7473 6f63 6b6f 7074  ckets.Getsockopt\n+00011340: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00011350: 2020 2020 2047 6574 736f 636b 6f70 7420       Getsockopt \n+00011360: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n+00011370: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011380: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011390: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000113a0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+000113b0: 6520 3132 290a 2a20 536f 636b 6574 732e  e 12).* Sockets.\n+000113c0: 4950 5f41 4444 5f4d 454d 4245 5253 4849  IP_ADD_MEMBERSHI\n+000113d0: 503a 2020 2020 2020 2020 2020 2020 2047  P:             G\n+000113e0: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n+000113f0: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n+00011400: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011410: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011420: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011430: 2020 2020 2020 286c 696e 6520 3230 290a        (line 20).\n+00011440: 2a20 536f 636b 6574 732e 4950 5f41 4444  * Sockets.IP_ADD\n+00011450: 5f4d 454d 4245 5253 4849 5020 3c31 3e3a  _MEMBERSHIP <1>:\n+00011460: 2020 2020 2020 2020 2053 6574 736f 636b           Setsock\n+00011470: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n+00011480: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00011490: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000114a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000114b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000114c0: 286c 696e 6520 3230 290a 2a20 536f 636b  (line 20).* Sock\n+000114d0: 6574 732e 4950 5f44 524f 505f 4d45 4d42  ets.IP_DROP_MEMB\n+000114e0: 4552 5348 4950 3a20 2020 2020 2020 2020  ERSHIP:         \n+000114f0: 2020 2047 6574 736f 636b 6f70 7420 2870     Getsockopt (p\n+00011500: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+00011510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011520: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011530: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011540: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+00011550: 3230 290a 2a20 536f 636b 6574 732e 4950  20).* Sockets.IP\n+00011560: 5f44 524f 505f 4d45 4d42 4552 5348 4950  _DROP_MEMBERSHIP\n+00011570: 203c 313e 3a20 2020 2020 2020 2053 6574   <1>:        Set\n+00011580: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n+00011590: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n+000115a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000115b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000115c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000115d0: 2020 2020 286c 696e 6520 3230 290a 2a20      (line 20).* \n+000115e0: 536f 636b 6574 732e 4950 5f4d 554c 5449  Sockets.IP_MULTI\n+000115f0: 4341 5354 5f4c 4f4f 503a 2020 2020 2020  CAST_LOOP:      \n+00011600: 2020 2020 2020 2047 6574 736f 636b 6f70         Getsockop\n+00011610: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n+00011620: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011630: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011640: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011650: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n+00011660: 696e 6520 3230 290a 2a20 536f 636b 6574  ine 20).* Socket\n+00011670: 732e 4950 5f4d 554c 5449 4341 5354 5f4c  s.IP_MULTICAST_L\n+00011680: 4f4f 5020 3c31 3e3a 2020 2020 2020 2020  OOP <1>:        \n+00011690: 2053 6574 736f 636b 6f70 7420 2870 726f   Setsockopt (pro\n+000116a0: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n+000116b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000116c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000116d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000116e0: 2020 2020 2020 2020 286c 696e 6520 3230          (line 20\n+000116f0: 290a 2a20 536f 636b 6574 732e 4950 5f4d  ).* Sockets.IP_M\n+00011700: 554c 5449 4341 5354 5f54 544c 3a20 2020  ULTICAST_TTL:   \n+00011710: 2020 2020 2020 2020 2020 2047 6574 736f             Getso\n+00011720: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n+00011730: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n+00011740: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011750: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011760: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011770: 2020 286c 696e 6520 3230 290a 2a20 536f    (line 20).* So\n+00011780: 636b 6574 732e 4950 5f4d 554c 5449 4341  ckets.IP_MULTICA\n+00011790: 5354 5f54 544c 203c 313e 3a20 2020 2020  ST_TTL <1>:     \n+000117a0: 2020 2020 2053 6574 736f 636b 6f70 7420       Setsockopt \n+000117b0: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n+000117c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000117d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000117e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000117f0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+00011800: 6520 3230 290a 2a20 536f 636b 6574 732e  e 20).* Sockets.\n+00011810: 4950 5052 4f54 4f5f 4950 3a20 2020 2020  IPPROTO_IP:     \n+00011820: 2020 2020 2020 2020 2020 2020 2020 2047                 G\n+00011830: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n+00011840: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n+00011850: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011860: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00011870: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011880: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011890: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000118a0: 2020 2028 6c69 6e65 2031 3629 0a2a 2053     (line 16).* S\n-000118b0: 6f63 6b65 7473 2e4d 756c 7469 6361 7374  ockets.Multicast\n-000118c0: 2e43 7265 6174 655f 4d75 6c74 6963 6173  .Create_Multicas\n-000118d0: 745f 536f 636b 6574 203c 313e 3a20 4372  t_Socket <1>: Cr\n-000118e0: 6561 7465 5f4d 756c 7469 6361 7374 5f53  eate_Multicast_S\n-000118f0: 6f63 6b65 7420 2866 756e 6374 696f 6e29  ocket (function)\n-00011900: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-00011910: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011920: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011880: 2020 2020 2020 286c 696e 6520 3230 290a        (line 20).\n+00011890: 2a20 536f 636b 6574 732e 4950 5052 4f54  * Sockets.IPPROT\n+000118a0: 4f5f 4950 203c 313e 3a20 2020 2020 2020  O_IP <1>:       \n+000118b0: 2020 2020 2020 2020 2053 6574 736f 636b           Setsock\n+000118c0: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n+000118d0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+000118e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000118f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011900: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011910: 286c 696e 6520 3230 290a 2a20 536f 636b  (line 20).* Sock\n+00011920: 6574 732e 4c69 7374 656e 3a20 2020 2020  ets.Listen:     \n 00011930: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011940: 2028 6c69 6e65 2031 3429 0a2a 2053 6f63   (line 14).* Soc\n-00011950: 6b65 7473 2e4d 756c 7469 6361 7374 2e43  kets.Multicast.C\n-00011960: 7265 6174 655f 4d75 6c74 6963 6173 745f  reate_Multicast_\n-00011970: 536f 636b 6574 203c 323e 3a20 4372 6561  Socket <2>: Crea\n-00011980: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n-00011990: 6b65 7420 2866 756e 6374 696f 6e29 2e0a  ket (function)..\n-000119a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011940: 2020 204c 6973 7465 6e20 2870 726f 6365     Listen (proce\n+00011950: 6475 7265 292e 2020 2028 6c69 6e65 2031  dure).   (line 1\n+00011960: 3129 0a2a 2053 6f63 6b65 7473 2e4d 756c  1).* Sockets.Mul\n+00011970: 7469 6361 7374 2e43 7265 6174 655f 4d75  ticast.Create_Mu\n+00011980: 6c74 6963 6173 745f 536f 636b 6574 3a20  lticast_Socket: \n+00011990: 5365 7474 696e 6720 7570 206d 756c 7469  Setting up multi\n+000119a0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020  cast sockets..  \n 000119b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000119c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000119d0: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-000119e0: 6c69 6e65 2037 3629 0a2a 2053 6f63 6b65  line 76).* Socke\n-000119f0: 7473 2e4e 616d 696e 672e 4164 6472 6573  ts.Naming.Addres\n-00011a00: 735f 4f66 3a20 2020 2020 2020 2020 2020  s_Of:           \n-00011a10: 2020 4164 6472 6573 735f 4f66 2028 6675    Address_Of (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+000119d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000119e0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+000119f0: 6e65 2031 3629 0a2a 2053 6f63 6b65 7473  ne 16).* Sockets\n+00011a00: 2e4d 756c 7469 6361 7374 2e43 7265 6174  .Multicast.Creat\n+00011a10: 655f 4d75 6c74 6963 6173 745f 536f 636b  e_Multicast_Sock\n+00011a20: 6574 203c 313e 3a20 4372 6561 7465 5f4d  et <1>: Create_M\n+00011a30: 756c 7469 6361 7374 5f53 6f63 6b65 7420  ulticast_Socket \n+00011a40: 2866 756e 6374 696f 6e29 2e0a 2020 2020  (function)..    \n 00011a50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011a60: 2020 2020 2020 2020 286c 696e 6520 3132          (line 12\n-00011a70: 290a 2a20 536f 636b 6574 732e 4e61 6d69  ).* Sockets.Nami\n-00011a80: 6e67 2e41 6e79 5f41 6464 7265 7373 3a20  ng.Any_Address: \n-00011a90: 2020 2020 2020 2020 2020 2041 6e79 5f41             Any_A\n-00011aa0: 6464 7265 7373 2028 6675 6e63 7469 6f6e  ddress (function\n-00011ab0: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00011ac0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011ad0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011ae0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011af0: 2020 286c 696e 6520 3130 290a 2a20 536f    (line 10).* So\n-00011b00: 636b 6574 732e 4e61 6d69 6e67 2e47 6574  ckets.Naming.Get\n-00011b10: 5f50 6565 725f 4164 6472 3a20 2020 2020  _Peer_Addr:     \n-00011b20: 2020 2020 2047 6574 5f50 6565 725f 4164       Get_Peer_Ad\n-00011b30: 6472 2028 6675 6e63 7469 6f6e 292e 0a20  dr (function).. \n-00011b40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011b50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011b60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011b70: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-00011b80: 696e 6520 3132 290a 2a20 536f 636b 6574  ine 12).* Socket\n-00011b90: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565  s.Naming.Get_Pee\n-00011ba0: 725f 506f 7274 3a20 2020 2020 2020 2020  r_Port:         \n-00011bb0: 2047 6574 5f50 6565 725f 506f 7274 2028   Get_Peer_Port (\n-00011bc0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020  function)..     \n-00011bd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 286c 696e 6520            (line \n-00011c10: 3132 290a 2a20 536f 636b 6574 732e 4e61  12).* Sockets.Na\n-00011c20: 6d69 6e67 2e47 6574 5f53 6f63 6b5f 4164  ming.Get_Sock_Ad\n-00011c30: 6472 3a20 2020 2020 2020 2020 2047 6574  dr:          Get\n-00011c40: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63  _Sock_Addr (func\n-00011c50: 7469 6f6e 292e 0a20 2020 2020 2020 2020  tion)..         \n-00011c60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011c70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011c80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011c90: 2020 2020 2020 286c 696e 6520 3132 290a        (line 12).\n-00011ca0: 2a20 536f 636b 6574 732e 4e61 6d69 6e67  * Sockets.Naming\n-00011cb0: 2e47 6574 5f53 6f63 6b5f 506f 7274 3a20  .Get_Sock_Port: \n-00011cc0: 2020 2020 2020 2020 2047 6574 5f53 6f63           Get_Soc\n-00011cd0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e  k_Port (function\n-00011ce0: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00011cf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011d00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011d10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011d20: 2020 286c 696e 6520 3132 290a 2a20 536f    (line 12).* So\n-00011d30: 636b 6574 732e 4e61 6d69 6e67 2e48 6f73  ckets.Naming.Hos\n-00011d40: 745f 4e61 6d65 3a20 2020 2020 2020 2020  t_Name:         \n-00011d50: 2020 2020 2048 6f73 745f 4e61 6d65 2028       Host_Name (\n-00011d60: 6675 6e63 7469 6f6e 292e 2028 6c69 6e65  function). (line\n-00011d70: 2031 3029 0a2a 2053 6f63 6b65 7473 2e4e   10).* Sockets.N\n-00011d80: 616d 696e 672e 496d 6167 653a 2020 2020  aming.Image:    \n-00011d90: 2020 2020 2020 2020 2020 2020 2020 496d                Im\n-00011da0: 6167 6520 2866 756e 6374 696f 6e29 2e20  age (function). \n-00011db0: 2020 2020 286c 696e 6520 3131 290a 2a20      (line 11).* \n-00011dc0: 536f 636b 6574 732e 4e61 6d69 6e67 2e49  Sockets.Naming.I\n-00011dd0: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49  nfo_Of_Name_Or_I\n-00011de0: 503a 2020 2020 2049 6e66 6f5f 4f66 5f4e  P:     Info_Of_N\n-00011df0: 616d 655f 4f72 5f49 5020 2866 756e 6374  ame_Or_IP (funct\n-00011e00: 696f 6e29 2e0a 2020 2020 2020 2020 2020  ion)..          \n-00011e10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011e20: 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 2020 2020 2028 6c69 6e65             (line\n+00011a90: 2031 3429 0a2a 2053 6f63 6b65 7473 2e4d   14).* Sockets.M\n+00011aa0: 756c 7469 6361 7374 2e43 7265 6174 655f  ulticast.Create_\n+00011ab0: 4d75 6c74 6963 6173 745f 536f 636b 6574  Multicast_Socket\n+00011ac0: 203c 323e 3a20 4372 6561 7465 5f4d 756c   <2>: Create_Mul\n+00011ad0: 7469 6361 7374 5f53 6f63 6b65 7420 2866  ticast_Socket (f\n+00011ae0: 756e 6374 696f 6e29 2e0a 2020 2020 2020  unction)..      \n+00011af0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011b00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011b10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011b20: 2020 2020 2020 2020 2028 6c69 6e65 2037           (line 7\n+00011b30: 3629 0a2a 2053 6f63 6b65 7473 2e4e 616d  6).* Sockets.Nam\n+00011b40: 696e 672e 4164 6472 6573 735f 4f66 3a20  ing.Address_Of: \n+00011b50: 2020 2020 2020 2020 2020 2020 4164 6472              Addr\n+00011b60: 6573 735f 4f66 2028 6675 6e63 7469 6f6e  ess_Of (function\n+00011b70: 292e 0a20 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 2020                  \n+00011ba0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011bb0: 2020 286c 696e 6520 3132 290a 2a20 536f    (line 12).* So\n+00011bc0: 636b 6574 732e 4e61 6d69 6e67 2e41 6e79  ckets.Naming.Any\n+00011bd0: 5f41 6464 7265 7373 3a20 2020 2020 2020  _Address:       \n+00011be0: 2020 2020 2041 6e79 5f41 6464 7265 7373       Any_Address\n+00011bf0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020   (function)..   \n+00011c00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011c10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011c20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011c30: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+00011c40: 6520 3130 290a 2a20 536f 636b 6574 732e  e 10).* Sockets.\n+00011c50: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f  Naming.Get_Peer_\n+00011c60: 4164 6472 3a20 2020 2020 2020 2020 2047  Addr:          G\n+00011c70: 6574 5f50 6565 725f 4164 6472 2028 6675  et_Peer_Addr (fu\n+00011c80: 6e63 7469 6f6e 292e 0a20 2020 2020 2020  nction)..       \n+00011c90: 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: 2020 2020 2020 2020 286c 696e 6520 3132          (line 12\n+00011cd0: 290a 2a20 536f 636b 6574 732e 4e61 6d69  ).* Sockets.Nami\n+00011ce0: 6e67 2e47 6574 5f50 6565 725f 506f 7274  ng.Get_Peer_Port\n+00011cf0: 3a20 2020 2020 2020 2020 2047 6574 5f50  :          Get_P\n+00011d00: 6565 725f 506f 7274 2028 6675 6e63 7469  eer_Port (functi\n+00011d10: 6f6e 292e 0a20 2020 2020 2020 2020 2020  on)..           \n+00011d20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011d30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011d40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011d50: 2020 2020 286c 696e 6520 3132 290a 2a20      (line 12).* \n+00011d60: 536f 636b 6574 732e 4e61 6d69 6e67 2e47  Sockets.Naming.G\n+00011d70: 6574 5f53 6f63 6b5f 4164 6472 3a20 2020  et_Sock_Addr:   \n+00011d80: 2020 2020 2020 2047 6574 5f53 6f63 6b5f         Get_Sock_\n+00011d90: 4164 6472 2028 6675 6e63 7469 6f6e 292e  Addr (function).\n+00011da0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00011db0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011dc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011dd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011de0: 286c 696e 6520 3132 290a 2a20 536f 636b  (line 12).* Sock\n+00011df0: 6574 732e 4e61 6d69 6e67 2e47 6574 5f53  ets.Naming.Get_S\n+00011e00: 6f63 6b5f 506f 7274 3a20 2020 2020 2020  ock_Port:       \n+00011e10: 2020 2047 6574 5f53 6f63 6b5f 506f 7274     Get_Sock_Port\n+00011e20: 2028 6675 6e63 7469 6f6e 292e 0a20 2020   (function)..   \n 00011e30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011e40: 2020 2020 2028 6c69 6e65 2031 3229 0a2a       (line 12).*\n-00011e50: 2053 6f63 6b65 7473 2e4e 616d 696e 672e   Sockets.Naming.\n-00011e60: 4973 5f49 505f 4164 6472 6573 733a 2020  Is_IP_Address:  \n-00011e70: 2020 2020 2020 2020 4973 5f49 505f 4164          Is_IP_Ad\n-00011e80: 6472 6573 7320 2866 756e 6374 696f 6e29  dress (function)\n-00011e90: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-00011ea0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011eb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011ec0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011ed0: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63   (line 12).* Soc\n-00011ee0: 6b65 7473 2e4e 616d 696e 672e 4e61 6d65  kets.Naming.Name\n-00011ef0: 5f4f 663a 2020 2020 2020 2020 2020 2020  _Of:            \n-00011f00: 2020 2020 4e61 6d65 5f4f 6620 2866 756e      Name_Of (fun\n-00011f10: 6374 696f 6e29 2e20 2020 286c 696e 6520  ction).   (line \n-00011f20: 3131 290a 2a20 536f 636b 6574 732e 4e61  11).* Sockets.Na\n-00011f30: 6d69 6e67 2e56 616c 7565 3a20 2020 2020  ming.Value:     \n-00011f40: 2020 2020 2020 2020 2020 2020 2056 616c               Val\n-00011f50: 7565 2028 6675 6e63 7469 6f6e 292e 2020  ue (function).  \n-00011f60: 2020 2028 6c69 6e65 2031 3129 0a2a 2053     (line 11).* S\n-00011f70: 6f63 6b65 7473 2e4e 6577 5f4c 696e 653a  ockets.New_Line:\n-00011f80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00011f90: 2020 2020 2020 4e65 775f 4c69 6e65 2028        New_Line (\n-00011fa0: 7072 6f63 6564 7572 6529 2e20 286c 696e  procedure). (lin\n-00011fb0: 6520 3131 290a 2a20 536f 636b 6574 732e  e 11).* Sockets.\n-00011fc0: 5075 743a 2020 2020 2020 2020 2020 2020  Put:            \n-00011fd0: 2020 2020 2020 2020 2020 2020 2020 2050                 P\n-00011fe0: 7574 2028 7072 6f63 6564 7572 6529 2e20  ut (procedure). \n-00011ff0: 2020 2020 2028 6c69 6e65 2031 3129 0a2a       (line 11).*\n-00012000: 2053 6f63 6b65 7473 2e50 7574 5f4c 696e   Sockets.Put_Lin\n-00012010: 653a 2020 2020 2020 2020 2020 2020 2020  e:              \n-00012020: 2020 2020 2020 2020 5075 745f 4c69 6e65          Put_Line\n-00012030: 2028 7072 6f63 6564 7572 6529 2e20 286c   (procedure). (l\n-00012040: 696e 6520 3131 290a 2a20 536f 636b 6574  ine 11).* Socket\n-00012050: 732e 5265 6365 6976 653a 2020 2020 2020  s.Receive:      \n-00012060: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012070: 2052 6563 6569 7665 2028 6675 6e63 7469   Receive (functi\n-00012080: 6f6e 292e 2020 2028 6c69 6e65 2031 3229  on).   (line 12)\n-00012090: 0a2a 2053 6f63 6b65 7473 2e52 6563 6569  .* Sockets.Recei\n-000120a0: 7665 203c 313e 3a20 2020 2020 2020 2020  ve <1>:         \n-000120b0: 2020 2020 2020 2020 2020 5265 6365 6976            Receiv\n-000120c0: 6520 2870 726f 6365 6475 7265 292e 2020  e (procedure).  \n-000120d0: 286c 696e 6520 3131 290a 2a20 536f 636b  (line 11).* Sock\n-000120e0: 6574 732e 5265 6365 6976 655f 536f 6d65  ets.Receive_Some\n-000120f0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n-00012100: 2020 2052 6563 6569 7665 5f53 6f6d 6520     Receive_Some \n-00012110: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n-00012120: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012130: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012140: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012150: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-00012160: 6520 3133 290a 2a20 536f 636b 6574 732e  e 13).* Sockets.\n-00012170: 5365 6e64 3a20 2020 2020 2020 2020 2020  Send:           \n-00012180: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00012190: 656e 6420 2870 726f 6365 6475 7265 292e  end (procedure).\n-000121a0: 2020 2020 2028 6c69 6e65 2031 3129 0a2a       (line 11).*\n-000121b0: 2053 6f63 6b65 7473 2e53 6574 5f42 7566   Sockets.Set_Buf\n-000121c0: 6665 723a 2020 2020 2020 2020 2020 2020  fer:            \n-000121d0: 2020 2020 2020 2020 5365 745f 4275 6666          Set_Buff\n-000121e0: 6572 2028 7072 6f63 6564 7572 6529 2e0a  er (procedure)..\n-000121f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012200: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012210: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012220: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n-00012230: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65  line 11).* Socke\n-00012240: 7473 2e53 6574 736f 636b 6f70 743a 2020  ts.Setsockopt:  \n-00012250: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012260: 2020 5365 7473 6f63 6b6f 7074 2028 7072    Setsockopt (pr\n-00012270: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n+00011e40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011e50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011e60: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+00011e70: 6520 3132 290a 2a20 536f 636b 6574 732e  e 12).* Sockets.\n+00011e80: 4e61 6d69 6e67 2e48 6f73 745f 4e61 6d65  Naming.Host_Name\n+00011e90: 3a20 2020 2020 2020 2020 2020 2020 2048  :              H\n+00011ea0: 6f73 745f 4e61 6d65 2028 6675 6e63 7469  ost_Name (functi\n+00011eb0: 6f6e 292e 2028 6c69 6e65 2031 3029 0a2a  on). (line 10).*\n+00011ec0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e   Sockets.Naming.\n+00011ed0: 496d 6167 653a 2020 2020 2020 2020 2020  Image:          \n+00011ee0: 2020 2020 2020 2020 496d 6167 6520 2866          Image (f\n+00011ef0: 756e 6374 696f 6e29 2e20 2020 2020 286c  unction).     (l\n+00011f00: 696e 6520 3131 290a 2a20 536f 636b 6574  ine 11).* Socket\n+00011f10: 732e 4e61 6d69 6e67 2e49 6e66 6f5f 4f66  s.Naming.Info_Of\n+00011f20: 5f4e 616d 655f 4f72 5f49 503a 2020 2020  _Name_Or_IP:    \n+00011f30: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72   Info_Of_Name_Or\n+00011f40: 5f49 5020 2866 756e 6374 696f 6e29 2e0a  _IP (function)..\n+00011f50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011f60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011f70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011f80: 2020 2020 2020 2020 2020 2020 2020 2028                 (\n+00011f90: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65  line 12).* Socke\n+00011fa0: 7473 2e4e 616d 696e 672e 4973 5f49 505f  ts.Naming.Is_IP_\n+00011fb0: 4164 6472 6573 733a 2020 2020 2020 2020  Address:        \n+00011fc0: 2020 4973 5f49 505f 4164 6472 6573 7320    Is_IP_Address \n+00011fd0: 2866 756e 6374 696f 6e29 2e0a 2020 2020  (function)..    \n+00011fe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00011ff0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012000: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012010: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+00012020: 2031 3229 0a2a 2053 6f63 6b65 7473 2e4e   12).* Sockets.N\n+00012030: 616d 696e 672e 4e61 6d65 5f4f 663a 2020  aming.Name_Of:  \n+00012040: 2020 2020 2020 2020 2020 2020 2020 4e61                Na\n+00012050: 6d65 5f4f 6620 2866 756e 6374 696f 6e29  me_Of (function)\n+00012060: 2e20 2020 286c 696e 6520 3131 290a 2a20  .   (line 11).* \n+00012070: 536f 636b 6574 732e 4e61 6d69 6e67 2e56  Sockets.Naming.V\n+00012080: 616c 7565 3a20 2020 2020 2020 2020 2020  alue:           \n+00012090: 2020 2020 2020 2056 616c 7565 2028 6675         Value (fu\n+000120a0: 6e63 7469 6f6e 292e 2020 2020 2028 6c69  nction).     (li\n+000120b0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473  ne 11).* Sockets\n+000120c0: 2e4e 6577 5f4c 696e 653a 2020 2020 2020  .New_Line:      \n+000120d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000120e0: 4e65 775f 4c69 6e65 2028 7072 6f63 6564  New_Line (proced\n+000120f0: 7572 6529 2e20 286c 696e 6520 3131 290a  ure). (line 11).\n+00012100: 2a20 536f 636b 6574 732e 5075 743a 2020  * Sockets.Put:  \n+00012110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012120: 2020 2020 2020 2020 2050 7574 2028 7072           Put (pr\n+00012130: 6f63 6564 7572 6529 2e20 2020 2020 2028  ocedure).      (\n+00012140: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65  line 11).* Socke\n+00012150: 7473 2e50 7574 5f4c 696e 653a 2020 2020  ts.Put_Line:    \n+00012160: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012170: 2020 5075 745f 4c69 6e65 2028 7072 6f63    Put_Line (proc\n+00012180: 6564 7572 6529 2e20 286c 696e 6520 3131  edure). (line 11\n+00012190: 290a 2a20 536f 636b 6574 732e 5265 6365  ).* Sockets.Rece\n+000121a0: 6976 653a 2020 2020 2020 2020 2020 2020  ive:            \n+000121b0: 2020 2020 2020 2020 2020 2052 6563 6569             Recei\n+000121c0: 7665 2028 6675 6e63 7469 6f6e 292e 2020  ve (function).  \n+000121d0: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63   (line 12).* Soc\n+000121e0: 6b65 7473 2e52 6563 6569 7665 203c 313e  kets.Receive <1>\n+000121f0: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00012200: 2020 2020 5265 6365 6976 6520 2870 726f      Receive (pro\n+00012210: 6365 6475 7265 292e 2020 286c 696e 6520  cedure).  (line \n+00012220: 3131 290a 2a20 536f 636b 6574 732e 5265  11).* Sockets.Re\n+00012230: 6365 6976 655f 536f 6d65 3a20 2020 2020  ceive_Some:     \n+00012240: 2020 2020 2020 2020 2020 2020 2052 6563               Rec\n+00012250: 6569 7665 5f53 6f6d 6520 2870 726f 6365  eive_Some (proce\n+00012260: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n+00012270: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012280: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012290: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000122a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000122b0: 2020 2020 2020 2020 2028 6c69 6e65 2031           (line 1\n-000122c0: 3229 0a2a 2053 6f63 6b65 7473 2e53 6875  2).* Sockets.Shu\n-000122d0: 7464 6f77 6e3a 2020 2020 2020 2020 2020  tdown:          \n-000122e0: 2020 2020 2020 2020 2020 2020 5368 7574              Shut\n-000122f0: 646f 776e 2028 7072 6f63 6564 7572 6529  down (procedure)\n-00012300: 2e20 286c 696e 6520 3131 290a 2a20 536f  . (line 11).* So\n-00012310: 636b 6574 732e 534f 5f52 4356 4255 463a  ckets.SO_RCVBUF:\n-00012320: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012330: 2020 2020 2047 6574 736f 636b 6f70 7420       Getsockopt \n-00012340: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n+000122a0: 2020 2020 2020 286c 696e 6520 3133 290a        (line 13).\n+000122b0: 2a20 536f 636b 6574 732e 5365 6e64 3a20  * Sockets.Send: \n+000122c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000122d0: 2020 2020 2020 2020 2053 656e 6420 2870           Send (p\n+000122e0: 726f 6365 6475 7265 292e 2020 2020 2028  rocedure).     (\n+000122f0: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65  line 11).* Socke\n+00012300: 7473 2e53 6574 5f42 7566 6665 723a 2020  ts.Set_Buffer:  \n+00012310: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012320: 2020 5365 745f 4275 6666 6572 2028 7072    Set_Buffer (pr\n+00012330: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n+00012340: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012350: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012360: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012370: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012380: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-00012390: 6520 3230 290a 2a20 536f 636b 6574 732e  e 20).* Sockets.\n-000123a0: 534f 5f52 4356 4255 4620 3c31 3e3a 2020  SO_RCVBUF <1>:  \n-000123b0: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-000123c0: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n-000123d0: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n+00012370: 2020 2020 2020 2020 2028 6c69 6e65 2031           (line 1\n+00012380: 3129 0a2a 2053 6f63 6b65 7473 2e53 6574  1).* Sockets.Set\n+00012390: 736f 636b 6f70 743a 2020 2020 2020 2020  sockopt:        \n+000123a0: 2020 2020 2020 2020 2020 2020 5365 7473              Sets\n+000123b0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n+000123c0: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+000123d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000123e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000123f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012400: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012410: 2020 2020 2020 286c 696e 6520 3230 290a        (line 20).\n-00012420: 2a20 536f 636b 6574 732e 534f 5f52 4555  * Sockets.SO_REU\n-00012430: 5345 4144 4452 3a20 2020 2020 2020 2020  SEADDR:         \n-00012440: 2020 2020 2020 2020 2047 6574 736f 636b           Getsock\n-00012450: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n-00012460: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n-00012470: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012480: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012490: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000124a0: 286c 696e 6520 3230 290a 2a20 536f 636b  (line 20).* Sock\n-000124b0: 6574 732e 534f 5f52 4555 5345 4144 4452  ets.SO_REUSEADDR\n-000124c0: 203c 313e 3a20 2020 2020 2020 2020 2020   <1>:           \n-000124d0: 2020 2053 6574 736f 636b 6f70 7420 2870     Setsockopt (p\n-000124e0: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n-000124f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012500: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012510: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012520: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n-00012530: 3230 290a 2a20 536f 636b 6574 732e 534f  20).* Sockets.SO\n-00012540: 5f52 4555 5345 504f 5254 3a20 2020 2020  _REUSEPORT:     \n-00012550: 2020 2020 2020 2020 2020 2020 2047 6574               Get\n-00012560: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n-00012570: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n-00012580: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012590: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000125a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000125b0: 2020 2020 286c 696e 6520 3230 290a 2a20      (line 20).* \n-000125c0: 536f 636b 6574 732e 534f 5f52 4555 5345  Sockets.SO_REUSE\n-000125d0: 504f 5254 203c 313e 3a20 2020 2020 2020  PORT <1>:       \n-000125e0: 2020 2020 2020 2053 6574 736f 636b 6f70         Setsockop\n-000125f0: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n-00012600: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012610: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012620: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012630: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n-00012640: 696e 6520 3230 290a 2a20 536f 636b 6574  ine 20).* Socket\n-00012650: 732e 534f 5f53 4e44 4255 463a 2020 2020  s.SO_SNDBUF:    \n+00012400: 2020 2028 6c69 6e65 2031 3229 0a2a 2053     (line 12).* S\n+00012410: 6f63 6b65 7473 2e53 6875 7464 6f77 6e3a  ockets.Shutdown:\n+00012420: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012430: 2020 2020 2020 5368 7574 646f 776e 2028        Shutdown (\n+00012440: 7072 6f63 6564 7572 6529 2e20 286c 696e  procedure). (lin\n+00012450: 6520 3131 290a 2a20 536f 636b 6574 732e  e 11).* Sockets.\n+00012460: 534f 5f52 4356 4255 463a 2020 2020 2020  SO_RCVBUF:      \n+00012470: 2020 2020 2020 2020 2020 2020 2020 2047                 G\n+00012480: 6574 736f 636b 6f70 7420 2870 726f 6365  etsockopt (proce\n+00012490: 6475 7265 292e 0a20 2020 2020 2020 2020  dure)..         \n+000124a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000124b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000124c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000124d0: 2020 2020 2020 286c 696e 6520 3230 290a        (line 20).\n+000124e0: 2a20 536f 636b 6574 732e 534f 5f52 4356  * Sockets.SO_RCV\n+000124f0: 4255 4620 3c31 3e3a 2020 2020 2020 2020  BUF <1>:        \n+00012500: 2020 2020 2020 2020 2053 6574 736f 636b           Setsock\n+00012510: 6f70 7420 2870 726f 6365 6475 7265 292e  opt (procedure).\n+00012520: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00012530: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012540: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012550: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012560: 286c 696e 6520 3230 290a 2a20 536f 636b  (line 20).* Sock\n+00012570: 6574 732e 534f 5f52 4555 5345 4144 4452  ets.SO_REUSEADDR\n+00012580: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00012590: 2020 2047 6574 736f 636b 6f70 7420 2870     Getsockopt (p\n+000125a0: 726f 6365 6475 7265 292e 0a20 2020 2020  rocedure)..     \n+000125b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000125c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000125d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000125e0: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+000125f0: 3230 290a 2a20 536f 636b 6574 732e 534f  20).* Sockets.SO\n+00012600: 5f52 4555 5345 4144 4452 203c 313e 3a20  _REUSEADDR <1>: \n+00012610: 2020 2020 2020 2020 2020 2020 2053 6574               Set\n+00012620: 736f 636b 6f70 7420 2870 726f 6365 6475  sockopt (procedu\n+00012630: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n+00012640: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012650: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012660: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012670: 2047 6574 736f 636b 6f70 7420 2870 726f   Getsockopt (pro\n-00012680: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n-00012690: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 286c 696e 6520 3230          (line 20\n-000126d0: 290a 2a20 536f 636b 6574 732e 534f 5f53  ).* Sockets.SO_S\n-000126e0: 4e44 4255 4620 3c31 3e3a 2020 2020 2020  NDBUF <1>:      \n-000126f0: 2020 2020 2020 2020 2020 2053 6574 736f             Setso\n-00012700: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n-00012710: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00012720: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012730: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012740: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012750: 2020 286c 696e 6520 3230 290a 2a20 536f    (line 20).* So\n-00012760: 636b 6574 732e 536f 636b 6574 3a20 2020  ckets.Socket:   \n+00012670: 2020 2020 286c 696e 6520 3230 290a 2a20      (line 20).* \n+00012680: 536f 636b 6574 732e 534f 5f52 4555 5345  Sockets.SO_REUSE\n+00012690: 504f 5254 3a20 2020 2020 2020 2020 2020  PORT:           \n+000126a0: 2020 2020 2020 2047 6574 736f 636b 6f70         Getsockop\n+000126b0: 7420 2870 726f 6365 6475 7265 292e 0a20  t (procedure).. \n+000126c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000126d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000126e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000126f0: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n+00012700: 696e 6520 3230 290a 2a20 536f 636b 6574  ine 20).* Socket\n+00012710: 732e 534f 5f52 4555 5345 504f 5254 203c  s.SO_REUSEPORT <\n+00012720: 313e 3a20 2020 2020 2020 2020 2020 2020  1>:             \n+00012730: 2053 6574 736f 636b 6f70 7420 2870 726f   Setsockopt (pro\n+00012740: 6365 6475 7265 292e 0a20 2020 2020 2020  cedure)..       \n+00012750: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012760: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012770: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012780: 2020 2020 2053 6574 7469 6e67 2075 7020       Setting up \n-00012790: 756e 6963 6173 7420 736f 636b 6574 732e  unicast sockets.\n-000127a0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \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: 286c 696e 6520 2036 290a 2a20 536f 636b  (line  6).* Sock\n-000127f0: 6574 732e 536f 636b 6574 203c 313e 3a20  ets.Socket <1>: \n+00012780: 2020 2020 2020 2020 286c 696e 6520 3230          (line 20\n+00012790: 290a 2a20 536f 636b 6574 732e 534f 5f53  ).* Sockets.SO_S\n+000127a0: 4e44 4255 463a 2020 2020 2020 2020 2020  NDBUF:          \n+000127b0: 2020 2020 2020 2020 2020 2047 6574 736f             Getso\n+000127c0: 636b 6f70 7420 2870 726f 6365 6475 7265  ckopt (procedure\n+000127d0: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n+000127e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000127f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012800: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012810: 2020 2053 6f63 6b65 7420 2870 726f 6365     Socket (proce\n-00012820: 6475 7265 292e 2020 2028 6c69 6e65 2031  dure).   (line 1\n-00012830: 3229 0a2a 2053 6f63 6b65 7473 2e53 4f4c  2).* Sockets.SOL\n-00012840: 5f53 4f43 4b45 543a 2020 2020 2020 2020  _SOCKET:        \n-00012850: 2020 2020 2020 2020 2020 2020 4765 7473              Gets\n-00012860: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n-00012870: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+00012810: 2020 286c 696e 6520 3230 290a 2a20 536f    (line 20).* So\n+00012820: 636b 6574 732e 534f 5f53 4e44 4255 4620  ckets.SO_SNDBUF \n+00012830: 3c31 3e3a 2020 2020 2020 2020 2020 2020  <1>:            \n+00012840: 2020 2020 2053 6574 736f 636b 6f70 7420       Setsockopt \n+00012850: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n+00012860: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012870: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012880: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012890: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000128a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000128b0: 2020 2028 6c69 6e65 2032 3029 0a2a 2053     (line 20).* S\n-000128c0: 6f63 6b65 7473 2e53 4f4c 5f53 4f43 4b45  ockets.SOL_SOCKE\n-000128d0: 5420 3c31 3e3a 2020 2020 2020 2020 2020  T <1>:          \n-000128e0: 2020 2020 2020 5365 7473 6f63 6b6f 7074        Setsockopt\n-000128f0: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n+00012890: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+000128a0: 6520 3230 290a 2a20 536f 636b 6574 732e  e 20).* Sockets.\n+000128b0: 536f 636b 6574 3a20 2020 2020 2020 2020  Socket:         \n+000128c0: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n+000128d0: 6574 7469 6e67 2075 7020 756e 6963 6173  etting up unicas\n+000128e0: 7420 736f 636b 6574 732e 0a20 2020 2020  t sockets..     \n+000128f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012900: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012910: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012920: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012930: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n-00012940: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473  ne 20).* Sockets\n-00012950: 2e55 6e73 6574 5f42 7566 6665 723a 2020  .Unset_Buffer:  \n-00012960: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012970: 556e 7365 745f 4275 6666 6572 2028 7072  Unset_Buffer (pr\n-00012980: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n-00012990: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000129a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000129b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000129c0: 2020 2020 2020 2020 2028 6c69 6e65 2031           (line 1\n-000129d0: 3129 0a2a 2053 4f4c 5f53 4f43 4b45 543a  1).* SOL_SOCKET:\n+00012920: 2020 2020 2020 2020 2020 286c 696e 6520            (line \n+00012930: 2036 290a 2a20 536f 636b 6574 732e 536f   6).* Sockets.So\n+00012940: 636b 6574 203c 313e 3a20 2020 2020 2020  cket <1>:       \n+00012950: 2020 2020 2020 2020 2020 2020 2053 6f63               Soc\n+00012960: 6b65 7420 2870 726f 6365 6475 7265 292e  ket (procedure).\n+00012970: 2020 2028 6c69 6e65 2031 3229 0a2a 2053     (line 12).* S\n+00012980: 6f63 6b65 7473 2e53 4f4c 5f53 4f43 4b45  ockets.SOL_SOCKE\n+00012990: 543a 2020 2020 2020 2020 2020 2020 2020  T:              \n+000129a0: 2020 2020 2020 4765 7473 6f63 6b6f 7074        Getsockopt\n+000129b0: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n+000129c0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000129d0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 000129e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000129f0: 2020 2020 2020 2020 2020 2020 4765 7473              Gets\n-00012a00: 6f63 6b6f 7074 2028 7072 6f63 6564 7572  ockopt (procedur\n-00012a10: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+000129f0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+00012a00: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473  ne 20).* Sockets\n+00012a10: 2e53 4f4c 5f53 4f43 4b45 5420 3c31 3e3a  .SOL_SOCKET <1>:\n 00012a20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012a30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012a40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012a50: 2020 2028 6c69 6e65 2032 3029 0a2a 2053     (line 20).* S\n-00012a60: 4f4c 5f53 4f43 4b45 5420 3c31 3e3a 2020  OL_SOCKET <1>:  \n+00012a30: 5365 7473 6f63 6b6f 7074 2028 7072 6f63  Setsockopt (proc\n+00012a40: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n+00012a50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012a60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012a70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012a80: 2020 2020 2020 5365 7473 6f63 6b6f 7074        Setsockopt\n-00012a90: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n-00012aa0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012ab0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012ac0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012ad0: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n-00012ae0: 6e65 2032 3029 0a2a 2053 7472 6561 6d5f  ne 20).* Stream_\n-00012af0: 456c 656d 656e 745f 4172 7261 793a 2020  Element_Array:  \n+00012a80: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n+00012a90: 0a2a 2053 6f63 6b65 7473 2e55 6e73 6574  .* Sockets.Unset\n+00012aa0: 5f42 7566 6665 723a 2020 2020 2020 2020  _Buffer:        \n+00012ab0: 2020 2020 2020 2020 2020 556e 7365 745f            Unset_\n+00012ac0: 4275 6666 6572 2028 7072 6f63 6564 7572  Buffer (procedur\n+00012ad0: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+00012ae0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012af0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012b00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012b10: 5261 7720 6461 7461 206d 616e 6970 756c  Raw data manipul\n-00012b20: 6174 696f 6e2e 0a20 2020 2020 2020 2020  ation..         \n+00012b10: 2020 2028 6c69 6e65 2031 3129 0a2a 2053     (line 11).* S\n+00012b20: 4f4c 5f53 4f43 4b45 543a 2020 2020 2020  OL_SOCKET:      \n 00012b30: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 286c 696e 6520 2036 290a        (line  6).\n-00012b70: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74  * Stream_Element\n-00012b80: 5f41 7272 6179 203c 313e 3a20 2020 2020  _Array <1>:     \n-00012b90: 2020 2020 2020 2020 2052 6563 6569 7665           Receive\n-00012ba0: 2028 6675 6e63 7469 6f6e 292e 2020 2028   (function).   (\n-00012bb0: 6c69 6e65 2032 3229 0a2a 2053 7472 6561  line 22).* Strea\n-00012bc0: 6d5f 456c 656d 656e 745f 4172 7261 7920  m_Element_Array \n-00012bd0: 3c32 3e3a 2020 2020 2020 2020 2020 2020  <2>:            \n-00012be0: 2020 5265 6365 6976 6520 2870 726f 6365    Receive (proce\n-00012bf0: 6475 7265 292e 2020 286c 696e 6520 3138  dure).  (line 18\n-00012c00: 290a 2a20 5374 7265 616d 5f45 6c65 6d65  ).* Stream_Eleme\n-00012c10: 6e74 5f41 7272 6179 203c 333e 3a20 2020  nt_Array <3>:   \n-00012c20: 2020 2020 2020 2020 2020 2052 6563 6569             Recei\n-00012c30: 7665 5f53 6f6d 6520 2870 726f 6365 6475  ve_Some (procedu\n-00012c40: 7265 292e 0a20 2020 2020 2020 2020 2020  re)..           \n-00012c50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012c60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012c70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012c80: 2020 2020 286c 696e 6520 3231 290a 2a20      (line 21).* \n-00012c90: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41  Stream_Element_A\n-00012ca0: 7272 6179 203c 343e 3a20 2020 2020 2020  rray <4>:       \n-00012cb0: 2020 2020 2020 2053 656e 6420 2870 726f         Send (pro\n-00012cc0: 6365 6475 7265 292e 2020 2020 2028 6c69  cedure).     (li\n-00012cd0: 6e65 2031 3729 0a2a 2053 7472 6561 6d5f  ne 17).* Stream_\n-00012ce0: 456c 656d 656e 745f 436f 756e 743a 2020  Element_Count:  \n-00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012d00: 5265 6365 6976 6520 2866 756e 6374 696f  Receive (functio\n-00012d10: 6e29 2e20 2020 286c 696e 6520 3232 290a  n).   (line 22).\n-00012d20: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74  * Stream_Element\n-00012d30: 5f43 6f75 6e74 203c 313e 3a20 2020 2020  _Count <1>:     \n-00012d40: 2020 2020 2020 2020 2052 6563 6569 7665           Receive\n-00012d50: 5f53 6f6d 6520 2870 726f 6365 6475 7265  _Some (procedure\n-00012d60: 292e 0a20 2020 2020 2020 2020 2020 2020  )..             \n-00012d70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012d80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012b40: 2020 2020 2020 4765 7473 6f63 6b6f 7074        Getsockopt\n+00012b50: 2028 7072 6f63 6564 7572 6529 2e0a 2020   (procedure)..  \n+00012b60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012b70: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012b80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012b90: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+00012ba0: 6e65 2032 3029 0a2a 2053 4f4c 5f53 4f43  ne 20).* SOL_SOC\n+00012bb0: 4b45 5420 3c31 3e3a 2020 2020 2020 2020  KET <1>:        \n+00012bc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012bd0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63  Setsockopt (proc\n+00012be0: 6564 7572 6529 2e0a 2020 2020 2020 2020  edure)..        \n+00012bf0: 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 2020                  \n+00012c20: 2020 2020 2020 2028 6c69 6e65 2032 3029         (line 20)\n+00012c30: 0a2a 2053 7472 6561 6d5f 456c 656d 656e  .* Stream_Elemen\n+00012c40: 745f 4172 7261 793a 2020 2020 2020 2020  t_Array:        \n+00012c50: 2020 2020 2020 2020 2020 5261 7720 6461            Raw da\n+00012c60: 7461 206d 616e 6970 756c 6174 696f 6e2e  ta manipulation.\n+00012c70: 0a20 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 2020 2020 2020 2020                  \n+00012cb0: 286c 696e 6520 2036 290a 2a20 5374 7265  (line  6).* Stre\n+00012cc0: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179  am_Element_Array\n+00012cd0: 203c 313e 3a20 2020 2020 2020 2020 2020   <1>:           \n+00012ce0: 2020 2052 6563 6569 7665 2028 6675 6e63     Receive (func\n+00012cf0: 7469 6f6e 292e 2020 2028 6c69 6e65 2032  tion).   (line 2\n+00012d00: 3229 0a2a 2053 7472 6561 6d5f 456c 656d  2).* Stream_Elem\n+00012d10: 656e 745f 4172 7261 7920 3c32 3e3a 2020  ent_Array <2>:  \n+00012d20: 2020 2020 2020 2020 2020 2020 5265 6365              Rece\n+00012d30: 6976 6520 2870 726f 6365 6475 7265 292e  ive (procedure).\n+00012d40: 2020 286c 696e 6520 3138 290a 2a20 5374    (line 18).* St\n+00012d50: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272  ream_Element_Arr\n+00012d60: 6179 203c 333e 3a20 2020 2020 2020 2020  ay <3>:         \n+00012d70: 2020 2020 2052 6563 6569 7665 5f53 6f6d       Receive_Som\n+00012d80: 6520 2870 726f 6365 6475 7265 292e 0a20  e (procedure).. \n 00012d90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012da0: 2020 286c 696e 6520 3231 290a 2a20 5374    (line 21).* St\n-00012db0: 7269 6e67 5f41 6363 6573 733a 2020 2020  ring_Access:    \n-00012dc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012dd0: 2020 2020 2053 6f63 6b65 7473 2e4e 616d       Sockets.Nam\n-00012de0: 696e 6720 7061 636b 6167 652e 0a20 2020  ing package..   \n-00012df0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012e00: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012e10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012e20: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n-00012e30: 6520 3334 290a 2a20 5374 7269 6e67 5f41  e 34).* String_A\n-00012e40: 7272 6179 3a20 2020 2020 2020 2020 2020  rray:           \n-00012e50: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n-00012e60: 6f63 6b65 7473 2e4e 616d 696e 6720 7061  ockets.Naming pa\n-00012e70: 636b 6167 652e 0a20 2020 2020 2020 2020  ckage..         \n-00012e80: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012e90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012ea0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012eb0: 2020 2020 2020 286c 696e 6520 3337 290a        (line 37).\n-00012ec0: 2a20 5375 6767 6573 7469 6e67 2061 2066  * Suggesting a f\n-00012ed0: 6561 7475 7265 3a20 2020 2020 2020 2020  eature:         \n-00012ee0: 2020 2020 2020 2020 2052 6573 6f75 7263           Resourc\n-00012ef0: 6573 206f 6e20 7468 6520 496e 7465 726e  es on the Intern\n-00012f00: 6574 2e0a 2020 2020 2020 2020 2020 2020  et..            \n-00012f10: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012f20: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012f30: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012f40: 2020 2028 6c69 6e65 2020 3629 0a2a 2054     (line  6).* T\n-00012f50: 4350 2073 6f63 6b65 743a 2020 2020 2020  CP socket:      \n+00012da0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012db0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012dc0: 2020 2020 2020 2020 2020 2020 2020 286c                (l\n+00012dd0: 696e 6520 3231 290a 2a20 5374 7265 616d  ine 21).* Stream\n+00012de0: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c  _Element_Array <\n+00012df0: 343e 3a20 2020 2020 2020 2020 2020 2020  4>:             \n+00012e00: 2053 656e 6420 2870 726f 6365 6475 7265   Send (procedure\n+00012e10: 292e 2020 2020 2028 6c69 6e65 2031 3729  ).     (line 17)\n+00012e20: 0a2a 2053 7472 6561 6d5f 456c 656d 656e  .* Stream_Elemen\n+00012e30: 745f 436f 756e 743a 2020 2020 2020 2020  t_Count:        \n+00012e40: 2020 2020 2020 2020 2020 5265 6365 6976            Receiv\n+00012e50: 6520 2866 756e 6374 696f 6e29 2e20 2020  e (function).   \n+00012e60: 286c 696e 6520 3232 290a 2a20 5374 7265  (line 22).* Stre\n+00012e70: 616d 5f45 6c65 6d65 6e74 5f43 6f75 6e74  am_Element_Count\n+00012e80: 203c 313e 3a20 2020 2020 2020 2020 2020   <1>:           \n+00012e90: 2020 2052 6563 6569 7665 5f53 6f6d 6520     Receive_Some \n+00012ea0: 2870 726f 6365 6475 7265 292e 0a20 2020  (procedure)..   \n+00012eb0: 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 2020 2020 2020                  \n+00012ee0: 2020 2020 2020 2020 2020 2020 286c 696e              (lin\n+00012ef0: 6520 3231 290a 2a20 5374 7269 6e67 5f41  e 21).* String_A\n+00012f00: 6363 6573 733a 2020 2020 2020 2020 2020  ccess:          \n+00012f10: 2020 2020 2020 2020 2020 2020 2020 2053                 S\n+00012f20: 6f63 6b65 7473 2e4e 616d 696e 6720 7061  ockets.Naming pa\n+00012f30: 636b 6167 652e 0a20 2020 2020 2020 2020  ckage..         \n+00012f40: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012f50: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012f60: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012f70: 2020 2020 2020 5365 7474 696e 6720 7570        Setting up\n-00012f80: 2075 6e69 6361 7374 2073 6f63 6b65 7473   unicast sockets\n-00012f90: 2e0a 2020 2020 2020 2020 2020 2020 2020  ..              \n-00012fa0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012fb0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012fc0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00012fd0: 2028 6c69 6e65 2020 3629 0a2a 2055 4450   (line  6).* UDP\n-00012fe0: 2073 6f63 6b65 743a 2020 2020 2020 2020   socket:        \n+00012f70: 2020 2020 2020 286c 696e 6520 3334 290a        (line 34).\n+00012f80: 2a20 5374 7269 6e67 5f41 7272 6179 3a20  * String_Array: \n+00012f90: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012fa0: 2020 2020 2020 2020 2053 6f63 6b65 7473           Sockets\n+00012fb0: 2e4e 616d 696e 6720 7061 636b 6167 652e  .Naming package.\n+00012fc0: 0a20 2020 2020 2020 2020 2020 2020 2020  .               \n+00012fd0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00012fe0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00012ff0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00013000: 2020 2020 5365 7474 696e 6720 7570 2075      Setting up u\n-00013010: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a  nicast sockets..\n-00013020: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028                 (\n-00013060: 6c69 6e65 2020 3629 0a2a 2055 6e69 6361  line  6).* Unica\n-00013070: 7374 2073 6f63 6b65 7473 3a20 2020 2020  st sockets:     \n-00013080: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00013090: 2020 5365 7474 696e 6720 7570 2075 6e69    Setting up uni\n-000130a0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020  cast sockets..  \n+00013000: 286c 696e 6520 3337 290a 2a20 5375 6767  (line 37).* Sugg\n+00013010: 6573 7469 6e67 2061 2066 6561 7475 7265  esting a feature\n+00013020: 3a20 2020 2020 2020 2020 2020 2020 2020  :               \n+00013030: 2020 2052 6573 6f75 7263 6573 206f 6e20     Resources on \n+00013040: 7468 6520 496e 7465 726e 6574 2e0a 2020  the Internet..  \n+00013050: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013060: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013070: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013080: 2020 2020 2020 2020 2020 2020 2028 6c69               (li\n+00013090: 6e65 2020 3629 0a2a 2054 4350 2073 6f63  ne  6).* TCP soc\n+000130a0: 6b65 743a 2020 2020 2020 2020 2020 2020  ket:            \n 000130b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69               (li\n-000130f0: 6e65 2020 3629 0a2a 2055 6e73 6574 5f42  ne  6).* Unset_B\n-00013100: 7566 6665 723a 2020 2020 2020 2020 2020  uffer:          \n-00013110: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-00013120: 556e 7365 745f 4275 6666 6572 2028 7072  Unset_Buffer (pr\n-00013130: 6f63 6564 7572 6529 2e0a 2020 2020 2020  ocedure)..      \n-00013140: 2020 2020 2020 2020 2020 2020 2020 2020                  \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 2028 6c69 6e65 2020           (line  \n-00013180: 3929 0a2a 2056 616c 7565 3a20 2020 2020  9).* Value:     \n+000130c0: 5365 7474 696e 6720 7570 2075 6e69 6361  Setting up unica\n+000130d0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020  st sockets..    \n+000130e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000130f0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013100: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013110: 2020 2020 2020 2020 2020 2028 6c69 6e65             (line\n+00013120: 2020 3629 0a2a 2055 4450 2073 6f63 6b65    6).* UDP socke\n+00013130: 743a 2020 2020 2020 2020 2020 2020 2020  t:              \n+00013140: 2020 2020 2020 2020 2020 2020 2020 5365                Se\n+00013150: 7474 696e 6720 7570 2075 6e69 6361 7374  tting up unicast\n+00013160: 2073 6f63 6b65 7473 2e0a 2020 2020 2020   sockets..      \n+00013170: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013180: 2020 2020 2020 2020 2020 2020 2020 2020                  \n 00013190: 2020 2020 2020 2020 2020 2020 2020 2020                  \n-000131a0: 2020 2020 2020 2020 2020 2020 5661 6c75              Valu\n-000131b0: 6520 2866 756e 6374 696f 6e29 2e20 2020  e (function).   \n-000131c0: 2020 286c 696e 6520 2039 290a 0a0a 1f0a    (line  9).....\n-000131d0: 5461 6720 5461 626c 653a 0a4e 6f64 653a  Tag Table:.Node:\n-000131e0: 2054 6f70 7f38 3138 0a4e 6f64 653a 2057   Top.818.Node: W\n-000131f0: 6861 7420 6973 2041 6461 536f 636b 6574  hat is AdaSocket\n-00013200: 733f 7f31 3339 310a 4e6f 6465 3a20 496e  s?.1391.Node: In\n-00013210: 7374 616c 6c69 6e67 2041 6461 536f 636b  stalling AdaSock\n-00013220: 6574 737f 3232 3932 0a4e 6f64 653a 2055  ets.2292.Node: U\n-00013230: 7369 6e67 2041 6461 536f 636b 6574 737f  sing AdaSockets.\n-00013240: 3332 3939 0a4e 6f64 653a 2043 6f6d 7069  3299.Node: Compi\n-00013250: 6c69 6e67 2061 6e20 4164 6120 6170 706c  ling an Ada appl\n-00013260: 6963 6174 696f 6e7f 3335 3930 0a4e 6f64  ication.3590.Nod\n-00013270: 653a 2053 6574 7469 6e67 2075 7020 756e  e: Setting up un\n-00013280: 6963 6173 7420 736f 636b 6574 737f 3432  icast sockets.42\n-00013290: 3337 0a4e 6f64 653a 2053 6574 7469 6e67  37.Node: Setting\n-000132a0: 2075 7020 6d75 6c74 6963 6173 7420 736f   up multicast so\n-000132b0: 636b 6574 737f 3535 3531 0a4e 6f64 653a  ckets.5551.Node:\n-000132c0: 2053 656e 6469 6e67 2061 6e64 2072 6563   Sending and rec\n-000132d0: 6569 7669 6e67 2064 6174 617f 3639 3034  eiving data.6904\n-000132e0: 0a4e 6f64 653a 2052 6177 2064 6174 6120  .Node: Raw data \n-000132f0: 6d61 6e69 7075 6c61 7469 6f6e 7f37 3236  manipulation.726\n-00013300: 360a 4e6f 6465 3a20 5374 7269 6e67 2d6f  6.Node: String-o\n-00013310: 7269 656e 7465 6420 6578 6368 616e 6765  riented exchange\n-00013320: 737f 3736 3734 0a4e 6f64 653a 2053 6f63  s.7674.Node: Soc\n-00013330: 6b65 7473 2070 6163 6b61 6765 7f38 3830  kets package.880\n-00013340: 370a 4e6f 6465 3a20 4163 6365 7074 5f53  7.Node: Accept_S\n-00013350: 6f63 6b65 7420 2870 726f 6365 6475 7265  ocket (procedure\n-00013360: 297f 3131 3039 310a 4e6f 6465 3a20 4269  ).11091.Node: Bi\n-00013370: 6e64 2028 7072 6f63 6564 7572 6529 7f31  nd (procedure).1\n-00013380: 3331 3638 0a4e 6f64 653a 2043 6f6e 6e65  3168.Node: Conne\n-00013390: 6374 2028 7072 6f63 6564 7572 6529 7f31  ct (procedure).1\n-000133a0: 3434 3435 0a4e 6f64 653a 2047 6574 2028  4445.Node: Get (\n-000133b0: 6675 6e63 7469 6f6e 297f 3135 3833 380a  function).15838.\n-000133c0: 4e6f 6465 3a20 4765 745f 4368 6172 2028  Node: Get_Char (\n-000133d0: 6675 6e63 7469 6f6e 297f 3137 3033 370a  function).17037.\n-000133e0: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028  Node: Get_Line (\n-000133f0: 6675 6e63 7469 6f6e 297f 3137 3930 320a  function).17902.\n-00013400: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028  Node: Get_Line (\n-00013410: 7072 6f63 6564 7572 6529 7f31 3932 3133  procedure).19213\n-00013420: 0a4e 6f64 653a 2047 6574 5f52 6563 6569  .Node: Get_Recei\n-00013430: 7665 5f51 7565 7565 5f53 697a 6520 2866  ve_Queue_Size (f\n-00013440: 756e 6374 696f 6e29 7f32 3033 3832 0a4e  unction).20382.N\n-00013450: 6f64 653a 2047 6574 5f53 656e 645f 5175  ode: Get_Send_Qu\n-00013460: 6575 655f 5369 7a65 2028 6675 6e63 7469  eue_Size (functi\n-00013470: 6f6e 297f 3231 3235 300a 4e6f 6465 3a20  on).21250.Node: \n-00013480: 4765 7473 6f63 6b6f 7074 2028 7072 6f63  Getsockopt (proc\n-00013490: 6564 7572 6529 7f32 3231 3037 0a4e 6f64  edure).22107.Nod\n-000134a0: 653a 204c 6973 7465 6e20 2870 726f 6365  e: Listen (proce\n-000134b0: 6475 7265 297f 3233 3437 340a 4e6f 6465  dure).23474.Node\n-000134c0: 3a20 4e65 775f 4c69 6e65 2028 7072 6f63  : New_Line (proc\n-000134d0: 6564 7572 6529 7f32 3433 3530 0a4e 6f64  edure).24350.Nod\n-000134e0: 653a 2050 7574 2028 7072 6f63 6564 7572  e: Put (procedur\n-000134f0: 6529 7f32 3530 3736 0a4e 6f64 653a 2050  e).25076.Node: P\n-00013500: 7574 5f4c 696e 6520 2870 726f 6365 6475  ut_Line (procedu\n-00013510: 7265 297f 3235 3831 310a 4e6f 6465 3a20  re).25811.Node: \n-00013520: 5265 6365 6976 6520 2866 756e 6374 696f  Receive (functio\n-00013530: 6e29 7f32 3636 3031 0a4e 6f64 653a 2052  n).26601.Node: R\n-00013540: 6563 6569 7665 2028 7072 6f63 6564 7572  eceive (procedur\n-00013550: 6529 7f32 3738 3134 0a4e 6f64 653a 2052  e).27814.Node: R\n-00013560: 6563 6569 7665 5f53 6f6d 6520 2870 726f  eceive_Some (pro\n-00013570: 6365 6475 7265 297f 3238 3834 350a 4e6f  cedure).28845.No\n-00013580: 6465 3a20 5365 6e64 2028 7072 6f63 6564  de: Send (proced\n-00013590: 7572 6529 7f33 3030 3336 0a4e 6f64 653a  ure).30036.Node:\n-000135a0: 2053 6574 5f42 7566 6665 7220 2870 726f   Set_Buffer (pro\n-000135b0: 6365 6475 7265 297f 3330 3737 390a 4e6f  cedure).30779.No\n-000135c0: 6465 3a20 5365 7473 6f63 6b6f 7074 2028  de: Setsockopt (\n-000135d0: 7072 6f63 6564 7572 6529 7f33 3139 3932  procedure).31992\n-000135e0: 0a4e 6f64 653a 2053 6875 7464 6f77 6e20  .Node: Shutdown \n-000135f0: 2870 726f 6365 6475 7265 297f 3333 3333  (procedure).3333\n-00013600: 390a 4e6f 6465 3a20 536f 636b 6574 2028  9.Node: Socket (\n-00013610: 7072 6f63 6564 7572 6529 7f33 3339 3839  procedure).33989\n-00013620: 0a4e 6f64 653a 2055 6e73 6574 5f42 7566  .Node: Unset_Buf\n-00013630: 6665 7220 2870 726f 6365 6475 7265 297f  fer (procedure).\n-00013640: 3335 3337 390a 4e6f 6465 3a20 536f 636b  35379.Node: Sock\n-00013650: 6574 732e 4d75 6c74 6963 6173 7420 7061  ets.Multicast pa\n-00013660: 636b 6167 657f 3336 3037 380a 4e6f 6465  ckage.36078.Node\n-00013670: 3a20 4372 6561 7465 5f4d 756c 7469 6361  : Create_Multica\n-00013680: 7374 5f53 6f63 6b65 7420 2866 756e 6374  st_Socket (funct\n-00013690: 696f 6e29 7f33 3639 3234 0a4e 6f64 653a  ion).36924.Node:\n-000136a0: 2053 6f63 6b65 7473 2e4e 616d 696e 6720   Sockets.Naming \n-000136b0: 7061 636b 6167 657f 3430 3938 300a 4e6f  package.40980.No\n-000136c0: 6465 3a20 4164 6472 6573 735f 4f66 2028  de: Address_Of (\n-000136d0: 6675 6e63 7469 6f6e 297f 3433 3530 370a  function).43507.\n-000136e0: 4e6f 6465 3a20 416e 795f 4164 6472 6573  Node: Any_Addres\n-000136f0: 7320 2866 756e 6374 696f 6e29 7f34 3434  s (function).444\n-00013700: 3031 0a4e 6f64 653a 2047 6574 5f50 6565  01.Node: Get_Pee\n-00013710: 725f 4164 6472 2028 6675 6e63 7469 6f6e  r_Addr (function\n-00013720: 297f 3434 3831 360a 4e6f 6465 3a20 4765  ).44816.Node: Ge\n-00013730: 745f 5065 6572 5f50 6f72 7420 2866 756e  t_Peer_Port (fun\n-00013740: 6374 696f 6e29 7f34 3533 3838 0a4e 6f64  ction).45388.Nod\n-00013750: 653a 2047 6574 5f53 6f63 6b5f 4164 6472  e: Get_Sock_Addr\n-00013760: 2028 6675 6e63 7469 6f6e 297f 3435 3937   (function).4597\n-00013770: 380a 4e6f 6465 3a20 4765 745f 536f 636b  8.Node: Get_Sock\n-00013780: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n-00013790: 7f34 3635 3730 0a4e 6f64 653a 2048 6f73  .46570.Node: Hos\n-000137a0: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e  t_Name (function\n-000137b0: 297f 3437 3135 340a 4e6f 6465 3a20 496d  ).47154.Node: Im\n-000137c0: 6167 6520 2866 756e 6374 696f 6e29 7f34  age (function).4\n-000137d0: 3736 3730 0a4e 6f64 653a 2049 6e66 6f5f  7670.Node: Info_\n-000137e0: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866  Of_Name_Or_IP (f\n-000137f0: 756e 6374 696f 6e29 7f34 3831 3436 0a4e  unction).48146.N\n-00013800: 6f64 653a 2049 735f 4950 5f41 6464 7265  ode: Is_IP_Addre\n-00013810: 7373 2028 6675 6e63 7469 6f6e 297f 3438  ss (function).48\n-00013820: 3837 360a 4e6f 6465 3a20 4e61 6d65 5f4f  876.Node: Name_O\n-00013830: 6620 2866 756e 6374 696f 6e29 7f34 3933  f (function).493\n-00013840: 3930 0a4e 6f64 653a 2056 616c 7565 2028  90.Node: Value (\n-00013850: 6675 6e63 7469 6f6e 297f 3439 3937 370a  function).49977.\n-00013860: 4e6f 6465 3a20 436f 6e74 7269 6275 746f  Node: Contributo\n-00013870: 7273 7f35 3034 3239 0a4e 6f64 653a 2052  rs.50429.Node: R\n-00013880: 6573 6f75 7263 6573 206f 6e20 7468 6520  esources on the \n-00013890: 496e 7465 726e 6574 7f35 3138 3530 0a4e  Internet.51850.N\n-000138a0: 6f64 653a 2049 6e64 6578 7f35 3233 3130  ode: Index.52310\n-000138b0: 0a1f 0a45 6e64 2054 6167 2054 6162 6c65  ...End Tag Table\n-000138c0: 0a0a 1f0a 4c6f 6361 6c20 5661 7269 6162  ....Local Variab\n-000138d0: 6c65 733a 0a63 6f64 696e 673a 2075 7466  les:.coding: utf\n-000138e0: 2d38 0a45 6e64 3a0a                      -8.End:.\n+000131a0: 2020 2020 2020 2020 2028 6c69 6e65 2020           (line  \n+000131b0: 3629 0a2a 2055 6e69 6361 7374 2073 6f63  6).* Unicast soc\n+000131c0: 6b65 7473 3a20 2020 2020 2020 2020 2020  kets:           \n+000131d0: 2020 2020 2020 2020 2020 2020 5365 7474              Sett\n+000131e0: 696e 6720 7570 2075 6e69 6361 7374 2073  ing up unicast s\n+000131f0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020  ockets..        \n+00013200: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013210: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013220: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013230: 2020 2020 2020 2028 6c69 6e65 2020 3629         (line  6)\n+00013240: 0a2a 2055 6e73 6574 5f42 7566 6665 723a  .* Unset_Buffer:\n+00013250: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+00013260: 2020 2020 2020 2020 2020 556e 7365 745f            Unset_\n+00013270: 4275 6666 6572 2028 7072 6f63 6564 7572  Buffer (procedur\n+00013280: 6529 2e0a 2020 2020 2020 2020 2020 2020  e)..            \n+00013290: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000132a0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000132b0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000132c0: 2020 2028 6c69 6e65 2020 3929 0a2a 2056     (line  9).* V\n+000132d0: 616c 7565 3a20 2020 2020 2020 2020 2020  alue:           \n+000132e0: 2020 2020 2020 2020 2020 2020 2020 2020                  \n+000132f0: 2020 2020 2020 5661 6c75 6520 2866 756e        Value (fun\n+00013300: 6374 696f 6e29 2e20 2020 2020 286c 696e  ction).     (lin\n+00013310: 6520 2039 290a 0a0a 1f0a 5461 6720 5461  e  9).....Tag Ta\n+00013320: 626c 653a 0a4e 6f64 653a 2054 6f70 7f38  ble:.Node: Top.8\n+00013330: 3138 0a4e 6f64 653a 2057 6861 7420 6973  18.Node: What is\n+00013340: 2041 6461 536f 636b 6574 733f 7f31 3339   AdaSockets?.139\n+00013350: 310a 4e6f 6465 3a20 496e 7374 616c 6c69  1.Node: Installi\n+00013360: 6e67 2041 6461 536f 636b 6574 737f 3232  ng AdaSockets.22\n+00013370: 3932 0a4e 6f64 653a 2055 7369 6e67 2041  92.Node: Using A\n+00013380: 6461 536f 636b 6574 737f 3332 3939 0a4e  daSockets.3299.N\n+00013390: 6f64 653a 2043 6f6d 7069 6c69 6e67 2061  ode: Compiling a\n+000133a0: 6e20 4164 6120 6170 706c 6963 6174 696f  n Ada applicatio\n+000133b0: 6e7f 3335 3930 0a4e 6f64 653a 2053 6574  n.3590.Node: Set\n+000133c0: 7469 6e67 2075 7020 756e 6963 6173 7420  ting up unicast \n+000133d0: 736f 636b 6574 737f 3432 3337 0a4e 6f64  sockets.4237.Nod\n+000133e0: 653a 2053 6574 7469 6e67 2075 7020 6d75  e: Setting up mu\n+000133f0: 6c74 6963 6173 7420 736f 636b 6574 737f  lticast sockets.\n+00013400: 3535 3531 0a4e 6f64 653a 2053 656e 6469  5551.Node: Sendi\n+00013410: 6e67 2061 6e64 2072 6563 6569 7669 6e67  ng and receiving\n+00013420: 2064 6174 617f 3639 3034 0a4e 6f64 653a   data.6904.Node:\n+00013430: 2052 6177 2064 6174 6120 6d61 6e69 7075   Raw data manipu\n+00013440: 6c61 7469 6f6e 7f37 3236 360a 4e6f 6465  lation.7266.Node\n+00013450: 3a20 5374 7269 6e67 2d6f 7269 656e 7465  : String-oriente\n+00013460: 6420 6578 6368 616e 6765 737f 3736 3734  d exchanges.7674\n+00013470: 0a4e 6f64 653a 2053 6f63 6b65 7473 2070  .Node: Sockets p\n+00013480: 6163 6b61 6765 7f38 3830 370a 4e6f 6465  ackage.8807.Node\n+00013490: 3a20 4163 6365 7074 5f53 6f63 6b65 7420  : Accept_Socket \n+000134a0: 2870 726f 6365 6475 7265 297f 3131 3039  (procedure).1109\n+000134b0: 310a 4e6f 6465 3a20 4269 6e64 2028 7072  1.Node: Bind (pr\n+000134c0: 6f63 6564 7572 6529 7f31 3334 3938 0a4e  ocedure).13498.N\n+000134d0: 6f64 653a 2043 6f6e 6e65 6374 2028 7072  ode: Connect (pr\n+000134e0: 6f63 6564 7572 6529 7f31 3437 3735 0a4e  ocedure).14775.N\n+000134f0: 6f64 653a 2047 6574 2028 6675 6e63 7469  ode: Get (functi\n+00013500: 6f6e 297f 3136 3136 380a 4e6f 6465 3a20  on).16168.Node: \n+00013510: 4765 745f 4368 6172 2028 6675 6e63 7469  Get_Char (functi\n+00013520: 6f6e 297f 3137 3336 370a 4e6f 6465 3a20  on).17367.Node: \n+00013530: 4765 745f 4c69 6e65 2028 6675 6e63 7469  Get_Line (functi\n+00013540: 6f6e 297f 3138 3233 320a 4e6f 6465 3a20  on).18232.Node: \n+00013550: 4765 745f 4c69 6e65 2028 7072 6f63 6564  Get_Line (proced\n+00013560: 7572 6529 7f31 3935 3433 0a4e 6f64 653a  ure).19543.Node:\n+00013570: 2047 6574 5f52 6563 6569 7665 5f51 7565   Get_Receive_Que\n+00013580: 7565 5f53 697a 6520 2866 756e 6374 696f  ue_Size (functio\n+00013590: 6e29 7f32 3037 3132 0a4e 6f64 653a 2047  n).20712.Node: G\n+000135a0: 6574 5f53 656e 645f 5175 6575 655f 5369  et_Send_Queue_Si\n+000135b0: 7a65 2028 6675 6e63 7469 6f6e 297f 3231  ze (function).21\n+000135c0: 3538 300a 4e6f 6465 3a20 4765 7473 6f63  580.Node: Getsoc\n+000135d0: 6b6f 7074 2028 7072 6f63 6564 7572 6529  kopt (procedure)\n+000135e0: 7f32 3234 3337 0a4e 6f64 653a 204c 6973  .22437.Node: Lis\n+000135f0: 7465 6e20 2870 726f 6365 6475 7265 297f  ten (procedure).\n+00013600: 3233 3830 340a 4e6f 6465 3a20 4e65 775f  23804.Node: New_\n+00013610: 4c69 6e65 2028 7072 6f63 6564 7572 6529  Line (procedure)\n+00013620: 7f32 3436 3830 0a4e 6f64 653a 2050 7574  .24680.Node: Put\n+00013630: 2028 7072 6f63 6564 7572 6529 7f32 3534   (procedure).254\n+00013640: 3036 0a4e 6f64 653a 2050 7574 5f4c 696e  06.Node: Put_Lin\n+00013650: 6520 2870 726f 6365 6475 7265 297f 3236  e (procedure).26\n+00013660: 3134 310a 4e6f 6465 3a20 5265 6365 6976  141.Node: Receiv\n+00013670: 6520 2866 756e 6374 696f 6e29 7f32 3639  e (function).269\n+00013680: 3331 0a4e 6f64 653a 2052 6563 6569 7665  31.Node: Receive\n+00013690: 2028 7072 6f63 6564 7572 6529 7f32 3831   (procedure).281\n+000136a0: 3434 0a4e 6f64 653a 2052 6563 6569 7665  44.Node: Receive\n+000136b0: 5f53 6f6d 6520 2870 726f 6365 6475 7265  _Some (procedure\n+000136c0: 297f 3239 3137 350a 4e6f 6465 3a20 5365  ).29175.Node: Se\n+000136d0: 6e64 2028 7072 6f63 6564 7572 6529 7f33  nd (procedure).3\n+000136e0: 3033 3636 0a4e 6f64 653a 2053 6574 5f42  0366.Node: Set_B\n+000136f0: 7566 6665 7220 2870 726f 6365 6475 7265  uffer (procedure\n+00013700: 297f 3331 3130 390a 4e6f 6465 3a20 5365  ).31109.Node: Se\n+00013710: 7473 6f63 6b6f 7074 2028 7072 6f63 6564  tsockopt (proced\n+00013720: 7572 6529 7f33 3233 3232 0a4e 6f64 653a  ure).32322.Node:\n+00013730: 2053 6875 7464 6f77 6e20 2870 726f 6365   Shutdown (proce\n+00013740: 6475 7265 297f 3333 3636 390a 4e6f 6465  dure).33669.Node\n+00013750: 3a20 536f 636b 6574 2028 7072 6f63 6564  : Socket (proced\n+00013760: 7572 6529 7f33 3433 3139 0a4e 6f64 653a  ure).34319.Node:\n+00013770: 2055 6e73 6574 5f42 7566 6665 7220 2870   Unset_Buffer (p\n+00013780: 726f 6365 6475 7265 297f 3335 3730 390a  rocedure).35709.\n+00013790: 4e6f 6465 3a20 536f 636b 6574 732e 4d75  Node: Sockets.Mu\n+000137a0: 6c74 6963 6173 7420 7061 636b 6167 657f  lticast package.\n+000137b0: 3336 3430 380a 4e6f 6465 3a20 4372 6561  36408.Node: Crea\n+000137c0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63  te_Multicast_Soc\n+000137d0: 6b65 7420 2866 756e 6374 696f 6e29 7f33  ket (function).3\n+000137e0: 3732 3534 0a4e 6f64 653a 2053 6f63 6b65  7254.Node: Socke\n+000137f0: 7473 2e4e 616d 696e 6720 7061 636b 6167  ts.Naming packag\n+00013800: 657f 3431 3331 300a 4e6f 6465 3a20 4164  e.41310.Node: Ad\n+00013810: 6472 6573 735f 4f66 2028 6675 6e63 7469  dress_Of (functi\n+00013820: 6f6e 297f 3433 3833 370a 4e6f 6465 3a20  on).43837.Node: \n+00013830: 416e 795f 4164 6472 6573 7320 2866 756e  Any_Address (fun\n+00013840: 6374 696f 6e29 7f34 3437 3331 0a4e 6f64  ction).44731.Nod\n+00013850: 653a 2047 6574 5f50 6565 725f 4164 6472  e: Get_Peer_Addr\n+00013860: 2028 6675 6e63 7469 6f6e 297f 3435 3134   (function).4514\n+00013870: 360a 4e6f 6465 3a20 4765 745f 5065 6572  6.Node: Get_Peer\n+00013880: 5f50 6f72 7420 2866 756e 6374 696f 6e29  _Port (function)\n+00013890: 7f34 3537 3138 0a4e 6f64 653a 2047 6574  .45718.Node: Get\n+000138a0: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63  _Sock_Addr (func\n+000138b0: 7469 6f6e 297f 3436 3330 380a 4e6f 6465  tion).46308.Node\n+000138c0: 3a20 4765 745f 536f 636b 5f50 6f72 7420  : Get_Sock_Port \n+000138d0: 2866 756e 6374 696f 6e29 7f34 3639 3030  (function).46900\n+000138e0: 0a4e 6f64 653a 2048 6f73 745f 4e61 6d65  .Node: Host_Name\n+000138f0: 2028 6675 6e63 7469 6f6e 297f 3437 3438   (function).4748\n+00013900: 340a 4e6f 6465 3a20 496d 6167 6520 2866  4.Node: Image (f\n+00013910: 756e 6374 696f 6e29 7f34 3830 3030 0a4e  unction).48000.N\n+00013920: 6f64 653a 2049 6e66 6f5f 4f66 5f4e 616d  ode: Info_Of_Nam\n+00013930: 655f 4f72 5f49 5020 2866 756e 6374 696f  e_Or_IP (functio\n+00013940: 6e29 7f34 3834 3736 0a4e 6f64 653a 2049  n).48476.Node: I\n+00013950: 735f 4950 5f41 6464 7265 7373 2028 6675  s_IP_Address (fu\n+00013960: 6e63 7469 6f6e 297f 3439 3230 360a 4e6f  nction).49206.No\n+00013970: 6465 3a20 4e61 6d65 5f4f 6620 2866 756e  de: Name_Of (fun\n+00013980: 6374 696f 6e29 7f34 3937 3230 0a4e 6f64  ction).49720.Nod\n+00013990: 653a 2056 616c 7565 2028 6675 6e63 7469  e: Value (functi\n+000139a0: 6f6e 297f 3530 3330 370a 4e6f 6465 3a20  on).50307.Node: \n+000139b0: 436f 6e74 7269 6275 746f 7273 7f35 3037  Contributors.507\n+000139c0: 3539 0a4e 6f64 653a 2052 6573 6f75 7263  59.Node: Resourc\n+000139d0: 6573 206f 6e20 7468 6520 496e 7465 726e  es on the Intern\n+000139e0: 6574 7f35 3231 3830 0a4e 6f64 653a 2049  et.52180.Node: I\n+000139f0: 6e64 6578 7f35 3236 3430 0a1f 0a45 6e64  ndex.52640...End\n+00013a00: 2054 6167 2054 6162 6c65 0a0a 1f0a 4c6f   Tag Table....Lo\n+00013a10: 6361 6c20 5661 7269 6162 6c65 733a 0a63  cal Variables:.c\n+00013a20: 6f64 696e 673a 2075 7466 2d38 0a45 6e64  oding: utf-8.End\n+00013a30: 3a0a                                     :.\n"}]}]}]}]}]}