{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.eK4GwhhO/b1/adasockets_1.14-3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.eK4GwhhO/b2/adasockets_1.14-3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n 21bb0b0f2706ed0ff4df0873ecdd8b22 63092 libdevel optional libadasockets-dev_1.14-3_amd64.deb\n- d3f2c2f2212c7bd2b5eb82d604cdf6ab 257656 doc optional libadasockets-doc_1.14-3_all.deb\n+ 2a14ffb1d9896ca70cefa9b7969b1587 259320 doc optional libadasockets-doc_1.14-3_all.deb\n 4519b8a85a86eb878d8c5750f5d21233 51008 debug optional libadasockets11-dbgsym_1.14-3_amd64.deb\n 974501ffc571199cc3ed7660a6277b00 30212 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 256400 2025-03-19 15:40:14.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 258064 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 \n-Installed-Size: 286\n+Installed-Size: 288\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) 234151 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 235563 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) 13891 2025-03-19 15:40:14.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 14108 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": "@@ -33,15 +33,15 @@\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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n+New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Receive (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive Some (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Set Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n@@ -52,37 +52,37 @@\n \n 5 Sockets.Multicast package . . . . . . . . . . . . . . . . . . . . . 19\n Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19\n Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20\n \n \fii\n \n-6 Sockets.Naming package . . . . . . . . . . . . . . . . . . . . . . . 21\n-Address Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Any Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get Peer Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get Peer Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get Sock Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get Sock Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-Host Name (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-Image (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-Info Of Name Or IP (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Is IP Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Name Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Value (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n+6 Sockets.Naming package . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Any Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get Peer Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get Peer Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get Sock Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get Sock Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n+Host Name (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n+Image (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n+Info Of Name Or IP (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n+Is IP Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n+Name Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n+Value (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27\n \n Appendix A\n \n-Contributors. . . . . . . . . . . . . . . . . . . . . . . . 27\n+Contributors. . . . . . . . . . . . . . . . . . . . . . . . 29\n \n Appendix B\n \n-Resources on the Internet . . . . . . . . . 29\n+Resources on the Internet . . . . . . . . . 31\n \n-Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n+Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33\n \n \f1\n \n 1 What is AdaSockets?\n AdaSockets is a set of free software Ada packages allowing Ada programmers to use the\n so-called BSD sockets from their favourite programming language. AdaSockets has been\n designed and tested with the GNAT free software Ada compiler, but should be portable to\n@@ -94,15 +94,15 @@\n AdaSockets philosophy is to help the Ada programmer by providing easy-to-use objects.\n Special care has been taken to ensure that performances do however remain good.\n \n \f\f3\n \n 2 Installing AdaSockets\n Installing AdaSockets on a Unix or OpenVMS machine is as simple as typing a few commands. Once you got the latest version of AdaSockets (see Appendix B [Resources on\n-the Internet], page 29), uncompress and untar it and go to the top-level directory of the\n+the Internet], page 31), uncompress and untar it and go to the top-level directory of the\n distribution.\n You must configure the AdaSockets distribution by using the configure command, such\n as in:\n ./configure --prefix=/users/sam/adasockets\n If you want to install AdaSockets under the /usr/local hierarchy, you do not need to\n specify the --prefix option. Make sure you have write permission on the target directories.\n Once AdaSockets is configured, you can compile and install it by using the make command:\n@@ -266,15 +266,15 @@\n Initialized socket object\n Local port to bind to\n Local interface to bind to\n \n Description\n This procedure requests a local port from the operating system. If 0 is given\n in Port, the system will assign a free port whose number can later be retrieved\n-using [Get Sock Port (function)], page 23. Also, most operating systems require\n+using [Get Sock Port (function)], page 25. Also, most operating systems require\n special privileges if you want to bind to ports below 1024.\n If Host is not the empty string, it must contain the IP address of a local interface\n to bind to, or a name which resolves into such an address. If an empty string\n is given (the default), the socket will be bound to all the available interfaces.\n Exceptions\n Socket_Error\n \n@@ -310,25 +310,36 @@\n Description\n This procedure connects an initialized socket to a given host on a given port. In\n the case of a TCP socket, a real connection is attempted. In the case of a UDP\n socket, no connection takes place but the endpoint coordinates are recorded.\n Exceptions\n Connection_Refused\n Socket_Error\n-Example\n-\n-See also [Socket (procedure)], page 17.\n \n The connection has been refused by the server\n Another error occurred during the connection\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 Get (function)\n Purpose\n \n Get a string from a remote host\n \n Prototype\n \n@@ -379,29 +390,30 @@\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 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 [Set Buffer (procedure)], page 16.\n \n-\f10\n-\n-AdaSockets reference manual\n-\n Get Line (function)\n Purpose\n \n Get a whole line from a remote host\n \n Prototype\n \n@@ -450,35 +462,37 @@\n \n procedure Get_Line\n [Sockets.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-in\n+11\n+\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 This procedure blocks until one full line has been received.\n-\n-\fChapter 4: Sockets package\n-\n-11\n-\n Exceptions\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@@ -527,23 +541,24 @@\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-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 \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+\n Getsockopt (procedure)\n Purpose\n \n Retrieve a socket option\n \n Prototype\n \n@@ -599,27 +614,28 @@\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 [Socket (procedure)], page 17.\n \n New Line (procedure)\n Purpose\n \n Send a CR/LF to a remote host\n \n-\fChapter 4: Sockets package\n-\n-13\n-\n Prototype\n [Sockets.New Line]\n procedure New_Line\n (Socket : Socket_FD\u2019Class; Count : Natural := 1);\n Parameters\n Socket\n Count\n@@ -664,15 +680,15 @@\n Description\n This procedure sends the content of Str over an outgoing or incoming socket.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n-See also [New Line (procedure)], page 12,\n+See also [New Line (procedure)], page 13,\n [Put Line (procedure)], page 13,\n [Send (procedure)], page 15.\n \n Put Line (procedure)\n Purpose\n \n Send a CR/LF terminated string to a remote host\n@@ -680,36 +696,38 @@\n Prototype\n \n procedure Put_Line\n [Sockets.Put Line]\n (Socket : Socket_FD\u2019Class; Str : String);\n Parameters\n Socket\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 \n \f14\n \n AdaSockets reference manual\n \n+Str\n+\n+in\n+\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 12,\n+See also [New Line (procedure)], page 13,\n [Put (procedure)], page 13,\n [Send (procedure)], page 15.\n \n Receive (function)\n Purpose\n \n Receive raw data over a socket\n@@ -762,41 +780,40 @@\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 were received\n \n-\fChapter 4: Sockets package\n-\n-15\n-\n See also [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n [Receive (function)], page 14,\n [Receive Some (procedure)], page 15.\n \n Receive Some (procedure)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n-\n-procedure Receive_Some\n [Sockets.Receive Some]\n+procedure 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@@ -839,29 +856,29 @@\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 \n-\f16\n-\n-AdaSockets reference manual\n-\n Set Buffer (procedure)\n Purpose\n \n Install a line-oriented buffer of the socket object\n \n Prototype\n \n@@ -916,26 +933,27 @@\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 \n-\fChapter 4: Sockets package\n-\n-17\n-\n Shutdown (procedure)\n Purpose\n \n Shutdown a socket\n \n Prototype\n \n@@ -990,27 +1008,28 @@\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 See also [Shutdown (procedure)], page 17.\n \n-\f18\n-\n-AdaSockets reference manual\n-\n Unset Buffer (procedure)\n Purpose\n \n Deinstall the line-oriented buffer of the socket object\n \n Prototype\n \n@@ -1083,40 +1102,48 @@\n IP multicast routers do implement threshold-based filtering and will not let IP\n multicast packets leave your organization if the TTL on the last router is smaller\n than 16.\n If 0 is given for the Port, a local one will be chosen. It can then later be retrieved\n using Get Sock Port.\n Example\n declare\n-Sock : 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+-- Create a TCP socket listening on local port 4161\n+Socket (Sock, PF_INET, SOCK_STREAM);\n+Bind (Sock, 4161);\n \n \f20\n \n AdaSockets reference manual\n \n--- Shutdown the socket in both directions\n-Shutdown (Sock, Both);\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 [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n Create Multicast Socket (function)\n Purpose\n \n Create an IP multicast socket\n \n Prototype\n-\n-function\n [Sockets.Multicast.Create Multicast Socket]\n+function\n Create_Multicast_Socket (Group : String;\n Port : Positive; Local_Port : Natural;\n TTL : Positive := 16; Local_If : String := 0.0.0.0)\n return Multicast_Socket_FD;\n Parameters\n Group\n Port\n@@ -1146,22 +1173,27 @@\n Example\n declare\n Sock : Multicast_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+\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 [Shutdown (procedure)], page 17.\n \n-\f21\n+21\n+\n+\f\f23\n \n 6 Sockets.Naming package\n The Sockets.Naming package contains types and helper functions needed to manipulate\n Internet host names and addresses.\n \n type Address is record\n H1, H2, H3, H4 : Address_Component;\n@@ -1230,17 +1262,17 @@\n Return value\n IPv4 address\n Exceptions\n Naming_Error\n \n No information available for this name or address\n \n-See also [Name Of (function)], page 24.\n+See also [Name Of (function)], page 26.\n \n-\f22\n+\f24\n \n AdaSockets reference manual\n \n Any Address (function)\n Purpose\n \n Special address representing any address on the local host\n@@ -1269,16 +1301,16 @@\n \n [Sockets.Naming.Get Peer Addr]\n \n Connected socket object\n \n Return value\n Peer address\n-See also [Get Peer Port (function)], page 22,\n-[Get Sock Addr (function)], page 22.\n+See also [Get Peer Port (function)], page 24,\n+[Get Sock Addr (function)], page 24.\n \n Get Peer Port (function)\n Purpose\n \n Retrieve port used by remote host\n \n Prototype\n@@ -1293,16 +1325,16 @@\n \n [Sockets.Naming.Get Peer Port]\n \n Connected socket object\n \n Return value\n Port used on the remote host\n-See also [Get Sock Port (function)], page 23,\n-[Get Peer Addr (function)], page 22.\n+See also [Get Sock Port (function)], page 25,\n+[Get Peer Addr (function)], page 24.\n \n Get Sock Addr (function)\n Purpose\n \n Retrieve IP address of local host\n \n Prototype\n@@ -1317,20 +1349,20 @@\n \n [Sockets.Naming.Get Sock Addr]\n \n Connected socket object\n \n \fChapter 6: Sockets.Naming package\n \n-23\n+25\n \n Return value\n Address of local interface used\n-See also [Get Sock Port (function)], page 23,\n-[Get Peer Addr (function)], page 22.\n+See also [Get Sock Port (function)], page 25,\n+[Get Peer Addr (function)], page 24.\n \n Get Sock Port (function)\n Purpose\n \n Retrieve port used by local host\n \n Prototype\n@@ -1345,16 +1377,16 @@\n \n [Sockets.Naming.Get Sock Port]\n \n Connected socket object\n \n Return value\n Port used on the local host\n-See also [Get Peer Port (function)], page 22,\n-[Get Sock Addr (function)], page 22.\n+See also [Get Peer Port (function)], page 24,\n+[Get Sock Addr (function)], page 24.\n \n Host Name (function)\n Purpose\n \n Get the name of the current host\n \n Prototype\n@@ -1382,19 +1414,19 @@\n \n in\n \n IP address\n \n Return value\n String representation of the IP address\n-See also [Value (function)], page 25.\n+See also [Value (function)], page 27.\n \n [Sockets.Naming.Image]\n \n-\f24\n+\f26\n \n AdaSockets reference manual\n \n Info Of Name Or IP (function)\n Purpose\n \n Get addresses and names of a host\n@@ -1466,19 +1498,19 @@\n Return value\n Name of the host\n Exceptions\n Naming_Error\n \n No information available for this name or address\n \n-See also [Address Of (function)], page 21.\n+See also [Address Of (function)], page 23.\n \n \fChapter 6: Sockets.Naming package\n \n-25\n+27\n \n Value (function)\n Purpose\n \n Transform a string into an address\n \n Prototype\n@@ -1488,21 +1520,21 @@\n Parameters\n Add\n \n in\n \n Return value\n Corresponding Address\n-See also [Image (function)], page 23.\n+See also [Image (function)], page 25.\n \n [Sockets.Naming.Value]\n \n Textual representation of an IP address\n \n-\f\f27\n+\f\f29\n \n Appendix A Contributors\n AdaSockets has been originally developped by Samuel Tardieu who still maintains it. However, the following people have made crucial contributions to AdaSockets, be they new code,\n bug fixes or porting to new operating systems:\n \u2022 Dmitriy Anisimkov (anisimkov@yahoo.com)\n \u2022 Alan Barnes (barnesa@aston.ac.uk)\n \u2022 Juanma Barranquero (lektu@terra.es)\n@@ -1519,97 +1551,97 @@\n \u2022 Thomas Quinot (thomas@cuivre.fr.eu.org)\n \u2022 Preben Randhol (randhol@pvv.org)\n \u2022 Maxim Reznik (max1@mbank.com.ua)\n \u2022 Joel Sherrill (joel.sherrill@oarcorp.com)\n \u2022 Samuel Tardieu (sam@rfc1149.net)\n If you feel that you have been forgotten, please send me a mail so that I can fix it in the\n next version.\n-See Appendix B [Resources on the Internet], page 29, for how to contribute.\n+See Appendix B [Resources on the Internet], page 31, for how to contribute.\n \n-\f\f29\n+\f\f31\n \n Appendix B Resources on the Internet\n The latest version of AdaSockets can always be found at:\n https://www.rfc1149.net/devel/adasockets\n You can report issues or the AdaSockets mailing-list at\n https://lists.sr.ht/~rfc1149/adasockets-devel\n Contributions and patches are welcomed.\n \n-\f\f31\n+\f\f33\n \n Index\n A\n \n G\n \n Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accepting a new connection . . . . . . . . . . . . . . . . . . . . . 7\n-Ada.Streams.Stream_Element_Array . . . . 6, 14, 15\n+Ada.Streams.Stream_Element_Array . 6, 14, 15, 16\n Ada.Streams.Stream_Element_Count . . . . . . . 14, 15\n AdaSockets presentation . . . . . . . . . . . . . . . . . . . . . . . . 1\n-Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n+Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n+Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n-Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n+Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11\n Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11\n-Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\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 Both . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n \n Handling a new connection . . . . . . . . . . . . . . . . . . . . . . 7\n-Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n \n I\n C\n Closing a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Comparaison with GNAT.Sockets . . . . . . . . . . . . . . . . 1\n Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connecting a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Connection_Closed . . . . . . . . . . . 9, 10, 11, 13, 14, 15\n+Connection_Closed . . . . . . . 9, 10, 11, 13, 14, 15, 16\n Connection_Refused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 29\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 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, 13\n+CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n \n-Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\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-Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n \n L\n-LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13\n+LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n M\n E\n Establishing a listen queue . . . . . . . . . . . . . . . . . . . . . 12\n \n@@ -1618,40 +1650,40 @@\n Multicast sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Multicast_Socket_FD . . . . . . . . . . . . . . . . . . . . . . . 5, 19\n \n F\n \n N\n \n-Finding AdaSockets on the Internet . . . . . . . . . . . . 29\n+Finding AdaSockets on the Internet . . . . . . . . . . . . 31\n \n-Name_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n-Naming_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 24\n+Name_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n+Naming_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 26\n New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n \n-\f32\n+\f34\n \n AdaSockets reference manual\n \n P\n \n Sockets.Multicast.Create_Multicast_\n Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 19, 20\n-Sockets.Naming.Address_Of . . . . . . . . . . . . . . . . . . . 21\n-Sockets.Naming.Any_Address. . . . . . . . . . . . . . . . . . 22\n-Sockets.Naming.Get_Peer_Addr . . . . . . . . . . . . . . . 22\n-Sockets.Naming.Get_Peer_Port . . . . . . . . . . . . . . . 22\n-Sockets.Naming.Get_Sock_Addr . . . . . . . . . . . . . . . 22\n-Sockets.Naming.Get_Sock_Port . . . . . . . . . . . . . . . 23\n-Sockets.Naming.Host_Name . . . . . . . . . . . . . . . . . . . . 23\n-Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 23\n-Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 24\n-Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 24\n-Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 24\n-Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 25\n+Sockets.Naming.Address_Of . . . . . . . . . . . . . . . . . . . 23\n+Sockets.Naming.Any_Address. . . . . . . . . . . . . . . . . . 24\n+Sockets.Naming.Get_Peer_Addr . . . . . . . . . . . . . . . 24\n+Sockets.Naming.Get_Peer_Port . . . . . . . . . . . . . . . 24\n+Sockets.Naming.Get_Sock_Addr . . . . . . . . . . . . . . . 24\n+Sockets.Naming.Get_Sock_Port . . . . . . . . . . . . . . . 25\n+Sockets.Naming.Host_Name . . . . . . . . . . . . . . . . . . . . 25\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.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15\n Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n@@ -1661,37 +1693,37 @@\n Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18\n SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n-Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15\n+Stream_Element_Array . . . . . . . . . . . . . . . 6, 14, 15, 16\n Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15\n-String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n+String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n \n PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n \n R\n Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6\n Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17\n Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Receiving data . . . . . . . . . . 6, 9, 10, 11, 14, 15, 16, 18\n-Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n-Representing IP addresses . . . . . . . . . . . . . . . . . . 23, 25\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, 12, 13, 15\n-Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n+Sending data . . . . . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 15\n+Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setting socket options . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n@@ -1723,10 +1755,10 @@\n \n U\n UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Unicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n \n V\n-Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n+Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27\n \n \f\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": "@@ -958,4007 +958,4050 @@\n 00003bd0: 2020 2020 2020 2020 2020 2020 7365 7276 serv\n 00003be0: 6572 0a20 2020 2020 e280 9853 6f63 6b65 er. ...Socke\n 00003bf0: 745f 4572 726f 72e2 8099 2020 2020 2041 t_Error... A\n 00003c00: 6e6f 7468 6572 2065 7272 6f72 206f 6363 nother error occ\n 00003c10: 7572 7265 6420 6475 7269 6e67 2074 6865 urred during the\n 00003c20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00003c30: 2020 2020 2020 2020 2063 6f6e 6e65 6374 connect\n-00003c40: 696f 6e0a 0a45 5841 4d50 4c45 0a0a 5345 ion..EXAMPLE..SE\n-00003c50: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00003c60: 6520 536f 636b 6574 2028 7072 6f63 6564 e Socket (proced\n-00003c70: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00003c80: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00003c90: 2c20 204e 6f64 653a 2047 6574 2028 6675 , Node: Get (fu\n-00003ca0: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-00003cb0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-00003cc0: 6f6e 292c 2020 5072 6576 3a20 436f 6e6e on), Prev: Conn\n-00003cd0: 6563 7420 2870 726f 6365 6475 7265 292c ect (procedure),\n-00003ce0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-00003cf0: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00003d00: 0a47 6574 2028 6675 6e63 7469 6f6e 290a .Get (function).\n-00003d10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00003d20: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n-00003d30: 2061 2073 7472 696e 6720 6672 6f6d 2061 a string from a\n-00003d40: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n-00003d50: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00003d60: 536f 636b 6574 732e 4765 743a 2066 756e Sockets.Get: fun\n-00003d70: 6374 696f 6e20 4765 7420 2853 4f43 4b45 ction Get (SOCKE\n-00003d80: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n-00003d90: 6173 7329 0a20 2020 2020 2020 2020 2020 ass). \n-00003da0: 2020 2020 7265 7475 726e 2053 7472 696e return Strin\n-00003db0: 673b 0a0a 5041 5241 4d45 5445 5253 0a20 g;..PARAMETERS. \n-00003dc0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00003dd0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00003de0: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n-00003df0: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n-00003e00: 740a 0a52 4554 5552 4e20 5641 4c55 450a t..RETURN VALUE.\n-00003e10: 2020 2020 2053 6f6d 6520 6368 6172 6163 Some charac\n-00003e20: 7465 7273 2074 6861 7420 6861 7665 2062 ters that have b\n-00003e30: 6565 6e20 7265 6365 6976 6564 0a0a 4445 een received..DE\n-00003e40: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-00003e50: 6869 7320 6675 6e63 7469 6f6e 2072 6563 his function rec\n-00003e60: 6569 7665 7320 736f 6d65 2063 6861 7261 eives some chara\n-00003e70: 6374 6572 7320 6672 6f6d 2061 2072 656d cters from a rem\n-00003e80: 6f74 6520 686f 7374 2e20 2041 7320 736f ote host. As so\n-00003e90: 6f6e 0a20 2020 2020 7468 6174 2061 7420 on. that at \n-00003ea0: 6c65 6173 7420 6f6e 6520 6368 6172 6163 least one charac\n-00003eb0: 7465 7220 6973 2061 7661 696c 6162 6c65 ter is available\n-00003ec0: 2c20 7468 6520 6375 7272 656e 7420 7265 , the current re\n-00003ed0: 6365 7074 696f 6e0a 2020 2020 2062 7566 ception. buf\n-00003ee0: 6665 7220 6973 2072 6574 7572 6e65 642e fer is returned.\n-00003ef0: 0a0a 2020 2020 2054 6865 7265 2069 7320 .. There is \n-00003f00: 7573 7561 6c6c 7920 6c69 7474 6c65 2067 usually little g\n-00003f10: 6169 6e20 696e 2075 7369 6e67 2074 6869 ain in using thi\n-00003f20: 7320 6675 6e63 7469 6f6e 2077 686f 7365 s function whose\n-00003f30: 2062 6568 6176 696f 720a 2020 2020 2069 behavior. i\n-00003f40: 7320 636f 6d70 6172 6162 6c65 2074 6f20 s comparable to \n-00003f50: 7468 6520 6f6e 6520 6f66 202a 6e6f 7465 the one of *note\n-00003f60: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00003f70: 6f6e 293a 3a2e 2020 4f74 6865 720a 2020 on)::. Other. \n-00003f80: 2020 2066 756e 6374 696f 6e73 2073 7563 functions suc\n-00003f90: 6820 6173 202a 6e6f 7465 2047 6574 5f43 h as *note Get_C\n-00003fa0: 6861 7220 2866 756e 6374 696f 6e29 3a3a har (function)::\n-00003fb0: 2c20 6f72 202a 6e6f 7465 2047 6574 5f4c , or *note Get_L\n-00003fc0: 696e 650a 2020 2020 2028 6675 6e63 7469 ine. (functi\n-00003fd0: 6f6e 293a 3a2c 2061 6c6c 6f77 206d 6f72 on)::, allow mor\n-00003fe0: 6520 7374 7275 6374 7572 6564 2070 726f e structured pro\n-00003ff0: 6772 616d 6d69 6e67 2e0a 0a20 2020 2020 gramming... \n-00004000: 486f 7765 7665 722c 2074 6869 7320 6675 However, this fu\n-00004010: 6e63 7469 6f6e 206d 6179 2062 6520 7573 nction may be us\n-00004020: 6564 2074 6f20 6176 6f69 6420 6c6f 7369 ed to avoid losi\n-00004030: 6e67 2063 6861 7261 6374 6572 7320 7768 ng characters wh\n-00004040: 656e 0a20 2020 2020 6361 6c6c 696e 6720 en. calling \n-00004050: 2a6e 6f74 6520 556e 7365 745f 4275 6666 *note Unset_Buff\n-00004060: 6572 2028 7072 6f63 6564 7572 6529 3a3a er (procedure)::\n-00004070: 2c20 6966 2c20 666f 7220 736f 6d65 2072 , if, for some r\n-00004080: 6561 736f 6e2c 2074 6865 0a20 2020 2020 eason, the. \n-00004090: 7265 6d6f 7465 2068 6f73 7420 6d61 7920 remote host may \n-000040a0: 6861 7665 2073 656e 7420 736f 6d65 2e0a have sent some..\n-000040b0: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n-000040c0: 20e2 8098 436f 6e6e 6563 7469 6f6e 5f43 ...Connection_C\n-000040d0: 6c6f 7365 64e2 8099 5065 6572 2068 6173 losed...Peer has\n-000040e0: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n-000040f0: 6563 7469 6f6e 2062 6566 6f72 650a 2020 ection before. \n-00004100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004110: 2020 2020 2020 7365 6e64 696e 6720 616e sending an\n-00004120: 7920 6461 7461 0a0a 1f0a 4669 6c65 3a20 y data....File: \n-00004130: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-00004140: 2020 4e6f 6465 3a20 4765 745f 4368 6172 Node: Get_Char\n-00004150: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-00004160: 7874 3a20 4765 745f 4c69 6e65 2028 6675 xt: Get_Line (fu\n-00004170: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n-00004180: 4765 7420 2866 756e 6374 696f 6e29 2c20 Get (function), \n-00004190: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-000041a0: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-000041b0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-000041c0: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-000041d0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n-000041e0: 0a20 2020 2020 4765 7420 6120 6368 6172 . Get a char\n-000041f0: 6163 7465 7220 6672 6f6d 2061 2072 656d acter from a rem\n-00004200: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n-00004210: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-00004220: 6574 732e 4765 745f 4368 6172 3a20 6675 ets.Get_Char: fu\n-00004230: 6e63 7469 6f6e 2047 6574 5f43 6861 7220 nction Get_Char \n-00004240: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00004250: 5f46 4427 436c 6173 7329 0a20 2020 2020 _FD'Class). \n-00004260: 2020 2020 2020 2020 2020 7265 7475 726e return\n-00004270: 2043 6861 7261 6374 6572 3b0a 0a50 4152 Character;..PAR\n-00004280: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00004290: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-000042a0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-000042b0: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-000042c0: 6b65 7420 6f62 6a65 6374 0a0a 5245 5455 ket object..RETU\n-000042d0: 524e 2056 414c 5545 0a20 2020 2020 4f6e RN VALUE. On\n-000042e0: 6520 6368 6172 6163 7465 7220 7365 6e74 e character sent\n-000042f0: 2062 7920 7468 6520 7265 6d6f 7465 2068 by the remote h\n-00004300: 6f73 740a 0a44 4553 4352 4950 5449 4f4e ost..DESCRIPTION\n-00004310: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n-00004320: 696f 6e20 7265 6365 6976 6573 2065 7861 ion receives exa\n-00004330: 6374 6c79 206f 6e65 2063 6861 7261 6374 ctly one charact\n-00004340: 6572 2066 726f 6d20 7468 6520 7265 6d6f er from the remo\n-00004350: 7465 2068 6f73 742e 0a0a 4558 4345 5054 te host...EXCEPT\n-00004360: 494f 4e53 0a20 2020 2020 e280 9843 6f6e IONS. ...Con\n-00004370: 6e65 6374 696f 6e5f 436c 6f73 6564 e280 nection_Closed..\n-00004380: 9950 6565 7220 6861 7320 636c 6f73 6564 .Peer has closed\n-00004390: 2074 6865 2063 6f6e 6e65 6374 696f 6e20 the connection \n-000043a0: 6265 666f 7265 0a20 2020 2020 2020 2020 before. \n-000043b0: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-000043c0: 656e 6469 6e67 2074 6865 2063 6861 7261 ending the chara\n-000043d0: 6374 6572 0a0a 5345 4520 414c 534f 0a20 cter..SEE ALSO. \n-000043e0: 2020 2020 2a6e 6f74 6520 4765 7420 2866 *note Get (f\n-000043f0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n-00004400: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n-00004410: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00004420: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n-00004430: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-00004440: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n-00004450: 6976 6520 2870 726f 6365 6475 7265 293a ive (procedure):\n-00004460: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365 :,. *note Se\n-00004470: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00004480: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00004490: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-000044a0: 2c20 204e 6f64 653a 2047 6574 5f4c 696e , Node: Get_Lin\n-000044b0: 6520 2866 756e 6374 696f 6e29 2c20 204e e (function), N\n-000044c0: 6578 743a 2047 6574 5f4c 696e 6520 2870 ext: Get_Line (p\n-000044d0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-000044e0: 3a20 4765 745f 4368 6172 2028 6675 6e63 : Get_Char (func\n-000044f0: 7469 6f6e 292c 2020 5570 3a20 4163 6365 tion), Up: Acce\n-00004500: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00004510: 6475 7265 290a 0a47 6574 5f4c 696e 6520 dure)..Get_Line \n-00004520: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n-00004530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00004540: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n-00004550: 2061 2077 686f 6c65 206c 696e 6520 6672 a whole line fr\n-00004560: 6f6d 2061 2072 656d 6f74 6520 686f 7374 om a remote host\n-00004570: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-00004580: 202d 2d20 536f 636b 6574 732e 4765 745f -- Sockets.Get_\n-00004590: 4c69 6e65 3a20 6675 6e63 7469 6f6e 2047 Line: function G\n-000045a0: 6574 5f4c 696e 6520 2853 4f43 4b45 5420 et_Line (SOCKET \n-000045b0: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n-000045c0: 733b 0a20 2020 2020 2020 2020 2020 2020 s;. \n-000045d0: 2020 4d41 585f 4c45 4e47 5448 203a 2050 MAX_LENGTH : P\n-000045e0: 6f73 6974 6976 6520 3a3d 2032 3034 3829 ositive := 2048)\n-000045f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00004600: 7265 7475 726e 2053 7472 696e 673b 0a0a return String;..\n-00004610: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00004620: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00004630: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00004640: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n-00004650: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00004660: 2020 204d 4158 5f4c 454e 4754 4820 696e MAX_LENGTH in\n-00004670: 2020 2020 2020 2020 204d 6178 696d 756d Maximum\n-00004680: 2072 6574 7572 6e65 6420 6c69 6e65 206c returned line l\n-00004690: 656e 6774 680a 0a52 4554 5552 4e20 5641 ength..RETURN VA\n-000046a0: 4c55 450a 2020 2020 2041 206c 696e 6520 LUE. A line \n-000046b0: 7769 7468 6f75 7420 7468 6520 4352 2061 without the CR a\n-000046c0: 6e64 204c 4620 7365 7061 7261 746f 7273 nd LF separators\n-000046d0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-000046e0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n-000046f0: 2072 6563 6569 7665 7320 6f6e 6520 6c69 receives one li\n-00004700: 6e65 2066 726f 6d20 7468 6520 7265 6d6f ne from the remo\n-00004710: 7465 2068 6f73 742e 2020 4120 6c69 6e65 te host. A line\n-00004720: 0a20 2020 2020 636f 6e73 6973 7473 2069 . consists i\n-00004730: 6e74 6f20 7a65 726f 206f 7220 6d6f 7265 nto zero or more\n-00004740: 2063 6861 7261 6374 6572 7320 666f 6c6c characters foll\n-00004750: 6f77 6564 2062 7920 616e 206f 7074 696f owed by an optio\n-00004760: 6e61 6c20 4352 0a20 2020 2020 616e 6420 nal CR. and \n-00004770: 6279 2061 204c 462e 2054 686f 7365 2074 by a LF. Those t\n-00004780: 6572 6d69 6e61 746f 7273 2061 7265 2073 erminators are s\n-00004790: 7472 6970 7065 6420 6265 666f 7265 2074 tripped before t\n-000047a0: 6865 206c 696e 6520 6973 0a20 2020 2020 he line is. \n-000047b0: 7265 7475 726e 6564 2e0a 0a20 2020 2020 returned... \n-000047c0: 5468 6973 2066 756e 6374 696f 6e20 626c This function bl\n-000047d0: 6f63 6b73 2075 6e74 696c 206f 6e65 2066 ocks until one f\n-000047e0: 756c 6c20 6c69 6e65 2068 6173 2062 6565 ull line has bee\n-000047f0: 6e20 7265 6365 6976 6564 2e20 2054 6865 n received. The\n-00004800: 0a20 2020 2020 6c69 6e65 206c 656e 6774 . line lengt\n-00004810: 6820 6973 206c 696d 6974 6564 2077 6974 h is limited wit\n-00004820: 6820 7468 6520 7661 6c75 6520 6f66 2074 h the value of t\n-00004830: 6865 204d 6178 5f4c 656e 6774 6820 6172 he Max_Length ar\n-00004840: 6775 6d65 6e74 2c0a 2020 2020 2074 6f20 gument,. to \n-00004850: 6176 6f69 6420 6578 6861 7573 7469 6f6e avoid exhaustion\n-00004860: 206f 6620 7468 6520 7365 636f 6e64 6172 of the secondar\n-00004870: 7920 7374 6163 6b2e 0a0a 4558 4345 5054 y stack...EXCEPT\n-00004880: 494f 4e53 0a20 2020 2020 e280 9843 6f6e IONS. ...Con\n-00004890: 6e65 6374 696f 6e5f 436c 6f73 6564 e280 nection_Closed..\n-000048a0: 9950 6565 7220 6861 7320 636c 6f73 6564 .Peer has closed\n-000048b0: 2074 6865 2063 6f6e 6e65 6374 696f 6e20 the connection \n-000048c0: 6265 666f 7265 0a20 2020 2020 2020 2020 before. \n-000048d0: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-000048e0: 656e 6469 6e67 2061 2077 686f 6c65 206c ending a whole l\n-000048f0: 696e 650a 0a53 4545 2041 4c53 4f0a 2020 ine..SEE ALSO. \n-00004900: 2020 202a 6e6f 7465 2047 6574 2028 6675 *note Get (fu\n-00004910: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n-00004920: 2a6e 6f74 6520 4765 745f 4368 6172 2028 *note Get_Char (\n-00004930: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-00004940: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n-00004950: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n-00004960: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00004970: 7665 2028 7072 6f63 6564 7572 6529 3a3a ve (procedure)::\n-00004980: 2c0a 2020 2020 202a 6e6f 7465 2053 6574 ,. *note Set\n-00004990: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-000049a0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n-000049b0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-000049c0: 2020 4e6f 6465 3a20 4765 745f 4c69 6e65 Node: Get_Line\n-000049d0: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n-000049e0: 6578 743a 2047 6574 5f52 6563 6569 7665 ext: Get_Receive\n-000049f0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-00004a00: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n-00004a10: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-00004a20: 6e29 2c20 2055 703a 2041 6363 6570 745f n), Up: Accept_\n-00004a30: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00004a40: 6529 0a0a 4765 745f 4c69 6e65 2028 7072 e)..Get_Line (pr\n-00004a50: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-00004a60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-00004a70: 5552 504f 5345 0a20 2020 2020 4765 7420 URPOSE. Get \n-00004a80: 6120 7768 6f6c 6520 6c69 6e65 2066 726f a whole line fro\n-00004a90: 6d20 6120 7265 6d6f 7465 2068 6f73 740a m a remote host.\n-00004aa0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-00004ab0: 2d2d 2053 6f63 6b65 7473 2e47 6574 5f4c -- Sockets.Get_L\n-00004ac0: 696e 653a 2070 726f 6365 6475 7265 2047 ine: procedure G\n-00004ad0: 6574 5f4c 696e 6520 2853 4f43 4b45 5420 et_Line (SOCKET \n-00004ae0: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n-00004af0: 733b 0a20 2020 2020 2020 2020 2020 2020 s;. \n-00004b00: 2020 5354 5220 3a20 696e 206f 7574 2053 STR : in out S\n-00004b10: 7472 696e 673b 204c 4153 5420 3a20 6f75 tring; LAST : ou\n-00004b20: 7420 4e61 7475 7261 6c29 3b0a 0a50 4152 t Natural);..PAR\n-00004b30: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00004b40: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00004b50: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00004b60: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-00004b70: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n-00004b80: 5354 5220 2020 2020 2020 2069 6e20 6f75 STR in ou\n-00004b90: 7420 2020 2020 5374 7269 6e67 2074 6f20 t String to \n-00004ba0: 6669 6c6c 0a20 2020 2020 4c41 5354 2020 fill. LAST \n-00004bb0: 2020 2020 206f 7574 2020 2020 2020 2020 out \n-00004bc0: 4c61 7374 2069 6e64 6578 2075 7365 6420 Last index used \n-00004bd0: 696e 2074 6865 2073 7472 696e 670a 0a44 in the string..D\n-00004be0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00004bf0: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n-00004c00: 6563 6569 7665 7320 6f6e 6520 6c69 6e65 eceives one line\n-00004c10: 2066 726f 6d20 7468 6520 7265 6d6f 7465 from the remote\n-00004c20: 2068 6f73 742e 2020 4120 6c69 6e65 0a20 host. A line. \n-00004c30: 2020 2020 636f 6e73 6973 7473 2069 6e74 consists int\n-00004c40: 6f20 7a65 726f 206f 7220 6d6f 7265 2063 o zero or more c\n-00004c50: 6861 7261 6374 6572 7320 666f 6c6c 6f77 haracters follow\n-00004c60: 6564 2062 7920 616e 206f 7074 696f 6e61 ed by an optiona\n-00004c70: 6c20 4352 0a20 2020 2020 616e 6420 6279 l CR. and by\n-00004c80: 2061 204c 462e 2054 686f 7365 2074 6572 a LF. Those ter\n-00004c90: 6d69 6e61 746f 7273 2061 7265 2073 7472 minators are str\n-00004ca0: 6970 7065 6420 6265 666f 7265 2074 6865 ipped before the\n-00004cb0: 206c 696e 6520 6973 0a20 2020 2020 7265 line is. re\n-00004cc0: 7475 726e 6564 2e0a 0a20 2020 2020 5468 turned... Th\n-00004cd0: 6973 2070 726f 6365 6475 7265 2062 6c6f is procedure blo\n-00004ce0: 636b 7320 756e 7469 6c20 6f6e 6520 6675 cks until one fu\n-00004cf0: 6c6c 206c 696e 6520 6861 7320 6265 656e ll line has been\n-00004d00: 2072 6563 6569 7665 642e 0a0a 4558 4345 received...EXCE\n-00004d10: 5054 494f 4e53 0a20 2020 2020 e280 9843 PTIONS. ...C\n-00004d20: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-00004d30: e280 9950 6565 7220 6861 7320 636c 6f73 ...Peer has clos\n-00004d40: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n-00004d50: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n-00004d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004d70: 2073 656e 6469 6e67 2061 2077 686f 6c65 sending a whole\n-00004d80: 206c 696e 650a 0a53 4545 2041 4c53 4f0a line..SEE ALSO.\n-00004d90: 2020 2020 202a 6e6f 7465 2047 6574 2028 *note Get (\n-00004da0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-00004db0: 2020 2a6e 6f74 6520 4765 745f 4368 6172 *note Get_Char\n-00004dc0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n-00004dd0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n-00004de0: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c ne (function)::,\n-00004df0: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n-00004e00: 6976 6520 2870 726f 6365 6475 7265 293a ive (procedure):\n-00004e10: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365 :,. *note Se\n-00004e20: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00004e30: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00004e40: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00004e50: 2c20 204e 6f64 653a 2047 6574 5f52 6563 , Node: Get_Rec\n-00004e60: 6569 7665 5f51 7565 7565 5f53 697a 6520 eive_Queue_Size \n-00004e70: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n-00004e80: 743a 2047 6574 5f53 656e 645f 5175 6575 t: Get_Send_Queu\n-00004e90: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-00004ea0: 292c 2020 5072 6576 3a20 4765 745f 4c69 ), Prev: Get_Li\n-00004eb0: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n-00004ec0: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00004ed0: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00004ee0: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n-00004ef0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-00004f00: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-00004f10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00004f20: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00004f30: 2020 5265 7475 726e 2074 6865 2073 697a Return the siz\n-00004f40: 6520 6f66 2074 6865 2075 6e72 6561 6420 e of the unread \n-00004f50: 6461 7461 2069 6e20 7468 6520 696e 7075 data in the inpu\n-00004f60: 7420 7175 6575 650a 5052 4f54 4f54 5950 t queue.PROTOTYP\n-00004f70: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00004f80: 7473 2e47 6574 5f52 6563 6569 7665 5f51 ts.Get_Receive_Q\n-00004f90: 7565 7565 5f53 697a 653a 2066 756e 6374 ueue_Size: funct\n-00004fa0: 696f 6e20 4765 745f 5265 6365 6976 655f ion Get_Receive_\n-00004fb0: 5175 6575 655f 5369 7a65 0a20 2020 2020 Queue_Size. \n-00004fc0: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n-00004fd0: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n-00004fe0: 6173 7329 0a20 2020 2020 2020 2020 2020 ass). \n-00004ff0: 2020 2020 7265 7475 726e 2049 6e74 6567 return Integ\n-00005000: 6572 3b0a 0a50 4152 414d 4554 4552 530a er;..PARAMETERS.\n-00005010: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-00005020: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n-00005030: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n-00005040: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n-00005050: 6374 0a0a 5245 5455 524e 2056 414c 5545 ct..RETURN VALUE\n-00005060: 0a20 2020 2020 5468 6520 6e6f 6e2d 6e65 . The non-ne\n-00005070: 6761 7469 7665 2073 697a 6520 696e 2062 gative size in b\n-00005080: 7974 6573 206f 6620 7468 6520 696e 7075 ytes of the inpu\n-00005090: 7420 7175 6575 650a 0a44 4553 4352 4950 t queue..DESCRIP\n-000050a0: 5449 4f4e 0a20 2020 2020 5468 6973 2066 TION. This f\n-000050b0: 756e 6374 696f 6e20 6973 206f 6e6c 7920 unction is only \n-000050c0: 6176 6169 6c61 626c 6520 6f6e 204c 696e available on Lin\n-000050d0: 7578 2070 6c61 7466 6f72 6d73 2e20 204f ux platforms. O\n-000050e0: 6e20 6f74 6865 720a 2020 2020 206f 7065 n other. ope\n-000050f0: 7261 7469 6e67 2073 7973 7465 6d73 2c20 rating systems, \n-00005100: 6974 2077 696c 6c20 7265 7475 726e 202d it will return -\n-00005110: 3220 746f 2069 6e64 6963 6174 6520 7468 2 to indicate th\n-00005120: 6174 2074 6865 206e 6563 6573 7361 7279 at the necessary\n-00005130: 0a20 2020 2020 6d65 6368 616e 6973 6d73 . mechanisms\n-00005140: 2074 6f20 7265 7472 6965 7665 2074 6865 to retrieve the\n-00005150: 2069 6e66 6f72 6d61 7469 6f6e 2061 7265 information are\n-00005160: 206e 6f74 2061 7661 696c 6162 6c65 2e0a not available..\n-00005170: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00005180: 6e6f 7465 2052 6563 6569 7665 2028 7072 note Receive (pr\n-00005190: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n-000051a0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-000051b0: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n-000051c0: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size\n-000051d0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-000051e0: 7874 3a20 4765 7473 6f63 6b6f 7074 2028 xt: Getsockopt (\n-000051f0: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n-00005200: 763a 2047 6574 5f52 6563 6569 7665 5f51 v: Get_Receive_Q\n-00005210: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-00005220: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n-00005230: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00005240: 7572 6529 0a0a 4765 745f 5365 6e64 5f51 ure)..Get_Send_Q\n-00005250: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-00005260: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n-00005270: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005280: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00005290: 2020 5265 7475 726e 2074 6865 2073 697a Return the siz\n-000052a0: 6520 6f66 2074 6865 2075 6e73 656e 7420 e of the unsent \n-000052b0: 6461 7461 2069 6e20 7468 6520 6f75 7470 data in the outp\n-000052c0: 7574 2071 7565 7565 0a50 524f 544f 5459 ut queue.PROTOTY\n-000052d0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-000052e0: 6574 732e 4765 745f 5365 6e64 5f51 7565 ets.Get_Send_Que\n-000052f0: 7565 5f53 697a 653a 2066 756e 6374 696f ue_Size: functio\n-00005300: 6e20 4765 745f 5365 6e64 5f51 7565 7565 n Get_Send_Queue\n-00005310: 5f53 697a 650a 2020 2020 2020 2020 2020 _Size. \n-00005320: 2020 2020 2028 534f 434b 4554 203a 2053 (SOCKET : S\n-00005330: 6f63 6b65 745f 4644 2743 6c61 7373 290a ocket_FD'Class).\n-00005340: 2020 2020 2020 2020 2020 2020 2020 2072 r\n-00005350: 6574 7572 6e20 496e 7465 6765 723b 0a0a eturn Integer;..\n-00005360: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00005370: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00005380: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00005390: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n-000053a0: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R\n-000053b0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n-000053c0: 2054 6865 206e 6f6e 2d6e 6567 6174 6976 The non-negativ\n-000053d0: 6520 7369 7a65 2069 6e20 6279 7465 7320 e size in bytes \n-000053e0: 6f66 2074 6865 206f 7574 7075 7420 7175 of the output qu\n-000053f0: 6575 650a 0a44 4553 4352 4950 5449 4f4e eue..DESCRIPTION\n-00005400: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n-00005410: 696f 6e20 6973 206f 6e6c 7920 6176 6169 ion is only avai\n-00005420: 6c61 626c 6520 6f6e 204c 696e 7578 2070 lable on Linux p\n-00005430: 6c61 7466 6f72 6d73 2e20 204f 6e20 6f74 latforms. On ot\n-00005440: 6865 720a 2020 2020 206f 7065 7261 7469 her. operati\n-00005450: 6e67 2073 7973 7465 6d73 2c20 6974 2077 ng systems, it w\n-00005460: 696c 6c20 7265 7475 726e 202d 3220 746f ill return -2 to\n-00005470: 2069 6e64 6963 6174 6520 7468 6174 2074 indicate that t\n-00005480: 6865 206e 6563 6573 7361 7279 0a20 2020 he necessary. \n-00005490: 2020 6d65 6368 616e 6973 6d73 2074 6f20 mechanisms to \n-000054a0: 7265 7472 6965 7665 2074 6865 2069 6e66 retrieve the inf\n-000054b0: 6f72 6d61 7469 6f6e 2061 7265 206e 6f74 ormation are not\n-000054c0: 2061 7661 696c 6162 6c65 2e0a 0a53 4545 available...SEE\n-000054d0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-000054e0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-000054f0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00005500: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00005510: 4e6f 6465 3a20 4765 7473 6f63 6b6f 7074 Node: Getsockopt\n-00005520: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n-00005530: 6578 743a 204c 6973 7465 6e20 2870 726f ext: Listen (pro\n-00005540: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n-00005550: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n-00005560: 697a 6520 2866 756e 6374 696f 6e29 2c20 ize (function), \n-00005570: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00005580: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00005590: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-000055a0: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-000055b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-000055c0: 5552 504f 5345 0a20 2020 2020 5265 7472 URPOSE. Retr\n-000055d0: 6965 7665 2061 2073 6f63 6b65 7420 6f70 ieve a socket op\n-000055e0: 7469 6f6e 0a50 524f 544f 5459 5045 0a20 tion.PROTOTYPE. \n-000055f0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00005600: 4765 7473 6f63 6b6f 7074 3a20 7072 6f63 Getsockopt: proc\n-00005610: 6564 7572 6520 4765 7473 6f63 6b6f 7074 edure Getsockopt\n-00005620: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n-00005630: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n-00005640: 2020 2020 204c 4556 454c 203a 2053 6f63 LEVEL : Soc\n-00005650: 6b65 745f 4c65 7665 6c20 3a3d 2053 4f4c ket_Level := SOL\n-00005660: 5f53 4f43 4b45 543b 0a20 2020 2020 2020 _SOCKET;. \n-00005670: 2020 2020 2020 2020 4f50 544e 414d 4520 OPTNAME \n-00005680: 3a20 536f 636b 6574 5f4f 7074 696f 6e3b : Socket_Option;\n-00005690: 204f 5054 5641 4c20 3a20 6f75 7420 496e OPTVAL : out In\n-000056a0: 7465 6765 7229 3b0a 0a50 4152 414d 4554 teger);..PARAMET\n-000056b0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n-000056c0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n-000056d0: 6e69 7469 616c 697a 6564 2061 6e64 2062 nitialized and b\n-000056e0: 6f75 6e64 2073 6f63 6b65 7420 6f62 6a65 ound socket obje\n-000056f0: 6374 0a20 2020 2020 4c45 5645 4c20 2020 ct. LEVEL \n-00005700: 2020 2069 6e20 2020 2020 2020 2020 5072 in Pr\n-00005710: 6f74 6f63 6f6c 206c 6576 656c 0a20 2020 otocol level. \n-00005720: 2020 4f50 544e 414d 4520 2020 2069 6e20 OPTNAME in \n-00005730: 2020 2020 2020 2020 4f70 7469 6f6e 206e Option n\n-00005740: 616d 650a 2020 2020 204f 5054 5641 4c20 ame. OPTVAL \n-00005750: 2020 2020 6f75 7420 2020 2020 2020 204f out O\n-00005760: 7074 696f 6e20 7661 6c75 650a 0a44 4553 ption value..DES\n-00005770: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n-00005780: 6973 2070 726f 6365 6475 7265 2072 6574 is procedure ret\n-00005790: 7269 6576 6573 206f 7074 696f 6e73 2061 rieves options a\n-000057a0: 7070 6c69 6361 626c 6520 746f 2061 2073 pplicable to a s\n-000057b0: 6f63 6b65 742e 2020 506c 6561 7365 0a20 ocket. Please. \n-000057c0: 2020 2020 7365 6520 796f 7572 206f 7065 see your ope\n-000057d0: 7261 7469 6e67 2073 7973 7465 6d20 6d61 rating system ma\n-000057e0: 6e75 616c 2066 6f72 2075 7361 626c 6520 nual for usable \n-000057f0: 6c65 7665 6c73 2061 6e64 206f 7074 696f levels and optio\n-00005800: 6e73 2e0a 0a20 2020 2020 5477 6f20 6c65 ns... Two le\n-00005810: 7665 6c73 2061 7265 2064 6566 696e 6564 vels are defined\n-00005820: 3a20 e280 9853 4f4c 5f53 4f43 4b45 54e2 : ...SOL_SOCKET.\n-00005830: 8099 2028 7468 6520 6465 6661 756c 7429 .. (the default)\n-00005840: 2061 6e64 0a20 2020 2020 e280 9849 5050 and. ...IPP\n-00005850: 524f 544f 5f49 50e2 8099 2e20 2054 6865 ROTO_IP.... The\n-00005860: 206f 7074 696f 6e73 2061 7265 20e2 8098 options are ...\n-00005870: 534f 5f52 4555 5345 4144 4452 e280 992c SO_REUSEADDR...,\n-00005880: 20e2 8098 534f 5f52 4555 5345 504f 5254 ...SO_REUSEPORT\n-00005890: e280 992c 0a20 2020 2020 e280 9849 505f ...,. ...IP_\n-000058a0: 4d55 4c54 4943 4153 545f 5454 4ce2 8099 MULTICAST_TTL...\n-000058b0: 2c20 e280 9849 505f 4144 445f 4d45 4d42 , ...IP_ADD_MEMB\n-000058c0: 4552 5348 4950 e280 992c 20e2 8098 4950 ERSHIP..., ...IP\n-000058d0: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n-000058e0: e280 992c 0a20 2020 2020 e280 9849 505f ...,. ...IP_\n-000058f0: 4d55 4c54 4943 4153 545f 4c4f 4f50 e280 MULTICAST_LOOP..\n-00005900: 992c 20e2 8098 534f 5f53 4e44 4255 46e2 ., ...SO_SNDBUF.\n-00005910: 8099 2061 6e64 20e2 8098 4950 5f52 4356 .. and ...IP_RCV\n-00005920: 4255 46e2 8099 2e0a 0a20 2020 2020 4e6f BUF...... No\n-00005930: 7465 2074 6861 7420 756e 6c69 6b65 2074 te that unlike t\n-00005940: 6865 6972 2043 206c 616e 6775 6167 6520 heir C language \n-00005950: 636f 756e 7465 7270 6172 742c 20e2 8098 counterpart, ...\n-00005960: 4765 7473 6f63 6b6f 7074 e280 9920 616e Getsockopt... an\n-00005970: 640a 2020 2020 20e2 8098 5365 7473 6f63 d. ...Setsoc\n-00005980: 6b6f 7074 e280 9920 646f 206e 6f74 2072 kopt... do not r\n-00005990: 6571 7569 7265 2061 6e20 6578 7472 6120 equire an extra \n-000059a0: 7061 7261 6d65 7465 7220 7265 7072 6573 parameter repres\n-000059b0: 656e 7469 6e67 2074 6865 0a20 2020 2020 enting the. \n-000059c0: 6c65 6e67 7468 2069 6e20 6279 7465 7320 length in bytes \n-000059d0: 6f66 2074 6865 206f 7074 696f 6e20 7661 of the option va\n-000059e0: 6c75 652e 2020 4164 6153 6f63 6b65 7473 lue. AdaSockets\n-000059f0: 206b 6e6f 7773 2074 6865 2072 6967 6874 knows the right\n-00005a00: 0a20 2020 2020 7369 7a65 2066 6f72 2065 . size for e\n-00005a10: 7665 7279 206f 7074 696f 6e2e 0a0a 5345 very option...SE\n-00005a20: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00005a30: 6520 5365 7473 6f63 6b6f 7074 2028 7072 e Setsockopt (pr\n-00005a40: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n-00005a50: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-00005a60: 696e 666f 2c20 204e 6f64 653a 204c 6973 info, Node: Lis\n-00005a70: 7465 6e20 2870 726f 6365 6475 7265 292c ten (procedure),\n-00005a80: 2020 4e65 7874 3a20 4e65 775f 4c69 6e65 Next: New_Line\n-00005a90: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-00005aa0: 7265 763a 2047 6574 736f 636b 6f70 7420 rev: Getsockopt \n-00005ab0: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00005ac0: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00005ad0: 2870 726f 6365 6475 7265 290a 0a4c 6973 (procedure)..Lis\n-00005ae0: 7465 6e20 2870 726f 6365 6475 7265 290a ten (procedure).\n-00005af0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005b00: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-00005b10: 2045 7374 6162 6c69 7368 2061 206c 6973 Establish a lis\n-00005b20: 7465 6e20 7175 6575 650a 5052 4f54 4f54 ten queue.PROTOT\n-00005b30: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00005b40: 6b65 7473 2e4c 6973 7465 6e3a 2070 726f kets.Listen: pro\n-00005b50: 6365 6475 7265 204c 6973 7465 6e20 2853 cedure Listen (S\n-00005b60: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00005b70: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n-00005b80: 2020 5155 4555 455f 5349 5a45 203a 2050 QUEUE_SIZE : P\n-00005b90: 6f73 6974 6976 6520 3a3d 2035 293b 0a0a ositive := 5);..\n-00005ba0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00005bb0: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00005bc0: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00005bd0: 6420 616e 6420 626f 756e 6420 736f 636b d and bound sock\n-00005be0: 6574 206f 626a 6563 740a 2020 2020 2051 et object. Q\n-00005bf0: 5545 5545 5f53 495a 4520 696e 2020 2020 UEUE_SIZE in \n-00005c00: 2020 2020 2052 6571 7565 7374 6564 2073 Requested s\n-00005c10: 6c6f 7473 2069 6e20 7468 6520 6c69 7374 lots in the list\n-00005c20: 656e 2071 7565 7565 0a0a 4445 5343 5249 en queue..DESCRI\n-00005c30: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00005c40: 7072 6f63 6564 7572 6520 6573 7461 626c procedure establ\n-00005c50: 6973 6865 7320 6120 6c69 7374 656e 2071 ishes a listen q\n-00005c60: 7565 7565 2061 6674 6572 2061 2054 4350 ueue after a TCP\n-00005c70: 2073 6f63 6b65 7420 6173 0a20 2020 2020 socket as. \n-00005c80: 6265 656e 2069 6e69 7469 616c 697a 6564 been initialized\n-00005c90: 2061 6e64 2062 6f75 6e64 2e20 2045 6163 and bound. Eac\n-00005ca0: 6820 736c 6f74 2069 6e20 7468 6520 7175 h slot in the qu\n-00005cb0: 6575 6520 6361 6e20 686f 6c64 206f 6e65 eue can hold one\n-00005cc0: 0a20 2020 2020 696e 636f 6d69 6e67 2063 . incoming c\n-00005cd0: 6f6e 6e65 6374 696f 6e20 7468 6174 2068 onnection that h\n-00005ce0: 6173 206e 6f74 2062 6565 6e20 6163 6365 as not been acce\n-00005cf0: 7074 6564 2079 6574 2e20 204e 6f74 6520 pted yet. Note \n-00005d00: 7468 6174 206d 6f73 740a 2020 2020 206f that most. o\n-00005d10: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n-00005d20: 2069 676e 6f72 6520 7175 6575 6520 7369 ignore queue si\n-00005d30: 7a65 7320 6c61 7267 6572 2074 6861 6e20 zes larger than \n-00005d40: 6669 7665 2e0a 0a53 4545 2041 4c53 4f0a five...SEE ALSO.\n-00005d50: 2020 2020 202a 6e6f 7465 2041 6363 6570 *note Accep\n-00005d60: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00005d70: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00005d80: 7465 2042 696e 6420 2870 726f 6365 6475 te Bind (procedu\n-00005d90: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n-00005da0: 6520 536f 636b 6574 2028 7072 6f63 6564 e Socket (proced\n-00005db0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00005dc0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00005dd0: 2c20 204e 6f64 653a 204e 6577 5f4c 696e , Node: New_Lin\n-00005de0: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n-00005df0: 4e65 7874 3a20 5075 7420 2870 726f 6365 Next: Put (proce\n-00005e00: 6475 7265 292c 2020 5072 6576 3a20 4c69 dure), Prev: Li\n-00005e10: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n-00005e20: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-00005e30: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-00005e40: 0a0a 4e65 775f 4c69 6e65 2028 7072 6f63 ..New_Line (proc\n-00005e50: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-00005e60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-00005e70: 504f 5345 0a20 2020 2020 5365 6e64 2061 POSE. Send a\n-00005e80: 2043 522f 4c46 2074 6f20 6120 7265 6d6f CR/LF to a remo\n-00005e90: 7465 2068 6f73 740a 5052 4f54 4f54 5950 te host.PROTOTYP\n-00005ea0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00005eb0: 7473 2e4e 6577 5f4c 696e 653a 2070 726f ts.New_Line: pro\n-00005ec0: 6365 6475 7265 204e 6577 5f4c 696e 6520 cedure New_Line \n-00005ed0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00005ee0: 5f46 4427 436c 6173 733b 0a20 2020 2020 _FD'Class;. \n-00005ef0: 2020 2020 2020 2020 2020 434f 554e 5420 COUNT \n-00005f00: 3a20 4e61 7475 7261 6c20 3a3d 2031 293b : Natural := 1);\n-00005f10: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00005f20: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-00005f30: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n-00005f40: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n-00005f50: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-00005f60: 2020 2020 2043 4f55 4e54 2020 2020 2020 COUNT \n-00005f70: 696e 2020 2020 2020 2020 204e 756d 6265 in Numbe\n-00005f80: 7220 6f66 2043 522f 4c46 2073 6571 7565 r of CR/LF seque\n-00005f90: 6e63 6573 2074 6f20 7365 6e64 0a0a 4445 nces to send..DE\n-00005fa0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-00005fb0: 6869 7320 7072 6f63 6564 7572 6520 7365 his procedure se\n-00005fc0: 6e64 7320 6f6e 6520 6f72 206d 6f72 6520 nds one or more \n-00005fd0: 4352 2f4c 4620 636f 6d62 696e 6174 696f CR/LF combinatio\n-00005fe0: 6e73 2074 6f20 7468 6520 7065 6572 2e0a ns to the peer..\n-00005ff0: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n-00006000: 20e2 8098 436f 6e6e 6563 7469 6f6e 5f43 ...Connection_C\n-00006010: 6c6f 7365 64e2 8099 5065 6572 2068 6173 losed...Peer has\n-00006020: 2070 7265 6d61 7475 7265 6c79 2063 6c6f prematurely clo\n-00006030: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n-00006040: 6f6e 0a0a 5345 4520 414c 534f 0a20 2020 on..SEE ALSO. \n-00006050: 2020 2a6e 6f74 6520 5075 7420 2870 726f *note Put (pro\n-00006060: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00006070: 2a6e 6f74 6520 5075 745f 4c69 6e65 2028 *note Put_Line (\n-00006080: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00006090: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-000060a0: 732e 696e 666f 2c20 204e 6f64 653a 2050 s.info, Node: P\n-000060b0: 7574 2028 7072 6f63 6564 7572 6529 2c20 ut (procedure), \n-000060c0: 204e 6578 743a 2050 7574 5f4c 696e 6520 Next: Put_Line \n-000060d0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-000060e0: 6576 3a20 4e65 775f 4c69 6e65 2028 7072 ev: New_Line (pr\n-000060f0: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n-00006100: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00006110: 6f63 6564 7572 6529 0a0a 5075 7420 2870 ocedure)..Put (p\n-00006120: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n-00006130: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00006140: 5345 0a20 2020 2020 5365 6e64 2061 2073 SE. Send a s\n-00006150: 7472 696e 6720 746f 2061 2072 656d 6f74 tring to a remot\n-00006160: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n-00006170: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00006180: 732e 5075 743a 2070 726f 6365 6475 7265 s.Put: procedure\n-00006190: 2050 7574 2028 534f 434b 4554 203a 2053 Put (SOCKET : S\n-000061a0: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n-000061b0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000061c0: 5452 203a 2053 7472 696e 6729 3b0a 0a50 TR : String);..P\n-000061d0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-000061e0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-000061f0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n-00006200: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n-00006210: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00006220: 2020 5354 5220 2020 2020 2020 2069 6e20 STR in \n-00006230: 2020 2020 2020 2020 5374 7269 6e67 2074 String t\n-00006240: 6f20 7365 6e64 0a0a 4445 5343 5249 5054 o send..DESCRIPT\n-00006250: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n-00006260: 6f63 6564 7572 6520 7365 6e64 7320 7468 ocedure sends th\n-00006270: 6520 636f 6e74 656e 7420 6f66 2053 5452 e content of STR\n-00006280: 206f 7665 7220 616e 206f 7574 676f 696e over an outgoin\n-00006290: 6720 6f72 0a20 2020 2020 696e 636f 6d69 g or. incomi\n-000062a0: 6e67 2073 6f63 6b65 742e 0a0a 4558 4345 ng socket...EXCE\n-000062b0: 5054 494f 4e53 0a20 2020 2020 e280 9843 PTIONS. ...C\n-000062c0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-000062d0: e280 9950 6565 7220 6861 7320 7072 656d ...Peer has prem\n-000062e0: 6174 7572 656c 7920 636c 6f73 6564 2074 aturely closed t\n-000062f0: 6865 2063 6f6e 6e65 6374 696f 6e0a 0a53 he connection..S\n-00006300: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-00006310: 7465 204e 6577 5f4c 696e 6520 2870 726f te New_Line (pro\n-00006320: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00006330: 2a6e 6f74 6520 5075 745f 4c69 6e65 2028 *note Put_Line (\n-00006340: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n-00006350: 2020 202a 6e6f 7465 2053 656e 6420 2870 *note Send (p\n-00006360: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00006370: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00006380: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5075 .info, Node: Pu\n-00006390: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-000063a0: 6529 2c20 204e 6578 743a 2052 6563 6569 e), Next: Recei\n-000063b0: 7665 2028 6675 6e63 7469 6f6e 292c 2020 ve (function), \n-000063c0: 5072 6576 3a20 5075 7420 2870 726f 6365 Prev: Put (proce\n-000063d0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-000063e0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-000063f0: 6475 7265 290a 0a50 7574 5f4c 696e 6520 dure)..Put_Line \n-00006400: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n-00006410: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006420: 0a0a 5055 5250 4f53 450a 2020 2020 2053 ..PURPOSE. S\n-00006430: 656e 6420 6120 4352 2f4c 4620 7465 726d end a CR/LF term\n-00006440: 696e 6174 6564 2073 7472 696e 6720 746f inated string to\n-00006450: 2061 2072 656d 6f74 6520 686f 7374 0a50 a remote host.P\n-00006460: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-00006470: 2d20 536f 636b 6574 732e 5075 745f 4c69 - Sockets.Put_Li\n-00006480: 6e65 3a20 7072 6f63 6564 7572 6520 5075 ne: procedure Pu\n-00006490: 745f 4c69 6e65 2028 534f 434b 4554 203a t_Line (SOCKET :\n-000064a0: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-000064b0: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-000064c0: 2053 5452 203a 2053 7472 696e 6729 3b0a STR : String);.\n-000064d0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-000064e0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-000064f0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-00006500: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n-00006510: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n-00006520: 2020 2020 5354 5220 2020 2020 2020 2069 STR i\n-00006530: 6e20 2020 2020 2020 2020 5374 7269 6e67 n String\n-00006540: 2074 6f20 7365 6e64 0a0a 4445 5343 5249 to send..DESCRI\n-00006550: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00006560: 7072 6f63 6564 7572 6520 7365 6e64 7320 procedure sends \n-00006570: 7468 6520 636f 6e74 656e 7420 6f66 2053 the content of S\n-00006580: 5452 2070 6c75 7320 6120 4352 2f4c 4620 TR plus a CR/LF \n-00006590: 636f 6d62 696e 6174 696f 6e0a 2020 2020 combination. \n-000065a0: 206f 7665 7220 616e 206f 7574 676f 696e over an outgoin\n-000065b0: 6720 6f72 2069 6e63 6f6d 696e 6720 736f g or incoming so\n-000065c0: 636b 6574 2e0a 0a45 5843 4550 5449 4f4e cket...EXCEPTION\n-000065d0: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n-000065e0: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n-000065f0: 6572 2068 6173 2070 7265 6d61 7475 7265 er has premature\n-00006600: 6c79 2063 6c6f 7365 6420 7468 6520 636f ly closed the co\n-00006610: 6e6e 6563 7469 6f6e 0a0a 5345 4520 414c nnection..SEE AL\n-00006620: 534f 0a20 2020 2020 2a6e 6f74 6520 4e65 SO. *note Ne\n-00006630: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n-00006640: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00006650: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n-00006660: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n-00006670: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n-00006680: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00006690: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-000066a0: 6465 3a20 5265 6365 6976 6520 2866 756e de: Receive (fun\n-000066b0: 6374 696f 6e29 2c20 204e 6578 743a 2052 ction), Next: R\n-000066c0: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-000066d0: 6529 2c20 2050 7265 763a 2050 7574 5f4c e), Prev: Put_L\n-000066e0: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n-000066f0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-00006700: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00006710: 0a52 6563 6569 7665 2028 6675 6e63 7469 .Receive (functi\n-00006720: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-00006730: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-00006740: 2020 2020 2052 6563 6569 7665 2072 6177 Receive raw\n-00006750: 2064 6174 6120 6f76 6572 2061 2073 6f63 data over a soc\n-00006760: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n-00006770: 2020 2020 2d2d 2053 6f63 6b65 7473 2e52 -- Sockets.R\n-00006780: 6563 6569 7665 3a20 6675 6e63 7469 6f6e eceive: function\n-00006790: 2052 6563 6569 7665 2028 534f 434b 4554 Receive (SOCKET\n-000067a0: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n-000067b0: 2020 2020 2020 2020 2020 2020 204d 4158 MAX\n-000067c0: 203a 2041 6461 2e53 7472 6561 6d73 2e53 : Ada.Streams.S\n-000067d0: 7472 6561 6d5f 456c 656d 656e 745f 436f tream_Element_Co\n-000067e0: 756e 7420 3a3d 2034 3039 3629 0a20 2020 unt := 4096). \n-000067f0: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n-00006800: 726e 2041 6461 2e53 7472 6561 6d73 2e53 rn Ada.Streams.S\n-00006810: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n-00006820: 7261 793b 0a0a 5041 5241 4d45 5445 5253 ray;..PARAMETERS\n-00006830: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00006840: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00006850: 6961 6c69 7a65 6420 616e 6420 626f 756e ialized and boun\n-00006860: 6420 6f72 2063 6f6e 6e65 6374 6564 0a20 d or connected. \n-00006870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006880: 2020 2020 2020 2020 2020 736f 636b 6574 socket\n-00006890: 206f 626a 6563 740a 2020 2020 204d 4158 object. MAX\n-000068a0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-000068b0: 2020 204d 6178 696d 756d 2064 6174 6120 Maximum data \n-000068c0: 6c65 6e67 7468 0a0a 5245 5455 524e 2056 length..RETURN V\n-000068d0: 414c 5545 0a20 2020 2020 5265 6365 6976 ALUE. Receiv\n-000068e0: 6564 2072 6177 2064 6174 610a 0a44 4553 ed raw data..DES\n-000068f0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n-00006900: 6973 2070 726f 6365 6475 7265 2072 6563 is procedure rec\n-00006910: 6569 7665 7320 6461 7461 2066 726f 6d20 eives data from \n-00006920: 6120 626f 756e 6420 5544 5020 736f 636b a bound UDP sock\n-00006930: 6574 206f 7220 6120 636f 6e6e 6563 7465 et or a connecte\n-00006940: 640a 2020 2020 2054 4350 2073 6f63 6b65 d. TCP socke\n-00006950: 742e 2020 4f6e 6c79 206f 6e65 2073 7973 t. Only one sys\n-00006960: 7465 6d20 6361 6c6c 2077 696c 6c20 6265 tem call will be\n-00006970: 2070 6572 666f 726d 6564 3b20 7468 6973 performed; this\n-00006980: 2066 756e 6374 696f 6e0a 2020 2020 2077 function. w\n-00006990: 696c 6c20 7265 7475 726e 2077 6861 7465 ill return whate\n-000069a0: 7665 7220 6461 7461 2068 6173 2061 7272 ver data has arr\n-000069b0: 6976 6564 2e20 204e 6f74 6520 7468 6174 ived. Note that\n-000069c0: 2069 6e20 474e 4154 2074 6865 0a20 2020 in GNAT the. \n-000069d0: 2020 7365 636f 6e64 6172 7920 7374 6163 secondary stac\n-000069e0: 6b20 6d61 7920 6265 2075 7365 6420 746f k may be used to\n-000069f0: 2073 746f 7265 2074 6865 2064 6174 6120 store the data \n-00006a00: 616e 6420 6d61 7920 7265 7375 6c74 2069 and may result i\n-00006a10: 6e0a 2020 2020 2073 7461 636b 2073 746f n. stack sto\n-00006a20: 7261 6765 2065 7868 6175 7374 696f 6e2e rage exhaustion.\n-00006a30: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n-00006a40: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f ...Connection_\n-00006a50: 436c 6f73 6564 e280 9950 6565 7220 6861 Closed...Peer ha\n-00006a60: 7320 636c 6f73 6564 2074 6865 2063 6f6e s closed the con\n-00006a70: 6e65 6374 696f 6e20 6265 666f 7265 0a20 nection before. \n-00006a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006a90: 2020 2020 2020 2073 656e 6469 6e67 2061 sending a\n-00006aa0: 6e79 2064 6174 610a 0a53 4545 2041 4c53 ny data..SEE ALS\n-00006ab0: 4f0a 2020 2020 202a 6e6f 7465 2052 6563 O. *note Rec\n-00006ac0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n-00006ad0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n-00006ae0: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n-00006af0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00006b00: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n-00006b10: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-00006b20: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n-00006b30: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-00006b40: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-00006b50: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-00006b60: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-00006b70: 7572 6529 2c20 204e 6578 743a 2052 6563 ure), Next: Rec\n-00006b80: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-00006b90: 6475 7265 292c 2020 5072 6576 3a20 5265 dure), Prev: Re\n-00006ba0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-00006bb0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-00006bc0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-00006bd0: 0a0a 5265 6365 6976 6520 2870 726f 6365 ..Receive (proce\n-00006be0: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00006bf0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00006c00: 5345 0a20 2020 2020 5265 6365 6976 6520 SE. Receive \n-00006c10: 7261 7720 6461 7461 206f 7665 7220 6120 raw data over a \n-00006c20: 736f 636b 6574 0a50 524f 544f 5459 5045 socket.PROTOTYPE\n-00006c30: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00006c40: 732e 5265 6365 6976 653a 2070 726f 6365 s.Receive: proce\n-00006c50: 6475 7265 2052 6563 6569 7665 2028 534f dure Receive (SO\n-00006c60: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00006c70: 2743 6c61 7373 3b0a 2020 2020 2020 2020 'Class;. \n-00006c80: 2020 2020 2020 2044 4154 4120 3a20 6f75 DATA : ou\n-00006c90: 7420 4164 612e 5374 7265 616d 732e 5374 t Ada.Streams.St\n-00006ca0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n-00006cb0: 6179 293b 0a0a 5041 5241 4d45 5445 5253 ay);..PARAMETERS\n-00006cc0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00006cd0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00006ce0: 6961 6c69 7a65 6420 616e 6420 626f 756e ialized and boun\n-00006cf0: 6420 6f72 2063 6f6e 6e65 6374 6564 0a20 d or connected. \n-00006d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006d10: 2020 2020 2020 2020 2020 736f 636b 6574 socket\n-00006d20: 206f 626a 6563 740a 2020 2020 2044 4154 object. DAT\n-00006d30: 4120 2020 2020 2020 6f75 7420 2020 2020 A out \n-00006d40: 2020 2049 6e63 6f6d 696e 6720 6461 7461 Incoming data\n-00006d50: 2062 7566 6665 720a 0a44 4553 4352 4950 buffer..DESCRIP\n-00006d60: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n-00006d70: 726f 6365 6475 7265 2072 6563 6569 7665 rocedure receive\n-00006d80: 7320 6461 7461 2066 726f 6d20 6120 626f s data from a bo\n-00006d90: 756e 6420 5544 5020 736f 636b 6574 206f und UDP socket o\n-00006da0: 7220 6120 636f 6e6e 6563 7465 640a 2020 r a connected. \n-00006db0: 2020 2054 4350 2073 6f63 6b65 742e 2020 TCP socket. \n-00006dc0: 4974 2077 696c 6c20 626c 6f63 6b20 756e It will block un\n-00006dd0: 7469 6c20 7468 6520 4441 5441 2072 6563 til the DATA rec\n-00006de0: 6570 7469 6f6e 2062 7566 6665 7220 6861 eption buffer ha\n-00006df0: 7320 6265 656e 0a20 2020 2020 746f 7461 s been. tota\n-00006e00: 6c6c 7920 6669 6c6c 6564 2e0a 0a45 5843 lly filled...EXC\n-00006e10: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n-00006e20: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-00006e30: 64e2 8099 5065 6572 2068 6173 2063 6c6f d...Peer has clo\n-00006e40: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n-00006e50: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n-00006e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006e70: 2020 e280 9844 6174 6127 4c65 6e67 7468 ...Data'Length\n-00006e80: e280 9920 6279 7465 730a 2020 2020 2020 ... bytes. \n-00006e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006ea0: 2020 7765 7265 2072 6563 6569 7665 640a were received.\n-00006eb0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00006ec0: 6e6f 7465 2047 6574 5f4c 696e 6520 2866 note Get_Line (f\n-00006ed0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n-00006ee0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n-00006ef0: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n-00006f00: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n-00006f10: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a e (function)::,.\n-00006f20: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00006f30: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n-00006f40: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n-00006f50: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-00006f60: 2020 4e6f 6465 3a20 5265 6365 6976 655f Node: Receive_\n-00006f70: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-00006f80: 2c20 204e 6578 743a 2053 656e 6420 2870 , Next: Send (p\n-00006f90: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-00006fa0: 3a20 5265 6365 6976 6520 2870 726f 6365 : Receive (proce\n-00006fb0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-00006fc0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00006fd0: 6475 7265 290a 0a52 6563 6569 7665 5f53 dure)..Receive_S\n-00006fe0: 6f6d 6520 2870 726f 6365 6475 7265 290a ome (procedure).\n-00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007000: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00007010: 450a 2020 2020 2052 6563 6569 7665 2072 E. Receive r\n-00007020: 6177 2064 6174 6120 6f76 6572 2061 2073 aw data over a s\n-00007030: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n-00007040: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00007050: 2e52 6563 6569 7665 5f53 6f6d 653a 2070 .Receive_Some: p\n-00007060: 726f 6365 6475 7265 2052 6563 6569 7665 rocedure Receive\n-00007070: 5f53 6f6d 650a 2020 2020 2020 2020 2020 _Some. \n-00007080: 2020 2020 2028 534f 434b 4554 203a 2053 (SOCKET : S\n-00007090: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n-000070a0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-000070b0: 4154 4120 3a20 6f75 7420 4164 612e 5374 ATA : out Ada.St\n-000070c0: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n-000070d0: 6d65 6e74 5f41 7272 6179 3b0a 2020 2020 ment_Array;. \n-000070e0: 2020 2020 2020 2020 2020 204c 4153 5420 LAST \n-000070f0: 3a20 6f75 7420 4164 612e 5374 7265 616d : out Ada.Stream\n-00007100: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n-00007110: 5f4f 6666 7365 7429 3b0a 0a50 4152 414d _Offset);..PARAM\n-00007120: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-00007130: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n-00007140: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n-00007150: 2062 6f75 6e64 206f 7220 636f 6e6e 6563 bound or connec\n-00007160: 7465 640a 2020 2020 2020 2020 2020 2020 ted. \n-00007170: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-00007180: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00007190: 2020 4441 5441 2020 2020 2020 206f 7574 DATA out\n-000071a0: 2020 2020 2020 2020 496e 636f 6d69 6e67 Incoming\n-000071b0: 2064 6174 6120 6275 6666 6572 0a20 2020 data buffer. \n-000071c0: 2020 4c41 5354 2020 2020 2020 206f 7574 LAST out\n-000071d0: 2020 2020 2020 2020 496e 6465 7820 6f66 Index of\n-000071e0: 206c 6173 7420 656c 656d 656e 7420 706c last element pl\n-000071f0: 6163 6564 2069 6e74 6f20 4441 5441 0a0a aced into DATA..\n-00007200: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00007210: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00007220: 7265 6365 6976 6573 2064 6174 6120 6672 receives data fr\n-00007230: 6f6d 2061 2062 6f75 6e64 2055 4450 2073 om a bound UDP s\n-00007240: 6f63 6b65 7420 6f72 2061 2063 6f6e 6e65 ocket or a conne\n-00007250: 6374 6564 0a20 2020 2020 5443 5020 736f cted. TCP so\n-00007260: 636b 6574 2e20 2041 7320 736f 6f6e 2061 cket. As soon a\n-00007270: 7320 6174 206c 6561 7374 206f 6e65 2062 s at least one b\n-00007280: 7974 6520 6861 7320 6265 656e 2072 6561 yte has been rea\n-00007290: 642c 2069 7420 7265 7475 726e 730a 2020 d, it returns. \n-000072a0: 2020 2077 6974 6820 4c41 5354 2073 6574 with LAST set\n-000072b0: 2074 6f20 7468 6520 696e 6465 7820 6f66 to the index of\n-000072c0: 2074 6865 206c 6174 6573 7420 7772 6974 the latest writ\n-000072d0: 7465 6e20 656c 656d 656e 7420 6f66 2044 ten element of D\n-000072e0: 4154 412e 0a0a 4558 4345 5054 494f 4e53 ATA...EXCEPTIONS\n-000072f0: 0a20 2020 2020 e280 9843 6f6e 6e65 6374 . ...Connect\n-00007300: 696f 6e5f 436c 6f73 6564 e280 9950 6565 ion_Closed...Pee\n-00007310: 7220 6861 7320 636c 6f73 6564 2074 6865 r has closed the\n-00007320: 2063 6f6e 6e65 6374 696f 6e20 6265 666f connection befo\n-00007330: 7265 0a20 2020 2020 2020 2020 2020 2020 re. \n-00007340: 2020 2020 2020 2020 2020 2073 656e 6469 sendi\n-00007350: 6e67 2061 6e79 2064 6174 610a 0a53 4545 ng any data..SEE\n-00007360: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-00007370: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-00007380: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n-00007390: 7465 2047 6574 5f4c 696e 6520 2870 726f te Get_Line (pro\n-000073a0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-000073b0: 2a6e 6f74 6520 5265 6365 6976 6520 2866 *note Receive (f\n-000073c0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n-000073d0: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n-000073e0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-000073f0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00007400: 732e 696e 666f 2c20 204e 6f64 653a 2053 s.info, Node: S\n-00007410: 656e 6420 2870 726f 6365 6475 7265 292c end (procedure),\n-00007420: 2020 4e65 7874 3a20 5365 745f 4275 6666 Next: Set_Buff\n-00007430: 6572 2028 7072 6f63 6564 7572 6529 2c20 er (procedure), \n-00007440: 2050 7265 763a 2052 6563 6569 7665 5f53 Prev: Receive_S\n-00007450: 6f6d 6520 2870 726f 6365 6475 7265 292c ome (procedure),\n-00007460: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-00007470: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00007480: 0a53 656e 6420 2870 726f 6365 6475 7265 .Send (procedure\n-00007490: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-000074a0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-000074b0: 2053 656e 6420 7261 7720 6461 7461 206f Send raw data o\n-000074c0: 7665 7220 6120 736f 636b 6574 0a50 524f ver a socket.PRO\n-000074d0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-000074e0: 536f 636b 6574 732e 5365 6e64 3a20 7072 Sockets.Send: pr\n-000074f0: 6f63 6564 7572 6520 5365 6e64 2028 534f ocedure Send (SO\n-00007500: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00007510: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-00007520: 2044 4154 4120 3a20 6f75 7420 4164 612e DATA : out Ada.\n-00007530: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n-00007540: 6c65 6d65 6e74 5f41 7272 6179 293b 0a0a lement_Array);..\n-00007550: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00007560: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00007570: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00007580: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n-00007590: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-000075a0: 2020 2044 4154 4120 2020 2020 2020 6f75 DATA ou\n-000075b0: 7420 2020 2020 2020 2044 6174 6120 746f t Data to\n-000075c0: 2062 6520 7365 6e74 0a0a 4445 5343 5249 be sent..DESCRI\n-000075d0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-000075e0: 7072 6f63 6564 7572 6520 7365 6e64 7320 procedure sends \n-000075f0: 6461 7461 206f 7665 7220 6120 636f 6e6e data over a conn\n-00007600: 6563 7465 6420 6f75 7467 6f69 6e67 2073 ected outgoing s\n-00007610: 6f63 6b65 7420 6f72 206f 7665 720a 2020 ocket or over. \n-00007620: 2020 2061 6e20 696e 636f 6d69 6e67 2073 an incoming s\n-00007630: 6f63 6b65 742e 0a0a 4558 4345 5054 494f ocket...EXCEPTIO\n-00007640: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65 NS. ...Conne\n-00007650: 6374 696f 6e5f 436c 6f73 6564 e280 9950 ction_Closed...P\n-00007660: 6565 7220 6861 7320 7072 656d 6174 7572 eer has prematur\n-00007670: 656c 7920 636c 6f73 6564 2074 6865 2063 ely closed the c\n-00007680: 6f6e 6e65 6374 696f 6e0a 0a53 4545 2041 onnection..SEE A\n-00007690: 4c53 4f0a 2020 2020 202a 6e6f 7465 2050 LSO. *note P\n-000076a0: 7574 2028 7072 6f63 6564 7572 6529 3a3a ut (procedure)::\n-000076b0: 2c0a 2020 2020 202a 6e6f 7465 2050 7574 ,. *note Put\n-000076c0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-000076d0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-000076e0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-000076f0: 4e6f 6465 3a20 5365 745f 4275 6666 6572 Node: Set_Buffer\n-00007700: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n-00007710: 6578 743a 2053 6574 736f 636b 6f70 7420 ext: Setsockopt \n-00007720: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-00007730: 6576 3a20 5365 6e64 2028 7072 6f63 6564 ev: Send (proced\n-00007740: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-00007750: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00007760: 7572 6529 0a0a 5365 745f 4275 6666 6572 ure)..Set_Buffer\n-00007770: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-00007780: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007790: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-000077a0: 2020 496e 7374 616c 6c20 6120 6c69 6e65 Install a line\n-000077b0: 2d6f 7269 656e 7465 6420 6275 6666 6572 -oriented buffer\n-000077c0: 206f 6620 7468 6520 736f 636b 6574 206f of the socket o\n-000077d0: 626a 6563 740a 5052 4f54 4f54 5950 450a bject.PROTOTYPE.\n-000077e0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-000077f0: 2e53 6574 5f42 7566 6665 723a 2070 726f .Set_Buffer: pro\n-00007800: 6365 6475 7265 2053 6574 5f42 7566 6665 cedure Set_Buffe\n-00007810: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n-00007820: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n-00007830: 745f 4644 2743 6c61 7373 3b20 4c45 4e47 t_FD'Class; LENG\n-00007840: 5448 203a 2050 6f73 6974 6976 6520 3a3d TH : Positive :=\n-00007850: 2031 3530 3029 3b0a 0a50 4152 414d 4554 1500);..PARAMET\n-00007860: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n-00007870: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n-00007880: 6e69 7469 616c 697a 6564 2061 6e64 2063 nitialized and c\n-00007890: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket \n-000078a0: 6f62 6a65 6374 0a20 2020 2020 4c45 4e47 object. LENG\n-000078b0: 5448 2020 2020 2069 6e20 2020 2020 2020 TH in \n-000078c0: 2020 5369 7a65 2069 6e20 6279 7465 7320 Size in bytes \n-000078d0: 6f66 2074 6865 206e 6577 6c79 2069 6e73 of the newly ins\n-000078e0: 7461 6c6c 6564 0a20 2020 2020 2020 2020 talled. \n-000078f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007900: 2020 6275 6666 6572 0a0a 4445 5343 5249 buffer..DESCRI\n-00007910: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00007920: 7072 6f63 6564 7572 6520 7075 7473 2074 procedure puts t\n-00007930: 6865 2073 6f63 6b65 7420 6f62 6a65 6374 he socket object\n-00007940: 2069 6e20 6275 6666 6572 6564 206d 6f64 in buffered mod\n-00007950: 652e 2020 4966 2074 6865 0a20 2020 2020 e. If the. \n-00007960: 736f 636b 6574 2077 6173 2061 6c72 6561 socket was alrea\n-00007970: 6479 2062 7566 6665 7265 642c 2074 6865 dy buffered, the\n-00007980: 2063 6f6e 7465 6e74 206f 6620 7468 6520 content of the \n-00007990: 7072 6576 696f 7573 2062 7566 6665 720a previous buffer.\n-000079a0: 2020 2020 2077 696c 6c20 6265 206c 6f73 will be los\n-000079b0: 742e 2020 5468 6520 6275 6666 6572 6564 t. The buffered\n-000079c0: 206d 6f64 6520 6f6e 6c79 2061 6666 6563 mode only affec\n-000079d0: 7473 2063 6861 7261 6374 6572 2d20 616e ts character- an\n-000079e0: 640a 2020 2020 206c 696e 652d 6f72 6965 d. line-orie\n-000079f0: 6e74 6564 2072 6561 6420 6f70 6572 6174 nted read operat\n-00007a00: 696f 6e20 7375 6368 2061 7320 2a6e 6f74 ion such as *not\n-00007a10: 6520 4765 7420 2866 756e 6374 696f 6e29 e Get (function)\n-00007a20: 3a3a 2c20 2a6e 6f74 650a 2020 2020 2047 ::, *note. G\n-00007a30: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n-00007a40: 6e29 3a3a 2c20 616e 6420 2a6e 6f74 6520 n)::, and *note \n-00007a50: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n-00007a60: 6f6e 293a 3a2e 2020 4f74 6865 720a 2020 on)::. Other. \n-00007a70: 2020 2072 6563 6570 7469 6f6e 2073 7562 reception sub\n-00007a80: 7072 6f67 7261 6d73 2077 696c 6c20 6e6f programs will no\n-00007a90: 7420 6675 6e63 7469 6f6e 2070 726f 7065 t function prope\n-00007aa0: 726c 7920 6966 2062 7566 6665 7265 6420 rly if buffered \n-00007ab0: 6d6f 6465 0a20 2020 2020 6973 2075 7365 mode. is use\n-00007ac0: 6420 6174 2074 6865 2073 616d 6520 7469 d at the same ti\n-00007ad0: 6d65 2e0a 0a20 2020 2020 5468 6520 7369 me... The si\n-00007ae0: 7a65 206f 6620 7468 6520 6275 6666 6572 ze of the buffer\n-00007af0: 2068 6173 2074 6f20 6265 2067 7265 6174 has to be great\n-00007b00: 6572 2074 6861 6e20 7468 6520 6269 6767 er than the bigg\n-00007b10: 6573 7420 706f 7373 6962 6c65 0a20 2020 est possible. \n-00007b20: 2020 7061 636b 6574 2073 656e 7420 6279 packet sent by\n-00007b30: 2074 6865 2072 656d 6f74 6520 686f 7374 the remote host\n-00007b40: 2c20 6f74 6865 7277 6973 6520 6461 7461 , otherwise data\n-00007b50: 206c 6f73 7320 6d61 7920 6f63 6375 722e loss may occur.\n-00007b60: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-00007b70: 2a6e 6f74 6520 556e 7365 745f 4275 6666 *note Unset_Buff\n-00007b80: 6572 2028 7072 6f63 6564 7572 6529 3a3a er (procedure)::\n-00007b90: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00007ba0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00007bb0: 653a 2053 6574 736f 636b 6f70 7420 2870 e: Setsockopt (p\n-00007bc0: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n-00007bd0: 3a20 5368 7574 646f 776e 2028 7072 6f63 : Shutdown (proc\n-00007be0: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n-00007bf0: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n-00007c00: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-00007c10: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00007c20: 6475 7265 290a 0a53 6574 736f 636b 6f70 dure)..Setsockop\n-00007c30: 7420 2870 726f 6365 6475 7265 290a 2d2d t (procedure).--\n-00007c40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007c50: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00007c60: 2020 2053 6574 2061 2073 6f63 6b65 7420 Set a socket \n-00007c70: 6f70 7469 6f6e 0a50 524f 544f 5459 5045 option.PROTOTYPE\n-00007c80: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00007c90: 732e 5365 7473 6f63 6b6f 7074 3a20 7072 s.Setsockopt: pr\n-00007ca0: 6f63 6564 7572 6520 5365 7473 6f63 6b6f ocedure Setsocko\n-00007cb0: 7074 2028 534f 434b 4554 203a 2053 6f63 pt (SOCKET : Soc\n-00007cc0: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-00007cd0: 2020 2020 2020 204c 4556 454c 203a 2053 LEVEL : S\n-00007ce0: 6f63 6b65 745f 4c65 7665 6c20 3a3d 2053 ocket_Level := S\n-00007cf0: 4f4c 5f53 4f43 4b45 543b 0a20 2020 2020 OL_SOCKET;. \n-00007d00: 2020 2020 2020 2020 2020 4f50 544e 414d OPTNAM\n-00007d10: 4520 3a20 536f 636b 6574 5f4f 7074 696f E : Socket_Optio\n-00007d20: 6e3b 204f 5054 5641 4c20 3a20 496e 7465 n; OPTVAL : Inte\n-00007d30: 6765 7229 3b0a 0a50 4152 414d 4554 4552 ger);..PARAMETER\n-00007d40: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00007d50: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00007d60: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n-00007d70: 6e64 2073 6f63 6b65 7420 6f62 6a65 6374 nd socket object\n-00007d80: 0a20 2020 2020 4c45 5645 4c20 2020 2020 . LEVEL \n-00007d90: 2069 6e20 2020 2020 2020 2020 5072 6f74 in Prot\n-00007da0: 6f63 6f6c 206c 6576 656c 0a20 2020 2020 ocol level. \n-00007db0: 4f50 544e 414d 4520 2020 2069 6e20 2020 OPTNAME in \n-00007dc0: 2020 2020 2020 4f70 7469 6f6e 206e 616d Option nam\n-00007dd0: 650a 2020 2020 204f 5054 5641 4c20 2020 e. OPTVAL \n-00007de0: 2020 696e 2020 2020 2020 2020 204f 7074 in Opt\n-00007df0: 696f 6e20 7661 6c75 650a 0a44 4553 4352 ion value..DESCR\n-00007e00: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00007e10: 2070 726f 6365 6475 7265 2073 6574 7320 procedure sets \n-00007e20: 6f70 7469 6f6e 7320 6170 706c 6963 6162 options applicab\n-00007e30: 6c65 2074 6f20 6120 736f 636b 6574 2e20 le to a socket. \n-00007e40: 2050 6c65 6173 6520 7365 650a 2020 2020 Please see. \n-00007e50: 2079 6f75 7220 6f70 6572 6174 696e 6720 your operating \n-00007e60: 7379 7374 656d 206d 616e 7561 6c20 666f system manual fo\n-00007e70: 7220 7573 6162 6c65 206c 6576 656c 7320 r usable levels \n-00007e80: 616e 6420 6f70 7469 6f6e 732e 0a0a 2020 and options... \n-00007e90: 2020 2054 776f 206c 6576 656c 7320 6172 Two levels ar\n-00007ea0: 6520 6465 6669 6e65 643a 20e2 8098 534f e defined: ...SO\n-00007eb0: 4c5f 534f 434b 4554 e280 9920 2874 6865 L_SOCKET... (the\n-00007ec0: 2064 6566 6175 6c74 2920 616e 640a 2020 default) and. \n-00007ed0: 2020 20e2 8098 4950 5052 4f54 4f5f 4950 ...IPPROTO_IP\n-00007ee0: e280 992e 2020 5468 6520 6f70 7469 6f6e .... The option\n-00007ef0: 7320 6172 6520 e280 9853 4f5f 5245 5553 s are ...SO_REUS\n-00007f00: 4541 4444 52e2 8099 2c20 e280 9853 4f5f EADDR..., ...SO_\n-00007f10: 5245 5553 4550 4f52 54e2 8099 2c0a 2020 REUSEPORT...,. \n-00007f20: 2020 20e2 8098 4950 5f4d 554c 5449 4341 ...IP_MULTICA\n-00007f30: 5354 5f54 544c e280 992c 20e2 8098 4950 ST_TTL..., ...IP\n-00007f40: 5f41 4444 5f4d 454d 4245 5253 4849 50e2 _ADD_MEMBERSHIP.\n-00007f50: 8099 2c20 e280 9849 505f 4452 4f50 5f4d .., ...IP_DROP_M\n-00007f60: 454d 4245 5253 4849 50e2 8099 2c0a 2020 EMBERSHIP...,. \n-00007f70: 2020 20e2 8098 4950 5f4d 554c 5449 4341 ...IP_MULTICA\n-00007f80: 5354 5f4c 4f4f 50e2 8099 2c20 e280 9853 ST_LOOP..., ...S\n-00007f90: 4f5f 534e 4442 5546 e280 9920 616e 6420 O_SNDBUF... and \n-00007fa0: e280 9849 505f 5243 5642 5546 e280 992e ...IP_RCVBUF....\n-00007fb0: 0a0a 2020 2020 204e 6f74 6520 7468 6174 .. Note that\n-00007fc0: 2075 6e6c 696b 6520 7468 6569 7220 4320 unlike their C \n-00007fd0: 6c61 6e67 7561 6765 2063 6f75 6e74 6572 language counter\n-00007fe0: 7061 7274 2c20 e280 9847 6574 736f 636b part, ...Getsock\n-00007ff0: 6f70 74e2 8099 2061 6e64 0a20 2020 2020 opt... and. \n-00008000: e280 9853 6574 736f 636b 6f70 74e2 8099 ...Setsockopt...\n-00008010: 2064 6f20 6e6f 7420 7265 7175 6972 6520 do not require \n-00008020: 616e 2065 7874 7261 2070 6172 616d 6574 an extra paramet\n-00008030: 6572 2072 6570 7265 7365 6e74 696e 6720 er representing \n-00008040: 7468 650a 2020 2020 206c 656e 6774 6820 the. length \n-00008050: 696e 2062 7974 6573 206f 6620 7468 6520 in bytes of the \n-00008060: 6f70 7469 6f6e 2076 616c 7565 2e20 2041 option value. A\n-00008070: 6461 536f 636b 6574 7320 6b6e 6f77 7320 daSockets knows \n-00008080: 7468 6520 7269 6768 740a 2020 2020 2073 the right. s\n-00008090: 697a 6520 666f 7220 6576 6572 7920 6f70 ize for every op\n-000080a0: 7469 6f6e 2e0a 0a53 4545 2041 4c53 4f0a tion...SEE ALSO.\n-000080b0: 2020 2020 202a 6e6f 7465 2047 6574 736f *note Getso\n-000080c0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000080d0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-000080e0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-000080f0: 4e6f 6465 3a20 5368 7574 646f 776e 2028 Node: Shutdown (\n-00008100: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-00008110: 743a 2053 6f63 6b65 7420 2870 726f 6365 t: Socket (proce\n-00008120: 6475 7265 292c 2020 5072 6576 3a20 5365 dure), Prev: Se\n-00008130: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00008140: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-00008150: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00008160: 7572 6529 0a0a 5368 7574 646f 776e 2028 ure)..Shutdown (\n-00008170: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n-00008180: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-00008190: 0a50 5552 504f 5345 0a20 2020 2020 5368 .PURPOSE. Sh\n-000081a0: 7574 646f 776e 2061 2073 6f63 6b65 740a utdown a socket.\n-000081b0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-000081c0: 2d2d 2053 6f63 6b65 7473 2e53 6875 7464 -- Sockets.Shutd\n-000081d0: 6f77 6e3a 2070 726f 6365 6475 7265 2053 own: procedure S\n-000081e0: 6875 7464 6f77 6e0a 2020 2020 2020 2020 hutdown. \n-000081f0: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-00008200: 2069 6e20 6f75 7420 536f 636b 6574 5f46 in out Socket_F\n-00008210: 443b 2048 4f57 203a 2053 6875 7464 6f77 D; HOW : Shutdow\n-00008220: 6e5f 5479 7065 203a 3d20 426f 7468 293b n_Type := Both);\n-00008230: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00008240: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-00008250: 6f75 7420 2020 2020 536f 636b 6574 206f out Socket o\n-00008260: 626a 6563 7420 746f 2073 6875 7464 6f77 bject to shutdow\n-00008270: 6e0a 2020 2020 2048 4f57 2020 2020 2020 n. HOW \n-00008280: 2020 696e 2020 2020 2020 2020 2044 6972 in Dir\n-00008290: 6563 7469 6f6e 2074 6f20 7368 7574 646f ection to shutdo\n-000082a0: 776e 0a0a 4445 5343 5249 5054 494f 4e0a wn..DESCRIPTION.\n-000082b0: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n-000082c0: 7572 6520 7368 7574 646f 776e 7320 6569 ure shutdowns ei\n-000082d0: 7468 6572 2064 6972 6563 7469 6f6e 206f ther direction o\n-000082e0: 6620 7468 6520 736f 636b 6574 2e20 2048 f the socket. H\n-000082f0: 4f57 2063 616e 0a20 2020 2020 7461 6b65 OW can. take\n-00008300: 2074 6865 2076 616c 7565 20e2 8098 5365 the value ...Se\n-00008310: 6e64 e280 992c 20e2 8098 5265 6365 6976 nd..., ...Receiv\n-00008320: 65e2 8099 206f 7220 e280 9842 6f74 68e2 e... or ...Both.\n-00008330: 8099 2e0a 0a53 4545 2041 4c53 4f0a 2020 .....SEE ALSO. \n-00008340: 2020 202a 6e6f 7465 2053 6f63 6b65 7420 *note Socket \n-00008350: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-00008360: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-00008370: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-00008380: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00008390: 6529 2c20 204e 6578 743a 2055 6e73 6574 e), Next: Unset\n-000083a0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-000083b0: 7265 292c 2020 5072 6576 3a20 5368 7574 re), Prev: Shut\n-000083c0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-000083d0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-000083e0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-000083f0: 0a0a 536f 636b 6574 2028 7072 6f63 6564 ..Socket (proced\n-00008400: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n-00008410: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n-00008420: 0a20 2020 2020 4372 6561 7465 2061 2073 . Create a s\n-00008430: 6f63 6b65 7420 6f66 2074 6865 2067 6976 ocket of the giv\n-00008440: 656e 206d 6f64 650a 5052 4f54 4f54 5950 en mode.PROTOTYP\n-00008450: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00008460: 7473 2e53 6f63 6b65 743a 2070 726f 6365 ts.Socket: proce\n-00008470: 6475 7265 2053 6f63 6b65 7420 2853 4f43 dure Socket (SOC\n-00008480: 4b45 5420 3a20 6f75 7420 536f 636b 6574 KET : out Socket\n-00008490: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n-000084a0: 2020 2020 444f 4d41 494e 203a 2053 6f63 DOMAIN : Soc\n-000084b0: 6b65 745f 446f 6d61 696e 203a 3d20 5046 ket_Domain := PF\n-000084c0: 5f49 4e45 543b 0a20 2020 2020 2020 2020 _INET;. \n-000084d0: 2020 2020 2020 5459 5020 3a20 536f 636b TYP : Sock\n-000084e0: 6574 5f54 7970 6520 3a3d 2053 4f43 4b5f et_Type := SOCK_\n-000084f0: 5354 5245 414d 293b 0a0a 5041 5241 4d45 STREAM);..PARAME\n-00008500: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00008510: 2020 2020 206f 7574 2020 2020 2020 2020 out \n-00008520: 536f 636b 6574 206f 626a 6563 7420 746f Socket object to\n-00008530: 2069 6e69 7469 616c 697a 650a 2020 2020 initialize. \n-00008540: 2044 4f4d 4149 4e20 2020 2020 696e 2020 DOMAIN in \n-00008550: 2020 2020 2020 2050 726f 746f 636f 6c20 Protocol \n-00008560: 6661 6d69 6c79 0a20 2020 2020 5459 5020 family. TYP \n-00008570: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n-00008580: 2020 4b69 6e64 206f 6620 736f 636b 6574 Kind of socket\n-00008590: 730a 0a44 4553 4352 4950 5449 4f4e 0a20 s..DESCRIPTION. \n-000085a0: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-000085b0: 7265 2069 6e69 7469 616c 697a 6573 2061 re initializes a\n-000085c0: 206e 6577 2073 6f63 6b65 7420 6f62 6a65 new socket obje\n-000085d0: 6374 2062 7920 7265 7365 7276 696e 6720 ct by reserving \n-000085e0: 6120 6669 6c65 0a20 2020 2020 6465 7363 a file. desc\n-000085f0: 7269 7074 6f72 2074 6f20 7468 6520 6f70 riptor to the op\n-00008600: 6572 6174 696e 6720 7379 7374 656d 2e20 erating system. \n-00008610: 2046 6f72 2062 6163 6b77 6172 6420 636f For backward co\n-00008620: 6d70 6174 6962 696c 6974 790a 2020 2020 mpatibility. \n-00008630: 2077 6974 6820 6f6c 6465 7220 7665 7273 with older vers\n-00008640: 696f 6e73 206f 6620 7468 6973 206c 6962 ions of this lib\n-00008650: 7261 7279 2c20 e280 9841 465f 494e 4554 rary, ...AF_INET\n-00008660: e280 9920 6973 2073 7469 6c6c 2061 6363 ... is still acc\n-00008670: 6570 7465 6420 6173 0a20 2020 2020 6120 epted as. a \n-00008680: 7661 6c75 6520 6275 7420 7368 6f75 6c64 value but should\n-00008690: 2062 6520 7265 706c 6163 6564 2061 7320 be replaced as \n-000086a0: 736f 6f6e 2061 7320 706f 7373 6962 6c65 soon as possible\n-000086b0: 2077 6974 6820 7468 6520 7072 6f70 6572 with the proper\n-000086c0: 0a20 2020 2020 e280 9850 465f 494e 4554 . ...PF_INET\n-000086d0: e280 992e 2020 5573 696e 6720 e280 9853 .... Using ...S\n-000086e0: 4f43 4b5f 5354 5245 414d e280 9920 666f OCK_STREAM... fo\n-000086f0: 7220 7468 6520 5459 5020 6172 6775 6d65 r the TYP argume\n-00008700: 6e74 2077 696c 6c20 6372 6561 7465 2061 nt will create a\n-00008710: 0a20 2020 2020 5443 5020 736f 636b 6574 . TCP socket\n-00008720: 2077 6869 6c65 2061 20e2 8098 534f 434b while a ...SOCK\n-00008730: 5f44 4752 414d e280 9920 7769 6c6c 2063 _DGRAM... will c\n-00008740: 7265 6174 6520 6120 5544 5020 6f6e 652e reate a UDP one.\n-00008750: 0a0a 4558 414d 504c 450a 2020 2020 2020 ..EXAMPLE. \n-00008760: 2020 2020 6465 636c 6172 650a 2020 2020 declare. \n-00008770: 2020 2020 2020 2020 2053 6f63 6b20 3a20 Sock : \n-00008780: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n-00008790: 2020 2020 2062 6567 696e 0a20 2020 2020 begin. \n-000087a0: 2020 2020 2020 2020 2d2d 2043 7265 6174 -- Creat\n-000087b0: 6520 6120 5443 5020 736f 636b 6574 0a20 e a TCP socket. \n-000087c0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n-000087d0: 6574 2028 536f 636b 2c20 5046 5f49 4e45 et (Sock, PF_INE\n-000087e0: 542c 2053 4f43 4b5f 5354 5245 414d 293b T, SOCK_STREAM);\n-000087f0: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n-00008800: 2050 6572 666f 726d 2073 6f6d 6520 6f70 Perform some op\n-00008810: 6572 6174 696f 6e73 206f 6e20 736f 636b erations on sock\n-00008820: 6574 0a20 2020 2020 2020 2020 2020 2020 et. \n-00008830: 5b2e 2e2e 5d0a 2020 2020 2020 2020 2020 [...]. \n-00008840: 2020 202d 2d20 5368 7574 646f 776e 2074 -- Shutdown t\n-00008850: 6865 2073 6f63 6b65 7420 696e 2062 6f74 he socket in bot\n-00008860: 6820 6469 7265 6374 696f 6e73 0a20 2020 h directions. \n-00008870: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n-00008880: 776e 2028 536f 636b 2c20 426f 7468 293b wn (Sock, Both);\n-00008890: 0a20 2020 2020 2020 2020 2065 6e64 3b0a . end;.\n-000088a0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-000088b0: 6e6f 7465 2053 6875 7464 6f77 6e20 2870 note Shutdown (p\n-000088c0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-000088d0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-000088e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 556e .info, Node: Un\n-000088f0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n-00008900: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n-00008910: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00008920: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00008930: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00008940: 290a 0a55 6e73 6574 5f42 7566 6665 7220 )..Unset_Buffer \n-00008950: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n-00008960: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008970: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00008980: 2020 2044 6569 6e73 7461 6c6c 2074 6865 Deinstall the\n-00008990: 206c 696e 652d 6f72 6965 6e74 6564 2062 line-oriented b\n-000089a0: 7566 6665 7220 6f66 2074 6865 2073 6f63 uffer of the soc\n-000089b0: 6b65 7420 6f62 6a65 6374 0a50 524f 544f ket object.PROTO\n-000089c0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-000089d0: 636b 6574 732e 556e 7365 745f 4275 6666 ckets.Unset_Buff\n-000089e0: 6572 3a20 7072 6f63 6564 7572 6520 556e er: procedure Un\n-000089f0: 7365 745f 4275 6666 6572 0a20 2020 2020 set_Buffer. \n-00008a00: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n-00008a10: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n-00008a20: 6173 7329 3b0a 0a50 4152 414d 4554 4552 ass);..PARAMETER\n-00008a30: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00008a40: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00008a50: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-00008a60: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-00008a70: 6a65 6374 0a0a 4445 5343 5249 5054 494f ject..DESCRIPTIO\n-00008a80: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-00008a90: 6564 7572 6520 756e 696e 7374 616c 6c73 edure uninstalls\n-00008aa0: 2074 6865 2062 7566 6665 7220 7072 6576 the buffer prev\n-00008ab0: 696f 7573 6c79 2069 6e73 7461 6c6c 6564 iously installed\n-00008ac0: 2062 7920 2a6e 6f74 650a 2020 2020 2053 by *note. S\n-00008ad0: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n-00008ae0: 6475 7265 293a 3a2e 2020 4966 2061 6e79 dure)::. If any\n-00008af0: 2064 6174 6120 6973 2073 7469 6c6c 2070 data is still p\n-00008b00: 7265 7365 6e74 2069 6e20 7468 650a 2020 resent in the. \n-00008b10: 2020 2062 7566 6665 722c 2069 7420 7769 buffer, it wi\n-00008b20: 6c6c 2062 6520 6c6f 7374 2e20 2054 6f20 ll be lost. To \n-00008b30: 6176 6f69 6420 7468 6973 2073 6974 7561 avoid this situa\n-00008b40: 7469 6f6e 2c20 7468 6520 6275 6666 6572 tion, the buffer\n-00008b50: 2063 616e 0a20 2020 2020 6265 2066 6c75 can. be flu\n-00008b60: 7368 6564 2062 7920 6361 6c6c 696e 6720 shed by calling \n-00008b70: 2a6e 6f74 6520 4765 7420 2866 756e 6374 *note Get (funct\n-00008b80: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n-00008b90: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00008ba0: 2c20 204e 6f64 653a 2053 6f63 6b65 7473 , Node: Sockets\n-00008bb0: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n-00008bc0: 6765 2c20 204e 6578 743a 2053 6f63 6b65 ge, Next: Socke\n-00008bd0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-00008be0: 652c 2020 5072 6576 3a20 536f 636b 6574 e, Prev: Socket\n-00008bf0: 7320 7061 636b 6167 652c 2020 5570 3a20 s package, Up: \n-00008c00: 546f 700a 0a35 2053 6f63 6b65 7473 2e4d Top..5 Sockets.M\n-00008c10: 756c 7469 6361 7374 2070 6163 6b61 6765 ulticast package\n-00008c20: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n-00008c30: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th\n-00008c40: 6520 e280 9853 6f63 6b65 7473 2e4d 756c e ...Sockets.Mul\n-00008c50: 7469 6361 7374 e280 9920 616c 6c6f 7773 ticast... allows\n-00008c60: 2074 6865 2063 7265 6174 696f 6e20 6f66 the creation of\n-00008c70: 2049 5020 6d75 6c74 6963 6173 7420 736f IP multicast so\n-00008c80: 636b 6574 732e 0a0a 202d 2d20 536f 636b ckets... -- Sock\n-00008c90: 6574 732e 4d75 6c74 6963 6173 742e 4d75 ets.Multicast.Mu\n-00008ca0: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n-00008cb0: 443a 2074 7970 6520 4d75 6c74 6963 6173 D: type Multicas\n-00008cc0: 745f 536f 636b 6574 5f46 4420 6973 0a20 t_Socket_FD is. \n-00008cd0: 2020 2020 2020 2020 206e 6577 2053 6f63 new Soc\n-00008ce0: 6b65 745f 4644 2077 6974 6820 7072 6976 ket_FD with priv\n-00008cf0: 6174 653b 0a20 2020 2020 5468 6520 e280 ate;. The ..\n-00008d00: 984d 756c 7469 6361 7374 5f53 6f63 6b65 .Multicast_Socke\n-00008d10: 745f 4644 e280 9920 7461 6767 6564 2074 t_FD... tagged t\n-00008d20: 7970 6520 6465 7269 7665 7320 6672 6f6d ype derives from\n-00008d30: 2074 6865 20e2 8098 536f 636b 6574 5f46 the ...Socket_F\n-00008d40: 44e2 8099 0a20 2020 2020 7479 7065 2e20 D.... type. \n-00008d50: 2049 7420 6765 7473 2069 6e69 7469 616c It gets initial\n-00008d60: 697a 6564 2062 7920 6361 6c6c 696e 6720 ized by calling \n-00008d70: 2a6e 6f74 6520 4372 6561 7465 5f4d 756c *note Create_Mul\n-00008d80: 7469 6361 7374 5f53 6f63 6b65 740a 2020 ticast_Socket. \n-00008d90: 2020 2028 6675 6e63 7469 6f6e 293a 3a2e (function)::.\n-00008da0: 2020 416e 2075 6e69 6e69 7469 616c 697a An uninitializ\n-00008db0: 6564 20e2 8098 4d75 6c74 6963 6173 745f ed ...Multicast_\n-00008dc0: 536f 636b 6574 5f46 44e2 8099 2063 616e Socket_FD... can\n-00008dd0: 2062 650a 2020 2020 2073 7563 6365 7373 be. success\n-00008de0: 6675 6c6c 7920 636f 6d70 6172 6564 2074 fully compared t\n-00008df0: 6f20 e280 984e 756c 6c5f 4d75 6c74 6963 o ...Null_Multic\n-00008e00: 6173 745f 536f 636b 6574 5f46 44e2 8099 ast_Socket_FD...\n-00008e10: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 4372 ...* Menu:..* Cr\n-00008e20: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00008e30: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n-00008e40: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n-00008e50: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n-00008e60: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n-00008e70: 7420 736f 636b 6574 0a2a 2043 7265 6174 t socket.* Creat\n-00008e80: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-00008e90: 6574 2028 6675 6e63 7469 6f6e 293a 3a0a et (function)::.\n-00008ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008eb0: 2020 2020 2020 2020 4372 6561 7465 2061 Create a\n-00008ec0: 6e20 4950 206d 756c 7469 6361 7374 2073 n IP multicast s\n-00008ed0: 6f63 6b65 740a 0a1f 0a46 696c 653a 2061 ocket....File: a\n-00008ee0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00008ef0: 204e 6f64 653a 2043 7265 6174 655f 4d75 Node: Create_Mu\n-00008f00: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-00008f10: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-00008f20: 3a20 4372 6561 7465 5f4d 756c 7469 6361 : Create_Multica\n-00008f30: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n-00008f40: 696f 6e29 2c20 2050 7265 763a 2043 7265 ion), Prev: Cre\n-00008f50: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-00008f60: 636b 6574 2028 6675 6e63 7469 6f6e 292c cket (function),\n-00008f70: 2020 5570 3a20 536f 636b 6574 732e 4d75 Up: Sockets.Mu\n-00008f80: 6c74 6963 6173 7420 7061 636b 6167 650a lticast package.\n-00008f90: 0a43 7265 6174 655f 4d75 6c74 6963 6173 .Create_Multicas\n-00008fa0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-00008fb0: 6f6e 290a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d on).============\n-00008fc0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00008fd0: 3d3d 3d3d 3d3d 0a0a 5055 5250 4f53 450a ======..PURPOSE.\n-00008fe0: 2020 2020 2043 7265 6174 6520 616e 2049 Create an I\n-00008ff0: 5020 6d75 6c74 6963 6173 7420 736f 636b P multicast sock\n-00009000: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n-00009010: 2020 202d 2d20 536f 636b 6574 732e 4d75 -- Sockets.Mu\n-00009020: 6c74 6963 6173 742e 4372 6561 7465 5f4d lticast.Create_M\n-00009030: 756c 7469 6361 7374 5f53 6f63 6b65 743a ulticast_Socket:\n-00009040: 2066 756e 6374 696f 6e0a 2020 2020 2020 function. \n-00009050: 2020 2020 2020 2020 2043 7265 6174 655f Create_\n+00003c40: 696f 6e0a 0a45 5841 4d50 4c45 0a20 2020 ion..EXAMPLE. \n+00003c50: 2020 2020 2020 2064 6563 6c61 7265 0a20 declare. \n+00003c60: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00003c70: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n+00003c80: 2020 2020 2020 2020 6265 6769 6e0a 2020 begin. \n+00003c90: 2020 2020 2020 2020 2020 202d 2d20 4372 -- Cr\n+00003ca0: 6561 7465 2061 2054 4350 2073 6f63 6b65 eate a TCP socke\n+00003cb0: 740a 2020 2020 2020 2020 2020 2020 2053 t. S\n+00003cc0: 6f63 6b65 7420 2853 6f63 6b2c 2050 465f ocket (Sock, PF_\n+00003cd0: 494e 4554 2c20 534f 434b 5f53 5452 4541 INET, SOCK_STREA\n+00003ce0: 4d29 3b0a 2020 2020 2020 2020 2020 2020 M);. \n+00003cf0: 202d 2d20 436f 6e6e 6563 7420 6974 2074 -- Connect it t\n+00003d00: 6f20 7266 6331 3134 392e 6e65 7427 7320 o rfc1149.net's \n+00003d10: 6d61 696c 2073 6572 7665 720a 2020 2020 mail server. \n+00003d20: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+00003d30: 2028 536f 636b 2c20 226d 6169 6c2e 7266 (Sock, \"mail.rf\n+00003d40: 6331 3134 392e 6e65 7422 2c20 3235 293b c1149.net\", 25);\n+00003d50: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n+00003d60: 2044 6f20 6120 6d61 696c 2074 7261 6e73 Do a mail trans\n+00003d70: 6163 7469 6f6e 2074 6865 6e20 636c 6f73 action then clos\n+00003d80: 6520 7468 6520 736f 636b 6574 0a20 2020 e the socket. \n+00003d90: 2020 2020 2020 2020 2020 5b2e 2e2e 5d0a [...].\n+00003da0: 2020 2020 2020 2020 2020 656e 643b 0a0a end;..\n+00003db0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+00003dc0: 6f74 6520 536f 636b 6574 2028 7072 6f63 ote Socket (proc\n+00003dd0: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00003de0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00003df0: 666f 2c20 204e 6f64 653a 2047 6574 2028 fo, Node: Get (\n+00003e00: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+00003e10: 3a20 4765 745f 4368 6172 2028 6675 6e63 : Get_Char (func\n+00003e20: 7469 6f6e 292c 2020 5072 6576 3a20 436f tion), Prev: Co\n+00003e30: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n+00003e40: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00003e50: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00003e60: 290a 0a47 6574 2028 6675 6e63 7469 6f6e )..Get (function\n+00003e70: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00003e80: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n+00003e90: 6574 2061 2073 7472 696e 6720 6672 6f6d et a string from\n+00003ea0: 2061 2072 656d 6f74 6520 686f 7374 0a50 a remote host.P\n+00003eb0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00003ec0: 2d20 536f 636b 6574 732e 4765 743a 2066 - Sockets.Get: f\n+00003ed0: 756e 6374 696f 6e20 4765 7420 2853 4f43 unction Get (SOC\n+00003ee0: 4b45 5420 3a20 536f 636b 6574 5f46 4427 KET : Socket_FD'\n+00003ef0: 436c 6173 7329 0a20 2020 2020 2020 2020 Class). \n+00003f00: 2020 2020 2020 7265 7475 726e 2053 7472 return Str\n+00003f10: 696e 673b 0a0a 5041 5241 4d45 5445 5253 ing;..PARAMETERS\n+00003f20: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00003f30: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00003f40: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00003f50: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00003f60: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n+00003f70: 450a 2020 2020 2053 6f6d 6520 6368 6172 E. Some char\n+00003f80: 6163 7465 7273 2074 6861 7420 6861 7665 acters that have\n+00003f90: 2062 6565 6e20 7265 6365 6976 6564 0a0a been received..\n+00003fa0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+00003fb0: 2054 6869 7320 6675 6e63 7469 6f6e 2072 This function r\n+00003fc0: 6563 6569 7665 7320 736f 6d65 2063 6861 eceives some cha\n+00003fd0: 7261 6374 6572 7320 6672 6f6d 2061 2072 racters from a r\n+00003fe0: 656d 6f74 6520 686f 7374 2e20 2041 7320 emote host. As \n+00003ff0: 736f 6f6e 0a20 2020 2020 7468 6174 2061 soon. that a\n+00004000: 7420 6c65 6173 7420 6f6e 6520 6368 6172 t least one char\n+00004010: 6163 7465 7220 6973 2061 7661 696c 6162 acter is availab\n+00004020: 6c65 2c20 7468 6520 6375 7272 656e 7420 le, the current \n+00004030: 7265 6365 7074 696f 6e0a 2020 2020 2062 reception. b\n+00004040: 7566 6665 7220 6973 2072 6574 7572 6e65 uffer is returne\n+00004050: 642e 0a0a 2020 2020 2054 6865 7265 2069 d... There i\n+00004060: 7320 7573 7561 6c6c 7920 6c69 7474 6c65 s usually little\n+00004070: 2067 6169 6e20 696e 2075 7369 6e67 2074 gain in using t\n+00004080: 6869 7320 6675 6e63 7469 6f6e 2077 686f his function who\n+00004090: 7365 2062 6568 6176 696f 720a 2020 2020 se behavior. \n+000040a0: 2069 7320 636f 6d70 6172 6162 6c65 2074 is comparable t\n+000040b0: 6f20 7468 6520 6f6e 6520 6f66 202a 6e6f o the one of *no\n+000040c0: 7465 2052 6563 6569 7665 2028 6675 6e63 te Receive (func\n+000040d0: 7469 6f6e 293a 3a2e 2020 4f74 6865 720a tion)::. Other.\n+000040e0: 2020 2020 2066 756e 6374 696f 6e73 2073 functions s\n+000040f0: 7563 6820 6173 202a 6e6f 7465 2047 6574 uch as *note Get\n+00004100: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+00004110: 3a3a 2c20 6f72 202a 6e6f 7465 2047 6574 ::, or *note Get\n+00004120: 5f4c 696e 650a 2020 2020 2028 6675 6e63 _Line. (func\n+00004130: 7469 6f6e 293a 3a2c 2061 6c6c 6f77 206d tion)::, allow m\n+00004140: 6f72 6520 7374 7275 6374 7572 6564 2070 ore structured p\n+00004150: 726f 6772 616d 6d69 6e67 2e0a 0a20 2020 rogramming... \n+00004160: 2020 486f 7765 7665 722c 2074 6869 7320 However, this \n+00004170: 6675 6e63 7469 6f6e 206d 6179 2062 6520 function may be \n+00004180: 7573 6564 2074 6f20 6176 6f69 6420 6c6f used to avoid lo\n+00004190: 7369 6e67 2063 6861 7261 6374 6572 7320 sing characters \n+000041a0: 7768 656e 0a20 2020 2020 6361 6c6c 696e when. callin\n+000041b0: 6720 2a6e 6f74 6520 556e 7365 745f 4275 g *note Unset_Bu\n+000041c0: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+000041d0: 3a3a 2c20 6966 2c20 666f 7220 736f 6d65 ::, if, for some\n+000041e0: 2072 6561 736f 6e2c 2074 6865 0a20 2020 reason, the. \n+000041f0: 2020 7265 6d6f 7465 2068 6f73 7420 6d61 remote host ma\n+00004200: 7920 6861 7665 2073 656e 7420 736f 6d65 y have sent some\n+00004210: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00004220: 2020 20e2 8098 436f 6e6e 6563 7469 6f6e ...Connection\n+00004230: 5f43 6c6f 7365 64e2 8099 5065 6572 2068 _Closed...Peer h\n+00004240: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n+00004250: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n+00004260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004270: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n+00004280: 616e 7920 6461 7461 0a0a 1f0a 4669 6c65 any data....File\n+00004290: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+000042a0: 6f2c 2020 4e6f 6465 3a20 4765 745f 4368 o, Node: Get_Ch\n+000042b0: 6172 2028 6675 6e63 7469 6f6e 292c 2020 ar (function), \n+000042c0: 4e65 7874 3a20 4765 745f 4c69 6e65 2028 Next: Get_Line (\n+000042d0: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+000042e0: 3a20 4765 7420 2866 756e 6374 696f 6e29 : Get (function)\n+000042f0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00004300: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00004310: 0a0a 4765 745f 4368 6172 2028 6675 6e63 ..Get_Char (func\n+00004320: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+00004330: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00004340: 5345 0a20 2020 2020 4765 7420 6120 6368 SE. Get a ch\n+00004350: 6172 6163 7465 7220 6672 6f6d 2061 2072 aracter from a r\n+00004360: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n+00004370: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00004380: 636b 6574 732e 4765 745f 4368 6172 3a20 ckets.Get_Char: \n+00004390: 6675 6e63 7469 6f6e 2047 6574 5f43 6861 function Get_Cha\n+000043a0: 7220 2853 4f43 4b45 5420 3a20 536f 636b r (SOCKET : Sock\n+000043b0: 6574 5f46 4427 436c 6173 7329 0a20 2020 et_FD'Class). \n+000043c0: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n+000043d0: 726e 2043 6861 7261 6374 6572 3b0a 0a50 rn Character;..P\n+000043e0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+000043f0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00004400: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00004410: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00004420: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n+00004430: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+00004440: 4f6e 6520 6368 6172 6163 7465 7220 7365 One character se\n+00004450: 6e74 2062 7920 7468 6520 7265 6d6f 7465 nt by the remote\n+00004460: 2068 6f73 740a 0a44 4553 4352 4950 5449 host..DESCRIPTI\n+00004470: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+00004480: 6374 696f 6e20 7265 6365 6976 6573 2065 ction receives e\n+00004490: 7861 6374 6c79 206f 6e65 2063 6861 7261 xactly one chara\n+000044a0: 6374 6572 2066 726f 6d20 7468 6520 7265 cter from the re\n+000044b0: 6d6f 7465 2068 6f73 742e 0a0a 4558 4345 mote host...EXCE\n+000044c0: 5054 494f 4e53 0a20 2020 2020 e280 9843 PTIONS. ...C\n+000044d0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n+000044e0: e280 9950 6565 7220 6861 7320 636c 6f73 ...Peer has clos\n+000044f0: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n+00004500: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n+00004510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004520: 2073 656e 6469 6e67 2074 6865 2063 6861 sending the cha\n+00004530: 7261 6374 6572 0a0a 5345 4520 414c 534f racter..SEE ALSO\n+00004540: 0a20 2020 2020 2a6e 6f74 6520 4765 7420 . *note Get \n+00004550: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00004560: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+00004570: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a e (function)::,.\n+00004580: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00004590: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n+000045a0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n+000045b0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+000045c0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+000045d0: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+000045e0: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+000045f0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00004600: 666f 2c20 204e 6f64 653a 2047 6574 5f4c fo, Node: Get_L\n+00004610: 696e 6520 2866 756e 6374 696f 6e29 2c20 ine (function), \n+00004620: 204e 6578 743a 2047 6574 5f4c 696e 6520 Next: Get_Line \n+00004630: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00004640: 6576 3a20 4765 745f 4368 6172 2028 6675 ev: Get_Char (fu\n+00004650: 6e63 7469 6f6e 292c 2020 5570 3a20 4163 nction), Up: Ac\n+00004660: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00004670: 6365 6475 7265 290a 0a47 6574 5f4c 696e cedure)..Get_Lin\n+00004680: 6520 2866 756e 6374 696f 6e29 0a2d 2d2d e (function).---\n+00004690: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000046a0: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n+000046b0: 6574 2061 2077 686f 6c65 206c 696e 6520 et a whole line \n+000046c0: 6672 6f6d 2061 2072 656d 6f74 6520 686f from a remote ho\n+000046d0: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+000046e0: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n+000046f0: 745f 4c69 6e65 3a20 6675 6e63 7469 6f6e t_Line: function\n+00004700: 2047 6574 5f4c 696e 6520 2853 4f43 4b45 Get_Line (SOCKE\n+00004710: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00004720: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+00004730: 2020 2020 4d41 585f 4c45 4e47 5448 203a MAX_LENGTH :\n+00004740: 2050 6f73 6974 6976 6520 3a3d 2032 3034 Positive := 204\n+00004750: 3829 0a20 2020 2020 2020 2020 2020 2020 8). \n+00004760: 2020 7265 7475 726e 2053 7472 696e 673b return String;\n+00004770: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+00004780: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+00004790: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000047a0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n+000047b0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+000047c0: 2020 2020 204d 4158 5f4c 454e 4754 4820 MAX_LENGTH \n+000047d0: 696e 2020 2020 2020 2020 204d 6178 696d in Maxim\n+000047e0: 756d 2072 6574 7572 6e65 6420 6c69 6e65 um returned line\n+000047f0: 206c 656e 6774 680a 0a52 4554 5552 4e20 length..RETURN \n+00004800: 5641 4c55 450a 2020 2020 2041 206c 696e VALUE. A lin\n+00004810: 6520 7769 7468 6f75 7420 7468 6520 4352 e without the CR\n+00004820: 2061 6e64 204c 4620 7365 7061 7261 746f and LF separato\n+00004830: 7273 0a0a 4445 5343 5249 5054 494f 4e0a rs..DESCRIPTION.\n+00004840: 2020 2020 2054 6869 7320 6675 6e63 7469 This functi\n+00004850: 6f6e 2072 6563 6569 7665 7320 6f6e 6520 on receives one \n+00004860: 6c69 6e65 2066 726f 6d20 7468 6520 7265 line from the re\n+00004870: 6d6f 7465 2068 6f73 742e 2020 4120 6c69 mote host. A li\n+00004880: 6e65 0a20 2020 2020 636f 6e73 6973 7473 ne. consists\n+00004890: 2069 6e74 6f20 7a65 726f 206f 7220 6d6f into zero or mo\n+000048a0: 7265 2063 6861 7261 6374 6572 7320 666f re characters fo\n+000048b0: 6c6c 6f77 6564 2062 7920 616e 206f 7074 llowed by an opt\n+000048c0: 696f 6e61 6c20 4352 0a20 2020 2020 616e ional CR. an\n+000048d0: 6420 6279 2061 204c 462e 2054 686f 7365 d by a LF. Those\n+000048e0: 2074 6572 6d69 6e61 746f 7273 2061 7265 terminators are\n+000048f0: 2073 7472 6970 7065 6420 6265 666f 7265 stripped before\n+00004900: 2074 6865 206c 696e 6520 6973 0a20 2020 the line is. \n+00004910: 2020 7265 7475 726e 6564 2e0a 0a20 2020 returned... \n+00004920: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00004930: 626c 6f63 6b73 2075 6e74 696c 206f 6e65 blocks until one\n+00004940: 2066 756c 6c20 6c69 6e65 2068 6173 2062 full line has b\n+00004950: 6565 6e20 7265 6365 6976 6564 2e20 2054 een received. T\n+00004960: 6865 0a20 2020 2020 6c69 6e65 206c 656e he. line len\n+00004970: 6774 6820 6973 206c 696d 6974 6564 2077 gth is limited w\n+00004980: 6974 6820 7468 6520 7661 6c75 6520 6f66 ith the value of\n+00004990: 2074 6865 204d 6178 5f4c 656e 6774 6820 the Max_Length \n+000049a0: 6172 6775 6d65 6e74 2c0a 2020 2020 2074 argument,. t\n+000049b0: 6f20 6176 6f69 6420 6578 6861 7573 7469 o avoid exhausti\n+000049c0: 6f6e 206f 6620 7468 6520 7365 636f 6e64 on of the second\n+000049d0: 6172 7920 7374 6163 6b2e 0a0a 4558 4345 ary stack...EXCE\n+000049e0: 5054 494f 4e53 0a20 2020 2020 e280 9843 PTIONS. ...C\n+000049f0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n+00004a00: e280 9950 6565 7220 6861 7320 636c 6f73 ...Peer has clos\n+00004a10: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n+00004a20: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n+00004a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004a40: 2073 656e 6469 6e67 2061 2077 686f 6c65 sending a whole\n+00004a50: 206c 696e 650a 0a53 4545 2041 4c53 4f0a line..SEE ALSO.\n+00004a60: 2020 2020 202a 6e6f 7465 2047 6574 2028 *note Get (\n+00004a70: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+00004a80: 2020 2a6e 6f74 6520 4765 745f 4368 6172 *note Get_Char\n+00004a90: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00004aa0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00004ab0: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00004ac0: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00004ad0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00004ae0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00004af0: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00004b00: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00004b10: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00004b20: 6f2c 2020 4e6f 6465 3a20 4765 745f 4c69 o, Node: Get_Li\n+00004b30: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+00004b40: 204e 6578 743a 2047 6574 5f52 6563 6569 Next: Get_Recei\n+00004b50: 7665 5f51 7565 7565 5f53 697a 6520 2866 ve_Queue_Size (f\n+00004b60: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+00004b70: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+00004b80: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n+00004b90: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00004ba0: 7572 6529 0a0a 4765 745f 4c69 6e65 2028 ure)..Get_Line (\n+00004bb0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00004bc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00004bd0: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+00004be0: 7420 6120 7768 6f6c 6520 6c69 6e65 2066 t a whole line f\n+00004bf0: 726f 6d20 6120 7265 6d6f 7465 2068 6f73 rom a remote hos\n+00004c00: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+00004c10: 2020 2d2d 2053 6f63 6b65 7473 2e47 6574 -- Sockets.Get\n+00004c20: 5f4c 696e 653a 2070 726f 6365 6475 7265 _Line: procedure\n+00004c30: 2047 6574 5f4c 696e 6520 2853 4f43 4b45 Get_Line (SOCKE\n+00004c40: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00004c50: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+00004c60: 2020 2020 5354 5220 3a20 696e 206f 7574 STR : in out\n+00004c70: 2053 7472 696e 673b 204c 4153 5420 3a20 String; LAST : \n+00004c80: 6f75 7420 4e61 7475 7261 6c29 3b0a 0a50 out Natural);..P\n+00004c90: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00004ca0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00004cb0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00004cc0: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00004cd0: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+00004ce0: 2020 5354 5220 2020 2020 2020 2069 6e20 STR in \n+00004cf0: 6f75 7420 2020 2020 5374 7269 6e67 2074 out String t\n+00004d00: 6f20 6669 6c6c 0a20 2020 2020 4c41 5354 o fill. LAST\n+00004d10: 2020 2020 2020 206f 7574 2020 2020 2020 out \n+00004d20: 2020 4c61 7374 2069 6e64 6578 2075 7365 Last index use\n+00004d30: 6420 696e 2074 6865 2073 7472 696e 670a d in the string.\n+00004d40: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00004d50: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n+00004d60: 2072 6563 6569 7665 7320 6f6e 6520 6c69 receives one li\n+00004d70: 6e65 2066 726f 6d20 7468 6520 7265 6d6f ne from the remo\n+00004d80: 7465 2068 6f73 742e 2020 4120 6c69 6e65 te host. A line\n+00004d90: 0a20 2020 2020 636f 6e73 6973 7473 2069 . consists i\n+00004da0: 6e74 6f20 7a65 726f 206f 7220 6d6f 7265 nto zero or more\n+00004db0: 2063 6861 7261 6374 6572 7320 666f 6c6c characters foll\n+00004dc0: 6f77 6564 2062 7920 616e 206f 7074 696f owed by an optio\n+00004dd0: 6e61 6c20 4352 0a20 2020 2020 616e 6420 nal CR. and \n+00004de0: 6279 2061 204c 462e 2054 686f 7365 2074 by a LF. Those t\n+00004df0: 6572 6d69 6e61 746f 7273 2061 7265 2073 erminators are s\n+00004e00: 7472 6970 7065 6420 6265 666f 7265 2074 tripped before t\n+00004e10: 6865 206c 696e 6520 6973 0a20 2020 2020 he line is. \n+00004e20: 7265 7475 726e 6564 2e0a 0a20 2020 2020 returned... \n+00004e30: 5468 6973 2070 726f 6365 6475 7265 2062 This procedure b\n+00004e40: 6c6f 636b 7320 756e 7469 6c20 6f6e 6520 locks until one \n+00004e50: 6675 6c6c 206c 696e 6520 6861 7320 6265 full line has be\n+00004e60: 656e 2072 6563 6569 7665 642e 0a0a 4558 en received...EX\n+00004e70: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n+00004e80: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n+00004e90: 6564 e280 9950 6565 7220 6861 7320 636c ed...Peer has cl\n+00004ea0: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+00004eb0: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n+00004ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004ed0: 2020 2073 656e 6469 6e67 2061 2077 686f sending a who\n+00004ee0: 6c65 206c 696e 650a 0a53 4545 2041 4c53 le line..SEE ALS\n+00004ef0: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n+00004f00: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00004f10: 2020 2020 2a6e 6f74 6520 4765 745f 4368 *note Get_Ch\n+00004f20: 6172 2028 6675 6e63 7469 6f6e 293a 3a2c ar (function)::,\n+00004f30: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+00004f40: 4c69 6e65 2028 6675 6e63 7469 6f6e 293a Line (function):\n+00004f50: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n+00004f60: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00004f70: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00004f80: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+00004f90: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00004fa0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00004fb0: 666f 2c20 204e 6f64 653a 2047 6574 5f52 fo, Node: Get_R\n+00004fc0: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n+00004fd0: 6520 2866 756e 6374 696f 6e29 2c20 204e e (function), N\n+00004fe0: 6578 743a 2047 6574 5f53 656e 645f 5175 ext: Get_Send_Qu\n+00004ff0: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+00005000: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_\n+00005010: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00005020: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00005030: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00005040: 0a0a 4765 745f 5265 6365 6976 655f 5175 ..Get_Receive_Qu\n+00005050: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+00005060: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n+00005070: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005080: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00005090: 2020 2020 5265 7475 726e 2074 6865 2073 Return the s\n+000050a0: 697a 6520 6f66 2074 6865 2075 6e72 6561 ize of the unrea\n+000050b0: 6420 6461 7461 2069 6e20 7468 6520 696e d data in the in\n+000050c0: 7075 7420 7175 6575 650a 5052 4f54 4f54 put queue.PROTOT\n+000050d0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000050e0: 6b65 7473 2e47 6574 5f52 6563 6569 7665 kets.Get_Receive\n+000050f0: 5f51 7565 7565 5f53 697a 653a 2066 756e _Queue_Size: fun\n+00005100: 6374 696f 6e20 4765 745f 5265 6365 6976 ction Get_Receiv\n+00005110: 655f 5175 6575 655f 5369 7a65 0a20 2020 e_Queue_Size. \n+00005120: 2020 2020 2020 2020 2020 2020 2853 4f43 (SOC\n+00005130: 4b45 5420 3a20 536f 636b 6574 5f46 4427 KET : Socket_FD'\n+00005140: 436c 6173 7329 0a20 2020 2020 2020 2020 Class). \n+00005150: 2020 2020 2020 7265 7475 726e 2049 6e74 return Int\n+00005160: 6567 6572 3b0a 0a50 4152 414d 4554 4552 eger;..PARAMETER\n+00005170: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00005180: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00005190: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+000051a0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+000051b0: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n+000051c0: 5545 0a20 2020 2020 5468 6520 6e6f 6e2d UE. The non-\n+000051d0: 6e65 6761 7469 7665 2073 697a 6520 696e negative size in\n+000051e0: 2062 7974 6573 206f 6620 7468 6520 696e bytes of the in\n+000051f0: 7075 7420 7175 6575 650a 0a44 4553 4352 put queue..DESCR\n+00005200: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00005210: 2066 756e 6374 696f 6e20 6973 206f 6e6c function is onl\n+00005220: 7920 6176 6169 6c61 626c 6520 6f6e 204c y available on L\n+00005230: 696e 7578 2070 6c61 7466 6f72 6d73 2e20 inux platforms. \n+00005240: 204f 6e20 6f74 6865 720a 2020 2020 206f On other. o\n+00005250: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n+00005260: 2c20 6974 2077 696c 6c20 7265 7475 726e , it will return\n+00005270: 202d 3220 746f 2069 6e64 6963 6174 6520 -2 to indicate \n+00005280: 7468 6174 2074 6865 206e 6563 6573 7361 that the necessa\n+00005290: 7279 0a20 2020 2020 6d65 6368 616e 6973 ry. mechanis\n+000052a0: 6d73 2074 6f20 7265 7472 6965 7665 2074 ms to retrieve t\n+000052b0: 6865 2069 6e66 6f72 6d61 7469 6f6e 2061 he information a\n+000052c0: 7265 206e 6f74 2061 7661 696c 6162 6c65 re not available\n+000052d0: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n+000052e0: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n+000052f0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00005300: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00005310: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n+00005320: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n+00005330: 7a65 2028 6675 6e63 7469 6f6e 292c 2020 ze (function), \n+00005340: 4e65 7874 3a20 4765 7473 6f63 6b6f 7074 Next: Getsockopt\n+00005350: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+00005360: 7265 763a 2047 6574 5f52 6563 6569 7665 rev: Get_Receive\n+00005370: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+00005380: 6374 696f 6e29 2c20 2055 703a 2041 6363 ction), Up: Acc\n+00005390: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+000053a0: 6564 7572 6529 0a0a 4765 745f 5365 6e64 edure)..Get_Send\n+000053b0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+000053c0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+000053d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000053e0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+000053f0: 2020 2020 5265 7475 726e 2074 6865 2073 Return the s\n+00005400: 697a 6520 6f66 2074 6865 2075 6e73 656e ize of the unsen\n+00005410: 7420 6461 7461 2069 6e20 7468 6520 6f75 t data in the ou\n+00005420: 7470 7574 2071 7565 7565 0a50 524f 544f tput queue.PROTO\n+00005430: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00005440: 636b 6574 732e 4765 745f 5365 6e64 5f51 ckets.Get_Send_Q\n+00005450: 7565 7565 5f53 697a 653a 2066 756e 6374 ueue_Size: funct\n+00005460: 696f 6e20 4765 745f 5365 6e64 5f51 7565 ion Get_Send_Que\n+00005470: 7565 5f53 697a 650a 2020 2020 2020 2020 ue_Size. \n+00005480: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n+00005490: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n+000054a0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+000054b0: 2072 6574 7572 6e20 496e 7465 6765 723b return Integer;\n+000054c0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+000054d0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+000054e0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000054f0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n+00005500: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00005510: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+00005520: 2020 2054 6865 206e 6f6e 2d6e 6567 6174 The non-negat\n+00005530: 6976 6520 7369 7a65 2069 6e20 6279 7465 ive size in byte\n+00005540: 7320 6f66 2074 6865 206f 7574 7075 7420 s of the output \n+00005550: 7175 6575 650a 0a44 4553 4352 4950 5449 queue..DESCRIPTI\n+00005560: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+00005570: 6374 696f 6e20 6973 206f 6e6c 7920 6176 ction is only av\n+00005580: 6169 6c61 626c 6520 6f6e 204c 696e 7578 ailable on Linux\n+00005590: 2070 6c61 7466 6f72 6d73 2e20 204f 6e20 platforms. On \n+000055a0: 6f74 6865 720a 2020 2020 206f 7065 7261 other. opera\n+000055b0: 7469 6e67 2073 7973 7465 6d73 2c20 6974 ting systems, it\n+000055c0: 2077 696c 6c20 7265 7475 726e 202d 3220 will return -2 \n+000055d0: 746f 2069 6e64 6963 6174 6520 7468 6174 to indicate that\n+000055e0: 2074 6865 206e 6563 6573 7361 7279 0a20 the necessary. \n+000055f0: 2020 2020 6d65 6368 616e 6973 6d73 2074 mechanisms t\n+00005600: 6f20 7265 7472 6965 7665 2074 6865 2069 o retrieve the i\n+00005610: 6e66 6f72 6d61 7469 6f6e 2061 7265 206e nformation are n\n+00005620: 6f74 2061 7661 696c 6162 6c65 2e0a 0a53 ot available...S\n+00005630: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00005640: 7465 2053 656e 6420 2870 726f 6365 6475 te Send (procedu\n+00005650: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00005660: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00005670: 2020 4e6f 6465 3a20 4765 7473 6f63 6b6f Node: Getsocko\n+00005680: 7074 2028 7072 6f63 6564 7572 6529 2c20 pt (procedure), \n+00005690: 204e 6578 743a 204c 6973 7465 6e20 2870 Next: Listen (p\n+000056a0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+000056b0: 3a20 4765 745f 5365 6e64 5f51 7565 7565 : Get_Send_Queue\n+000056c0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+000056d0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+000056e0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+000056f0: 0a0a 4765 7473 6f63 6b6f 7074 2028 7072 ..Getsockopt (pr\n+00005700: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n+00005710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00005720: 0a50 5552 504f 5345 0a20 2020 2020 5265 .PURPOSE. Re\n+00005730: 7472 6965 7665 2061 2073 6f63 6b65 7420 trieve a socket \n+00005740: 6f70 7469 6f6e 0a50 524f 544f 5459 5045 option.PROTOTYPE\n+00005750: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00005760: 732e 4765 7473 6f63 6b6f 7074 3a20 7072 s.Getsockopt: pr\n+00005770: 6f63 6564 7572 6520 4765 7473 6f63 6b6f ocedure Getsocko\n+00005780: 7074 2028 534f 434b 4554 203a 2053 6f63 pt (SOCKET : Soc\n+00005790: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n+000057a0: 2020 2020 2020 204c 4556 454c 203a 2053 LEVEL : S\n+000057b0: 6f63 6b65 745f 4c65 7665 6c20 3a3d 2053 ocket_Level := S\n+000057c0: 4f4c 5f53 4f43 4b45 543b 0a20 2020 2020 OL_SOCKET;. \n+000057d0: 2020 2020 2020 2020 2020 4f50 544e 414d OPTNAM\n+000057e0: 4520 3a20 536f 636b 6574 5f4f 7074 696f E : Socket_Optio\n+000057f0: 6e3b 204f 5054 5641 4c20 3a20 6f75 7420 n; OPTVAL : out \n+00005800: 496e 7465 6765 7229 3b0a 0a50 4152 414d Integer);..PARAM\n+00005810: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+00005820: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+00005830: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n+00005840: 2062 6f75 6e64 2073 6f63 6b65 7420 6f62 bound socket ob\n+00005850: 6a65 6374 0a20 2020 2020 4c45 5645 4c20 ject. LEVEL \n+00005860: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00005870: 5072 6f74 6f63 6f6c 206c 6576 656c 0a20 Protocol level. \n+00005880: 2020 2020 4f50 544e 414d 4520 2020 2069 OPTNAME i\n+00005890: 6e20 2020 2020 2020 2020 4f70 7469 6f6e n Option\n+000058a0: 206e 616d 650a 2020 2020 204f 5054 5641 name. OPTVA\n+000058b0: 4c20 2020 2020 6f75 7420 2020 2020 2020 L out \n+000058c0: 204f 7074 696f 6e20 7661 6c75 650a 0a44 Option value..D\n+000058d0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+000058e0: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n+000058f0: 6574 7269 6576 6573 206f 7074 696f 6e73 etrieves options\n+00005900: 2061 7070 6c69 6361 626c 6520 746f 2061 applicable to a\n+00005910: 2073 6f63 6b65 742e 2020 506c 6561 7365 socket. Please\n+00005920: 0a20 2020 2020 7365 6520 796f 7572 206f . see your o\n+00005930: 7065 7261 7469 6e67 2073 7973 7465 6d20 perating system \n+00005940: 6d61 6e75 616c 2066 6f72 2075 7361 626c manual for usabl\n+00005950: 6520 6c65 7665 6c73 2061 6e64 206f 7074 e levels and opt\n+00005960: 696f 6e73 2e0a 0a20 2020 2020 5477 6f20 ions... Two \n+00005970: 6c65 7665 6c73 2061 7265 2064 6566 696e levels are defin\n+00005980: 6564 3a20 e280 9853 4f4c 5f53 4f43 4b45 ed: ...SOL_SOCKE\n+00005990: 54e2 8099 2028 7468 6520 6465 6661 756c T... (the defaul\n+000059a0: 7429 2061 6e64 0a20 2020 2020 e280 9849 t) and. ...I\n+000059b0: 5050 524f 544f 5f49 50e2 8099 2e20 2054 PPROTO_IP.... T\n+000059c0: 6865 206f 7074 696f 6e73 2061 7265 20e2 he options are .\n+000059d0: 8098 534f 5f52 4555 5345 4144 4452 e280 ..SO_REUSEADDR..\n+000059e0: 992c 20e2 8098 534f 5f52 4555 5345 504f ., ...SO_REUSEPO\n+000059f0: 5254 e280 992c 0a20 2020 2020 e280 9849 RT...,. ...I\n+00005a00: 505f 4d55 4c54 4943 4153 545f 5454 4ce2 P_MULTICAST_TTL.\n+00005a10: 8099 2c20 e280 9849 505f 4144 445f 4d45 .., ...IP_ADD_ME\n+00005a20: 4d42 4552 5348 4950 e280 992c 20e2 8098 MBERSHIP..., ...\n+00005a30: 4950 5f44 524f 505f 4d45 4d42 4552 5348 IP_DROP_MEMBERSH\n+00005a40: 4950 e280 992c 0a20 2020 2020 e280 9849 IP...,. ...I\n+00005a50: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50 P_MULTICAST_LOOP\n+00005a60: e280 992c 20e2 8098 534f 5f53 4e44 4255 ..., ...SO_SNDBU\n+00005a70: 46e2 8099 2061 6e64 20e2 8098 4950 5f52 F... and ...IP_R\n+00005a80: 4356 4255 46e2 8099 2e0a 0a20 2020 2020 CVBUF...... \n+00005a90: 4e6f 7465 2074 6861 7420 756e 6c69 6b65 Note that unlike\n+00005aa0: 2074 6865 6972 2043 206c 616e 6775 6167 their C languag\n+00005ab0: 6520 636f 756e 7465 7270 6172 742c 20e2 e counterpart, .\n+00005ac0: 8098 4765 7473 6f63 6b6f 7074 e280 9920 ..Getsockopt... \n+00005ad0: 616e 640a 2020 2020 20e2 8098 5365 7473 and. ...Sets\n+00005ae0: 6f63 6b6f 7074 e280 9920 646f 206e 6f74 ockopt... do not\n+00005af0: 2072 6571 7569 7265 2061 6e20 6578 7472 require an extr\n+00005b00: 6120 7061 7261 6d65 7465 7220 7265 7072 a parameter repr\n+00005b10: 6573 656e 7469 6e67 2074 6865 0a20 2020 esenting the. \n+00005b20: 2020 6c65 6e67 7468 2069 6e20 6279 7465 length in byte\n+00005b30: 7320 6f66 2074 6865 206f 7074 696f 6e20 s of the option \n+00005b40: 7661 6c75 652e 2020 4164 6153 6f63 6b65 value. AdaSocke\n+00005b50: 7473 206b 6e6f 7773 2074 6865 2072 6967 ts knows the rig\n+00005b60: 6874 0a20 2020 2020 7369 7a65 2066 6f72 ht. size for\n+00005b70: 2065 7665 7279 206f 7074 696f 6e2e 0a0a every option...\n+00005b80: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+00005b90: 6f74 6520 5365 7473 6f63 6b6f 7074 2028 ote Setsockopt (\n+00005ba0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00005bb0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00005bc0: 732e 696e 666f 2c20 204e 6f64 653a 204c s.info, Node: L\n+00005bd0: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+00005be0: 292c 2020 4e65 7874 3a20 4e65 775f 4c69 ), Next: New_Li\n+00005bf0: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+00005c00: 2050 7265 763a 2047 6574 736f 636b 6f70 Prev: Getsockop\n+00005c10: 7420 2870 726f 6365 6475 7265 292c 2020 t (procedure), \n+00005c20: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n+00005c30: 7420 2870 726f 6365 6475 7265 290a 0a4c t (procedure)..L\n+00005c40: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+00005c50: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00005c60: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00005c70: 2020 2045 7374 6162 6c69 7368 2061 206c Establish a l\n+00005c80: 6973 7465 6e20 7175 6575 650a 5052 4f54 isten queue.PROT\n+00005c90: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00005ca0: 6f63 6b65 7473 2e4c 6973 7465 6e3a 2070 ockets.Listen: p\n+00005cb0: 726f 6365 6475 7265 204c 6973 7465 6e20 rocedure Listen \n+00005cc0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+00005cd0: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n+00005ce0: 2020 2020 5155 4555 455f 5349 5a45 203a QUEUE_SIZE :\n+00005cf0: 2050 6f73 6974 6976 6520 3a3d 2035 293b Positive := 5);\n+00005d00: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+00005d10: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+00005d20: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+00005d30: 7a65 6420 616e 6420 626f 756e 6420 736f zed and bound so\n+00005d40: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00005d50: 2051 5545 5545 5f53 495a 4520 696e 2020 QUEUE_SIZE in \n+00005d60: 2020 2020 2020 2052 6571 7565 7374 6564 Requested\n+00005d70: 2073 6c6f 7473 2069 6e20 7468 6520 6c69 slots in the li\n+00005d80: 7374 656e 2071 7565 7565 0a0a 4445 5343 sten queue..DESC\n+00005d90: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00005da0: 7320 7072 6f63 6564 7572 6520 6573 7461 s procedure esta\n+00005db0: 626c 6973 6865 7320 6120 6c69 7374 656e blishes a listen\n+00005dc0: 2071 7565 7565 2061 6674 6572 2061 2054 queue after a T\n+00005dd0: 4350 2073 6f63 6b65 7420 6173 0a20 2020 CP socket as. \n+00005de0: 2020 6265 656e 2069 6e69 7469 616c 697a been initializ\n+00005df0: 6564 2061 6e64 2062 6f75 6e64 2e20 2045 ed and bound. E\n+00005e00: 6163 6820 736c 6f74 2069 6e20 7468 6520 ach slot in the \n+00005e10: 7175 6575 6520 6361 6e20 686f 6c64 206f queue can hold o\n+00005e20: 6e65 0a20 2020 2020 696e 636f 6d69 6e67 ne. incoming\n+00005e30: 2063 6f6e 6e65 6374 696f 6e20 7468 6174 connection that\n+00005e40: 2068 6173 206e 6f74 2062 6565 6e20 6163 has not been ac\n+00005e50: 6365 7074 6564 2079 6574 2e20 204e 6f74 cepted yet. Not\n+00005e60: 6520 7468 6174 206d 6f73 740a 2020 2020 e that most. \n+00005e70: 206f 7065 7261 7469 6e67 2073 7973 7465 operating syste\n+00005e80: 6d73 2069 676e 6f72 6520 7175 6575 6520 ms ignore queue \n+00005e90: 7369 7a65 7320 6c61 7267 6572 2074 6861 sizes larger tha\n+00005ea0: 6e20 6669 7665 2e0a 0a53 4545 2041 4c53 n five...SEE ALS\n+00005eb0: 4f0a 2020 2020 202a 6e6f 7465 2041 6363 O. *note Acc\n+00005ec0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00005ed0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n+00005ee0: 6e6f 7465 2042 696e 6420 2870 726f 6365 note Bind (proce\n+00005ef0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00005f00: 6f74 6520 536f 636b 6574 2028 7072 6f63 ote Socket (proc\n+00005f10: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00005f20: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00005f30: 666f 2c20 204e 6f64 653a 204e 6577 5f4c fo, Node: New_L\n+00005f40: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+00005f50: 2020 4e65 7874 3a20 5075 7420 2870 726f Next: Put (pro\n+00005f60: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+00005f70: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n+00005f80: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00005f90: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00005fa0: 6529 0a0a 4e65 775f 4c69 6e65 2028 7072 e)..New_Line (pr\n+00005fb0: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n+00005fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+00005fd0: 5552 504f 5345 0a20 2020 2020 5365 6e64 URPOSE. Send\n+00005fe0: 2061 2043 522f 4c46 2074 6f20 6120 7265 a CR/LF to a re\n+00005ff0: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n+00006000: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00006010: 6b65 7473 2e4e 6577 5f4c 696e 653a 2070 kets.New_Line: p\n+00006020: 726f 6365 6475 7265 204e 6577 5f4c 696e rocedure New_Lin\n+00006030: 6520 2853 4f43 4b45 5420 3a20 536f 636b e (SOCKET : Sock\n+00006040: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n+00006050: 2020 2020 2020 2020 2020 2020 434f 554e COUN\n+00006060: 5420 3a20 4e61 7475 7261 6c20 3a3d 2031 T : Natural := 1\n+00006070: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n+00006080: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n+00006090: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n+000060a0: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n+000060b0: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n+000060c0: 740a 2020 2020 2043 4f55 4e54 2020 2020 t. COUNT \n+000060d0: 2020 696e 2020 2020 2020 2020 204e 756d in Num\n+000060e0: 6265 7220 6f66 2043 522f 4c46 2073 6571 ber of CR/LF seq\n+000060f0: 7565 6e63 6573 2074 6f20 7365 6e64 0a0a uences to send..\n+00006100: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+00006110: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00006120: 7365 6e64 7320 6f6e 6520 6f72 206d 6f72 sends one or mor\n+00006130: 6520 4352 2f4c 4620 636f 6d62 696e 6174 e CR/LF combinat\n+00006140: 696f 6e73 2074 6f20 7468 6520 7065 6572 ions to the peer\n+00006150: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00006160: 2020 20e2 8098 436f 6e6e 6563 7469 6f6e ...Connection\n+00006170: 5f43 6c6f 7365 64e2 8099 5065 6572 2068 _Closed...Peer h\n+00006180: 6173 2070 7265 6d61 7475 7265 6c79 2063 as prematurely c\n+00006190: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n+000061a0: 7469 6f6e 0a0a 5345 4520 414c 534f 0a20 tion..SEE ALSO. \n+000061b0: 2020 2020 2a6e 6f74 6520 5075 7420 2870 *note Put (p\n+000061c0: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+000061d0: 2020 2a6e 6f74 6520 5075 745f 4c69 6e65 *note Put_Line\n+000061e0: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+000061f0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00006200: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00006210: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+00006220: 2c20 204e 6578 743a 2050 7574 5f4c 696e , Next: Put_Lin\n+00006230: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n+00006240: 5072 6576 3a20 4e65 775f 4c69 6e65 2028 Prev: New_Line (\n+00006250: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n+00006260: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00006270: 7072 6f63 6564 7572 6529 0a0a 5075 7420 procedure)..Put \n+00006280: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00006290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+000062a0: 504f 5345 0a20 2020 2020 5365 6e64 2061 POSE. Send a\n+000062b0: 2073 7472 696e 6720 746f 2061 2072 656d string to a rem\n+000062c0: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n+000062d0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+000062e0: 6574 732e 5075 743a 2070 726f 6365 6475 ets.Put: procedu\n+000062f0: 7265 2050 7574 2028 534f 434b 4554 203a re Put (SOCKET :\n+00006300: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n+00006310: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00006320: 2053 5452 203a 2053 7472 696e 6729 3b0a STR : String);.\n+00006330: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00006340: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+00006350: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+00006360: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n+00006370: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+00006380: 2020 2020 5354 5220 2020 2020 2020 2069 STR i\n+00006390: 6e20 2020 2020 2020 2020 5374 7269 6e67 n String\n+000063a0: 2074 6f20 7365 6e64 0a0a 4445 5343 5249 to send..DESCRI\n+000063b0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+000063c0: 7072 6f63 6564 7572 6520 7365 6e64 7320 procedure sends \n+000063d0: 7468 6520 636f 6e74 656e 7420 6f66 2053 the content of S\n+000063e0: 5452 206f 7665 7220 616e 206f 7574 676f TR over an outgo\n+000063f0: 696e 6720 6f72 0a20 2020 2020 696e 636f ing or. inco\n+00006400: 6d69 6e67 2073 6f63 6b65 742e 0a0a 4558 ming socket...EX\n+00006410: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n+00006420: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n+00006430: 6564 e280 9950 6565 7220 6861 7320 7072 ed...Peer has pr\n+00006440: 656d 6174 7572 656c 7920 636c 6f73 6564 ematurely closed\n+00006450: 2074 6865 2063 6f6e 6e65 6374 696f 6e0a the connection.\n+00006460: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00006470: 6e6f 7465 204e 6577 5f4c 696e 6520 2870 note New_Line (p\n+00006480: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00006490: 2020 2a6e 6f74 6520 5075 745f 4c69 6e65 *note Put_Line\n+000064a0: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+000064b0: 2020 2020 202a 6e6f 7465 2053 656e 6420 *note Send \n+000064c0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+000064d0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+000064e0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+000064f0: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n+00006500: 7572 6529 2c20 204e 6578 743a 2052 6563 ure), Next: Rec\n+00006510: 6569 7665 2028 6675 6e63 7469 6f6e 292c eive (function),\n+00006520: 2020 5072 6576 3a20 5075 7420 2870 726f Prev: Put (pro\n+00006530: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00006540: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00006550: 6365 6475 7265 290a 0a50 7574 5f4c 696e cedure)..Put_Lin\n+00006560: 6520 2870 726f 6365 6475 7265 290a 2d2d e (procedure).--\n+00006570: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006580: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+00006590: 2053 656e 6420 6120 4352 2f4c 4620 7465 Send a CR/LF te\n+000065a0: 726d 696e 6174 6564 2073 7472 696e 6720 rminated string \n+000065b0: 746f 2061 2072 656d 6f74 6520 686f 7374 to a remote host\n+000065c0: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+000065d0: 202d 2d20 536f 636b 6574 732e 5075 745f -- Sockets.Put_\n+000065e0: 4c69 6e65 3a20 7072 6f63 6564 7572 6520 Line: procedure \n+000065f0: 5075 745f 4c69 6e65 2028 534f 434b 4554 Put_Line (SOCKET\n+00006600: 203a 2053 6f63 6b65 745f 4644 2743 6c61 : Socket_FD'Cla\n+00006610: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n+00006620: 2020 2053 5452 203a 2053 7472 696e 6729 STR : String)\n+00006630: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00006640: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00006650: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00006660: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+00006670: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+00006680: 0a20 2020 2020 5354 5220 2020 2020 2020 . STR \n+00006690: 2069 6e20 2020 2020 2020 2020 5374 7269 in Stri\n+000066a0: 6e67 2074 6f20 7365 6e64 0a0a 4445 5343 ng to send..DESC\n+000066b0: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+000066c0: 7320 7072 6f63 6564 7572 6520 7365 6e64 s procedure send\n+000066d0: 7320 7468 6520 636f 6e74 656e 7420 6f66 s the content of\n+000066e0: 2053 5452 2070 6c75 7320 6120 4352 2f4c STR plus a CR/L\n+000066f0: 4620 636f 6d62 696e 6174 696f 6e0a 2020 F combination. \n+00006700: 2020 206f 7665 7220 616e 206f 7574 676f over an outgo\n+00006710: 696e 6720 6f72 2069 6e63 6f6d 696e 6720 ing or incoming \n+00006720: 736f 636b 6574 2e0a 0a45 5843 4550 5449 socket...EXCEPTI\n+00006730: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e ONS. ...Conn\n+00006740: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099 ection_Closed...\n+00006750: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n+00006760: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n+00006770: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n+00006780: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00006790: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+000067a0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+000067b0: 7465 2050 7574 2028 7072 6f63 6564 7572 te Put (procedur\n+000067c0: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+000067d0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n+000067e0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+000067f0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00006800: 4e6f 6465 3a20 5265 6365 6976 6520 2866 Node: Receive (f\n+00006810: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n+00006820: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n+00006830: 7572 6529 2c20 2050 7265 763a 2050 7574 ure), Prev: Put\n+00006840: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00006850: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00006860: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00006870: 290a 0a52 6563 6569 7665 2028 6675 6e63 )..Receive (func\n+00006880: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+00006890: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+000068a0: 450a 2020 2020 2052 6563 6569 7665 2072 E. Receive r\n+000068b0: 6177 2064 6174 6120 6f76 6572 2061 2073 aw data over a s\n+000068c0: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n+000068d0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+000068e0: 2e52 6563 6569 7665 3a20 6675 6e63 7469 .Receive: functi\n+000068f0: 6f6e 2052 6563 6569 7665 2028 534f 434b on Receive (SOCK\n+00006900: 4554 203a 2053 6f63 6b65 745f 4644 3b0a ET : Socket_FD;.\n+00006910: 2020 2020 2020 2020 2020 2020 2020 204d M\n+00006920: 4158 203a 2041 6461 2e53 7472 6561 6d73 AX : Ada.Streams\n+00006930: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+00006940: 436f 756e 7420 3a3d 2034 3039 3629 0a20 Count := 4096). \n+00006950: 2020 2020 2020 2020 2020 2020 2020 7265 re\n+00006960: 7475 726e 2041 6461 2e53 7472 6561 6d73 turn Ada.Streams\n+00006970: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+00006980: 4172 7261 793b 0a0a 5041 5241 4d45 5445 Array;..PARAMETE\n+00006990: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+000069a0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+000069b0: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n+000069c0: 756e 6420 6f72 2063 6f6e 6e65 6374 6564 und or connected\n+000069d0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000069e0: 2020 2020 2020 2020 2020 2020 736f 636b sock\n+000069f0: 6574 206f 626a 6563 740a 2020 2020 204d et object. M\n+00006a00: 4158 2020 2020 2020 2020 696e 2020 2020 AX in \n+00006a10: 2020 2020 204d 6178 696d 756d 2064 6174 Maximum dat\n+00006a20: 6120 6c65 6e67 7468 0a0a 5245 5455 524e a length..RETURN\n+00006a30: 2056 414c 5545 0a20 2020 2020 5265 6365 VALUE. Rece\n+00006a40: 6976 6564 2072 6177 2064 6174 610a 0a44 ived raw data..D\n+00006a50: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00006a60: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n+00006a70: 6563 6569 7665 7320 6461 7461 2066 726f eceives data fro\n+00006a80: 6d20 6120 626f 756e 6420 5544 5020 736f m a bound UDP so\n+00006a90: 636b 6574 206f 7220 6120 636f 6e6e 6563 cket or a connec\n+00006aa0: 7465 640a 2020 2020 2054 4350 2073 6f63 ted. TCP soc\n+00006ab0: 6b65 742e 2020 4f6e 6c79 206f 6e65 2073 ket. Only one s\n+00006ac0: 7973 7465 6d20 6361 6c6c 2077 696c 6c20 ystem call will \n+00006ad0: 6265 2070 6572 666f 726d 6564 3b20 7468 be performed; th\n+00006ae0: 6973 2066 756e 6374 696f 6e0a 2020 2020 is function. \n+00006af0: 2077 696c 6c20 7265 7475 726e 2077 6861 will return wha\n+00006b00: 7465 7665 7220 6461 7461 2068 6173 2061 tever data has a\n+00006b10: 7272 6976 6564 2e20 204e 6f74 6520 7468 rrived. Note th\n+00006b20: 6174 2069 6e20 474e 4154 2074 6865 0a20 at in GNAT the. \n+00006b30: 2020 2020 7365 636f 6e64 6172 7920 7374 secondary st\n+00006b40: 6163 6b20 6d61 7920 6265 2075 7365 6420 ack may be used \n+00006b50: 746f 2073 746f 7265 2074 6865 2064 6174 to store the dat\n+00006b60: 6120 616e 6420 6d61 7920 7265 7375 6c74 a and may result\n+00006b70: 2069 6e0a 2020 2020 2073 7461 636b 2073 in. stack s\n+00006b80: 746f 7261 6765 2065 7868 6175 7374 696f torage exhaustio\n+00006b90: 6e2e 0a0a 4558 4345 5054 494f 4e53 0a20 n...EXCEPTIONS. \n+00006ba0: 2020 2020 e280 9843 6f6e 6e65 6374 696f ...Connectio\n+00006bb0: 6e5f 436c 6f73 6564 e280 9950 6565 7220 n_Closed...Peer \n+00006bc0: 6861 7320 636c 6f73 6564 2074 6865 2063 has closed the c\n+00006bd0: 6f6e 6e65 6374 696f 6e20 6265 666f 7265 onnection before\n+00006be0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00006bf0: 2020 2020 2020 2020 2073 656e 6469 6e67 sending\n+00006c00: 2061 6e79 2064 6174 610a 0a53 4545 2041 any data..SEE A\n+00006c10: 4c53 4f0a 2020 2020 202a 6e6f 7465 2052 LSO. *note R\n+00006c20: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00006c30: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+00006c40: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n+00006c50: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00006c60: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n+00006c70: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00006c80: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00006c90: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00006ca0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+00006cb0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+00006cc0: 653a 2052 6563 6569 7665 2028 7072 6f63 e: Receive (proc\n+00006cd0: 6564 7572 6529 2c20 204e 6578 743a 2052 edure), Next: R\n+00006ce0: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+00006cf0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+00006d00: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n+00006d10: 6e29 2c20 2055 703a 2041 6363 6570 745f n), Up: Accept_\n+00006d20: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00006d30: 6529 0a0a 5265 6365 6976 6520 2870 726f e)..Receive (pro\n+00006d40: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n+00006d50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00006d60: 504f 5345 0a20 2020 2020 5265 6365 6976 POSE. Receiv\n+00006d70: 6520 7261 7720 6461 7461 206f 7665 7220 e raw data over \n+00006d80: 6120 736f 636b 6574 0a50 524f 544f 5459 a socket.PROTOTY\n+00006d90: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00006da0: 6574 732e 5265 6365 6976 653a 2070 726f ets.Receive: pro\n+00006db0: 6365 6475 7265 2052 6563 6569 7665 2028 cedure Receive (\n+00006dc0: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+00006dd0: 4644 2743 6c61 7373 3b0a 2020 2020 2020 FD'Class;. \n+00006de0: 2020 2020 2020 2020 2044 4154 4120 3a20 DATA : \n+00006df0: 6f75 7420 4164 612e 5374 7265 616d 732e out Ada.Streams.\n+00006e00: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00006e10: 7272 6179 293b 0a0a 5041 5241 4d45 5445 rray);..PARAMETE\n+00006e20: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00006e30: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00006e40: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n+00006e50: 756e 6420 6f72 2063 6f6e 6e65 6374 6564 und or connected\n+00006e60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00006e70: 2020 2020 2020 2020 2020 2020 736f 636b sock\n+00006e80: 6574 206f 626a 6563 740a 2020 2020 2044 et object. D\n+00006e90: 4154 4120 2020 2020 2020 6f75 7420 2020 ATA out \n+00006ea0: 2020 2020 2049 6e63 6f6d 696e 6720 6461 Incoming da\n+00006eb0: 7461 2062 7566 6665 720a 0a44 4553 4352 ta buffer..DESCR\n+00006ec0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00006ed0: 2070 726f 6365 6475 7265 2072 6563 6569 procedure recei\n+00006ee0: 7665 7320 6461 7461 2066 726f 6d20 6120 ves data from a \n+00006ef0: 626f 756e 6420 5544 5020 736f 636b 6574 bound UDP socket\n+00006f00: 206f 7220 6120 636f 6e6e 6563 7465 640a or a connected.\n+00006f10: 2020 2020 2054 4350 2073 6f63 6b65 742e TCP socket.\n+00006f20: 2020 4974 2077 696c 6c20 626c 6f63 6b20 It will block \n+00006f30: 756e 7469 6c20 7468 6520 4441 5441 2072 until the DATA r\n+00006f40: 6563 6570 7469 6f6e 2062 7566 6665 7220 eception buffer \n+00006f50: 6861 7320 6265 656e 0a20 2020 2020 746f has been. to\n+00006f60: 7461 6c6c 7920 6669 6c6c 6564 2e0a 0a45 tally filled...E\n+00006f70: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n+00006f80: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f ..Connection_Clo\n+00006f90: 7365 64e2 8099 5065 6572 2068 6173 2063 sed...Peer has c\n+00006fa0: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n+00006fb0: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n+00006fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006fd0: 2020 2020 e280 9844 6174 6127 4c65 6e67 ...Data'Leng\n+00006fe0: 7468 e280 9920 6279 7465 730a 2020 2020 th... bytes. \n+00006ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007000: 2020 2020 7765 7265 2072 6563 6569 7665 were receive\n+00007010: 640a 0a53 4545 2041 4c53 4f0a 2020 2020 d..SEE ALSO. \n+00007020: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n+00007030: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00007040: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+00007050: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00007060: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n+00007070: 6976 6520 2866 756e 6374 696f 6e29 3a3a ive (function)::\n+00007080: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00007090: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+000070a0: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+000070b0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+000070c0: 6f2c 2020 4e6f 6465 3a20 5265 6365 6976 o, Node: Receiv\n+000070d0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+000070e0: 6529 2c20 204e 6578 743a 2053 656e 6420 e), Next: Send \n+000070f0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00007100: 6576 3a20 5265 6365 6976 6520 2870 726f ev: Receive (pro\n+00007110: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00007120: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00007130: 6365 6475 7265 290a 0a52 6563 6569 7665 cedure)..Receive\n+00007140: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+00007150: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00007160: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00007170: 4f53 450a 2020 2020 2052 6563 6569 7665 OSE. Receive\n+00007180: 2072 6177 2064 6174 6120 6f76 6572 2061 raw data over a\n+00007190: 2073 6f63 6b65 740a 5052 4f54 4f54 5950 socket.PROTOTYP\n+000071a0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+000071b0: 7473 2e52 6563 6569 7665 5f53 6f6d 653a ts.Receive_Some:\n+000071c0: 2070 726f 6365 6475 7265 2052 6563 6569 procedure Recei\n+000071d0: 7665 5f53 6f6d 650a 2020 2020 2020 2020 ve_Some. \n+000071e0: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n+000071f0: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n+00007200: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00007210: 2044 4154 4120 3a20 6f75 7420 4164 612e DATA : out Ada.\n+00007220: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+00007230: 6c65 6d65 6e74 5f41 7272 6179 3b0a 2020 lement_Array;. \n+00007240: 2020 2020 2020 2020 2020 2020 204c 4153 LAS\n+00007250: 5420 3a20 6f75 7420 4164 612e 5374 7265 T : out Ada.Stre\n+00007260: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n+00007270: 6e74 5f4f 6666 7365 7429 3b0a 0a50 4152 nt_Offset);..PAR\n+00007280: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+00007290: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+000072a0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n+000072b0: 6e64 2062 6f75 6e64 206f 7220 636f 6e6e nd bound or conn\n+000072c0: 6563 7465 640a 2020 2020 2020 2020 2020 ected. \n+000072d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000072e0: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+000072f0: 2020 2020 4441 5441 2020 2020 2020 206f DATA o\n+00007300: 7574 2020 2020 2020 2020 496e 636f 6d69 ut Incomi\n+00007310: 6e67 2064 6174 6120 6275 6666 6572 0a20 ng data buffer. \n+00007320: 2020 2020 4c41 5354 2020 2020 2020 206f LAST o\n+00007330: 7574 2020 2020 2020 2020 496e 6465 7820 ut Index \n+00007340: 6f66 206c 6173 7420 656c 656d 656e 7420 of last element \n+00007350: 706c 6163 6564 2069 6e74 6f20 4441 5441 placed into DATA\n+00007360: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00007370: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00007380: 6520 7265 6365 6976 6573 2064 6174 6120 e receives data \n+00007390: 6672 6f6d 2061 2062 6f75 6e64 2055 4450 from a bound UDP\n+000073a0: 2073 6f63 6b65 7420 6f72 2061 2063 6f6e socket or a con\n+000073b0: 6e65 6374 6564 0a20 2020 2020 5443 5020 nected. TCP \n+000073c0: 736f 636b 6574 2e20 2041 7320 736f 6f6e socket. As soon\n+000073d0: 2061 7320 6174 206c 6561 7374 206f 6e65 as at least one\n+000073e0: 2062 7974 6520 6861 7320 6265 656e 2072 byte has been r\n+000073f0: 6561 642c 2069 7420 7265 7475 726e 730a ead, it returns.\n+00007400: 2020 2020 2077 6974 6820 4c41 5354 2073 with LAST s\n+00007410: 6574 2074 6f20 7468 6520 696e 6465 7820 et to the index \n+00007420: 6f66 2074 6865 206c 6174 6573 7420 7772 of the latest wr\n+00007430: 6974 7465 6e20 656c 656d 656e 7420 6f66 itten element of\n+00007440: 2044 4154 412e 0a0a 4558 4345 5054 494f DATA...EXCEPTIO\n+00007450: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65 NS. ...Conne\n+00007460: 6374 696f 6e5f 436c 6f73 6564 e280 9950 ction_Closed...P\n+00007470: 6565 7220 6861 7320 636c 6f73 6564 2074 eer has closed t\n+00007480: 6865 2063 6f6e 6e65 6374 696f 6e20 6265 he connection be\n+00007490: 666f 7265 0a20 2020 2020 2020 2020 2020 fore. \n+000074a0: 2020 2020 2020 2020 2020 2020 2073 656e sen\n+000074b0: 6469 6e67 2061 6e79 2064 6174 610a 0a53 ding any data..S\n+000074c0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+000074d0: 7465 2047 6574 5f4c 696e 6520 2866 756e te Get_Line (fun\n+000074e0: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n+000074f0: 6e6f 7465 2047 6574 5f4c 696e 6520 2870 note Get_Line (p\n+00007500: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00007510: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n+00007520: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00007530: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n+00007540: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00007550: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00007560: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00007570: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n+00007580: 292c 2020 4e65 7874 3a20 5365 745f 4275 ), Next: Set_Bu\n+00007590: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+000075a0: 2c20 2050 7265 763a 2052 6563 6569 7665 , Prev: Receive\n+000075b0: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+000075c0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+000075d0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+000075e0: 290a 0a53 656e 6420 2870 726f 6365 6475 )..Send (procedu\n+000075f0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n+00007600: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00007610: 2020 2053 656e 6420 7261 7720 6461 7461 Send raw data\n+00007620: 206f 7665 7220 6120 736f 636b 6574 0a50 over a socket.P\n+00007630: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00007640: 2d20 536f 636b 6574 732e 5365 6e64 3a20 - Sockets.Send: \n+00007650: 7072 6f63 6564 7572 6520 5365 6e64 2028 procedure Send (\n+00007660: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+00007670: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n+00007680: 2020 2044 4154 4120 3a20 6f75 7420 4164 DATA : out Ad\n+00007690: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n+000076a0: 5f45 6c65 6d65 6e74 5f41 7272 6179 293b _Element_Array);\n+000076b0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+000076c0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+000076d0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000076e0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n+000076f0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00007700: 2020 2020 2044 4154 4120 2020 2020 2020 DATA \n+00007710: 6f75 7420 2020 2020 2020 2044 6174 6120 out Data \n+00007720: 746f 2062 6520 7365 6e74 0a0a 4445 5343 to be sent..DESC\n+00007730: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00007740: 7320 7072 6f63 6564 7572 6520 7365 6e64 s procedure send\n+00007750: 7320 6461 7461 206f 7665 7220 6120 636f s data over a co\n+00007760: 6e6e 6563 7465 6420 6f75 7467 6f69 6e67 nnected outgoing\n+00007770: 2073 6f63 6b65 7420 6f72 206f 7665 720a socket or over.\n+00007780: 2020 2020 2061 6e20 696e 636f 6d69 6e67 an incoming\n+00007790: 2073 6f63 6b65 742e 0a0a 4558 4345 5054 socket...EXCEPT\n+000077a0: 494f 4e53 0a20 2020 2020 e280 9843 6f6e IONS. ...Con\n+000077b0: 6e65 6374 696f 6e5f 436c 6f73 6564 e280 nection_Closed..\n+000077c0: 9950 6565 7220 6861 7320 7072 656d 6174 .Peer has premat\n+000077d0: 7572 656c 7920 636c 6f73 6564 2074 6865 urely closed the\n+000077e0: 2063 6f6e 6e65 6374 696f 6e0a 0a53 4545 connection..SEE\n+000077f0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00007800: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+00007810: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2050 ::,. *note P\n+00007820: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n+00007830: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00007840: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00007850: 2020 4e6f 6465 3a20 5365 745f 4275 6666 Node: Set_Buff\n+00007860: 6572 2028 7072 6f63 6564 7572 6529 2c20 er (procedure), \n+00007870: 204e 6578 743a 2053 6574 736f 636b 6f70 Next: Setsockop\n+00007880: 7420 2870 726f 6365 6475 7265 292c 2020 t (procedure), \n+00007890: 5072 6576 3a20 5365 6e64 2028 7072 6f63 Prev: Send (proc\n+000078a0: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+000078b0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+000078c0: 6564 7572 6529 0a0a 5365 745f 4275 6666 edure)..Set_Buff\n+000078d0: 6572 2028 7072 6f63 6564 7572 6529 0a2d er (procedure).-\n+000078e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000078f0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00007900: 2020 2020 496e 7374 616c 6c20 6120 6c69 Install a li\n+00007910: 6e65 2d6f 7269 656e 7465 6420 6275 6666 ne-oriented buff\n+00007920: 6572 206f 6620 7468 6520 736f 636b 6574 er of the socket\n+00007930: 206f 626a 6563 740a 5052 4f54 4f54 5950 object.PROTOTYP\n+00007940: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00007950: 7473 2e53 6574 5f42 7566 6665 723a 2070 ts.Set_Buffer: p\n+00007960: 726f 6365 6475 7265 2053 6574 5f42 7566 rocedure Set_Buf\n+00007970: 6665 720a 2020 2020 2020 2020 2020 2020 fer. \n+00007980: 2020 2028 534f 434b 4554 203a 2053 6f63 (SOCKET : Soc\n+00007990: 6b65 745f 4644 2743 6c61 7373 3b20 4c45 ket_FD'Class; LE\n+000079a0: 4e47 5448 203a 2050 6f73 6974 6976 6520 NGTH : Positive \n+000079b0: 3a3d 2031 3530 3029 3b0a 0a50 4152 414d := 1500);..PARAM\n+000079c0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+000079d0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+000079e0: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n+000079f0: 2063 6f6e 6e65 6374 6564 2073 6f63 6b65 connected socke\n+00007a00: 7420 6f62 6a65 6374 0a20 2020 2020 4c45 t object. LE\n+00007a10: 4e47 5448 2020 2020 2069 6e20 2020 2020 NGTH in \n+00007a20: 2020 2020 5369 7a65 2069 6e20 6279 7465 Size in byte\n+00007a30: 7320 6f66 2074 6865 206e 6577 6c79 2069 s of the newly i\n+00007a40: 6e73 7461 6c6c 6564 0a20 2020 2020 2020 nstalled. \n+00007a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007a60: 2020 2020 6275 6666 6572 0a0a 4445 5343 buffer..DESC\n+00007a70: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00007a80: 7320 7072 6f63 6564 7572 6520 7075 7473 s procedure puts\n+00007a90: 2074 6865 2073 6f63 6b65 7420 6f62 6a65 the socket obje\n+00007aa0: 6374 2069 6e20 6275 6666 6572 6564 206d ct in buffered m\n+00007ab0: 6f64 652e 2020 4966 2074 6865 0a20 2020 ode. If the. \n+00007ac0: 2020 736f 636b 6574 2077 6173 2061 6c72 socket was alr\n+00007ad0: 6561 6479 2062 7566 6665 7265 642c 2074 eady buffered, t\n+00007ae0: 6865 2063 6f6e 7465 6e74 206f 6620 7468 he content of th\n+00007af0: 6520 7072 6576 696f 7573 2062 7566 6665 e previous buffe\n+00007b00: 720a 2020 2020 2077 696c 6c20 6265 206c r. will be l\n+00007b10: 6f73 742e 2020 5468 6520 6275 6666 6572 ost. The buffer\n+00007b20: 6564 206d 6f64 6520 6f6e 6c79 2061 6666 ed mode only aff\n+00007b30: 6563 7473 2063 6861 7261 6374 6572 2d20 ects character- \n+00007b40: 616e 640a 2020 2020 206c 696e 652d 6f72 and. line-or\n+00007b50: 6965 6e74 6564 2072 6561 6420 6f70 6572 iented read oper\n+00007b60: 6174 696f 6e20 7375 6368 2061 7320 2a6e ation such as *n\n+00007b70: 6f74 6520 4765 7420 2866 756e 6374 696f ote Get (functio\n+00007b80: 6e29 3a3a 2c20 2a6e 6f74 650a 2020 2020 n)::, *note. \n+00007b90: 2047 6574 5f43 6861 7220 2866 756e 6374 Get_Char (funct\n+00007ba0: 696f 6e29 3a3a 2c20 616e 6420 2a6e 6f74 ion)::, and *not\n+00007bb0: 6520 4765 745f 4c69 6e65 2028 6675 6e63 e Get_Line (func\n+00007bc0: 7469 6f6e 293a 3a2e 2020 4f74 6865 720a tion)::. Other.\n+00007bd0: 2020 2020 2072 6563 6570 7469 6f6e 2073 reception s\n+00007be0: 7562 7072 6f67 7261 6d73 2077 696c 6c20 ubprograms will \n+00007bf0: 6e6f 7420 6675 6e63 7469 6f6e 2070 726f not function pro\n+00007c00: 7065 726c 7920 6966 2062 7566 6665 7265 perly if buffere\n+00007c10: 6420 6d6f 6465 0a20 2020 2020 6973 2075 d mode. is u\n+00007c20: 7365 6420 6174 2074 6865 2073 616d 6520 sed at the same \n+00007c30: 7469 6d65 2e0a 0a20 2020 2020 5468 6520 time... The \n+00007c40: 7369 7a65 206f 6620 7468 6520 6275 6666 size of the buff\n+00007c50: 6572 2068 6173 2074 6f20 6265 2067 7265 er has to be gre\n+00007c60: 6174 6572 2074 6861 6e20 7468 6520 6269 ater than the bi\n+00007c70: 6767 6573 7420 706f 7373 6962 6c65 0a20 ggest possible. \n+00007c80: 2020 2020 7061 636b 6574 2073 656e 7420 packet sent \n+00007c90: 6279 2074 6865 2072 656d 6f74 6520 686f by the remote ho\n+00007ca0: 7374 2c20 6f74 6865 7277 6973 6520 6461 st, otherwise da\n+00007cb0: 7461 206c 6f73 7320 6d61 7920 6f63 6375 ta loss may occu\n+00007cc0: 722e 0a0a 5345 4520 414c 534f 0a20 2020 r...SEE ALSO. \n+00007cd0: 2020 2a6e 6f74 6520 556e 7365 745f 4275 *note Unset_Bu\n+00007ce0: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+00007cf0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+00007d00: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00007d10: 6f64 653a 2053 6574 736f 636b 6f70 7420 ode: Setsockopt \n+00007d20: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n+00007d30: 7874 3a20 5368 7574 646f 776e 2028 7072 xt: Shutdown (pr\n+00007d40: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00007d50: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+00007d60: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00007d70: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00007d80: 6365 6475 7265 290a 0a53 6574 736f 636b cedure)..Setsock\n+00007d90: 6f70 7420 2870 726f 6365 6475 7265 290a opt (procedure).\n+00007da0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007db0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00007dc0: 2020 2020 2053 6574 2061 2073 6f63 6b65 Set a socke\n+00007dd0: 7420 6f70 7469 6f6e 0a50 524f 544f 5459 t option.PROTOTY\n+00007de0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00007df0: 6574 732e 5365 7473 6f63 6b6f 7074 3a20 ets.Setsockopt: \n+00007e00: 7072 6f63 6564 7572 6520 5365 7473 6f63 procedure Setsoc\n+00007e10: 6b6f 7074 2028 534f 434b 4554 203a 2053 kopt (SOCKET : S\n+00007e20: 6f63 6b65 745f 4644 3b0a 2020 2020 2020 ocket_FD;. \n+00007e30: 2020 2020 2020 2020 204c 4556 454c 203a LEVEL :\n+00007e40: 2053 6f63 6b65 745f 4c65 7665 6c20 3a3d Socket_Level :=\n+00007e50: 2053 4f4c 5f53 4f43 4b45 543b 0a20 2020 SOL_SOCKET;. \n+00007e60: 2020 2020 2020 2020 2020 2020 4f50 544e OPTN\n+00007e70: 414d 4520 3a20 536f 636b 6574 5f4f 7074 AME : Socket_Opt\n+00007e80: 696f 6e3b 204f 5054 5641 4c20 3a20 496e ion; OPTVAL : In\n+00007e90: 7465 6765 7229 3b0a 0a50 4152 414d 4554 teger);..PARAMET\n+00007ea0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+00007eb0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+00007ec0: 6e69 7469 616c 697a 6564 2061 6e64 2062 nitialized and b\n+00007ed0: 6f75 6e64 2073 6f63 6b65 7420 6f62 6a65 ound socket obje\n+00007ee0: 6374 0a20 2020 2020 4c45 5645 4c20 2020 ct. LEVEL \n+00007ef0: 2020 2069 6e20 2020 2020 2020 2020 5072 in Pr\n+00007f00: 6f74 6f63 6f6c 206c 6576 656c 0a20 2020 otocol level. \n+00007f10: 2020 4f50 544e 414d 4520 2020 2069 6e20 OPTNAME in \n+00007f20: 2020 2020 2020 2020 4f70 7469 6f6e 206e Option n\n+00007f30: 616d 650a 2020 2020 204f 5054 5641 4c20 ame. OPTVAL \n+00007f40: 2020 2020 696e 2020 2020 2020 2020 204f in O\n+00007f50: 7074 696f 6e20 7661 6c75 650a 0a44 4553 ption value..DES\n+00007f60: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00007f70: 6973 2070 726f 6365 6475 7265 2073 6574 is procedure set\n+00007f80: 7320 6f70 7469 6f6e 7320 6170 706c 6963 s options applic\n+00007f90: 6162 6c65 2074 6f20 6120 736f 636b 6574 able to a socket\n+00007fa0: 2e20 2050 6c65 6173 6520 7365 650a 2020 . Please see. \n+00007fb0: 2020 2079 6f75 7220 6f70 6572 6174 696e your operatin\n+00007fc0: 6720 7379 7374 656d 206d 616e 7561 6c20 g system manual \n+00007fd0: 666f 7220 7573 6162 6c65 206c 6576 656c for usable level\n+00007fe0: 7320 616e 6420 6f70 7469 6f6e 732e 0a0a s and options...\n+00007ff0: 2020 2020 2054 776f 206c 6576 656c 7320 Two levels \n+00008000: 6172 6520 6465 6669 6e65 643a 20e2 8098 are defined: ...\n+00008010: 534f 4c5f 534f 434b 4554 e280 9920 2874 SOL_SOCKET... (t\n+00008020: 6865 2064 6566 6175 6c74 2920 616e 640a he default) and.\n+00008030: 2020 2020 20e2 8098 4950 5052 4f54 4f5f ...IPPROTO_\n+00008040: 4950 e280 992e 2020 5468 6520 6f70 7469 IP.... The opti\n+00008050: 6f6e 7320 6172 6520 e280 9853 4f5f 5245 ons are ...SO_RE\n+00008060: 5553 4541 4444 52e2 8099 2c20 e280 9853 USEADDR..., ...S\n+00008070: 4f5f 5245 5553 4550 4f52 54e2 8099 2c0a O_REUSEPORT...,.\n+00008080: 2020 2020 20e2 8098 4950 5f4d 554c 5449 ...IP_MULTI\n+00008090: 4341 5354 5f54 544c e280 992c 20e2 8098 CAST_TTL..., ...\n+000080a0: 4950 5f41 4444 5f4d 454d 4245 5253 4849 IP_ADD_MEMBERSHI\n+000080b0: 50e2 8099 2c20 e280 9849 505f 4452 4f50 P..., ...IP_DROP\n+000080c0: 5f4d 454d 4245 5253 4849 50e2 8099 2c0a _MEMBERSHIP...,.\n+000080d0: 2020 2020 20e2 8098 4950 5f4d 554c 5449 ...IP_MULTI\n+000080e0: 4341 5354 5f4c 4f4f 50e2 8099 2c20 e280 CAST_LOOP..., ..\n+000080f0: 9853 4f5f 534e 4442 5546 e280 9920 616e .SO_SNDBUF... an\n+00008100: 6420 e280 9849 505f 5243 5642 5546 e280 d ...IP_RCVBUF..\n+00008110: 992e 0a0a 2020 2020 204e 6f74 6520 7468 .... Note th\n+00008120: 6174 2075 6e6c 696b 6520 7468 6569 7220 at unlike their \n+00008130: 4320 6c61 6e67 7561 6765 2063 6f75 6e74 C language count\n+00008140: 6572 7061 7274 2c20 e280 9847 6574 736f erpart, ...Getso\n+00008150: 636b 6f70 74e2 8099 2061 6e64 0a20 2020 ckopt... and. \n+00008160: 2020 e280 9853 6574 736f 636b 6f70 74e2 ...Setsockopt.\n+00008170: 8099 2064 6f20 6e6f 7420 7265 7175 6972 .. do not requir\n+00008180: 6520 616e 2065 7874 7261 2070 6172 616d e an extra param\n+00008190: 6574 6572 2072 6570 7265 7365 6e74 696e eter representin\n+000081a0: 6720 7468 650a 2020 2020 206c 656e 6774 g the. lengt\n+000081b0: 6820 696e 2062 7974 6573 206f 6620 7468 h in bytes of th\n+000081c0: 6520 6f70 7469 6f6e 2076 616c 7565 2e20 e option value. \n+000081d0: 2041 6461 536f 636b 6574 7320 6b6e 6f77 AdaSockets know\n+000081e0: 7320 7468 6520 7269 6768 740a 2020 2020 s the right. \n+000081f0: 2073 697a 6520 666f 7220 6576 6572 7920 size for every \n+00008200: 6f70 7469 6f6e 2e0a 0a53 4545 2041 4c53 option...SEE ALS\n+00008210: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n+00008220: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00008230: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00008240: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00008250: 2020 4e6f 6465 3a20 5368 7574 646f 776e Node: Shutdown\n+00008260: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00008270: 6578 743a 2053 6f63 6b65 7420 2870 726f ext: Socket (pro\n+00008280: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+00008290: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+000082a0: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+000082b0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+000082c0: 6564 7572 6529 0a0a 5368 7574 646f 776e edure)..Shutdown\n+000082d0: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+000082e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000082f0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00008300: 5368 7574 646f 776e 2061 2073 6f63 6b65 Shutdown a socke\n+00008310: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+00008320: 2020 2d2d 2053 6f63 6b65 7473 2e53 6875 -- Sockets.Shu\n+00008330: 7464 6f77 6e3a 2070 726f 6365 6475 7265 tdown: procedure\n+00008340: 2053 6875 7464 6f77 6e0a 2020 2020 2020 Shutdown. \n+00008350: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n+00008360: 203a 2069 6e20 6f75 7420 536f 636b 6574 : in out Socket\n+00008370: 5f46 443b 2048 4f57 203a 2053 6875 7464 _FD; HOW : Shutd\n+00008380: 6f77 6e5f 5479 7065 203a 3d20 426f 7468 own_Type := Both\n+00008390: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n+000083a0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n+000083b0: 6e20 6f75 7420 2020 2020 536f 636b 6574 n out Socket\n+000083c0: 206f 626a 6563 7420 746f 2073 6875 7464 object to shutd\n+000083d0: 6f77 6e0a 2020 2020 2048 4f57 2020 2020 own. HOW \n+000083e0: 2020 2020 696e 2020 2020 2020 2020 2044 in D\n+000083f0: 6972 6563 7469 6f6e 2074 6f20 7368 7574 irection to shut\n+00008400: 646f 776e 0a0a 4445 5343 5249 5054 494f down..DESCRIPTIO\n+00008410: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+00008420: 6564 7572 6520 7368 7574 646f 776e 7320 edure shutdowns \n+00008430: 6569 7468 6572 2064 6972 6563 7469 6f6e either direction\n+00008440: 206f 6620 7468 6520 736f 636b 6574 2e20 of the socket. \n+00008450: 2048 4f57 2063 616e 0a20 2020 2020 7461 HOW can. ta\n+00008460: 6b65 2074 6865 2076 616c 7565 20e2 8098 ke the value ...\n+00008470: 5365 6e64 e280 992c 20e2 8098 5265 6365 Send..., ...Rece\n+00008480: 6976 65e2 8099 206f 7220 e280 9842 6f74 ive... or ...Bot\n+00008490: 68e2 8099 2e0a 0a53 4545 2041 4c53 4f0a h......SEE ALSO.\n+000084a0: 2020 2020 202a 6e6f 7465 2053 6f63 6b65 *note Socke\n+000084b0: 7420 2870 726f 6365 6475 7265 293a 3a2e t (procedure)::.\n+000084c0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+000084d0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+000084e0: 3a20 536f 636b 6574 2028 7072 6f63 6564 : Socket (proced\n+000084f0: 7572 6529 2c20 204e 6578 743a 2055 6e73 ure), Next: Uns\n+00008500: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00008510: 6475 7265 292c 2020 5072 6576 3a20 5368 dure), Prev: Sh\n+00008520: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n+00008530: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00008540: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00008550: 6529 0a0a 536f 636b 6574 2028 7072 6f63 e)..Socket (proc\n+00008560: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n+00008570: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00008580: 5345 0a20 2020 2020 4372 6561 7465 2061 SE. Create a\n+00008590: 2073 6f63 6b65 7420 6f66 2074 6865 2067 socket of the g\n+000085a0: 6976 656e 206d 6f64 650a 5052 4f54 4f54 iven mode.PROTOT\n+000085b0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000085c0: 6b65 7473 2e53 6f63 6b65 743a 2070 726f kets.Socket: pro\n+000085d0: 6365 6475 7265 2053 6f63 6b65 7420 2853 cedure Socket (S\n+000085e0: 4f43 4b45 5420 3a20 6f75 7420 536f 636b OCKET : out Sock\n+000085f0: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n+00008600: 2020 2020 2020 444f 4d41 494e 203a 2053 DOMAIN : S\n+00008610: 6f63 6b65 745f 446f 6d61 696e 203a 3d20 ocket_Domain := \n+00008620: 5046 5f49 4e45 543b 0a20 2020 2020 2020 PF_INET;. \n+00008630: 2020 2020 2020 2020 5459 5020 3a20 536f TYP : So\n+00008640: 636b 6574 5f54 7970 6520 3a3d 2053 4f43 cket_Type := SOC\n+00008650: 4b5f 5354 5245 414d 293b 0a0a 5041 5241 K_STREAM);..PARA\n+00008660: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+00008670: 4554 2020 2020 206f 7574 2020 2020 2020 ET out \n+00008680: 2020 536f 636b 6574 206f 626a 6563 7420 Socket object \n+00008690: 746f 2069 6e69 7469 616c 697a 650a 2020 to initialize. \n+000086a0: 2020 2044 4f4d 4149 4e20 2020 2020 696e DOMAIN in\n+000086b0: 2020 2020 2020 2020 2050 726f 746f 636f Protoco\n+000086c0: 6c20 6661 6d69 6c79 0a20 2020 2020 5459 l family. TY\n+000086d0: 5020 2020 2020 2020 2069 6e20 2020 2020 P in \n+000086e0: 2020 2020 4b69 6e64 206f 6620 736f 636b Kind of sock\n+000086f0: 6574 730a 0a44 4553 4352 4950 5449 4f4e ets..DESCRIPTION\n+00008700: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n+00008710: 6475 7265 2069 6e69 7469 616c 697a 6573 dure initializes\n+00008720: 2061 206e 6577 2073 6f63 6b65 7420 6f62 a new socket ob\n+00008730: 6a65 6374 2062 7920 7265 7365 7276 696e ject by reservin\n+00008740: 6720 6120 6669 6c65 0a20 2020 2020 6465 g a file. de\n+00008750: 7363 7269 7074 6f72 2074 6f20 7468 6520 scriptor to the \n+00008760: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n+00008770: 2e20 2046 6f72 2062 6163 6b77 6172 6420 . For backward \n+00008780: 636f 6d70 6174 6962 696c 6974 790a 2020 compatibility. \n+00008790: 2020 2077 6974 6820 6f6c 6465 7220 7665 with older ve\n+000087a0: 7273 696f 6e73 206f 6620 7468 6973 206c rsions of this l\n+000087b0: 6962 7261 7279 2c20 e280 9841 465f 494e ibrary, ...AF_IN\n+000087c0: 4554 e280 9920 6973 2073 7469 6c6c 2061 ET... is still a\n+000087d0: 6363 6570 7465 6420 6173 0a20 2020 2020 ccepted as. \n+000087e0: 6120 7661 6c75 6520 6275 7420 7368 6f75 a value but shou\n+000087f0: 6c64 2062 6520 7265 706c 6163 6564 2061 ld be replaced a\n+00008800: 7320 736f 6f6e 2061 7320 706f 7373 6962 s soon as possib\n+00008810: 6c65 2077 6974 6820 7468 6520 7072 6f70 le with the prop\n+00008820: 6572 0a20 2020 2020 e280 9850 465f 494e er. ...PF_IN\n+00008830: 4554 e280 992e 2020 5573 696e 6720 e280 ET.... Using ..\n+00008840: 9853 4f43 4b5f 5354 5245 414d e280 9920 .SOCK_STREAM... \n+00008850: 666f 7220 7468 6520 5459 5020 6172 6775 for the TYP argu\n+00008860: 6d65 6e74 2077 696c 6c20 6372 6561 7465 ment will create\n+00008870: 2061 0a20 2020 2020 5443 5020 736f 636b a. TCP sock\n+00008880: 6574 2077 6869 6c65 2061 20e2 8098 534f et while a ...SO\n+00008890: 434b 5f44 4752 414d e280 9920 7769 6c6c CK_DGRAM... will\n+000088a0: 2063 7265 6174 6520 6120 5544 5020 6f6e create a UDP on\n+000088b0: 652e 0a0a 4558 414d 504c 450a 2020 2020 e...EXAMPLE. \n+000088c0: 2020 2020 2020 6465 636c 6172 650a 2020 declare. \n+000088d0: 2020 2020 2020 2020 2020 2053 6f63 6b20 Sock \n+000088e0: 3a20 536f 636b 6574 5f46 443b 0a20 2020 : Socket_FD;. \n+000088f0: 2020 2020 2020 2062 6567 696e 0a20 2020 begin. \n+00008900: 2020 2020 2020 2020 2020 2d2d 2043 7265 -- Cre\n+00008910: 6174 6520 6120 5443 5020 736f 636b 6574 ate a TCP socket\n+00008920: 0a20 2020 2020 2020 2020 2020 2020 536f . So\n+00008930: 636b 6574 2028 536f 636b 2c20 5046 5f49 cket (Sock, PF_I\n+00008940: 4e45 542c 2053 4f43 4b5f 5354 5245 414d NET, SOCK_STREAM\n+00008950: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n+00008960: 2d2d 2050 6572 666f 726d 2073 6f6d 6520 -- Perform some \n+00008970: 6f70 6572 6174 696f 6e73 206f 6e20 736f operations on so\n+00008980: 636b 6574 0a20 2020 2020 2020 2020 2020 cket. \n+00008990: 2020 5b2e 2e2e 5d0a 2020 2020 2020 2020 [...]. \n+000089a0: 2020 2020 202d 2d20 5368 7574 646f 776e -- Shutdown\n+000089b0: 2074 6865 2073 6f63 6b65 7420 696e 2062 the socket in b\n+000089c0: 6f74 6820 6469 7265 6374 696f 6e73 0a20 oth directions. \n+000089d0: 2020 2020 2020 2020 2020 2020 5368 7574 Shut\n+000089e0: 646f 776e 2028 536f 636b 2c20 426f 7468 down (Sock, Both\n+000089f0: 293b 0a20 2020 2020 2020 2020 2065 6e64 );. end\n+00008a00: 3b0a 0a53 4545 2041 4c53 4f0a 2020 2020 ;..SEE ALSO. \n+00008a10: 202a 6e6f 7465 2053 6875 7464 6f77 6e20 *note Shutdown \n+00008a20: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00008a30: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00008a40: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00008a50: 556e 7365 745f 4275 6666 6572 2028 7072 Unset_Buffer (pr\n+00008a60: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00008a70: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+00008a80: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n+00008a90: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00008aa0: 7265 290a 0a55 6e73 6574 5f42 7566 6665 re)..Unset_Buffe\n+00008ab0: 7220 2870 726f 6365 6475 7265 290a 2d2d r (procedure).--\n+00008ac0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008ad0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00008ae0: 2020 2020 2044 6569 6e73 7461 6c6c 2074 Deinstall t\n+00008af0: 6865 206c 696e 652d 6f72 6965 6e74 6564 he line-oriented\n+00008b00: 2062 7566 6665 7220 6f66 2074 6865 2073 buffer of the s\n+00008b10: 6f63 6b65 7420 6f62 6a65 6374 0a50 524f ocket object.PRO\n+00008b20: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+00008b30: 536f 636b 6574 732e 556e 7365 745f 4275 Sockets.Unset_Bu\n+00008b40: 6666 6572 3a20 7072 6f63 6564 7572 6520 ffer: procedure \n+00008b50: 556e 7365 745f 4275 6666 6572 0a20 2020 Unset_Buffer. \n+00008b60: 2020 2020 2020 2020 2020 2020 2853 4f43 (SOC\n+00008b70: 4b45 5420 3a20 536f 636b 6574 5f46 4427 KET : Socket_FD'\n+00008b80: 436c 6173 7329 3b0a 0a50 4152 414d 4554 Class);..PARAMET\n+00008b90: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+00008ba0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+00008bb0: 6e69 7469 616c 697a 6564 2061 6e64 2063 nitialized and c\n+00008bc0: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket \n+00008bd0: 6f62 6a65 6374 0a0a 4445 5343 5249 5054 object..DESCRIPT\n+00008be0: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+00008bf0: 6f63 6564 7572 6520 756e 696e 7374 616c ocedure uninstal\n+00008c00: 6c73 2074 6865 2062 7566 6665 7220 7072 ls the buffer pr\n+00008c10: 6576 696f 7573 6c79 2069 6e73 7461 6c6c eviously install\n+00008c20: 6564 2062 7920 2a6e 6f74 650a 2020 2020 ed by *note. \n+00008c30: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+00008c40: 6365 6475 7265 293a 3a2e 2020 4966 2061 cedure)::. If a\n+00008c50: 6e79 2064 6174 6120 6973 2073 7469 6c6c ny data is still\n+00008c60: 2070 7265 7365 6e74 2069 6e20 7468 650a present in the.\n+00008c70: 2020 2020 2062 7566 6665 722c 2069 7420 buffer, it \n+00008c80: 7769 6c6c 2062 6520 6c6f 7374 2e20 2054 will be lost. T\n+00008c90: 6f20 6176 6f69 6420 7468 6973 2073 6974 o avoid this sit\n+00008ca0: 7561 7469 6f6e 2c20 7468 6520 6275 6666 uation, the buff\n+00008cb0: 6572 2063 616e 0a20 2020 2020 6265 2066 er can. be f\n+00008cc0: 6c75 7368 6564 2062 7920 6361 6c6c 696e lushed by callin\n+00008cd0: 6720 2a6e 6f74 6520 4765 7420 2866 756e g *note Get (fun\n+00008ce0: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil\n+00008cf0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00008d00: 666f 2c20 204e 6f64 653a 2053 6f63 6b65 fo, Node: Socke\n+00008d10: 7473 2e4d 756c 7469 6361 7374 2070 6163 ts.Multicast pac\n+00008d20: 6b61 6765 2c20 204e 6578 743a 2053 6f63 kage, Next: Soc\n+00008d30: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+00008d40: 6167 652c 2020 5072 6576 3a20 536f 636b age, Prev: Sock\n+00008d50: 6574 7320 7061 636b 6167 652c 2020 5570 ets package, Up\n+00008d60: 3a20 546f 700a 0a35 2053 6f63 6b65 7473 : Top..5 Sockets\n+00008d70: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+00008d80: 6765 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ge.*************\n+00008d90: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n+00008da0: 5468 6520 e280 9853 6f63 6b65 7473 2e4d The ...Sockets.M\n+00008db0: 756c 7469 6361 7374 e280 9920 616c 6c6f ulticast... allo\n+00008dc0: 7773 2074 6865 2063 7265 6174 696f 6e20 ws the creation \n+00008dd0: 6f66 2049 5020 6d75 6c74 6963 6173 7420 of IP multicast \n+00008de0: 736f 636b 6574 732e 0a0a 202d 2d20 536f sockets... -- So\n+00008df0: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n+00008e00: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00008e10: 5f46 443a 2074 7970 6520 4d75 6c74 6963 _FD: type Multic\n+00008e20: 6173 745f 536f 636b 6574 5f46 4420 6973 ast_Socket_FD is\n+00008e30: 0a20 2020 2020 2020 2020 206e 6577 2053 . new S\n+00008e40: 6f63 6b65 745f 4644 2077 6974 6820 7072 ocket_FD with pr\n+00008e50: 6976 6174 653b 0a20 2020 2020 5468 6520 ivate;. The \n+00008e60: e280 984d 756c 7469 6361 7374 5f53 6f63 ...Multicast_Soc\n+00008e70: 6b65 745f 4644 e280 9920 7461 6767 6564 ket_FD... tagged\n+00008e80: 2074 7970 6520 6465 7269 7665 7320 6672 type derives fr\n+00008e90: 6f6d 2074 6865 20e2 8098 536f 636b 6574 om the ...Socket\n+00008ea0: 5f46 44e2 8099 0a20 2020 2020 7479 7065 _FD.... type\n+00008eb0: 2e20 2049 7420 6765 7473 2069 6e69 7469 . It gets initi\n+00008ec0: 616c 697a 6564 2062 7920 6361 6c6c 696e alized by callin\n+00008ed0: 6720 2a6e 6f74 6520 4372 6561 7465 5f4d g *note Create_M\n+00008ee0: 756c 7469 6361 7374 5f53 6f63 6b65 740a ulticast_Socket.\n+00008ef0: 2020 2020 2028 6675 6e63 7469 6f6e 293a (function):\n+00008f00: 3a2e 2020 416e 2075 6e69 6e69 7469 616c :. An uninitial\n+00008f10: 697a 6564 20e2 8098 4d75 6c74 6963 6173 ized ...Multicas\n+00008f20: 745f 536f 636b 6574 5f46 44e2 8099 2063 t_Socket_FD... c\n+00008f30: 616e 2062 650a 2020 2020 2073 7563 6365 an be. succe\n+00008f40: 7373 6675 6c6c 7920 636f 6d70 6172 6564 ssfully compared\n+00008f50: 2074 6f20 e280 984e 756c 6c5f 4d75 6c74 to ...Null_Mult\n+00008f60: 6963 6173 745f 536f 636b 6574 5f46 44e2 icast_Socket_FD.\n+00008f70: 8099 2e0a 0a2a 204d 656e 753a 0a0a 2a20 .....* Menu:..* \n+00008f80: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00008f90: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00008fa0: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+00008fb0: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n+00008fc0: 6174 6520 616e 2049 5020 6d75 6c74 6963 ate an IP multic\n+00008fd0: 6173 7420 736f 636b 6574 0a2a 2043 7265 ast socket.* Cre\n+00008fe0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00008ff0: 636b 6574 2028 6675 6e63 7469 6f6e 293a cket (function):\n+00009000: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n+00009010: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+00009020: 2061 6e20 4950 206d 756c 7469 6361 7374 an IP multicast\n+00009030: 2073 6f63 6b65 740a 0a1f 0a46 696c 653a socket....File:\n+00009040: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00009050: 2c20 204e 6f64 653a 2043 7265 6174 655f , Node: Create_\n 00009060: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-00009070: 2028 4752 4f55 5020 3a20 5374 7269 6e67 (GROUP : String\n-00009080: 3b20 504f 5254 203a 204e 6174 7572 616c ; PORT : Natural\n-00009090: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-000090a0: 2054 544c 203a 2050 6f73 6974 6976 6520 TTL : Positive \n-000090b0: 3a3d 2031 363b 2053 454c 465f 4c4f 4f50 := 16; SELF_LOOP\n-000090c0: 203a 2042 6f6f 6c65 616e 203a 3d20 5472 : Boolean := Tr\n-000090d0: 7565 3b0a 2020 2020 2020 2020 2020 2020 ue;. \n-000090e0: 2020 204c 4f43 414c 5f49 4620 3a20 5374 LOCAL_IF : St\n-000090f0: 7269 6e67 203a 3d20 302e 302e 302e 3029 ring := 0.0.0.0)\n-00009100: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00009110: 7265 7475 726e 204d 756c 7469 6361 7374 return Multicast\n-00009120: 5f53 6f63 6b65 745f 4644 3b0a 0a50 4152 _Socket_FD;..PAR\n-00009130: 414d 4554 4552 530a 2020 2020 2047 524f AMETERS. GRO\n-00009140: 5550 2020 2020 2020 696e 2020 2020 2020 UP in \n-00009150: 2020 2049 5020 6164 6472 6573 7320 6f66 IP address of\n-00009160: 2074 6865 206d 756c 7469 6361 7374 2067 the multicast g\n-00009170: 726f 7570 2074 6f0a 2020 2020 2020 2020 roup to. \n-00009180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009190: 2020 206a 6f69 6e0a 2020 2020 2050 4f52 join. POR\n-000091a0: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n-000091b0: 2020 2050 6f72 7420 6f66 2074 6865 206d Port of the m\n-000091c0: 756c 7469 6361 7374 2067 726f 7570 2074 ulticast group t\n-000091d0: 6f20 6a6f 696e 0a20 2020 2020 5454 4c20 o join. TTL \n-000091e0: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n-000091f0: 2020 5469 6d65 2d74 6f2d 6c69 7665 206f Time-to-live o\n-00009200: 6620 7365 6e74 2070 6163 6b65 7473 0a20 f sent packets. \n-00009210: 2020 2020 5345 4c46 5f4c 4f4f 5020 2069 SELF_LOOP i\n-00009220: 6e20 2020 2020 2020 2020 5368 6f75 6c64 n Should\n-00009230: 2074 6865 2073 6f63 6b65 7420 7265 6365 the socket rece\n-00009240: 6976 6520 7468 6520 7061 636b 6574 730a ive the packets.\n-00009250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009260: 2020 2020 2020 2020 2020 2073 656e 7420 sent \n-00009270: 6672 6f6d 2074 6865 206c 6f63 616c 2068 from the local h\n-00009280: 6f73 743f 0a20 2020 2020 4c4f 4341 4c5f ost?. LOCAL_\n-00009290: 4946 2020 2069 6e20 2020 2020 2020 2020 IF in \n-000092a0: 4164 6472 6573 7320 6f66 2074 6865 206c Address of the l\n-000092b0: 6f63 616c 2069 6e74 6572 6661 6365 2074 ocal interface t\n-000092c0: 6f20 7573 650a 0a52 4554 5552 4e20 5641 o use..RETURN VA\n-000092d0: 4c55 450a 2020 2020 2054 6865 206e 6577 LUE. The new\n-000092e0: 2069 6e69 7469 616c 697a 6564 206d 756c initialized mul\n-000092f0: 7469 6361 7374 2073 6f63 6b65 740a 0a44 ticast socket..D\n-00009300: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00009310: 5468 6973 2066 756e 6374 696f 6e20 6372 This function cr\n-00009320: 6561 7465 7320 616e 2049 5020 6d75 6c74 eates an IP mult\n-00009330: 6963 6173 7420 736f 636b 6574 2061 7474 icast socket att\n-00009340: 6163 6865 6420 746f 2061 2067 6976 656e ached to a given\n-00009350: 0a20 2020 2020 6772 6f75 702c 2069 6465 . group, ide\n-00009360: 6e74 6966 6965 6420 6279 2069 7473 2063 ntified by its c\n-00009370: 6c61 7373 2045 2049 5020 6164 6472 6573 lass E IP addres\n-00009380: 7320 616e 6420 706f 7274 2e0a 0a20 2020 s and port... \n-00009390: 2020 4265 2063 6172 6566 756c 2077 6865 Be careful whe\n-000093a0: 6e20 6368 6f6f 7369 6e67 2074 6865 2054 n choosing the T\n-000093b0: 544c 2070 6172 616d 6574 6572 206f 6620 TL parameter of \n-000093c0: 796f 7572 2049 5020 6d75 6c74 6963 6173 your IP multicas\n-000093d0: 740a 2020 2020 2073 6f63 6b65 742e 2020 t. socket. \n-000093e0: 4d6f 7374 2049 5020 6d75 6c74 6963 6173 Most IP multicas\n-000093f0: 7420 726f 7574 6572 7320 646f 2069 6d70 t routers do imp\n-00009400: 6c65 6d65 6e74 2074 6872 6573 686f 6c64 lement threshold\n-00009410: 2d62 6173 6564 0a20 2020 2020 6669 6c74 -based. filt\n-00009420: 6572 696e 6720 616e 6420 7769 6c6c 206e ering and will n\n-00009430: 6f74 206c 6574 2049 5020 6d75 6c74 6963 ot let IP multic\n-00009440: 6173 7420 7061 636b 6574 7320 6c65 6176 ast packets leav\n-00009450: 6520 796f 7572 0a20 2020 2020 6f72 6761 e your. orga\n-00009460: 6e69 7a61 7469 6f6e 2069 6620 7468 6520 nization if the \n-00009470: 5454 4c20 6f6e 2074 6865 206c 6173 7420 TTL on the last \n-00009480: 726f 7574 6572 2069 7320 736d 616c 6c65 router is smalle\n-00009490: 7220 7468 616e 2031 362e 0a0a 2020 2020 r than 16... \n-000094a0: 2049 6620 3020 6973 2067 6976 656e 2066 If 0 is given f\n-000094b0: 6f72 2074 6865 2050 6f72 742c 2061 206c or the Port, a l\n-000094c0: 6f63 616c 206f 6e65 2077 696c 6c20 6265 ocal one will be\n-000094d0: 2063 686f 7365 6e2e 2020 4974 2063 616e chosen. It can\n-000094e0: 0a20 2020 2020 7468 656e 206c 6174 6572 . then later\n-000094f0: 2062 6520 7265 7472 6965 7665 6420 7573 be retrieved us\n-00009500: 696e 6720 4765 745f 536f 636b 5f50 6f72 ing Get_Sock_Por\n-00009510: 742e 0a0a 4558 414d 504c 450a 2020 2020 t...EXAMPLE. \n-00009520: 2020 2020 2020 6465 636c 6172 650a 2020 declare. \n-00009530: 2020 2020 2020 2020 2020 2053 6f63 6b20 Sock \n-00009540: 3a20 4d75 6c74 6963 6173 745f 536f 636b : Multicast_Sock\n-00009550: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n-00009560: 2062 6567 696e 0a20 2020 2020 2020 2020 begin. \n-00009570: 2020 2020 2d2d 2043 7265 6174 6520 6120 -- Create a \n-00009580: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n-00009590: 206f 6e20 6772 6f75 7020 3232 342e 312e on group 224.1.\n-000095a0: 322e 3320 706f 7274 2038 3736 330a 2020 2.3 port 8763. \n-000095b0: 2020 2020 2020 2020 2020 2053 6f63 6b20 Sock \n-000095c0: 3a3d 2043 7265 6174 655f 4d75 6c74 6963 := Create_Multic\n-000095d0: 6173 745f 536f 636b 6574 2028 2232 3234 ast_Socket (\"224\n-000095e0: 2e31 2e32 2e33 222c 2038 3736 3329 3b0a .1.2.3\", 8763);.\n-000095f0: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n-00009600: 5065 7266 6f72 6d20 736f 6d65 206f 7065 Perform some ope\n-00009610: 7261 7469 6f6e 7320 6f6e 2073 6f63 6b65 rations on socke\n-00009620: 740a 2020 2020 2020 2020 2020 2020 205b t. [\n-00009630: 2e2e 2e5d 0a20 2020 2020 2020 2020 2020 ...]. \n-00009640: 2020 2d2d 2053 6875 7464 6f77 6e20 7468 -- Shutdown th\n-00009650: 6520 736f 636b 6574 2069 6e20 626f 7468 e socket in both\n-00009660: 2064 6972 6563 7469 6f6e 730a 2020 2020 directions. \n-00009670: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow\n-00009680: 6e20 2853 6f63 6b2c 2042 6f74 6829 3b0a n (Sock, Both);.\n-00009690: 2020 2020 2020 2020 2020 656e 643b 0a0a end;..\n-000096a0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-000096b0: 6f74 6520 5365 6e64 2028 7072 6f63 6564 ote Send (proced\n-000096c0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-000096d0: 7465 2053 6875 7464 6f77 6e20 2870 726f te Shutdown (pro\n-000096e0: 6365 6475 7265 293a 3a2e 0a0a 2a20 4d65 cedure)::...* Me\n-000096f0: 6e75 3a0a 0a43 7265 6174 655f 4d75 6c74 nu:..Create_Mult\n-00009700: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-00009710: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-00009720: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009730: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00009740: 4f53 450a 2020 2020 2043 7265 6174 6520 OSE. Create \n-00009750: 616e 2049 5020 6d75 6c74 6963 6173 7420 an IP multicast \n-00009760: 736f 636b 6574 0a50 524f 544f 5459 5045 socket.PROTOTYPE\n-00009770: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00009780: 732e 4d75 6c74 6963 6173 742e 4372 6561 s.Multicast.Crea\n-00009790: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-000097a0: 6b65 743a 2066 756e 6374 696f 6e0a 2020 ket: function. \n-000097b0: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n-000097c0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-000097d0: 636b 6574 2028 4752 4f55 5020 3a20 5374 cket (GROUP : St\n-000097e0: 7269 6e67 3b20 504f 5254 203a 2050 6f73 ring; PORT : Pos\n-000097f0: 6974 6976 653b 0a20 2020 2020 2020 2020 itive;. \n-00009800: 2020 2020 2020 4c4f 4341 4c5f 504f 5254 LOCAL_PORT\n-00009810: 203a 204e 6174 7572 616c 3b20 5454 4c20 : Natural; TTL \n-00009820: 3a20 506f 7369 7469 7665 203a 3d20 3136 : Positive := 16\n-00009830: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-00009840: 204c 4f43 414c 5f49 4620 3a20 5374 7269 LOCAL_IF : Stri\n-00009850: 6e67 203a 3d20 302e 302e 302e 3029 0a20 ng := 0.0.0.0). \n-00009860: 2020 2020 2020 2020 2020 2020 2020 7265 re\n-00009870: 7475 726e 204d 756c 7469 6361 7374 5f53 turn Multicast_S\n-00009880: 6f63 6b65 745f 4644 3b0a 0a50 4152 414d ocket_FD;..PARAM\n-00009890: 4554 4552 530a 2020 2020 2047 524f 5550 ETERS. GROUP\n-000098a0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n-000098b0: 2049 5020 6164 6472 6573 7320 6f66 2074 IP address of t\n-000098c0: 6865 206d 756c 7469 6361 7374 2067 726f he multicast gro\n-000098d0: 7570 2074 6f0a 2020 2020 2020 2020 2020 up to. \n-000098e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000098f0: 206a 6f69 6e0a 2020 2020 2050 4f52 5420 join. PORT \n-00009900: 2020 2020 2020 696e 2020 2020 2020 2020 in \n-00009910: 2050 6f72 7420 6f66 2074 6865 206d 756c Port of the mul\n-00009920: 7469 6361 7374 2067 726f 7570 2074 6f20 ticast group to \n-00009930: 6a6f 696e 0a20 2020 2020 4c4f 4341 4c5f join. LOCAL_\n-00009940: 504f 5254 2069 6e20 2020 2020 2020 2020 PORT in \n-00009950: 4c6f 6361 6c20 706f 7274 206e 756d 6265 Local port numbe\n-00009960: 7220 746f 2075 7365 0a20 2020 2020 5454 r to use. TT\n-00009970: 4c20 2020 2020 2020 2069 6e20 2020 2020 L in \n-00009980: 2020 2020 5469 6d65 2d74 6f2d 6c69 7665 Time-to-live\n-00009990: 206f 6620 7365 6e74 2070 6163 6b65 7473 of sent packets\n-000099a0: 0a20 2020 2020 4c4f 4341 4c5f 4946 2020 . LOCAL_IF \n-000099b0: 2069 6e20 2020 2020 2020 2020 4164 6472 in Addr\n-000099c0: 6573 7320 6f66 2074 6865 206c 6f63 616c ess of the local\n-000099d0: 2069 6e74 6572 6661 6365 2074 6f20 7573 interface to us\n-000099e0: 650a 0a52 4554 5552 4e20 5641 4c55 450a e..RETURN VALUE.\n-000099f0: 2020 2020 2054 6865 206e 6577 2069 6e69 The new ini\n-00009a00: 7469 616c 697a 6564 206d 756c 7469 6361 tialized multica\n-00009a10: 7374 2073 6f63 6b65 740a 0a44 4553 4352 st socket..DESCR\n-00009a20: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00009a30: 2066 756e 6374 696f 6e20 6372 6561 7465 function create\n-00009a40: 7320 616e 2049 5020 6d75 6c74 6963 6173 s an IP multicas\n-00009a50: 7420 736f 636b 6574 2061 7474 6163 6865 t socket attache\n-00009a60: 6420 746f 2061 2067 6976 656e 0a20 2020 d to a given. \n-00009a70: 2020 6772 6f75 702c 2069 6465 6e74 6966 group, identif\n-00009a80: 6965 6420 6279 2069 7473 2063 6c61 7373 ied by its class\n-00009a90: 2045 2049 5020 6164 6472 6573 7320 616e E IP address an\n-00009aa0: 6420 706f 7274 2e20 2049 660a 2020 2020 d port. If. \n-00009ab0: 204c 6f63 616c 5f50 6f72 7420 6973 2030 Local_Port is 0\n-00009ac0: 2c20 6120 6672 6565 2070 6f72 7420 7769 , a free port wi\n-00009ad0: 6c6c 2061 7574 6f6d 6174 6963 616c 6c79 ll automatically\n-00009ae0: 2062 6520 6368 6f73 656e 2062 7920 796f be chosen by yo\n-00009af0: 7572 0a20 2020 2020 6f70 6572 6174 696e ur. operatin\n-00009b00: 6720 7379 7374 656d 2e0a 0a20 2020 2020 g system... \n-00009b10: 5468 6973 2066 756e 6374 696f 6e20 7368 This function sh\n-00009b20: 6f75 6c64 2062 6520 7573 6564 2077 6865 ould be used whe\n-00009b30: 6e20 796f 7520 7761 6e74 2074 6f20 7365 n you want to se\n-00009b40: 6e64 2070 6163 6b65 7473 2074 6f20 610a nd packets to a.\n-00009b50: 2020 2020 206d 756c 7469 6361 7374 2067 multicast g\n-00009b60: 726f 7570 2077 6974 686f 7574 2072 6563 roup without rec\n-00009b70: 6569 7669 6e67 2061 6e79 2070 6163 6b65 eiving any packe\n-00009b80: 7420 796f 7572 7365 6c66 2e0a 0a45 5841 t yourself...EXA\n-00009b90: 4d50 4c45 0a20 2020 2020 2020 2020 2064 MPLE. d\n-00009ba0: 6563 6c61 7265 0a20 2020 2020 2020 2020 eclare. \n-00009bb0: 2020 2020 536f 636b 203a 204d 756c 7469 Sock : Multi\n-00009bc0: 6361 7374 5f53 6f63 6b65 745f 4644 3b0a cast_Socket_FD;.\n-00009bd0: 2020 2020 2020 2020 2020 6265 6769 6e0a begin.\n-00009be0: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n-00009bf0: 4372 6561 7465 2061 206d 756c 7469 6361 Create a multica\n-00009c00: 7374 2073 6f63 6b65 7420 6f6e 2067 726f st socket on gro\n-00009c10: 7570 2032 3234 2e31 2e32 2e33 2070 6f72 up 224.1.2.3 por\n-00009c20: 7420 3837 3633 0a20 2020 2020 2020 2020 t 8763. \n-00009c30: 2020 2020 536f 636b 203a 3d20 4372 6561 Sock := Crea\n-00009c40: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-00009c50: 6b65 7420 2822 3232 342e 312e 322e 3322 ket (\"224.1.2.3\"\n-00009c60: 2c20 3837 3633 293b 0a20 2020 2020 2020 , 8763);. \n-00009c70: 2020 2020 2020 2d2d 2050 6572 666f 726d -- Perform\n-00009c80: 2073 6f6d 6520 6f70 6572 6174 696f 6e73 some operations\n-00009c90: 206f 6e20 736f 636b 6574 0a20 2020 2020 on socket. \n-00009ca0: 2020 2020 2020 2020 5b2e 2e2e 5d0a 2020 [...]. \n-00009cb0: 2020 2020 2020 2020 2020 202d 2d20 5368 -- Sh\n-00009cc0: 7574 646f 776e 2074 6865 2073 6f63 6b65 utdown the socke\n-00009cd0: 7420 696e 2062 6f74 6820 6469 7265 6374 t in both direct\n-00009ce0: 696f 6e73 0a20 2020 2020 2020 2020 2020 ions. \n-00009cf0: 2020 5368 7574 646f 776e 2028 536f 636b Shutdown (Sock\n-00009d00: 2c20 426f 7468 293b 0a20 2020 2020 2020 , Both);. \n-00009d10: 2020 2065 6e64 3b0a 0a53 4545 2041 4c53 end;..SEE ALS\n-00009d20: 4f0a 2020 2020 202a 6e6f 7465 2053 656e O. *note Sen\n-00009d30: 6420 2870 726f 6365 6475 7265 293a 3a2c d (procedure)::,\n-00009d40: 0a20 2020 2020 2a6e 6f74 6520 5368 7574 . *note Shut\n-00009d50: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00009d60: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00009d70: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00009d80: 6f64 653a 2053 6f63 6b65 7473 2e4e 616d ode: Sockets.Nam\n-00009d90: 696e 6720 7061 636b 6167 652c 2020 4e65 ing package, Ne\n-00009da0: 7874 3a20 436f 6e74 7269 6275 746f 7273 xt: Contributors\n-00009db0: 2c20 2050 7265 763a 2053 6f63 6b65 7473 , Prev: Sockets\n-00009dc0: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n-00009dd0: 6765 2c20 2055 703a 2054 6f70 0a0a 3620 ge, Up: Top..6 \n-00009de0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n-00009df0: 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a 2a2a ackage.*********\n-00009e00: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a ***************.\n-00009e10: 0a54 6865 20e2 8098 536f 636b 6574 732e .The ...Sockets.\n-00009e20: 4e61 6d69 6e67 e280 9920 7061 636b 6167 Naming... packag\n-00009e30: 6520 636f 6e74 6169 6e73 2074 7970 6573 e contains types\n-00009e40: 2061 6e64 2068 656c 7065 7220 6675 6e63 and helper func\n-00009e50: 7469 6f6e 7320 6e65 6564 6564 0a74 6f20 tions needed.to \n-00009e60: 6d61 6e69 7075 6c61 7465 2049 6e74 6572 manipulate Inter\n-00009e70: 6e65 7420 686f 7374 206e 616d 6573 2061 net host names a\n-00009e80: 6e64 2061 6464 7265 7373 6573 2e0a 0a20 nd addresses... \n-00009e90: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-00009ea0: 672e 4164 6472 6573 733a 2074 7970 6520 g.Address: type \n-00009eb0: 4164 6472 6573 7320 6973 2072 6563 6f72 Address is recor\n-00009ec0: 640a 2020 2020 2020 2020 2020 2048 312c d. H1,\n-00009ed0: 2048 322c 2048 332c 2048 3420 3a20 4164 H2, H3, H4 : Ad\n-00009ee0: 6472 6573 735f 436f 6d70 6f6e 656e 743b dress_Component;\n-00009ef0: 0a20 2020 2020 2020 2020 2065 6e64 2072 . end r\n-00009f00: 6563 6f72 643b 0a20 2020 2020 5468 6973 ecord;. This\n-00009f10: 2074 7970 6520 7265 7072 6573 656e 7473 type represents\n-00009f20: 2061 6e20 4950 7634 2061 6464 7265 7373 an IPv4 address\n-00009f30: 2077 6974 6820 e280 9848 31e2 8099 2062 with ...H1... b\n-00009f40: 6569 6e67 2074 6865 2066 6972 7374 0a20 eing the first. \n-00009f50: 2020 2020 6f63 7465 7420 616e 6420 e280 octet and ..\n-00009f60: 9848 34e2 8099 2074 6865 206c 6173 7420 .H4... the last \n-00009f70: 6f6e 652e 2020 466f 7220 6578 616d 706c one. For exampl\n-00009f80: 652c 2031 3337 2e31 3934 2e31 3631 2e32 e, 137.194.161.2\n-00009f90: 2069 730a 2020 2020 2072 6570 7265 7365 is. represe\n-00009fa0: 6e74 6564 2062 7920 e280 9848 313d 3133 nted by ...H1=13\n-00009fb0: 372c 2048 323d 3139 342c 2048 333d 3136 7, H2=194, H3=16\n-00009fc0: 312c 2048 343d 32e2 8099 2e0a 0a20 2d2d 1, H4=2...... --\n-00009fd0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-00009fe0: 4164 6472 6573 735f 4172 7261 793a 2074 Address_Array: t\n-00009ff0: 7970 6520 4164 6472 6573 735f 4172 7261 ype Address_Arra\n-0000a000: 7920 6973 2061 7272 6179 2028 506f 7369 y is array (Posi\n-0000a010: 7469 7665 0a20 2020 2020 2020 2020 2072 tive. r\n-0000a020: 616e 6765 203c 3e29 206f 6620 4164 6472 ange <>) of Addr\n-0000a030: 6573 733b 0a20 2020 2020 4865 6c70 6572 ess;. Helper\n-0000a040: 2074 7970 650a 0a20 2d2d 2053 6f63 6b65 type.. -- Socke\n-0000a050: 7473 2e4e 616d 696e 672e 4164 6472 6573 ts.Naming.Addres\n-0000a060: 735f 436f 6d70 6f6e 656e 743a 2074 7970 s_Component: typ\n-0000a070: 6520 4164 6472 6573 735f 436f 6d70 6f6e e Address_Compon\n-0000a080: 656e 7420 6973 204e 6174 7572 616c 0a20 ent is Natural. \n-0000a090: 2020 2020 2020 2020 2072 616e 6765 2030 range 0\n-0000a0a0: 202e 2e20 3235 353b 0a20 2020 2020 4865 .. 255;. He\n-0000a0b0: 6c70 6572 2074 7970 650a 0a20 2d2d 2053 lper type.. -- S\n-0000a0c0: 6f63 6b65 7473 2e4e 616d 696e 672e 486f ockets.Naming.Ho\n-0000a0d0: 7374 5f45 6e74 7279 3a20 7479 7065 2048 st_Entry: type H\n-0000a0e0: 6f73 745f 456e 7472 7920 284e 5f41 6c69 ost_Entry (N_Ali\n-0000a0f0: 6173 6573 2c20 4e5f 4164 6472 6573 7365 ases, N_Addresse\n-0000a100: 7320 3a0a 2020 2020 2020 2020 2020 4e61 s :. Na\n-0000a110: 7475 7261 6c29 2069 7320 6e65 7720 4164 tural) is new Ad\n-0000a120: 612e 4669 6e61 6c69 7a61 7469 6f6e 2e43 a.Finalization.C\n-0000a130: 6f6e 7472 6f6c 6c65 6420 7769 7468 2072 ontrolled with r\n-0000a140: 6563 6f72 640a 2020 2020 2020 2020 2020 ecord. \n-0000a150: 2020 4e61 6d65 203a 2053 7472 696e 675f Name : String_\n-0000a160: 4163 6365 7373 3b0a 2020 2020 2020 2020 Access;. \n-0000a170: 2020 2020 416c 6961 7365 7320 3a20 5374 Aliases : St\n-0000a180: 7269 6e67 5f41 7272 6179 2028 3120 2e2e ring_Array (1 ..\n-0000a190: 204e 5f41 6c69 6173 6573 293b 0a20 2020 N_Aliases);. \n-0000a1a0: 2020 2020 2020 2020 2041 6464 7265 7373 Address\n-0000a1b0: 6573 203a 2041 6464 7265 7373 5f41 7272 es : Address_Arr\n-0000a1c0: 6179 2028 3120 2e2e 204e 5f41 6464 7265 ay (1 .. N_Addre\n-0000a1d0: 7373 6573 293b 0a20 2020 2020 2020 2020 sses);. \n-0000a1e0: 2065 6e64 2072 6563 6f72 643b 0a20 2020 end record;. \n-0000a1f0: 2020 5468 6520 e280 9848 6f73 745f 456e The ...Host_En\n-0000a200: 7472 79e2 8099 2074 7970 6520 686f 6c64 try... type hold\n-0000a210: 7320 6120 7365 7420 6f66 206e 616d 6573 s a set of names\n-0000a220: 2061 6e64 2049 5020 6164 6472 6573 7365 and IP addresse\n-0000a230: 730a 2020 2020 2061 7373 6f63 6961 7465 s. associate\n-0000a240: 6420 7769 7468 2061 2068 6f73 742e 2020 d with a host. \n-0000a250: 4561 6368 2068 6f73 7420 6361 6e20 6861 Each host can ha\n-0000a260: 7665 2073 6576 6572 616c 2049 5020 6164 ve several IP ad\n-0000a270: 6472 6573 7320 6173 0a20 2020 2020 7765 dress as. we\n-0000a280: 6c6c 2061 7320 7365 7665 7261 6c20 616c ll as several al\n-0000a290: 6961 7365 732e 0a0a 202d 2d20 536f 636b iases... -- Sock\n-0000a2a0: 6574 732e 4e61 6d69 6e67 2e53 7472 696e ets.Naming.Strin\n-0000a2b0: 675f 4163 6365 7373 3a20 7479 7065 2053 g_Access: type S\n-0000a2c0: 7472 696e 675f 4163 6365 7373 2069 7320 tring_Access is \n-0000a2d0: 6163 6365 7373 2053 7472 696e 673b 0a20 access String;. \n-0000a2e0: 2020 2020 4865 6c70 6572 2074 7970 650a Helper type.\n-0000a2f0: 0a20 2d2d 2053 6f63 6b65 7473 2e4e 616d . -- Sockets.Nam\n-0000a300: 696e 672e 5374 7269 6e67 5f41 7272 6179 ing.String_Array\n-0000a310: 3a20 7479 7065 2053 7472 696e 675f 4172 : type String_Ar\n-0000a320: 7261 7920 6973 2061 7272 6179 2028 506f ray is array (Po\n-0000a330: 7369 7469 7665 0a20 2020 2020 2020 2020 sitive. \n-0000a340: 2072 616e 6765 203c 3e29 206f 6620 5374 range <>) of St\n-0000a350: 7269 6e67 5f41 6363 6573 733b 0a20 2020 ring_Access;. \n-0000a360: 2020 4865 6c70 6572 2074 7970 650a 0a2a Helper type..*\n-0000a370: 204d 656e 753a 0a0a 2a20 4164 6472 6573 Menu:..* Addres\n-0000a380: 735f 4f66 2028 6675 6e63 7469 6f6e 293a s_Of (function):\n-0000a390: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n-0000a3a0: 2020 2020 2020 2020 2020 4765 7420 7468 Get th\n-0000a3b0: 6520 4950 2061 6464 7265 7373 206f 6620 e IP address of \n-0000a3c0: 6120 686f 7374 0a2a 2041 6e79 5f41 6464 a host.* Any_Add\n-0000a3d0: 7265 7373 2028 6675 6e63 7469 6f6e 293a ress (function):\n-0000a3e0: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n-0000a3f0: 2020 2020 2020 2020 2020 5370 6563 6961 Specia\n-0000a400: 6c20 6164 6472 6573 7320 7265 7072 6573 l address repres\n-0000a410: 656e 7469 6e67 2061 6e79 2061 6464 7265 enting any addre\n-0000a420: 7373 206f 6e20 7468 6520 6c6f 6361 6c20 ss on the local \n-0000a430: 686f 7374 0a2a 2047 6574 5f50 6565 725f host.* Get_Peer_\n-0000a440: 4164 6472 2028 6675 6e63 7469 6f6e 293a Addr (function):\n-0000a450: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n-0000a460: 2020 2020 2020 2020 2020 5265 7472 6965 Retrie\n-0000a470: 7665 2049 5020 6164 6472 6573 7320 6f66 ve IP address of\n-0000a480: 2072 656d 6f74 6520 686f 7374 0a2a 2047 remote host.* G\n-0000a490: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n-0000a4a0: 6e63 7469 6f6e 293a 3a0a 2020 2020 2020 nction)::. \n-0000a4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a4c0: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port \n-0000a4d0: 7573 6564 2062 7920 7265 6d6f 7465 2068 used by remote h\n-0000a4e0: 6f73 740a 2a20 4765 745f 536f 636b 5f41 ost.* Get_Sock_A\n-0000a4f0: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-0000a500: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000a510: 2020 2020 2020 2020 2052 6574 7269 6576 Retriev\n-0000a520: 6520 4950 2061 6464 7265 7373 206f 6620 e IP address of \n-0000a530: 6c6f 6361 6c20 686f 7374 0a2a 2047 6574 local host.* Get\n-0000a540: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000a550: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n-0000a560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a570: 5265 7472 6965 7665 2070 6f72 7420 7573 Retrieve port us\n-0000a580: 6564 2062 7920 6c6f 6361 6c20 686f 7374 ed by local host\n-0000a590: 0a2a 2048 6f73 745f 4e61 6d65 2028 6675 .* Host_Name (fu\n-0000a5a0: 6e63 7469 6f6e 293a 3a0a 2020 2020 2020 nction)::. \n-0000a5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a5c0: 2020 4765 7420 7468 6520 6e61 6d65 206f Get the name o\n-0000a5d0: 6620 7468 6520 6375 7272 656e 7420 686f f the current ho\n-0000a5e0: 7374 0a2a 2049 6d61 6765 2028 6675 6e63 st.* Image (func\n-0000a5f0: 7469 6f6e 293a 3a20 2020 204d 616b 6520 tion):: Make \n-0000a600: 6120 7374 7269 6e67 2066 726f 6d20 616e a string from an\n-0000a610: 2061 6464 7265 7373 0a2a 2049 6e66 6f5f address.* Info_\n-0000a620: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f\n-0000a630: 756e 6374 696f 6e29 3a3a 0a20 2020 2020 unction)::. \n+00009070: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+00009080: 7874 3a20 4372 6561 7465 5f4d 756c 7469 xt: Create_Multi\n+00009090: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n+000090a0: 6374 696f 6e29 2c20 2050 7265 763a 2043 ction), Prev: C\n+000090b0: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+000090c0: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n+000090d0: 292c 2020 5570 3a20 536f 636b 6574 732e ), Up: Sockets.\n+000090e0: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+000090f0: 650a 0a43 7265 6174 655f 4d75 6c74 6963 e..Create_Multic\n+00009100: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n+00009110: 7469 6f6e 290a 3d3d 3d3d 3d3d 3d3d 3d3d tion).==========\n+00009120: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00009130: 3d3d 3d3d 3d3d 3d3d 0a0a 5055 5250 4f53 ========..PURPOS\n+00009140: 450a 2020 2020 2043 7265 6174 6520 616e E. Create an\n+00009150: 2049 5020 6d75 6c74 6963 6173 7420 736f IP multicast so\n+00009160: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n+00009170: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+00009180: 4d75 6c74 6963 6173 742e 4372 6561 7465 Multicast.Create\n+00009190: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+000091a0: 743a 2066 756e 6374 696f 6e0a 2020 2020 t: function. \n+000091b0: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n+000091c0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+000091d0: 6574 2028 4752 4f55 5020 3a20 5374 7269 et (GROUP : Stri\n+000091e0: 6e67 3b20 504f 5254 203a 204e 6174 7572 ng; PORT : Natur\n+000091f0: 616c 3b0a 2020 2020 2020 2020 2020 2020 al;. \n+00009200: 2020 2054 544c 203a 2050 6f73 6974 6976 TTL : Positiv\n+00009210: 6520 3a3d 2031 363b 2053 454c 465f 4c4f e := 16; SELF_LO\n+00009220: 4f50 203a 2042 6f6f 6c65 616e 203a 3d20 OP : Boolean := \n+00009230: 5472 7565 3b0a 2020 2020 2020 2020 2020 True;. \n+00009240: 2020 2020 204c 4f43 414c 5f49 4620 3a20 LOCAL_IF : \n+00009250: 5374 7269 6e67 203a 3d20 302e 302e 302e String := 0.0.0.\n+00009260: 3029 0a20 2020 2020 2020 2020 2020 2020 0). \n+00009270: 2020 7265 7475 726e 204d 756c 7469 6361 return Multica\n+00009280: 7374 5f53 6f63 6b65 745f 4644 3b0a 0a50 st_Socket_FD;..P\n+00009290: 4152 414d 4554 4552 530a 2020 2020 2047 ARAMETERS. G\n+000092a0: 524f 5550 2020 2020 2020 696e 2020 2020 ROUP in \n+000092b0: 2020 2020 2049 5020 6164 6472 6573 7320 IP address \n+000092c0: 6f66 2074 6865 206d 756c 7469 6361 7374 of the multicast\n+000092d0: 2067 726f 7570 2074 6f0a 2020 2020 2020 group to. \n+000092e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000092f0: 2020 2020 206a 6f69 6e0a 2020 2020 2050 join. P\n+00009300: 4f52 5420 2020 2020 2020 696e 2020 2020 ORT in \n+00009310: 2020 2020 2050 6f72 7420 6f66 2074 6865 Port of the\n+00009320: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n+00009330: 2074 6f20 6a6f 696e 0a20 2020 2020 5454 to join. TT\n+00009340: 4c20 2020 2020 2020 2069 6e20 2020 2020 L in \n+00009350: 2020 2020 5469 6d65 2d74 6f2d 6c69 7665 Time-to-live\n+00009360: 206f 6620 7365 6e74 2070 6163 6b65 7473 of sent packets\n+00009370: 0a20 2020 2020 5345 4c46 5f4c 4f4f 5020 . SELF_LOOP \n+00009380: 2069 6e20 2020 2020 2020 2020 5368 6f75 in Shou\n+00009390: 6c64 2074 6865 2073 6f63 6b65 7420 7265 ld the socket re\n+000093a0: 6365 6976 6520 7468 6520 7061 636b 6574 ceive the packet\n+000093b0: 730a 2020 2020 2020 2020 2020 2020 2020 s. \n+000093c0: 2020 2020 2020 2020 2020 2020 2073 656e sen\n+000093d0: 7420 6672 6f6d 2074 6865 206c 6f63 616c t from the local\n+000093e0: 2068 6f73 743f 0a20 2020 2020 4c4f 4341 host?. LOCA\n+000093f0: 4c5f 4946 2020 2069 6e20 2020 2020 2020 L_IF in \n+00009400: 2020 4164 6472 6573 7320 6f66 2074 6865 Address of the\n+00009410: 206c 6f63 616c 2069 6e74 6572 6661 6365 local interface\n+00009420: 2074 6f20 7573 650a 0a52 4554 5552 4e20 to use..RETURN \n+00009430: 5641 4c55 450a 2020 2020 2054 6865 206e VALUE. The n\n+00009440: 6577 2069 6e69 7469 616c 697a 6564 206d ew initialized m\n+00009450: 756c 7469 6361 7374 2073 6f63 6b65 740a ulticast socket.\n+00009460: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00009470: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00009480: 6372 6561 7465 7320 616e 2049 5020 6d75 creates an IP mu\n+00009490: 6c74 6963 6173 7420 736f 636b 6574 2061 lticast socket a\n+000094a0: 7474 6163 6865 6420 746f 2061 2067 6976 ttached to a giv\n+000094b0: 656e 0a20 2020 2020 6772 6f75 702c 2069 en. group, i\n+000094c0: 6465 6e74 6966 6965 6420 6279 2069 7473 dentified by its\n+000094d0: 2063 6c61 7373 2045 2049 5020 6164 6472 class E IP addr\n+000094e0: 6573 7320 616e 6420 706f 7274 2e0a 0a20 ess and port... \n+000094f0: 2020 2020 4265 2063 6172 6566 756c 2077 Be careful w\n+00009500: 6865 6e20 6368 6f6f 7369 6e67 2074 6865 hen choosing the\n+00009510: 2054 544c 2070 6172 616d 6574 6572 206f TTL parameter o\n+00009520: 6620 796f 7572 2049 5020 6d75 6c74 6963 f your IP multic\n+00009530: 6173 740a 2020 2020 2073 6f63 6b65 742e ast. socket.\n+00009540: 2020 4d6f 7374 2049 5020 6d75 6c74 6963 Most IP multic\n+00009550: 6173 7420 726f 7574 6572 7320 646f 2069 ast routers do i\n+00009560: 6d70 6c65 6d65 6e74 2074 6872 6573 686f mplement thresho\n+00009570: 6c64 2d62 6173 6564 0a20 2020 2020 6669 ld-based. fi\n+00009580: 6c74 6572 696e 6720 616e 6420 7769 6c6c ltering and will\n+00009590: 206e 6f74 206c 6574 2049 5020 6d75 6c74 not let IP mult\n+000095a0: 6963 6173 7420 7061 636b 6574 7320 6c65 icast packets le\n+000095b0: 6176 6520 796f 7572 0a20 2020 2020 6f72 ave your. or\n+000095c0: 6761 6e69 7a61 7469 6f6e 2069 6620 7468 ganization if th\n+000095d0: 6520 5454 4c20 6f6e 2074 6865 206c 6173 e TTL on the las\n+000095e0: 7420 726f 7574 6572 2069 7320 736d 616c t router is smal\n+000095f0: 6c65 7220 7468 616e 2031 362e 0a0a 2020 ler than 16... \n+00009600: 2020 2049 6620 3020 6973 2067 6976 656e If 0 is given\n+00009610: 2066 6f72 2074 6865 2050 6f72 742c 2061 for the Port, a\n+00009620: 206c 6f63 616c 206f 6e65 2077 696c 6c20 local one will \n+00009630: 6265 2063 686f 7365 6e2e 2020 4974 2063 be chosen. It c\n+00009640: 616e 0a20 2020 2020 7468 656e 206c 6174 an. then lat\n+00009650: 6572 2062 6520 7265 7472 6965 7665 6420 er be retrieved \n+00009660: 7573 696e 6720 4765 745f 536f 636b 5f50 using Get_Sock_P\n+00009670: 6f72 742e 0a0a 4558 414d 504c 450a 2020 ort...EXAMPLE. \n+00009680: 2020 2020 2020 2020 6465 636c 6172 650a declare.\n+00009690: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+000096a0: 6b20 2020 2020 3a20 536f 636b 6574 5f46 k : Socket_F\n+000096b0: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n+000096c0: 496e 636f 6d69 6e67 203a 2053 6f63 6b65 Incoming : Socke\n+000096d0: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+000096e0: 6265 6769 6e0a 2020 2020 2020 2020 2020 begin. \n+000096f0: 2020 202d 2d20 4372 6561 7465 2061 2054 -- Create a T\n+00009700: 4350 2073 6f63 6b65 7420 6c69 7374 656e CP socket listen\n+00009710: 696e 6720 6f6e 206c 6f63 616c 2070 6f72 ing on local por\n+00009720: 7420 3431 3631 0a20 2020 2020 2020 2020 t 4161. \n+00009730: 2020 2020 536f 636b 6574 2028 536f 636b Socket (Sock\n+00009740: 2c20 5046 5f49 4e45 542c 2053 4f43 4b5f , PF_INET, SOCK_\n+00009750: 5354 5245 414d 293b 0a20 2020 2020 2020 STREAM);. \n+00009760: 2020 2020 2020 4269 6e64 2028 536f 636b Bind (Sock\n+00009770: 2c20 3431 3631 293b 0a20 2020 2020 2020 , 4161);. \n+00009780: 2020 2020 2020 4c69 7374 656e 2028 536f Listen (So\n+00009790: 636b 2c20 3329 3b0a 2020 2020 2020 2020 ck, 3);. \n+000097a0: 2020 2020 202d 2d20 4f6e 652d 636f 6e6e -- One-conn\n+000097b0: 6563 7469 6f6e 2d61 742d 612d 7469 6d65 ection-at-a-time\n+000097c0: 2073 6572 7665 7220 2833 206d 6179 2062 server (3 may b\n+000097d0: 6520 7065 6e64 696e 6729 0a20 2020 2020 e pending). \n+000097e0: 2020 2020 2020 2020 6c6f 6f70 0a20 2020 loop. \n+000097f0: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n+00009800: 5761 6974 2066 6f72 2061 206e 6577 2063 Wait for a new c\n+00009810: 6f6e 6e65 6374 696f 6e20 616e 6420 6163 onnection and ac\n+00009820: 6365 7074 2069 740a 2020 2020 2020 2020 cept it. \n+00009830: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n+00009840: 6f63 6b65 7420 2853 6f63 6b2c 2049 6e63 ocket (Sock, Inc\n+00009850: 6f6d 696e 6729 3b0a 2020 2020 2020 2020 oming);. \n+00009860: 2020 2020 2020 2020 2d2d 2044 6f20 736f -- Do so\n+00009870: 6d65 2064 6961 6c6f 6720 7769 7468 2074 me dialog with t\n+00009880: 6865 2072 656d 6f74 6520 686f 7374 0a20 he remote host. \n+00009890: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+000098a0: 6f5f 536f 6d65 5f44 6961 6c6f 6720 2849 o_Some_Dialog (I\n+000098b0: 6e63 6f6d 696e 6729 3b0a 2020 2020 2020 ncoming);. \n+000098c0: 2020 2020 2020 2020 2020 2d2d 2043 6c6f -- Clo\n+000098d0: 7365 2069 6e63 6f6d 696e 6720 736f 636b se incoming sock\n+000098e0: 6574 2061 6e64 2077 6169 7420 666f 7220 et and wait for \n+000098f0: 6e65 7874 2063 6f6e 6e65 6374 696f 6e0a next connection.\n+00009900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009910: 5368 7574 646f 776e 2028 496e 636f 6d69 Shutdown (Incomi\n+00009920: 6e67 293b 0a20 2020 2020 2020 2020 2020 ng);. \n+00009930: 2020 656e 6420 6c6f 6f70 3b0a 2020 2020 end loop;. \n+00009940: 2020 2020 2020 656e 643b 0a0a 5345 4520 end;..SEE \n+00009950: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00009960: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00009970: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00009980: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+00009990: 7265 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a re)::...* Menu:.\n+000099a0: 0a43 7265 6174 655f 4d75 6c74 6963 6173 .Create_Multicas\n+000099b0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+000099c0: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n+000099d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000099e0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+000099f0: 2020 2020 2043 7265 6174 6520 616e 2049 Create an I\n+00009a00: 5020 6d75 6c74 6963 6173 7420 736f 636b P multicast sock\n+00009a10: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n+00009a20: 2020 202d 2d20 536f 636b 6574 732e 4d75 -- Sockets.Mu\n+00009a30: 6c74 6963 6173 742e 4372 6561 7465 5f4d lticast.Create_M\n+00009a40: 756c 7469 6361 7374 5f53 6f63 6b65 743a ulticast_Socket:\n+00009a50: 2066 756e 6374 696f 6e0a 2020 2020 2020 function. \n+00009a60: 2020 2020 2020 2020 2043 7265 6174 655f Create_\n+00009a70: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00009a80: 2028 4752 4f55 5020 3a20 5374 7269 6e67 (GROUP : String\n+00009a90: 3b20 504f 5254 203a 2050 6f73 6974 6976 ; PORT : Positiv\n+00009aa0: 653b 0a20 2020 2020 2020 2020 2020 2020 e;. \n+00009ab0: 2020 4c4f 4341 4c5f 504f 5254 203a 204e LOCAL_PORT : N\n+00009ac0: 6174 7572 616c 3b20 5454 4c20 3a20 506f atural; TTL : Po\n+00009ad0: 7369 7469 7665 203a 3d20 3136 3b0a 2020 sitive := 16;. \n+00009ae0: 2020 2020 2020 2020 2020 2020 204c 4f43 LOC\n+00009af0: 414c 5f49 4620 3a20 5374 7269 6e67 203a AL_IF : String :\n+00009b00: 3d20 302e 302e 302e 3029 0a20 2020 2020 = 0.0.0.0). \n+00009b10: 2020 2020 2020 2020 2020 7265 7475 726e return\n+00009b20: 204d 756c 7469 6361 7374 5f53 6f63 6b65 Multicast_Socke\n+00009b30: 745f 4644 3b0a 0a50 4152 414d 4554 4552 t_FD;..PARAMETER\n+00009b40: 530a 2020 2020 2047 524f 5550 2020 2020 S. GROUP \n+00009b50: 2020 696e 2020 2020 2020 2020 2049 5020 in IP \n+00009b60: 6164 6472 6573 7320 6f66 2074 6865 206d address of the m\n+00009b70: 756c 7469 6361 7374 2067 726f 7570 2074 ulticast group t\n+00009b80: 6f0a 2020 2020 2020 2020 2020 2020 2020 o. \n+00009b90: 2020 2020 2020 2020 2020 2020 206a 6f69 joi\n+00009ba0: 6e0a 2020 2020 2050 4f52 5420 2020 2020 n. PORT \n+00009bb0: 2020 696e 2020 2020 2020 2020 2050 6f72 in Por\n+00009bc0: 7420 6f66 2074 6865 206d 756c 7469 6361 t of the multica\n+00009bd0: 7374 2067 726f 7570 2074 6f20 6a6f 696e st group to join\n+00009be0: 0a20 2020 2020 4c4f 4341 4c5f 504f 5254 . LOCAL_PORT\n+00009bf0: 2069 6e20 2020 2020 2020 2020 4c6f 6361 in Loca\n+00009c00: 6c20 706f 7274 206e 756d 6265 7220 746f l port number to\n+00009c10: 2075 7365 0a20 2020 2020 5454 4c20 2020 use. TTL \n+00009c20: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00009c30: 5469 6d65 2d74 6f2d 6c69 7665 206f 6620 Time-to-live of \n+00009c40: 7365 6e74 2070 6163 6b65 7473 0a20 2020 sent packets. \n+00009c50: 2020 4c4f 4341 4c5f 4946 2020 2069 6e20 LOCAL_IF in \n+00009c60: 2020 2020 2020 2020 4164 6472 6573 7320 Address \n+00009c70: 6f66 2074 6865 206c 6f63 616c 2069 6e74 of the local int\n+00009c80: 6572 6661 6365 2074 6f20 7573 650a 0a52 erface to use..R\n+00009c90: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+00009ca0: 2054 6865 206e 6577 2069 6e69 7469 616c The new initial\n+00009cb0: 697a 6564 206d 756c 7469 6361 7374 2073 ized multicast s\n+00009cc0: 6f63 6b65 740a 0a44 4553 4352 4950 5449 ocket..DESCRIPTI\n+00009cd0: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+00009ce0: 6374 696f 6e20 6372 6561 7465 7320 616e ction creates an\n+00009cf0: 2049 5020 6d75 6c74 6963 6173 7420 736f IP multicast so\n+00009d00: 636b 6574 2061 7474 6163 6865 6420 746f cket attached to\n+00009d10: 2061 2067 6976 656e 0a20 2020 2020 6772 a given. gr\n+00009d20: 6f75 702c 2069 6465 6e74 6966 6965 6420 oup, identified \n+00009d30: 6279 2069 7473 2063 6c61 7373 2045 2049 by its class E I\n+00009d40: 5020 6164 6472 6573 7320 616e 6420 706f P address and po\n+00009d50: 7274 2e20 2049 660a 2020 2020 204c 6f63 rt. If. Loc\n+00009d60: 616c 5f50 6f72 7420 6973 2030 2c20 6120 al_Port is 0, a \n+00009d70: 6672 6565 2070 6f72 7420 7769 6c6c 2061 free port will a\n+00009d80: 7574 6f6d 6174 6963 616c 6c79 2062 6520 utomatically be \n+00009d90: 6368 6f73 656e 2062 7920 796f 7572 0a20 chosen by your. \n+00009da0: 2020 2020 6f70 6572 6174 696e 6720 7379 operating sy\n+00009db0: 7374 656d 2e0a 0a20 2020 2020 5468 6973 stem... This\n+00009dc0: 2066 756e 6374 696f 6e20 7368 6f75 6c64 function should\n+00009dd0: 2062 6520 7573 6564 2077 6865 6e20 796f be used when yo\n+00009de0: 7520 7761 6e74 2074 6f20 7365 6e64 2070 u want to send p\n+00009df0: 6163 6b65 7473 2074 6f20 610a 2020 2020 ackets to a. \n+00009e00: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n+00009e10: 2077 6974 686f 7574 2072 6563 6569 7669 without receivi\n+00009e20: 6e67 2061 6e79 2070 6163 6b65 7420 796f ng any packet yo\n+00009e30: 7572 7365 6c66 2e0a 0a45 5841 4d50 4c45 urself...EXAMPLE\n+00009e40: 0a20 2020 2020 2020 2020 2064 6563 6c61 . decla\n+00009e50: 7265 0a20 2020 2020 2020 2020 2020 2020 re. \n+00009e60: 536f 636b 203a 204d 756c 7469 6361 7374 Sock : Multicast\n+00009e70: 5f53 6f63 6b65 745f 4644 3b0a 2020 2020 _Socket_FD;. \n+00009e80: 2020 2020 2020 6265 6769 6e0a 2020 2020 begin. \n+00009e90: 2020 2020 2020 2020 202d 2d20 4372 6561 -- Crea\n+00009ea0: 7465 2061 206d 756c 7469 6361 7374 2073 te a multicast s\n+00009eb0: 6f63 6b65 7420 6f6e 2067 726f 7570 2032 ocket on group 2\n+00009ec0: 3234 2e31 2e32 2e33 2070 6f72 7420 3837 24.1.2.3 port 87\n+00009ed0: 3633 0a20 2020 2020 2020 2020 2020 2020 63. \n+00009ee0: 536f 636b 203a 3d20 4372 6561 7465 5f4d Sock := Create_M\n+00009ef0: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+00009f00: 2822 3232 342e 312e 322e 3322 2c20 3837 (\"224.1.2.3\", 87\n+00009f10: 3633 293b 0a20 2020 2020 2020 2020 2020 63);. \n+00009f20: 2020 2d2d 2050 6572 666f 726d 2073 6f6d -- Perform som\n+00009f30: 6520 6f70 6572 6174 696f 6e73 206f 6e20 e operations on \n+00009f40: 736f 636b 6574 0a20 2020 2020 2020 2020 socket. \n+00009f50: 2020 2020 5b2e 2e2e 5d0a 2020 2020 2020 [...]. \n+00009f60: 2020 2020 2020 202d 2d20 5368 7574 646f -- Shutdo\n+00009f70: 776e 2074 6865 2073 6f63 6b65 7420 696e wn the socket in\n+00009f80: 2062 6f74 6820 6469 7265 6374 696f 6e73 both directions\n+00009f90: 0a20 2020 2020 2020 2020 2020 2020 5368 . Sh\n+00009fa0: 7574 646f 776e 2028 536f 636b 2c20 426f utdown (Sock, Bo\n+00009fb0: 7468 293b 0a20 2020 2020 2020 2020 2065 th);. e\n+00009fc0: 6e64 3b0a 0a53 4545 2041 4c53 4f0a 2020 nd;..SEE ALSO. \n+00009fd0: 2020 202a 6e6f 7465 2053 656e 6420 2870 *note Send (p\n+00009fe0: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00009ff0: 2020 2a6e 6f74 6520 5368 7574 646f 776e *note Shutdown\n+0000a000: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+0000a010: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+0000a020: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+0000a030: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000a040: 7061 636b 6167 652c 2020 4e65 7874 3a20 package, Next: \n+0000a050: 436f 6e74 7269 6275 746f 7273 2c20 2050 Contributors, P\n+0000a060: 7265 763a 2053 6f63 6b65 7473 2e4d 756c rev: Sockets.Mul\n+0000a070: 7469 6361 7374 2070 6163 6b61 6765 2c20 ticast package, \n+0000a080: 2055 703a 2054 6f70 0a0a 3620 536f 636b Up: Top..6 Sock\n+0000a090: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n+0000a0a0: 6765 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ge.*************\n+0000a0b0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 ***********..The\n+0000a0c0: 20e2 8098 536f 636b 6574 732e 4e61 6d69 ...Sockets.Nami\n+0000a0d0: 6e67 e280 9920 7061 636b 6167 6520 636f ng... package co\n+0000a0e0: 6e74 6169 6e73 2074 7970 6573 2061 6e64 ntains types and\n+0000a0f0: 2068 656c 7065 7220 6675 6e63 7469 6f6e helper function\n+0000a100: 7320 6e65 6564 6564 0a74 6f20 6d61 6e69 s needed.to mani\n+0000a110: 7075 6c61 7465 2049 6e74 6572 6e65 7420 pulate Internet \n+0000a120: 686f 7374 206e 616d 6573 2061 6e64 2061 host names and a\n+0000a130: 6464 7265 7373 6573 2e0a 0a20 2d2d 2053 ddresses... -- S\n+0000a140: 6f63 6b65 7473 2e4e 616d 696e 672e 4164 ockets.Naming.Ad\n+0000a150: 6472 6573 733a 2074 7970 6520 4164 6472 dress: type Addr\n+0000a160: 6573 7320 6973 2072 6563 6f72 640a 2020 ess is record. \n+0000a170: 2020 2020 2020 2020 2048 312c 2048 322c H1, H2,\n+0000a180: 2048 332c 2048 3420 3a20 4164 6472 6573 H3, H4 : Addres\n+0000a190: 735f 436f 6d70 6f6e 656e 743b 0a20 2020 s_Component;. \n+0000a1a0: 2020 2020 2020 2065 6e64 2072 6563 6f72 end recor\n+0000a1b0: 643b 0a20 2020 2020 5468 6973 2074 7970 d;. This typ\n+0000a1c0: 6520 7265 7072 6573 656e 7473 2061 6e20 e represents an \n+0000a1d0: 4950 7634 2061 6464 7265 7373 2077 6974 IPv4 address wit\n+0000a1e0: 6820 e280 9848 31e2 8099 2062 6569 6e67 h ...H1... being\n+0000a1f0: 2074 6865 2066 6972 7374 0a20 2020 2020 the first. \n+0000a200: 6f63 7465 7420 616e 6420 e280 9848 34e2 octet and ...H4.\n+0000a210: 8099 2074 6865 206c 6173 7420 6f6e 652e .. the last one.\n+0000a220: 2020 466f 7220 6578 616d 706c 652c 2031 For example, 1\n+0000a230: 3337 2e31 3934 2e31 3631 2e32 2069 730a 37.194.161.2 is.\n+0000a240: 2020 2020 2072 6570 7265 7365 6e74 6564 represented\n+0000a250: 2062 7920 e280 9848 313d 3133 372c 2048 by ...H1=137, H\n+0000a260: 323d 3139 342c 2048 333d 3136 312c 2048 2=194, H3=161, H\n+0000a270: 343d 32e2 8099 2e0a 0a20 2d2d 2053 6f63 4=2...... -- Soc\n+0000a280: 6b65 7473 2e4e 616d 696e 672e 4164 6472 kets.Naming.Addr\n+0000a290: 6573 735f 4172 7261 793a 2074 7970 6520 ess_Array: type \n+0000a2a0: 4164 6472 6573 735f 4172 7261 7920 6973 Address_Array is\n+0000a2b0: 2061 7272 6179 2028 506f 7369 7469 7665 array (Positive\n+0000a2c0: 0a20 2020 2020 2020 2020 2072 616e 6765 . range\n+0000a2d0: 203c 3e29 206f 6620 4164 6472 6573 733b <>) of Address;\n+0000a2e0: 0a20 2020 2020 4865 6c70 6572 2074 7970 . Helper typ\n+0000a2f0: 650a 0a20 2d2d 2053 6f63 6b65 7473 2e4e e.. -- Sockets.N\n+0000a300: 616d 696e 672e 4164 6472 6573 735f 436f aming.Address_Co\n+0000a310: 6d70 6f6e 656e 743a 2074 7970 6520 4164 mponent: type Ad\n+0000a320: 6472 6573 735f 436f 6d70 6f6e 656e 7420 dress_Component \n+0000a330: 6973 204e 6174 7572 616c 0a20 2020 2020 is Natural. \n+0000a340: 2020 2020 2072 616e 6765 2030 202e 2e20 range 0 .. \n+0000a350: 3235 353b 0a20 2020 2020 4865 6c70 6572 255;. Helper\n+0000a360: 2074 7970 650a 0a20 2d2d 2053 6f63 6b65 type.. -- Socke\n+0000a370: 7473 2e4e 616d 696e 672e 486f 7374 5f45 ts.Naming.Host_E\n+0000a380: 6e74 7279 3a20 7479 7065 2048 6f73 745f ntry: type Host_\n+0000a390: 456e 7472 7920 284e 5f41 6c69 6173 6573 Entry (N_Aliases\n+0000a3a0: 2c20 4e5f 4164 6472 6573 7365 7320 3a0a , N_Addresses :.\n+0000a3b0: 2020 2020 2020 2020 2020 4e61 7475 7261 Natura\n+0000a3c0: 6c29 2069 7320 6e65 7720 4164 612e 4669 l) is new Ada.Fi\n+0000a3d0: 6e61 6c69 7a61 7469 6f6e 2e43 6f6e 7472 nalization.Contr\n+0000a3e0: 6f6c 6c65 6420 7769 7468 2072 6563 6f72 olled with recor\n+0000a3f0: 640a 2020 2020 2020 2020 2020 2020 4e61 d. Na\n+0000a400: 6d65 203a 2053 7472 696e 675f 4163 6365 me : String_Acce\n+0000a410: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n+0000a420: 416c 6961 7365 7320 3a20 5374 7269 6e67 Aliases : String\n+0000a430: 5f41 7272 6179 2028 3120 2e2e 204e 5f41 _Array (1 .. N_A\n+0000a440: 6c69 6173 6573 293b 0a20 2020 2020 2020 liases);. \n+0000a450: 2020 2020 2041 6464 7265 7373 6573 203a Addresses :\n+0000a460: 2041 6464 7265 7373 5f41 7272 6179 2028 Address_Array (\n+0000a470: 3120 2e2e 204e 5f41 6464 7265 7373 6573 1 .. N_Addresses\n+0000a480: 293b 0a20 2020 2020 2020 2020 2065 6e64 );. end\n+0000a490: 2072 6563 6f72 643b 0a20 2020 2020 5468 record;. Th\n+0000a4a0: 6520 e280 9848 6f73 745f 456e 7472 79e2 e ...Host_Entry.\n+0000a4b0: 8099 2074 7970 6520 686f 6c64 7320 6120 .. type holds a \n+0000a4c0: 7365 7420 6f66 206e 616d 6573 2061 6e64 set of names and\n+0000a4d0: 2049 5020 6164 6472 6573 7365 730a 2020 IP addresses. \n+0000a4e0: 2020 2061 7373 6f63 6961 7465 6420 7769 associated wi\n+0000a4f0: 7468 2061 2068 6f73 742e 2020 4561 6368 th a host. Each\n+0000a500: 2068 6f73 7420 6361 6e20 6861 7665 2073 host can have s\n+0000a510: 6576 6572 616c 2049 5020 6164 6472 6573 everal IP addres\n+0000a520: 7320 6173 0a20 2020 2020 7765 6c6c 2061 s as. well a\n+0000a530: 7320 7365 7665 7261 6c20 616c 6961 7365 s several aliase\n+0000a540: 732e 0a0a 202d 2d20 536f 636b 6574 732e s... -- Sockets.\n+0000a550: 4e61 6d69 6e67 2e53 7472 696e 675f 4163 Naming.String_Ac\n+0000a560: 6365 7373 3a20 7479 7065 2053 7472 696e cess: type Strin\n+0000a570: 675f 4163 6365 7373 2069 7320 6163 6365 g_Access is acce\n+0000a580: 7373 2053 7472 696e 673b 0a20 2020 2020 ss String;. \n+0000a590: 4865 6c70 6572 2074 7970 650a 0a20 2d2d Helper type.. --\n+0000a5a0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+0000a5b0: 5374 7269 6e67 5f41 7272 6179 3a20 7479 String_Array: ty\n+0000a5c0: 7065 2053 7472 696e 675f 4172 7261 7920 pe String_Array \n+0000a5d0: 6973 2061 7272 6179 2028 506f 7369 7469 is array (Positi\n+0000a5e0: 7665 0a20 2020 2020 2020 2020 2072 616e ve. ran\n+0000a5f0: 6765 203c 3e29 206f 6620 5374 7269 6e67 ge <>) of String\n+0000a600: 5f41 6363 6573 733b 0a20 2020 2020 4865 _Access;. He\n+0000a610: 6c70 6572 2074 7970 650a 0a2a 204d 656e lper type..* Men\n+0000a620: 753a 0a0a 2a20 4164 6472 6573 735f 4f66 u:..* Address_Of\n+0000a630: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n 0000a640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a650: 2020 2047 6574 2061 6464 7265 7373 6573 Get addresses\n-0000a660: 2061 6e64 206e 616d 6573 206f 6620 6120 and names of a \n-0000a670: 686f 7374 0a2a 2049 735f 4950 5f41 6464 host.* Is_IP_Add\n-0000a680: 7265 7373 2028 6675 6e63 7469 6f6e 293a ress (function):\n-0000a690: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n-0000a6a0: 2020 2020 2020 2020 2020 4368 6563 6b20 Check \n-0000a6b0: 6966 2067 6976 656e 2073 7472 696e 6720 if given string \n-0000a6c0: 6973 2061 2076 616c 6964 2049 5020 6164 is a valid IP ad\n-0000a6d0: 6472 6573 730a 2a20 4e61 6d65 5f4f 6620 dress.* Name_Of \n-0000a6e0: 2866 756e 6374 696f 6e29 3a3a 2020 4f66 (function):: Of\n-0000a6f0: 6669 6369 616c 206e 616d 6520 6f66 2074 ficial name of t\n-0000a700: 6865 2068 6f73 740a 2a20 5661 6c75 6520 he host.* Value \n-0000a710: 2866 756e 6374 696f 6e29 3a3a 2020 2020 (function):: \n-0000a720: 5472 616e 7366 6f72 6d20 6120 7374 7269 Transform a stri\n-0000a730: 6e67 2069 6e74 6f20 616e 2061 6464 7265 ng into an addre\n-0000a740: 7373 0a0a 1f0a 4669 6c65 3a20 6164 6173 ss....File: adas\n-0000a750: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-0000a760: 6465 3a20 4164 6472 6573 735f 4f66 2028 de: Address_Of (\n-0000a770: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000a780: 3a20 416e 795f 4164 6472 6573 7320 2866 : Any_Address (f\n-0000a790: 756e 6374 696f 6e29 2c20 2055 703a 2053 unction), Up: S\n-0000a7a0: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n-0000a7b0: 636b 6167 650a 0a41 6464 7265 7373 5f4f ckage..Address_O\n-0000a7c0: 6620 2866 756e 6374 696f 6e29 0a3d 3d3d f (function).===\n-0000a7d0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-0000a7e0: 3d3d 0a0a 5055 5250 4f53 450a 2020 2020 ==..PURPOSE. \n-0000a7f0: 2047 6574 2074 6865 2049 5020 6164 6472 Get the IP addr\n-0000a800: 6573 7320 6f66 2061 2068 6f73 740a 5052 ess of a host.PR\n-0000a810: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-0000a820: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-0000a830: 4164 6472 6573 735f 4f66 3a20 6675 6e63 Address_Of: func\n-0000a840: 7469 6f6e 2041 6464 7265 7373 5f4f 660a tion Address_Of.\n-0000a850: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000a860: 534f 4d45 5448 494e 4720 3a20 5374 7269 SOMETHING : Stri\n-0000a870: 6e67 290a 2020 2020 2020 2020 2020 2020 ng). \n-0000a880: 2020 2072 6574 7572 6e20 4164 6472 6573 return Addres\n-0000a890: 733b 0a0a 5041 5241 4d45 5445 5253 0a20 s;..PARAMETERS. \n-0000a8a0: 2020 2020 534f 4d45 5448 494e 4720 2069 SOMETHING i\n-0000a8b0: 6e20 2020 2020 2020 2020 486f 7374 206e n Host n\n-0000a8c0: 616d 6520 6f72 2049 5020 6164 6472 6573 ame or IP addres\n-0000a8d0: 730a 0a52 4554 5552 4e20 5641 4c55 450a s..RETURN VALUE.\n-0000a8e0: 2020 2020 2049 5076 3420 6164 6472 6573 IPv4 addres\n-0000a8f0: 730a 0a45 5843 4550 5449 4f4e 530a 2020 s..EXCEPTIONS. \n-0000a900: 2020 20e2 8098 4e61 6d69 6e67 5f45 7272 ...Naming_Err\n-0000a910: 6f72 e280 9920 2020 2020 4e6f 2069 6e66 or... No inf\n-0000a920: 6f72 6d61 7469 6f6e 2061 7661 696c 6162 ormation availab\n-0000a930: 6c65 2066 6f72 2074 6869 7320 6e61 6d65 le for this name\n-0000a940: 206f 720a 2020 2020 2020 2020 2020 2020 or. \n-0000a950: 2020 2020 2020 2020 2020 2020 6164 6472 addr\n-0000a960: 6573 730a 0a53 4545 2041 4c53 4f0a 2020 ess..SEE ALSO. \n-0000a970: 2020 202a 6e6f 7465 204e 616d 655f 4f66 *note Name_Of\n-0000a980: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n-0000a990: 2a20 4d65 6e75 3a0a 0a2a 2041 6e79 5f41 * Menu:..* Any_A\n-0000a9a0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-0000a9b0: 293a 3a0a 2a20 4765 745f 5065 6572 5f41 )::.* Get_Peer_A\n-0000a9c0: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-0000a9d0: 0a2a 2047 6574 5f50 6565 725f 506f 7274 .* Get_Peer_Port\n-0000a9e0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n-0000a9f0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n-0000aa00: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n-0000aa10: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000aa20: 7469 6f6e 293a 3a0a 2a20 486f 7374 5f4e tion)::.* Host_N\n-0000aa30: 616d 6520 2866 756e 6374 696f 6e29 3a3a ame (function)::\n-0000aa40: 0a2a 2049 6d61 6765 2028 6675 6e63 7469 .* Image (functi\n-0000aa50: 6f6e 293a 3a0a 2a20 496e 666f 5f4f 665f on)::.* Info_Of_\n-0000aa60: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n-0000aa70: 7469 6f6e 293a 3a0a 2a20 4973 5f49 505f tion)::.* Is_IP_\n-0000aa80: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-0000aa90: 6e29 3a3a 0a2a 204e 616d 655f 4f66 2028 n)::.* Name_Of (\n-0000aaa0: 6675 6e63 7469 6f6e 293a 3a0a 2a20 5661 function)::.* Va\n-0000aab0: 6c75 6520 2866 756e 6374 696f 6e29 3a3a lue (function)::\n-0000aac0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n-0000aad0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n-0000aae0: 3a20 416e 795f 4164 6472 6573 7320 2866 : Any_Address (f\n-0000aaf0: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n-0000ab00: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n-0000ab10: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n-0000ab20: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000ab30: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n-0000ab40: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000ab50: 6f6e 290a 0a41 6e79 5f41 6464 7265 7373 on)..Any_Address\n-0000ab60: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-0000ab70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000ab80: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-0000ab90: 2053 7065 6369 616c 2061 6464 7265 7373 Special address\n-0000aba0: 2072 6570 7265 7365 6e74 696e 6720 616e representing an\n-0000abb0: 7920 6164 6472 6573 7320 6f6e 2074 6865 y address on the\n-0000abc0: 206c 6f63 616c 2068 6f73 740a 5052 4f54 local host.PROT\n-0000abd0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000abe0: 6f63 6b65 7473 2e4e 616d 696e 672e 416e ockets.Naming.An\n-0000abf0: 795f 4164 6472 6573 733a 2066 756e 6374 y_Address: funct\n-0000ac00: 696f 6e20 416e 795f 4164 6472 6573 730a ion Any_Address.\n-0000ac10: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-0000ac20: 2020 2045 7175 6976 616c 656e 7420 746f Equivalent to\n-0000ac30: 20e2 8098 494e 4144 4452 5f41 4e59 e280 ...INADDR_ANY..\n-0000ac40: 9920 696e 2074 6865 2043 2070 726f 6772 . in the C progr\n-0000ac50: 616d 6d69 6e67 206c 616e 6775 6167 650a amming language.\n-0000ac60: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000ac70: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000ac80: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n-0000ac90: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000aca0: 3a20 4765 745f 5065 6572 5f50 6f72 7420 : Get_Peer_Port \n-0000acb0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-0000acc0: 763a 2041 6e79 5f41 6464 7265 7373 2028 v: Any_Address (\n-0000acd0: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n-0000ace0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000acf0: 7469 6f6e 290a 0a47 6574 5f50 6565 725f tion)..Get_Peer_\n-0000ad00: 4164 6472 2028 6675 6e63 7469 6f6e 290a Addr (function).\n-0000ad10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000ad20: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000ad30: 450a 2020 2020 2052 6574 7269 6576 6520 E. Retrieve \n-0000ad40: 4950 2061 6464 7265 7373 206f 6620 7265 IP address of re\n-0000ad50: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n-0000ad60: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-0000ad70: 6b65 7473 2e4e 616d 696e 672e 4765 745f kets.Naming.Get_\n-0000ad80: 5065 6572 5f41 6464 723a 2066 756e 6374 Peer_Addr: funct\n-0000ad90: 696f 6e20 4765 745f 5065 6572 5f41 6464 ion Get_Peer_Add\n-0000ada0: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n-0000adb0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n-0000adc0: 745f 4644 290a 2020 2020 2020 2020 2020 t_FD). \n-0000add0: 2020 2020 2072 6574 7572 6e20 4164 6472 return Addr\n-0000ade0: 6573 733b 0a0a 5041 5241 4d45 5445 5253 ess;..PARAMETERS\n-0000adf0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-0000ae00: 2069 6e20 2020 2020 2020 2020 436f 6e6e in Conn\n-0000ae10: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-0000ae20: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n-0000ae30: 450a 2020 2020 2050 6565 7220 6164 6472 E. Peer addr\n-0000ae40: 6573 730a 0a53 4545 2041 4c53 4f0a 2020 ess..SEE ALSO. \n-0000ae50: 2020 202a 6e6f 7465 2047 6574 5f50 6565 *note Get_Pee\n-0000ae60: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-0000ae70: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-0000ae80: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n-0000ae90: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n-0000aea0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000aeb0: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n-0000aec0: 5f50 6565 725f 506f 7274 2028 6675 6e63 _Peer_Port (func\n-0000aed0: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n-0000aee0: 745f 536f 636b 5f41 6464 7220 2866 756e t_Sock_Addr (fun\n-0000aef0: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n-0000af00: 6574 5f50 6565 725f 4164 6472 2028 6675 et_Peer_Addr (fu\n-0000af10: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n-0000af20: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000af30: 6f6e 290a 0a47 6574 5f50 6565 725f 506f on)..Get_Peer_Po\n-0000af40: 7274 2028 6675 6e63 7469 6f6e 290a 2d2d rt (function).--\n-0000af50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000af60: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-0000af70: 2020 2020 2052 6574 7269 6576 6520 706f Retrieve po\n-0000af80: 7274 2075 7365 6420 6279 2072 656d 6f74 rt used by remot\n-0000af90: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n-0000afa0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-0000afb0: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565 s.Naming.Get_Pee\n-0000afc0: 725f 506f 7274 3a20 6675 6e63 7469 6f6e r_Port: function\n-0000afd0: 2047 6574 5f50 6565 725f 506f 7274 0a20 Get_Peer_Port. \n-0000afe0: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n-0000aff0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-0000b000: 4429 0a20 2020 2020 2020 2020 2020 2020 D). \n-0000b010: 2020 7265 7475 726e 2050 6f73 6974 6976 return Positiv\n-0000b020: 653b 0a0a 5041 5241 4d45 5445 5253 0a20 e;..PARAMETERS. \n-0000b030: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-0000b040: 6e20 2020 2020 2020 2020 436f 6e6e 6563 n Connec\n-0000b050: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n-0000b060: 740a 0a52 4554 5552 4e20 5641 4c55 450a t..RETURN VALUE.\n-0000b070: 2020 2020 2050 6f72 7420 7573 6564 206f Port used o\n-0000b080: 6e20 7468 6520 7265 6d6f 7465 2068 6f73 n the remote hos\n-0000b090: 740a 0a53 4545 2041 4c53 4f0a 2020 2020 t..SEE ALSO. \n-0000b0a0: 202a 6e6f 7465 2047 6574 5f53 6f63 6b5f *note Get_Sock_\n-0000b0b0: 506f 7274 2028 6675 6e63 7469 6f6e 293a Port (function):\n-0000b0c0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-0000b0d0: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n-0000b0e0: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil\n-0000b0f0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000b100: 666f 2c20 204e 6f64 653a 2047 6574 5f53 fo, Node: Get_S\n-0000b110: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n-0000b120: 6f6e 292c 2020 4e65 7874 3a20 4765 745f on), Next: Get_\n-0000b130: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct\n-0000b140: 696f 6e29 2c20 2050 7265 763a 2047 6574 ion), Prev: Get\n-0000b150: 5f50 6565 725f 506f 7274 2028 6675 6e63 _Peer_Port (func\n-0000b160: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n-0000b170: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n-0000b180: 290a 0a47 6574 5f53 6f63 6b5f 4164 6472 )..Get_Sock_Addr\n-0000b190: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-0000b1a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b1b0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-0000b1c0: 2020 2052 6574 7269 6576 6520 4950 2061 Retrieve IP a\n-0000b1d0: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local \n-0000b1e0: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n-0000b1f0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-0000b200: 4e61 6d69 6e67 2e47 6574 5f53 6f63 6b5f Naming.Get_Sock_\n-0000b210: 4164 6472 3a20 6675 6e63 7469 6f6e 2047 Addr: function G\n-0000b220: 6574 5f53 6f63 6b5f 4164 6472 0a20 2020 et_Sock_Addr. \n-0000b230: 2020 2020 2020 2020 2020 2020 2853 4f43 (SOC\n-0000b240: 4b45 5420 3a20 536f 636b 6574 5f46 4429 KET : Socket_FD)\n-0000b250: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000b260: 7265 7475 726e 2041 6464 7265 7373 3b0a return Address;.\n-0000b270: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000b280: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-0000b290: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected\n-0000b2a0: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n-0000b2b0: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-0000b2c0: 2020 4164 6472 6573 7320 6f66 206c 6f63 Address of loc\n-0000b2d0: 616c 2069 6e74 6572 6661 6365 2075 7365 al interface use\n-0000b2e0: 640a 0a53 4545 2041 4c53 4f0a 2020 2020 d..SEE ALSO. \n-0000b2f0: 202a 6e6f 7465 2047 6574 5f53 6f63 6b5f *note Get_Sock_\n-0000b300: 506f 7274 2028 6675 6e63 7469 6f6e 293a Port (function):\n-0000b310: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-0000b320: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n-0000b330: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil\n-0000b340: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000b350: 666f 2c20 204e 6f64 653a 2047 6574 5f53 fo, Node: Get_S\n-0000b360: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n-0000b370: 6f6e 292c 2020 4e65 7874 3a20 486f 7374 on), Next: Host\n-0000b380: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n-0000b390: 2c20 2050 7265 763a 2047 6574 5f53 6f63 , Prev: Get_Soc\n-0000b3a0: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function\n-0000b3b0: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n-0000b3c0: 4f66 2028 6675 6e63 7469 6f6e 290a 0a47 Of (function)..G\n-0000b3d0: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n-0000b3e0: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-0000b3f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b400: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n-0000b410: 6574 7269 6576 6520 706f 7274 2075 7365 etrieve port use\n-0000b420: 6420 6279 206c 6f63 616c 2068 6f73 740a d by local host.\n-0000b430: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-0000b440: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-0000b450: 672e 4765 745f 536f 636b 5f50 6f72 743a g.Get_Sock_Port:\n-0000b460: 2066 756e 6374 696f 6e20 4765 745f 536f function Get_So\n-0000b470: 636b 5f50 6f72 740a 2020 2020 2020 2020 ck_Port. \n-0000b480: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-0000b490: 2053 6f63 6b65 745f 4644 290a 2020 2020 Socket_FD). \n-0000b4a0: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n-0000b4b0: 6e20 506f 7369 7469 7665 3b0a 0a50 4152 n Positive;..PAR\n-0000b4c0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-0000b4d0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-0000b4e0: 2020 2043 6f6e 6e65 6374 6564 2073 6f63 Connected soc\n-0000b4f0: 6b65 7420 6f62 6a65 6374 0a0a 5245 5455 ket object..RETU\n-0000b500: 524e 2056 414c 5545 0a20 2020 2020 506f RN VALUE. Po\n-0000b510: 7274 2075 7365 6420 6f6e 2074 6865 206c rt used on the l\n-0000b520: 6f63 616c 2068 6f73 740a 0a53 4545 2041 ocal host..SEE A\n-0000b530: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047 LSO. *note G\n-0000b540: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n-0000b550: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n-0000b560: 2a6e 6f74 6520 4765 745f 536f 636b 5f41 *note Get_Sock_A\n-0000b570: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-0000b580: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-0000b590: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000b5a0: 653a 2048 6f73 745f 4e61 6d65 2028 6675 e: Host_Name (fu\n-0000b5b0: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000b5c0: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function)\n-0000b5d0: 2c20 2050 7265 763a 2047 6574 5f53 6f63 , Prev: Get_Soc\n-0000b5e0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n-0000b5f0: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n-0000b600: 4f66 2028 6675 6e63 7469 6f6e 290a 0a48 Of (function)..H\n-0000b610: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi\n-0000b620: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-0000b630: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000b640: 450a 2020 2020 2047 6574 2074 6865 206e E. Get the n\n-0000b650: 616d 6520 6f66 2074 6865 2063 7572 7265 ame of the curre\n-0000b660: 6e74 2068 6f73 740a 5052 4f54 4f54 5950 nt host.PROTOTYP\n-0000b670: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-0000b680: 7473 2e4e 616d 696e 672e 486f 7374 5f4e ts.Naming.Host_N\n-0000b690: 616d 653a 2066 756e 6374 696f 6e20 486f ame: function Ho\n-0000b6a0: 7374 5f4e 616d 650a 0a52 4554 5552 4e20 st_Name..RETURN \n-0000b6b0: 5641 4c55 450a 2020 2020 204e 616d 6520 VALUE. Name \n-0000b6c0: 6f66 2074 6865 2063 7572 7265 6e74 2068 of the current h\n-0000b6d0: 6f73 740a 0a44 4553 4352 4950 5449 4f4e ost..DESCRIPTION\n-0000b6e0: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n-0000b6f0: 696f 6e20 7265 7475 726e 7320 7468 6520 ion returns the \n-0000b700: 6e61 6d65 206f 6620 7468 6520 6375 7272 name of the curr\n-0000b710: 656e 7420 686f 7374 2e20 2044 6570 656e ent host. Depen\n-0000b720: 6469 6e67 206f 6e0a 2020 2020 2074 6865 ding on. the\n-0000b730: 206c 6f63 616c 2063 6f6e 6669 6775 7261 local configura\n-0000b740: 7469 6f6e 2c20 6974 206d 6179 206f 7220 tion, it may or \n-0000b750: 6d61 7920 6e6f 7420 6265 2061 2066 756c may not be a ful\n-0000b760: 6c79 2071 7561 6c69 6669 6564 0a20 2020 ly qualified. \n-0000b770: 2020 646f 6d61 696e 206e 616d 6520 2846 domain name (F\n-0000b780: 5144 4e29 2e0a 0a1f 0a46 696c 653a 2061 QDN).....File: a\n-0000b790: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-0000b7a0: 204e 6f64 653a 2049 6d61 6765 2028 6675 Node: Image (fu\n-0000b7b0: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000b7c0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n-0000b7d0: 4950 2028 6675 6e63 7469 6f6e 292c 2020 IP (function), \n-0000b7e0: 5072 6576 3a20 486f 7374 5f4e 616d 6520 Prev: Host_Name \n-0000b7f0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n-0000b800: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n-0000b810: 6374 696f 6e29 0a0a 496d 6167 6520 2866 ction)..Image (f\n-0000b820: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n-0000b830: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-0000b840: 5345 0a20 2020 2020 4d61 6b65 2061 2073 SE. Make a s\n-0000b850: 7472 696e 6720 6672 6f6d 2061 6e20 6164 tring from an ad\n-0000b860: 6472 6573 730a 5052 4f54 4f54 5950 450a dress.PROTOTYPE.\n-0000b870: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-0000b880: 2e4e 616d 696e 672e 496d 6167 653a 2066 .Naming.Image: f\n-0000b890: 756e 6374 696f 6e20 496d 6167 6520 2841 unction Image (A\n-0000b8a0: 4444 203a 2041 6464 7265 7373 290a 2020 DD : Address). \n-0000b8b0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-0000b8c0: 7572 6e20 5374 7269 6e67 3b0a 0a50 4152 urn String;..PAR\n-0000b8d0: 414d 4554 4552 530a 2020 2020 2041 4444 AMETERS. ADD\n-0000b8e0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-0000b8f0: 2020 2049 5020 6164 6472 6573 730a 0a52 IP address..R\n-0000b900: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n-0000b910: 2053 7472 696e 6720 7265 7072 6573 656e String represen\n-0000b920: 7461 7469 6f6e 206f 6620 7468 6520 4950 tation of the IP\n-0000b930: 2061 6464 7265 7373 0a0a 5345 4520 414c address..SEE AL\n-0000b940: 534f 0a20 2020 2020 2a6e 6f74 6520 5661 SO. *note Va\n-0000b950: 6c75 6520 2866 756e 6374 696f 6e29 3a3a lue (function)::\n-0000b960: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-0000b970: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000b980: 653a 2049 6e66 6f5f 4f66 5f4e 616d 655f e: Info_Of_Name_\n-0000b990: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function)\n-0000b9a0: 2c20 204e 6578 743a 2049 735f 4950 5f41 , Next: Is_IP_A\n-0000b9b0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-0000b9c0: 292c 2020 5072 6576 3a20 496d 6167 6520 ), Prev: Image \n-0000b9d0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n-0000b9e0: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n-0000b9f0: 6374 696f 6e29 0a0a 496e 666f 5f4f 665f ction)..Info_Of_\n-0000ba00: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n-0000ba10: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-0000ba20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000ba30: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-0000ba40: 2020 4765 7420 6164 6472 6573 7365 7320 Get addresses \n-0000ba50: 616e 6420 6e61 6d65 7320 6f66 2061 2068 and names of a h\n-0000ba60: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-0000ba70: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n-0000ba80: 616d 696e 672e 496e 666f 5f4f 665f 4e61 aming.Info_Of_Na\n-0000ba90: 6d65 5f4f 725f 4950 3a20 6675 6e63 7469 me_Or_IP: functi\n-0000baa0: 6f6e 2049 6e66 6f5f 4f66 5f4e 616d 655f on Info_Of_Name_\n-0000bab0: 4f72 5f49 500a 2020 2020 2020 2020 2020 Or_IP. \n-0000bac0: 2020 2020 2028 534f 4d45 5448 494e 4720 (SOMETHING \n-0000bad0: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n-0000bae0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n-0000baf0: 486f 7374 5f45 6e74 7279 3b0a 0a50 4152 Host_Entry;..PAR\n-0000bb00: 414d 4554 4552 530a 2020 2020 2053 4f4d AMETERS. SOM\n-0000bb10: 4554 4849 4e47 2020 696e 2020 2020 2020 ETHING in \n-0000bb20: 2020 2048 6f73 7420 6e61 6d65 206f 7220 Host name or \n-0000bb30: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU\n-0000bb40: 524e 2056 414c 5545 0a20 2020 2020 436f RN VALUE. Co\n-0000bb50: 7272 6573 706f 6e64 696e 6720 686f 7374 rresponding host\n-0000bb60: 2065 6e74 7279 0a0a 4445 5343 5249 5054 entry..DESCRIPT\n-0000bb70: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n-0000bb80: 6e63 7469 6f6e 2065 7874 7261 6374 7320 nction extracts \n-0000bb90: 616c 6c20 7468 6520 6e61 6d65 7320 616e all the names an\n-0000bba0: 6420 6164 6472 6573 7365 7320 6672 6f6d d addresses from\n-0000bbb0: 2074 6865 206e 616d 696e 670a 2020 2020 the naming. \n-0000bbc0: 2073 6572 7669 6365 2e0a 0a45 5843 4550 service...EXCEP\n-0000bbd0: 5449 4f4e 530a 2020 2020 20e2 8098 4e61 TIONS. ...Na\n-0000bbe0: 6d69 6e67 5f45 7272 6f72 e280 9920 2020 ming_Error... \n-0000bbf0: 2020 4e6f 2069 6e66 6f72 6d61 7469 6f6e No information\n-0000bc00: 2061 7661 696c 6162 6c65 2066 6f72 2074 available for t\n-0000bc10: 6869 7320 6e61 6d65 206f 720a 2020 2020 his name or. \n-0000bc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bc30: 2020 2020 6164 6472 6573 730a 0a1f 0a46 address....F\n-0000bc40: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000bc50: 696e 666f 2c20 204e 6f64 653a 2049 735f info, Node: Is_\n-0000bc60: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n-0000bc70: 7469 6f6e 292c 2020 4e65 7874 3a20 4e61 tion), Next: Na\n-0000bc80: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n-0000bc90: 2c20 2050 7265 763a 2049 6e66 6f5f 4f66 , Prev: Info_Of\n-0000bca0: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n-0000bcb0: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n-0000bcc0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n-0000bcd0: 6e29 0a0a 4973 5f49 505f 4164 6472 6573 n)..Is_IP_Addres\n-0000bce0: 7320 2866 756e 6374 696f 6e29 0a2d 2d2d s (function).---\n-0000bcf0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000bd00: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-0000bd10: 2020 2020 4368 6563 6b20 6966 2067 6976 Check if giv\n-0000bd20: 656e 2073 7472 696e 6720 6973 2061 2076 en string is a v\n-0000bd30: 616c 6964 2049 5020 6164 6472 6573 730a alid IP address.\n-0000bd40: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-0000bd50: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-0000bd60: 672e 4973 5f49 505f 4164 6472 6573 733a g.Is_IP_Address:\n-0000bd70: 2066 756e 6374 696f 6e20 4973 5f49 505f function Is_IP_\n-0000bd80: 4164 6472 6573 730a 2020 2020 2020 2020 Address. \n-0000bd90: 2020 2020 2020 2028 534f 4d45 5448 494e (SOMETHIN\n-0000bda0: 4720 3a20 5374 7269 6e67 290a 2020 2020 G : String). \n-0000bdb0: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n-0000bdc0: 6e20 426f 6f6c 6561 6e3b 0a0a 5041 5241 n Boolean;..PARA\n-0000bdd0: 4d45 5445 5253 0a20 2020 2020 534f 4d45 METERS. SOME\n-0000bde0: 5448 494e 4720 2069 6e20 2020 2020 2020 THING in \n-0000bdf0: 2020 5374 7269 6e67 2074 6f20 6368 6563 String to chec\n-0000be00: 6b0a 0a52 4554 5552 4e20 5641 4c55 450a k..RETURN VALUE.\n-0000be10: 2020 2020 20e2 8098 5472 7565 e280 9920 ...True... \n-0000be20: 6966 2053 4f4d 4554 4849 4e47 2069 7320 if SOMETHING is \n-0000be30: 616e 2049 5020 6164 6472 6573 730a 0a1f an IP address...\n-0000be40: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000be50: 732e 696e 666f 2c20 204e 6f64 653a 204e s.info, Node: N\n-0000be60: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-0000be70: 292c 2020 4e65 7874 3a20 5661 6c75 6520 ), Next: Value \n-0000be80: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-0000be90: 763a 2049 735f 4950 5f41 6464 7265 7373 v: Is_IP_Address\n-0000bea0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000beb0: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000bec0: 6e63 7469 6f6e 290a 0a4e 616d 655f 4f66 nction)..Name_Of\n-0000bed0: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-0000bee0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-0000bef0: 5055 5250 4f53 450a 2020 2020 204f 6666 PURPOSE. Off\n-0000bf00: 6963 6961 6c20 6e61 6d65 206f 6620 7468 icial name of th\n-0000bf10: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n-0000bf20: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-0000bf30: 732e 4e61 6d69 6e67 2e4e 616d 655f 4f66 s.Naming.Name_Of\n-0000bf40: 3a20 6675 6e63 7469 6f6e 204e 616d 655f : function Name_\n-0000bf50: 4f66 2028 534f 4d45 5448 494e 4720 3a20 Of (SOMETHING : \n-0000bf60: 5374 7269 6e67 290a 2020 2020 2020 2020 String). \n-0000bf70: 2020 2020 2020 2072 6574 7572 6e20 5374 return St\n-0000bf80: 7269 6e67 3b0a 0a50 4152 414d 4554 4552 ring;..PARAMETER\n-0000bf90: 530a 2020 2020 2053 4f4d 4554 4849 4e47 S. SOMETHING\n-0000bfa0: 2020 696e 2020 2020 2020 2020 2048 6f73 in Hos\n-0000bfb0: 7420 6e61 6d65 206f 7220 4950 2061 6464 t name or IP add\n-0000bfc0: 7265 7373 0a0a 5245 5455 524e 2056 414c ress..RETURN VAL\n-0000bfd0: 5545 0a20 2020 2020 4e61 6d65 206f 6620 UE. Name of \n-0000bfe0: 7468 6520 686f 7374 0a0a 4558 4345 5054 the host..EXCEPT\n-0000bff0: 494f 4e53 0a20 2020 2020 e280 984e 616d IONS. ...Nam\n-0000c000: 696e 675f 4572 726f 72e2 8099 2020 2020 ing_Error... \n-0000c010: 204e 6f20 696e 666f 726d 6174 696f 6e20 No information \n-0000c020: 6176 6169 6c61 626c 6520 666f 7220 7468 available for th\n-0000c030: 6973 206e 616d 6520 6f72 0a20 2020 2020 is name or. \n-0000c040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c050: 2020 2061 6464 7265 7373 0a0a 5345 4520 address..SEE \n-0000c060: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-0000c070: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000c080: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n-0000c090: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-0000c0a0: 6f2c 2020 4e6f 6465 3a20 5661 6c75 6520 o, Node: Value \n-0000c0b0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-0000c0c0: 763a 204e 616d 655f 4f66 2028 6675 6e63 v: Name_Of (func\n-0000c0d0: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n-0000c0e0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n-0000c0f0: 290a 0a56 616c 7565 2028 6675 6e63 7469 )..Value (functi\n-0000c100: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-0000c110: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-0000c120: 2020 2054 7261 6e73 666f 726d 2061 2073 Transform a s\n-0000c130: 7472 696e 6720 696e 746f 2061 6e20 6164 tring into an ad\n-0000c140: 6472 6573 730a 5052 4f54 4f54 5950 450a dress.PROTOTYPE.\n-0000c150: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-0000c160: 2e4e 616d 696e 672e 5661 6c75 653a 2066 .Naming.Value: f\n-0000c170: 756e 6374 696f 6e20 5661 6c75 6520 2841 unction Value (A\n-0000c180: 4444 203a 2053 7472 696e 6729 0a20 2020 DD : String). \n-0000c190: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n-0000c1a0: 726e 2041 6464 7265 7373 3b0a 0a50 4152 rn Address;..PAR\n-0000c1b0: 414d 4554 4552 530a 2020 2020 2041 4444 AMETERS. ADD\n-0000c1c0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-0000c1d0: 2020 2054 6578 7475 616c 2072 6570 7265 Textual repre\n-0000c1e0: 7365 6e74 6174 696f 6e20 6f66 2061 6e20 sentation of an \n-0000c1f0: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU\n-0000c200: 524e 2056 414c 5545 0a20 2020 2020 436f RN VALUE. Co\n-0000c210: 7272 6573 706f 6e64 696e 6720 4164 6472 rresponding Addr\n-0000c220: 6573 730a 0a53 4545 2041 4c53 4f0a 2020 ess..SEE ALSO. \n-0000c230: 2020 202a 6e6f 7465 2049 6d61 6765 2028 *note Image (\n-0000c240: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::.....\n-0000c250: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-0000c260: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 436f .info, Node: Co\n-0000c270: 6e74 7269 6275 746f 7273 2c20 204e 6578 ntributors, Nex\n-0000c280: 743a 2052 6573 6f75 7263 6573 206f 6e20 t: Resources on \n-0000c290: 7468 6520 496e 7465 726e 6574 2c20 2050 the Internet, P\n-0000c2a0: 7265 763a 2053 6f63 6b65 7473 2e4e 616d rev: Sockets.Nam\n-0000c2b0: 696e 6720 7061 636b 6167 652c 2020 5570 ing package, Up\n-0000c2c0: 3a20 546f 700a 0a41 7070 656e 6469 7820 : Top..Appendix \n-0000c2d0: 4120 436f 6e74 7269 6275 746f 7273 0a2a A Contributors.*\n-0000c2e0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000c2f0: 2a2a 2a2a 2a2a 0a0a 4164 6153 6f63 6b65 ******..AdaSocke\n-0000c300: 7473 2068 6173 2062 6565 6e20 6f72 6967 ts has been orig\n-0000c310: 696e 616c 6c79 2064 6576 656c 6f70 7065 inally developpe\n-0000c320: 6420 6279 2053 616d 7565 6c20 5461 7264 d by Samuel Tard\n-0000c330: 6965 7520 7768 6f20 7374 696c 6c0a 6d61 ieu who still.ma\n-0000c340: 696e 7461 696e 7320 6974 2e20 2048 6f77 intains it. How\n-0000c350: 6576 6572 2c20 7468 6520 666f 6c6c 6f77 ever, the follow\n-0000c360: 696e 6720 7065 6f70 6c65 2068 6176 6520 ing people have \n-0000c370: 6d61 6465 2063 7275 6369 616c 0a63 6f6e made crucial.con\n-0000c380: 7472 6962 7574 696f 6e73 2074 6f20 4164 tributions to Ad\n-0000c390: 6153 6f63 6b65 7473 2c20 6265 2074 6865 aSockets, be the\n-0000c3a0: 7920 6e65 7720 636f 6465 2c20 6275 6720 y new code, bug \n-0000c3b0: 6669 7865 7320 6f72 2070 6f72 7469 6e67 fixes or porting\n-0000c3c0: 2074 6f0a 6e65 7720 6f70 6572 6174 696e to.new operatin\n-0000c3d0: 6720 7379 7374 656d 733a 0a0a 2020 20e2 g systems:.. .\n-0000c3e0: 80a2 2044 6d69 7472 6979 2041 6e69 7369 .. Dmitriy Anisi\n-0000c3f0: 6d6b 6f76 2028 3c61 6e69 7369 6d6b 6f76 mkov (). \n-0000c410: e280 a220 416c 616e 2042 6172 6e65 7320 ... Alan Barnes \n-0000c420: 283c 6261 726e 6573 6140 6173 746f 6e2e (). ... J\n-0000c440: 7561 6e6d 6120 4261 7272 616e 7175 6572 uanma Barranquer\n-0000c450: 6f20 283c 6c65 6b74 7540 7465 7272 612e o (). ... Bobb\n-0000c470: 7920 442e 2042 7279 616e 7420 283c 6264 y D. Bryant (). ... \n-0000c4a0: 5361 6e64 6572 2043 6f78 2028 3c73 616e Sander Cox (). ... Sun\n-0000c4d0: 6520 4661 6c6b 2028 3c73 756e 652e 6661 e Falk ().\n-0000c4f0: 2020 20e2 80a2 2047 7569 6c6c 6175 6d65 ... Guillaume\n-0000c500: 2046 6f6c 6961 7264 2028 3c67 7569 666f Foliard (). \n-0000c520: 20e2 80a2 204c 6175 7265 6e74 2047 7565 ... Laurent Gue\n-0000c530: 7262 7920 283c 6775 6572 6279 4063 6c75 rby ().\n-0000c550: 2020 20e2 80a2 2044 6176 6964 204a 2e20 ... David J. \n-0000c560: 4b72 6973 746f 6c61 2028 3c44 6176 6964 Kristola ().\n-0000c580: 2020 20e2 80a2 2044 6f6d 696e 696b 204d ... Dominik M\n-0000c590: 6164 6f6e 2028 3c64 6f6d 696e 696b 4061 adon (). ... \n-0000c5b0: 5061 7363 616c 204f 6272 7920 283c 702e Pascal Obry (\n-0000c5d0: 290a 2020 20e2 80a2 204e 6963 6f6c 6173 ). ... Nicolas\n-0000c5e0: 204f 6c6c 696e 6765 7220 283c 4e69 636f Ollinger (). ..\n-0000c610: a220 5374 7068 616e 6520 5061 7475 7265 . Stphane Pature\n-0000c620: 6175 2028 3c73 7061 7475 7265 6140 6d65 au (). .\n-0000c650: 80a2 2054 686f 6d61 7320 5175 696e 6f74 .. Thomas Quinot\n-0000c660: 2028 3c74 686f 6d61 7340 6375 6976 7265 (). \n-0000c680: e280 a220 5072 6562 656e 2052 616e 6468 ... Preben Randh\n-0000c690: 6f6c 2028 3c72 616e 6468 6f6c 4070 7676 ol (). ... Ma\n-0000c6b0: 7869 6d20 5265 7a6e 696b 2028 3c6d 6178 xim Reznik ()\n-0000c6d0: 0a20 2020 e280 a220 4a6f 656c 2053 6865 . ... Joel She\n-0000c6e0: 7272 696c 6c20 283c 6a6f 656c 2e73 6865 rrill (). ... Samue\n-0000c710: 6c20 5461 7264 6965 7520 283c 7361 6d40 l Tardieu ().. \n-0000c730: 2020 4966 2079 6f75 2066 6565 6c20 7468 If you feel th\n-0000c740: 6174 2079 6f75 2068 6176 6520 6265 656e at you have been\n-0000c750: 2066 6f72 676f 7474 656e 2c20 706c 6561 forgotten, plea\n-0000c760: 7365 2073 656e 6420 6d65 2061 206d 6169 se send me a mai\n-0000c770: 6c20 736f 0a74 6861 7420 4920 6361 6e20 l so.that I can \n-0000c780: 6669 7820 6974 2069 6e20 7468 6520 6e65 fix it in the ne\n-0000c790: 7874 2076 6572 7369 6f6e 2e0a 0a20 2020 xt version... \n-0000c7a0: 2a4e 6f74 6520 5265 736f 7572 6365 7320 *Note Resources \n-0000c7b0: 6f6e 2074 6865 2049 6e74 6572 6e65 743a on the Internet:\n-0000c7c0: 3a2c 2066 6f72 2068 6f77 2074 6f20 636f :, for how to co\n-0000c7d0: 6e74 7269 6275 7465 2e0a 0a1f 0a46 696c ntribute.....Fil\n-0000c7e0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000c7f0: 666f 2c20 204e 6f64 653a 2052 6573 6f75 fo, Node: Resou\n-0000c800: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n-0000c810: 726e 6574 2c20 204e 6578 743a 2049 6e64 rnet, Next: Ind\n-0000c820: 6578 2c20 2050 7265 763a 2043 6f6e 7472 ex, Prev: Contr\n-0000c830: 6962 7574 6f72 732c 2020 5570 3a20 546f ibutors, Up: To\n-0000c840: 700a 0a41 7070 656e 6469 7820 4220 5265 p..Appendix B Re\n-0000c850: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n-0000c860: 6e74 6572 6e65 740a 2a2a 2a2a 2a2a 2a2a nternet.********\n-0000c870: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000c880: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th\n-0000c890: 6520 6c61 7465 7374 2076 6572 7369 6f6e e latest version\n-0000c8a0: 206f 6620 4164 6153 6f63 6b65 7473 2063 of AdaSockets c\n-0000c8b0: 616e 2061 6c77 6179 7320 6265 2066 6f75 an always be fou\n-0000c8c0: 6e64 2061 743a 0a0a 2020 2020 2020 2020 nd at:.. \n-0000c8d0: 2020 2020 2020 3c68 7474 7073 3a2f 2f77 \n-0000c900: 0a0a 2020 2059 6f75 2063 616e 2072 6570 .. You can rep\n-0000c910: 6f72 7420 6973 7375 6573 206f 7220 7468 ort issues or th\n-0000c920: 6520 4164 6153 6f63 6b65 7473 206d 6169 e AdaSockets mai\n-0000c930: 6c69 6e67 2d6c 6973 7420 6174 0a0a 2020 ling-list at.. \n-0000c940: 2020 2020 2020 2020 2020 3c68 7474 7073 .. Co\n-0000c980: 6e74 7269 6275 7469 6f6e 7320 616e 6420 ntributions and \n-0000c990: 7061 7463 6865 7320 6172 6520 7765 6c63 patches are welc\n-0000c9a0: 6f6d 6564 2e0a 0a1f 0a46 696c 653a 2061 omed.....File: a\n-0000c9b0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-0000c9c0: 204e 6f64 653a 2049 6e64 6578 2c20 2050 Node: Index, P\n-0000c9d0: 7265 763a 2052 6573 6f75 7263 6573 206f rev: Resources o\n-0000c9e0: 6e20 7468 6520 496e 7465 726e 6574 2c20 n the Internet, \n-0000c9f0: 2055 703a 2054 6f70 0a0a 496e 6465 780a Up: Top..Index.\n-0000ca00: 2a2a 2a2a 2a0a 0a00 085b 696e 6465 7800 *****....[index.\n-0000ca10: 085d 0a2a 204d 656e 753a 0a0a 2a20 4163 .].* Menu:..* Ac\n-0000ca20: 6365 7074 5f53 6f63 6b65 743a 2020 2020 cept_Socket: \n-0000ca30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca40: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock\n-0000ca50: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure)..\n-0000ca60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000caa0: 6c69 6e65 2020 3929 0a2a 2041 6363 6570 line 9).* Accep\n-0000cab0: 7469 6e67 2061 206e 6577 2063 6f6e 6e65 ting a new conne\n-0000cac0: 6374 696f 6e3a 2020 2020 2020 2020 2020 ction: \n-0000cad0: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket \n-0000cae0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000caf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb20: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000cb30: 6520 2036 290a 2a20 4164 612e 5374 7265 e 6).* Ada.Stre\n-0000cb40: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n-0000cb50: 6e74 5f41 7272 6179 3a20 2020 2020 2052 nt_Array: R\n-0000cb60: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n-0000cb70: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n-0000cb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cbb0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000cbc0: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n-0000cbd0: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n-0000cbe0: 7920 3c31 3e3a 2020 5265 6365 6976 6520 y <1>: Receive \n-0000cbf0: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n-0000cc00: 696e 6520 3232 290a 2a20 4164 612e 5374 ine 22).* Ada.St\n-0000cc10: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n-0000cc20: 6d65 6e74 5f41 7272 6179 203c 323e 3a20 ment_Array <2>: \n-0000cc30: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-0000cc40: 7572 6529 2e20 2028 6c69 6e65 2031 3829 ure). (line 18)\n-0000cc50: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n-0000cc60: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n-0000cc70: 7261 7920 3c33 3e3a 2020 5265 6365 6976 ray <3>: Receiv\n-0000cc80: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-0000cc90: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000cca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccd0: 2020 2028 6c69 6e65 2032 3129 0a2a 2041 (line 21).* A\n-0000cce0: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n-0000ccf0: 6d5f 456c 656d 656e 745f 4172 7261 7920 m_Element_Array \n-0000cd00: 3c34 3e3a 2020 5365 6e64 2028 7072 6f63 <4>: Send (proc\n-0000cd10: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n-0000cd20: 6520 3137 290a 2a20 4164 612e 5374 7265 e 17).* Ada.Stre\n-0000cd30: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n-0000cd40: 6e74 5f43 6f75 6e74 3a20 2020 2020 2052 nt_Count: R\n-0000cd50: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n-0000cd60: 292e 2020 2028 6c69 6e65 2032 3229 0a2a ). (line 22).*\n-0000cd70: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n-0000cd80: 6561 6d5f 456c 656d 656e 745f 436f 756e eam_Element_Coun\n-0000cd90: 7420 3c31 3e3a 2020 5265 6365 6976 655f t <1>: Receive_\n-0000cda0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-0000cdb0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000a650: 2020 2020 2020 4765 7420 7468 6520 4950 Get the IP\n+0000a660: 2061 6464 7265 7373 206f 6620 6120 686f address of a ho\n+0000a670: 7374 0a2a 2041 6e79 5f41 6464 7265 7373 st.* Any_Address\n+0000a680: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n+0000a690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a6a0: 2020 2020 2020 5370 6563 6961 6c20 6164 Special ad\n+0000a6b0: 6472 6573 7320 7265 7072 6573 656e 7469 dress representi\n+0000a6c0: 6e67 2061 6e79 2061 6464 7265 7373 206f ng any address o\n+0000a6d0: 6e20 7468 6520 6c6f 6361 6c20 686f 7374 n the local host\n+0000a6e0: 0a2a 2047 6574 5f50 6565 725f 4164 6472 .* Get_Peer_Addr\n+0000a6f0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n+0000a700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a710: 2020 2020 2020 5265 7472 6965 7665 2049 Retrieve I\n+0000a720: 5020 6164 6472 6573 7320 6f66 2072 656d P address of rem\n+0000a730: 6f74 6520 686f 7374 0a2a 2047 6574 5f50 ote host.* Get_P\n+0000a740: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n+0000a750: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+0000a760: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+0000a770: 7472 6965 7665 2070 6f72 7420 7573 6564 trieve port used\n+0000a780: 2062 7920 7265 6d6f 7465 2068 6f73 740a by remote host.\n+0000a790: 2a20 4765 745f 536f 636b 5f41 6464 7220 * Get_Sock_Addr \n+0000a7a0: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a7c0: 2020 2020 2052 6574 7269 6576 6520 4950 Retrieve IP\n+0000a7d0: 2061 6464 7265 7373 206f 6620 6c6f 6361 address of loca\n+0000a7e0: 6c20 686f 7374 0a2a 2047 6574 5f53 6f63 l host.* Get_Soc\n+0000a7f0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000a800: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a810: 2020 2020 2020 2020 2020 2020 5265 7472 Retr\n+0000a820: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b\n+0000a830: 7920 6c6f 6361 6c20 686f 7374 0a2a 2048 y local host.* H\n+0000a840: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi\n+0000a850: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+0000a860: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000a870: 7420 7468 6520 6e61 6d65 206f 6620 7468 t the name of th\n+0000a880: 6520 6375 7272 656e 7420 686f 7374 0a2a e current host.*\n+0000a890: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n+0000a8a0: 293a 3a20 2020 204d 616b 6520 6120 7374 ):: Make a st\n+0000a8b0: 7269 6e67 2066 726f 6d20 616e 2061 6464 ring from an add\n+0000a8c0: 7265 7373 0a2a 2049 6e66 6f5f 4f66 5f4e ress.* Info_Of_N\n+0000a8d0: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n+0000a8e0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a8f0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000a900: 6574 2061 6464 7265 7373 6573 2061 6e64 et addresses and\n+0000a910: 206e 616d 6573 206f 6620 6120 686f 7374 names of a host\n+0000a920: 0a2a 2049 735f 4950 5f41 6464 7265 7373 .* Is_IP_Address\n+0000a930: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n+0000a940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a950: 2020 2020 2020 4368 6563 6b20 6966 2067 Check if g\n+0000a960: 6976 656e 2073 7472 696e 6720 6973 2061 iven string is a\n+0000a970: 2076 616c 6964 2049 5020 6164 6472 6573 valid IP addres\n+0000a980: 730a 2a20 4e61 6d65 5f4f 6620 2866 756e s.* Name_Of (fun\n+0000a990: 6374 696f 6e29 3a3a 2020 4f66 6669 6369 ction):: Offici\n+0000a9a0: 616c 206e 616d 6520 6f66 2074 6865 2068 al name of the h\n+0000a9b0: 6f73 740a 2a20 5661 6c75 6520 2866 756e ost.* Value (fun\n+0000a9c0: 6374 696f 6e29 3a3a 2020 2020 5472 616e ction):: Tran\n+0000a9d0: 7366 6f72 6d20 6120 7374 7269 6e67 2069 sform a string i\n+0000a9e0: 6e74 6f20 616e 2061 6464 7265 7373 0a0a nto an address..\n+0000a9f0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000aa00: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000aa10: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+0000aa20: 7469 6f6e 292c 2020 4e65 7874 3a20 416e tion), Next: An\n+0000aa30: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct\n+0000aa40: 696f 6e29 2c20 2055 703a 2053 6f63 6b65 ion), Up: Socke\n+0000aa50: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+0000aa60: 650a 0a41 6464 7265 7373 5f4f 6620 2866 e..Address_Of (f\n+0000aa70: 756e 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d unction).=======\n+0000aa80: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============..\n+0000aa90: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n+0000aaa0: 2074 6865 2049 5020 6164 6472 6573 7320 the IP address \n+0000aab0: 6f66 2061 2068 6f73 740a 5052 4f54 4f54 of a host.PROTOT\n+0000aac0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+0000aad0: 6b65 7473 2e4e 616d 696e 672e 4164 6472 kets.Naming.Addr\n+0000aae0: 6573 735f 4f66 3a20 6675 6e63 7469 6f6e ess_Of: function\n+0000aaf0: 2041 6464 7265 7373 5f4f 660a 2020 2020 Address_Of. \n+0000ab00: 2020 2020 2020 2020 2020 2028 534f 4d45 (SOME\n+0000ab10: 5448 494e 4720 3a20 5374 7269 6e67 290a THING : String).\n+0000ab20: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+0000ab30: 6574 7572 6e20 4164 6472 6573 733b 0a0a eturn Address;..\n+0000ab40: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+0000ab50: 534f 4d45 5448 494e 4720 2069 6e20 2020 SOMETHING in \n+0000ab60: 2020 2020 2020 486f 7374 206e 616d 6520 Host name \n+0000ab70: 6f72 2049 5020 6164 6472 6573 730a 0a52 or IP address..R\n+0000ab80: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+0000ab90: 2049 5076 3420 6164 6472 6573 730a 0a45 IPv4 address..E\n+0000aba0: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n+0000abb0: 8098 4e61 6d69 6e67 5f45 7272 6f72 e280 ..Naming_Error..\n+0000abc0: 9920 2020 2020 4e6f 2069 6e66 6f72 6d61 . No informa\n+0000abd0: 7469 6f6e 2061 7661 696c 6162 6c65 2066 tion available f\n+0000abe0: 6f72 2074 6869 7320 6e61 6d65 206f 720a or this name or.\n+0000abf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ac00: 2020 2020 2020 2020 6164 6472 6573 730a address.\n+0000ac10: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+0000ac20: 6e6f 7465 204e 616d 655f 4f66 2028 6675 note Name_Of (fu\n+0000ac30: 6e63 7469 6f6e 293a 3a2e 0a0a 2a20 4d65 nction)::...* Me\n+0000ac40: 6e75 3a0a 0a2a 2041 6e79 5f41 6464 7265 nu:..* Any_Addre\n+0000ac50: 7373 2028 6675 6e63 7469 6f6e 293a 3a0a ss (function)::.\n+0000ac60: 2a20 4765 745f 5065 6572 5f41 6464 7220 * Get_Peer_Addr \n+0000ac70: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n+0000ac80: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000ac90: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n+0000aca0: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n+0000acb0: 696f 6e29 3a3a 0a2a 2047 6574 5f53 6f63 ion)::.* Get_Soc\n+0000acc0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000acd0: 293a 3a0a 2a20 486f 7374 5f4e 616d 6520 )::.* Host_Name \n+0000ace0: 2866 756e 6374 696f 6e29 3a3a 0a2a 2049 (function)::.* I\n+0000acf0: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n+0000ad00: 3a0a 2a20 496e 666f 5f4f 665f 4e61 6d65 :.* Info_Of_Name\n+0000ad10: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+0000ad20: 293a 3a0a 2a20 4973 5f49 505f 4164 6472 )::.* Is_IP_Addr\n+0000ad30: 6573 7320 2866 756e 6374 696f 6e29 3a3a ess (function)::\n+0000ad40: 0a2a 204e 616d 655f 4f66 2028 6675 6e63 .* Name_Of (func\n+0000ad50: 7469 6f6e 293a 3a0a 2a20 5661 6c75 6520 tion)::.* Value \n+0000ad60: 2866 756e 6374 696f 6e29 3a3a 0a0a 1f0a (function)::....\n+0000ad70: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000ad80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 416e .info, Node: An\n+0000ad90: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct\n+0000ada0: 696f 6e29 2c20 204e 6578 743a 2047 6574 ion), Next: Get\n+0000adb0: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func\n+0000adc0: 7469 6f6e 292c 2020 5072 6576 3a20 4164 tion), Prev: Ad\n+0000add0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000ade0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000adf0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000ae00: 0a41 6e79 5f41 6464 7265 7373 2028 6675 .Any_Address (fu\n+0000ae10: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000ae20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+0000ae30: 5055 5250 4f53 450a 2020 2020 2053 7065 PURPOSE. Spe\n+0000ae40: 6369 616c 2061 6464 7265 7373 2072 6570 cial address rep\n+0000ae50: 7265 7365 6e74 696e 6720 616e 7920 6164 resenting any ad\n+0000ae60: 6472 6573 7320 6f6e 2074 6865 206c 6f63 dress on the loc\n+0000ae70: 616c 2068 6f73 740a 5052 4f54 4f54 5950 al host.PROTOTYP\n+0000ae80: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+0000ae90: 7473 2e4e 616d 696e 672e 416e 795f 4164 ts.Naming.Any_Ad\n+0000aea0: 6472 6573 733a 2066 756e 6374 696f 6e20 dress: function \n+0000aeb0: 416e 795f 4164 6472 6573 730a 0a52 4554 Any_Address..RET\n+0000aec0: 5552 4e20 5641 4c55 450a 2020 2020 2045 URN VALUE. E\n+0000aed0: 7175 6976 616c 656e 7420 746f 20e2 8098 quivalent to ...\n+0000aee0: 494e 4144 4452 5f41 4e59 e280 9920 696e INADDR_ANY... in\n+0000aef0: 2074 6865 2043 2070 726f 6772 616d 6d69 the C programmi\n+0000af00: 6e67 206c 616e 6775 6167 650a 0a1f 0a46 ng language....F\n+0000af10: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000af20: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n+0000af30: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func\n+0000af40: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n+0000af50: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n+0000af60: 6374 696f 6e29 2c20 2050 7265 763a 2041 ction), Prev: A\n+0000af70: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n+0000af80: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n+0000af90: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000afa0: 290a 0a47 6574 5f50 6565 725f 4164 6472 )..Get_Peer_Addr\n+0000afb0: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n+0000afc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000afd0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+0000afe0: 2020 2052 6574 7269 6576 6520 4950 2061 Retrieve IP a\n+0000aff0: 6464 7265 7373 206f 6620 7265 6d6f 7465 ddress of remote\n+0000b000: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n+0000b010: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+0000b020: 2e4e 616d 696e 672e 4765 745f 5065 6572 .Naming.Get_Peer\n+0000b030: 5f41 6464 723a 2066 756e 6374 696f 6e20 _Addr: function \n+0000b040: 4765 745f 5065 6572 5f41 6464 720a 2020 Get_Peer_Addr. \n+0000b050: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n+0000b060: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+0000b070: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+0000b080: 2072 6574 7572 6e20 4164 6472 6573 733b return Address;\n+0000b090: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+0000b0a0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+0000b0b0: 2020 2020 2020 2020 436f 6e6e 6563 7465 Connecte\n+0000b0c0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+0000b0d0: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+0000b0e0: 2020 2050 6565 7220 6164 6472 6573 730a Peer address.\n+0000b0f0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+0000b100: 6e6f 7465 2047 6574 5f50 6565 725f 506f note Get_Peer_Po\n+0000b110: 7274 2028 6675 6e63 7469 6f6e 293a 3a2c rt (function)::,\n+0000b120: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+0000b130: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n+0000b140: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n+0000b150: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000b160: 2c20 204e 6f64 653a 2047 6574 5f50 6565 , Node: Get_Pee\n+0000b170: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n+0000b180: 292c 2020 4e65 7874 3a20 4765 745f 536f ), Next: Get_So\n+0000b190: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n+0000b1a0: 6e29 2c20 2050 7265 763a 2047 6574 5f50 n), Prev: Get_P\n+0000b1b0: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000b1c0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000b1d0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000b1e0: 0a47 6574 5f50 6565 725f 506f 7274 2028 .Get_Peer_Port (\n+0000b1f0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000b200: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b210: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000b220: 2052 6574 7269 6576 6520 706f 7274 2075 Retrieve port u\n+0000b230: 7365 6420 6279 2072 656d 6f74 6520 686f sed by remote ho\n+0000b240: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+0000b250: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000b260: 6d69 6e67 2e47 6574 5f50 6565 725f 506f ming.Get_Peer_Po\n+0000b270: 7274 3a20 6675 6e63 7469 6f6e 2047 6574 rt: function Get\n+0000b280: 5f50 6565 725f 506f 7274 0a20 2020 2020 _Peer_Port. \n+0000b290: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+0000b2a0: 5420 3a20 536f 636b 6574 5f46 4429 0a20 T : Socket_FD). \n+0000b2b0: 2020 2020 2020 2020 2020 2020 2020 7265 re\n+0000b2c0: 7475 726e 2050 6f73 6974 6976 653b 0a0a turn Positive;..\n+0000b2d0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+0000b2e0: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+0000b2f0: 2020 2020 2020 436f 6e6e 6563 7465 6420 Connected \n+0000b300: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R\n+0000b310: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+0000b320: 2050 6f72 7420 7573 6564 206f 6e20 7468 Port used on th\n+0000b330: 6520 7265 6d6f 7465 2068 6f73 740a 0a53 e remote host..S\n+0000b340: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+0000b350: 7465 2047 6574 5f53 6f63 6b5f 506f 7274 te Get_Sock_Port\n+0000b360: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+0000b370: 2020 2020 2a6e 6f74 6520 4765 745f 5065 *note Get_Pe\n+0000b380: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n+0000b390: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n+0000b3a0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000b3b0: 204e 6f64 653a 2047 6574 5f53 6f63 6b5f Node: Get_Sock_\n+0000b3c0: 4164 6472 2028 6675 6e63 7469 6f6e 292c Addr (function),\n+0000b3d0: 2020 4e65 7874 3a20 4765 745f 536f 636b Next: Get_Sock\n+0000b3e0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000b3f0: 2c20 2050 7265 763a 2047 6574 5f50 6565 , Prev: Get_Pee\n+0000b400: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n+0000b410: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n+0000b420: 4f66 2028 6675 6e63 7469 6f6e 290a 0a47 Of (function)..G\n+0000b430: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n+0000b440: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000b450: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b460: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n+0000b470: 6574 7269 6576 6520 4950 2061 6464 7265 etrieve IP addre\n+0000b480: 7373 206f 6620 6c6f 6361 6c20 686f 7374 ss of local host\n+0000b490: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000b4a0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000b4b0: 6e67 2e47 6574 5f53 6f63 6b5f 4164 6472 ng.Get_Sock_Addr\n+0000b4c0: 3a20 6675 6e63 7469 6f6e 2047 6574 5f53 : function Get_S\n+0000b4d0: 6f63 6b5f 4164 6472 0a20 2020 2020 2020 ock_Addr. \n+0000b4e0: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+0000b4f0: 3a20 536f 636b 6574 5f46 4429 0a20 2020 : Socket_FD). \n+0000b500: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n+0000b510: 726e 2041 6464 7265 7373 3b0a 0a50 4152 rn Address;..PAR\n+0000b520: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+0000b530: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+0000b540: 2020 2043 6f6e 6e65 6374 6564 2073 6f63 Connected soc\n+0000b550: 6b65 7420 6f62 6a65 6374 0a0a 5245 5455 ket object..RETU\n+0000b560: 524e 2056 414c 5545 0a20 2020 2020 4164 RN VALUE. Ad\n+0000b570: 6472 6573 7320 6f66 206c 6f63 616c 2069 dress of local i\n+0000b580: 6e74 6572 6661 6365 2075 7365 640a 0a53 nterface used..S\n+0000b590: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+0000b5a0: 7465 2047 6574 5f53 6f63 6b5f 506f 7274 te Get_Sock_Port\n+0000b5b0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+0000b5c0: 2020 2020 2a6e 6f74 6520 4765 745f 5065 *note Get_Pe\n+0000b5d0: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n+0000b5e0: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n+0000b5f0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000b600: 204e 6f64 653a 2047 6574 5f53 6f63 6b5f Node: Get_Sock_\n+0000b610: 506f 7274 2028 6675 6e63 7469 6f6e 292c Port (function),\n+0000b620: 2020 4e65 7874 3a20 486f 7374 5f4e 616d Next: Host_Nam\n+0000b630: 6520 2866 756e 6374 696f 6e29 2c20 2050 e (function), P\n+0000b640: 7265 763a 2047 6574 5f53 6f63 6b5f 4164 rev: Get_Sock_Ad\n+0000b650: 6472 2028 6675 6e63 7469 6f6e 292c 2020 dr (function), \n+0000b660: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n+0000b670: 6675 6e63 7469 6f6e 290a 0a47 6574 5f53 function)..Get_S\n+0000b680: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n+0000b690: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n+0000b6a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+0000b6b0: 5250 4f53 450a 2020 2020 2052 6574 7269 RPOSE. Retri\n+0000b6c0: 6576 6520 706f 7274 2075 7365 6420 6279 eve port used by\n+0000b6d0: 206c 6f63 616c 2068 6f73 740a 5052 4f54 local host.PROT\n+0000b6e0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+0000b6f0: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n+0000b700: 745f 536f 636b 5f50 6f72 743a 2066 756e t_Sock_Port: fun\n+0000b710: 6374 696f 6e20 4765 745f 536f 636b 5f50 ction Get_Sock_P\n+0000b720: 6f72 740a 2020 2020 2020 2020 2020 2020 ort. \n+0000b730: 2020 2028 534f 434b 4554 203a 2053 6f63 (SOCKET : Soc\n+0000b740: 6b65 745f 4644 290a 2020 2020 2020 2020 ket_FD). \n+0000b750: 2020 2020 2020 2072 6574 7572 6e20 506f return Po\n+0000b760: 7369 7469 7665 3b0a 0a50 4152 414d 4554 sitive;..PARAMET\n+0000b770: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+0000b780: 2020 2020 696e 2020 2020 2020 2020 2043 in C\n+0000b790: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket \n+0000b7a0: 6f62 6a65 6374 0a0a 5245 5455 524e 2056 object..RETURN V\n+0000b7b0: 414c 5545 0a20 2020 2020 506f 7274 2075 ALUE. Port u\n+0000b7c0: 7365 6420 6f6e 2074 6865 206c 6f63 616c sed on the local\n+0000b7d0: 2068 6f73 740a 0a53 4545 2041 4c53 4f0a host..SEE ALSO.\n+0000b7e0: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000b7f0: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n+0000b800: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n+0000b810: 6520 4765 745f 536f 636b 5f41 6464 7220 e Get_Sock_Addr \n+0000b820: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n+0000b830: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000b840: 732e 696e 666f 2c20 204e 6f64 653a 2048 s.info, Node: H\n+0000b850: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi\n+0000b860: 6f6e 292c 2020 4e65 7874 3a20 496d 6167 on), Next: Imag\n+0000b870: 6520 2866 756e 6374 696f 6e29 2c20 2050 e (function), P\n+0000b880: 7265 763a 2047 6574 5f53 6f63 6b5f 506f rev: Get_Sock_Po\n+0000b890: 7274 2028 6675 6e63 7469 6f6e 292c 2020 rt (function), \n+0000b8a0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n+0000b8b0: 6675 6e63 7469 6f6e 290a 0a48 6f73 745f function)..Host_\n+0000b8c0: 4e61 6d65 2028 6675 6e63 7469 6f6e 290a Name (function).\n+0000b8d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b8e0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+0000b8f0: 2020 2047 6574 2074 6865 206e 616d 6520 Get the name \n+0000b900: 6f66 2074 6865 2063 7572 7265 6e74 2068 of the current h\n+0000b910: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+0000b920: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000b930: 616d 696e 672e 486f 7374 5f4e 616d 653a aming.Host_Name:\n+0000b940: 2066 756e 6374 696f 6e20 486f 7374 5f4e function Host_N\n+0000b950: 616d 650a 0a52 4554 5552 4e20 5641 4c55 ame..RETURN VALU\n+0000b960: 450a 2020 2020 204e 616d 6520 6f66 2074 E. Name of t\n+0000b970: 6865 2063 7572 7265 6e74 2068 6f73 740a he current host.\n+0000b980: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+0000b990: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+0000b9a0: 7265 7475 726e 7320 7468 6520 6e61 6d65 returns the name\n+0000b9b0: 206f 6620 7468 6520 6375 7272 656e 7420 of the current \n+0000b9c0: 686f 7374 2e20 2044 6570 656e 6469 6e67 host. Depending\n+0000b9d0: 206f 6e0a 2020 2020 2074 6865 206c 6f63 on. the loc\n+0000b9e0: 616c 2063 6f6e 6669 6775 7261 7469 6f6e al configuration\n+0000b9f0: 2c20 6974 206d 6179 206f 7220 6d61 7920 , it may or may \n+0000ba00: 6e6f 7420 6265 2061 2066 756c 6c79 2071 not be a fully q\n+0000ba10: 7561 6c69 6669 6564 0a20 2020 2020 646f ualified. do\n+0000ba20: 6d61 696e 206e 616d 6520 2846 5144 4e29 main name (FQDN)\n+0000ba30: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+0000ba40: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+0000ba50: 653a 2049 6d61 6765 2028 6675 6e63 7469 e: Image (functi\n+0000ba60: 6f6e 292c 2020 4e65 7874 3a20 496e 666f on), Next: Info\n+0000ba70: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP (\n+0000ba80: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+0000ba90: 3a20 486f 7374 5f4e 616d 6520 2866 756e : Host_Name (fun\n+0000baa0: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000bab0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000bac0: 6e29 0a0a 496d 6167 6520 2866 756e 6374 n)..Image (funct\n+0000bad0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+0000bae0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000baf0: 2020 2020 4d61 6b65 2061 2073 7472 696e Make a strin\n+0000bb00: 6720 6672 6f6d 2061 6e20 6164 6472 6573 g from an addres\n+0000bb10: 730a 5052 4f54 4f54 5950 450a 2020 2020 s.PROTOTYPE. \n+0000bb20: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000bb30: 696e 672e 496d 6167 653a 2066 756e 6374 ing.Image: funct\n+0000bb40: 696f 6e20 496d 6167 6520 2841 4444 203a ion Image (ADD :\n+0000bb50: 2041 6464 7265 7373 290a 2020 2020 2020 Address). \n+0000bb60: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+0000bb70: 5374 7269 6e67 3b0a 0a50 4152 414d 4554 String;..PARAMET\n+0000bb80: 4552 530a 2020 2020 2041 4444 2020 2020 ERS. ADD \n+0000bb90: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+0000bba0: 5020 6164 6472 6573 730a 0a52 4554 5552 P address..RETUR\n+0000bbb0: 4e20 5641 4c55 450a 2020 2020 2053 7472 N VALUE. Str\n+0000bbc0: 696e 6720 7265 7072 6573 656e 7461 7469 ing representati\n+0000bbd0: 6f6e 206f 6620 7468 6520 4950 2061 6464 on of the IP add\n+0000bbe0: 7265 7373 0a0a 5345 4520 414c 534f 0a20 ress..SEE ALSO. \n+0000bbf0: 2020 2020 2a6e 6f74 6520 5661 6c75 6520 *note Value \n+0000bc00: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n+0000bc10: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000bc20: 732e 696e 666f 2c20 204e 6f64 653a 2049 s.info, Node: I\n+0000bc30: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n+0000bc40: 5020 2866 756e 6374 696f 6e29 2c20 204e P (function), N\n+0000bc50: 6578 743a 2049 735f 4950 5f41 6464 7265 ext: Is_IP_Addre\n+0000bc60: 7373 2028 6675 6e63 7469 6f6e 292c 2020 ss (function), \n+0000bc70: 5072 6576 3a20 496d 6167 6520 2866 756e Prev: Image (fun\n+0000bc80: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000bc90: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000bca0: 6e29 0a0a 496e 666f 5f4f 665f 4e61 6d65 n)..Info_Of_Name\n+0000bcb0: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+0000bcc0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+0000bcd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+0000bce0: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+0000bcf0: 7420 6164 6472 6573 7365 7320 616e 6420 t addresses and \n+0000bd00: 6e61 6d65 7320 6f66 2061 2068 6f73 740a names of a host.\n+0000bd10: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+0000bd20: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n+0000bd30: 672e 496e 666f 5f4f 665f 4e61 6d65 5f4f g.Info_Of_Name_O\n+0000bd40: 725f 4950 3a20 6675 6e63 7469 6f6e 2049 r_IP: function I\n+0000bd50: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n+0000bd60: 500a 2020 2020 2020 2020 2020 2020 2020 P. \n+0000bd70: 2028 534f 4d45 5448 494e 4720 3a20 5374 (SOMETHING : St\n+0000bd80: 7269 6e67 290a 2020 2020 2020 2020 2020 ring). \n+0000bd90: 2020 2020 2072 6574 7572 6e20 486f 7374 return Host\n+0000bda0: 5f45 6e74 7279 3b0a 0a50 4152 414d 4554 _Entry;..PARAMET\n+0000bdb0: 4552 530a 2020 2020 2053 4f4d 4554 4849 ERS. SOMETHI\n+0000bdc0: 4e47 2020 696e 2020 2020 2020 2020 2048 NG in H\n+0000bdd0: 6f73 7420 6e61 6d65 206f 7220 4950 2061 ost name or IP a\n+0000bde0: 6464 7265 7373 0a0a 5245 5455 524e 2056 ddress..RETURN V\n+0000bdf0: 414c 5545 0a20 2020 2020 436f 7272 6573 ALUE. Corres\n+0000be00: 706f 6e64 696e 6720 686f 7374 2065 6e74 ponding host ent\n+0000be10: 7279 0a0a 4445 5343 5249 5054 494f 4e0a ry..DESCRIPTION.\n+0000be20: 2020 2020 2054 6869 7320 6675 6e63 7469 This functi\n+0000be30: 6f6e 2065 7874 7261 6374 7320 616c 6c20 on extracts all \n+0000be40: 7468 6520 6e61 6d65 7320 616e 6420 6164 the names and ad\n+0000be50: 6472 6573 7365 7320 6672 6f6d 2074 6865 dresses from the\n+0000be60: 206e 616d 696e 670a 2020 2020 2073 6572 naming. ser\n+0000be70: 7669 6365 2e0a 0a45 5843 4550 5449 4f4e vice...EXCEPTION\n+0000be80: 530a 2020 2020 20e2 8098 4e61 6d69 6e67 S. ...Naming\n+0000be90: 5f45 7272 6f72 e280 9920 2020 2020 4e6f _Error... No\n+0000bea0: 2069 6e66 6f72 6d61 7469 6f6e 2061 7661 information ava\n+0000beb0: 696c 6162 6c65 2066 6f72 2074 6869 7320 ilable for this \n+0000bec0: 6e61 6d65 206f 720a 2020 2020 2020 2020 name or. \n+0000bed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000bee0: 6164 6472 6573 730a 0a1f 0a46 696c 653a address....File:\n+0000bef0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000bf00: 2c20 204e 6f64 653a 2049 735f 4950 5f41 , Node: Is_IP_A\n+0000bf10: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n+0000bf20: 292c 2020 4e65 7874 3a20 4e61 6d65 5f4f ), Next: Name_O\n+0000bf30: 6620 2866 756e 6374 696f 6e29 2c20 2050 f (function), P\n+0000bf40: 7265 763a 2049 6e66 6f5f 4f66 5f4e 616d rev: Info_Of_Nam\n+0000bf50: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000bf60: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000bf70: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000bf80: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f\n+0000bf90: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000bfa0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000bfb0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+0000bfc0: 4368 6563 6b20 6966 2067 6976 656e 2073 Check if given s\n+0000bfd0: 7472 696e 6720 6973 2061 2076 616c 6964 tring is a valid\n+0000bfe0: 2049 5020 6164 6472 6573 730a 5052 4f54 IP address.PROT\n+0000bff0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+0000c000: 6f63 6b65 7473 2e4e 616d 696e 672e 4973 ockets.Naming.Is\n+0000c010: 5f49 505f 4164 6472 6573 733a 2066 756e _IP_Address: fun\n+0000c020: 6374 696f 6e20 4973 5f49 505f 4164 6472 ction Is_IP_Addr\n+0000c030: 6573 730a 2020 2020 2020 2020 2020 2020 ess. \n+0000c040: 2020 2028 534f 4d45 5448 494e 4720 3a20 (SOMETHING : \n+0000c050: 5374 7269 6e67 290a 2020 2020 2020 2020 String). \n+0000c060: 2020 2020 2020 2072 6574 7572 6e20 426f return Bo\n+0000c070: 6f6c 6561 6e3b 0a0a 5041 5241 4d45 5445 olean;..PARAMETE\n+0000c080: 5253 0a20 2020 2020 534f 4d45 5448 494e RS. SOMETHIN\n+0000c090: 4720 2069 6e20 2020 2020 2020 2020 5374 G in St\n+0000c0a0: 7269 6e67 2074 6f20 6368 6563 6b0a 0a52 ring to check..R\n+0000c0b0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+0000c0c0: 20e2 8098 5472 7565 e280 9920 6966 2053 ...True... if S\n+0000c0d0: 4f4d 4554 4849 4e47 2069 7320 616e 2049 OMETHING is an I\n+0000c0e0: 5020 6164 6472 6573 730a 0a1f 0a46 696c P address....Fil\n+0000c0f0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000c100: 666f 2c20 204e 6f64 653a 204e 616d 655f fo, Node: Name_\n+0000c110: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n+0000c120: 4e65 7874 3a20 5661 6c75 6520 2866 756e Next: Value (fun\n+0000c130: 6374 696f 6e29 2c20 2050 7265 763a 2049 ction), Prev: I\n+0000c140: 735f 4950 5f41 6464 7265 7373 2028 6675 s_IP_Address (fu\n+0000c150: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000c160: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000c170: 6f6e 290a 0a4e 616d 655f 4f66 2028 6675 on)..Name_Of (fu\n+0000c180: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000c190: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+0000c1a0: 4f53 450a 2020 2020 204f 6666 6963 6961 OSE. Officia\n+0000c1b0: 6c20 6e61 6d65 206f 6620 7468 6520 686f l name of the ho\n+0000c1c0: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+0000c1d0: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000c1e0: 6d69 6e67 2e4e 616d 655f 4f66 3a20 6675 ming.Name_Of: fu\n+0000c1f0: 6e63 7469 6f6e 204e 616d 655f 4f66 2028 nction Name_Of (\n+0000c200: 534f 4d45 5448 494e 4720 3a20 5374 7269 SOMETHING : Stri\n+0000c210: 6e67 290a 2020 2020 2020 2020 2020 2020 ng). \n+0000c220: 2020 2072 6574 7572 6e20 5374 7269 6e67 return String\n+0000c230: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+0000c240: 2020 2053 4f4d 4554 4849 4e47 2020 696e SOMETHING in\n+0000c250: 2020 2020 2020 2020 2048 6f73 7420 6e61 Host na\n+0000c260: 6d65 206f 7220 4950 2061 6464 7265 7373 me or IP address\n+0000c270: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000c280: 2020 2020 4e61 6d65 206f 6620 7468 6520 Name of the \n+0000c290: 686f 7374 0a0a 4558 4345 5054 494f 4e53 host..EXCEPTIONS\n+0000c2a0: 0a20 2020 2020 e280 984e 616d 696e 675f . ...Naming_\n+0000c2b0: 4572 726f 72e2 8099 2020 2020 204e 6f20 Error... No \n+0000c2c0: 696e 666f 726d 6174 696f 6e20 6176 6169 information avai\n+0000c2d0: 6c61 626c 6520 666f 7220 7468 6973 206e lable for this n\n+0000c2e0: 616d 6520 6f72 0a20 2020 2020 2020 2020 ame or. \n+0000c2f0: 2020 2020 2020 2020 2020 2020 2020 2061 a\n+0000c300: 6464 7265 7373 0a0a 5345 4520 414c 534f ddress..SEE ALSO\n+0000c310: 0a20 2020 2020 2a6e 6f74 6520 4164 6472 . *note Addr\n+0000c320: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000c330: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+0000c340: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000c350: 4e6f 6465 3a20 5661 6c75 6520 2866 756e Node: Value (fun\n+0000c360: 6374 696f 6e29 2c20 2050 7265 763a 204e ction), Prev: N\n+0000c370: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n+0000c380: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n+0000c390: 4f66 2028 6675 6e63 7469 6f6e 290a 0a56 Of (function)..V\n+0000c3a0: 616c 7565 2028 6675 6e63 7469 6f6e 290a alue (function).\n+0000c3b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000c3c0: 0a0a 5055 5250 4f53 450a 2020 2020 2054 ..PURPOSE. T\n+0000c3d0: 7261 6e73 666f 726d 2061 2073 7472 696e ransform a strin\n+0000c3e0: 6720 696e 746f 2061 6e20 6164 6472 6573 g into an addres\n+0000c3f0: 730a 5052 4f54 4f54 5950 450a 2020 2020 s.PROTOTYPE. \n+0000c400: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000c410: 696e 672e 5661 6c75 653a 2066 756e 6374 ing.Value: funct\n+0000c420: 696f 6e20 5661 6c75 6520 2841 4444 203a ion Value (ADD :\n+0000c430: 2053 7472 696e 6729 0a20 2020 2020 2020 String). \n+0000c440: 2020 2020 2020 2020 7265 7475 726e 2041 return A\n+0000c450: 6464 7265 7373 3b0a 0a50 4152 414d 4554 ddress;..PARAMET\n+0000c460: 4552 530a 2020 2020 2041 4444 2020 2020 ERS. ADD \n+0000c470: 2020 2020 696e 2020 2020 2020 2020 2054 in T\n+0000c480: 6578 7475 616c 2072 6570 7265 7365 6e74 extual represent\n+0000c490: 6174 696f 6e20 6f66 2061 6e20 4950 2061 ation of an IP a\n+0000c4a0: 6464 7265 7373 0a0a 5245 5455 524e 2056 ddress..RETURN V\n+0000c4b0: 414c 5545 0a20 2020 2020 436f 7272 6573 ALUE. Corres\n+0000c4c0: 706f 6e64 696e 6720 4164 6472 6573 730a ponding Address.\n+0000c4d0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+0000c4e0: 6e6f 7465 2049 6d61 6765 2028 6675 6e63 note Image (func\n+0000c4f0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n+0000c500: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+0000c510: 6f2c 2020 4e6f 6465 3a20 436f 6e74 7269 o, Node: Contri\n+0000c520: 6275 746f 7273 2c20 204e 6578 743a 2052 butors, Next: R\n+0000c530: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n+0000c540: 496e 7465 726e 6574 2c20 2050 7265 763a Internet, Prev:\n+0000c550: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000c560: 7061 636b 6167 652c 2020 5570 3a20 546f package, Up: To\n+0000c570: 700a 0a41 7070 656e 6469 7820 4120 436f p..Appendix A Co\n+0000c580: 6e74 7269 6275 746f 7273 0a2a 2a2a 2a2a ntributors.*****\n+0000c590: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c5a0: 2a2a 0a0a 4164 6153 6f63 6b65 7473 2068 **..AdaSockets h\n+0000c5b0: 6173 2062 6565 6e20 6f72 6967 696e 616c as been original\n+0000c5c0: 6c79 2064 6576 656c 6f70 7065 6420 6279 ly developped by\n+0000c5d0: 2053 616d 7565 6c20 5461 7264 6965 7520 Samuel Tardieu \n+0000c5e0: 7768 6f20 7374 696c 6c0a 6d61 696e 7461 who still.mainta\n+0000c5f0: 696e 7320 6974 2e20 2048 6f77 6576 6572 ins it. However\n+0000c600: 2c20 7468 6520 666f 6c6c 6f77 696e 6720 , the following \n+0000c610: 7065 6f70 6c65 2068 6176 6520 6d61 6465 people have made\n+0000c620: 2063 7275 6369 616c 0a63 6f6e 7472 6962 crucial.contrib\n+0000c630: 7574 696f 6e73 2074 6f20 4164 6153 6f63 utions to AdaSoc\n+0000c640: 6b65 7473 2c20 6265 2074 6865 7920 6e65 kets, be they ne\n+0000c650: 7720 636f 6465 2c20 6275 6720 6669 7865 w code, bug fixe\n+0000c660: 7320 6f72 2070 6f72 7469 6e67 2074 6f0a s or porting to.\n+0000c670: 6e65 7720 6f70 6572 6174 696e 6720 7379 new operating sy\n+0000c680: 7374 656d 733a 0a0a 2020 20e2 80a2 2044 stems:.. ... D\n+0000c690: 6d69 7472 6979 2041 6e69 7369 6d6b 6f76 mitriy Anisimkov\n+0000c6a0: 2028 3c61 6e69 7369 6d6b 6f76 4079 6168 (). ... \n+0000c6c0: 416c 616e 2042 6172 6e65 7320 283c 6261 Alan Barnes (). ... Juanm\n+0000c6f0: 6120 4261 7272 616e 7175 6572 6f20 283c a Barranquero (<\n+0000c700: 6c65 6b74 7540 7465 7272 612e 6573 3e29 lektu@terra.es>)\n+0000c710: 0a20 2020 e280 a220 426f 6262 7920 442e . ... Bobby D.\n+0000c720: 2042 7279 616e 7420 283c 6264 6272 7961 Bryant (). ... Sand\n+0000c750: 6572 2043 6f78 2028 3c73 616e 6465 722e er Cox (\n+0000c770: 290a 2020 20e2 80a2 2053 756e 6520 4661 ). ... Sune Fa\n+0000c780: 6c6b 2028 3c73 756e 652e 6661 6c63 6b40 lk (). .\n+0000c7a0: 80a2 2047 7569 6c6c 6175 6d65 2046 6f6c .. Guillaume Fol\n+0000c7b0: 6961 7264 2028 3c67 7569 666f 4077 616e iard (). ...\n+0000c7d0: 204c 6175 7265 6e74 2047 7565 7262 7920 Laurent Guerby \n+0000c7e0: 283c 6775 6572 6279 4063 6c75 622d 696e (). .\n+0000c800: 80a2 2044 6176 6964 204a 2e20 4b72 6973 .. David J. Kris\n+0000c810: 746f 6c61 2028 3c44 6176 6964 3935 3033 tola (). .\n+0000c830: 80a2 2044 6f6d 696e 696b 204d 6164 6f6e .. Dominik Madon\n+0000c840: 2028 3c64 6f6d 696e 696b 4061 636d 2e6f (). ... Pasc\n+0000c860: 616c 204f 6272 7920 283c 702e 6f62 7279 al Obry (). \n+0000c880: 20e2 80a2 204e 6963 6f6c 6173 204f 6c6c ... Nicolas Oll\n+0000c890: 696e 6765 7220 283c 4e69 636f 6c61 732e inger (). ... St\n+0000c8c0: 7068 616e 6520 5061 7475 7265 6175 2028 phane Patureau (\n+0000c8d0: 3c73 7061 7475 7265 6140 6d65 6c65 7475 ). ... T\n+0000c900: 686f 6d61 7320 5175 696e 6f74 2028 3c74 homas Quinot (). ... \n+0000c930: 5072 6562 656e 2052 616e 6468 6f6c 2028 Preben Randhol (\n+0000c940: 3c72 616e 6468 6f6c 4070 7676 2e6f 7267 ). ... Maxim \n+0000c960: 5265 7a6e 696b 2028 3c6d 6178 3140 6d62 Reznik (). \n+0000c980: e280 a220 4a6f 656c 2053 6865 7272 696c ... Joel Sherril\n+0000c990: 6c20 283c 6a6f 656c 2e73 6865 7272 696c l ().\n+0000c9b0: 2020 20e2 80a2 2053 616d 7565 6c20 5461 ... Samuel Ta\n+0000c9c0: 7264 6965 7520 283c 7361 6d40 7266 6331 rdieu ().. If\n+0000c9e0: 2079 6f75 2066 6565 6c20 7468 6174 2079 you feel that y\n+0000c9f0: 6f75 2068 6176 6520 6265 656e 2066 6f72 ou have been for\n+0000ca00: 676f 7474 656e 2c20 706c 6561 7365 2073 gotten, please s\n+0000ca10: 656e 6420 6d65 2061 206d 6169 6c20 736f end me a mail so\n+0000ca20: 0a74 6861 7420 4920 6361 6e20 6669 7820 .that I can fix \n+0000ca30: 6974 2069 6e20 7468 6520 6e65 7874 2076 it in the next v\n+0000ca40: 6572 7369 6f6e 2e0a 0a20 2020 2a4e 6f74 ersion... *Not\n+0000ca50: 6520 5265 736f 7572 6365 7320 6f6e 2074 e Resources on t\n+0000ca60: 6865 2049 6e74 6572 6e65 743a 3a2c 2066 he Internet::, f\n+0000ca70: 6f72 2068 6f77 2074 6f20 636f 6e74 7269 or how to contri\n+0000ca80: 6275 7465 2e0a 0a1f 0a46 696c 653a 2061 bute.....File: a\n+0000ca90: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000caa0: 204e 6f64 653a 2052 6573 6f75 7263 6573 Node: Resources\n+0000cab0: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n+0000cac0: 2c20 204e 6578 743a 2049 6e64 6578 2c20 , Next: Index, \n+0000cad0: 2050 7265 763a 2043 6f6e 7472 6962 7574 Prev: Contribut\n+0000cae0: 6f72 732c 2020 5570 3a20 546f 700a 0a41 ors, Up: Top..A\n+0000caf0: 7070 656e 6469 7820 4220 5265 736f 7572 ppendix B Resour\n+0000cb00: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n+0000cb10: 6e65 740a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a net.************\n+0000cb20: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000cb30: 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 6c61 ********..The la\n+0000cb40: 7465 7374 2076 6572 7369 6f6e 206f 6620 test version of \n+0000cb50: 4164 6153 6f63 6b65 7473 2063 616e 2061 AdaSockets can a\n+0000cb60: 6c77 6179 7320 6265 2066 6f75 6e64 2061 lways be found a\n+0000cb70: 743a 0a0a 2020 2020 2020 2020 2020 2020 t:.. \n+0000cb80: 2020 3c68 7474 7073 3a2f 2f77 7777 2e72 .. \n+0000cbb0: 2059 6f75 2063 616e 2072 6570 6f72 7420 You can report \n+0000cbc0: 6973 7375 6573 206f 7220 7468 6520 4164 issues or the Ad\n+0000cbd0: 6153 6f63 6b65 7473 206d 6169 6c69 6e67 aSockets mailing\n+0000cbe0: 2d6c 6973 7420 6174 0a0a 2020 2020 2020 -list at.. \n+0000cbf0: 2020 2020 2020 3c68 7474 7073 3a2f 2f6c .. Contri\n+0000cc30: 6275 7469 6f6e 7320 616e 6420 7061 7463 butions and patc\n+0000cc40: 6865 7320 6172 6520 7765 6c63 6f6d 6564 hes are welcomed\n+0000cc50: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+0000cc60: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+0000cc70: 653a 2049 6e64 6578 2c20 2050 7265 763a e: Index, Prev:\n+0000cc80: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000cc90: 6520 496e 7465 726e 6574 2c20 2055 703a e Internet, Up:\n+0000cca0: 2054 6f70 0a0a 496e 6465 780a 2a2a 2a2a Top..Index.****\n+0000ccb0: 2a0a 0a00 085b 696e 6465 7800 085d 0a2a *....[index..].*\n+0000ccc0: 204d 656e 753a 0a0a 2a20 4163 6365 7074 Menu:..* Accept\n+0000ccd0: 5f53 6f63 6b65 743a 2020 2020 2020 2020 _Socket: \n+0000cce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ccf0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+0000cd00: 7072 6f63 6564 7572 6529 2e0a 2020 2020 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 2028 6c69 6e65 (line\n+0000cd50: 2020 3929 0a2a 2041 6363 6570 7469 6e67 9).* Accepting\n+0000cd60: 2061 206e 6577 2063 6f6e 6e65 6374 696f a new connectio\n+0000cd70: 6e3a 2020 2020 2020 2020 2020 2020 4163 n: Ac\n+0000cd80: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+0000cd90: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \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 2020 2020 2020 \n-0000cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cdf0: 2028 6c69 6e65 2032 3129 0a2a 2041 6461 (line 21).* Ada\n-0000ce00: 536f 636b 6574 7320 7072 6573 656e 7461 Sockets presenta\n-0000ce10: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-0000ce20: 2020 2020 5768 6174 2069 7320 4164 6153 What is AdaS\n-0000ce30: 6f63 6b65 7473 3f2e 2020 286c 696e 6520 ockets?. (line \n-0000ce40: 2036 290a 2a20 4164 6472 6573 733a 2020 6).* Address: \n+0000cdd0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000cde0: 290a 2a20 4164 612e 5374 7265 616d 732e ).* Ada.Streams.\n+0000cdf0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+0000ce00: 7272 6179 3a20 2020 2020 2052 6177 2064 rray: Raw d\n+0000ce10: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e ata manipulation\n+0000ce20: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2020 2020 2020 2053 6f63 Soc\n-0000ce70: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n-0000ce80: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \n-0000ce90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ceb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cec0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000ced0: 4164 6472 6573 735f 4172 7261 793a 2020 Address_Array: \n-0000cee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cef0: 2020 2020 2020 2053 6f63 6b65 7473 2e4e Sockets.N\n-0000cf00: 616d 696e 6720 7061 636b 6167 652e 0a20 aming package.. \n-0000cf10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf40: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000cf50: 696e 6520 3136 290a 2a20 4164 6472 6573 ine 16).* Addres\n-0000cf60: 735f 436f 6d70 6f6e 656e 743a 2020 2020 s_Component: \n-0000cf70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf80: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-0000cf90: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \n-0000cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cfc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cfd0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000cfe0: 290a 2a20 4164 6472 6573 735f 4f66 3a20 ).* Address_Of: \n-0000cff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d000: 2020 2020 2020 2020 2020 2041 6464 7265 Addre\n-0000d010: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n-0000d020: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000d030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d060: 2028 6c69 6e65 2020 3929 0a2a 2041 465f (line 9).* AF_\n-0000d070: 494e 4554 3a20 2020 2020 2020 2020 2020 INET: \n+0000ce60: 2028 6c69 6e65 2020 3629 0a2a 2041 6461 (line 6).* Ada\n+0000ce70: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_\n+0000ce80: 456c 656d 656e 745f 4172 7261 7920 3c31 Element_Array <1\n+0000ce90: 3e3a 2020 5265 6365 6976 6520 2866 756e >: Receive (fun\n+0000cea0: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n+0000ceb0: 3232 290a 2a20 4164 612e 5374 7265 616d 22).* Ada.Stream\n+0000cec0: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n+0000ced0: 5f41 7272 6179 203c 323e 3a20 2052 6563 _Array <2>: Rec\n+0000cee0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+0000cef0: 2e20 2028 6c69 6e65 2031 3829 0a2a 2041 . (line 18).* A\n+0000cf00: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n+0000cf10: 6d5f 456c 656d 656e 745f 4172 7261 7920 m_Element_Array \n+0000cf20: 3c33 3e3a 2020 5265 6365 6976 655f 536f <3>: Receive_So\n+0000cf30: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\n+0000cf40: 2020 2020 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+0000cf70: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000cf80: 6c69 6e65 2032 3129 0a2a 2041 6461 2e53 line 21).* Ada.S\n+0000cf90: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n+0000cfa0: 656d 656e 745f 4172 7261 7920 3c34 3e3a ement_Array <4>:\n+0000cfb0: 2020 5365 6e64 2028 7072 6f63 6564 7572 Send (procedur\n+0000cfc0: 6529 2e20 2020 2020 286c 696e 6520 3137 e). (line 17\n+0000cfd0: 290a 2a20 4164 612e 5374 7265 616d 732e ).* Ada.Streams.\n+0000cfe0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n+0000cff0: 6f75 6e74 3a20 2020 2020 2052 6563 6569 ount: Recei\n+0000d000: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n+0000d010: 2028 6c69 6e65 2032 3229 0a2a 2041 6461 (line 22).* Ada\n+0000d020: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_\n+0000d030: 456c 656d 656e 745f 436f 756e 7420 3c31 Element_Count <1\n+0000d040: 3e3a 2020 5265 6365 6976 655f 536f 6d65 >: Receive_Some\n+0000d050: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000d060: 2020 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-0000d090: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-0000d0a0: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-0000d0b0: 3139 290a 2a20 416e 795f 4164 6472 6573 19).* Any_Addres\n-0000d0c0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-0000d0d0: 2020 2020 2020 2020 2020 2020 2041 6e79 Any\n-0000d0e0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-0000d0f0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+0000d090: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000d0a0: 6e65 2032 3129 0a2a 2041 6461 536f 636b ne 21).* AdaSock\n+0000d0b0: 6574 7320 7072 6573 656e 7461 7469 6f6e ets presentation\n+0000d0c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d0d0: 5768 6174 2069 7320 4164 6153 6f63 6b65 What is AdaSocke\n+0000d0e0: 7473 3f2e 2020 286c 696e 6520 2036 290a ts?. (line 6).\n+0000d0f0: 2a20 4164 6472 6573 733a 2020 2020 2020 * Address: \n 0000d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d130: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000d140: 4173 7369 676e 696e 6720 6120 6c6f 6361 Assigning a loca\n-0000d150: 6c20 706f 7274 3a20 2020 2020 2020 2020 l port: \n-0000d160: 2020 2020 2020 2042 696e 6420 2870 726f Bind (pro\n-0000d170: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n-0000d180: 6e65 2020 3629 0a2a 2042 696e 643a 2020 ne 6).* Bind: \n+0000d110: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n+0000d120: 2e4e 616d 696e 6720 7061 636b 6167 652e .Naming package.\n+0000d130: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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: 286c 696e 6520 2039 290a 2a20 4164 6472 (line 9).* Addr\n+0000d180: 6573 735f 4172 7261 793a 2020 2020 2020 ess_Array: \n 0000d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1b0: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-0000d1c0: 2e20 2020 2020 286c 696e 6520 2039 290a . (line 9).\n-0000d1d0: 2a20 4269 6e64 696e 6720 6120 736f 636b * Binding a sock\n-0000d1e0: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n-0000d1f0: 2020 2020 2020 2020 2042 696e 6420 2870 Bind (p\n-0000d200: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n-0000d210: 6c69 6e65 2020 3629 0a2a 2042 6f74 683a line 6).* Both:\n-0000d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d240: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n-0000d250: 6564 7572 6529 2e20 286c 696e 6520 3137 edure). (line 17\n-0000d260: 290a 2a20 436c 6f73 696e 6720 6120 736f ).* Closing a so\n-0000d270: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n-0000d280: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n-0000d290: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n-0000d2a0: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6d (line 6).* Com\n-0000d2b0: 7061 7261 6973 6f6e 2077 6974 6820 474e paraison with GN\n-0000d2c0: 4154 2e53 6f63 6b65 7473 3a20 2020 2020 AT.Sockets: \n-0000d2d0: 2020 2020 5768 6174 2069 7320 4164 6153 What is AdaS\n-0000d2e0: 6f63 6b65 7473 3f2e 2020 286c 696e 6520 ockets?. (line \n-0000d2f0: 2036 290a 2a20 436f 6e6e 6563 743a 2020 6).* Connect: \n-0000d300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d310: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-0000d320: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n-0000d330: 2e20 2028 6c69 6e65 2020 3929 0a2a 2043 . (line 9).* C\n-0000d340: 6f6e 6e65 6374 696e 6720 6120 736f 636b onnecting a sock\n-0000d350: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n-0000d360: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n-0000d370: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n-0000d380: 6520 2036 290a 2a20 436f 6e6e 6563 7469 e 6).* Connecti\n-0000d390: 6f6e 5f43 6c6f 7365 643a 2020 2020 2020 on_Closed: \n-0000d3a0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000d3b0: 6574 2028 6675 6e63 7469 6f6e 292e 2020 et (function). \n-0000d3c0: 2020 2020 2028 6c69 6e65 2033 3429 0a2a (line 34).*\n-0000d3d0: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n-0000d3e0: 6564 203c 313e 3a20 2020 2020 2020 2020 ed <1>: \n-0000d3f0: 2020 2020 2020 2020 4765 745f 4368 6172 Get_Char\n-0000d400: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n-0000d410: 696e 6520 3233 290a 2a20 436f 6e6e 6563 ine 23).* Connec\n-0000d420: 7469 6f6e 5f43 6c6f 7365 6420 3c32 3e3a tion_Closed <2>:\n-0000d430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d440: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-0000d450: 696f 6e29 2e20 2028 6c69 6e65 2033 3229 ion). (line 32)\n-0000d460: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n-0000d470: 6f73 6564 203c 333e 3a20 2020 2020 2020 osed <3>: \n-0000d480: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n-0000d490: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000d4a0: 286c 696e 6520 3237 290a 2a20 436f 6e6e (line 27).* Conn\n-0000d4b0: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c34 ection_Closed <4\n-0000d4c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000d4d0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n-0000d4e0: 6365 6475 7265 292e 2028 6c69 6e65 2032 cedure). (line 2\n-0000d4f0: 3029 0a2a 2043 6f6e 6e65 6374 696f 6e5f 0).* Connection_\n-0000d500: 436c 6f73 6564 203c 353e 3a20 2020 2020 Closed <5>: \n-0000d510: 2020 2020 2020 2020 2020 2020 5075 7420 Put \n-0000d520: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n-0000d530: 2020 286c 696e 6520 3231 290a 2a20 436f (line 21).* Co\n-0000d540: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n-0000d550: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n-0000d560: 2020 2020 2050 7574 5f4c 696e 6520 2870 Put_Line (p\n-0000d570: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-0000d580: 2032 3129 0a2a 2043 6f6e 6e65 6374 696f 21).* Connectio\n-0000d590: 6e5f 436c 6f73 6564 203c 373e 3a20 2020 n_Closed <7>: \n-0000d5a0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-0000d5b0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-0000d5c0: 2e20 2020 286c 696e 6520 3330 290a 2a20 . (line 30).* \n-0000d5d0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-0000d5e0: 6420 3c38 3e3a 2020 2020 2020 2020 2020 d <8>: \n-0000d5f0: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n-0000d600: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n-0000d610: 6e65 2032 3529 0a2a 2043 6f6e 6e65 6374 ne 25).* Connect\n-0000d620: 696f 6e5f 436c 6f73 6564 203c 393e 3a20 ion_Closed <9>: \n-0000d630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d640: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-0000d650: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000d660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d690: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000d6a0: 3729 0a2a 2043 6f6e 6e65 6374 696f 6e5f 7).* Connection_\n-0000d6b0: 436c 6f73 6564 203c 3130 3e3a 2020 2020 Closed <10>: \n-0000d6c0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n-0000d6d0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000d6e0: 2020 286c 696e 6520 3231 290a 2a20 436f (line 21).* Co\n-0000d6f0: 6e6e 6563 7469 6f6e 5f52 6566 7573 6564 nnection_Refused\n-0000d700: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d710: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr\n-0000d720: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n-0000d730: 2032 3529 0a2a 2043 6f6e 7472 6962 7574 25).* Contribut\n-0000d740: 696e 673a 2020 2020 2020 2020 2020 2020 ing: \n-0000d750: 2020 2020 2020 2020 2020 2020 2020 436f Co\n-0000d760: 6e74 7269 6275 746f 7273 2e20 2020 2020 ntributors. \n-0000d770: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000d780: 436f 6e74 7269 6275 7469 6e67 203c 313e Contributing <1>\n-0000d790: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d7a0: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources\n-0000d7b0: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n-0000d7c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d800: 2028 6c69 6e65 2020 3629 0a2a 2043 523a (line 6).* CR:\n-0000d810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d830: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n-0000d840: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n-0000d850: 3231 290a 2a20 4352 203c 313e 3a20 2020 21).* CR <1>: \n-0000d860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d870: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000d880: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-0000d890: 292e 2028 6c69 6e65 2031 3829 0a2a 2043 ). (line 18).* C\n-0000d8a0: 5220 3c32 3e3a 2020 2020 2020 2020 2020 R <2>: \n-0000d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d8c0: 2020 2020 2020 4e65 775f 4c69 6e65 2028 New_Line (\n-0000d8d0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000d8e0: 6520 3137 290a 2a20 4372 6561 7465 5f4d e 17).* Create_M\n-0000d8f0: 756c 7469 6361 7374 5f53 6f63 6b65 743a ulticast_Socket:\n-0000d900: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000d910: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n-0000d920: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+0000d1a0: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin\n+0000d1b0: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. \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 286c 696e 6520 (line \n+0000d200: 3136 290a 2a20 4164 6472 6573 735f 436f 16).* Address_Co\n+0000d210: 6d70 6f6e 656e 743a 2020 2020 2020 2020 mponent: \n+0000d220: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+0000d230: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+0000d240: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \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 286c 696e 6520 3230 290a 2a20 (line 20).* \n+0000d290: 4164 6472 6573 735f 4f66 3a20 2020 2020 Address_Of: \n+0000d2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d2b0: 2020 2020 2020 2041 6464 7265 7373 5f4f Address_O\n+0000d2c0: 6620 2866 756e 6374 696f 6e29 2e0a 2020 f (function).. \n+0000d2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 (li\n+0000d310: 6e65 2020 3929 0a2a 2041 465f 494e 4554 ne 9).* AF_INET\n+0000d320: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d340: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+0000d350: 6529 2e20 2020 286c 696e 6520 3139 290a e). (line 19).\n+0000d360: 2a20 416e 795f 4164 6472 6573 733a 2020 * Any_Address: \n+0000d370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d380: 2020 2020 2020 2020 2041 6e79 5f41 6464 Any_Add\n+0000d390: 7265 7373 2028 6675 6e63 7469 6f6e 292e ress (function).\n+0000d3a0: 0a20 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: 286c 696e 6520 2039 290a 2a20 4173 7369 (line 9).* Assi\n+0000d3f0: 676e 696e 6720 6120 6c6f 6361 6c20 706f gning a local po\n+0000d400: 7274 3a20 2020 2020 2020 2020 2020 2020 rt: \n+0000d410: 2020 2042 696e 6420 2870 726f 6365 6475 Bind (procedu\n+0000d420: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n+0000d430: 3629 0a2a 2042 696e 643a 2020 2020 2020 6).* Bind: \n+0000d440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d450: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind\n+0000d460: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000d470: 2020 286c 696e 6520 2039 290a 2a20 4269 (line 9).* Bi\n+0000d480: 6e64 696e 6720 6120 736f 636b 6574 3a20 nding a socket: \n+0000d490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4a0: 2020 2020 2042 696e 6420 2870 726f 6365 Bind (proce\n+0000d4b0: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+0000d4c0: 2020 3629 0a2a 2042 6f74 683a 2020 2020 6).* Both: \n+0000d4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4e0: 2020 2020 2020 2020 2020 2020 2020 5368 Sh\n+0000d4f0: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n+0000d500: 6529 2e20 286c 696e 6520 3137 290a 2a20 e). (line 17).* \n+0000d510: 436c 6f73 696e 6720 6120 736f 636b 6574 Closing a socket\n+0000d520: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d530: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n+0000d540: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+0000d550: 6e65 2020 3629 0a2a 2043 6f6d 7061 7261 ne 6).* Compara\n+0000d560: 6973 6f6e 2077 6974 6820 474e 4154 2e53 ison with GNAT.S\n+0000d570: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n+0000d580: 5768 6174 2069 7320 4164 6153 6f63 6b65 What is AdaSocke\n+0000d590: 7473 3f2e 2020 286c 696e 6520 2036 290a ts?. (line 6).\n+0000d5a0: 2a20 436f 6e6e 6563 743a 2020 2020 2020 * Connect: \n+0000d5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d5c0: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+0000d5d0: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n+0000d5e0: 6c69 6e65 2020 3929 0a2a 2043 6f6e 6e65 line 9).* Conne\n+0000d5f0: 6374 696e 6720 6120 736f 636b 6574 3a20 cting a socket: \n+0000d600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d610: 2020 436f 6e6e 6563 7420 2870 726f 6365 Connect (proce\n+0000d620: 6475 7265 292e 2020 286c 696e 6520 2036 dure). (line 6\n+0000d630: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n+0000d640: 6c6f 7365 643a 2020 2020 2020 2020 2020 losed: \n+0000d650: 2020 2020 2020 2020 2020 2047 6574 2028 Get (\n+0000d660: 6675 6e63 7469 6f6e 292e 2020 2020 2020 function). \n+0000d670: 2028 6c69 6e65 2033 3429 0a2a 2043 6f6e (line 34).* Con\n+0000d680: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n+0000d690: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0000d6a0: 2020 2020 4765 745f 4368 6172 2028 6675 Get_Char (fu\n+0000d6b0: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n+0000d6c0: 3233 290a 2a20 436f 6e6e 6563 7469 6f6e 23).* Connection\n+0000d6d0: 5f43 6c6f 7365 6420 3c32 3e3a 2020 2020 _Closed <2>: \n+0000d6e0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000d6f0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+0000d700: 2e20 2028 6c69 6e65 2033 3229 0a2a 2043 . (line 32).* C\n+0000d710: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n+0000d720: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n+0000d730: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000d740: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000d750: 6520 3237 290a 2a20 436f 6e6e 6563 7469 e 27).* Connecti\n+0000d760: 6f6e 5f43 6c6f 7365 6420 3c34 3e3a 2020 on_Closed <4>: \n+0000d770: 2020 2020 2020 2020 2020 2020 2020 204e N\n+0000d780: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+0000d790: 7265 292e 2028 6c69 6e65 2032 3029 0a2a re). (line 20).*\n+0000d7a0: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n+0000d7b0: 6564 203c 353e 3a20 2020 2020 2020 2020 ed <5>: \n+0000d7c0: 2020 2020 2020 2020 5075 7420 2870 726f Put (pro\n+0000d7d0: 6365 6475 7265 292e 2020 2020 2020 286c cedure). (l\n+0000d7e0: 696e 6520 3231 290a 2a20 436f 6e6e 6563 ine 21).* Connec\n+0000d7f0: 7469 6f6e 5f43 6c6f 7365 6420 3c36 3e3a tion_Closed <6>:\n+0000d800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d810: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n+0000d820: 6475 7265 292e 2028 6c69 6e65 2032 3129 dure). (line 21)\n+0000d830: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n+0000d840: 6f73 6564 203c 373e 3a20 2020 2020 2020 osed <7>: \n+0000d850: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n+0000d860: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+0000d870: 286c 696e 6520 3330 290a 2a20 436f 6e6e (line 30).* Conn\n+0000d880: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c38 ection_Closed <8\n+0000d890: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000d8a0: 2020 2052 6563 6569 7665 2028 7072 6f63 Receive (proc\n+0000d8b0: 6564 7572 6529 2e20 2028 6c69 6e65 2032 edure). (line 2\n+0000d8c0: 3529 0a2a 2043 6f6e 6e65 6374 696f 6e5f 5).* Connection_\n+0000d8d0: 436c 6f73 6564 203c 393e 3a20 2020 2020 Closed <9>: \n+0000d8e0: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n+0000d8f0: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n+0000d900: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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 2020 2020 2020 2020 \n-0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d960: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000d970: 6520 3136 290a 2a20 4372 6561 7465 5f4d e 16).* Create_M\n-0000d980: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n-0000d990: 3c31 3e3a 2020 2020 2020 2020 2020 2043 <1>: C\n-0000d9a0: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-0000d9b0: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n-0000d9c0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d940: 2020 2020 2028 6c69 6e65 2032 3729 0a2a (line 27).*\n+0000d950: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n+0000d960: 6564 203c 3130 3e3a 2020 2020 2020 2020 ed <10>: \n+0000d970: 2020 2020 2020 2020 5365 6e64 2028 7072 Send (pr\n+0000d980: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n+0000d990: 696e 6520 3231 290a 2a20 436f 6e6e 6563 ine 21).* Connec\n+0000d9a0: 7469 6f6e 5f52 6566 7573 6564 3a20 2020 tion_Refused: \n+0000d9b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d9c0: 2043 6f6e 6e65 6374 2028 7072 6f63 6564 Connect (proced\n+0000d9d0: 7572 6529 2e20 2028 6c69 6e65 2032 3529 ure). (line 25)\n+0000d9e0: 0a2a 2043 6f6e 7472 6962 7574 696e 673a .* Contributing:\n 0000d9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da00: 2020 286c 696e 6520 2039 290a 2a20 4372 (line 9).* Cr\n-0000da10: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-0000da20: 6f63 6b65 7420 3c32 3e3a 2020 2020 2020 ocket <2>: \n-0000da30: 2020 2020 2043 7265 6174 655f 4d75 6c74 Create_Mult\n-0000da40: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-0000da50: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da00: 2020 2020 2020 2020 2020 436f 6e74 7269 Contri\n+0000da10: 6275 746f 7273 2e20 2020 2020 2020 2020 butors. \n+0000da20: 286c 696e 6520 2036 290a 2a20 436f 6e74 (line 6).* Cont\n+0000da30: 7269 6275 7469 6e67 203c 313e 3a20 2020 ributing <1>: \n+0000da40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da50: 2020 2052 6573 6f75 7263 6573 206f 6e20 Resources on \n+0000da60: 7468 6520 496e 7465 726e 6574 2e0a 2020 the Internet.. \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 286c 696e 6520 3633 (line 63\n-0000daa0: 290a 2a20 4372 6561 7469 6e67 2061 206d ).* Creating a m\n-0000dab0: 756c 7469 6361 7374 2073 6f63 6b65 743a ulticast socket:\n-0000dac0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-0000dad0: 6e67 2075 7020 6d75 6c74 6963 6173 7420 ng up multicast \n-0000dae0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n-0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db00: 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 2028 6c69 (li\n+0000dab0: 6e65 2020 3629 0a2a 2043 523a 2020 2020 ne 6).* CR: \n+0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dae0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n+0000daf0: 6f6e 292e 2020 286c 696e 6520 3231 290a on). (line 21).\n+0000db00: 2a20 4352 203c 313e 3a20 2020 2020 2020 * CR <1>: \n 0000db10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db20: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000db30: 290a 2a20 4372 6561 7469 6e67 2061 206d ).* Creating a m\n-0000db40: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n-0000db50: 3c31 3e3a 2020 2020 2020 2043 7265 6174 <1>: Creat\n-0000db60: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-0000db70: 6574 2028 6675 6e63 7469 6f6e 292e 0a20 et (function).. \n-0000db80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbb0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000dbc0: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-0000dbd0: 6e67 2061 206d 756c 7469 6361 7374 2073 ng a multicast s\n-0000dbe0: 6f63 6b65 7420 3c32 3e3a 2020 2020 2020 ocket <2>: \n-0000dbf0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-0000dc00: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-0000dc10: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n-0000dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc50: 2020 2020 286c 696e 6520 3630 290a 2a20 (line 60).* \n-0000dc60: 4372 6561 7469 6e67 2061 2073 6572 7665 Creating a serve\n-0000dc70: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-0000dc80: 2020 2020 2020 2042 696e 6420 2870 726f Bind (pro\n-0000dc90: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n-0000dca0: 6e65 2020 3629 0a2a 2043 7265 6174 696e ne 6).* Creatin\n-0000dcb0: 6720 6120 736f 636b 6574 3a20 2020 2020 g a socket: \n-0000dcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dcd0: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n-0000dce0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-0000dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db20: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n+0000db30: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+0000db40: 6c69 6e65 2031 3829 0a2a 2043 5220 3c32 line 18).* CR <2\n+0000db50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000db60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db70: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc\n+0000db80: 6564 7572 6529 2e20 286c 696e 6520 3137 edure). (line 17\n+0000db90: 290a 2a20 4372 6561 7465 5f4d 756c 7469 ).* Create_Multi\n+0000dba0: 6361 7374 5f53 6f63 6b65 743a 2020 2020 cast_Socket: \n+0000dbb0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n+0000dbc0: 6e67 2075 7020 6d75 6c74 6963 6173 7420 ng up multicast \n+0000dbd0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \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 286c 696e 6520 3136 (line 16\n+0000dc20: 290a 2a20 4372 6561 7465 5f4d 756c 7469 ).* Create_Multi\n+0000dc30: 6361 7374 5f53 6f63 6b65 7420 3c31 3e3a cast_Socket <1>:\n+0000dc40: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n+0000dc50: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+0000dc60: 6574 2028 6675 6e63 7469 6f6e 292e 0a20 et (function).. \n+0000dc70: 2020 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+0000dca0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000dcb0: 696e 6520 2039 290a 2a20 4372 6561 7465 ine 9).* Create\n+0000dcc0: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+0000dcd0: 7420 3c32 3e3a 2020 2020 2020 2020 2020 t <2>: \n+0000dce0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+0000dcf0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+0000dd00: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n 0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000dd30: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating \n-0000dd40: 6120 736f 636b 6574 203c 313e 3a20 2020 a socket <1>: \n-0000dd50: 2020 2020 2020 2020 2020 2020 2020 536f So\n-0000dd60: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-0000dd70: 2e20 2020 286c 696e 6520 2036 290a 2a20 . (line 6).* \n-0000dd80: 4372 6561 7469 6e67 2061 2073 6f63 6b65 Creating a socke\n-0000dd90: 7420 3c32 3e3a 2020 2020 2020 2020 2020 t <2>: \n-0000dda0: 2020 2020 2020 2043 7265 6174 655f 4d75 Create_Mu\n-0000ddb0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-0000ddc0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \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 2020 2020 2020 \n-0000de00: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000de10: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n-0000de20: 2073 6f63 6b65 7420 3c33 3e3a 2020 2020 socket <3>: \n-0000de30: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n-0000de40: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-0000de50: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n-0000de60: 0a20 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: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dea0: 286c 696e 6520 3630 290a 2a20 4372 6561 (line 60).* Crea\n-0000deb0: 7469 6e67 2061 2054 4350 2073 6f63 6b65 ting a TCP socke\n-0000dec0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0000ded0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-0000dee0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd40: 2020 2020 286c 696e 6520 3731 290a 2a20 (line 71).* \n+0000dd50: 4372 6561 7469 6e67 2061 206d 756c 7469 Creating a multi\n+0000dd60: 6361 7374 2073 6f63 6b65 743a 2020 2020 cast socket: \n+0000dd70: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+0000dd80: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+0000dd90: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddd0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000dde0: 4372 6561 7469 6e67 2061 206d 756c 7469 Creating a multi\n+0000ddf0: 6361 7374 2073 6f63 6b65 7420 3c31 3e3a cast socket <1>:\n+0000de00: 2020 2020 2020 2043 7265 6174 655f 4d75 Create_Mu\n+0000de10: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+0000de20: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 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 286c 696e 6520 (line \n+0000de70: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000de80: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n+0000de90: 7420 3c32 3e3a 2020 2020 2020 2043 7265 t <2>: Cre\n+0000dea0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+0000deb0: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n+0000dec0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000ded0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df20: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000df30: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-0000df40: 6e67 2061 2055 4450 2073 6f63 6b65 743a ng a UDP socket:\n-0000df50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df60: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-0000df70: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-0000df80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df00: 286c 696e 6520 3638 290a 2a20 4372 6561 (line 68).* Crea\n+0000df10: 7469 6e67 2061 2073 6572 7665 723a 2020 ting a server: \n+0000df20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df30: 2020 2042 696e 6420 2870 726f 6365 6475 Bind (procedu\n+0000df40: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n+0000df50: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000df60: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n+0000df70: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000df80: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+0000df90: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n 0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfb0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000dfc0: 6520 2036 290a 2a20 4372 6561 7469 6e67 e 6).* Creating\n-0000dfd0: 2061 2075 6e69 6361 7374 2073 6f63 6b65 a unicast socke\n-0000dfe0: 743a 2020 2020 2020 2020 2020 2020 2053 t: S\n-0000dff0: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-0000e000: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \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 286c 696e 6520 (line \n-0000e050: 2036 290a 2a20 4573 7461 626c 6973 6869 6).* Establishi\n-0000e060: 6e67 2061 206c 6973 7465 6e20 7175 6575 ng a listen queu\n-0000e070: 653a 2020 2020 2020 2020 2020 204c 6973 e: Lis\n-0000e080: 7465 6e20 2870 726f 6365 6475 7265 292e ten (procedure).\n-0000e090: 2020 2028 6c69 6e65 2020 3629 0a2a 2046 (line 6).* F\n-0000e0a0: 696e 6469 6e67 2041 6461 536f 636b 6574 inding AdaSocket\n-0000e0b0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-0000e0c0: 743a 2020 2020 5265 736f 7572 6365 7320 t: Resources \n-0000e0d0: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n-0000e0e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e100: 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 2028 6c69 6e65 2020 3629 (line 6)\n+0000dfe0: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so\n+0000dff0: 636b 6574 203c 313e 3a20 2020 2020 2020 cket <1>: \n+0000e000: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+0000e010: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000e020: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n+0000e030: 7469 6e67 2061 2073 6f63 6b65 7420 3c32 ting a socket <2\n+0000e040: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000e050: 2020 2043 7265 6174 655f 4d75 6c74 6963 Create_Multic\n+0000e060: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n+0000e070: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \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 286c 696e 6520 2036 290a (line 6).\n+0000e0c0: 2a20 4372 6561 7469 6e67 2061 2073 6f63 * Creating a soc\n+0000e0d0: 6b65 7420 3c33 3e3a 2020 2020 2020 2020 ket <3>: \n+0000e0e0: 2020 2020 2020 2020 2043 7265 6174 655f Create_\n+0000e0f0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+0000e100: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 0000e110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e120: 286c 696e 6520 2036 290a 2a20 4765 743a (line 6).* Get:\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 2020 \n-0000e150: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n-0000e160: 292e 2020 2020 2020 2028 6c69 6e65 2020 ). (line \n-0000e170: 3929 0a2a 2047 6574 5f43 6861 723a 2020 9).* Get_Char: \n-0000e180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e190: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000e1a0: 4368 6172 2028 6675 6e63 7469 6f6e 292e Char (function).\n-0000e1b0: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n-0000e1c0: 745f 4c69 6e65 3a20 2020 2020 2020 2020 t_Line: \n-0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1e0: 2020 2020 2047 6574 5f4c 696e 6520 2866 Get_Line (f\n-0000e1f0: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n-0000e200: 2020 3929 0a2a 2047 6574 5f4c 696e 6520 9).* Get_Line \n-0000e210: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000e220: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000e230: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-0000e240: 6529 2e20 286c 696e 6520 2039 290a 2a20 e). (line 9).* \n-0000e250: 4765 745f 5065 6572 5f41 6464 723a 2020 Get_Peer_Addr: \n-0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e270: 2020 2020 2020 2047 6574 5f50 6565 725f Get_Peer_\n-0000e280: 4164 6472 2028 6675 6e63 7469 6f6e 292e Addr (function).\n-0000e290: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e140: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e150: 6520 3638 290a 2a20 4372 6561 7469 6e67 e 68).* Creating\n+0000e160: 2061 2054 4350 2073 6f63 6b65 743a 2020 a TCP socket: \n+0000e170: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000e180: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+0000e190: 7420 736f 636b 6574 732e 0a20 2020 2020 t 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 286c 696e 6520 (line \n+0000e1e0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000e1f0: 2055 4450 2073 6f63 6b65 743a 2020 2020 UDP socket: \n+0000e200: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+0000e210: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n+0000e220: 736f 636b 6574 732e 0a20 2020 2020 2020 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 286c 696e 6520 2036 (line 6\n+0000e270: 290a 2a20 4372 6561 7469 6e67 2061 2075 ).* Creating a u\n+0000e280: 6e69 6361 7374 2073 6f63 6b65 743a 2020 nicast socket: \n+0000e290: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n+0000e2a0: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n+0000e2b0: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n 0000e2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2d0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n-0000e2e0: 5065 6572 5f50 6f72 743a 2020 2020 2020 Peer_Port: \n-0000e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e300: 2020 2047 6574 5f50 6565 725f 506f 7274 Get_Peer_Port\n-0000e310: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-0000e320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e350: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000e360: 6520 2039 290a 2a20 4765 745f 5265 6365 e 9).* Get_Rece\n-0000e370: 6976 655f 5175 6575 655f 5369 7a65 3a20 ive_Queue_Size: \n-0000e380: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000e390: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-0000e3a0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-0000e3b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e3d0: 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 286c 696e 6520 2036 290a (line 6).\n+0000e300: 2a20 4573 7461 626c 6973 6869 6e67 2061 * Establishing a\n+0000e310: 206c 6973 7465 6e20 7175 6575 653a 2020 listen queue: \n+0000e320: 2020 2020 2020 2020 204c 6973 7465 6e20 Listen \n+0000e330: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n+0000e340: 6c69 6e65 2020 3629 0a2a 2046 696e 6469 line 6).* Findi\n+0000e350: 6e67 2041 6461 536f 636b 6574 7320 6f6e ng AdaSockets on\n+0000e360: 2074 6865 2049 6e74 6572 6e65 743a 2020 the Internet: \n+0000e370: 2020 5265 736f 7572 6365 7320 6f6e 2074 Resources on t\n+0000e380: 6865 2049 6e74 6572 6e65 742e 0a20 2020 he Internet.. \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 286c 696e (lin\n+0000e3d0: 6520 2036 290a 2a20 4765 743a 2020 2020 e 6).* Get: \n 0000e3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e3f0: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get\n-0000e400: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size\n-0000e410: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e420: 2020 2020 4765 745f 5365 6e64 5f51 7565 Get_Send_Que\n-0000e430: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n-0000e440: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-0000e450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e480: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n-0000e490: 6574 5f53 6f63 6b5f 4164 6472 3a20 2020 et_Sock_Addr: \n-0000e4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4b0: 2020 2020 2020 4765 745f 536f 636b 5f41 Get_Sock_A\n-0000e4c0: 6464 7220 2866 756e 6374 696f 6e29 2e0a ddr (function)..\n-0000e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n-0000e510: 6c69 6e65 2020 3929 0a2a 2047 6574 5f53 line 9).* Get_S\n-0000e520: 6f63 6b5f 506f 7274 3a20 2020 2020 2020 ock_Port: \n-0000e530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e540: 2020 4765 745f 536f 636b 5f50 6f72 7420 Get_Sock_Port \n-0000e550: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000e3f0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e400: 6574 2028 6675 6e63 7469 6f6e 292e 2020 et (function). \n+0000e410: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000e420: 2047 6574 5f43 6861 723a 2020 2020 2020 Get_Char: \n+0000e430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e440: 2020 2020 2020 2020 4765 745f 4368 6172 Get_Char\n+0000e450: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000e460: 696e 6520 2039 290a 2a20 4765 745f 4c69 ine 9).* Get_Li\n+0000e470: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+0000e480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e490: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+0000e4a0: 696f 6e29 2e20 2028 6c69 6e65 2020 3929 ion). (line 9)\n+0000e4b0: 0a2a 2047 6574 5f4c 696e 6520 3c31 3e3a .* Get_Line <1>:\n+0000e4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e4d0: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n+0000e4e0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000e4f0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n+0000e500: 5065 6572 5f41 6464 723a 2020 2020 2020 Peer_Addr: \n+0000e510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e520: 2020 2047 6574 5f50 6565 725f 4164 6472 Get_Peer_Addr\n+0000e530: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (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 2020 \n-0000e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e590: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000e5a0: 2020 3929 0a2a 2047 6574 736f 636b 6f70 9).* Getsockop\n-0000e5b0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0000e5c0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000e5d0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000e5e0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000e570: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e580: 6520 2039 290a 2a20 4765 745f 5065 6572 e 9).* Get_Peer\n+0000e590: 5f50 6f72 743a 2020 2020 2020 2020 2020 _Port: \n+0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e5b0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000e5c0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \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 2020 2020 2020 \n-0000e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e620: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000e630: 2047 726f 7570 2063 6f6d 6d75 6e69 6361 Group communica\n-0000e640: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-0000e650: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n-0000e660: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n-0000e670: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000e600: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000e610: 290a 2a20 4765 745f 5265 6365 6976 655f ).* Get_Receive_\n+0000e620: 5175 6575 655f 5369 7a65 3a20 2020 2020 Queue_Size: \n+0000e630: 2020 2020 2020 2020 2020 2047 6574 5f52 Get_R\n+0000e640: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n+0000e650: 6520 2866 756e 6374 696f 6e29 2e0a 2020 e (function).. \n+0000e660: 2020 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-0000e690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6b0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000e6c0: 2048 616e 646c 696e 6720 6120 6e65 7720 Handling a new \n-0000e6d0: 636f 6e6e 6563 7469 6f6e 3a20 2020 2020 connection: \n-0000e6e0: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n-0000e6f0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-0000e700: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000e690: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e6a0: 6e65 2020 3929 0a2a 2047 6574 5f53 656e ne 9).* Get_Sen\n+0000e6b0: 645f 5175 6575 655f 5369 7a65 3a20 2020 d_Queue_Size: \n+0000e6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6d0: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+0000e6e0: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n+0000e6f0: 2020 2020 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-0000e720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e740: 2020 286c 696e 6520 2036 290a 2a20 486f (line 6).* Ho\n-0000e750: 7374 5f45 6e74 7279 3a20 2020 2020 2020 st_Entry: \n-0000e760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e770: 2020 2020 2053 6f63 6b65 7473 2e4e 616d Sockets.Nam\n-0000e780: 696e 6720 7061 636b 6167 652e 0a20 2020 ing package.. \n+0000e720: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000e730: 6c69 6e65 2020 3929 0a2a 2047 6574 5f53 line 9).* Get_S\n+0000e740: 6f63 6b5f 4164 6472 3a20 2020 2020 2020 ock_Addr: \n+0000e750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e760: 2020 4765 745f 536f 636b 5f41 6464 7220 Get_Sock_Addr \n+0000e770: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (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 2020 \n-0000e7c0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000e7d0: 6520 3234 290a 2a20 486f 7374 5f4e 616d e 24).* Host_Nam\n-0000e7e0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0000e7f0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n-0000e800: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi\n-0000e810: 6f6e 292e 2028 6c69 6e65 2020 3929 0a2a on). (line 9).*\n-0000e820: 2049 6d61 6765 3a20 2020 2020 2020 2020 Image: \n+0000e7b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e7c0: 2020 3929 0a2a 2047 6574 5f53 6f63 6b5f 9).* Get_Sock_\n+0000e7d0: 506f 7274 3a20 2020 2020 2020 2020 2020 Port: \n+0000e7e0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000e7f0: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n+0000e800: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \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 496d 6167 6520 2866 Image (f\n-0000e850: 756e 6374 696f 6e29 2e20 2020 2020 286c unction). (l\n-0000e860: 696e 6520 2039 290a 2a20 496e 666f 5f4f ine 9).* Info_O\n-0000e870: 665f 4e61 6d65 5f4f 725f 4950 3a20 2020 f_Name_Or_IP: \n-0000e880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e890: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72 Info_Of_Name_Or\n-0000e8a0: 5f49 5020 2866 756e 6374 696f 6e29 2e0a _IP (function)..\n+0000e840: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+0000e850: 0a2a 2047 6574 736f 636b 6f70 743a 2020 .* Getsockopt: \n+0000e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e870: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+0000e880: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000e890: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2020 2020 2020 2020 2020 \n-0000e8e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e8f0: 6c69 6e65 2020 3929 0a2a 2049 6e73 7461 line 9).* Insta\n-0000e900: 6c6c 696e 6720 4164 6153 6f63 6b65 7473 lling AdaSockets\n-0000e910: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e920: 2020 496e 7374 616c 6c69 6e67 2041 6461 Installing Ada\n-0000e930: 536f 636b 6574 732e 0a20 2020 2020 2020 Sockets.. \n+0000e8d0: 2028 6c69 6e65 2020 3929 0a2a 2047 726f (line 9).* Gro\n+0000e8e0: 7570 2063 6f6d 6d75 6e69 6361 7469 6f6e up communication\n+0000e8f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e900: 2020 2020 5365 7474 696e 6720 7570 206d Setting up m\n+0000e910: 756c 7469 6361 7374 2073 6f63 6b65 7473 ulticast sockets\n+0000e920: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2020 2020 2020 2020 2020 \n-0000e970: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000e980: 290a 2a20 4950 5f41 4444 5f4d 454d 4245 ).* IP_ADD_MEMBE\n-0000e990: 5253 4849 503a 2020 2020 2020 2020 2020 RSHIP: \n-0000e9a0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n-0000e9b0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000e9c0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000e960: 2028 6c69 6e65 2020 3629 0a2a 2048 616e (line 6).* Han\n+0000e970: 646c 696e 6720 6120 6e65 7720 636f 6e6e dling a new conn\n+0000e980: 6563 7469 6f6e 3a20 2020 2020 2020 2020 ection: \n+0000e990: 2020 2020 4163 6365 7074 5f53 6f63 6b65 Accept_Socke\n+0000e9a0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000e9b0: 2020 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-0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea00: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n-0000ea10: 5f41 4444 5f4d 454d 4245 5253 4849 5020 _ADD_MEMBERSHIP \n-0000ea20: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000ea30: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n-0000ea40: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000e9e0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000e9f0: 696e 6520 2036 290a 2a20 486f 7374 5f45 ine 6).* Host_E\n+0000ea00: 6e74 7279 3a20 2020 2020 2020 2020 2020 ntry: \n+0000ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea20: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000ea30: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \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 2020 2020 2020 \n-0000ea80: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000ea90: 6520 3230 290a 2a20 4950 5f44 524f 505f e 20).* IP_DROP_\n-0000eaa0: 4d45 4d42 4552 5348 4950 3a20 2020 2020 MEMBERSHIP: \n-0000eab0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000eac0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000ead0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000ea70: 2020 2020 2020 2020 286c 696e 6520 3234 (line 24\n+0000ea80: 290a 2a20 486f 7374 5f4e 616d 653a 2020 ).* Host_Name: \n+0000ea90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eaa0: 2020 2020 2020 2020 2020 2048 6f73 745f Host_\n+0000eab0: 4e61 6d65 2028 6675 6e63 7469 6f6e 292e Name (function).\n+0000eac0: 2028 6c69 6e65 2020 3929 0a2a 2049 6d61 (line 9).* Ima\n+0000ead0: 6765 3a20 2020 2020 2020 2020 2020 2020 ge: \n 0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb10: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000eb20: 2a20 4950 5f44 524f 505f 4d45 4d42 4552 * IP_DROP_MEMBER\n-0000eb30: 5348 4950 203c 313e 3a20 2020 2020 2020 SHIP <1>: \n-0000eb40: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-0000eb50: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000eb60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000eaf0: 2020 2020 496d 6167 6520 2866 756e 6374 Image (funct\n+0000eb00: 696f 6e29 2e20 2020 2020 286c 696e 6520 ion). (line \n+0000eb10: 2039 290a 2a20 496e 666f 5f4f 665f 4e61 9).* Info_Of_Na\n+0000eb20: 6d65 5f4f 725f 4950 3a20 2020 2020 2020 me_Or_IP: \n+0000eb30: 2020 2020 2020 2020 2020 2020 2049 6e66 Inf\n+0000eb40: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000eb50: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (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 2020 \n-0000eba0: 286c 696e 6520 3230 290a 2a20 4950 5f4d (line 20).* IP_M\n-0000ebb0: 554c 5449 4341 5354 5f4c 4f4f 503a 2020 ULTICAST_LOOP: \n-0000ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebd0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-0000ebe0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000eb90: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000eba0: 2020 3929 0a2a 2049 6e73 7461 6c6c 696e 9).* Installin\n+0000ebb0: 6720 4164 6153 6f63 6b65 7473 3a20 2020 g AdaSockets: \n+0000ebc0: 2020 2020 2020 2020 2020 2020 2020 496e In\n+0000ebd0: 7374 616c 6c69 6e67 2041 6461 536f 636b stalling AdaSock\n+0000ebe0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \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 2020 2020 286c 696e 6520 (line \n-0000ec30: 3230 290a 2a20 4950 5f4d 554c 5449 4341 20).* IP_MULTICA\n-0000ec40: 5354 5f4c 4f4f 5020 3c31 3e3a 2020 2020 ST_LOOP <1>: \n-0000ec50: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-0000ec60: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000ec70: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000ec20: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000ec30: 4950 5f41 4444 5f4d 454d 4245 5253 4849 IP_ADD_MEMBERSHI\n+0000ec40: 503a 2020 2020 2020 2020 2020 2020 2020 P: \n+0000ec50: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+0000ec60: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000ec70: 2020 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: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-0000ecc0: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n-0000ecd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000ece0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n-0000ecf0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000eca0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000ecb0: 696e 6520 3230 290a 2a20 4950 5f41 4444 ine 20).* IP_ADD\n+0000ecc0: 5f4d 454d 4245 5253 4849 5020 3c31 3e3a _MEMBERSHIP <1>:\n+0000ecd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ece0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+0000ecf0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \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 2020 2020 286c (l\n-0000ed40: 696e 6520 3230 290a 2a20 4950 5f4d 554c ine 20).* IP_MUL\n-0000ed50: 5449 4341 5354 5f54 544c 203c 313e 3a20 TICAST_TTL <1>: \n-0000ed60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed70: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-0000ed80: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000ed30: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+0000ed40: 290a 2a20 4950 5f44 524f 505f 4d45 4d42 ).* IP_DROP_MEMB\n+0000ed50: 4552 5348 4950 3a20 2020 2020 2020 2020 ERSHIP: \n+0000ed60: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+0000ed70: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+0000ed80: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \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 2020 2020 286c 696e 6520 3230 (line 20\n-0000edd0: 290a 2a20 4950 5052 4f54 4f5f 4950 3a20 ).* IPPROTO_IP: \n-0000ede0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000edf0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n-0000ee00: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000ee10: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000edc0: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n+0000edd0: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n+0000ede0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000edf0: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+0000ee00: 2870 726f 6365 6475 7265 292e 0a20 2020 (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 2020 \n-0000ee50: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n-0000ee60: 5052 4f54 4f5f 4950 203c 313e 3a20 2020 PROTO_IP <1>: \n-0000ee70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ee80: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n-0000ee90: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000ee40: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000ee50: 6520 3230 290a 2a20 4950 5f4d 554c 5449 e 20).* IP_MULTI\n+0000ee60: 4341 5354 5f4c 4f4f 503a 2020 2020 2020 CAST_LOOP: \n+0000ee70: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000ee80: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+0000ee90: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 2020 2020 286c 696e (lin\n-0000eee0: 6520 3230 290a 2a20 4973 5f49 505f 4164 e 20).* Is_IP_Ad\n-0000eef0: 6472 6573 733a 2020 2020 2020 2020 2020 dress: \n-0000ef00: 2020 2020 2020 2020 2020 2020 2020 2049 I\n-0000ef10: 735f 4950 5f41 6464 7265 7373 2028 6675 s_IP_Address (fu\n-0000ef20: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000eed0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+0000eee0: 2a20 4950 5f4d 554c 5449 4341 5354 5f4c * IP_MULTICAST_L\n+0000eef0: 4f4f 5020 3c31 3e3a 2020 2020 2020 2020 OOP <1>: \n+0000ef00: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+0000ef10: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+0000ef20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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 2020 2020 2020 286c 696e 6520 2039 (line 9\n-0000ef70: 290a 2a20 4c46 3a20 2020 2020 2020 2020 ).* LF: \n+0000ef60: 286c 696e 6520 3230 290a 2a20 4950 5f4d (line 20).* IP_M\n+0000ef70: 554c 5449 4341 5354 5f54 544c 3a20 2020 ULTICAST_TTL: \n 0000ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef90: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n-0000efa0: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n-0000efb0: 2028 6c69 6e65 2032 3129 0a2a 204c 4620 (line 21).* LF \n-0000efc0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0000ef90: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+0000efa0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \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 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n-0000eff0: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000f000: 3138 290a 2a20 4c46 203c 323e 3a20 2020 18).* LF <2>: \n-0000f010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f020: 2020 2020 2020 2020 2020 2020 204e 6577 New\n-0000f030: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-0000f040: 292e 2028 6c69 6e65 2031 3729 0a2a 204c ). (line 17).* L\n-0000f050: 6973 7465 6e3a 2020 2020 2020 2020 2020 isten: \n+0000efe0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000eff0: 3230 290a 2a20 4950 5f4d 554c 5449 4341 20).* IP_MULTICA\n+0000f000: 5354 5f54 544c 203c 313e 3a20 2020 2020 ST_TTL <1>: \n+0000f010: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+0000f020: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+0000f030: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \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 4c69 7374 656e 2028 7072 Listen (pr\n-0000f080: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n-0000f090: 6520 2039 290a 2a20 4c69 7374 656e 2071 e 9).* Listen q\n-0000f0a0: 7565 7565 3a20 2020 2020 2020 2020 2020 ueue: \n-0000f0b0: 2020 2020 2020 2020 2020 2020 2020 204c L\n-0000f0c0: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n-0000f0d0: 292e 2020 2028 6c69 6e65 2020 3629 0a2a ). (line 6).*\n-0000f0e0: 204d 616e 6970 756c 6174 696e 6720 736f Manipulating so\n-0000f0f0: 636b 6574 206f 7074 696f 6e73 3a20 2020 cket options: \n-0000f100: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n-0000f110: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000f070: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+0000f080: 4950 5052 4f54 4f5f 4950 3a20 2020 2020 IPPROTO_IP: \n+0000f090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f0a0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+0000f0b0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000f0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c (l\n+0000f100: 696e 6520 3230 290a 2a20 4950 5052 4f54 ine 20).* IPPROT\n+0000f110: 4f5f 4950 203c 313e 3a20 2020 2020 2020 O_IP <1>: \n 0000f120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f150: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f160: 6c69 6e65 2020 3629 0a2a 204d 616e 6970 line 6).* Manip\n-0000f170: 756c 6174 696e 6720 736f 636b 6574 206f ulating socket o\n-0000f180: 7074 696f 6e73 203c 313e 3a20 2020 2020 ptions <1>: \n-0000f190: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n-0000f1a0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000f1f0: 3629 0a2a 204d 626f 6e65 3a20 2020 2020 6).* Mbone: \n+0000f130: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+0000f140: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \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 286c 696e 6520 3230 (line 20\n+0000f190: 290a 2a20 4973 5f49 505f 4164 6472 6573 ).* Is_IP_Addres\n+0000f1a0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+0000f1b0: 2020 2020 2020 2020 2020 2049 735f 4950 Is_IP\n+0000f1c0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000f1d0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \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 2020 2020 2020 5365 7474 Sett\n-0000f220: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast\n-0000f230: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-0000f240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f270: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000f280: 3629 0a2a 204d 756c 7469 6361 7374 2073 6).* Multicast s\n-0000f290: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n-0000f2a0: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n-0000f2b0: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast\n-0000f2c0: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-0000f2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f300: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000f310: 3629 0a2a 204d 756c 7469 6361 7374 5f53 6).* Multicast_S\n-0000f320: 6f63 6b65 745f 4644 3a20 2020 2020 2020 ocket_FD: \n-0000f330: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n-0000f340: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast\n-0000f350: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-0000f360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f390: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0000f3a0: 3629 0a2a 204d 756c 7469 6361 7374 5f53 6).* Multicast_S\n-0000f3b0: 6f63 6b65 745f 4644 203c 313e 3a20 2020 ocket_FD <1>: \n-0000f3c0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n-0000f3d0: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa\n-0000f3e0: 636b 6167 652e 0a20 2020 2020 2020 2020 ckage.. \n+0000f210: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000f220: 4c46 3a20 2020 2020 2020 2020 2020 2020 LF: \n+0000f230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f240: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line \n+0000f250: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li\n+0000f260: 6e65 2032 3129 0a2a 204c 4620 3c31 3e3a ne 21).* LF <1>:\n+0000f270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f290: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n+0000f2a0: 7572 6529 2e20 286c 696e 6520 3138 290a ure). (line 18).\n+0000f2b0: 2a20 4c46 203c 323e 3a20 2020 2020 2020 * LF <2>: \n+0000f2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2d0: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin\n+0000f2e0: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+0000f2f0: 6c69 6e65 2031 3729 0a2a 204c 6973 7465 line 17).* Liste\n+0000f300: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+0000f310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f320: 2020 4c69 7374 656e 2028 7072 6f63 6564 Listen (proced\n+0000f330: 7572 6529 2e20 2020 286c 696e 6520 2039 ure). (line 9\n+0000f340: 290a 2a20 4c69 7374 656e 2071 7565 7565 ).* Listen queue\n+0000f350: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f360: 2020 2020 2020 2020 2020 204c 6973 7465 Liste\n+0000f370: 6e20 2870 726f 6365 6475 7265 292e 2020 n (procedure). \n+0000f380: 2028 6c69 6e65 2020 3629 0a2a 204d 616e (line 6).* Man\n+0000f390: 6970 756c 6174 696e 6720 736f 636b 6574 ipulating socket\n+0000f3a0: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: \n+0000f3b0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+0000f3c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 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 2020 \n-0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f420: 2020 2020 2020 286c 696e 6520 2038 290a (line 8).\n-0000f430: 2a20 4e61 6d65 5f4f 663a 2020 2020 2020 * Name_Of: \n-0000f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f450: 2020 2020 2020 2020 204e 616d 655f 4f66 Name_Of\n-0000f460: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n-0000f470: 6c69 6e65 2020 3929 0a2a 204e 616d 696e line 9).* Namin\n-0000f480: 675f 4572 726f 723a 2020 2020 2020 2020 g_Error: \n-0000f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4a0: 2020 4164 6472 6573 735f 4f66 2028 6675 Address_Of (fu\n-0000f4b0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-0000f4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4f0: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21\n-0000f500: 290a 2a20 4e61 6d69 6e67 5f45 7272 6f72 ).* Naming_Error\n-0000f510: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000f520: 2020 2020 2020 2020 2020 2049 6e66 6f5f Info_\n-0000f530: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f\n-0000f540: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-0000f550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f580: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000f590: 3529 0a2a 204e 616d 696e 675f 4572 726f 5).* Naming_Erro\n-0000f5a0: 7220 3c32 3e3a 2020 2020 2020 2020 2020 r <2>: \n-0000f5b0: 2020 2020 2020 2020 2020 2020 4e61 6d65 Name\n-0000f5c0: 5f4f 6620 2866 756e 6374 696f 6e29 2e20 _Of (function). \n-0000f5d0: 2020 286c 696e 6520 3230 290a 2a20 4e65 (line 20).* Ne\n-0000f5e0: 775f 4c69 6e65 3a20 2020 2020 2020 2020 w_Line: \n-0000f5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f600: 2020 2020 204e 6577 5f4c 696e 6520 2870 New_Line (p\n-0000f610: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-0000f620: 2020 3929 0a2a 2050 465f 494e 4554 3a20 9).* PF_INET: \n+0000f400: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f410: 2020 3629 0a2a 204d 616e 6970 756c 6174 6).* Manipulat\n+0000f420: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n+0000f430: 6e73 203c 313e 3a20 2020 2020 2020 5365 ns <1>: Se\n+0000f440: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000f450: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000f4a0: 204d 626f 6e65 3a20 2020 2020 2020 2020 Mbone: \n+0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4c0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000f4d0: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n+0000f4e0: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \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 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000f530: 204d 756c 7469 6361 7374 2073 6f63 6b65 Multicast socke\n+0000f540: 7473 3a20 2020 2020 2020 2020 2020 2020 ts: \n+0000f550: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000f560: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n+0000f570: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \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 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000f5c0: 204d 756c 7469 6361 7374 5f53 6f63 6b65 Multicast_Socke\n+0000f5d0: 745f 4644 3a20 2020 2020 2020 2020 2020 t_FD: \n+0000f5e0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000f5f0: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n+0000f600: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f620: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f640: 2020 2020 2020 2020 2020 2020 2020 536f So\n-0000f650: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-0000f660: 2e20 2020 286c 696e 6520 3139 290a 2a20 . (line 19).* \n-0000f670: 5075 743a 2020 2020 2020 2020 2020 2020 Put: \n-0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f690: 2020 2020 2020 2050 7574 2028 7072 6f63 Put (proc\n-0000f6a0: 6564 7572 6529 2e20 2020 2020 2028 6c69 edure). (li\n-0000f6b0: 6e65 2020 3929 0a2a 2050 7574 5f4c 696e ne 9).* Put_Lin\n-0000f6c0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6e0: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n-0000f6f0: 7572 6529 2e20 286c 696e 6520 2039 290a ure). (line 9).\n-0000f700: 2a20 5261 7720 6461 7461 206d 616e 6970 * Raw data manip\n-0000f710: 756c 6174 696f 6e3a 2020 2020 2020 2020 ulation: \n-0000f720: 2020 2020 2020 2020 2052 6177 2064 6174 Raw dat\n-0000f730: 6120 6d61 6e69 7075 6c61 7469 6f6e 2e0a a manipulation..\n-0000f740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f770: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000f780: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n-0000f790: 7665 3a20 2020 2020 2020 2020 2020 2020 ve: \n-0000f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7b0: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n-0000f7c0: 696f 6e29 2e20 2020 286c 696e 6520 2039 ion). (line 9\n-0000f7d0: 290a 2a20 5265 6365 6976 6520 3c31 3e3a ).* Receive <1>:\n-0000f7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7f0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n-0000f800: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n-0000f810: 2028 6c69 6e65 2020 3929 0a2a 2052 6563 (line 9).* Rec\n-0000f820: 6569 7665 203c 323e 3a20 2020 2020 2020 eive <2>: \n-0000f830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f840: 2020 2020 5368 7574 646f 776e 2028 7072 Shutdown (pr\n-0000f850: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000f860: 3137 290a 2a20 5265 6365 6976 655f 536f 17).* Receive_So\n-0000f870: 6d65 3a20 2020 2020 2020 2020 2020 2020 me: \n-0000f880: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n-0000f890: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-0000f8a0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000f8b0: 2020 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 286c 696e 6520 2039 290a (line 9).\n-0000f8f0: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n-0000f900: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f910: 2020 2020 2020 2020 2053 656e 6469 6e67 Sending\n-0000f920: 2061 6e64 2072 6563 6569 7669 6e67 2064 and receiving d\n-0000f930: 6174 612e 0a20 2020 2020 2020 2020 2020 ata.. \n-0000f940: 2020 2020 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 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000f980: 5265 6365 6976 696e 6720 6461 7461 203c Receiving data <\n-0000f990: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000f9a0: 2020 2020 2020 2047 6574 2028 6675 6e63 Get (func\n-0000f9b0: 7469 6f6e 292e 2020 2020 2020 2028 6c69 tion). (li\n-0000f9c0: 6e65 2020 3629 0a2a 2052 6563 6569 7669 ne 6).* Receivi\n-0000f9d0: 6e67 2064 6174 6120 3c32 3e3a 2020 2020 ng data <2>: \n-0000f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9f0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-0000fa00: 6f6e 292e 2020 286c 696e 6520 2036 290a on). (line 6).\n-0000fa10: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n-0000fa20: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n-0000fa30: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n-0000fa40: 6520 2866 756e 6374 696f 6e29 2e20 2028 e (function). (\n-0000fa50: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n-0000fa60: 7669 6e67 2064 6174 6120 3c34 3e3a 2020 ving data <4>: \n-0000fa70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa80: 2020 4765 745f 4c69 6e65 2028 7072 6f63 Get_Line (proc\n-0000fa90: 6564 7572 6529 2e20 286c 696e 6520 2036 edure). (line 6\n-0000faa0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n-0000fab0: 7461 203c 353e 3a20 2020 2020 2020 2020 ta <5>: \n-0000fac0: 2020 2020 2020 2020 2020 2047 6574 5f52 Get_R\n-0000fad0: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-0000fae0: 6520 2866 756e 6374 696f 6e29 2e0a 2020 e (function).. \n-0000faf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000fb30: 6e65 2020 3629 0a2a 2052 6563 6569 7669 ne 6).* Receivi\n-0000fb40: 6e67 2064 6174 6120 3c36 3e3a 2020 2020 ng data <6>: \n-0000fb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb60: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-0000fb70: 6e29 2e20 2020 286c 696e 6520 2036 290a n). (line 6).\n-0000fb80: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n-0000fb90: 203c 373e 3a20 2020 2020 2020 2020 2020 <7>: \n-0000fba0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n-0000fbb0: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n-0000fbc0: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n-0000fbd0: 7669 6e67 2064 6174 6120 3c38 3e3a 2020 ving data <8>: \n-0000fbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fbf0: 2020 5265 6365 6976 655f 536f 6d65 2028 Receive_Some (\n-0000fc00: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000f640: 2020 2020 2028 6c69 6e65 2031 3629 0a2a (line 16).*\n+0000f650: 204d 756c 7469 6361 7374 5f53 6f63 6b65 Multicast_Socke\n+0000f660: 745f 4644 203c 313e 3a20 2020 2020 2020 t_FD <1>: \n+0000f670: 2020 2020 2020 2020 536f 636b 6574 732e Sockets.\n+0000f680: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+0000f690: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \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 286c 696e 6520 2038 290a 2a20 4e61 (line 8).* Na\n+0000f6e0: 6d65 5f4f 663a 2020 2020 2020 2020 2020 me_Of: \n+0000f6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f700: 2020 2020 204e 616d 655f 4f66 2028 6675 Name_Of (fu\n+0000f710: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n+0000f720: 2020 3929 0a2a 204e 616d 696e 675f 4572 9).* Naming_Er\n+0000f730: 726f 723a 2020 2020 2020 2020 2020 2020 ror: \n+0000f740: 2020 2020 2020 2020 2020 2020 2020 4164 Ad\n+0000f750: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000f760: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \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 286c 696e 6520 3231 290a 2a20 (line 21).* \n+0000f7b0: 4e61 6d69 6e67 5f45 7272 6f72 203c 313e Naming_Error <1>\n+0000f7c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f7d0: 2020 2020 2020 2049 6e66 6f5f 4f66 5f4e Info_Of_N\n+0000f7e0: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n+0000f7f0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \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 2028 6c69 6e65 2032 3529 0a2a (line 25).*\n+0000f840: 204e 616d 696e 675f 4572 726f 7220 3c32 Naming_Error <2\n+0000f850: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f860: 2020 2020 2020 2020 4e61 6d65 5f4f 6620 Name_Of \n+0000f870: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n+0000f880: 696e 6520 3230 290a 2a20 4e65 775f 4c69 ine 20).* New_Li\n+0000f890: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8b0: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+0000f8c0: 6475 7265 292e 2028 6c69 6e65 2020 3929 dure). (line 9)\n+0000f8d0: 0a2a 2050 465f 494e 4554 3a20 2020 2020 .* PF_INET: \n+0000f8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8f0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+0000f900: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000f910: 286c 696e 6520 3139 290a 2a20 5075 743a (line 19).* Put:\n+0000f920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f940: 2020 2050 7574 2028 7072 6f63 6564 7572 Put (procedur\n+0000f950: 6529 2e20 2020 2020 2028 6c69 6e65 2020 e). (line \n+0000f960: 3929 0a2a 2050 7574 5f4c 696e 653a 2020 9).* Put_Line: \n+0000f970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f980: 2020 2020 2020 2020 2020 2020 5075 745f Put_\n+0000f990: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+0000f9a0: 2e20 286c 696e 6520 2039 290a 2a20 5261 . (line 9).* Ra\n+0000f9b0: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat\n+0000f9c0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+0000f9d0: 2020 2020 2052 6177 2064 6174 6120 6d61 Raw data ma\n+0000f9e0: 6e69 7075 6c61 7469 6f6e 2e0a 2020 2020 nipulation.. \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 2028 6c69 6e65 (line\n+0000fa30: 2020 3629 0a2a 2052 6563 6569 7665 3a20 6).* Receive: \n+0000fa40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa50: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+0000fa60: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+0000fa70: 2e20 2020 286c 696e 6520 2039 290a 2a20 . (line 9).* \n+0000fa80: 5265 6365 6976 6520 3c31 3e3a 2020 2020 Receive <1>: \n+0000fa90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000faa0: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+0000fab0: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n+0000fac0: 6e65 2020 3929 0a2a 2052 6563 6569 7665 ne 9).* Receive\n+0000fad0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0000fae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000faf0: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+0000fb00: 7572 6529 2e20 286c 696e 6520 3137 290a ure). (line 17).\n+0000fb10: 2a20 5265 6365 6976 655f 536f 6d65 3a20 * Receive_Some: \n+0000fb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fb30: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+0000fb40: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+0000fb50: 292e 0a20 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 286c 696e 6520 2039 290a 2a20 5265 (line 9).* Re\n+0000fba0: 6365 6976 696e 6720 6461 7461 3a20 2020 ceiving data: \n+0000fbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fbc0: 2020 2020 2053 656e 6469 6e67 2061 6e64 Sending and\n+0000fbd0: 2072 6563 6569 7669 6e67 2064 6174 612e receiving data.\n+0000fbe0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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 2020 2020 2020 2020 2020 2020 2020 \n-0000fc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000fc50: 2020 3629 0a2a 2052 6563 6569 7669 6e67 6).* Receiving\n-0000fc60: 2064 6174 6120 3c39 3e3a 2020 2020 2020 data <9>: \n-0000fc70: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000fc80: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-0000fc90: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000fce0: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n-0000fcf0: 3c31 303e 3a20 2020 2020 2020 2020 2020 <10>: \n-0000fd00: 2020 2020 2020 2020 556e 7365 745f 4275 Unset_Bu\n-0000fd10: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n-0000fd20: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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: 2028 6c69 6e65 2020 3629 0a2a 2052 6570 (line 6).* Rep\n-0000fd70: 6f72 7469 6e67 2061 2062 7567 3a20 2020 orting a bug: \n-0000fd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd90: 2020 2020 5265 736f 7572 6365 7320 6f6e Resources on\n-0000fda0: 2074 6865 2049 6e74 6572 6e65 742e 0a20 the Internet.. \n+0000fc20: 286c 696e 6520 2036 290a 2a20 5265 6365 (line 6).* Rece\n+0000fc30: 6976 696e 6720 6461 7461 203c 313e 3a20 iving data <1>: \n+0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc50: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n+0000fc60: 292e 2020 2020 2020 2028 6c69 6e65 2020 ). (line \n+0000fc70: 3629 0a2a 2052 6563 6569 7669 6e67 2064 6).* Receiving d\n+0000fc80: 6174 6120 3c32 3e3a 2020 2020 2020 2020 ata <2>: \n+0000fc90: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n+0000fca0: 4368 6172 2028 6675 6e63 7469 6f6e 292e Char (function).\n+0000fcb0: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000fcc0: 6365 6976 696e 6720 6461 7461 203c 333e ceiving data <3>\n+0000fcd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000fce0: 2020 2020 2047 6574 5f4c 696e 6520 2866 Get_Line (f\n+0000fcf0: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n+0000fd00: 2020 3629 0a2a 2052 6563 6569 7669 6e67 6).* Receiving\n+0000fd10: 2064 6174 6120 3c34 3e3a 2020 2020 2020 data <4>: \n+0000fd20: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000fd30: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+0000fd40: 6529 2e20 286c 696e 6520 2036 290a 2a20 e). (line 6).* \n+0000fd50: 5265 6365 6976 696e 6720 6461 7461 203c Receiving data <\n+0000fd60: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: \n+0000fd70: 2020 2020 2020 2047 6574 5f52 6563 6569 Get_Recei\n+0000fd80: 7665 5f51 7565 7565 5f53 697a 6520 2866 ve_Queue_Size (f\n+0000fd90: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \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 2020 2020 \n-0000fde0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000fdf0: 696e 6520 2036 290a 2a20 5265 7072 6573 ine 6).* Repres\n-0000fe00: 656e 7469 6e67 2049 5020 6164 6472 6573 enting IP addres\n-0000fe10: 7365 733a 2020 2020 2020 2020 2020 2020 ses: \n-0000fe20: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n-0000fe30: 292e 2020 2020 2028 6c69 6e65 2020 3629 ). (line 6)\n-0000fe40: 0a2a 2052 6570 7265 7365 6e74 696e 6720 .* Representing \n-0000fe50: 4950 2061 6464 7265 7373 6573 203c 313e IP addresses <1>\n-0000fe60: 3a20 2020 2020 2020 2020 5661 6c75 6520 : Value \n-0000fe70: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n-0000fe80: 286c 696e 6520 2036 290a 2a20 5265 7472 (line 6).* Retr\n-0000fe90: 6965 7669 6e67 2073 6f63 6b65 7420 6f70 ieving socket op\n-0000fea0: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n-0000feb0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-0000fec0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000fdd0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000fde0: 3629 0a2a 2052 6563 6569 7669 6e67 2064 6).* Receiving d\n+0000fdf0: 6174 6120 3c36 3e3a 2020 2020 2020 2020 ata <6>: \n+0000fe00: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n+0000fe10: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). \n+0000fe20: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000fe30: 6365 6976 696e 6720 6461 7461 203c 373e ceiving data <7>\n+0000fe40: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000fe50: 2020 2020 2052 6563 6569 7665 2028 7072 Receive (pr\n+0000fe60: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n+0000fe70: 2020 3629 0a2a 2052 6563 6569 7669 6e67 6).* Receiving\n+0000fe80: 2064 6174 6120 3c38 3e3a 2020 2020 2020 data <8>: \n+0000fe90: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+0000fea0: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n+0000feb0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2020 2020 2020 \n-0000ff00: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000ff10: 2036 290a 2a20 5365 6e64 3a20 2020 2020 6).* Send: \n-0000ff20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff30: 2020 2020 2020 2020 2020 2020 2053 656e Sen\n-0000ff40: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-0000ff50: 2020 2028 6c69 6e65 2020 3929 0a2a 2053 (line 9).* S\n-0000ff60: 656e 6420 3c31 3e3a 2020 2020 2020 2020 end <1>: \n+0000fef0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000ff00: 0a2a 2052 6563 6569 7669 6e67 2064 6174 .* Receiving dat\n+0000ff10: 6120 3c39 3e3a 2020 2020 2020 2020 2020 a <9>: \n+0000ff20: 2020 2020 2020 2020 2020 5365 745f 4275 Set_Bu\n+0000ff30: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+0000ff40: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 5368 7574 646f 776e 2028 Shutdown (\n-0000ff90: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000ffa0: 6520 3137 290a 2a20 5365 6e64 696e 6720 e 17).* Sending \n-0000ffb0: 6461 7461 3a20 2020 2020 2020 2020 2020 data: \n-0000ffc0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000ffd0: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei\n-0000ffe0: 7669 6e67 2064 6174 612e 0a20 2020 2020 ving data.. \n+0000ff80: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000ff90: 6569 7669 6e67 2064 6174 6120 3c31 303e eiving data <10>\n+0000ffa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000ffb0: 2020 2020 556e 7365 745f 4275 6666 6572 Unset_Buffer\n+0000ffc0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000ffd0: 2020 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: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010020: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00010030: 2036 290a 2a20 5365 6e64 696e 6720 6461 6).* Sending da\n-00010040: 7461 203c 313e 3a20 2020 2020 2020 2020 ta <1>: \n-00010050: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-00010060: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size\n-00010070: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+00010000: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010010: 6e65 2020 3629 0a2a 2052 6570 6f72 7469 ne 6).* Reporti\n+00010020: 6e67 2061 2062 7567 3a20 2020 2020 2020 ng a bug: \n+00010030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010040: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+00010050: 2049 6e74 6572 6e65 742e 0a20 2020 2020 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 2020 2020 \n-000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-000100c0: 6520 2036 290a 2a20 5365 6e64 696e 6720 e 6).* Sending \n-000100d0: 6461 7461 203c 323e 3a20 2020 2020 2020 data <2>: \n-000100e0: 2020 2020 2020 2020 2020 2020 2020 204e N\n-000100f0: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n-00010100: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).*\n-00010110: 2053 656e 6469 6e67 2064 6174 6120 3c33 Sending data <3\n-00010120: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00010130: 2020 2020 2020 2020 5075 7420 2870 726f Put (pro\n-00010140: 6365 6475 7265 292e 2020 2020 2020 286c cedure). (l\n-00010150: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n-00010160: 6720 6461 7461 203c 343e 3a20 2020 2020 g data <4>: \n-00010170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010180: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n-00010190: 6475 7265 292e 2028 6c69 6e65 2020 3629 dure). (line 6)\n-000101a0: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n-000101b0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-000101c0: 2020 2020 2020 2020 2020 5365 6e64 2028 Send (\n-000101d0: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n-000101e0: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-000101f0: 696e 6720 7061 7463 6865 733a 2020 2020 ing patches: \n-00010200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010210: 2020 2052 6573 6f75 7263 6573 206f 6e20 Resources on \n-00010220: 7468 6520 496e 7465 726e 6574 2e0a 2020 the Internet.. \n-00010230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010260: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00010270: 6e65 2020 3629 0a2a 2053 6574 5f42 7566 ne 6).* Set_Buf\n-00010280: 6665 723a 2020 2020 2020 2020 2020 2020 fer: \n-00010290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102a0: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n-000102b0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00010090: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000100a0: 2036 290a 2a20 5265 7072 6573 656e 7469 6).* Representi\n+000100b0: 6e67 2049 5020 6164 6472 6573 7365 733a ng IP addresses:\n+000100c0: 2020 2020 2020 2020 2020 2020 2049 6d61 Ima\n+000100d0: 6765 2028 6675 6e63 7469 6f6e 292e 2020 ge (function). \n+000100e0: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n+000100f0: 6570 7265 7365 6e74 696e 6720 4950 2061 epresenting IP a\n+00010100: 6464 7265 7373 6573 203c 313e 3a20 2020 ddresses <1>: \n+00010110: 2020 2020 2020 5661 6c75 6520 2866 756e Value (fun\n+00010120: 6374 696f 6e29 2e20 2020 2020 286c 696e ction). (lin\n+00010130: 6520 2036 290a 2a20 5265 7472 6965 7669 e 6).* Retrievi\n+00010140: 6e67 2073 6f63 6b65 7420 6f70 7469 6f6e ng socket option\n+00010150: 733a 2020 2020 2020 2020 2020 2020 2047 s: G\n+00010160: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00010170: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 286c 696e 6520 2036 290a (line 6).\n+000101c0: 2a20 5365 6e64 3a20 2020 2020 2020 2020 * Send: \n+000101d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101e0: 2020 2020 2020 2020 2053 656e 6420 2870 Send (p\n+000101f0: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n+00010200: 6c69 6e65 2020 3929 0a2a 2053 656e 6420 line 9).* Send \n+00010210: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00010220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010230: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n+00010240: 6564 7572 6529 2e20 286c 696e 6520 3137 edure). (line 17\n+00010250: 290a 2a20 5365 6e64 696e 6720 6461 7461 ).* Sending data\n+00010260: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010270: 2020 2020 2020 2020 2020 2053 656e 6469 Sendi\n+00010280: 6e67 2061 6e64 2072 6563 6569 7669 6e67 ng and receiving\n+00010290: 2064 6174 612e 0a20 2020 2020 2020 2020 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 2020 2020 2020 2020 \n-000102e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102f0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n-00010300: 0a2a 2053 6574 736f 636b 6f70 743a 2020 .* Setsockopt: \n-00010310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010320: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n-00010330: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00010340: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000102d0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+000102e0: 2a20 5365 6e64 696e 6720 6461 7461 203c * Sending data <\n+000102f0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00010300: 2020 2020 2020 2020 2047 6574 5f53 656e Get_Sen\n+00010310: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu\n+00010320: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \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 2020 2020 2020 \n-00010370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010380: 2028 6c69 6e65 2020 3929 0a2a 2053 6574 (line 9).* Set\n-00010390: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti\n-000103a0: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: \n-000103b0: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-000103c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00010360: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+00010370: 290a 2a20 5365 6e64 696e 6720 6461 7461 ).* Sending data\n+00010380: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00010390: 2020 2020 2020 2020 2020 204e 6577 5f4c New_L\n+000103a0: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n+000103b0: 2028 6c69 6e65 2020 3629 0a2a 2053 656e (line 6).* Sen\n+000103c0: 6469 6e67 2064 6174 6120 3c33 3e3a 2020 ding data <3>: \n 000103d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010400: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00010410: 2020 3629 0a2a 2053 6875 7464 6f77 6e3a 6).* Shutdown:\n-00010420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010430: 2020 2020 2020 2020 2020 2020 2020 5368 Sh\n-00010440: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n-00010450: 6529 2e20 286c 696e 6520 2039 290a 2a20 e). (line 9).* \n-00010460: 534f 5f52 4356 4255 463a 2020 2020 2020 SO_RCVBUF: \n-00010470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010480: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n-00010490: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-000104a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000104b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000104c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000104d0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000104e0: 696e 6520 3230 290a 2a20 534f 5f52 4356 ine 20).* SO_RCV\n-000104f0: 4255 4620 3c31 3e3a 2020 2020 2020 2020 BUF <1>: \n+000103e0: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu\n+000103f0: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line \n+00010400: 2036 290a 2a20 5365 6e64 696e 6720 6461 6).* Sending da\n+00010410: 7461 203c 343e 3a20 2020 2020 2020 2020 ta <4>: \n+00010420: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+00010430: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00010440: 292e 2028 6c69 6e65 2020 3629 0a2a 2053 ). (line 6).* S\n+00010450: 656e 6469 6e67 2064 6174 6120 3c35 3e3a ending data <5>:\n+00010460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010470: 2020 2020 2020 5365 6e64 2028 7072 6f63 Send (proc\n+00010480: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+00010490: 6520 2036 290a 2a20 5365 6e64 696e 6720 e 6).* Sending \n+000104a0: 7061 7463 6865 733a 2020 2020 2020 2020 patches: \n+000104b0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+000104c0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n+000104d0: 496e 7465 726e 6574 2e0a 2020 2020 2020 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: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-00010520: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00010510: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00010520: 3629 0a2a 2053 6574 5f42 7566 6665 723a 6).* Set_Buffer:\n 00010530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010560: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-00010570: 290a 2a20 534f 5f52 4555 5345 4144 4452 ).* SO_REUSEADDR\n-00010580: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010590: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n-000105a0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000105b0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00010540: 2020 2020 2020 2020 2020 2020 5365 745f Set_\n+00010550: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00010560: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2028 6c69 6e65 2020 3929 0a2a 2053 (line 9).* S\n+000105b0: 6574 736f 636b 6f70 743a 2020 2020 2020 etsockopt: \n 000105c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105f0: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n-00010600: 5f52 4555 5345 4144 4452 203c 313e 3a20 _REUSEADDR <1>: \n+000105d0: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+000105e0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000105f0: 2020 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 2053 6574 736f 636b 6f70 7420 Setsockopt \n-00010630: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-00010640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010620: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010630: 6e65 2020 3929 0a2a 2053 6574 7469 6e67 ne 9).* Setting\n+00010640: 2073 6f63 6b65 7420 6f70 7469 6f6e 733a socket options:\n 00010650: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010670: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010680: 6520 3230 290a 2a20 534f 5f52 4555 5345 e 20).* SO_REUSE\n-00010690: 504f 5254 3a20 2020 2020 2020 2020 2020 PORT: \n-000106a0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-000106b0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-000106c0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00010660: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00010670: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2028 6c69 6e65 2020 3629 (line 6)\n+000106c0: 0a2a 2053 6875 7464 6f77 6e3a 2020 2020 .* Shutdown: \n 000106d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000106e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000106f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010700: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-00010710: 2a20 534f 5f52 4555 5345 504f 5254 203c * SO_REUSEPORT <\n-00010720: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00010730: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-00010740: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-00010750: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000106e0: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n+000106f0: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n+00010700: 286c 696e 6520 2039 290a 2a20 534f 5f52 (line 9).* SO_R\n+00010710: 4356 4255 463a 2020 2020 2020 2020 2020 CVBUF: \n+00010720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010730: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+00010740: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \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 2020 2020 \n-00010790: 286c 696e 6520 3230 290a 2a20 534f 5f53 (line 20).* SO_S\n-000107a0: 4e44 4255 463a 2020 2020 2020 2020 2020 NDBUF: \n-000107b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000107c0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-000107d0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00010780: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00010790: 3230 290a 2a20 534f 5f52 4356 4255 4620 20).* SO_RCVBUF \n+000107a0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+000107b0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000107c0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+000107d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \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 2020 2020 286c 696e 6520 (line \n-00010820: 3230 290a 2a20 534f 5f53 4e44 4255 4620 20).* SO_SNDBUF \n-00010830: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00010840: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00010850: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00010860: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00010810: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+00010820: 534f 5f52 4555 5345 4144 4452 3a20 2020 SO_REUSEADDR: \n+00010830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010840: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+00010850: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00010860: 2020 2020 2020 2020 2020 2020 2020 2020 \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: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-000108b0: 534f 434b 5f44 4752 414d 3a20 2020 2020 SOCK_DGRAM: \n+00010890: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000108a0: 696e 6520 3230 290a 2a20 534f 5f52 4555 ine 20).* SO_REU\n+000108b0: 5345 4144 4452 203c 313e 3a20 2020 2020 SEADDR <1>: \n 000108c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108d0: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p\n-000108e0: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li\n-000108f0: 6e65 2031 3929 0a2a 2053 4f43 4b5f 5354 ne 19).* SOCK_ST\n-00010900: 5245 414d 3a20 2020 2020 2020 2020 2020 REAM: \n+000108d0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+000108e0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \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: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00010930: 6529 2e20 2020 286c 696e 6520 3139 290a e). (line 19).\n-00010940: 2a20 536f 636b 6574 3a20 2020 2020 2020 * Socket: \n-00010950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010960: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-00010970: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n-00010980: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+00010920: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00010930: 290a 2a20 534f 5f52 4555 5345 504f 5254 ).* SO_REUSEPORT\n+00010940: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010950: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+00010960: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00010970: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \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 2020 2020 2020 2020 2020 2020 \n-000109c0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-000109d0: 536f 636b 6574 203c 313e 3a20 2020 2020 Socket <1>: \n-000109e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109f0: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p\n-00010a00: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li\n-00010a10: 6e65 2020 3929 0a2a 2053 6f63 6b65 7420 ne 9).* Socket \n-00010a20: 7368 7574 646f 776e 3a20 2020 2020 2020 shutdown: \n-00010a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a40: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n-00010a50: 7572 6529 2e20 286c 696e 6520 2036 290a ure). (line 6).\n-00010a60: 2a20 536f 636b 6574 5f45 7272 6f72 3a20 * Socket_Error: \n-00010a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a80: 2020 2020 2020 2020 2042 696e 6420 2870 Bind (p\n-00010a90: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n-00010aa0: 6c69 6e65 2033 3029 0a2a 2053 6f63 6b65 line 30).* Socke\n-00010ab0: 745f 4572 726f 7220 3c31 3e3a 2020 2020 t_Error <1>: \n-00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ad0: 2020 436f 6e6e 6563 7420 2870 726f 6365 Connect (proce\n-00010ae0: 6475 7265 292e 2020 286c 696e 6520 3237 dure). (line 27\n-00010af0: 290a 2a20 536f 636b 6574 5f46 443a 2020 ).* Socket_FD: \n-00010b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b10: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-00010b20: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n-00010b30: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+000109b0: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n+000109c0: 5f52 4555 5345 504f 5254 203c 313e 3a20 _REUSEPORT <1>: \n+000109d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109e0: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+000109f0: 2870 726f 6365 6475 7265 292e 0a20 2020 (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 286c 696e (lin\n+00010a40: 6520 3230 290a 2a20 534f 5f53 4e44 4255 e 20).* SO_SNDBU\n+00010a50: 463a 2020 2020 2020 2020 2020 2020 2020 F: \n+00010a60: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00010a70: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00010a80: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 286c 696e 6520 3230 290a (line 20).\n+00010ad0: 2a20 534f 5f53 4e44 4255 4620 3c31 3e3a * SO_SNDBUF <1>:\n+00010ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010af0: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+00010b00: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00010b10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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 2020 2020 2020 2020 2020 2020 2020 \n-00010b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b70: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-00010b80: 2a20 536f 636b 6574 5f46 4420 3c31 3e3a * Socket_FD <1>:\n-00010b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ba0: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n-00010bb0: 2070 6163 6b61 6765 2e20 2020 2020 2028 package. (\n-00010bc0: 6c69 6e65 2020 3929 0a2a 2053 6f63 6b65 line 9).* Socke\n-00010bd0: 7473 2e41 6363 6570 745f 536f 636b 6574 ts.Accept_Socket\n-00010be0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010bf0: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket \n-00010c00: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-00010c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c40: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010c50: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n-00010c60: 4269 6e64 3a20 2020 2020 2020 2020 2020 Bind: \n-00010c70: 2020 2020 2020 2020 2020 2020 2020 2042 B\n-00010c80: 696e 6420 2870 726f 6365 6475 7265 292e ind (procedure).\n-00010c90: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n-00010ca0: 2053 6f63 6b65 7473 2e43 6f6e 6e65 6374 Sockets.Connect\n-00010cb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010cc0: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n-00010cd0: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n-00010ce0: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n-00010cf0: 732e 4765 743a 2020 2020 2020 2020 2020 s.Get: \n-00010d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d10: 2047 6574 2028 6675 6e63 7469 6f6e 292e Get (function).\n-00010d20: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11)\n-00010d30: 0a2a 2053 6f63 6b65 7473 2e47 6574 5f43 .* Sockets.Get_C\n-00010d40: 6861 723a 2020 2020 2020 2020 2020 2020 har: \n-00010d50: 2020 2020 2020 2020 2020 4765 745f 4368 Get_Ch\n-00010d60: 6172 2028 6675 6e63 7469 6f6e 292e 2020 ar (function). \n-00010d70: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n-00010d80: 6574 732e 4765 745f 4c69 6e65 3a20 2020 ets.Get_Line: \n-00010d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010da0: 2020 2047 6574 5f4c 696e 6520 2866 756e Get_Line (fun\n-00010db0: 6374 696f 6e29 2e20 2028 6c69 6e65 2031 ction). (line 1\n-00010dc0: 3229 0a2a 2053 6f63 6b65 7473 2e47 6574 2).* Sockets.Get\n-00010dd0: 5f4c 696e 6520 3c31 3e3a 2020 2020 2020 _Line <1>: \n-00010de0: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-00010df0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-00010e00: 2e20 286c 696e 6520 3131 290a 2a20 536f . (line 11).* So\n-00010e10: 636b 6574 732e 4765 745f 5265 6365 6976 ckets.Get_Receiv\n-00010e20: 655f 5175 6575 655f 5369 7a65 3a20 2020 e_Queue_Size: \n-00010e30: 2020 2020 2047 6574 5f52 6563 6569 7665 Get_Receive\n-00010e40: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-00010e50: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-00010e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e90: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n-00010ea0: 0a2a 2053 6f63 6b65 7473 2e47 6574 5f53 .* Sockets.Get_S\n-00010eb0: 656e 645f 5175 6575 655f 5369 7a65 3a20 end_Queue_Size: \n-00010ec0: 2020 2020 2020 2020 2020 4765 745f 5365 Get_Se\n-00010ed0: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-00010ee0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-00010ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f20: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-00010f30: 3229 0a2a 2053 6f63 6b65 7473 2e47 6574 2).* Sockets.Get\n-00010f40: 736f 636b 6f70 743a 2020 2020 2020 2020 sockopt: \n-00010f50: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-00010f60: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00010f70: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-00010f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010fb0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n-00010fc0: 6f63 6b65 7473 2e49 505f 4144 445f 4d45 ockets.IP_ADD_ME\n-00010fd0: 4d42 4552 5348 4950 3a20 2020 2020 2020 MBERSHIP: \n-00010fe0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-00010ff0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00011000: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 (li\n-00011040: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00011050: 2e49 505f 4144 445f 4d45 4d42 4552 5348 .IP_ADD_MEMBERSH\n-00011060: 4950 203c 313e 3a20 2020 2020 2020 2020 IP <1>: \n-00011070: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00011080: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00011090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110c0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-000110d0: 0a2a 2053 6f63 6b65 7473 2e49 505f 4452 .* Sockets.IP_DR\n-000110e0: 4f50 5f4d 454d 4245 5253 4849 503a 2020 OP_MEMBERSHIP: \n-000110f0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-00011100: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00011110: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00010b50: 286c 696e 6520 3230 290a 2a20 534f 434b (line 20).* SOCK\n+00010b60: 5f44 4752 414d 3a20 2020 2020 2020 2020 _DGRAM: \n+00010b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b80: 2020 2053 6f63 6b65 7420 2870 726f 6365 Socket (proce\n+00010b90: 6475 7265 292e 2020 2028 6c69 6e65 2031 dure). (line 1\n+00010ba0: 3929 0a2a 2053 4f43 4b5f 5354 5245 414d 9).* SOCK_STREAM\n+00010bb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010bc0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00010bd0: 6574 2028 7072 6f63 6564 7572 6529 2e20 et (procedure). \n+00010be0: 2020 286c 696e 6520 3139 290a 2a20 536f (line 19).* So\n+00010bf0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n+00010c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c10: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+00010c20: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n+00010c30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00010c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c70: 286c 696e 6520 2036 290a 2a20 536f 636b (line 6).* Sock\n+00010c80: 6574 203c 313e 3a20 2020 2020 2020 2020 et <1>: \n+00010c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ca0: 2020 2053 6f63 6b65 7420 2870 726f 6365 Socket (proce\n+00010cb0: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n+00010cc0: 3929 0a2a 2053 6f63 6b65 7420 7368 7574 9).* Socket shut\n+00010cd0: 646f 776e 3a20 2020 2020 2020 2020 2020 down: \n+00010ce0: 2020 2020 2020 2020 2020 2020 5368 7574 Shut\n+00010cf0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+00010d00: 2e20 286c 696e 6520 2036 290a 2a20 536f . (line 6).* So\n+00010d10: 636b 6574 5f45 7272 6f72 3a20 2020 2020 cket_Error: \n+00010d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d30: 2020 2020 2042 696e 6420 2870 726f 6365 Bind (proce\n+00010d40: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+00010d50: 2033 3029 0a2a 2053 6f63 6b65 745f 4572 30).* Socket_Er\n+00010d60: 726f 7220 3c31 3e3a 2020 2020 2020 2020 ror <1>: \n+00010d70: 2020 2020 2020 2020 2020 2020 2020 436f Co\n+00010d80: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n+00010d90: 292e 2020 286c 696e 6520 3237 290a 2a20 ). (line 27).* \n+00010da0: 536f 636b 6574 5f46 443a 2020 2020 2020 Socket_FD: \n+00010db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010dc0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+00010dd0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n+00010de0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 286c 696e 6520 2036 290a 2a20 536f (line 6).* So\n+00010e30: 636b 6574 5f46 4420 3c31 3e3a 2020 2020 cket_FD <1>: \n+00010e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e50: 2020 2020 2053 6f63 6b65 7473 2070 6163 Sockets pac\n+00010e60: 6b61 6765 2e20 2020 2020 2028 6c69 6e65 kage. (line\n+00010e70: 2020 3929 0a2a 2053 6f63 6b65 7473 2e41 9).* Sockets.A\n+00010e80: 6363 6570 745f 536f 636b 6574 3a20 2020 ccept_Socket: \n+00010e90: 2020 2020 2020 2020 2020 2020 2020 4163 Ac\n+00010ea0: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00010eb0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \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 286c 696e 6520 3131 (line 11\n+00010f00: 290a 2a20 536f 636b 6574 732e 4269 6e64 ).* Sockets.Bind\n+00010f10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010f20: 2020 2020 2020 2020 2020 2042 696e 6420 Bind \n+00010f30: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+00010f40: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n+00010f50: 6b65 7473 2e43 6f6e 6e65 6374 3a20 2020 kets.Connect: \n+00010f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f70: 2020 2020 436f 6e6e 6563 7420 2870 726f Connect (pro\n+00010f80: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n+00010f90: 3131 290a 2a20 536f 636b 6574 732e 4765 11).* Sockets.Ge\n+00010fa0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00010fb0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+00010fc0: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n+00010fd0: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00010fe0: 6f63 6b65 7473 2e47 6574 5f43 6861 723a ockets.Get_Char:\n+00010ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011000: 2020 2020 2020 4765 745f 4368 6172 2028 Get_Char (\n+00011010: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n+00011020: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+00011030: 4765 745f 4c69 6e65 3a20 2020 2020 2020 Get_Line: \n+00011040: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00011050: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+00011060: 6e29 2e20 2028 6c69 6e65 2031 3229 0a2a n). (line 12).*\n+00011070: 2053 6f63 6b65 7473 2e47 6574 5f4c 696e Sockets.Get_Lin\n+00011080: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+00011090: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+000110a0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+000110b0: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+000110c0: 732e 4765 745f 5265 6365 6976 655f 5175 s.Get_Receive_Qu\n+000110d0: 6575 655f 5369 7a65 3a20 2020 2020 2020 eue_Size: \n+000110e0: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n+000110f0: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+00011100: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \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 2020 2020 2020 2020 2020 \n-00011150: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-00011160: 6b65 7473 2e49 505f 4452 4f50 5f4d 454d kets.IP_DROP_MEM\n-00011170: 4245 5253 4849 5020 3c31 3e3a 2020 2020 BERSHIP <1>: \n-00011180: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-00011190: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00011140: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011150: 6f63 6b65 7473 2e47 6574 5f53 656e 645f ockets.Get_Send_\n+00011160: 5175 6575 655f 5369 7a65 3a20 2020 2020 Queue_Size: \n+00011170: 2020 2020 2020 4765 745f 5365 6e64 5f51 Get_Send_Q\n+00011180: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00011190: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \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 2020 2028 6c69 6e65 (line\n-000111e0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n-000111f0: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50 P_MULTICAST_LOOP\n-00011200: 3a20 2020 2020 2020 2020 2020 2020 4765 : Ge\n-00011210: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00011220: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+000111d0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n+000111e0: 2053 6f63 6b65 7473 2e47 6574 736f 636b Sockets.Getsock\n+000111f0: 6f70 743a 2020 2020 2020 2020 2020 2020 opt: \n+00011200: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+00011210: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00011220: 2020 2020 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 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00011270: 2053 6f63 6b65 7473 2e49 505f 4d55 4c54 Sockets.IP_MULT\n-00011280: 4943 4153 545f 4c4f 4f50 203c 313e 3a20 ICAST_LOOP <1>: \n-00011290: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-000112a0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00011250: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011260: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00011270: 7473 2e49 505f 4144 445f 4d45 4d42 4552 ts.IP_ADD_MEMBER\n+00011280: 5348 4950 3a20 2020 2020 2020 2020 2020 SHIP: \n+00011290: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+000112a0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \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 2020 2028 (\n-000112f0: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-00011300: 7473 2e49 505f 4d55 4c54 4943 4153 545f ts.IP_MULTICAST_\n-00011310: 5454 4c3a 2020 2020 2020 2020 2020 2020 TTL: \n-00011320: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-00011330: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+000112e0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+000112f0: 3029 0a2a 2053 6f63 6b65 7473 2e49 505f 0).* Sockets.IP_\n+00011300: 4144 445f 4d45 4d42 4552 5348 4950 203c ADD_MEMBERSHIP <\n+00011310: 313e 3a20 2020 2020 2020 2020 5365 7473 1>: Sets\n+00011320: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00011330: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2020 2028 6c69 6e65 2032 (line 2\n-00011380: 3029 0a2a 2053 6f63 6b65 7473 2e49 505f 0).* Sockets.IP_\n-00011390: 4d55 4c54 4943 4153 545f 5454 4c20 3c31 MULTICAST_TTL <1\n-000113a0: 3e3a 2020 2020 2020 2020 2020 5365 7473 >: Sets\n-000113b0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-000113c0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00011370: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+00011380: 6f63 6b65 7473 2e49 505f 4452 4f50 5f4d ockets.IP_DROP_M\n+00011390: 454d 4245 5253 4849 503a 2020 2020 2020 EMBERSHIP: \n+000113a0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+000113b0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000113c0: 2020 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: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-00011410: 6f63 6b65 7473 2e49 5050 524f 544f 5f49 ockets.IPPROTO_I\n-00011420: 503a 2020 2020 2020 2020 2020 2020 2020 P: \n-00011430: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-00011440: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000113f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011400: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n+00011410: 2e49 505f 4452 4f50 5f4d 454d 4245 5253 .IP_DROP_MEMBERS\n+00011420: 4849 5020 3c31 3e3a 2020 2020 2020 2020 HIP <1>: \n+00011430: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00011440: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2020 2028 6c69 (li\n-00011490: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-000114a0: 2e49 5050 524f 544f 5f49 5020 3c31 3e3a .IPPROTO_IP <1>:\n-000114b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000114c0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-000114d0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011480: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00011490: 0a2a 2053 6f63 6b65 7473 2e49 505f 4d55 .* Sockets.IP_MU\n+000114a0: 4c54 4943 4153 545f 4c4f 4f50 3a20 2020 LTICAST_LOOP: \n+000114b0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+000114c0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000114d0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2028 6c69 6e65 2032 3029 (line 20)\n-00011520: 0a2a 2053 6f63 6b65 7473 2e4c 6973 7465 .* Sockets.Liste\n-00011530: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n-00011540: 2020 2020 2020 2020 2020 4c69 7374 656e Listen\n-00011550: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-00011560: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n-00011570: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n-00011580: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00011590: 6f63 6b65 743a 2053 6574 7469 6e67 2075 ocket: Setting u\n-000115a0: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n-000115b0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n-000115c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115f0: 2020 2020 286c 696e 6520 3136 290a 2a20 (line 16).* \n-00011600: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n-00011610: 742e 4372 6561 7465 5f4d 756c 7469 6361 t.Create_Multica\n-00011620: 7374 5f53 6f63 6b65 7420 3c31 3e3a 2043 st_Socket <1>: C\n-00011630: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-00011640: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n-00011650: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00011660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011510: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n+00011520: 6b65 7473 2e49 505f 4d55 4c54 4943 4153 kets.IP_MULTICAS\n+00011530: 545f 4c4f 4f50 203c 313e 3a20 2020 2020 T_LOOP <1>: \n+00011540: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00011550: 7072 6f63 6564 7572 6529 2e0a 2020 2020 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 2028 6c69 6e65 (line\n+000115a0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n+000115b0: 505f 4d55 4c54 4943 4153 545f 5454 4c3a P_MULTICAST_TTL:\n+000115c0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+000115d0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+000115e0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+00011630: 2053 6f63 6b65 7473 2e49 505f 4d55 4c54 Sockets.IP_MULT\n+00011640: 4943 4153 545f 5454 4c20 3c31 3e3a 2020 ICAST_TTL <1>: \n+00011650: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00011660: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 00011670: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011690: 2020 286c 696e 6520 3134 290a 2a20 536f (line 14).* So\n-000116a0: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n-000116b0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-000116c0: 5f53 6f63 6b65 7420 3c32 3e3a 2043 7265 _Socket <2>: Cre\n-000116d0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-000116e0: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n-000116f0: 0a20 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 2028 (\n+000116b0: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n+000116c0: 7473 2e49 5050 524f 544f 5f49 503a 2020 ts.IPPROTO_IP: \n+000116d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116e0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+000116f0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \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: 286c 696e 6520 3638 290a 2a20 536f 636b (line 68).* Sock\n-00011740: 6574 732e 4e61 6d69 6e67 2e41 6464 7265 ets.Naming.Addre\n-00011750: 7373 5f4f 663a 2020 2020 2020 2020 2020 ss_Of: \n-00011760: 2020 2041 6464 7265 7373 5f4f 6620 2866 Address_Of (f\n-00011770: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-00011780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011730: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00011740: 3029 0a2a 2053 6f63 6b65 7473 2e49 5050 0).* Sockets.IPP\n+00011750: 524f 544f 5f49 5020 3c31 3e3a 2020 2020 ROTO_IP <1>: \n+00011760: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00011770: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00011780: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2028 6c69 6e65 2031 (line 1\n-000117c0: 3229 0a2a 2053 6f63 6b65 7473 2e4e 616d 2).* Sockets.Nam\n-000117d0: 696e 672e 416e 795f 4164 6472 6573 733a ing.Any_Address:\n-000117e0: 2020 2020 2020 2020 2020 2020 416e 795f Any_\n-000117f0: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-00011800: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-00011810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011840: 2020 2028 6c69 6e65 2031 3029 0a2a 2053 (line 10).* S\n-00011850: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n-00011860: 745f 5065 6572 5f41 6464 723a 2020 2020 t_Peer_Addr: \n-00011870: 2020 2020 2020 4765 745f 5065 6572 5f41 Get_Peer_A\n-00011880: 6464 7220 2866 756e 6374 696f 6e29 2e0a ddr (function)..\n+000117b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000117c0: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+000117d0: 6f63 6b65 7473 2e4c 6973 7465 6e3a 2020 ockets.Listen: \n+000117e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000117f0: 2020 2020 2020 4c69 7374 656e 2028 7072 Listen (pr\n+00011800: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n+00011810: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+00011820: 4d75 6c74 6963 6173 742e 4372 6561 7465 Multicast.Create\n+00011830: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00011840: 743a 2053 6574 7469 6e67 2075 7020 6d75 t: Setting up mu\n+00011850: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n+00011860: 0a20 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 2020 2020 2020 2020 2020 2020 2020 \n-000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000118c0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-000118d0: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-000118e0: 7473 2e4e 616d 696e 672e 4765 745f 5065 ts.Naming.Get_Pe\n-000118f0: 6572 5f50 6f72 743a 2020 2020 2020 2020 er_Port: \n-00011900: 2020 4765 745f 5065 6572 5f50 6f72 7420 Get_Peer_Port \n-00011910: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+000118a0: 286c 696e 6520 3136 290a 2a20 536f 636b (line 16).* Sock\n+000118b0: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n+000118c0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+000118d0: 6f63 6b65 7420 3c31 3e3a 2043 7265 6174 ocket <1>: Creat\n+000118e0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+000118f0: 6574 2028 6675 6e63 7469 6f6e 292e 0a20 et (function).. \n+00011900: 2020 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-00011930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011950: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00011960: 2031 3229 0a2a 2053 6f63 6b65 7473 2e4e 12).* Sockets.N\n-00011970: 616d 696e 672e 4765 745f 536f 636b 5f41 aming.Get_Sock_A\n-00011980: 6464 723a 2020 2020 2020 2020 2020 4765 ddr: Ge\n-00011990: 745f 536f 636b 5f41 6464 7220 2866 756e t_Sock_Addr (fun\n-000119a0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n+00011930: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011940: 696e 6520 3134 290a 2a20 536f 636b 6574 ine 14).* Socket\n+00011950: 732e 4d75 6c74 6963 6173 742e 4372 6561 s.Multicast.Crea\n+00011960: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00011970: 6b65 7420 3c32 3e3a 2043 7265 6174 655f ket <2>: Create_\n+00011980: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00011990: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+000119a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000119b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000119c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119e0: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n-000119f0: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n-00011a00: 672e 4765 745f 536f 636b 5f50 6f72 743a g.Get_Sock_Port:\n-00011a10: 2020 2020 2020 2020 2020 4765 745f 536f Get_So\n-00011a20: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio\n-00011a30: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+000119d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000119e0: 6520 3736 290a 2a20 536f 636b 6574 732e e 76).* Sockets.\n+000119f0: 4e61 6d69 6e67 2e41 6464 7265 7373 5f4f Naming.Address_O\n+00011a00: 663a 2020 2020 2020 2020 2020 2020 2041 f: A\n+00011a10: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+00011a20: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+00011a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a70: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n-00011a80: 6f63 6b65 7473 2e4e 616d 696e 672e 486f ockets.Naming.Ho\n-00011a90: 7374 5f4e 616d 653a 2020 2020 2020 2020 st_Name: \n-00011aa0: 2020 2020 2020 486f 7374 5f4e 616d 6520 Host_Name \n-00011ab0: 2866 756e 6374 696f 6e29 2e20 286c 696e (function). (lin\n-00011ac0: 6520 3130 290a 2a20 536f 636b 6574 732e e 10).* Sockets.\n-00011ad0: 4e61 6d69 6e67 2e49 6d61 6765 3a20 2020 Naming.Image: \n-00011ae0: 2020 2020 2020 2020 2020 2020 2020 2049 I\n-00011af0: 6d61 6765 2028 6675 6e63 7469 6f6e 292e mage (function).\n-00011b00: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n-00011b10: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-00011b20: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n-00011b30: 4950 3a20 2020 2020 496e 666f 5f4f 665f IP: Info_Of_\n-00011b40: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n-00011b50: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+00011a60: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n+00011a70: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00011a80: 416e 795f 4164 6472 6573 733a 2020 2020 Any_Address: \n+00011a90: 2020 2020 2020 2020 416e 795f 4164 6472 Any_Addr\n+00011aa0: 6573 7320 2866 756e 6374 696f 6e29 2e0a ess (function)..\n+00011ab0: 2020 2020 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 2028 (\n+00011af0: 6c69 6e65 2031 3029 0a2a 2053 6f63 6b65 line 10).* Socke\n+00011b00: 7473 2e4e 616d 696e 672e 4765 745f 5065 ts.Naming.Get_Pe\n+00011b10: 6572 5f41 6464 723a 2020 2020 2020 2020 er_Addr: \n+00011b20: 2020 4765 745f 5065 6572 5f41 6464 7220 Get_Peer_Addr \n+00011b30: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (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 2020 \n-00011b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011b90: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n-00011ba0: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n-00011bb0: 2e49 735f 4950 5f41 6464 7265 7373 3a20 .Is_IP_Address: \n-00011bc0: 2020 2020 2020 2020 2049 735f 4950 5f41 Is_IP_A\n-00011bd0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-00011be0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00011b70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011b80: 2031 3229 0a2a 2053 6f63 6b65 7473 2e4e 12).* Sockets.N\n+00011b90: 616d 696e 672e 4765 745f 5065 6572 5f50 aming.Get_Peer_P\n+00011ba0: 6f72 743a 2020 2020 2020 2020 2020 4765 ort: Ge\n+00011bb0: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n+00011bc0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \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 2020 2020 2020 \n-00011c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011c20: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n-00011c30: 636b 6574 732e 4e61 6d69 6e67 2e4e 616d ckets.Naming.Nam\n-00011c40: 655f 4f66 3a20 2020 2020 2020 2020 2020 e_Of: \n-00011c50: 2020 2020 204e 616d 655f 4f66 2028 6675 Name_Of (fu\n-00011c60: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n-00011c70: 2031 3129 0a2a 2053 6f63 6b65 7473 2e4e 11).* Sockets.N\n-00011c80: 616d 696e 672e 5661 6c75 653a 2020 2020 aming.Value: \n-00011c90: 2020 2020 2020 2020 2020 2020 2020 5661 Va\n-00011ca0: 6c75 6520 2866 756e 6374 696f 6e29 2e20 lue (function). \n-00011cb0: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* \n-00011cc0: 536f 636b 6574 732e 4e65 775f 4c69 6e65 Sockets.New_Line\n-00011cd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00011ce0: 2020 2020 2020 204e 6577 5f4c 696e 6520 New_Line \n-00011cf0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n-00011d00: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n-00011d10: 2e50 7574 3a20 2020 2020 2020 2020 2020 .Put: \n-00011d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d30: 5075 7420 2870 726f 6365 6475 7265 292e Put (procedure).\n-00011d40: 2020 2020 2020 286c 696e 6520 3131 290a (line 11).\n-00011d50: 2a20 536f 636b 6574 732e 5075 745f 4c69 * Sockets.Put_Li\n-00011d60: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n-00011d70: 2020 2020 2020 2020 2050 7574 5f4c 696e Put_Lin\n-00011d80: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n-00011d90: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n-00011da0: 7473 2e52 6563 6569 7665 3a20 2020 2020 ts.Receive: \n-00011db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011dc0: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n-00011dd0: 696f 6e29 2e20 2020 286c 696e 6520 3132 ion). (line 12\n-00011de0: 290a 2a20 536f 636b 6574 732e 5265 6365 ).* Sockets.Rece\n-00011df0: 6976 6520 3c31 3e3a 2020 2020 2020 2020 ive <1>: \n-00011e00: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n-00011e10: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n-00011e20: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n-00011e30: 6b65 7473 2e52 6563 6569 7665 5f53 6f6d kets.Receive_Som\n-00011e40: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-00011e50: 2020 2020 5265 6365 6976 655f 536f 6d65 Receive_Some\n-00011e60: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00011e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c00: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n+00011c10: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n+00011c20: 672e 4765 745f 536f 636b 5f41 6464 723a g.Get_Sock_Addr:\n+00011c30: 2020 2020 2020 2020 2020 4765 745f 536f Get_So\n+00011c40: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n+00011c50: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \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 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011ca0: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n+00011cb0: 745f 536f 636b 5f50 6f72 743a 2020 2020 t_Sock_Port: \n+00011cc0: 2020 2020 2020 4765 745f 536f 636b 5f50 Get_Sock_P\n+00011cd0: 6f72 7420 2866 756e 6374 696f 6e29 2e0a ort (function)..\n+00011ce0: 2020 2020 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 2028 (\n+00011d20: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00011d30: 7473 2e4e 616d 696e 672e 486f 7374 5f4e ts.Naming.Host_N\n+00011d40: 616d 653a 2020 2020 2020 2020 2020 2020 ame: \n+00011d50: 2020 486f 7374 5f4e 616d 6520 2866 756e Host_Name (fun\n+00011d60: 6374 696f 6e29 2e20 286c 696e 6520 3130 ction). (line 10\n+00011d70: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+00011d80: 6e67 2e49 6d61 6765 3a20 2020 2020 2020 ng.Image: \n+00011d90: 2020 2020 2020 2020 2020 2049 6d61 6765 Image\n+00011da0: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n+00011db0: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n+00011dc0: 6b65 7473 2e4e 616d 696e 672e 496e 666f kets.Naming.Info\n+00011dd0: 5f4f 665f 4e61 6d65 5f4f 725f 4950 3a20 _Of_Name_Or_IP: \n+00011de0: 2020 2020 496e 666f 5f4f 665f 4e61 6d65 Info_Of_Name\n+00011df0: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+00011e00: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00011e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e40: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n+00011e50: 636b 6574 732e 4e61 6d69 6e67 2e49 735f ckets.Naming.Is_\n+00011e60: 4950 5f41 6464 7265 7373 3a20 2020 2020 IP_Address: \n+00011e70: 2020 2020 2049 735f 4950 5f41 6464 7265 Is_IP_Addre\n+00011e80: 7373 2028 6675 6e63 7469 6f6e 292e 0a20 ss (function).. \n 00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ea0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00011eb0: 6e65 2031 3329 0a2a 2053 6f63 6b65 7473 ne 13).* Sockets\n-00011ec0: 2e53 656e 643a 2020 2020 2020 2020 2020 .Send: \n-00011ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ee0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n-00011ef0: 2e20 2020 2020 286c 696e 6520 3131 290a . (line 11).\n-00011f00: 2a20 536f 636b 6574 732e 5365 745f 4275 * Sockets.Set_Bu\n-00011f10: 6666 6572 3a20 2020 2020 2020 2020 2020 ffer: \n-00011f20: 2020 2020 2020 2020 2053 6574 5f42 7566 Set_Buf\n-00011f30: 6665 7220 2870 726f 6365 6475 7265 292e fer (procedure).\n-00011f40: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f80: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n-00011f90: 6574 732e 5365 7473 6f63 6b6f 7074 3a20 ets.Setsockopt: \n-00011fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011fb0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-00011fc0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-00011fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012000: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00012010: 3132 290a 2a20 536f 636b 6574 732e 5368 12).* Sockets.Sh\n-00012020: 7574 646f 776e 3a20 2020 2020 2020 2020 utdown: \n-00012030: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n-00012040: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n-00012050: 292e 2028 6c69 6e65 2031 3129 0a2a 2053 ). (line 11).* S\n-00012060: 6f63 6b65 7473 2e53 4f5f 5243 5642 5546 ockets.SO_RCVBUF\n-00012070: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012080: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-00012090: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-000120a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000120b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000120c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000120d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000120e0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-000120f0: 2e53 4f5f 5243 5642 5546 203c 313e 3a20 .SO_RCVBUF <1>: \n-00012100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012110: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00012120: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 286c (l\n+00011ed0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+00011ee0: 732e 4e61 6d69 6e67 2e4e 616d 655f 4f66 s.Naming.Name_Of\n+00011ef0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011f00: 204e 616d 655f 4f66 2028 6675 6e63 7469 Name_Of (functi\n+00011f10: 6f6e 292e 2020 2028 6c69 6e65 2031 3129 on). (line 11)\n+00011f20: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n+00011f30: 672e 5661 6c75 653a 2020 2020 2020 2020 g.Value: \n+00011f40: 2020 2020 2020 2020 2020 5661 6c75 6520 Value \n+00011f50: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+00011f60: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n+00011f70: 6574 732e 4e65 775f 4c69 6e65 3a20 2020 ets.New_Line: \n+00011f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f90: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n+00011fa0: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n+00011fb0: 3129 0a2a 2053 6f63 6b65 7473 2e50 7574 1).* Sockets.Put\n+00011fc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011fd0: 2020 2020 2020 2020 2020 2020 5075 7420 Put \n+00011fe0: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+00011ff0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+00012000: 636b 6574 732e 5075 745f 4c69 6e65 3a20 ckets.Put_Line: \n+00012010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012020: 2020 2020 2050 7574 5f4c 696e 6520 2870 Put_Line (p\n+00012030: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n+00012040: 2031 3129 0a2a 2053 6f63 6b65 7473 2e52 11).* Sockets.R\n+00012050: 6563 6569 7665 3a20 2020 2020 2020 2020 eceive: \n+00012060: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00012070: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+00012080: 2e20 2020 286c 696e 6520 3132 290a 2a20 . (line 12).* \n+00012090: 536f 636b 6574 732e 5265 6365 6976 6520 Sockets.Receive \n+000120a0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+000120b0: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+000120c0: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n+000120d0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+000120e0: 2e52 6563 6569 7665 5f53 6f6d 653a 2020 .Receive_Some: \n+000120f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012100: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+00012110: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \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 2020 2020 \n-00012160: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-00012170: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5245 .* Sockets.SO_RE\n-00012180: 5553 4541 4444 523a 2020 2020 2020 2020 USEADDR: \n-00012190: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-000121a0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-000121b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-000121c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121f0: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-00012200: 6b65 7473 2e53 4f5f 5245 5553 4541 4444 kets.SO_REUSEADD\n-00012210: 5220 3c31 3e3a 2020 2020 2020 2020 2020 R <1>: \n-00012220: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-00012230: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-00012240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012270: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00012280: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n-00012290: 4f5f 5245 5553 4550 4f52 543a 2020 2020 O_REUSEPORT: \n-000122a0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-000122b0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-000122c0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-000122d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000122e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012300: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00012310: 2053 6f63 6b65 7473 2e53 4f5f 5245 5553 Sockets.SO_REUS\n-00012320: 4550 4f52 5420 3c31 3e3a 2020 2020 2020 EPORT <1>: \n-00012330: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-00012340: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00012150: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+00012160: 3329 0a2a 2053 6f63 6b65 7473 2e53 656e 3).* Sockets.Sen\n+00012170: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n+00012180: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+00012190: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+000121a0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+000121b0: 636b 6574 732e 5365 745f 4275 6666 6572 ckets.Set_Buffer\n+000121c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000121d0: 2020 2020 2053 6574 5f42 7566 6665 7220 Set_Buffer \n+000121e0: 2870 726f 6365 6475 7265 292e 0a20 2020 (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 286c 696e (lin\n+00012230: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+00012240: 5365 7473 6f63 6b6f 7074 3a20 2020 2020 Setsockopt: \n+00012250: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012260: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00012270: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 286c 696e 6520 3132 290a (line 12).\n+000122c0: 2a20 536f 636b 6574 732e 5368 7574 646f * Sockets.Shutdo\n+000122d0: 776e 3a20 2020 2020 2020 2020 2020 2020 wn: \n+000122e0: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow\n+000122f0: 6e20 2870 726f 6365 6475 7265 292e 2028 n (procedure). (\n+00012300: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n+00012310: 7473 2e53 4f5f 5243 5642 5546 3a20 2020 ts.SO_RCVBUF: \n+00012320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012330: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+00012340: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \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 2020 2028 (\n-00012390: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-000123a0: 7473 2e53 4f5f 534e 4442 5546 3a20 2020 ts.SO_SNDBUF: \n-000123b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000123c0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-000123d0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00012380: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00012390: 3029 0a2a 2053 6f63 6b65 7473 2e53 4f5f 0).* Sockets.SO_\n+000123a0: 5243 5642 5546 203c 313e 3a20 2020 2020 RCVBUF <1>: \n+000123b0: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+000123c0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+000123d0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2020 2028 6c69 6e65 2032 (line 2\n-00012420: 3029 0a2a 2053 6f63 6b65 7473 2e53 4f5f 0).* Sockets.SO_\n-00012430: 534e 4442 5546 203c 313e 3a20 2020 2020 SNDBUF <1>: \n-00012440: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-00012450: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00012460: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00012410: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+00012420: 6f63 6b65 7473 2e53 4f5f 5245 5553 4541 ockets.SO_REUSEA\n+00012430: 4444 523a 2020 2020 2020 2020 2020 2020 DDR: \n+00012440: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+00012450: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00012460: 2020 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: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-000124b0: 6f63 6b65 7473 2e53 6f63 6b65 743a 2020 ockets.Socket: \n-000124c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000124d0: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n-000124e0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets\n-000124f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00012490: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000124a0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n+000124b0: 2e53 4f5f 5245 5553 4541 4444 5220 3c31 .SO_REUSEADDR <1\n+000124c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+000124d0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+000124e0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2020 2020 2020 \n-00012530: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc\n-00012540: 6b65 7473 2e53 6f63 6b65 7420 3c31 3e3a kets.Socket <1>:\n-00012550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012560: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-00012570: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-00012580: 3132 290a 2a20 536f 636b 6574 732e 534f 12).* Sockets.SO\n-00012590: 4c5f 534f 434b 4554 3a20 2020 2020 2020 L_SOCKET: \n-000125a0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-000125b0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-000125c0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-000125d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000125e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000125f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012600: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-00012610: 536f 636b 6574 732e 534f 4c5f 534f 434b Sockets.SOL_SOCK\n-00012620: 4554 203c 313e 3a20 2020 2020 2020 2020 ET <1>: \n-00012630: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-00012640: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-00012650: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012680: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00012690: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n-000126a0: 732e 556e 7365 745f 4275 6666 6572 3a20 s.Unset_Buffer: \n+00012520: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00012530: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5245 .* Sockets.SO_RE\n+00012540: 5553 4550 4f52 543a 2020 2020 2020 2020 USEPORT: \n+00012550: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+00012560: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00012570: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n+000125c0: 6b65 7473 2e53 4f5f 5245 5553 4550 4f52 kets.SO_REUSEPOR\n+000125d0: 5420 3c31 3e3a 2020 2020 2020 2020 2020 T <1>: \n+000125e0: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+000125f0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 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 2028 6c69 6e65 (line\n+00012640: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n+00012650: 4f5f 534e 4442 5546 3a20 2020 2020 2020 O_SNDBUF: \n+00012660: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+00012670: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00012680: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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: 2055 6e73 6574 5f42 7566 6665 7220 2870 Unset_Buffer (p\n-000126d0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-000126e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012710: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00012720: 3131 290a 2a20 534f 4c5f 534f 434b 4554 11).* SOL_SOCKET\n-00012730: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012740: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-00012750: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00012760: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+000126c0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+000126d0: 2053 6f63 6b65 7473 2e53 4f5f 534e 4442 Sockets.SO_SNDB\n+000126e0: 5546 203c 313e 3a20 2020 2020 2020 2020 UF <1>: \n+000126f0: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00012700: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00012710: 2020 2020 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 2028 (\n+00012750: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n+00012760: 7473 2e53 6f63 6b65 743a 2020 2020 2020 ts.Socket: \n 00012770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000127a0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-000127b0: 534f 4c5f 534f 434b 4554 203c 313e 3a20 SOL_SOCKET <1>: \n+00012780: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni\n+00012790: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n+000127a0: 2020 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 2053 6574 736f 636b 6f70 Setsockop\n-000127e0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-000127f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000127e0: 6e65 2020 3629 0a2a 2053 6f63 6b65 7473 ne 6).* Sockets\n+000127f0: 2e53 6f63 6b65 7420 3c31 3e3a 2020 2020 .Socket <1>: \n 00012800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012820: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00012830: 696e 6520 3230 290a 2a20 5374 7265 616d ine 20).* Stream\n-00012840: 5f45 6c65 6d65 6e74 5f41 7272 6179 3a20 _Element_Array: \n-00012850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012860: 2052 6177 2064 6174 6120 6d61 6e69 7075 Raw data manipu\n-00012870: 6c61 7469 6f6e 2e0a 2020 2020 2020 2020 lation.. \n+00012810: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00012820: 6529 2e20 2020 286c 696e 6520 3132 290a e). (line 12).\n+00012830: 2a20 536f 636b 6574 732e 534f 4c5f 534f * Sockets.SOL_SO\n+00012840: 434b 4554 3a20 2020 2020 2020 2020 2020 CKET: \n+00012850: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00012860: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00012870: 0a20 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 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-000128c0: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-000128d0: 745f 4172 7261 7920 3c31 3e3a 2020 2020 t_Array <1>: \n-000128e0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-000128f0: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n-00012900: 286c 696e 6520 3232 290a 2a20 5374 7265 (line 22).* Stre\n-00012910: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-00012920: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-00012930: 2020 2052 6563 6569 7665 2028 7072 6f63 Receive (proc\n-00012940: 6564 7572 6529 2e20 2028 6c69 6e65 2031 edure). (line 1\n-00012950: 3829 0a2a 2053 7472 6561 6d5f 456c 656d 8).* Stream_Elem\n-00012960: 656e 745f 4172 7261 7920 3c33 3e3a 2020 ent_Array <3>: \n-00012970: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n-00012980: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-00012990: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+000128b0: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n+000128c0: 6574 732e 534f 4c5f 534f 434b 4554 203c ets.SOL_SOCKET <\n+000128d0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+000128e0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+000128f0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \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 286c 696e 6520 (line \n+00012940: 3230 290a 2a20 536f 636b 6574 732e 556e 20).* Sockets.Un\n+00012950: 7365 745f 4275 6666 6572 3a20 2020 2020 set_Buffer: \n+00012960: 2020 2020 2020 2020 2020 2020 2055 6e73 Uns\n+00012970: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00012980: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 2020 2020 2020 2020 \n-000129d0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-000129e0: 2053 7472 6561 6d5f 456c 656d 656e 745f Stream_Element_\n-000129f0: 4172 7261 7920 3c34 3e3a 2020 2020 2020 Array <4>: \n-00012a00: 2020 2020 2020 2020 5365 6e64 2028 7072 Send (pr\n-00012a10: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n-00012a20: 696e 6520 3137 290a 2a20 5374 7265 616d ine 17).* Stream\n-00012a30: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 3a20 _Element_Count: \n+000129c0: 2020 2020 2020 286c 696e 6520 3131 290a (line 11).\n+000129d0: 2a20 534f 4c5f 534f 434b 4554 3a20 2020 * SOL_SOCKET: \n+000129e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129f0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00012a00: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00012a10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00012a60: 6f6e 292e 2020 2028 6c69 6e65 2032 3229 on). (line 22)\n-00012a70: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-00012a80: 745f 436f 756e 7420 3c31 3e3a 2020 2020 t_Count <1>: \n-00012a90: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-00012aa0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-00012ab0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00012a50: 286c 696e 6520 3230 290a 2a20 534f 4c5f (line 20).* SOL_\n+00012a60: 534f 434b 4554 203c 313e 3a20 2020 2020 SOCKET <1>: \n+00012a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a80: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00012a90: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \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 2020 2020 \n-00012ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012af0: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n-00012b00: 7472 696e 675f 4163 6365 7373 3a20 2020 tring_Access: \n-00012b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012b20: 2020 2020 2020 536f 636b 6574 732e 4e61 Sockets.Na\n-00012b30: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020 ming package.. \n+00012ad0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00012ae0: 3230 290a 2a20 5374 7265 616d 5f45 6c65 20).* Stream_Ele\n+00012af0: 6d65 6e74 5f41 7272 6179 3a20 2020 2020 ment_Array: \n+00012b00: 2020 2020 2020 2020 2020 2020 2052 6177 Raw\n+00012b10: 2064 6174 6120 6d61 6e69 7075 6c61 7469 data manipulati\n+00012b20: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. \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 2020 2020 2020 2020 2020 \n-00012b70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00012b80: 6e65 2033 3429 0a2a 2053 7472 696e 675f ne 34).* String_\n-00012b90: 4172 7261 793a 2020 2020 2020 2020 2020 Array: \n-00012ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012bb0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n-00012bc0: 6163 6b61 6765 2e0a 2020 2020 2020 2020 ackage.. \n-00012bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c00: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37)\n-00012c10: 0a2a 2053 7567 6765 7374 696e 6720 6120 .* Suggesting a \n-00012c20: 6665 6174 7572 653a 2020 2020 2020 2020 feature: \n-00012c30: 2020 2020 2020 2020 2020 5265 736f 7572 Resour\n-00012c40: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n-00012c50: 6e65 742e 0a20 2020 2020 2020 2020 2020 net.. \n+00012b60: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+00012b70: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+00012b80: 7261 7920 3c31 3e3a 2020 2020 2020 2020 ray <1>: \n+00012b90: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n+00012ba0: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n+00012bb0: 6520 3232 290a 2a20 5374 7265 616d 5f45 e 22).* Stream_E\n+00012bc0: 6c65 6d65 6e74 5f41 7272 6179 203c 323e lement_Array <2>\n+00012bd0: 3a20 2020 2020 2020 2020 2020 2020 2052 : R\n+00012be0: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00012bf0: 6529 2e20 2028 6c69 6e65 2031 3829 0a2a e). (line 18).*\n+00012c00: 2053 7472 6561 6d5f 456c 656d 656e 745f Stream_Element_\n+00012c10: 4172 7261 7920 3c33 3e3a 2020 2020 2020 Array <3>: \n+00012c20: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n+00012c30: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00012c40: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2020 2020 2020 2020 2020 \n-00012c90: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-00012ca0: 5443 5020 736f 636b 6574 3a20 2020 2020 TCP socket: \n-00012cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012cc0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-00012cd0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-00012ce0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d20: 2020 286c 696e 6520 2036 290a 2a20 5544 (line 6).* UD\n-00012d30: 5020 736f 636b 6574 3a20 2020 2020 2020 P socket: \n-00012d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d50: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-00012d60: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n-00012d70: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00012c80: 2028 6c69 6e65 2032 3129 0a2a 2053 7472 (line 21).* Str\n+00012c90: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n+00012ca0: 7920 3c34 3e3a 2020 2020 2020 2020 2020 y <4>: \n+00012cb0: 2020 2020 5365 6e64 2028 7072 6f63 6564 Send (proced\n+00012cc0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+00012cd0: 3137 290a 2a20 5374 7265 616d 5f45 6c65 17).* Stream_Ele\n+00012ce0: 6d65 6e74 5f43 6f75 6e74 3a20 2020 2020 ment_Count: \n+00012cf0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+00012d00: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n+00012d10: 2020 2028 6c69 6e65 2032 3229 0a2a 2053 (line 22).* S\n+00012d20: 7472 6561 6d5f 456c 656d 656e 745f 436f tream_Element_Co\n+00012d30: 756e 7420 3c31 3e3a 2020 2020 2020 2020 unt <1>: \n+00012d40: 2020 2020 2020 5265 6365 6976 655f 536f Receive_So\n+00012d50: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\n+00012d60: 2020 2020 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-00012d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012db0: 286c 696e 6520 2036 290a 2a20 556e 6963 (line 6).* Unic\n-00012dc0: 6173 7420 736f 636b 6574 733a 2020 2020 ast sockets: \n-00012dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012de0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-00012df0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+00012d90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012da0: 6c69 6e65 2032 3129 0a2a 2053 7472 696e line 21).* Strin\n+00012db0: 675f 4163 6365 7373 3a20 2020 2020 2020 g_Access: \n+00012dc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012dd0: 2020 536f 636b 6574 732e 4e61 6d69 6e67 Sockets.Naming\n+00012de0: 2070 6163 6b61 6765 2e0a 2020 2020 2020 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 2020 2020 \n-00012e30: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00012e40: 696e 6520 2036 290a 2a20 556e 7365 745f ine 6).* Unset_\n-00012e50: 4275 6666 6572 3a20 2020 2020 2020 2020 Buffer: \n-00012e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012e70: 2055 6e73 6574 5f42 7566 6665 7220 2870 Unset_Buffer (p\n-00012e80: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00012e20: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3\n+00012e30: 3429 0a2a 2053 7472 696e 675f 4172 7261 4).* String_Arra\n+00012e40: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n+00012e50: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00012e60: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n+00012e70: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. \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 2020 2020 2020 2020 2020 \n-00012ec0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00012ed0: 2039 290a 2a20 5661 6c75 653a 2020 2020 9).* Value: \n-00012ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012ef0: 2020 2020 2020 2020 2020 2020 2056 616c Val\n-00012f00: 7565 2028 6675 6e63 7469 6f6e 292e 2020 ue (function). \n-00012f10: 2020 2028 6c69 6e65 2020 3929 0a0a 1f0a (line 9)....\n-00012f20: 5461 6720 5461 626c 653a 0a4e 6f64 653a Tag Table:.Node:\n-00012f30: 2054 6f70 7f38 3136 0a4e 6f64 653a 2057 Top.816.Node: W\n-00012f40: 6861 7420 6973 2041 6461 536f 636b 6574 hat is AdaSocket\n-00012f50: 733f 7f31 3338 380a 4e6f 6465 3a20 496e s?.1388.Node: In\n-00012f60: 7374 616c 6c69 6e67 2041 6461 536f 636b stalling AdaSock\n-00012f70: 6574 737f 3232 3839 0a4e 6f64 653a 2055 ets.2289.Node: U\n-00012f80: 7369 6e67 2041 6461 536f 636b 6574 737f sing AdaSockets.\n-00012f90: 3332 3936 0a4e 6f64 653a 2043 6f6d 7069 3296.Node: Compi\n-00012fa0: 6c69 6e67 2061 6e20 4164 6120 6170 706c ling an Ada appl\n-00012fb0: 6963 6174 696f 6e7f 3335 3837 0a4e 6f64 ication.3587.Nod\n-00012fc0: 653a 2053 6574 7469 6e67 2075 7020 756e e: Setting up un\n-00012fd0: 6963 6173 7420 736f 636b 6574 737f 3432 icast sockets.42\n-00012fe0: 3334 0a4e 6f64 653a 2053 6574 7469 6e67 34.Node: Setting\n-00012ff0: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n-00013000: 636b 6574 737f 3535 3438 0a4e 6f64 653a ckets.5548.Node:\n-00013010: 2053 656e 6469 6e67 2061 6e64 2072 6563 Sending and rec\n-00013020: 6569 7669 6e67 2064 6174 617f 3639 3031 eiving data.6901\n-00013030: 0a4e 6f64 653a 2052 6177 2064 6174 6120 .Node: Raw data \n-00013040: 6d61 6e69 7075 6c61 7469 6f6e 7f37 3236 manipulation.726\n-00013050: 330a 4e6f 6465 3a20 5374 7269 6e67 2d6f 3.Node: String-o\n-00013060: 7269 656e 7465 6420 6578 6368 616e 6765 riented exchange\n-00013070: 737f 3736 3731 0a4e 6f64 653a 2053 6f63 s.7671.Node: Soc\n-00013080: 6b65 7473 2070 6163 6b61 6765 7f38 3830 kets package.880\n-00013090: 340a 4e6f 6465 3a20 4163 6365 7074 5f53 4.Node: Accept_S\n-000130a0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000130b0: 297f 3131 3038 380a 4e6f 6465 3a20 4269 ).11088.Node: Bi\n-000130c0: 6e64 2028 7072 6f63 6564 7572 6529 7f31 nd (procedure).1\n-000130d0: 3331 3635 0a4e 6f64 653a 2043 6f6e 6e65 3165.Node: Conne\n-000130e0: 6374 2028 7072 6f63 6564 7572 6529 7f31 ct (procedure).1\n-000130f0: 3434 3432 0a4e 6f64 653a 2047 6574 2028 4442.Node: Get (\n-00013100: 6675 6e63 7469 6f6e 297f 3135 3438 310a function).15481.\n-00013110: 4e6f 6465 3a20 4765 745f 4368 6172 2028 Node: Get_Char (\n-00013120: 6675 6e63 7469 6f6e 297f 3136 3638 300a function).16680.\n-00013130: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028 Node: Get_Line (\n-00013140: 6675 6e63 7469 6f6e 297f 3137 3534 350a function).17545.\n-00013150: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028 Node: Get_Line (\n-00013160: 7072 6f63 6564 7572 6529 7f31 3838 3536 procedure).18856\n-00013170: 0a4e 6f64 653a 2047 6574 5f52 6563 6569 .Node: Get_Recei\n-00013180: 7665 5f51 7565 7565 5f53 697a 6520 2866 ve_Queue_Size (f\n-00013190: 756e 6374 696f 6e29 7f32 3030 3235 0a4e unction).20025.N\n-000131a0: 6f64 653a 2047 6574 5f53 656e 645f 5175 ode: Get_Send_Qu\n-000131b0: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-000131c0: 6f6e 297f 3230 3839 330a 4e6f 6465 3a20 on).20893.Node: \n-000131d0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-000131e0: 6564 7572 6529 7f32 3137 3530 0a4e 6f64 edure).21750.Nod\n-000131f0: 653a 204c 6973 7465 6e20 2870 726f 6365 e: Listen (proce\n-00013200: 6475 7265 297f 3233 3131 370a 4e6f 6465 dure).23117.Node\n-00013210: 3a20 4e65 775f 4c69 6e65 2028 7072 6f63 : New_Line (proc\n-00013220: 6564 7572 6529 7f32 3339 3933 0a4e 6f64 edure).23993.Nod\n-00013230: 653a 2050 7574 2028 7072 6f63 6564 7572 e: Put (procedur\n-00013240: 6529 7f32 3437 3139 0a4e 6f64 653a 2050 e).24719.Node: P\n-00013250: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n-00013260: 7265 297f 3235 3435 340a 4e6f 6465 3a20 re).25454.Node: \n-00013270: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-00013280: 6e29 7f32 3632 3434 0a4e 6f64 653a 2052 n).26244.Node: R\n-00013290: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-000132a0: 6529 7f32 3734 3537 0a4e 6f64 653a 2052 e).27457.Node: R\n-000132b0: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n-000132c0: 6365 6475 7265 297f 3238 3438 380a 4e6f cedure).28488.No\n-000132d0: 6465 3a20 5365 6e64 2028 7072 6f63 6564 de: Send (proced\n-000132e0: 7572 6529 7f32 3936 3739 0a4e 6f64 653a ure).29679.Node:\n-000132f0: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n-00013300: 6365 6475 7265 297f 3330 3432 320a 4e6f cedure).30422.No\n-00013310: 6465 3a20 5365 7473 6f63 6b6f 7074 2028 de: Setsockopt (\n-00013320: 7072 6f63 6564 7572 6529 7f33 3136 3335 procedure).31635\n-00013330: 0a4e 6f64 653a 2053 6875 7464 6f77 6e20 .Node: Shutdown \n-00013340: 2870 726f 6365 6475 7265 297f 3332 3938 (procedure).3298\n-00013350: 320a 4e6f 6465 3a20 536f 636b 6574 2028 2.Node: Socket (\n-00013360: 7072 6f63 6564 7572 6529 7f33 3336 3332 procedure).33632\n-00013370: 0a4e 6f64 653a 2055 6e73 6574 5f42 7566 .Node: Unset_Buf\n-00013380: 6665 7220 2870 726f 6365 6475 7265 297f fer (procedure).\n-00013390: 3335 3032 320a 4e6f 6465 3a20 536f 636b 35022.Node: Sock\n-000133a0: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa\n-000133b0: 636b 6167 657f 3335 3732 310a 4e6f 6465 ckage.35721.Node\n-000133c0: 3a20 4372 6561 7465 5f4d 756c 7469 6361 : Create_Multica\n-000133d0: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n-000133e0: 696f 6e29 7f33 3635 3637 0a4e 6f64 653a ion).36567.Node:\n-000133f0: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-00013400: 7061 636b 6167 657f 3430 3239 330a 4e6f package.40293.No\n-00013410: 6465 3a20 4164 6472 6573 735f 4f66 2028 de: Address_Of (\n-00013420: 6675 6e63 7469 6f6e 297f 3432 3832 300a function).42820.\n-00013430: 4e6f 6465 3a20 416e 795f 4164 6472 6573 Node: Any_Addres\n-00013440: 7320 2866 756e 6374 696f 6e29 7f34 3337 s (function).437\n-00013450: 3134 0a4e 6f64 653a 2047 6574 5f50 6565 14.Node: Get_Pee\n-00013460: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n-00013470: 297f 3434 3132 390a 4e6f 6465 3a20 4765 ).44129.Node: Ge\n-00013480: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n-00013490: 6374 696f 6e29 7f34 3437 3031 0a4e 6f64 ction).44701.Nod\n-000134a0: 653a 2047 6574 5f53 6f63 6b5f 4164 6472 e: Get_Sock_Addr\n-000134b0: 2028 6675 6e63 7469 6f6e 297f 3435 3239 (function).4529\n-000134c0: 310a 4e6f 6465 3a20 4765 745f 536f 636b 1.Node: Get_Sock\n-000134d0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n-000134e0: 7f34 3538 3833 0a4e 6f64 653a 2048 6f73 .45883.Node: Hos\n-000134f0: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function\n-00013500: 297f 3436 3436 370a 4e6f 6465 3a20 496d ).46467.Node: Im\n-00013510: 6167 6520 2866 756e 6374 696f 6e29 7f34 age (function).4\n-00013520: 3639 3833 0a4e 6f64 653a 2049 6e66 6f5f 6983.Node: Info_\n-00013530: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f\n-00013540: 756e 6374 696f 6e29 7f34 3734 3539 0a4e unction).47459.N\n-00013550: 6f64 653a 2049 735f 4950 5f41 6464 7265 ode: Is_IP_Addre\n-00013560: 7373 2028 6675 6e63 7469 6f6e 297f 3438 ss (function).48\n-00013570: 3138 390a 4e6f 6465 3a20 4e61 6d65 5f4f 189.Node: Name_O\n-00013580: 6620 2866 756e 6374 696f 6e29 7f34 3837 f (function).487\n-00013590: 3033 0a4e 6f64 653a 2056 616c 7565 2028 03.Node: Value (\n-000135a0: 6675 6e63 7469 6f6e 297f 3439 3239 300a function).49290.\n-000135b0: 4e6f 6465 3a20 436f 6e74 7269 6275 746f Node: Contributo\n-000135c0: 7273 7f34 3937 3432 0a4e 6f64 653a 2052 rs.49742.Node: R\n-000135d0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n-000135e0: 496e 7465 726e 6574 7f35 3131 3633 0a4e Internet.51163.N\n-000135f0: 6f64 653a 2049 6e64 6578 7f35 3136 3233 ode: Index.51623\n-00013600: 0a1f 0a45 6e64 2054 6167 2054 6162 6c65 ...End Tag Table\n-00013610: 0a0a 1f0a 4c6f 6361 6c20 5661 7269 6162 ....Local Variab\n-00013620: 6c65 733a 0a63 6f64 696e 673a 2075 7466 les:.coding: utf\n-00013630: 2d38 0a45 6e64 3a0a -8.End:.\n+00012eb0: 2020 2028 6c69 6e65 2033 3729 0a2a 2053 (line 37).* S\n+00012ec0: 7567 6765 7374 696e 6720 6120 6665 6174 uggesting a feat\n+00012ed0: 7572 653a 2020 2020 2020 2020 2020 2020 ure: \n+00012ee0: 2020 2020 2020 5265 736f 7572 6365 7320 Resources \n+00012ef0: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n+00012f00: 0a20 2020 2020 2020 2020 2020 2020 2020 . \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: 286c 696e 6520 2036 290a 2a20 5443 5020 (line 6).* TCP \n+00012f50: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n+00012f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f70: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n+00012f80: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+00012f90: 2020 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 286c (l\n+00012fd0: 696e 6520 2036 290a 2a20 5544 5020 736f ine 6).* UDP so\n+00012fe0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n+00012ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00013000: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+00013010: 6173 7420 736f 636b 6574 732e 0a20 2020 ast 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 286c 696e (lin\n+00013060: 6520 2036 290a 2a20 556e 6963 6173 7420 e 6).* Unicast \n+00013070: 736f 636b 6574 733a 2020 2020 2020 2020 sockets: \n+00013080: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00013090: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+000130a0: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \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 286c 696e 6520 (line \n+000130f0: 2036 290a 2a20 556e 7365 745f 4275 6666 6).* Unset_Buff\n+00013100: 6572 3a20 2020 2020 2020 2020 2020 2020 er: \n+00013110: 2020 2020 2020 2020 2020 2020 2055 6e73 Uns\n+00013120: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00013130: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 286c 696e 6520 2039 290a (line 9).\n+00013180: 2a20 5661 6c75 653a 2020 2020 2020 2020 * Value: \n+00013190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000131a0: 2020 2020 2020 2020 2056 616c 7565 2028 Value (\n+000131b0: 6675 6e63 7469 6f6e 292e 2020 2020 2028 function). (\n+000131c0: 6c69 6e65 2020 3929 0a0a 1f0a 5461 6720 line 9)....Tag \n+000131d0: 5461 626c 653a 0a4e 6f64 653a 2054 6f70 Table:.Node: Top\n+000131e0: 7f38 3136 0a4e 6f64 653a 2057 6861 7420 .816.Node: What \n+000131f0: 6973 2041 6461 536f 636b 6574 733f 7f31 is AdaSockets?.1\n+00013200: 3338 380a 4e6f 6465 3a20 496e 7374 616c 388.Node: Instal\n+00013210: 6c69 6e67 2041 6461 536f 636b 6574 737f ling AdaSockets.\n+00013220: 3232 3839 0a4e 6f64 653a 2055 7369 6e67 2289.Node: Using\n+00013230: 2041 6461 536f 636b 6574 737f 3332 3936 AdaSockets.3296\n+00013240: 0a4e 6f64 653a 2043 6f6d 7069 6c69 6e67 .Node: Compiling\n+00013250: 2061 6e20 4164 6120 6170 706c 6963 6174 an Ada applicat\n+00013260: 696f 6e7f 3335 3837 0a4e 6f64 653a 2053 ion.3587.Node: S\n+00013270: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+00013280: 7420 736f 636b 6574 737f 3432 3334 0a4e t sockets.4234.N\n+00013290: 6f64 653a 2053 6574 7469 6e67 2075 7020 ode: Setting up \n+000132a0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+000132b0: 737f 3535 3438 0a4e 6f64 653a 2053 656e s.5548.Node: Sen\n+000132c0: 6469 6e67 2061 6e64 2072 6563 6569 7669 ding and receivi\n+000132d0: 6e67 2064 6174 617f 3639 3031 0a4e 6f64 ng data.6901.Nod\n+000132e0: 653a 2052 6177 2064 6174 6120 6d61 6e69 e: Raw data mani\n+000132f0: 7075 6c61 7469 6f6e 7f37 3236 330a 4e6f pulation.7263.No\n+00013300: 6465 3a20 5374 7269 6e67 2d6f 7269 656e de: String-orien\n+00013310: 7465 6420 6578 6368 616e 6765 737f 3736 ted exchanges.76\n+00013320: 3731 0a4e 6f64 653a 2053 6f63 6b65 7473 71.Node: Sockets\n+00013330: 2070 6163 6b61 6765 7f38 3830 340a 4e6f package.8804.No\n+00013340: 6465 3a20 4163 6365 7074 5f53 6f63 6b65 de: Accept_Socke\n+00013350: 7420 2870 726f 6365 6475 7265 297f 3131 t (procedure).11\n+00013360: 3038 380a 4e6f 6465 3a20 4269 6e64 2028 088.Node: Bind (\n+00013370: 7072 6f63 6564 7572 6529 7f31 3331 3635 procedure).13165\n+00013380: 0a4e 6f64 653a 2043 6f6e 6e65 6374 2028 .Node: Connect (\n+00013390: 7072 6f63 6564 7572 6529 7f31 3434 3432 procedure).14442\n+000133a0: 0a4e 6f64 653a 2047 6574 2028 6675 6e63 .Node: Get (func\n+000133b0: 7469 6f6e 297f 3135 3833 350a 4e6f 6465 tion).15835.Node\n+000133c0: 3a20 4765 745f 4368 6172 2028 6675 6e63 : Get_Char (func\n+000133d0: 7469 6f6e 297f 3137 3033 340a 4e6f 6465 tion).17034.Node\n+000133e0: 3a20 4765 745f 4c69 6e65 2028 6675 6e63 : Get_Line (func\n+000133f0: 7469 6f6e 297f 3137 3839 390a 4e6f 6465 tion).17899.Node\n+00013400: 3a20 4765 745f 4c69 6e65 2028 7072 6f63 : Get_Line (proc\n+00013410: 6564 7572 6529 7f31 3932 3130 0a4e 6f64 edure).19210.Nod\n+00013420: 653a 2047 6574 5f52 6563 6569 7665 5f51 e: Get_Receive_Q\n+00013430: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00013440: 696f 6e29 7f32 3033 3739 0a4e 6f64 653a ion).20379.Node:\n+00013450: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n+00013460: 5369 7a65 2028 6675 6e63 7469 6f6e 297f Size (function).\n+00013470: 3231 3234 370a 4e6f 6465 3a20 4765 7473 21247.Node: Gets\n+00013480: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00013490: 6529 7f32 3231 3034 0a4e 6f64 653a 204c e).22104.Node: L\n+000134a0: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+000134b0: 297f 3233 3437 310a 4e6f 6465 3a20 4e65 ).23471.Node: Ne\n+000134c0: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n+000134d0: 6529 7f32 3433 3437 0a4e 6f64 653a 2050 e).24347.Node: P\n+000134e0: 7574 2028 7072 6f63 6564 7572 6529 7f32 ut (procedure).2\n+000134f0: 3530 3733 0a4e 6f64 653a 2050 7574 5f4c 5073.Node: Put_L\n+00013500: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n+00013510: 3235 3830 380a 4e6f 6465 3a20 5265 6365 25808.Node: Rece\n+00013520: 6976 6520 2866 756e 6374 696f 6e29 7f32 ive (function).2\n+00013530: 3635 3938 0a4e 6f64 653a 2052 6563 6569 6598.Node: Recei\n+00013540: 7665 2028 7072 6f63 6564 7572 6529 7f32 ve (procedure).2\n+00013550: 3738 3131 0a4e 6f64 653a 2052 6563 6569 7811.Node: Recei\n+00013560: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n+00013570: 7265 297f 3238 3834 320a 4e6f 6465 3a20 re).28842.Node: \n+00013580: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00013590: 7f33 3030 3333 0a4e 6f64 653a 2053 6574 .30033.Node: Set\n+000135a0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+000135b0: 7265 297f 3330 3737 360a 4e6f 6465 3a20 re).30776.Node: \n+000135c0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+000135d0: 6564 7572 6529 7f33 3139 3839 0a4e 6f64 edure).31989.Nod\n+000135e0: 653a 2053 6875 7464 6f77 6e20 2870 726f e: Shutdown (pro\n+000135f0: 6365 6475 7265 297f 3333 3333 360a 4e6f cedure).33336.No\n+00013600: 6465 3a20 536f 636b 6574 2028 7072 6f63 de: Socket (proc\n+00013610: 6564 7572 6529 7f33 3339 3836 0a4e 6f64 edure).33986.Nod\n+00013620: 653a 2055 6e73 6574 5f42 7566 6665 7220 e: Unset_Buffer \n+00013630: 2870 726f 6365 6475 7265 297f 3335 3337 (procedure).3537\n+00013640: 360a 4e6f 6465 3a20 536f 636b 6574 732e 6.Node: Sockets.\n+00013650: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+00013660: 657f 3336 3037 350a 4e6f 6465 3a20 4372 e.36075.Node: Cr\n+00013670: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00013680: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+00013690: 7f33 3639 3231 0a4e 6f64 653a 2053 6f63 .36921.Node: Soc\n+000136a0: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+000136b0: 6167 657f 3430 3937 370a 4e6f 6465 3a20 age.40977.Node: \n+000136c0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+000136d0: 7469 6f6e 297f 3433 3530 340a 4e6f 6465 tion).43504.Node\n+000136e0: 3a20 416e 795f 4164 6472 6573 7320 2866 : Any_Address (f\n+000136f0: 756e 6374 696f 6e29 7f34 3433 3938 0a4e unction).44398.N\n+00013700: 6f64 653a 2047 6574 5f50 6565 725f 4164 ode: Get_Peer_Ad\n+00013710: 6472 2028 6675 6e63 7469 6f6e 297f 3434 dr (function).44\n+00013720: 3831 330a 4e6f 6465 3a20 4765 745f 5065 813.Node: Get_Pe\n+00013730: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+00013740: 6e29 7f34 3533 3835 0a4e 6f64 653a 2047 n).45385.Node: G\n+00013750: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n+00013760: 6e63 7469 6f6e 297f 3435 3937 350a 4e6f nction).45975.No\n+00013770: 6465 3a20 4765 745f 536f 636b 5f50 6f72 de: Get_Sock_Por\n+00013780: 7420 2866 756e 6374 696f 6e29 7f34 3635 t (function).465\n+00013790: 3637 0a4e 6f64 653a 2048 6f73 745f 4e61 67.Node: Host_Na\n+000137a0: 6d65 2028 6675 6e63 7469 6f6e 297f 3437 me (function).47\n+000137b0: 3135 310a 4e6f 6465 3a20 496d 6167 6520 151.Node: Image \n+000137c0: 2866 756e 6374 696f 6e29 7f34 3736 3637 (function).47667\n+000137d0: 0a4e 6f64 653a 2049 6e66 6f5f 4f66 5f4e .Node: Info_Of_N\n+000137e0: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n+000137f0: 696f 6e29 7f34 3831 3433 0a4e 6f64 653a ion).48143.Node:\n+00013800: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n+00013810: 6675 6e63 7469 6f6e 297f 3438 3837 330a function).48873.\n+00013820: 4e6f 6465 3a20 4e61 6d65 5f4f 6620 2866 Node: Name_Of (f\n+00013830: 756e 6374 696f 6e29 7f34 3933 3837 0a4e unction).49387.N\n+00013840: 6f64 653a 2056 616c 7565 2028 6675 6e63 ode: Value (func\n+00013850: 7469 6f6e 297f 3439 3937 340a 4e6f 6465 tion).49974.Node\n+00013860: 3a20 436f 6e74 7269 6275 746f 7273 7f35 : Contributors.5\n+00013870: 3034 3236 0a4e 6f64 653a 2052 6573 6f75 0426.Node: Resou\n+00013880: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n+00013890: 726e 6574 7f35 3138 3437 0a4e 6f64 653a rnet.51847.Node:\n+000138a0: 2049 6e64 6578 7f35 3233 3037 0a1f 0a45 Index.52307...E\n+000138b0: 6e64 2054 6167 2054 6162 6c65 0a0a 1f0a nd Tag Table....\n+000138c0: 4c6f 6361 6c20 5661 7269 6162 6c65 733a Local Variables:\n+000138d0: 0a63 6f64 696e 673a 2075 7466 2d38 0a45 .coding: utf-8.E\n+000138e0: 6e64 3a0a nd:.\n"}]}]}]}]}]}