{"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"}]}]}]}]}]}