{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.wjv3YVfe/b1/adasockets_1.14-2_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.wjv3YVfe/b2/adasockets_1.14-2_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n e7e50d87a6a77cfc06528258848449bf 62768 libdevel optional libadasockets-dev_1.14-2_amd64.deb\n- 388157fe3b3a9267315a20bf878e61e4 260956 doc optional libadasockets-doc_1.14-2_all.deb\n+ 2b84c8fd30d7d9d98404fbd41d1640ca 261436 doc optional libadasockets-doc_1.14-2_all.deb\n 1b1354b3b8459abe9a3bcc4c66aa2645 51116 debug optional libadasockets11-dbgsym_1.14-2_amd64.deb\n c8117049a9e30cabced6d999c8c1c622 29772 libs optional libadasockets11_1.14-2_amd64.deb\n"}, {"source1": "libadasockets-doc_1.14-2_all.deb", "source2": "libadasockets-doc_1.14-2_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-02-22 11:28:42.000000 debian-binary\n -rw-r--r-- 0 0 0 1064 2025-02-22 11:28:42.000000 control.tar.xz\n--rw-r--r-- 0 0 0 259700 2025-02-22 11:28:42.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 260180 2025-02-22 11:28:42.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-2\n Architecture: all\n Maintainer: Phil Brooke \n-Installed-Size: 289\n+Installed-Size: 290\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-02-22 11:28:42.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.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) 237443 2025-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 237688 2025-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-dev/examples/\n -rw-r--r-- 0 root (0) root (0) 233 2025-02-22 11:28:42.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-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-doc/\n -rw-r--r-- 0 root (0) root (0) 1676 2025-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 3026 2025-02-22 11:28:42.000000 ./usr/share/doc/libadasockets-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 475 2025-02-22 11:28:42.000000 ./usr/share/doc-base/libadasockets-doc.adasockets\n drwxr-xr-x 0 root (0) root (0) 0 2025-02-22 11:28:42.000000 ./usr/share/info/\n--rw-r--r-- 0 root (0) root (0) 13902 2025-02-22 11:28:42.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 14108 2025-02-22 11:28:42.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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\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@@ -199,16 +199,17 @@\n \n Accept Socket (procedure)\n Purpose\n \n Accept an incoming connection\n \n Prototype\n-[Sockets.Accept Socket]\n+\n procedure Accept_Socket\n+[Sockets.Accept Socket]\n (Socket : Socket_FD; New_Socket : out Socket_FD);\n Parameters\n Socket\n New Socket\n \n in\n out\n@@ -220,61 +221,51 @@\n This procedure creates a new socket corresponding to an incoming connection\n on TCP socket Socket. All the communications with the peer will take place\n on New Socket, while the program can accept another connection on Socket.\n New Socket must not be initialized before calling this procedure, or must have\n been cleaned up by calling Shutdown, in order to avoid a file descriptors leak.\n Accept_Socket will block until an incoming connection is ready to be accepted.\n Example\n-declare\n-Sock : 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--- Shutdown the socket in both directions\n-Shutdown (Sock, Both);\n-end;\n See also [Bind (procedure)], page 7,\n [Listen (procedure)], page 12,\n [Shutdown (procedure)], page 17,\n [Socket (procedure)], page 17.\n \n Bind (procedure)\n Purpose\n \n Associate a local port to a socket\n \n-\f8\n-\n-AdaSockets reference manual\n-\n Prototype\n \n procedure Bind (Socket : Socket_FD;\n Port : Natural; Host : String := \"\");\n Parameters\n Socket\n Port\n Host\n \n in\n in\n in\n \n-[Sockets.Bind]\n-\n Initialized socket object\n Local port to bind to\n Local interface to bind to\n \n+[Sockets.Bind]\n+\n+\f8\n+\n+AdaSockets reference manual\n+\n Description\n This procedure requests a local port from the operating system. If 0 is given\n in Port, the system will assign a free port whose number can later be retrieved\n-using [Get Sock Port (function)], page 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@@ -316,30 +307,29 @@\n Socket_Error\n \n The connection has been refused by the server\n Another error occurred during the connection\n \n Example\n declare\n-Sock : Multicast_Socket_FD;\n+Sock : 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+-- Create a TCP socket\n+Socket (Sock, PF_INET, SOCK_STREAM);\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 \fChapter 4: Sockets package\n \n 9\n \n--- Perform some operations on socket\n-[...]\n--- Shutdown the socket in both directions\n-Shutdown (Sock, Both);\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@@ -390,30 +380,29 @@\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@@ -462,37 +451,35 @@\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-11\n-\n+in\n in out\n out\n \n+Initialized and connected socket object\n String to fill\n Last index used in the string\n \n Description\n This procedure receives one line from the remote host. A line consists into zero\n or more characters followed by an optional CR and by a LF. Those terminators\n are stripped before the line is returned.\n 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@@ -541,24 +528,23 @@\n \n [Sockets.Get Send Queue Size]\n \n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the output queue\n-\n-\f12\n-\n-AdaSockets reference manual\n-\n Description\n This function is only available on Linux platforms. On other operating systems, it will return -2 to indicate that the necessary mechanisms to retrieve the\n information are not available.\n See also [Send (procedure)], page 15.\n \n+\f12\n+\n+AdaSockets reference manual\n+\n Getsockopt (procedure)\n Purpose\n \n Retrieve a socket option\n \n Prototype\n \n@@ -614,28 +600,27 @@\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@@ -680,15 +665,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 13,\n+See also [New Line (procedure)], page 12,\n [Put Line (procedure)], page 13,\n [Send (procedure)], page 15.\n \n Put Line (procedure)\n Purpose\n \n Send a CR/LF terminated string to a remote host\n@@ -696,38 +681,36 @@\n Prototype\n \n procedure Put_Line\n [Sockets.Put Line]\n (Socket : Socket_FD\u2019Class; Str : String);\n Parameters\n Socket\n-\n-in\n-\n-Initialized and connected socket object\n-\n-\f14\n-\n-AdaSockets reference manual\n-\n Str\n \n in\n+in\n \n+Initialized and connected socket object\n String to send\n \n Description\n This procedure sends the content of Str plus a CR/LF combination over an\n outgoing or incoming socket.\n+\n+\f14\n+\n+AdaSockets reference manual\n+\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n-See also [New Line (procedure)], page 13,\n+See also [New Line (procedure)], page 12,\n [Put (procedure)], page 13,\n [Send (procedure)], page 15.\n \n Receive (function)\n Purpose\n \n Receive raw data over a socket\n@@ -780,40 +763,41 @@\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-[Sockets.Receive Some]\n+\n procedure Receive_Some\n+[Sockets.Receive Some]\n (Socket : Socket_FD\u2019Class;\n Data : out Ada.Streams.Stream_Element_Array;\n Last : out Ada.Streams.Stream_Element_Offset);\n Parameters\n Socket\n Data\n Last\n@@ -856,29 +840,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@@ -933,27 +917,26 @@\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@@ -1008,28 +991,27 @@\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@@ -1063,17 +1045,16 @@\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 : Natural; TTL : Positive := 16;\n Self_Loop : Boolean := True;\n Local_If : String := 0.0.0.0)\n return Multicast_Socket_FD;\n Parameters\n Group\n@@ -1102,31 +1083,49 @@\n Be careful when choosing the TTL parameter of your IP multicast socket. Most\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-\n-See also [Send (procedure)], page 15,\n-[Shutdown (procedure)], page 17.\n+declare\n+Sock\n+: Socket_FD;\n+Incoming : Socket_FD;\n+begin\n+-- Create a TCP socket listening on local port 4161\n+Socket (Sock, PF_INET, SOCK_STREAM);\n+Bind (Sock, 4161);\n \n \f20\n \n AdaSockets reference manual\n \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@@ -1156,22 +1155,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@@ -1240,17 +1244,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@@ -1279,16 +1283,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@@ -1303,16 +1307,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@@ -1327,20 +1331,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@@ -1355,16 +1359,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@@ -1392,19 +1396,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@@ -1476,19 +1480,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@@ -1498,21 +1502,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@@ -1529,97 +1533,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, 16\n+Ada.Streams.Stream_Element_Array . . . . 6, 14, 15\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+Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\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, 16\n+Connection_Closed . . . . . . . . . . . 9, 10, 11, 13, 14, 15\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, 11, 13\n+CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 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, 11, 13\n+LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n M\n E\n Establishing a listen queue . . . . . . . . . . . . . . . . . . . . . 12\n \n@@ -1628,40 +1632,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@@ -1671,37 +1675,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, 16\n+Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15\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, 13, 15\n-Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n+Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 12, 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@@ -1709,15 +1713,15 @@\n SOCK_DGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n SOCK_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n Socket shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Socket_FD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 7\n Sockets.Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Sockets.Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Sockets.Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Sockets.Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Sockets.Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Sockets.Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Sockets.Get_Receive_Queue_Size . . . . . . . . . . . . . 11\n Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 11\n Sockets.Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n@@ -1733,10 +1737,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": "@@ -748,4217 +748,4236 @@\n 00002eb0: 6970 746f 7273 206c 6561 6b2e 0a0a 2020 iptors leak... \n 00002ec0: 2020 20e2 8098 4163 6365 7074 5f53 6f63 ...Accept_Soc\n 00002ed0: 6b65 74e2 8099 2077 696c 6c20 626c 6f63 ket... will bloc\n 00002ee0: 6b20 756e 7469 6c20 616e 2069 6e63 6f6d k until an incom\n 00002ef0: 696e 6720 636f 6e6e 6563 7469 6f6e 2069 ing connection i\n 00002f00: 7320 7265 6164 7920 746f 0a20 2020 2020 s ready to. \n 00002f10: 6265 2061 6363 6570 7465 642e 0a0a 4558 be accepted...EX\n-00002f20: 414d 504c 450a 2020 2020 2020 2020 2020 AMPLE. \n-00002f30: 6465 636c 6172 650a 2020 2020 2020 2020 declare. \n-00002f40: 2020 2020 2053 6f63 6b20 3a20 4d75 6c74 Sock : Mult\n-00002f50: 6963 6173 745f 536f 636b 6574 5f46 443b icast_Socket_FD;\n-00002f60: 0a20 2020 2020 2020 2020 2062 6567 696e . begin\n-00002f70: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n-00002f80: 2043 7265 6174 6520 6120 6d75 6c74 6963 Create a multic\n-00002f90: 6173 7420 736f 636b 6574 206f 6e20 6772 ast socket on gr\n-00002fa0: 6f75 7020 3232 342e 312e 322e 3320 706f oup 224.1.2.3 po\n-00002fb0: 7274 2038 3736 330a 2020 2020 2020 2020 rt 8763. \n-00002fc0: 2020 2020 2053 6f63 6b20 3a3d 2043 7265 Sock := Cre\n-00002fd0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-00002fe0: 636b 6574 2028 2232 3234 2e31 2e32 2e33 cket (\"224.1.2.3\n-00002ff0: 222c 2038 3736 3329 3b0a 2020 2020 2020 \", 8763);. \n-00003000: 2020 2020 2020 202d 2d20 5065 7266 6f72 -- Perfor\n-00003010: 6d20 736f 6d65 206f 7065 7261 7469 6f6e m some operation\n-00003020: 7320 6f6e 2073 6f63 6b65 740a 2020 2020 s on socket. \n-00003030: 2020 2020 2020 2020 205b 2e2e 2e5d 0a20 [...]. \n-00003040: 2020 2020 2020 2020 2020 2020 2d2d 2053 -- S\n-00003050: 6875 7464 6f77 6e20 7468 6520 736f 636b hutdown the sock\n-00003060: 6574 2069 6e20 626f 7468 2064 6972 6563 et in both direc\n-00003070: 7469 6f6e 730a 2020 2020 2020 2020 2020 tions. \n-00003080: 2020 2053 6875 7464 6f77 6e20 2853 6f63 Shutdown (Soc\n-00003090: 6b2c 2042 6f74 6829 3b0a 2020 2020 2020 k, Both);. \n-000030a0: 2020 2020 656e 643b 0a0a 5345 4520 414c end;..SEE AL\n-000030b0: 534f 0a20 2020 2020 2a6e 6f74 6520 4269 SO. *note Bi\n-000030c0: 6e64 2028 7072 6f63 6564 7572 6529 3a3a nd (procedure)::\n-000030d0: 2c0a 2020 2020 202a 6e6f 7465 204c 6973 ,. *note Lis\n-000030e0: 7465 6e20 2870 726f 6365 6475 7265 293a ten (procedure):\n-000030f0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5368 :,. *note Sh\n-00003100: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n-00003110: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00003120: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n-00003130: 7265 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a re)::...* Menu:.\n-00003140: 0a2a 2042 696e 6420 2870 726f 6365 6475 .* Bind (procedu\n-00003150: 7265 293a 3a0a 2a20 436f 6e6e 6563 7420 re)::.* Connect \n-00003160: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-00003170: 4765 7420 2866 756e 6374 696f 6e29 3a3a Get (function)::\n-00003180: 0a2a 2047 6574 5f43 6861 7220 2866 756e .* Get_Char (fun\n-00003190: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f4c ction)::.* Get_L\n-000031a0: 696e 6520 2866 756e 6374 696f 6e29 3a3a ine (function)::\n-000031b0: 0a2a 2047 6574 5f4c 696e 6520 2870 726f .* Get_Line (pro\n-000031c0: 6365 6475 7265 293a 3a0a 2a20 4765 745f cedure)::.* Get_\n-000031d0: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n-000031e0: 7a65 2028 6675 6e63 7469 6f6e 293a 3a0a ze (function)::.\n-000031f0: 2a20 4765 745f 5365 6e64 5f51 7565 7565 * Get_Send_Queue\n-00003200: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-00003210: 3a3a 0a2a 2047 6574 736f 636b 6f70 7420 ::.* Getsockopt \n-00003220: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-00003230: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n-00003240: 6529 3a3a 0a2a 204e 6577 5f4c 696e 6520 e)::.* New_Line \n-00003250: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-00003260: 5075 7420 2870 726f 6365 6475 7265 293a Put (procedure):\n-00003270: 3a0a 2a20 5075 745f 4c69 6e65 2028 7072 :.* Put_Line (pr\n-00003280: 6f63 6564 7572 6529 3a3a 0a2a 2052 6563 ocedure)::.* Rec\n-00003290: 6569 7665 2028 6675 6e63 7469 6f6e 293a eive (function):\n-000032a0: 3a0a 2a20 5265 6365 6976 6520 2870 726f :.* Receive (pro\n-000032b0: 6365 6475 7265 293a 3a0a 2a20 5265 6365 cedure)::.* Rece\n-000032c0: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-000032d0: 7572 6529 3a3a 0a2a 2053 656e 6420 2870 ure)::.* Send (p\n-000032e0: 726f 6365 6475 7265 293a 3a0a 2a20 5365 rocedure)::.* Se\n-000032f0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00003300: 7572 6529 3a3a 0a2a 2053 6574 736f 636b ure)::.* Setsock\n-00003310: 6f70 7420 2870 726f 6365 6475 7265 293a opt (procedure):\n-00003320: 3a0a 2a20 5368 7574 646f 776e 2028 7072 :.* Shutdown (pr\n-00003330: 6f63 6564 7572 6529 3a3a 0a2a 2053 6f63 ocedure)::.* Soc\n-00003340: 6b65 7420 2870 726f 6365 6475 7265 293a ket (procedure):\n-00003350: 3a0a 2a20 556e 7365 745f 4275 6666 6572 :.* Unset_Buffer\n-00003360: 2028 7072 6f63 6564 7572 6529 3a3a 0a0a (procedure)::..\n-00003370: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-00003380: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-00003390: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-000033a0: 2c20 204e 6578 743a 2043 6f6e 6e65 6374 , Next: Connect\n-000033b0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-000033c0: 7265 763a 2041 6363 6570 745f 536f 636b rev: Accept_Sock\n-000033d0: 6574 2028 7072 6f63 6564 7572 6529 2c20 et (procedure), \n-000033e0: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-000033f0: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00003400: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-00003410: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00003420: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00003430: 4173 736f 6369 6174 6520 6120 6c6f 6361 Associate a loca\n-00003440: 6c20 706f 7274 2074 6f20 6120 736f 636b l port to a sock\n-00003450: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n-00003460: 2020 202d 2d20 536f 636b 6574 732e 4269 -- Sockets.Bi\n-00003470: 6e64 3a20 7072 6f63 6564 7572 6520 4269 nd: procedure Bi\n-00003480: 6e64 2028 534f 434b 4554 203a 2053 6f63 nd (SOCKET : Soc\n-00003490: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-000034a0: 2020 2020 2020 2050 4f52 5420 3a20 4e61 PORT : Na\n-000034b0: 7475 7261 6c3b 2048 4f53 5420 3a20 5374 tural; HOST : St\n-000034c0: 7269 6e67 203a 3d20 2222 293b 0a0a 5041 ring := \"\");..PA\n-000034d0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n-000034e0: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n-000034f0: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n-00003500: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00003510: 2020 2050 4f52 5420 2020 2020 2020 696e PORT in\n-00003520: 2020 2020 2020 2020 204c 6f63 616c 2070 Local p\n-00003530: 6f72 7420 746f 2062 696e 6420 746f 0a20 ort to bind to. \n-00003540: 2020 2020 484f 5354 2020 2020 2020 2069 HOST i\n-00003550: 6e20 2020 2020 2020 2020 4c6f 6361 6c20 n Local \n-00003560: 696e 7465 7266 6163 6520 746f 2062 696e interface to bin\n-00003570: 6420 746f 0a0a 4445 5343 5249 5054 494f d to..DESCRIPTIO\n-00003580: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-00003590: 6564 7572 6520 7265 7175 6573 7473 2061 edure requests a\n-000035a0: 206c 6f63 616c 2070 6f72 7420 6672 6f6d local port from\n-000035b0: 2074 6865 206f 7065 7261 7469 6e67 2073 the operating s\n-000035c0: 7973 7465 6d2e 2020 4966 0a20 2020 2020 ystem. If. \n-000035d0: 3020 6973 2067 6976 656e 2069 6e20 504f 0 is given in PO\n-000035e0: 5254 2c20 7468 6520 7379 7374 656d 2077 RT, the system w\n-000035f0: 696c 6c20 6173 7369 676e 2061 2066 7265 ill assign a fre\n-00003600: 6520 706f 7274 2077 686f 7365 206e 756d e port whose num\n-00003610: 6265 720a 2020 2020 2063 616e 206c 6174 ber. can lat\n-00003620: 6572 2062 6520 7265 7472 6965 7665 6420 er be retrieved \n-00003630: 7573 696e 6720 2a6e 6f74 6520 4765 745f using *note Get_\n-00003640: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct\n-00003650: 696f 6e29 3a3a 2e0a 2020 2020 2041 6c73 ion)::.. Als\n-00003660: 6f2c 206d 6f73 7420 6f70 6572 6174 696e o, most operatin\n-00003670: 6720 7379 7374 656d 7320 7265 7175 6972 g systems requir\n-00003680: 6520 7370 6563 6961 6c20 7072 6976 696c e special privil\n-00003690: 6567 6573 2069 6620 796f 7520 7761 6e74 eges if you want\n-000036a0: 0a20 2020 2020 746f 2062 696e 6420 746f . to bind to\n-000036b0: 2070 6f72 7473 2062 656c 6f77 2031 3032 ports below 102\n-000036c0: 342e 0a0a 2020 2020 2049 6620 484f 5354 4... If HOST\n-000036d0: 2069 7320 6e6f 7420 7468 6520 656d 7074 is not the empt\n-000036e0: 7920 7374 7269 6e67 2c20 6974 206d 7573 y string, it mus\n-000036f0: 7420 636f 6e74 6169 6e20 7468 6520 4950 t contain the IP\n-00003700: 2061 6464 7265 7373 206f 660a 2020 2020 address of. \n-00003710: 2061 206c 6f63 616c 2069 6e74 6572 6661 a local interfa\n-00003720: 6365 2074 6f20 6269 6e64 2074 6f2c 206f ce to bind to, o\n-00003730: 7220 6120 6e61 6d65 2077 6869 6368 2072 r a name which r\n-00003740: 6573 6f6c 7665 7320 696e 746f 2073 7563 esolves into suc\n-00003750: 6820 616e 0a20 2020 2020 6164 6472 6573 h an. addres\n-00003760: 732e 2020 4966 2061 6e20 656d 7074 7920 s. If an empty \n-00003770: 7374 7269 6e67 2069 7320 6769 7665 6e20 string is given \n-00003780: 2874 6865 2064 6566 6175 6c74 292c 2074 (the default), t\n-00003790: 6865 2073 6f63 6b65 740a 2020 2020 2077 he socket. w\n-000037a0: 696c 6c20 6265 2062 6f75 6e64 2074 6f20 ill be bound to \n-000037b0: 616c 6c20 7468 6520 6176 6169 6c61 626c all the availabl\n-000037c0: 6520 696e 7465 7266 6163 6573 2e0a 0a45 e interfaces...E\n-000037d0: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n-000037e0: 8098 536f 636b 6574 5f45 7272 6f72 e280 ..Socket_Error..\n-000037f0: 9920 2020 2020 5265 7175 6573 7465 6420 . Requested \n-00003800: 706f 7274 206f 7220 696e 7465 7266 6163 port or interfac\n-00003810: 6520 6e6f 7420 6176 6169 6c61 626c 650a e not available.\n-00003820: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00003830: 6e6f 7465 204c 6973 7465 6e20 2870 726f note Listen (pro\n-00003840: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00003850: 2a6e 6f74 6520 536f 636b 6574 2028 7072 *note Socket (pr\n-00003860: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n-00003870: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-00003880: 696e 666f 2c20 204e 6f64 653a 2043 6f6e info, Node: Con\n-00003890: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n-000038a0: 2c20 204e 6578 743a 2047 6574 2028 6675 , Next: Get (fu\n-000038b0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n-000038c0: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-000038d0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-000038e0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-000038f0: 0a0a 436f 6e6e 6563 7420 2870 726f 6365 ..Connect (proce\n-00003900: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00003910: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00003920: 5345 0a20 2020 2020 436f 6e6e 6563 7420 SE. Connect \n-00003930: 6120 736f 636b 6574 206f 6e20 6120 6769 a socket on a gi\n-00003940: 7665 6e20 686f 7374 2f70 6f72 740a 5052 ven host/port.PR\n-00003950: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-00003960: 2053 6f63 6b65 7473 2e43 6f6e 6e65 6374 Sockets.Connect\n-00003970: 3a20 7072 6f63 6564 7572 6520 436f 6e6e : procedure Conn\n-00003980: 6563 7420 2853 4f43 4b45 5420 3a20 536f ect (SOCKET : So\n-00003990: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-000039a0: 2020 2020 2020 2020 484f 5354 203a 2053 HOST : S\n-000039b0: 7472 696e 673b 2050 4f52 5420 3a20 506f tring; PORT : Po\n-000039c0: 7369 7469 7665 293b 0a0a 5041 5241 4d45 sitive);..PARAME\n-000039d0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-000039e0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-000039f0: 496e 6974 6961 6c69 7a65 6420 736f 636b Initialized sock\n-00003a00: 6574 206f 626a 6563 740a 2020 2020 2048 et object. H\n-00003a10: 4f53 5420 2020 2020 2020 696e 2020 2020 OST in \n-00003a20: 2020 2020 2048 6f73 7420 746f 2063 6f6e Host to con\n-00003a30: 6e65 6374 2074 6f0a 2020 2020 2050 4f52 nect to. POR\n-00003a40: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n-00003a50: 2020 2050 6f72 7420 746f 2063 6f6e 6e65 Port to conne\n-00003a60: 6374 2074 6f0a 0a44 4553 4352 4950 5449 ct to..DESCRIPTI\n-00003a70: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00003a80: 6365 6475 7265 2063 6f6e 6e65 6374 7320 cedure connects \n-00003a90: 616e 2069 6e69 7469 616c 697a 6564 2073 an initialized s\n-00003aa0: 6f63 6b65 7420 746f 2061 2067 6976 656e ocket to a given\n-00003ab0: 2068 6f73 7420 6f6e 2061 0a20 2020 2020 host on a. \n-00003ac0: 6769 7665 6e20 706f 7274 2e20 2049 6e20 given port. In \n-00003ad0: 7468 6520 6361 7365 206f 6620 6120 5443 the case of a TC\n-00003ae0: 5020 736f 636b 6574 2c20 6120 7265 616c P socket, a real\n-00003af0: 2063 6f6e 6e65 6374 696f 6e20 6973 0a20 connection is. \n-00003b00: 2020 2020 6174 7465 6d70 7465 642e 2020 attempted. \n-00003b10: 496e 2074 6865 2063 6173 6520 6f66 2061 In the case of a\n-00003b20: 2055 4450 2073 6f63 6b65 742c 206e 6f20 UDP socket, no \n-00003b30: 636f 6e6e 6563 7469 6f6e 2074 616b 6573 connection takes\n-00003b40: 2070 6c61 6365 0a20 2020 2020 6275 7420 place. but \n-00003b50: 7468 6520 656e 6470 6f69 6e74 2063 6f6f the endpoint coo\n-00003b60: 7264 696e 6174 6573 2061 7265 2072 6563 rdinates are rec\n-00003b70: 6f72 6465 642e 0a0a 4558 4345 5054 494f orded...EXCEPTIO\n-00003b80: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65 NS. ...Conne\n-00003b90: 6374 696f 6e5f 5265 6675 7365 64e2 8099 ction_Refused...\n-00003ba0: 5468 6520 636f 6e6e 6563 7469 6f6e 2068 The connection h\n-00003bb0: 6173 2062 6565 6e20 7265 6675 7365 6420 as been refused \n-00003bc0: 6279 2074 6865 0a20 2020 2020 2020 2020 by the. \n-00003bd0: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-00003be0: 6572 7665 720a 2020 2020 20e2 8098 536f erver. ...So\n-00003bf0: 636b 6574 5f45 7272 6f72 e280 9920 2020 cket_Error... \n-00003c00: 2020 416e 6f74 6865 7220 6572 726f 7220 Another error \n-00003c10: 6f63 6375 7272 6564 2064 7572 696e 6720 occurred during \n-00003c20: 7468 650a 2020 2020 2020 2020 2020 2020 the. \n-00003c30: 2020 2020 2020 2020 2020 2020 636f 6e6e conn\n-00003c40: 6563 7469 6f6e 0a0a 4558 414d 504c 450a ection..EXAMPLE.\n-00003c50: 2020 2020 2020 2020 2020 6465 636c 6172 declar\n-00003c60: 650a 2020 2020 2020 2020 2020 2020 2053 e. S\n-00003c70: 6f63 6b20 3a20 4d75 6c74 6963 6173 745f ock : Multicast_\n-00003c80: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n-00003c90: 2020 2020 2062 6567 696e 0a20 2020 2020 begin. \n-00003ca0: 2020 2020 2020 2020 2d2d 2043 7265 6174 -- Creat\n-00003cb0: 6520 6120 6d75 6c74 6963 6173 7420 736f e a multicast so\n-00003cc0: 636b 6574 206f 6e20 6772 6f75 7020 3232 cket on group 22\n-00003cd0: 342e 312e 322e 3320 706f 7274 2038 3736 4.1.2.3 port 876\n-00003ce0: 330a 2020 2020 2020 2020 2020 2020 2053 3. S\n-00003cf0: 6f63 6b20 3a3d 2043 7265 6174 655f 4d75 ock := Create_Mu\n-00003d00: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-00003d10: 2232 3234 2e31 2e32 2e33 222c 2038 3736 \"224.1.2.3\", 876\n-00003d20: 3329 3b0a 2020 2020 2020 2020 2020 2020 3);. \n-00003d30: 202d 2d20 5065 7266 6f72 6d20 736f 6d65 -- Perform some\n-00003d40: 206f 7065 7261 7469 6f6e 7320 6f6e 2073 operations on s\n-00003d50: 6f63 6b65 740a 2020 2020 2020 2020 2020 ocket. \n-00003d60: 2020 205b 2e2e 2e5d 0a20 2020 2020 2020 [...]. \n-00003d70: 2020 2020 2020 2d2d 2053 6875 7464 6f77 -- Shutdow\n-00003d80: 6e20 7468 6520 736f 636b 6574 2069 6e20 n the socket in \n-00003d90: 626f 7468 2064 6972 6563 7469 6f6e 730a both directions.\n-00003da0: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n-00003db0: 7464 6f77 6e20 2853 6f63 6b2c 2042 6f74 tdown (Sock, Bot\n-00003dc0: 6829 3b0a 2020 2020 2020 2020 2020 656e h);. en\n-00003dd0: 643b 0a0a 5345 4520 414c 534f 0a20 2020 d;..SEE ALSO. \n-00003de0: 2020 2a6e 6f74 6520 536f 636b 6574 2028 *note Socket (\n-00003df0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00003e00: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00003e10: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-00003e20: 6574 2028 6675 6e63 7469 6f6e 292c 2020 et (function), \n-00003e30: 4e65 7874 3a20 4765 745f 4368 6172 2028 Next: Get_Char (\n-00003e40: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n-00003e50: 3a20 436f 6e6e 6563 7420 2870 726f 6365 : Connect (proce\n-00003e60: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-00003e70: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00003e80: 6475 7265 290a 0a47 6574 2028 6675 6e63 dure)..Get (func\n-00003e90: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-00003ea0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00003eb0: 2020 2047 6574 2061 2073 7472 696e 6720 Get a string \n-00003ec0: 6672 6f6d 2061 2072 656d 6f74 6520 686f from a remote ho\n-00003ed0: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n-00003ee0: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n-00003ef0: 743a 2066 756e 6374 696f 6e20 4765 7420 t: function Get \n-00003f00: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00003f10: 5f46 4427 436c 6173 7329 0a20 2020 2020 _FD'Class). \n-00003f20: 2020 2020 2020 2020 2020 7265 7475 726e return\n-00003f30: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME\n-00003f40: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00003f50: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00003f60: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-00003f70: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-00003f80: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n-00003f90: 5641 4c55 450a 2020 2020 2053 6f6d 6520 VALUE. Some \n-00003fa0: 6368 6172 6163 7465 7273 2074 6861 7420 characters that \n-00003fb0: 6861 7665 2062 6565 6e20 7265 6365 6976 have been receiv\n-00003fc0: 6564 0a0a 4445 5343 5249 5054 494f 4e0a ed..DESCRIPTION.\n-00003fd0: 2020 2020 2054 6869 7320 6675 6e63 7469 This functi\n-00003fe0: 6f6e 2072 6563 6569 7665 7320 736f 6d65 on receives some\n-00003ff0: 2063 6861 7261 6374 6572 7320 6672 6f6d characters from\n-00004000: 2061 2072 656d 6f74 6520 686f 7374 2e20 a remote host. \n-00004010: 2041 7320 736f 6f6e 0a20 2020 2020 7468 As soon. th\n-00004020: 6174 2061 7420 6c65 6173 7420 6f6e 6520 at at least one \n-00004030: 6368 6172 6163 7465 7220 6973 2061 7661 character is ava\n-00004040: 696c 6162 6c65 2c20 7468 6520 6375 7272 ilable, the curr\n-00004050: 656e 7420 7265 6365 7074 696f 6e0a 2020 ent reception. \n-00004060: 2020 2062 7566 6665 7220 6973 2072 6574 buffer is ret\n-00004070: 7572 6e65 642e 0a0a 2020 2020 2054 6865 urned... The\n-00004080: 7265 2069 7320 7573 7561 6c6c 7920 6c69 re is usually li\n-00004090: 7474 6c65 2067 6169 6e20 696e 2075 7369 ttle gain in usi\n-000040a0: 6e67 2074 6869 7320 6675 6e63 7469 6f6e ng this function\n-000040b0: 2077 686f 7365 2062 6568 6176 696f 720a whose behavior.\n-000040c0: 2020 2020 2069 7320 636f 6d70 6172 6162 is comparab\n-000040d0: 6c65 2074 6f20 7468 6520 6f6e 6520 6f66 le to the one of\n-000040e0: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n-000040f0: 6675 6e63 7469 6f6e 293a 3a2e 2020 4f74 function)::. Ot\n-00004100: 6865 720a 2020 2020 2066 756e 6374 696f her. functio\n-00004110: 6e73 2073 7563 6820 6173 202a 6e6f 7465 ns such as *note\n-00004120: 2047 6574 5f43 6861 7220 2866 756e 6374 Get_Char (funct\n-00004130: 696f 6e29 3a3a 2c20 6f72 202a 6e6f 7465 ion)::, or *note\n-00004140: 2047 6574 5f4c 696e 650a 2020 2020 2028 Get_Line. (\n-00004150: 6675 6e63 7469 6f6e 293a 3a2c 2061 6c6c function)::, all\n-00004160: 6f77 206d 6f72 6520 7374 7275 6374 7572 ow more structur\n-00004170: 6564 2070 726f 6772 616d 6d69 6e67 2e0a ed programming..\n-00004180: 0a20 2020 2020 486f 7765 7665 722c 2074 . However, t\n-00004190: 6869 7320 6675 6e63 7469 6f6e 206d 6179 his function may\n-000041a0: 2062 6520 7573 6564 2074 6f20 6176 6f69 be used to avoi\n-000041b0: 6420 6c6f 7369 6e67 2063 6861 7261 6374 d losing charact\n-000041c0: 6572 7320 7768 656e 0a20 2020 2020 6361 ers when. ca\n-000041d0: 6c6c 696e 6720 2a6e 6f74 6520 556e 7365 lling *note Unse\n-000041e0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-000041f0: 7572 6529 3a3a 2c20 6966 2c20 666f 7220 ure)::, if, for \n-00004200: 736f 6d65 2072 6561 736f 6e2c 2074 6865 some reason, the\n-00004210: 0a20 2020 2020 7265 6d6f 7465 2068 6f73 . remote hos\n-00004220: 7420 6d61 7920 6861 7665 2073 656e 7420 t may have sent \n-00004230: 736f 6d65 2e0a 0a45 5843 4550 5449 4f4e some...EXCEPTION\n-00004240: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n-00004250: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n-00004260: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n-00004270: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n-00004280: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n-00004290: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n-000042a0: 696e 6720 616e 7920 6461 7461 0a0a 1f0a ing any data....\n-000042b0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-000042c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n-000042d0: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n-000042e0: 292c 2020 4e65 7874 3a20 4765 745f 4c69 ), Next: Get_Li\n-000042f0: 6e65 2028 6675 6e63 7469 6f6e 292c 2020 ne (function), \n-00004300: 5072 6576 3a20 4765 7420 2866 756e 6374 Prev: Get (funct\n-00004310: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n-00004320: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00004330: 7572 6529 0a0a 4765 745f 4368 6172 2028 ure)..Get_Char (\n-00004340: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-00004350: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-00004360: 5552 504f 5345 0a20 2020 2020 4765 7420 URPOSE. Get \n-00004370: 6120 6368 6172 6163 7465 7220 6672 6f6d a character from\n-00004380: 2061 2072 656d 6f74 6520 686f 7374 0a50 a remote host.P\n-00004390: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-000043a0: 2d20 536f 636b 6574 732e 4765 745f 4368 - Sockets.Get_Ch\n-000043b0: 6172 3a20 6675 6e63 7469 6f6e 2047 6574 ar: function Get\n-000043c0: 5f43 6861 7220 2853 4f43 4b45 5420 3a20 _Char (SOCKET : \n-000043d0: 536f 636b 6574 5f46 4427 436c 6173 7329 Socket_FD'Class)\n-000043e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000043f0: 7265 7475 726e 2043 6861 7261 6374 6572 return Character\n-00004400: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-00004410: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-00004420: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-00004430: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n-00004440: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-00004450: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-00004460: 2020 2020 4f6e 6520 6368 6172 6163 7465 One characte\n-00004470: 7220 7365 6e74 2062 7920 7468 6520 7265 r sent by the re\n-00004480: 6d6f 7465 2068 6f73 740a 0a44 4553 4352 mote host..DESCR\n-00004490: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-000044a0: 2066 756e 6374 696f 6e20 7265 6365 6976 function receiv\n-000044b0: 6573 2065 7861 6374 6c79 206f 6e65 2063 es exactly one c\n-000044c0: 6861 7261 6374 6572 2066 726f 6d20 7468 haracter from th\n-000044d0: 6520 7265 6d6f 7465 2068 6f73 742e 0a0a e remote host...\n-000044e0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-000044f0: e280 9843 6f6e 6e65 6374 696f 6e5f 436c ...Connection_Cl\n-00004500: 6f73 6564 e280 9950 6565 7220 6861 7320 osed...Peer has \n-00004510: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n-00004520: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n-00004530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004540: 2020 2020 2073 656e 6469 6e67 2074 6865 sending the\n-00004550: 2063 6861 7261 6374 6572 0a0a 5345 4520 character..SEE \n-00004560: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-00004570: 4765 7420 2866 756e 6374 696f 6e29 3a3a Get (function)::\n-00004580: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n-00004590: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n-000045a0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047 ::,. *note G\n-000045b0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n-000045c0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n-000045d0: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n-000045e0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n-000045f0: 6f74 6520 5365 745f 4275 6666 6572 2028 ote Set_Buffer (\n-00004600: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00004610: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00004620: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-00004630: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-00004640: 6e29 2c20 204e 6578 743a 2047 6574 5f4c n), Next: Get_L\n-00004650: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n-00004660: 2020 5072 6576 3a20 4765 745f 4368 6172 Prev: Get_Char\n-00004670: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-00004680: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00004690: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n-000046a0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n-000046b0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-000046c0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-000046d0: 2020 2047 6574 2061 2077 686f 6c65 206c Get a whole l\n-000046e0: 696e 6520 6672 6f6d 2061 2072 656d 6f74 ine from a remot\n-000046f0: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n-00004700: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00004710: 732e 4765 745f 4c69 6e65 3a20 6675 6e63 s.Get_Line: func\n-00004720: 7469 6f6e 2047 6574 5f4c 696e 6520 2853 tion Get_Line (S\n-00004730: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00004740: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-00004750: 2020 2020 2020 2020 4d41 585f 4c45 4e47 MAX_LENG\n-00004760: 5448 203a 2050 6f73 6974 6976 6520 3a3d TH : Positive :=\n-00004770: 2032 3034 3829 0a20 2020 2020 2020 2020 2048). \n-00004780: 2020 2020 2020 7265 7475 726e 2053 7472 return Str\n-00004790: 696e 673b 0a0a 5041 5241 4d45 5445 5253 ing;..PARAMETERS\n-000047a0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-000047b0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-000047c0: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n-000047d0: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-000047e0: 6563 740a 2020 2020 204d 4158 5f4c 454e ect. MAX_LEN\n-000047f0: 4754 4820 696e 2020 2020 2020 2020 204d GTH in M\n-00004800: 6178 696d 756d 2072 6574 7572 6e65 6420 aximum returned \n-00004810: 6c69 6e65 206c 656e 6774 680a 0a52 4554 line length..RET\n-00004820: 5552 4e20 5641 4c55 450a 2020 2020 2041 URN VALUE. A\n-00004830: 206c 696e 6520 7769 7468 6f75 7420 7468 line without th\n-00004840: 6520 4352 2061 6e64 204c 4620 7365 7061 e CR and LF sepa\n-00004850: 7261 746f 7273 0a0a 4445 5343 5249 5054 rators..DESCRIPT\n-00004860: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n-00004870: 6e63 7469 6f6e 2072 6563 6569 7665 7320 nction receives \n-00004880: 6f6e 6520 6c69 6e65 2066 726f 6d20 7468 one line from th\n-00004890: 6520 7265 6d6f 7465 2068 6f73 742e 2020 e remote host. \n-000048a0: 4120 6c69 6e65 0a20 2020 2020 636f 6e73 A line. cons\n-000048b0: 6973 7473 2069 6e74 6f20 7a65 726f 206f ists into zero o\n-000048c0: 7220 6d6f 7265 2063 6861 7261 6374 6572 r more character\n-000048d0: 7320 666f 6c6c 6f77 6564 2062 7920 616e s followed by an\n-000048e0: 206f 7074 696f 6e61 6c20 4352 0a20 2020 optional CR. \n-000048f0: 2020 616e 6420 6279 2061 204c 462e 2054 and by a LF. T\n-00004900: 686f 7365 2074 6572 6d69 6e61 746f 7273 hose terminators\n-00004910: 2061 7265 2073 7472 6970 7065 6420 6265 are stripped be\n-00004920: 666f 7265 2074 6865 206c 696e 6520 6973 fore the line is\n-00004930: 0a20 2020 2020 7265 7475 726e 6564 2e0a . returned..\n-00004940: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n-00004950: 696f 6e20 626c 6f63 6b73 2075 6e74 696c ion blocks until\n-00004960: 206f 6e65 2066 756c 6c20 6c69 6e65 2068 one full line h\n-00004970: 6173 2062 6565 6e20 7265 6365 6976 6564 as been received\n-00004980: 2e20 2054 6865 0a20 2020 2020 6c69 6e65 . The. line\n-00004990: 206c 656e 6774 6820 6973 206c 696d 6974 length is limit\n-000049a0: 6564 2077 6974 6820 7468 6520 7661 6c75 ed with the valu\n-000049b0: 6520 6f66 2074 6865 204d 6178 5f4c 656e e of the Max_Len\n-000049c0: 6774 6820 6172 6775 6d65 6e74 2c0a 2020 gth argument,. \n-000049d0: 2020 2074 6f20 6176 6f69 6420 6578 6861 to avoid exha\n-000049e0: 7573 7469 6f6e 206f 6620 7468 6520 7365 ustion of the se\n-000049f0: 636f 6e64 6172 7920 7374 6163 6b2e 0a0a condary stack...\n-00004a00: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-00004a10: e280 9843 6f6e 6e65 6374 696f 6e5f 436c ...Connection_Cl\n-00004a20: 6f73 6564 e280 9950 6565 7220 6861 7320 osed...Peer has \n-00004a30: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n-00004a40: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n-00004a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004a60: 2020 2020 2073 656e 6469 6e67 2061 2077 sending a w\n-00004a70: 686f 6c65 206c 696e 650a 0a53 4545 2041 hole line..SEE A\n-00004a80: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047 LSO. *note G\n-00004a90: 6574 2028 6675 6e63 7469 6f6e 293a 3a2c et (function)::,\n-00004aa0: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n-00004ab0: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n-00004ac0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-00004ad0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00004ae0: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00004af0: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-00004b00: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00004b10: 7465 2053 6574 5f42 7566 6665 7220 2870 te Set_Buffer (p\n-00004b20: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00004b30: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00004b40: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n-00004b50: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00004b60: 6529 2c20 204e 6578 743a 2047 6574 5f52 e), Next: Get_R\n-00004b70: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-00004b80: 6520 2866 756e 6374 696f 6e29 2c20 2050 e (function), P\n-00004b90: 7265 763a 2047 6574 5f4c 696e 6520 2866 rev: Get_Line (f\n-00004ba0: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n-00004bb0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00004bc0: 6f63 6564 7572 6529 0a0a 4765 745f 4c69 ocedure)..Get_Li\n-00004bd0: 6e65 2028 7072 6f63 6564 7572 6529 0a2d ne (procedure).-\n-00004be0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00004bf0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00004c00: 2020 4765 7420 6120 7768 6f6c 6520 6c69 Get a whole li\n-00004c10: 6e65 2066 726f 6d20 6120 7265 6d6f 7465 ne from a remote\n-00004c20: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-00004c30: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00004c40: 2e47 6574 5f4c 696e 653a 2070 726f 6365 .Get_Line: proce\n-00004c50: 6475 7265 2047 6574 5f4c 696e 6520 2853 dure Get_Line (S\n-00004c60: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00004c70: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-00004c80: 2020 2020 2020 2020 5354 5220 3a20 696e STR : in\n-00004c90: 206f 7574 2053 7472 696e 673b 204c 4153 out String; LAS\n-00004ca0: 5420 3a20 6f75 7420 4e61 7475 7261 6c29 T : out Natural)\n-00004cb0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-00004cc0: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-00004cd0: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-00004ce0: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n-00004cf0: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-00004d00: 0a20 2020 2020 5354 5220 2020 2020 2020 . STR \n-00004d10: 2069 6e20 6f75 7420 2020 2020 5374 7269 in out Stri\n-00004d20: 6e67 2074 6f20 6669 6c6c 0a20 2020 2020 ng to fill. \n-00004d30: 4c41 5354 2020 2020 2020 206f 7574 2020 LAST out \n-00004d40: 2020 2020 2020 4c61 7374 2069 6e64 6578 Last index\n-00004d50: 2075 7365 6420 696e 2074 6865 2073 7472 used in the str\n-00004d60: 696e 670a 0a44 4553 4352 4950 5449 4f4e ing..DESCRIPTION\n-00004d70: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n-00004d80: 6475 7265 2072 6563 6569 7665 7320 6f6e dure receives on\n-00004d90: 6520 6c69 6e65 2066 726f 6d20 7468 6520 e line from the \n-00004da0: 7265 6d6f 7465 2068 6f73 742e 2020 4120 remote host. A \n-00004db0: 6c69 6e65 0a20 2020 2020 636f 6e73 6973 line. consis\n-00004dc0: 7473 2069 6e74 6f20 7a65 726f 206f 7220 ts into zero or \n-00004dd0: 6d6f 7265 2063 6861 7261 6374 6572 7320 more characters \n-00004de0: 666f 6c6c 6f77 6564 2062 7920 616e 206f followed by an o\n-00004df0: 7074 696f 6e61 6c20 4352 0a20 2020 2020 ptional CR. \n-00004e00: 616e 6420 6279 2061 204c 462e 2054 686f and by a LF. Tho\n-00004e10: 7365 2074 6572 6d69 6e61 746f 7273 2061 se terminators a\n-00004e20: 7265 2073 7472 6970 7065 6420 6265 666f re stripped befo\n-00004e30: 7265 2074 6865 206c 696e 6520 6973 0a20 re the line is. \n-00004e40: 2020 2020 7265 7475 726e 6564 2e0a 0a20 returned... \n-00004e50: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00004e60: 7265 2062 6c6f 636b 7320 756e 7469 6c20 re blocks until \n-00004e70: 6f6e 6520 6675 6c6c 206c 696e 6520 6861 one full line ha\n-00004e80: 7320 6265 656e 2072 6563 6569 7665 642e s been received.\n-00004e90: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n-00004ea0: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f ...Connection_\n-00004eb0: 436c 6f73 6564 e280 9950 6565 7220 6861 Closed...Peer ha\n-00004ec0: 7320 636c 6f73 6564 2074 6865 2063 6f6e s closed the con\n-00004ed0: 6e65 6374 696f 6e20 6265 666f 7265 0a20 nection before. \n-00004ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004ef0: 2020 2020 2020 2073 656e 6469 6e67 2061 sending a\n-00004f00: 2077 686f 6c65 206c 696e 650a 0a53 4545 whole line..SEE\n-00004f10: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-00004f20: 2047 6574 2028 6675 6e63 7469 6f6e 293a Get (function):\n-00004f30: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-00004f40: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n-00004f50: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00004f60: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n-00004f70: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n-00004f80: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n-00004f90: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n-00004fa0: 6f74 6520 5365 745f 4275 6666 6572 2028 ote Set_Buffer (\n-00004fb0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00004fc0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00004fd0: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-00004fe0: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-00004ff0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-00005000: 2c20 204e 6578 743a 2047 6574 5f53 656e , Next: Get_Sen\n-00005010: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu\n-00005020: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n-00005030: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-00005040: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-00005050: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00005060: 7572 6529 0a0a 4765 745f 5265 6365 6976 ure)..Get_Receiv\n-00005070: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n-00005080: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-00005090: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000050a0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-000050b0: 5345 0a20 2020 2020 5265 7475 726e 2074 SE. Return t\n-000050c0: 6865 2073 697a 6520 6f66 2074 6865 2075 he size of the u\n-000050d0: 6e72 6561 6420 6461 7461 2069 6e20 7468 nread data in th\n-000050e0: 6520 696e 7075 7420 7175 6575 650a 5052 e input queue.PR\n-000050f0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-00005100: 2053 6f63 6b65 7473 2e47 6574 5f52 6563 Sockets.Get_Rec\n-00005110: 6569 7665 5f51 7565 7565 5f53 697a 653a eive_Queue_Size:\n-00005120: 2066 756e 6374 696f 6e20 4765 745f 5265 function Get_Re\n-00005130: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n-00005140: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00005150: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00005160: 5f46 4427 436c 6173 7329 0a20 2020 2020 _FD'Class). \n-00005170: 2020 2020 2020 2020 2020 7265 7475 726e return\n-00005180: 2049 6e74 6567 6572 3b0a 0a50 4152 414d Integer;..PARAM\n-00005190: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-000051a0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n-000051b0: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n-000051c0: 2063 6f6e 6e65 6374 6564 2073 6f63 6b65 connected socke\n-000051d0: 7420 6f62 6a65 6374 0a0a 5245 5455 524e t object..RETURN\n-000051e0: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n-000051f0: 6e6f 6e2d 6e65 6761 7469 7665 2073 697a non-negative siz\n-00005200: 6520 696e 2062 7974 6573 206f 6620 7468 e in bytes of th\n-00005210: 6520 696e 7075 7420 7175 6575 650a 0a44 e input queue..D\n-00005220: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00005230: 5468 6973 2066 756e 6374 696f 6e20 6973 This function is\n-00005240: 206f 6e6c 7920 6176 6169 6c61 626c 6520 only available \n-00005250: 6f6e 204c 696e 7578 2070 6c61 7466 6f72 on Linux platfor\n-00005260: 6d73 2e20 204f 6e20 6f74 6865 720a 2020 ms. On other. \n-00005270: 2020 206f 7065 7261 7469 6e67 2073 7973 operating sys\n-00005280: 7465 6d73 2c20 6974 2077 696c 6c20 7265 tems, it will re\n-00005290: 7475 726e 202d 3220 746f 2069 6e64 6963 turn -2 to indic\n-000052a0: 6174 6520 7468 6174 2074 6865 206e 6563 ate that the nec\n-000052b0: 6573 7361 7279 0a20 2020 2020 6d65 6368 essary. mech\n-000052c0: 616e 6973 6d73 2074 6f20 7265 7472 6965 anisms to retrie\n-000052d0: 7665 2074 6865 2069 6e66 6f72 6d61 7469 ve the informati\n-000052e0: 6f6e 2061 7265 206e 6f74 2061 7661 696c on are not avail\n-000052f0: 6162 6c65 2e0a 0a53 4545 2041 4c53 4f0a able...SEE ALSO.\n-00005300: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00005310: 7665 2028 7072 6f63 6564 7572 6529 3a3a ve (procedure)::\n-00005320: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00005330: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00005340: 653a 2047 6574 5f53 656e 645f 5175 6575 e: Get_Send_Queu\n-00005350: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-00005360: 292c 2020 4e65 7874 3a20 4765 7473 6f63 ), Next: Getsoc\n-00005370: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00005380: 2c20 2050 7265 763a 2047 6574 5f52 6563 , Prev: Get_Rec\n-00005390: 6569 7665 5f51 7565 7565 5f53 697a 6520 eive_Queue_Size \n-000053a0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n-000053b0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n-000053c0: 7072 6f63 6564 7572 6529 0a0a 4765 745f procedure)..Get_\n-000053d0: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n-000053e0: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n-000053f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005400: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00005410: 5345 0a20 2020 2020 5265 7475 726e 2074 SE. Return t\n-00005420: 6865 2073 697a 6520 6f66 2074 6865 2075 he size of the u\n-00005430: 6e73 656e 7420 6461 7461 2069 6e20 7468 nsent data in th\n-00005440: 6520 6f75 7470 7574 2071 7565 7565 0a50 e output queue.P\n-00005450: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-00005460: 2d20 536f 636b 6574 732e 4765 745f 5365 - Sockets.Get_Se\n-00005470: 6e64 5f51 7565 7565 5f53 697a 653a 2066 nd_Queue_Size: f\n-00005480: 756e 6374 696f 6e20 4765 745f 5365 6e64 unction Get_Send\n-00005490: 5f51 7565 7565 5f53 697a 650a 2020 2020 _Queue_Size. \n-000054a0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n-000054b0: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-000054c0: 6c61 7373 290a 2020 2020 2020 2020 2020 lass). \n-000054d0: 2020 2020 2072 6574 7572 6e20 496e 7465 return Inte\n-000054e0: 6765 723b 0a0a 5041 5241 4d45 5445 5253 ger;..PARAMETERS\n-000054f0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00005500: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00005510: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n-00005520: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-00005530: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n-00005540: 450a 2020 2020 2054 6865 206e 6f6e 2d6e E. The non-n\n-00005550: 6567 6174 6976 6520 7369 7a65 2069 6e20 egative size in \n-00005560: 6279 7465 7320 6f66 2074 6865 206f 7574 bytes of the out\n-00005570: 7075 7420 7175 6575 650a 0a44 4553 4352 put queue..DESCR\n-00005580: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00005590: 2066 756e 6374 696f 6e20 6973 206f 6e6c function is onl\n-000055a0: 7920 6176 6169 6c61 626c 6520 6f6e 204c y available on L\n-000055b0: 696e 7578 2070 6c61 7466 6f72 6d73 2e20 inux platforms. \n-000055c0: 204f 6e20 6f74 6865 720a 2020 2020 206f On other. o\n-000055d0: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n-000055e0: 2c20 6974 2077 696c 6c20 7265 7475 726e , it will return\n-000055f0: 202d 3220 746f 2069 6e64 6963 6174 6520 -2 to indicate \n-00005600: 7468 6174 2074 6865 206e 6563 6573 7361 that the necessa\n-00005610: 7279 0a20 2020 2020 6d65 6368 616e 6973 ry. mechanis\n-00005620: 6d73 2074 6f20 7265 7472 6965 7665 2074 ms to retrieve t\n-00005630: 6865 2069 6e66 6f72 6d61 7469 6f6e 2061 he information a\n-00005640: 7265 206e 6f74 2061 7661 696c 6162 6c65 re not available\n-00005650: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n-00005660: 202a 6e6f 7465 2053 656e 6420 2870 726f *note Send (pro\n-00005670: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-00005680: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-00005690: 6e66 6f2c 2020 4e6f 6465 3a20 4765 7473 nfo, Node: Gets\n-000056a0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-000056b0: 6529 2c20 204e 6578 743a 204c 6973 7465 e), Next: Liste\n-000056c0: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n-000056d0: 5072 6576 3a20 4765 745f 5365 6e64 5f51 Prev: Get_Send_Q\n-000056e0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-000056f0: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n-00005700: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00005710: 7572 6529 0a0a 4765 7473 6f63 6b6f 7074 ure)..Getsockopt\n-00005720: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-00005730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005740: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00005750: 2020 5265 7472 6965 7665 2061 2073 6f63 Retrieve a soc\n-00005760: 6b65 7420 6f70 7469 6f6e 0a50 524f 544f ket option.PROTO\n-00005770: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-00005780: 636b 6574 732e 4765 7473 6f63 6b6f 7074 ckets.Getsockopt\n-00005790: 3a20 7072 6f63 6564 7572 6520 4765 7473 : procedure Gets\n-000057a0: 6f63 6b6f 7074 2028 534f 434b 4554 203a ockopt (SOCKET :\n-000057b0: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n-000057c0: 2020 2020 2020 2020 2020 204c 4556 454c LEVEL\n-000057d0: 203a 2053 6f63 6b65 745f 4c65 7665 6c20 : Socket_Level \n-000057e0: 3a3d 2053 4f4c 5f53 4f43 4b45 543b 0a20 := SOL_SOCKET;. \n-000057f0: 2020 2020 2020 2020 2020 2020 2020 4f50 OP\n-00005800: 544e 414d 4520 3a20 536f 636b 6574 5f4f TNAME : Socket_O\n-00005810: 7074 696f 6e3b 204f 5054 5641 4c20 3a20 ption; OPTVAL : \n-00005820: 6f75 7420 496e 7465 6765 7229 3b0a 0a50 out Integer);..P\n-00005830: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-00005840: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-00005850: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n-00005860: 2061 6e64 2062 6f75 6e64 2073 6f63 6b65 and bound socke\n-00005870: 7420 6f62 6a65 6374 0a20 2020 2020 4c45 t object. LE\n-00005880: 5645 4c20 2020 2020 2069 6e20 2020 2020 VEL in \n-00005890: 2020 2020 5072 6f74 6f63 6f6c 206c 6576 Protocol lev\n-000058a0: 656c 0a20 2020 2020 4f50 544e 414d 4520 el. OPTNAME \n-000058b0: 2020 2069 6e20 2020 2020 2020 2020 4f70 in Op\n-000058c0: 7469 6f6e 206e 616d 650a 2020 2020 204f tion name. O\n-000058d0: 5054 5641 4c20 2020 2020 6f75 7420 2020 PTVAL out \n-000058e0: 2020 2020 204f 7074 696f 6e20 7661 6c75 Option valu\n-000058f0: 650a 0a44 4553 4352 4950 5449 4f4e 0a20 e..DESCRIPTION. \n-00005900: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00005910: 7265 2072 6574 7269 6576 6573 206f 7074 re retrieves opt\n-00005920: 696f 6e73 2061 7070 6c69 6361 626c 6520 ions applicable \n-00005930: 746f 2061 2073 6f63 6b65 742e 2020 506c to a socket. Pl\n-00005940: 6561 7365 0a20 2020 2020 7365 6520 796f ease. see yo\n-00005950: 7572 206f 7065 7261 7469 6e67 2073 7973 ur operating sys\n-00005960: 7465 6d20 6d61 6e75 616c 2066 6f72 2075 tem manual for u\n-00005970: 7361 626c 6520 6c65 7665 6c73 2061 6e64 sable levels and\n-00005980: 206f 7074 696f 6e73 2e0a 0a20 2020 2020 options... \n-00005990: 5477 6f20 6c65 7665 6c73 2061 7265 2064 Two levels are d\n-000059a0: 6566 696e 6564 3a20 e280 9853 4f4c 5f53 efined: ...SOL_S\n-000059b0: 4f43 4b45 54e2 8099 2028 7468 6520 6465 OCKET... (the de\n-000059c0: 6661 756c 7429 2061 6e64 0a20 2020 2020 fault) and. \n-000059d0: e280 9849 5050 524f 544f 5f49 50e2 8099 ...IPPROTO_IP...\n-000059e0: 2e20 2054 6865 206f 7074 696f 6e73 2061 . The options a\n-000059f0: 7265 20e2 8098 534f 5f52 4555 5345 4144 re ...SO_REUSEAD\n-00005a00: 4452 e280 992c 20e2 8098 534f 5f52 4555 DR..., ...SO_REU\n-00005a10: 5345 504f 5254 e280 992c 0a20 2020 2020 SEPORT...,. \n-00005a20: e280 9849 505f 4d55 4c54 4943 4153 545f ...IP_MULTICAST_\n-00005a30: 5454 4ce2 8099 2c20 e280 9849 505f 4144 TTL..., ...IP_AD\n-00005a40: 445f 4d45 4d42 4552 5348 4950 e280 992c D_MEMBERSHIP...,\n-00005a50: 20e2 8098 4950 5f44 524f 505f 4d45 4d42 ...IP_DROP_MEMB\n-00005a60: 4552 5348 4950 e280 992c 0a20 2020 2020 ERSHIP...,. \n-00005a70: e280 9849 505f 4d55 4c54 4943 4153 545f ...IP_MULTICAST_\n-00005a80: 4c4f 4f50 e280 992c 20e2 8098 534f 5f53 LOOP..., ...SO_S\n-00005a90: 4e44 4255 46e2 8099 2061 6e64 20e2 8098 NDBUF... and ...\n-00005aa0: 4950 5f52 4356 4255 46e2 8099 2e0a 0a20 IP_RCVBUF...... \n-00005ab0: 2020 2020 4e6f 7465 2074 6861 7420 756e Note that un\n-00005ac0: 6c69 6b65 2074 6865 6972 2043 206c 616e like their C lan\n-00005ad0: 6775 6167 6520 636f 756e 7465 7270 6172 guage counterpar\n-00005ae0: 742c 20e2 8098 4765 7473 6f63 6b6f 7074 t, ...Getsockopt\n-00005af0: e280 9920 616e 640a 2020 2020 20e2 8098 ... and. ...\n-00005b00: 5365 7473 6f63 6b6f 7074 e280 9920 646f Setsockopt... do\n-00005b10: 206e 6f74 2072 6571 7569 7265 2061 6e20 not require an \n-00005b20: 6578 7472 6120 7061 7261 6d65 7465 7220 extra parameter \n-00005b30: 7265 7072 6573 656e 7469 6e67 2074 6865 representing the\n-00005b40: 0a20 2020 2020 6c65 6e67 7468 2069 6e20 . length in \n-00005b50: 6279 7465 7320 6f66 2074 6865 206f 7074 bytes of the opt\n-00005b60: 696f 6e20 7661 6c75 652e 2020 4164 6153 ion value. AdaS\n-00005b70: 6f63 6b65 7473 206b 6e6f 7773 2074 6865 ockets knows the\n-00005b80: 2072 6967 6874 0a20 2020 2020 7369 7a65 right. size\n-00005b90: 2066 6f72 2065 7665 7279 206f 7074 696f for every optio\n-00005ba0: 6e2e 0a0a 5345 4520 414c 534f 0a20 2020 n...SEE ALSO. \n-00005bb0: 2020 2a6e 6f74 6520 5365 7473 6f63 6b6f *note Setsocko\n-00005bc0: 7074 2028 7072 6f63 6564 7572 6529 3a3a pt (procedure)::\n-00005bd0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00005be0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00005bf0: 653a 204c 6973 7465 6e20 2870 726f 6365 e: Listen (proce\n-00005c00: 6475 7265 292c 2020 4e65 7874 3a20 4e65 dure), Next: Ne\n-00005c10: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n-00005c20: 6529 2c20 2050 7265 763a 2047 6574 736f e), Prev: Getso\n-00005c30: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00005c40: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00005c50: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00005c60: 290a 0a4c 6973 7465 6e20 2870 726f 6365 )..Listen (proce\n-00005c70: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00005c80: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00005c90: 450a 2020 2020 2045 7374 6162 6c69 7368 E. Establish\n-00005ca0: 2061 206c 6973 7465 6e20 7175 6575 650a a listen queue.\n-00005cb0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-00005cc0: 2d2d 2053 6f63 6b65 7473 2e4c 6973 7465 -- Sockets.Liste\n-00005cd0: 6e3a 2070 726f 6365 6475 7265 204c 6973 n: procedure Lis\n-00005ce0: 7465 6e20 2853 4f43 4b45 5420 3a20 536f ten (SOCKET : So\n-00005cf0: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-00005d00: 2020 2020 2020 2020 5155 4555 455f 5349 QUEUE_SI\n-00005d10: 5a45 203a 2050 6f73 6974 6976 6520 3a3d ZE : Positive :=\n-00005d20: 2035 293b 0a0a 5041 5241 4d45 5445 5253 5);..PARAMETERS\n-00005d30: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-00005d40: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00005d50: 6961 6c69 7a65 6420 616e 6420 626f 756e ialized and boun\n-00005d60: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-00005d70: 2020 2020 2051 5545 5545 5f53 495a 4520 QUEUE_SIZE \n-00005d80: 696e 2020 2020 2020 2020 2052 6571 7565 in Reque\n-00005d90: 7374 6564 2073 6c6f 7473 2069 6e20 7468 sted slots in th\n-00005da0: 6520 6c69 7374 656e 2071 7565 7565 0a0a e listen queue..\n-00005db0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00005dc0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00005dd0: 6573 7461 626c 6973 6865 7320 6120 6c69 establishes a li\n-00005de0: 7374 656e 2071 7565 7565 2061 6674 6572 sten queue after\n-00005df0: 2061 2054 4350 2073 6f63 6b65 7420 6173 a TCP socket as\n-00005e00: 0a20 2020 2020 6265 656e 2069 6e69 7469 . been initi\n-00005e10: 616c 697a 6564 2061 6e64 2062 6f75 6e64 alized and bound\n-00005e20: 2e20 2045 6163 6820 736c 6f74 2069 6e20 . Each slot in \n-00005e30: 7468 6520 7175 6575 6520 6361 6e20 686f the queue can ho\n-00005e40: 6c64 206f 6e65 0a20 2020 2020 696e 636f ld one. inco\n-00005e50: 6d69 6e67 2063 6f6e 6e65 6374 696f 6e20 ming connection \n-00005e60: 7468 6174 2068 6173 206e 6f74 2062 6565 that has not bee\n-00005e70: 6e20 6163 6365 7074 6564 2079 6574 2e20 n accepted yet. \n-00005e80: 204e 6f74 6520 7468 6174 206d 6f73 740a Note that most.\n-00005e90: 2020 2020 206f 7065 7261 7469 6e67 2073 operating s\n-00005ea0: 7973 7465 6d73 2069 676e 6f72 6520 7175 ystems ignore qu\n-00005eb0: 6575 6520 7369 7a65 7320 6c61 7267 6572 eue sizes larger\n-00005ec0: 2074 6861 6e20 6669 7665 2e0a 0a53 4545 than five...SEE\n-00005ed0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-00005ee0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n-00005ef0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n-00005f00: 2020 202a 6e6f 7465 2042 696e 6420 2870 *note Bind (p\n-00005f10: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n-00005f20: 2020 2a6e 6f74 6520 536f 636b 6574 2028 *note Socket (\n-00005f30: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00005f40: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00005f50: 732e 696e 666f 2c20 204e 6f64 653a 204e s.info, Node: N\n-00005f60: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n-00005f70: 7265 292c 2020 4e65 7874 3a20 5075 7420 re), Next: Put \n-00005f80: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-00005f90: 6576 3a20 4c69 7374 656e 2028 7072 6f63 ev: Listen (proc\n-00005fa0: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n-00005fb0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00005fc0: 6564 7572 6529 0a0a 4e65 775f 4c69 6e65 edure)..New_Line\n-00005fd0: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-00005fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005ff0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00006000: 5365 6e64 2061 2043 522f 4c46 2074 6f20 Send a CR/LF to \n-00006010: 6120 7265 6d6f 7465 2068 6f73 740a 5052 a remote host.PR\n-00006020: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-00006030: 2053 6f63 6b65 7473 2e4e 6577 5f4c 696e Sockets.New_Lin\n-00006040: 653a 2070 726f 6365 6475 7265 204e 6577 e: procedure New\n-00006050: 5f4c 696e 6520 2853 4f43 4b45 5420 3a20 _Line (SOCKET : \n-00006060: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n-00006070: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00006080: 434f 554e 5420 3a20 4e61 7475 7261 6c20 COUNT : Natural \n-00006090: 3a3d 2031 293b 0a0a 5041 5241 4d45 5445 := 1);..PARAMETE\n-000060a0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-000060b0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-000060c0: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n-000060d0: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n-000060e0: 626a 6563 740a 2020 2020 2043 4f55 4e54 bject. COUNT\n-000060f0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n-00006100: 204e 756d 6265 7220 6f66 2043 522f 4c46 Number of CR/LF\n-00006110: 2073 6571 7565 6e63 6573 2074 6f20 7365 sequences to se\n-00006120: 6e64 0a0a 4445 5343 5249 5054 494f 4e0a nd..DESCRIPTION.\n-00006130: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n-00006140: 7572 6520 7365 6e64 7320 6f6e 6520 6f72 ure sends one or\n-00006150: 206d 6f72 6520 4352 2f4c 4620 636f 6d62 more CR/LF comb\n-00006160: 696e 6174 696f 6e73 2074 6f20 7468 6520 inations to the \n-00006170: 7065 6572 2e0a 0a45 5843 4550 5449 4f4e peer...EXCEPTION\n-00006180: 530a 2020 2020 20e2 8098 436f 6e6e 6563 S. ...Connec\n-00006190: 7469 6f6e 5f43 6c6f 7365 64e2 8099 5065 tion_Closed...Pe\n-000061a0: 6572 2068 6173 2070 7265 6d61 7475 7265 er has premature\n-000061b0: 6c79 2063 6c6f 7365 6420 7468 6520 636f ly closed the co\n-000061c0: 6e6e 6563 7469 6f6e 0a0a 5345 4520 414c nnection..SEE AL\n-000061d0: 534f 0a20 2020 2020 2a6e 6f74 6520 5075 SO. *note Pu\n-000061e0: 7420 2870 726f 6365 6475 7265 293a 3a2c t (procedure)::,\n-000061f0: 0a20 2020 2020 2a6e 6f74 6520 5075 745f . *note Put_\n-00006200: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-00006210: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00006220: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00006230: 6f64 653a 2050 7574 2028 7072 6f63 6564 ode: Put (proced\n-00006240: 7572 6529 2c20 204e 6578 743a 2050 7574 ure), Next: Put\n-00006250: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-00006260: 292c 2020 5072 6576 3a20 4e65 775f 4c69 ), Prev: New_Li\n-00006270: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n-00006280: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00006290: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-000062a0: 5075 7420 2870 726f 6365 6475 7265 290a Put (procedure).\n-000062b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-000062c0: 0a50 5552 504f 5345 0a20 2020 2020 5365 .PURPOSE. Se\n-000062d0: 6e64 2061 2073 7472 696e 6720 746f 2061 nd a string to a\n-000062e0: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n-000062f0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00006300: 536f 636b 6574 732e 5075 743a 2070 726f Sockets.Put: pro\n-00006310: 6365 6475 7265 2050 7574 2028 534f 434b cedure Put (SOCK\n-00006320: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00006330: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n-00006340: 2020 2020 2053 5452 203a 2053 7472 696e STR : Strin\n-00006350: 6729 3b0a 0a50 4152 414d 4554 4552 530a g);..PARAMETERS.\n-00006360: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-00006370: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n-00006380: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n-00006390: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n-000063a0: 6374 0a20 2020 2020 5354 5220 2020 2020 ct. STR \n-000063b0: 2020 2069 6e20 2020 2020 2020 2020 5374 in St\n-000063c0: 7269 6e67 2074 6f20 7365 6e64 0a0a 4445 ring to send..DE\n-000063d0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-000063e0: 6869 7320 7072 6f63 6564 7572 6520 7365 his procedure se\n-000063f0: 6e64 7320 7468 6520 636f 6e74 656e 7420 nds the content \n-00006400: 6f66 2053 5452 206f 7665 7220 616e 206f of STR over an o\n-00006410: 7574 676f 696e 6720 6f72 0a20 2020 2020 utgoing or. \n-00006420: 696e 636f 6d69 6e67 2073 6f63 6b65 742e incoming socket.\n-00006430: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n-00006440: 2020 e280 9843 6f6e 6e65 6374 696f 6e5f ...Connection_\n-00006450: 436c 6f73 6564 e280 9950 6565 7220 6861 Closed...Peer ha\n-00006460: 7320 7072 656d 6174 7572 656c 7920 636c s prematurely cl\n-00006470: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n-00006480: 696f 6e0a 0a53 4545 2041 4c53 4f0a 2020 ion..SEE ALSO. \n-00006490: 2020 202a 6e6f 7465 204e 6577 5f4c 696e *note New_Lin\n-000064a0: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-000064b0: 0a20 2020 2020 2a6e 6f74 6520 5075 745f . *note Put_\n-000064c0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-000064d0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n-000064e0: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n-000064f0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00006500: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-00006510: 6465 3a20 5075 745f 4c69 6e65 2028 7072 de: Put_Line (pr\n-00006520: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-00006530: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00006540: 6f6e 292c 2020 5072 6576 3a20 5075 7420 on), Prev: Put \n-00006550: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00006560: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00006570: 2870 726f 6365 6475 7265 290a 0a50 7574 (procedure)..Put\n-00006580: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-00006590: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-000065a0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-000065b0: 2020 2020 2053 656e 6420 6120 4352 2f4c Send a CR/L\n-000065c0: 4620 7465 726d 696e 6174 6564 2073 7472 F terminated str\n-000065d0: 696e 6720 746f 2061 2072 656d 6f74 6520 ing to a remote \n-000065e0: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n-000065f0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00006600: 5075 745f 4c69 6e65 3a20 7072 6f63 6564 Put_Line: proced\n-00006610: 7572 6520 5075 745f 4c69 6e65 2028 534f ure Put_Line (SO\n-00006620: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00006630: 2743 6c61 7373 3b0a 2020 2020 2020 2020 'Class;. \n-00006640: 2020 2020 2020 2053 5452 203a 2053 7472 STR : Str\n-00006650: 696e 6729 3b0a 0a50 4152 414d 4554 4552 ing);..PARAMETER\n-00006660: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00006670: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00006680: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-00006690: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-000066a0: 6a65 6374 0a20 2020 2020 5354 5220 2020 ject. STR \n-000066b0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-000066c0: 5374 7269 6e67 2074 6f20 7365 6e64 0a0a String to send..\n-000066d0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-000066e0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-000066f0: 7365 6e64 7320 7468 6520 636f 6e74 656e sends the conten\n-00006700: 7420 6f66 2053 5452 2070 6c75 7320 6120 t of STR plus a \n-00006710: 4352 2f4c 4620 636f 6d62 696e 6174 696f CR/LF combinatio\n-00006720: 6e0a 2020 2020 206f 7665 7220 616e 206f n. over an o\n-00006730: 7574 676f 696e 6720 6f72 2069 6e63 6f6d utgoing or incom\n-00006740: 696e 6720 736f 636b 6574 2e0a 0a45 5843 ing socket...EXC\n-00006750: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n-00006760: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-00006770: 64e2 8099 5065 6572 2068 6173 2070 7265 d...Peer has pre\n-00006780: 6d61 7475 7265 6c79 2063 6c6f 7365 6420 maturely closed \n-00006790: 7468 6520 636f 6e6e 6563 7469 6f6e 0a0a the connection..\n-000067a0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-000067b0: 6f74 6520 4e65 775f 4c69 6e65 2028 7072 ote New_Line (pr\n-000067c0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n-000067d0: 202a 6e6f 7465 2050 7574 2028 7072 6f63 *note Put (proc\n-000067e0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n-000067f0: 6e6f 7465 2053 656e 6420 2870 726f 6365 note Send (proce\n-00006800: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n-00006810: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00006820: 6f2c 2020 4e6f 6465 3a20 5265 6365 6976 o, Node: Receiv\n-00006830: 6520 2866 756e 6374 696f 6e29 2c20 204e e (function), N\n-00006840: 6578 743a 2052 6563 6569 7665 2028 7072 ext: Receive (pr\n-00006850: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n-00006860: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n-00006870: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-00006880: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00006890: 6475 7265 290a 0a52 6563 6569 7665 2028 dure)..Receive (\n-000068a0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-000068b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-000068c0: 5250 4f53 450a 2020 2020 2052 6563 6569 RPOSE. Recei\n-000068d0: 7665 2072 6177 2064 6174 6120 6f76 6572 ve raw data over\n-000068e0: 2061 2073 6f63 6b65 740a 5052 4f54 4f54 a socket.PROTOT\n-000068f0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00006900: 6b65 7473 2e52 6563 6569 7665 3a20 6675 kets.Receive: fu\n-00006910: 6e63 7469 6f6e 2052 6563 6569 7665 2028 nction Receive (\n-00006920: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-00006930: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n-00006940: 2020 204d 4158 203a 2041 6461 2e53 7472 MAX : Ada.Str\n-00006950: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-00006960: 656e 745f 436f 756e 7420 3a3d 2034 3039 ent_Count := 409\n-00006970: 3629 0a20 2020 2020 2020 2020 2020 2020 6). \n-00006980: 2020 7265 7475 726e 2041 6461 2e53 7472 return Ada.Str\n-00006990: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-000069a0: 656e 745f 4172 7261 793b 0a0a 5041 5241 ent_Array;..PARA\n-000069b0: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n-000069c0: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n-000069d0: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n-000069e0: 6420 626f 756e 6420 6f72 2063 6f6e 6e65 d bound or conne\n-000069f0: 6374 6564 0a20 2020 2020 2020 2020 2020 cted. \n-00006a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006a10: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00006a20: 2020 204d 4158 2020 2020 2020 2020 696e MAX in\n-00006a30: 2020 2020 2020 2020 204d 6178 696d 756d Maximum\n-00006a40: 2064 6174 6120 6c65 6e67 7468 0a0a 5245 data length..RE\n-00006a50: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n-00006a60: 5265 6365 6976 6564 2072 6177 2064 6174 Received raw dat\n-00006a70: 610a 0a44 4553 4352 4950 5449 4f4e 0a20 a..DESCRIPTION. \n-00006a80: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00006a90: 7265 2072 6563 6569 7665 7320 6461 7461 re receives data\n-00006aa0: 2066 726f 6d20 6120 626f 756e 6420 5544 from a bound UD\n-00006ab0: 5020 736f 636b 6574 206f 7220 6120 636f P socket or a co\n-00006ac0: 6e6e 6563 7465 640a 2020 2020 2054 4350 nnected. TCP\n-00006ad0: 2073 6f63 6b65 742e 2020 4f6e 6c79 206f socket. Only o\n-00006ae0: 6e65 2073 7973 7465 6d20 6361 6c6c 2077 ne system call w\n-00006af0: 696c 6c20 6265 2070 6572 666f 726d 6564 ill be performed\n-00006b00: 3b20 7468 6973 2066 756e 6374 696f 6e0a ; this function.\n-00006b10: 2020 2020 2077 696c 6c20 7265 7475 726e will return\n-00006b20: 2077 6861 7465 7665 7220 6461 7461 2068 whatever data h\n-00006b30: 6173 2061 7272 6976 6564 2e20 204e 6f74 as arrived. Not\n-00006b40: 6520 7468 6174 2069 6e20 474e 4154 2074 e that in GNAT t\n-00006b50: 6865 0a20 2020 2020 7365 636f 6e64 6172 he. secondar\n-00006b60: 7920 7374 6163 6b20 6d61 7920 6265 2075 y stack may be u\n-00006b70: 7365 6420 746f 2073 746f 7265 2074 6865 sed to store the\n-00006b80: 2064 6174 6120 616e 6420 6d61 7920 7265 data and may re\n-00006b90: 7375 6c74 2069 6e0a 2020 2020 2073 7461 sult in. sta\n-00006ba0: 636b 2073 746f 7261 6765 2065 7868 6175 ck storage exhau\n-00006bb0: 7374 696f 6e2e 0a0a 4558 4345 5054 494f stion...EXCEPTIO\n-00006bc0: 4e53 0a20 2020 2020 e280 9843 6f6e 6e65 NS. ...Conne\n-00006bd0: 6374 696f 6e5f 436c 6f73 6564 e280 9950 ction_Closed...P\n-00006be0: 6565 7220 6861 7320 636c 6f73 6564 2074 eer has closed t\n-00006bf0: 6865 2063 6f6e 6e65 6374 696f 6e20 6265 he connection be\n-00006c00: 666f 7265 0a20 2020 2020 2020 2020 2020 fore. \n-00006c10: 2020 2020 2020 2020 2020 2020 2073 656e sen\n-00006c20: 6469 6e67 2061 6e79 2064 6174 610a 0a53 ding any data..S\n-00006c30: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-00006c40: 7465 2052 6563 6569 7665 2028 7072 6f63 te Receive (proc\n-00006c50: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n-00006c60: 6e6f 7465 2052 6563 6569 7665 5f53 6f6d note Receive_Som\n-00006c70: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-00006c80: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n-00006c90: 4c69 6e65 2028 6675 6e63 7469 6f6e 293a Line (function):\n-00006ca0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-00006cb0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00006cc0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n-00006cd0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00006ce0: 204e 6f64 653a 2052 6563 6569 7665 2028 Node: Receive (\n-00006cf0: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-00006d00: 743a 2052 6563 6569 7665 5f53 6f6d 6520 t: Receive_Some \n-00006d10: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-00006d20: 6576 3a20 5265 6365 6976 6520 2866 756e ev: Receive (fun\n-00006d30: 6374 696f 6e29 2c20 2055 703a 2041 6363 ction), Up: Acc\n-00006d40: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00006d50: 6564 7572 6529 0a0a 5265 6365 6976 6520 edure)..Receive \n-00006d60: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n-00006d70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-00006d80: 0a50 5552 504f 5345 0a20 2020 2020 5265 .PURPOSE. Re\n-00006d90: 6365 6976 6520 7261 7720 6461 7461 206f ceive raw data o\n-00006da0: 7665 7220 6120 736f 636b 6574 0a50 524f ver a socket.PRO\n-00006db0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00006dc0: 536f 636b 6574 732e 5265 6365 6976 653a Sockets.Receive:\n-00006dd0: 2070 726f 6365 6475 7265 2052 6563 6569 procedure Recei\n-00006de0: 7665 2028 534f 434b 4554 203a 2053 6f63 ve (SOCKET : Soc\n-00006df0: 6b65 745f 4644 2743 6c61 7373 3b0a 2020 ket_FD'Class;. \n-00006e00: 2020 2020 2020 2020 2020 2020 2044 4154 DAT\n-00006e10: 4120 3a20 6f75 7420 4164 612e 5374 7265 A : out Ada.Stre\n-00006e20: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n-00006e30: 6e74 5f41 7272 6179 293b 0a0a 5041 5241 nt_Array);..PARA\n-00006e40: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n-00006e50: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n-00006e60: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n-00006e70: 6420 626f 756e 6420 6f72 2063 6f6e 6e65 d bound or conne\n-00006e80: 6374 6564 0a20 2020 2020 2020 2020 2020 cted. \n-00006e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006ea0: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00006eb0: 2020 2044 4154 4120 2020 2020 2020 6f75 DATA ou\n-00006ec0: 7420 2020 2020 2020 2049 6e63 6f6d 696e t Incomin\n-00006ed0: 6720 6461 7461 2062 7566 6665 720a 0a44 g data buffer..D\n-00006ee0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00006ef0: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n-00006f00: 6563 6569 7665 7320 6461 7461 2066 726f eceives data fro\n-00006f10: 6d20 6120 626f 756e 6420 5544 5020 736f m a bound UDP so\n-00006f20: 636b 6574 206f 7220 6120 636f 6e6e 6563 cket or a connec\n-00006f30: 7465 640a 2020 2020 2054 4350 2073 6f63 ted. TCP soc\n-00006f40: 6b65 742e 2020 4974 2077 696c 6c20 626c ket. It will bl\n-00006f50: 6f63 6b20 756e 7469 6c20 7468 6520 4441 ock until the DA\n-00006f60: 5441 2072 6563 6570 7469 6f6e 2062 7566 TA reception buf\n-00006f70: 6665 7220 6861 7320 6265 656e 0a20 2020 fer has been. \n-00006f80: 2020 746f 7461 6c6c 7920 6669 6c6c 6564 totally filled\n-00006f90: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n-00006fa0: 2020 20e2 8098 436f 6e6e 6563 7469 6f6e ...Connection\n-00006fb0: 5f43 6c6f 7365 64e2 8099 5065 6572 2068 _Closed...Peer h\n-00006fc0: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n-00006fd0: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n-00006fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006ff0: 2020 2020 2020 2020 e280 9844 6174 6127 ...Data'\n-00007000: 4c65 6e67 7468 e280 9920 6279 7465 730a Length... bytes.\n-00007010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007020: 2020 2020 2020 2020 7765 7265 2072 6563 were rec\n-00007030: 6569 7665 640a 0a53 4545 2041 4c53 4f0a eived..SEE ALSO.\n-00007040: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n-00007050: 696e 6520 2866 756e 6374 696f 6e29 3a3a ine (function)::\n-00007060: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n-00007070: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-00007080: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00007090: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-000070a0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n-000070b0: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n-000070c0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-000070d0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-000070e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n-000070f0: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-00007100: 6564 7572 6529 2c20 204e 6578 743a 2053 edure), Next: S\n-00007110: 656e 6420 2870 726f 6365 6475 7265 292c end (procedure),\n-00007120: 2020 5072 6576 3a20 5265 6365 6976 6520 Prev: Receive \n-00007130: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00007140: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00007150: 2870 726f 6365 6475 7265 290a 0a52 6563 (procedure)..Rec\n-00007160: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-00007170: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00007180: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00007190: 5055 5250 4f53 450a 2020 2020 2052 6563 PURPOSE. Rec\n-000071a0: 6569 7665 2072 6177 2064 6174 6120 6f76 eive raw data ov\n-000071b0: 6572 2061 2073 6f63 6b65 740a 5052 4f54 er a socket.PROT\n-000071c0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-000071d0: 6f63 6b65 7473 2e52 6563 6569 7665 5f53 ockets.Receive_S\n-000071e0: 6f6d 653a 2070 726f 6365 6475 7265 2052 ome: procedure R\n-000071f0: 6563 6569 7665 5f53 6f6d 650a 2020 2020 eceive_Some. \n-00007200: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n-00007210: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00007220: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n-00007230: 2020 2020 2044 4154 4120 3a20 6f75 7420 DATA : out \n-00007240: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-00007250: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-00007260: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-00007270: 204c 4153 5420 3a20 6f75 7420 4164 612e LAST : out Ada.\n-00007280: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n-00007290: 6c65 6d65 6e74 5f4f 6666 7365 7429 3b0a lement_Offset);.\n-000072a0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-000072b0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-000072c0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-000072d0: 6564 2061 6e64 2062 6f75 6e64 206f 7220 ed and bound or \n-000072e0: 636f 6e6e 6563 7465 640a 2020 2020 2020 connected. \n-000072f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007300: 2020 2020 2073 6f63 6b65 7420 6f62 6a65 socket obje\n-00007310: 6374 0a20 2020 2020 4441 5441 2020 2020 ct. DATA \n-00007320: 2020 206f 7574 2020 2020 2020 2020 496e out In\n-00007330: 636f 6d69 6e67 2064 6174 6120 6275 6666 coming data buff\n-00007340: 6572 0a20 2020 2020 4c41 5354 2020 2020 er. LAST \n-00007350: 2020 206f 7574 2020 2020 2020 2020 496e out In\n-00007360: 6465 7820 6f66 206c 6173 7420 656c 656d dex of last elem\n-00007370: 656e 7420 706c 6163 6564 2069 6e74 6f20 ent placed into \n-00007380: 4441 5441 0a0a 4445 5343 5249 5054 494f DATA..DESCRIPTIO\n-00007390: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-000073a0: 6564 7572 6520 7265 6365 6976 6573 2064 edure receives d\n-000073b0: 6174 6120 6672 6f6d 2061 2062 6f75 6e64 ata from a bound\n-000073c0: 2055 4450 2073 6f63 6b65 7420 6f72 2061 UDP socket or a\n-000073d0: 2063 6f6e 6e65 6374 6564 0a20 2020 2020 connected. \n-000073e0: 5443 5020 736f 636b 6574 2e20 2041 7320 TCP socket. As \n-000073f0: 736f 6f6e 2061 7320 6174 206c 6561 7374 soon as at least\n-00007400: 206f 6e65 2062 7974 6520 6861 7320 6265 one byte has be\n-00007410: 656e 2072 6561 642c 2069 7420 7265 7475 en read, it retu\n-00007420: 726e 730a 2020 2020 2077 6974 6820 4c41 rns. with LA\n-00007430: 5354 2073 6574 2074 6f20 7468 6520 696e ST set to the in\n-00007440: 6465 7820 6f66 2074 6865 206c 6174 6573 dex of the lates\n-00007450: 7420 7772 6974 7465 6e20 656c 656d 656e t written elemen\n-00007460: 7420 6f66 2044 4154 412e 0a0a 4558 4345 t of DATA...EXCE\n-00007470: 5054 494f 4e53 0a20 2020 2020 e280 9843 PTIONS. ...C\n-00007480: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-00007490: e280 9950 6565 7220 6861 7320 636c 6f73 ...Peer has clos\n-000074a0: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n-000074b0: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n-000074c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000074d0: 2073 656e 6469 6e67 2061 6e79 2064 6174 sending any dat\n-000074e0: 610a 0a53 4545 2041 4c53 4f0a 2020 2020 a..SEE ALSO. \n-000074f0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n-00007500: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00007510: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n-00007520: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-00007530: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n-00007540: 6976 6520 2866 756e 6374 696f 6e29 3a3a ive (function)::\n-00007550: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n-00007560: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n-00007570: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00007580: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00007590: 6f64 653a 2053 656e 6420 2870 726f 6365 ode: Send (proce\n-000075a0: 6475 7265 292c 2020 4e65 7874 3a20 5365 dure), Next: Se\n-000075b0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-000075c0: 7572 6529 2c20 2050 7265 763a 2052 6563 ure), Prev: Rec\n-000075d0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-000075e0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-000075f0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00007600: 6475 7265 290a 0a53 656e 6420 2870 726f dure)..Send (pro\n-00007610: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-00007620: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00007630: 450a 2020 2020 2053 656e 6420 7261 7720 E. Send raw \n-00007640: 6461 7461 206f 7665 7220 6120 736f 636b data over a sock\n-00007650: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n-00007660: 2020 202d 2d20 536f 636b 6574 732e 5365 -- Sockets.Se\n-00007670: 6e64 3a20 7072 6f63 6564 7572 6520 5365 nd: procedure Se\n-00007680: 6e64 2028 534f 434b 4554 203a 2053 6f63 nd (SOCKET : Soc\n-00007690: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-000076a0: 2020 2020 2020 2044 4154 4120 3a20 6f75 DATA : ou\n-000076b0: 7420 4164 612e 5374 7265 616d 732e 5374 t Ada.Streams.St\n-000076c0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n-000076d0: 6179 293b 0a0a 5041 5241 4d45 5445 5253 ay);..PARAMETERS\n-000076e0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-000076f0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n-00007700: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n-00007710: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-00007720: 6563 740a 2020 2020 2044 4154 4120 2020 ect. DATA \n-00007730: 2020 2020 6f75 7420 2020 2020 2020 2044 out D\n-00007740: 6174 6120 746f 2062 6520 7365 6e74 0a0a ata to be sent..\n-00007750: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00007760: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00007770: 7365 6e64 7320 6461 7461 206f 7665 7220 sends data over \n-00007780: 6120 636f 6e6e 6563 7465 6420 6f75 7467 a connected outg\n-00007790: 6f69 6e67 2073 6f63 6b65 7420 6f72 206f oing socket or o\n-000077a0: 7665 720a 2020 2020 2061 6e20 696e 636f ver. an inco\n-000077b0: 6d69 6e67 2073 6f63 6b65 742e 0a0a 4558 ming socket...EX\n-000077c0: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n-000077d0: 9843 6f6e 6e65 6374 696f 6e5f 436c 6f73 .Connection_Clos\n-000077e0: 6564 e280 9950 6565 7220 6861 7320 7072 ed...Peer has pr\n-000077f0: 656d 6174 7572 656c 7920 636c 6f73 6564 ematurely closed\n-00007800: 2074 6865 2063 6f6e 6e65 6374 696f 6e0a the connection.\n-00007810: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00007820: 6e6f 7465 2050 7574 2028 7072 6f63 6564 note Put (proced\n-00007830: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00007840: 7465 2050 7574 5f4c 696e 6520 2870 726f te Put_Line (pro\n-00007850: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-00007860: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-00007870: 6e66 6f2c 2020 4e6f 6465 3a20 5365 745f nfo, Node: Set_\n-00007880: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n-00007890: 6529 2c20 204e 6578 743a 2053 6574 736f e), Next: Setso\n-000078a0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000078b0: 292c 2020 5072 6576 3a20 5365 6e64 2028 ), Prev: Send (\n-000078c0: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n-000078d0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n-000078e0: 7072 6f63 6564 7572 6529 0a0a 5365 745f procedure)..Set_\n-000078f0: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n-00007900: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n-00007910: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00007920: 5345 0a20 2020 2020 496e 7374 616c 6c20 SE. Install \n-00007930: 6120 6c69 6e65 2d6f 7269 656e 7465 6420 a line-oriented \n-00007940: 6275 6666 6572 206f 6620 7468 6520 736f buffer of the so\n-00007950: 636b 6574 206f 626a 6563 740a 5052 4f54 cket object.PROT\n-00007960: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-00007970: 6f63 6b65 7473 2e53 6574 5f42 7566 6665 ockets.Set_Buffe\n-00007980: 723a 2070 726f 6365 6475 7265 2053 6574 r: procedure Set\n-00007990: 5f42 7566 6665 720a 2020 2020 2020 2020 _Buffer. \n-000079a0: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-000079b0: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-000079c0: 3b20 4c45 4e47 5448 203a 2050 6f73 6974 ; LENGTH : Posit\n-000079d0: 6976 6520 3a3d 2031 3530 3029 3b0a 0a50 ive := 1500);..P\n-000079e0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-000079f0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-00007a00: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n-00007a10: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n-00007a20: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00007a30: 2020 4c45 4e47 5448 2020 2020 2069 6e20 LENGTH in \n-00007a40: 2020 2020 2020 2020 5369 7a65 2069 6e20 Size in \n-00007a50: 6279 7465 7320 6f66 2074 6865 206e 6577 bytes of the new\n-00007a60: 6c79 2069 6e73 7461 6c6c 6564 0a20 2020 ly installed. \n-00007a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007a80: 2020 2020 2020 2020 6275 6666 6572 0a0a buffer..\n-00007a90: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00007aa0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00007ab0: 7075 7473 2074 6865 2073 6f63 6b65 7420 puts the socket \n-00007ac0: 6f62 6a65 6374 2069 6e20 6275 6666 6572 object in buffer\n-00007ad0: 6564 206d 6f64 652e 2020 4966 2074 6865 ed mode. If the\n-00007ae0: 0a20 2020 2020 736f 636b 6574 2077 6173 . socket was\n-00007af0: 2061 6c72 6561 6479 2062 7566 6665 7265 already buffere\n-00007b00: 642c 2074 6865 2063 6f6e 7465 6e74 206f d, the content o\n-00007b10: 6620 7468 6520 7072 6576 696f 7573 2062 f the previous b\n-00007b20: 7566 6665 720a 2020 2020 2077 696c 6c20 uffer. will \n-00007b30: 6265 206c 6f73 742e 2020 5468 6520 6275 be lost. The bu\n-00007b40: 6666 6572 6564 206d 6f64 6520 6f6e 6c79 ffered mode only\n-00007b50: 2061 6666 6563 7473 2063 6861 7261 6374 affects charact\n-00007b60: 6572 2d20 616e 640a 2020 2020 206c 696e er- and. lin\n-00007b70: 652d 6f72 6965 6e74 6564 2072 6561 6420 e-oriented read \n-00007b80: 6f70 6572 6174 696f 6e20 7375 6368 2061 operation such a\n-00007b90: 7320 2a6e 6f74 6520 4765 7420 2866 756e s *note Get (fun\n-00007ba0: 6374 696f 6e29 3a3a 2c20 2a6e 6f74 650a ction)::, *note.\n-00007bb0: 2020 2020 2047 6574 5f43 6861 7220 2866 Get_Char (f\n-00007bc0: 756e 6374 696f 6e29 3a3a 2c20 616e 6420 unction)::, and \n-00007bd0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n-00007be0: 6675 6e63 7469 6f6e 293a 3a2e 2020 4f74 function)::. Ot\n-00007bf0: 6865 720a 2020 2020 2072 6563 6570 7469 her. recepti\n-00007c00: 6f6e 2073 7562 7072 6f67 7261 6d73 2077 on subprograms w\n-00007c10: 696c 6c20 6e6f 7420 6675 6e63 7469 6f6e ill not function\n-00007c20: 2070 726f 7065 726c 7920 6966 2062 7566 properly if buf\n-00007c30: 6665 7265 6420 6d6f 6465 0a20 2020 2020 fered mode. \n-00007c40: 6973 2075 7365 6420 6174 2074 6865 2073 is used at the s\n-00007c50: 616d 6520 7469 6d65 2e0a 0a20 2020 2020 ame time... \n-00007c60: 5468 6520 7369 7a65 206f 6620 7468 6520 The size of the \n-00007c70: 6275 6666 6572 2068 6173 2074 6f20 6265 buffer has to be\n-00007c80: 2067 7265 6174 6572 2074 6861 6e20 7468 greater than th\n-00007c90: 6520 6269 6767 6573 7420 706f 7373 6962 e biggest possib\n-00007ca0: 6c65 0a20 2020 2020 7061 636b 6574 2073 le. packet s\n-00007cb0: 656e 7420 6279 2074 6865 2072 656d 6f74 ent by the remot\n-00007cc0: 6520 686f 7374 2c20 6f74 6865 7277 6973 e host, otherwis\n-00007cd0: 6520 6461 7461 206c 6f73 7320 6d61 7920 e data loss may \n-00007ce0: 6f63 6375 722e 0a0a 5345 4520 414c 534f occur...SEE ALSO\n-00007cf0: 0a20 2020 2020 2a6e 6f74 6520 556e 7365 . *note Unse\n-00007d00: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00007d10: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00007d20: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00007d30: 2c20 204e 6f64 653a 2053 6574 736f 636b , Node: Setsock\n-00007d40: 6f70 7420 2870 726f 6365 6475 7265 292c opt (procedure),\n-00007d50: 2020 4e65 7874 3a20 5368 7574 646f 776e Next: Shutdown\n-00007d60: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-00007d70: 7265 763a 2053 6574 5f42 7566 6665 7220 rev: Set_Buffer \n-00007d80: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00007d90: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00007da0: 2870 726f 6365 6475 7265 290a 0a53 6574 (procedure)..Set\n-00007db0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00007dc0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00007dd0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00007de0: 4f53 450a 2020 2020 2053 6574 2061 2073 OSE. Set a s\n-00007df0: 6f63 6b65 7420 6f70 7469 6f6e 0a50 524f ocket option.PRO\n-00007e00: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00007e10: 536f 636b 6574 732e 5365 7473 6f63 6b6f Sockets.Setsocko\n-00007e20: 7074 3a20 7072 6f63 6564 7572 6520 5365 pt: procedure Se\n-00007e30: 7473 6f63 6b6f 7074 2028 534f 434b 4554 tsockopt (SOCKET\n-00007e40: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n-00007e50: 2020 2020 2020 2020 2020 2020 204c 4556 LEV\n-00007e60: 454c 203a 2053 6f63 6b65 745f 4c65 7665 EL : Socket_Leve\n-00007e70: 6c20 3a3d 2053 4f4c 5f53 4f43 4b45 543b l := SOL_SOCKET;\n-00007e80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00007e90: 4f50 544e 414d 4520 3a20 536f 636b 6574 OPTNAME : Socket\n-00007ea0: 5f4f 7074 696f 6e3b 204f 5054 5641 4c20 _Option; OPTVAL \n-00007eb0: 3a20 496e 7465 6765 7229 3b0a 0a50 4152 : Integer);..PAR\n-00007ec0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00007ed0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00007ee0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00007ef0: 6e64 2062 6f75 6e64 2073 6f63 6b65 7420 nd bound socket \n-00007f00: 6f62 6a65 6374 0a20 2020 2020 4c45 5645 object. LEVE\n-00007f10: 4c20 2020 2020 2069 6e20 2020 2020 2020 L in \n-00007f20: 2020 5072 6f74 6f63 6f6c 206c 6576 656c Protocol level\n-00007f30: 0a20 2020 2020 4f50 544e 414d 4520 2020 . OPTNAME \n-00007f40: 2069 6e20 2020 2020 2020 2020 4f70 7469 in Opti\n-00007f50: 6f6e 206e 616d 650a 2020 2020 204f 5054 on name. OPT\n-00007f60: 5641 4c20 2020 2020 696e 2020 2020 2020 VAL in \n-00007f70: 2020 204f 7074 696f 6e20 7661 6c75 650a Option value.\n-00007f80: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n-00007f90: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n-00007fa0: 2073 6574 7320 6f70 7469 6f6e 7320 6170 sets options ap\n-00007fb0: 706c 6963 6162 6c65 2074 6f20 6120 736f plicable to a so\n-00007fc0: 636b 6574 2e20 2050 6c65 6173 6520 7365 cket. Please se\n-00007fd0: 650a 2020 2020 2079 6f75 7220 6f70 6572 e. your oper\n-00007fe0: 6174 696e 6720 7379 7374 656d 206d 616e ating system man\n-00007ff0: 7561 6c20 666f 7220 7573 6162 6c65 206c ual for usable l\n-00008000: 6576 656c 7320 616e 6420 6f70 7469 6f6e evels and option\n-00008010: 732e 0a0a 2020 2020 2054 776f 206c 6576 s... Two lev\n-00008020: 656c 7320 6172 6520 6465 6669 6e65 643a els are defined:\n-00008030: 20e2 8098 534f 4c5f 534f 434b 4554 e280 ...SOL_SOCKET..\n-00008040: 9920 2874 6865 2064 6566 6175 6c74 2920 . (the default) \n-00008050: 616e 640a 2020 2020 20e2 8098 4950 5052 and. ...IPPR\n-00008060: 4f54 4f5f 4950 e280 992e 2020 5468 6520 OTO_IP.... The \n-00008070: 6f70 7469 6f6e 7320 6172 6520 e280 9853 options are ...S\n-00008080: 4f5f 5245 5553 4541 4444 52e2 8099 2c20 O_REUSEADDR..., \n-00008090: e280 9853 4f5f 5245 5553 4550 4f52 54e2 ...SO_REUSEPORT.\n-000080a0: 8099 2c0a 2020 2020 20e2 8098 4950 5f4d ..,. ...IP_M\n-000080b0: 554c 5449 4341 5354 5f54 544c e280 992c ULTICAST_TTL...,\n-000080c0: 20e2 8098 4950 5f41 4444 5f4d 454d 4245 ...IP_ADD_MEMBE\n-000080d0: 5253 4849 50e2 8099 2c20 e280 9849 505f RSHIP..., ...IP_\n-000080e0: 4452 4f50 5f4d 454d 4245 5253 4849 50e2 DROP_MEMBERSHIP.\n-000080f0: 8099 2c0a 2020 2020 20e2 8098 4950 5f4d ..,. ...IP_M\n-00008100: 554c 5449 4341 5354 5f4c 4f4f 50e2 8099 ULTICAST_LOOP...\n-00008110: 2c20 e280 9853 4f5f 534e 4442 5546 e280 , ...SO_SNDBUF..\n-00008120: 9920 616e 6420 e280 9849 505f 5243 5642 . and ...IP_RCVB\n-00008130: 5546 e280 992e 0a0a 2020 2020 204e 6f74 UF...... Not\n-00008140: 6520 7468 6174 2075 6e6c 696b 6520 7468 e that unlike th\n-00008150: 6569 7220 4320 6c61 6e67 7561 6765 2063 eir C language c\n-00008160: 6f75 6e74 6572 7061 7274 2c20 e280 9847 ounterpart, ...G\n-00008170: 6574 736f 636b 6f70 74e2 8099 2061 6e64 etsockopt... and\n-00008180: 0a20 2020 2020 e280 9853 6574 736f 636b . ...Setsock\n-00008190: 6f70 74e2 8099 2064 6f20 6e6f 7420 7265 opt... do not re\n-000081a0: 7175 6972 6520 616e 2065 7874 7261 2070 quire an extra p\n-000081b0: 6172 616d 6574 6572 2072 6570 7265 7365 arameter represe\n-000081c0: 6e74 696e 6720 7468 650a 2020 2020 206c nting the. l\n-000081d0: 656e 6774 6820 696e 2062 7974 6573 206f ength in bytes o\n-000081e0: 6620 7468 6520 6f70 7469 6f6e 2076 616c f the option val\n-000081f0: 7565 2e20 2041 6461 536f 636b 6574 7320 ue. AdaSockets \n-00008200: 6b6e 6f77 7320 7468 6520 7269 6768 740a knows the right.\n-00008210: 2020 2020 2073 697a 6520 666f 7220 6576 size for ev\n-00008220: 6572 7920 6f70 7469 6f6e 2e0a 0a53 4545 ery option...SEE\n-00008230: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-00008240: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-00008250: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-00008260: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-00008270: 6e66 6f2c 2020 4e6f 6465 3a20 5368 7574 nfo, Node: Shut\n-00008280: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00008290: 2c20 204e 6578 743a 2053 6f63 6b65 7420 , Next: Socket \n-000082a0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n-000082b0: 6576 3a20 5365 7473 6f63 6b6f 7074 2028 ev: Setsockopt (\n-000082c0: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n-000082d0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n-000082e0: 7072 6f63 6564 7572 6529 0a0a 5368 7574 procedure)..Shut\n-000082f0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00008300: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00008310: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00008320: 2020 2020 5368 7574 646f 776e 2061 2073 Shutdown a s\n-00008330: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n-00008340: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00008350: 2e53 6875 7464 6f77 6e3a 2070 726f 6365 .Shutdown: proce\n-00008360: 6475 7265 2053 6875 7464 6f77 6e0a 2020 dure Shutdown. \n-00008370: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n-00008380: 434b 4554 203a 2069 6e20 6f75 7420 536f CKET : in out So\n-00008390: 636b 6574 5f46 443b 2048 4f57 203a 2053 cket_FD; HOW : S\n-000083a0: 6875 7464 6f77 6e5f 5479 7065 203a 3d20 hutdown_Type := \n-000083b0: 426f 7468 293b 0a0a 5041 5241 4d45 5445 Both);..PARAMETE\n-000083c0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-000083d0: 2020 2069 6e20 6f75 7420 2020 2020 536f in out So\n-000083e0: 636b 6574 206f 626a 6563 7420 746f 2073 cket object to s\n-000083f0: 6875 7464 6f77 6e0a 2020 2020 2048 4f57 hutdown. HOW\n-00008400: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-00008410: 2020 2044 6972 6563 7469 6f6e 2074 6f20 Direction to \n-00008420: 7368 7574 646f 776e 0a0a 4445 5343 5249 shutdown..DESCRI\n-00008430: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00008440: 7072 6f63 6564 7572 6520 7368 7574 646f procedure shutdo\n-00008450: 776e 7320 6569 7468 6572 2064 6972 6563 wns either direc\n-00008460: 7469 6f6e 206f 6620 7468 6520 736f 636b tion of the sock\n-00008470: 6574 2e20 2048 4f57 2063 616e 0a20 2020 et. HOW can. \n-00008480: 2020 7461 6b65 2074 6865 2076 616c 7565 take the value\n-00008490: 20e2 8098 5365 6e64 e280 992c 20e2 8098 ...Send..., ...\n-000084a0: 5265 6365 6976 65e2 8099 206f 7220 e280 Receive... or ..\n-000084b0: 9842 6f74 68e2 8099 2e0a 0a53 4545 2041 .Both......SEE A\n-000084c0: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n-000084d0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000084e0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-000084f0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00008500: 4e6f 6465 3a20 536f 636b 6574 2028 7072 Node: Socket (pr\n-00008510: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-00008520: 2055 6e73 6574 5f42 7566 6665 7220 2870 Unset_Buffer (p\n-00008530: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-00008540: 3a20 5368 7574 646f 776e 2028 7072 6f63 : Shutdown (proc\n-00008550: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n-00008560: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00008570: 6564 7572 6529 0a0a 536f 636b 6574 2028 edure)..Socket (\n-00008580: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n-00008590: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-000085a0: 5552 504f 5345 0a20 2020 2020 4372 6561 URPOSE. Crea\n-000085b0: 7465 2061 2073 6f63 6b65 7420 6f66 2074 te a socket of t\n-000085c0: 6865 2067 6976 656e 206d 6f64 650a 5052 he given mode.PR\n-000085d0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-000085e0: 2053 6f63 6b65 7473 2e53 6f63 6b65 743a Sockets.Socket:\n-000085f0: 2070 726f 6365 6475 7265 2053 6f63 6b65 procedure Socke\n-00008600: 7420 2853 4f43 4b45 5420 3a20 6f75 7420 t (SOCKET : out \n-00008610: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n-00008620: 2020 2020 2020 2020 2020 444f 4d41 494e DOMAIN\n-00008630: 203a 2053 6f63 6b65 745f 446f 6d61 696e : Socket_Domain\n-00008640: 203a 3d20 5046 5f49 4e45 543b 0a20 2020 := PF_INET;. \n-00008650: 2020 2020 2020 2020 2020 2020 5459 5020 TYP \n-00008660: 3a20 536f 636b 6574 5f54 7970 6520 3a3d : Socket_Type :=\n-00008670: 2053 4f43 4b5f 5354 5245 414d 293b 0a0a SOCK_STREAM);..\n-00008680: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00008690: 534f 434b 4554 2020 2020 206f 7574 2020 SOCKET out \n-000086a0: 2020 2020 2020 536f 636b 6574 206f 626a Socket obj\n-000086b0: 6563 7420 746f 2069 6e69 7469 616c 697a ect to initializ\n-000086c0: 650a 2020 2020 2044 4f4d 4149 4e20 2020 e. DOMAIN \n-000086d0: 2020 696e 2020 2020 2020 2020 2050 726f in Pro\n-000086e0: 746f 636f 6c20 6661 6d69 6c79 0a20 2020 tocol family. \n-000086f0: 2020 5459 5020 2020 2020 2020 2069 6e20 TYP in \n-00008700: 2020 2020 2020 2020 4b69 6e64 206f 6620 Kind of \n-00008710: 736f 636b 6574 730a 0a44 4553 4352 4950 sockets..DESCRIP\n-00008720: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n-00008730: 726f 6365 6475 7265 2069 6e69 7469 616c rocedure initial\n-00008740: 697a 6573 2061 206e 6577 2073 6f63 6b65 izes a new socke\n-00008750: 7420 6f62 6a65 6374 2062 7920 7265 7365 t object by rese\n-00008760: 7276 696e 6720 6120 6669 6c65 0a20 2020 rving a file. \n-00008770: 2020 6465 7363 7269 7074 6f72 2074 6f20 descriptor to \n-00008780: 7468 6520 6f70 6572 6174 696e 6720 7379 the operating sy\n-00008790: 7374 656d 2e20 2046 6f72 2062 6163 6b77 stem. For backw\n-000087a0: 6172 6420 636f 6d70 6174 6962 696c 6974 ard compatibilit\n-000087b0: 790a 2020 2020 2077 6974 6820 6f6c 6465 y. with olde\n-000087c0: 7220 7665 7273 696f 6e73 206f 6620 7468 r versions of th\n-000087d0: 6973 206c 6962 7261 7279 2c20 e280 9841 is library, ...A\n-000087e0: 465f 494e 4554 e280 9920 6973 2073 7469 F_INET... is sti\n-000087f0: 6c6c 2061 6363 6570 7465 6420 6173 0a20 ll accepted as. \n-00008800: 2020 2020 6120 7661 6c75 6520 6275 7420 a value but \n-00008810: 7368 6f75 6c64 2062 6520 7265 706c 6163 should be replac\n-00008820: 6564 2061 7320 736f 6f6e 2061 7320 706f ed as soon as po\n-00008830: 7373 6962 6c65 2077 6974 6820 7468 6520 ssible with the \n-00008840: 7072 6f70 6572 0a20 2020 2020 e280 9850 proper. ...P\n-00008850: 465f 494e 4554 e280 992e 2020 5573 696e F_INET.... Usin\n-00008860: 6720 e280 9853 4f43 4b5f 5354 5245 414d g ...SOCK_STREAM\n-00008870: e280 9920 666f 7220 7468 6520 5459 5020 ... for the TYP \n-00008880: 6172 6775 6d65 6e74 2077 696c 6c20 6372 argument will cr\n-00008890: 6561 7465 2061 0a20 2020 2020 5443 5020 eate a. TCP \n-000088a0: 736f 636b 6574 2077 6869 6c65 2061 20e2 socket while a .\n-000088b0: 8098 534f 434b 5f44 4752 414d e280 9920 ..SOCK_DGRAM... \n-000088c0: 7769 6c6c 2063 7265 6174 6520 6120 5544 will create a UD\n-000088d0: 5020 6f6e 652e 0a0a 4558 414d 504c 450a P one...EXAMPLE.\n-000088e0: 2020 2020 2020 2020 2020 6465 636c 6172 declar\n-000088f0: 650a 2020 2020 2020 2020 2020 2020 2053 e. S\n-00008900: 6f63 6b20 3a20 536f 636b 6574 5f46 443b ock : Socket_FD;\n-00008910: 0a20 2020 2020 2020 2020 2062 6567 696e . begin\n-00008920: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n-00008930: 2043 7265 6174 6520 6120 5443 5020 736f Create a TCP so\n-00008940: 636b 6574 0a20 2020 2020 2020 2020 2020 cket. \n-00008950: 2020 536f 636b 6574 2028 536f 636b 2c20 Socket (Sock, \n-00008960: 5046 5f49 4e45 542c 2053 4f43 4b5f 5354 PF_INET, SOCK_ST\n-00008970: 5245 414d 293b 0a20 2020 2020 2020 2020 REAM);. \n-00008980: 2020 2020 2d2d 2050 6572 666f 726d 2073 -- Perform s\n-00008990: 6f6d 6520 6f70 6572 6174 696f 6e73 206f ome operations o\n-000089a0: 6e20 736f 636b 6574 0a20 2020 2020 2020 n socket. \n-000089b0: 2020 2020 2020 5b2e 2e2e 5d0a 2020 2020 [...]. \n-000089c0: 2020 2020 2020 2020 202d 2d20 5368 7574 -- Shut\n-000089d0: 646f 776e 2074 6865 2073 6f63 6b65 7420 down the socket \n-000089e0: 696e 2062 6f74 6820 6469 7265 6374 696f in both directio\n-000089f0: 6e73 0a20 2020 2020 2020 2020 2020 2020 ns. \n-00008a00: 5368 7574 646f 776e 2028 536f 636b 2c20 Shutdown (Sock, \n-00008a10: 426f 7468 293b 0a20 2020 2020 2020 2020 Both);. \n-00008a20: 2065 6e64 3b0a 0a53 4545 2041 4c53 4f0a end;..SEE ALSO.\n-00008a30: 2020 2020 202a 6e6f 7465 2053 6875 7464 *note Shutd\n-00008a40: 6f77 6e20 2870 726f 6365 6475 7265 293a own (procedure):\n-00008a50: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00008a60: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-00008a70: 6465 3a20 556e 7365 745f 4275 6666 6572 de: Unset_Buffer\n-00008a80: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-00008a90: 7265 763a 2053 6f63 6b65 7420 2870 726f rev: Socket (pro\n-00008aa0: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n-00008ab0: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n-00008ac0: 6365 6475 7265 290a 0a55 6e73 6574 5f42 cedure)..Unset_B\n-00008ad0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n-00008ae0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-00008af0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00008b00: 4f53 450a 2020 2020 2044 6569 6e73 7461 OSE. Deinsta\n-00008b10: 6c6c 2074 6865 206c 696e 652d 6f72 6965 ll the line-orie\n-00008b20: 6e74 6564 2062 7566 6665 7220 6f66 2074 nted buffer of t\n-00008b30: 6865 2073 6f63 6b65 7420 6f62 6a65 6374 he socket object\n-00008b40: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-00008b50: 202d 2d20 536f 636b 6574 732e 556e 7365 -- Sockets.Unse\n-00008b60: 745f 4275 6666 6572 3a20 7072 6f63 6564 t_Buffer: proced\n-00008b70: 7572 6520 556e 7365 745f 4275 6666 6572 ure Unset_Buffer\n-00008b80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00008b90: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00008ba0: 5f46 4427 436c 6173 7329 3b0a 0a50 4152 _FD'Class);..PAR\n-00008bb0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00008bc0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00008bd0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n-00008be0: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n-00008bf0: 6b65 7420 6f62 6a65 6374 0a0a 4445 5343 ket object..DESC\n-00008c00: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00008c10: 7320 7072 6f63 6564 7572 6520 756e 696e s procedure unin\n-00008c20: 7374 616c 6c73 2074 6865 2062 7566 6665 stalls the buffe\n-00008c30: 7220 7072 6576 696f 7573 6c79 2069 6e73 r previously ins\n-00008c40: 7461 6c6c 6564 2062 7920 2a6e 6f74 650a talled by *note.\n-00008c50: 2020 2020 2053 6574 5f42 7566 6665 7220 Set_Buffer \n-00008c60: 2870 726f 6365 6475 7265 293a 3a2e 2020 (procedure)::. \n-00008c70: 4966 2061 6e79 2064 6174 6120 6973 2073 If any data is s\n-00008c80: 7469 6c6c 2070 7265 7365 6e74 2069 6e20 till present in \n-00008c90: 7468 650a 2020 2020 2062 7566 6665 722c the. buffer,\n-00008ca0: 2069 7420 7769 6c6c 2062 6520 6c6f 7374 it will be lost\n-00008cb0: 2e20 2054 6f20 6176 6f69 6420 7468 6973 . To avoid this\n-00008cc0: 2073 6974 7561 7469 6f6e 2c20 7468 6520 situation, the \n-00008cd0: 6275 6666 6572 2063 616e 0a20 2020 2020 buffer can. \n-00008ce0: 6265 2066 6c75 7368 6564 2062 7920 6361 be flushed by ca\n-00008cf0: 6c6c 696e 6720 2a6e 6f74 6520 4765 7420 lling *note Get \n-00008d00: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n-00008d10: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00008d20: 732e 696e 666f 2c20 204e 6f64 653a 2053 s.info, Node: S\n-00008d30: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n-00008d40: 2070 6163 6b61 6765 2c20 204e 6578 743a package, Next:\n-00008d50: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-00008d60: 7061 636b 6167 652c 2020 5072 6576 3a20 package, Prev: \n-00008d70: 536f 636b 6574 7320 7061 636b 6167 652c Sockets package,\n-00008d80: 2020 5570 3a20 546f 700a 0a35 2053 6f63 Up: Top..5 Soc\n-00008d90: 6b65 7473 2e4d 756c 7469 6361 7374 2070 kets.Multicast p\n-00008da0: 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a 2a2a ackage.*********\n-00008db0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00008dc0: 2a2a 0a0a 5468 6520 e280 9853 6f63 6b65 **..The ...Socke\n-00008dd0: 7473 2e4d 756c 7469 6361 7374 e280 9920 ts.Multicast... \n-00008de0: 616c 6c6f 7773 2074 6865 2063 7265 6174 allows the creat\n-00008df0: 696f 6e20 6f66 2049 5020 6d75 6c74 6963 ion of IP multic\n-00008e00: 6173 7420 736f 636b 6574 732e 0a0a 202d ast sockets... -\n-00008e10: 2d20 536f 636b 6574 732e 4d75 6c74 6963 - Sockets.Multic\n-00008e20: 6173 742e 4d75 6c74 6963 6173 745f 536f ast.Multicast_So\n-00008e30: 636b 6574 5f46 443a 2074 7970 6520 4d75 cket_FD: type Mu\n-00008e40: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n-00008e50: 4420 6973 0a20 2020 2020 2020 2020 206e D is. n\n-00008e60: 6577 2053 6f63 6b65 745f 4644 2077 6974 ew Socket_FD wit\n-00008e70: 6820 7072 6976 6174 653b 0a20 2020 2020 h private;. \n-00008e80: 5468 6520 e280 984d 756c 7469 6361 7374 The ...Multicast\n-00008e90: 5f53 6f63 6b65 745f 4644 e280 9920 7461 _Socket_FD... ta\n-00008ea0: 6767 6564 2074 7970 6520 6465 7269 7665 gged type derive\n-00008eb0: 7320 6672 6f6d 2074 6865 20e2 8098 536f s from the ...So\n-00008ec0: 636b 6574 5f46 44e2 8099 0a20 2020 2020 cket_FD.... \n-00008ed0: 7479 7065 2e20 2049 7420 6765 7473 2069 type. It gets i\n-00008ee0: 6e69 7469 616c 697a 6564 2062 7920 6361 nitialized by ca\n-00008ef0: 6c6c 696e 6720 2a6e 6f74 6520 4372 6561 lling *note Crea\n-00008f00: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-00008f10: 6b65 740a 2020 2020 2028 6675 6e63 7469 ket. (functi\n-00008f20: 6f6e 293a 3a2e 2020 416e 2075 6e69 6e69 on)::. An unini\n-00008f30: 7469 616c 697a 6564 20e2 8098 4d75 6c74 tialized ...Mult\n-00008f40: 6963 6173 745f 536f 636b 6574 5f46 44e2 icast_Socket_FD.\n-00008f50: 8099 2063 616e 2062 650a 2020 2020 2073 .. can be. s\n-00008f60: 7563 6365 7373 6675 6c6c 7920 636f 6d70 uccessfully comp\n-00008f70: 6172 6564 2074 6f20 e280 984e 756c 6c5f ared to ...Null_\n-00008f80: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-00008f90: 5f46 44e2 8099 2e0a 0a2a 204d 656e 753a _FD......* Menu:\n-00008fa0: 0a0a 2a20 4372 6561 7465 5f4d 756c 7469 ..* Create_Multi\n-00008fb0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n-00008fc0: 6374 696f 6e29 3a3a 0a20 2020 2020 2020 ction)::. \n-00008fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008fe0: 2043 7265 6174 6520 616e 2049 5020 6d75 Create an IP mu\n-00008ff0: 6c74 6963 6173 7420 736f 636b 6574 0a2a lticast socket.*\n-00009000: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-00009010: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-00009020: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n-00009030: 2020 2020 2020 2020 2020 2020 2020 4372 Cr\n-00009040: 6561 7465 2061 6e20 4950 206d 756c 7469 eate an IP multi\n-00009050: 6361 7374 2073 6f63 6b65 740a 0a1f 0a46 cast socket....F\n-00009060: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-00009070: 696e 666f 2c20 204e 6f64 653a 2043 7265 info, Node: Cre\n-00009080: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-00009090: 636b 6574 2028 6675 6e63 7469 6f6e 292c cket (function),\n-000090a0: 2020 4e65 7874 3a20 4372 6561 7465 5f4d Next: Create_M\n-000090b0: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n-000090c0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-000090d0: 763a 2043 7265 6174 655f 4d75 6c74 6963 v: Create_Multic\n-000090e0: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-000090f0: 7469 6f6e 292c 2020 5570 3a20 536f 636b tion), Up: Sock\n-00009100: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa\n-00009110: 636b 6167 650a 0a43 7265 6174 655f 4d75 ckage..Create_Mu\n-00009120: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-00009130: 6675 6e63 7469 6f6e 290a 3d3d 3d3d 3d3d function).======\n-00009140: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00009150: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5055 ============..PU\n-00009160: 5250 4f53 450a 2020 2020 2043 7265 6174 RPOSE. Creat\n-00009170: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n-00009180: 7420 736f 636b 6574 0a50 524f 544f 5459 t socket.PROTOTY\n-00009190: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-000091a0: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n-000091b0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-000091c0: 6f63 6b65 743a 2066 756e 6374 696f 6e0a ocket: function.\n-000091d0: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-000091e0: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-000091f0: 536f 636b 6574 2028 4752 4f55 5020 3a20 Socket (GROUP : \n-00009200: 5374 7269 6e67 3b20 504f 5254 203a 204e String; PORT : N\n-00009210: 6174 7572 616c 3b0a 2020 2020 2020 2020 atural;. \n-00009220: 2020 2020 2020 2054 544c 203a 2050 6f73 TTL : Pos\n-00009230: 6974 6976 6520 3a3d 2031 363b 2053 454c itive := 16; SEL\n-00009240: 465f 4c4f 4f50 203a 2042 6f6f 6c65 616e F_LOOP : Boolean\n-00009250: 203a 3d20 5472 7565 3b0a 2020 2020 2020 := True;. \n-00009260: 2020 2020 2020 2020 204c 4f43 414c 5f49 LOCAL_I\n-00009270: 4620 3a20 5374 7269 6e67 203a 3d20 302e F : String := 0.\n-00009280: 302e 302e 3029 0a20 2020 2020 2020 2020 0.0.0). \n-00009290: 2020 2020 2020 7265 7475 726e 204d 756c return Mul\n-000092a0: 7469 6361 7374 5f53 6f63 6b65 745f 4644 ticast_Socket_FD\n-000092b0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-000092c0: 2020 2047 524f 5550 2020 2020 2020 696e GROUP in\n-000092d0: 2020 2020 2020 2020 2049 5020 6164 6472 IP addr\n-000092e0: 6573 7320 6f66 2074 6865 206d 756c 7469 ess of the multi\n-000092f0: 6361 7374 2067 726f 7570 2074 6f0a 2020 cast group to. \n-00009300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009310: 2020 2020 2020 2020 206a 6f69 6e0a 2020 join. \n-00009320: 2020 2050 4f52 5420 2020 2020 2020 696e PORT in\n-00009330: 2020 2020 2020 2020 2050 6f72 7420 6f66 Port of\n-00009340: 2074 6865 206d 756c 7469 6361 7374 2067 the multicast g\n-00009350: 726f 7570 2074 6f20 6a6f 696e 0a20 2020 roup to join. \n-00009360: 2020 5454 4c20 2020 2020 2020 2069 6e20 TTL in \n-00009370: 2020 2020 2020 2020 5469 6d65 2d74 6f2d Time-to-\n-00009380: 6c69 7665 206f 6620 7365 6e74 2070 6163 live of sent pac\n-00009390: 6b65 7473 0a20 2020 2020 5345 4c46 5f4c kets. SELF_L\n-000093a0: 4f4f 5020 2069 6e20 2020 2020 2020 2020 OOP in \n-000093b0: 5368 6f75 6c64 2074 6865 2073 6f63 6b65 Should the socke\n-000093c0: 7420 7265 6365 6976 6520 7468 6520 7061 t receive the pa\n-000093d0: 636b 6574 730a 2020 2020 2020 2020 2020 ckets. \n-000093e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000093f0: 2073 656e 7420 6672 6f6d 2074 6865 206c sent from the l\n-00009400: 6f63 616c 2068 6f73 743f 0a20 2020 2020 ocal host?. \n-00009410: 4c4f 4341 4c5f 4946 2020 2069 6e20 2020 LOCAL_IF in \n-00009420: 2020 2020 2020 4164 6472 6573 7320 6f66 Address of\n-00009430: 2074 6865 206c 6f63 616c 2069 6e74 6572 the local inter\n-00009440: 6661 6365 2074 6f20 7573 650a 0a52 4554 face to use..RET\n-00009450: 5552 4e20 5641 4c55 450a 2020 2020 2054 URN VALUE. T\n-00009460: 6865 206e 6577 2069 6e69 7469 616c 697a he new initializ\n-00009470: 6564 206d 756c 7469 6361 7374 2073 6f63 ed multicast soc\n-00009480: 6b65 740a 0a44 4553 4352 4950 5449 4f4e ket..DESCRIPTION\n-00009490: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n-000094a0: 696f 6e20 6372 6561 7465 7320 616e 2049 ion creates an I\n-000094b0: 5020 6d75 6c74 6963 6173 7420 736f 636b P multicast sock\n-000094c0: 6574 2061 7474 6163 6865 6420 746f 2061 et attached to a\n-000094d0: 2067 6976 656e 0a20 2020 2020 6772 6f75 given. grou\n-000094e0: 702c 2069 6465 6e74 6966 6965 6420 6279 p, identified by\n-000094f0: 2069 7473 2063 6c61 7373 2045 2049 5020 its class E IP \n-00009500: 6164 6472 6573 7320 616e 6420 706f 7274 address and port\n-00009510: 2e0a 0a20 2020 2020 4265 2063 6172 6566 ... Be caref\n-00009520: 756c 2077 6865 6e20 6368 6f6f 7369 6e67 ul when choosing\n-00009530: 2074 6865 2054 544c 2070 6172 616d 6574 the TTL paramet\n-00009540: 6572 206f 6620 796f 7572 2049 5020 6d75 er of your IP mu\n-00009550: 6c74 6963 6173 740a 2020 2020 2073 6f63 lticast. soc\n-00009560: 6b65 742e 2020 4d6f 7374 2049 5020 6d75 ket. Most IP mu\n-00009570: 6c74 6963 6173 7420 726f 7574 6572 7320 lticast routers \n-00009580: 646f 2069 6d70 6c65 6d65 6e74 2074 6872 do implement thr\n-00009590: 6573 686f 6c64 2d62 6173 6564 0a20 2020 eshold-based. \n-000095a0: 2020 6669 6c74 6572 696e 6720 616e 6420 filtering and \n-000095b0: 7769 6c6c 206e 6f74 206c 6574 2049 5020 will not let IP \n-000095c0: 6d75 6c74 6963 6173 7420 7061 636b 6574 multicast packet\n-000095d0: 7320 6c65 6176 6520 796f 7572 0a20 2020 s leave your. \n-000095e0: 2020 6f72 6761 6e69 7a61 7469 6f6e 2069 organization i\n-000095f0: 6620 7468 6520 5454 4c20 6f6e 2074 6865 f the TTL on the\n-00009600: 206c 6173 7420 726f 7574 6572 2069 7320 last router is \n-00009610: 736d 616c 6c65 7220 7468 616e 2031 362e smaller than 16.\n-00009620: 0a0a 2020 2020 2049 6620 3020 6973 2067 .. If 0 is g\n-00009630: 6976 656e 2066 6f72 2074 6865 2050 6f72 iven for the Por\n-00009640: 742c 2061 206c 6f63 616c 206f 6e65 2077 t, a local one w\n-00009650: 696c 6c20 6265 2063 686f 7365 6e2e 2020 ill be chosen. \n-00009660: 4974 2063 616e 0a20 2020 2020 7468 656e It can. then\n-00009670: 206c 6174 6572 2062 6520 7265 7472 6965 later be retrie\n-00009680: 7665 6420 7573 696e 6720 4765 745f 536f ved using Get_So\n-00009690: 636b 5f50 6f72 742e 0a0a 4558 414d 504c ck_Port...EXAMPL\n-000096a0: 450a 0a0a 5345 4520 414c 534f 0a20 2020 E...SEE ALSO. \n-000096b0: 2020 2a6e 6f74 6520 5365 6e64 2028 7072 *note Send (pr\n-000096c0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n-000096d0: 202a 6e6f 7465 2053 6875 7464 6f77 6e20 *note Shutdown \n-000096e0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-000096f0: 2a20 4d65 6e75 3a0a 0a43 7265 6174 655f * Menu:..Create_\n-00009700: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-00009710: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-00009720: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00009740: 5055 5250 4f53 450a 2020 2020 2043 7265 PURPOSE. Cre\n-00009750: 6174 6520 616e 2049 5020 6d75 6c74 6963 ate an IP multic\n-00009760: 6173 7420 736f 636b 6574 0a50 524f 544f ast socket.PROTO\n-00009770: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-00009780: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n-00009790: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-000097a0: 5f53 6f63 6b65 743a 2066 756e 6374 696f _Socket: functio\n-000097b0: 6e0a 2020 2020 2020 2020 2020 2020 2020 n. \n-000097c0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-000097d0: 745f 536f 636b 6574 2028 4752 4f55 5020 t_Socket (GROUP \n-000097e0: 3a20 5374 7269 6e67 3b20 504f 5254 203a : String; PORT :\n-000097f0: 2050 6f73 6974 6976 653b 0a20 2020 2020 Positive;. \n-00009800: 2020 2020 2020 2020 2020 4c4f 4341 4c5f LOCAL_\n-00009810: 504f 5254 203a 204e 6174 7572 616c 3b20 PORT : Natural; \n-00009820: 5454 4c20 3a20 506f 7369 7469 7665 203a TTL : Positive :\n-00009830: 3d20 3136 3b0a 2020 2020 2020 2020 2020 = 16;. \n-00009840: 2020 2020 204c 4f43 414c 5f49 4620 3a20 LOCAL_IF : \n-00009850: 5374 7269 6e67 203a 3d20 302e 302e 302e String := 0.0.0.\n-00009860: 3029 0a20 2020 2020 2020 2020 2020 2020 0). \n-00009870: 2020 7265 7475 726e 204d 756c 7469 6361 return Multica\n-00009880: 7374 5f53 6f63 6b65 745f 4644 3b0a 0a50 st_Socket_FD;..P\n-00009890: 4152 414d 4554 4552 530a 2020 2020 2047 ARAMETERS. G\n-000098a0: 524f 5550 2020 2020 2020 696e 2020 2020 ROUP in \n-000098b0: 2020 2020 2049 5020 6164 6472 6573 7320 IP address \n-000098c0: 6f66 2074 6865 206d 756c 7469 6361 7374 of the multicast\n-000098d0: 2067 726f 7570 2074 6f0a 2020 2020 2020 group to. \n-000098e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000098f0: 2020 2020 206a 6f69 6e0a 2020 2020 2050 join. P\n-00009900: 4f52 5420 2020 2020 2020 696e 2020 2020 ORT in \n-00009910: 2020 2020 2050 6f72 7420 6f66 2074 6865 Port of the\n-00009920: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n-00009930: 2074 6f20 6a6f 696e 0a20 2020 2020 4c4f to join. LO\n-00009940: 4341 4c5f 504f 5254 2069 6e20 2020 2020 CAL_PORT in \n-00009950: 2020 2020 4c6f 6361 6c20 706f 7274 206e Local port n\n-00009960: 756d 6265 7220 746f 2075 7365 0a20 2020 umber to use. \n-00009970: 2020 5454 4c20 2020 2020 2020 2069 6e20 TTL in \n-00009980: 2020 2020 2020 2020 5469 6d65 2d74 6f2d Time-to-\n-00009990: 6c69 7665 206f 6620 7365 6e74 2070 6163 live of sent pac\n-000099a0: 6b65 7473 0a20 2020 2020 4c4f 4341 4c5f kets. LOCAL_\n-000099b0: 4946 2020 2069 6e20 2020 2020 2020 2020 IF in \n-000099c0: 4164 6472 6573 7320 6f66 2074 6865 206c Address of the l\n-000099d0: 6f63 616c 2069 6e74 6572 6661 6365 2074 ocal interface t\n-000099e0: 6f20 7573 650a 0a52 4554 5552 4e20 5641 o use..RETURN VA\n-000099f0: 4c55 450a 2020 2020 2054 6865 206e 6577 LUE. The new\n-00009a00: 2069 6e69 7469 616c 697a 6564 206d 756c initialized mul\n-00009a10: 7469 6361 7374 2073 6f63 6b65 740a 0a44 ticast socket..D\n-00009a20: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00009a30: 5468 6973 2066 756e 6374 696f 6e20 6372 This function cr\n-00009a40: 6561 7465 7320 616e 2049 5020 6d75 6c74 eates an IP mult\n-00009a50: 6963 6173 7420 736f 636b 6574 2061 7474 icast socket att\n-00009a60: 6163 6865 6420 746f 2061 2067 6976 656e ached to a given\n-00009a70: 0a20 2020 2020 6772 6f75 702c 2069 6465 . group, ide\n-00009a80: 6e74 6966 6965 6420 6279 2069 7473 2063 ntified by its c\n-00009a90: 6c61 7373 2045 2049 5020 6164 6472 6573 lass E IP addres\n-00009aa0: 7320 616e 6420 706f 7274 2e20 2049 660a s and port. If.\n-00009ab0: 2020 2020 204c 6f63 616c 5f50 6f72 7420 Local_Port \n-00009ac0: 6973 2030 2c20 6120 6672 6565 2070 6f72 is 0, a free por\n-00009ad0: 7420 7769 6c6c 2061 7574 6f6d 6174 6963 t will automatic\n-00009ae0: 616c 6c79 2062 6520 6368 6f73 656e 2062 ally be chosen b\n-00009af0: 7920 796f 7572 0a20 2020 2020 6f70 6572 y your. oper\n-00009b00: 6174 696e 6720 7379 7374 656d 2e0a 0a20 ating system... \n-00009b10: 2020 2020 5468 6973 2066 756e 6374 696f This functio\n-00009b20: 6e20 7368 6f75 6c64 2062 6520 7573 6564 n should be used\n-00009b30: 2077 6865 6e20 796f 7520 7761 6e74 2074 when you want t\n-00009b40: 6f20 7365 6e64 2070 6163 6b65 7473 2074 o send packets t\n-00009b50: 6f20 610a 2020 2020 206d 756c 7469 6361 o a. multica\n-00009b60: 7374 2067 726f 7570 2077 6974 686f 7574 st group without\n-00009b70: 2072 6563 6569 7669 6e67 2061 6e79 2070 receiving any p\n-00009b80: 6163 6b65 7420 796f 7572 7365 6c66 2e0a acket yourself..\n-00009b90: 0a45 5841 4d50 4c45 0a20 2020 2020 2020 .EXAMPLE. \n-00009ba0: 2020 2064 6563 6c61 7265 0a20 2020 2020 declare. \n-00009bb0: 2020 2020 2020 2020 536f 636b 203a 204d Sock : M\n-00009bc0: 756c 7469 6361 7374 5f53 6f63 6b65 745f ulticast_Socket_\n-00009bd0: 4644 3b0a 2020 2020 2020 2020 2020 6265 FD;. be\n-00009be0: 6769 6e0a 2020 2020 2020 2020 2020 2020 gin. \n-00009bf0: 202d 2d20 4372 6561 7465 2061 206d 756c -- Create a mul\n-00009c00: 7469 6361 7374 2073 6f63 6b65 7420 6f6e ticast socket on\n-00009c10: 2067 726f 7570 2032 3234 2e31 2e32 2e33 group 224.1.2.3\n-00009c20: 2070 6f72 7420 3837 3633 0a20 2020 2020 port 8763. \n-00009c30: 2020 2020 2020 2020 536f 636b 203a 3d20 Sock := \n-00009c40: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-00009c50: 5f53 6f63 6b65 7420 2822 3232 342e 312e _Socket (\"224.1.\n-00009c60: 322e 3322 2c20 3837 3633 293b 0a20 2020 2.3\", 8763);. \n-00009c70: 2020 2020 2020 2020 2020 2d2d 2050 6572 -- Per\n-00009c80: 666f 726d 2073 6f6d 6520 6f70 6572 6174 form some operat\n-00009c90: 696f 6e73 206f 6e20 736f 636b 6574 0a20 ions on socket. \n-00009ca0: 2020 2020 2020 2020 2020 2020 5b2e 2e2e [...\n-00009cb0: 5d0a 2020 2020 2020 2020 2020 2020 202d ]. -\n-00009cc0: 2d20 5368 7574 646f 776e 2074 6865 2073 - Shutdown the s\n-00009cd0: 6f63 6b65 7420 696e 2062 6f74 6820 6469 ocket in both di\n-00009ce0: 7265 6374 696f 6e73 0a20 2020 2020 2020 rections. \n-00009cf0: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n-00009d00: 536f 636b 2c20 426f 7468 293b 0a20 2020 Sock, Both);. \n-00009d10: 2020 2020 2020 2065 6e64 3b0a 0a53 4545 end;..SEE\n-00009d20: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-00009d30: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-00009d40: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00009d50: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n-00009d60: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00009d70: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00009d80: 2c20 204e 6f64 653a 2053 6f63 6b65 7473 , Node: Sockets\n-00009d90: 2e4e 616d 696e 6720 7061 636b 6167 652c .Naming package,\n-00009da0: 2020 4e65 7874 3a20 436f 6e74 7269 6275 Next: Contribu\n-00009db0: 746f 7273 2c20 2050 7265 763a 2053 6f63 tors, Prev: Soc\n-00009dc0: 6b65 7473 2e4d 756c 7469 6361 7374 2070 kets.Multicast p\n-00009dd0: 6163 6b61 6765 2c20 2055 703a 2054 6f70 ackage, Up: Top\n-00009de0: 0a0a 3620 536f 636b 6574 732e 4e61 6d69 ..6 Sockets.Nami\n-00009df0: 6e67 2070 6163 6b61 6765 0a2a 2a2a 2a2a ng package.*****\n-00009e00: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00009e10: 2a2a 2a0a 0a54 6865 20e2 8098 536f 636b ***..The ...Sock\n-00009e20: 6574 732e 4e61 6d69 6e67 e280 9920 7061 ets.Naming... pa\n-00009e30: 636b 6167 6520 636f 6e74 6169 6e73 2074 ckage contains t\n-00009e40: 7970 6573 2061 6e64 2068 656c 7065 7220 ypes and helper \n-00009e50: 6675 6e63 7469 6f6e 7320 6e65 6564 6564 functions needed\n-00009e60: 0a74 6f20 6d61 6e69 7075 6c61 7465 2049 .to manipulate I\n-00009e70: 6e74 6572 6e65 7420 686f 7374 206e 616d nternet host nam\n-00009e80: 6573 2061 6e64 2061 6464 7265 7373 6573 es and addresses\n-00009e90: 2e0a 0a20 2d2d 2053 6f63 6b65 7473 2e4e ... -- Sockets.N\n-00009ea0: 616d 696e 672e 4164 6472 6573 733a 2074 aming.Address: t\n-00009eb0: 7970 6520 4164 6472 6573 7320 6973 2072 ype Address is r\n-00009ec0: 6563 6f72 640a 2020 2020 2020 2020 2020 ecord. \n-00009ed0: 2048 312c 2048 322c 2048 332c 2048 3420 H1, H2, H3, H4 \n-00009ee0: 3a20 4164 6472 6573 735f 436f 6d70 6f6e : Address_Compon\n-00009ef0: 656e 743b 0a20 2020 2020 2020 2020 2065 ent;. e\n-00009f00: 6e64 2072 6563 6f72 643b 0a20 2020 2020 nd record;. \n-00009f10: 5468 6973 2074 7970 6520 7265 7072 6573 This type repres\n-00009f20: 656e 7473 2061 6e20 4950 7634 2061 6464 ents an IPv4 add\n-00009f30: 7265 7373 2077 6974 6820 e280 9848 31e2 ress with ...H1.\n-00009f40: 8099 2062 6569 6e67 2074 6865 2066 6972 .. being the fir\n-00009f50: 7374 0a20 2020 2020 6f63 7465 7420 616e st. octet an\n-00009f60: 6420 e280 9848 34e2 8099 2074 6865 206c d ...H4... the l\n-00009f70: 6173 7420 6f6e 652e 2020 466f 7220 6578 ast one. For ex\n-00009f80: 616d 706c 652c 2031 3337 2e31 3934 2e31 ample, 137.194.1\n-00009f90: 3631 2e32 2069 730a 2020 2020 2072 6570 61.2 is. rep\n-00009fa0: 7265 7365 6e74 6564 2062 7920 e280 9848 resented by ...H\n-00009fb0: 313d 3133 372c 2048 323d 3139 342c 2048 1=137, H2=194, H\n-00009fc0: 333d 3136 312c 2048 343d 32e2 8099 2e0a 3=161, H4=2.....\n-00009fd0: 0a20 2d2d 2053 6f63 6b65 7473 2e4e 616d . -- Sockets.Nam\n-00009fe0: 696e 672e 4164 6472 6573 735f 4172 7261 ing.Address_Arra\n-00009ff0: 793a 2074 7970 6520 4164 6472 6573 735f y: type Address_\n-0000a000: 4172 7261 7920 6973 2061 7272 6179 2028 Array is array (\n-0000a010: 506f 7369 7469 7665 0a20 2020 2020 2020 Positive. \n-0000a020: 2020 2072 616e 6765 203c 3e29 206f 6620 range <>) of \n-0000a030: 4164 6472 6573 733b 0a20 2020 2020 4865 Address;. He\n-0000a040: 6c70 6572 2074 7970 650a 0a20 2d2d 2053 lper type.. -- S\n-0000a050: 6f63 6b65 7473 2e4e 616d 696e 672e 4164 ockets.Naming.Ad\n-0000a060: 6472 6573 735f 436f 6d70 6f6e 656e 743a dress_Component:\n-0000a070: 2074 7970 6520 4164 6472 6573 735f 436f type Address_Co\n-0000a080: 6d70 6f6e 656e 7420 6973 204e 6174 7572 mponent is Natur\n-0000a090: 616c 0a20 2020 2020 2020 2020 2072 616e al. ran\n-0000a0a0: 6765 2030 202e 2e20 3235 353b 0a20 2020 ge 0 .. 255;. \n-0000a0b0: 2020 4865 6c70 6572 2074 7970 650a 0a20 Helper type.. \n-0000a0c0: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-0000a0d0: 672e 486f 7374 5f45 6e74 7279 3a20 7479 g.Host_Entry: ty\n-0000a0e0: 7065 2048 6f73 745f 456e 7472 7920 284e pe Host_Entry (N\n-0000a0f0: 5f41 6c69 6173 6573 2c20 4e5f 4164 6472 _Aliases, N_Addr\n-0000a100: 6573 7365 7320 3a0a 2020 2020 2020 2020 esses :. \n-0000a110: 2020 4e61 7475 7261 6c29 2069 7320 6e65 Natural) is ne\n-0000a120: 7720 4164 612e 4669 6e61 6c69 7a61 7469 w Ada.Finalizati\n-0000a130: 6f6e 2e43 6f6e 7472 6f6c 6c65 6420 7769 on.Controlled wi\n-0000a140: 7468 2072 6563 6f72 640a 2020 2020 2020 th record. \n-0000a150: 2020 2020 2020 4e61 6d65 203a 2053 7472 Name : Str\n-0000a160: 696e 675f 4163 6365 7373 3b0a 2020 2020 ing_Access;. \n-0000a170: 2020 2020 2020 2020 416c 6961 7365 7320 Aliases \n-0000a180: 3a20 5374 7269 6e67 5f41 7272 6179 2028 : String_Array (\n-0000a190: 3120 2e2e 204e 5f41 6c69 6173 6573 293b 1 .. N_Aliases);\n-0000a1a0: 0a20 2020 2020 2020 2020 2020 2041 6464 . Add\n-0000a1b0: 7265 7373 6573 203a 2041 6464 7265 7373 resses : Address\n-0000a1c0: 5f41 7272 6179 2028 3120 2e2e 204e 5f41 _Array (1 .. N_A\n-0000a1d0: 6464 7265 7373 6573 293b 0a20 2020 2020 ddresses);. \n-0000a1e0: 2020 2020 2065 6e64 2072 6563 6f72 643b end record;\n-0000a1f0: 0a20 2020 2020 5468 6520 e280 9848 6f73 . The ...Hos\n-0000a200: 745f 456e 7472 79e2 8099 2074 7970 6520 t_Entry... type \n-0000a210: 686f 6c64 7320 6120 7365 7420 6f66 206e holds a set of n\n-0000a220: 616d 6573 2061 6e64 2049 5020 6164 6472 ames and IP addr\n-0000a230: 6573 7365 730a 2020 2020 2061 7373 6f63 esses. assoc\n-0000a240: 6961 7465 6420 7769 7468 2061 2068 6f73 iated with a hos\n-0000a250: 742e 2020 4561 6368 2068 6f73 7420 6361 t. Each host ca\n-0000a260: 6e20 6861 7665 2073 6576 6572 616c 2049 n have several I\n-0000a270: 5020 6164 6472 6573 7320 6173 0a20 2020 P address as. \n-0000a280: 2020 7765 6c6c 2061 7320 7365 7665 7261 well as severa\n-0000a290: 6c20 616c 6961 7365 732e 0a0a 202d 2d20 l aliases... -- \n-0000a2a0: 536f 636b 6574 732e 4e61 6d69 6e67 2e53 Sockets.Naming.S\n-0000a2b0: 7472 696e 675f 4163 6365 7373 3a20 7479 tring_Access: ty\n-0000a2c0: 7065 2053 7472 696e 675f 4163 6365 7373 pe String_Access\n-0000a2d0: 2069 7320 6163 6365 7373 2053 7472 696e is access Strin\n-0000a2e0: 673b 0a20 2020 2020 4865 6c70 6572 2074 g;. Helper t\n-0000a2f0: 7970 650a 0a20 2d2d 2053 6f63 6b65 7473 ype.. -- Sockets\n-0000a300: 2e4e 616d 696e 672e 5374 7269 6e67 5f41 .Naming.String_A\n-0000a310: 7272 6179 3a20 7479 7065 2053 7472 696e rray: type Strin\n-0000a320: 675f 4172 7261 7920 6973 2061 7272 6179 g_Array is array\n-0000a330: 2028 506f 7369 7469 7665 0a20 2020 2020 (Positive. \n-0000a340: 2020 2020 2072 616e 6765 203c 3e29 206f range <>) o\n-0000a350: 6620 5374 7269 6e67 5f41 6363 6573 733b f String_Access;\n-0000a360: 0a20 2020 2020 4865 6c70 6572 2074 7970 . Helper typ\n-0000a370: 650a 0a2a 204d 656e 753a 0a0a 2a20 4164 e..* Menu:..* Ad\n-0000a380: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000a390: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n-0000a3a0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000a3b0: 7420 7468 6520 4950 2061 6464 7265 7373 t the IP address\n-0000a3c0: 206f 6620 6120 686f 7374 0a2a 2041 6e79 of a host.* Any\n-0000a3d0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-0000a3e0: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n-0000a3f0: 2020 2020 2020 2020 2020 2020 2020 5370 Sp\n-0000a400: 6563 6961 6c20 6164 6472 6573 7320 7265 ecial address re\n-0000a410: 7072 6573 656e 7469 6e67 2061 6e79 2061 presenting any a\n-0000a420: 6464 7265 7373 206f 6e20 7468 6520 6c6f ddress on the lo\n-0000a430: 6361 6c20 686f 7374 0a2a 2047 6574 5f50 cal host.* Get_P\n-0000a440: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n-0000a450: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n-0000a460: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-0000a470: 7472 6965 7665 2049 5020 6164 6472 6573 trieve IP addres\n-0000a480: 7320 6f66 2072 656d 6f74 6520 686f 7374 s of remote host\n-0000a490: 0a2a 2047 6574 5f50 6565 725f 506f 7274 .* Get_Peer_Port\n-0000a4a0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n-0000a4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a4c0: 2020 2020 2020 5265 7472 6965 7665 2070 Retrieve p\n-0000a4d0: 6f72 7420 7573 6564 2062 7920 7265 6d6f ort used by remo\n-0000a4e0: 7465 2068 6f73 740a 2a20 4765 745f 536f te host.* Get_So\n-0000a4f0: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n-0000a500: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n-0000a510: 2020 2020 2020 2020 2020 2020 2052 6574 Ret\n-0000a520: 7269 6576 6520 4950 2061 6464 7265 7373 rieve IP address\n-0000a530: 206f 6620 6c6f 6361 6c20 686f 7374 0a2a of local host.*\n-0000a540: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n-0000a550: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-0000a560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a570: 2020 2020 5265 7472 6965 7665 2070 6f72 Retrieve por\n-0000a580: 7420 7573 6564 2062 7920 6c6f 6361 6c20 t used by local \n-0000a590: 686f 7374 0a2a 2048 6f73 745f 4e61 6d65 host.* Host_Name\n-0000a5a0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n-0000a5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a5c0: 2020 2020 2020 4765 7420 7468 6520 6e61 Get the na\n-0000a5d0: 6d65 206f 6620 7468 6520 6375 7272 656e me of the curren\n-0000a5e0: 7420 686f 7374 0a2a 2049 6d61 6765 2028 t host.* Image (\n-0000a5f0: 6675 6e63 7469 6f6e 293a 3a20 2020 204d function):: M\n-0000a600: 616b 6520 6120 7374 7269 6e67 2066 726f ake a string fro\n-0000a610: 6d20 616e 2061 6464 7265 7373 0a2a 2049 m an address.* I\n-0000a620: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n-0000a630: 5020 2866 756e 6374 696f 6e29 3a3a 0a20 P (function)::. \n-0000a640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a650: 2020 2020 2020 2047 6574 2061 6464 7265 Get addre\n-0000a660: 7373 6573 2061 6e64 206e 616d 6573 206f sses and names o\n-0000a670: 6620 6120 686f 7374 0a2a 2049 735f 4950 f a host.* Is_IP\n-0000a680: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-0000a690: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n-0000a6a0: 2020 2020 2020 2020 2020 2020 2020 4368 Ch\n-0000a6b0: 6563 6b20 6966 2067 6976 656e 2073 7472 eck if given str\n-0000a6c0: 696e 6720 6973 2061 2076 616c 6964 2049 ing is a valid I\n-0000a6d0: 5020 6164 6472 6573 730a 2a20 4e61 6d65 P address.* Name\n-0000a6e0: 5f4f 6620 2866 756e 6374 696f 6e29 3a3a _Of (function)::\n-0000a6f0: 2020 4f66 6669 6369 616c 206e 616d 6520 Official name \n-0000a700: 6f66 2074 6865 2068 6f73 740a 2a20 5661 of the host.* Va\n-0000a710: 6c75 6520 2866 756e 6374 696f 6e29 3a3a lue (function)::\n-0000a720: 2020 2020 5472 616e 7366 6f72 6d20 6120 Transform a \n-0000a730: 7374 7269 6e67 2069 6e74 6f20 616e 2061 string into an a\n-0000a740: 6464 7265 7373 0a0a 1f0a 4669 6c65 3a20 ddress....File: \n-0000a750: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-0000a760: 2020 4e6f 6465 3a20 4164 6472 6573 735f Node: Address_\n-0000a770: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n-0000a780: 4e65 7874 3a20 416e 795f 4164 6472 6573 Next: Any_Addres\n-0000a790: 7320 2866 756e 6374 696f 6e29 2c20 2055 s (function), U\n-0000a7a0: 703a 2053 6f63 6b65 7473 2e4e 616d 696e p: Sockets.Namin\n-0000a7b0: 6720 7061 636b 6167 650a 0a41 6464 7265 g package..Addre\n-0000a7c0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n-0000a7d0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-0000a7e0: 3d3d 3d3d 3d3d 0a0a 5055 5250 4f53 450a ======..PURPOSE.\n-0000a7f0: 2020 2020 2047 6574 2074 6865 2049 5020 Get the IP \n-0000a800: 6164 6472 6573 7320 6f66 2061 2068 6f73 address of a hos\n-0000a810: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n-0000a820: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n-0000a830: 696e 672e 4164 6472 6573 735f 4f66 3a20 ing.Address_Of: \n-0000a840: 6675 6e63 7469 6f6e 2041 6464 7265 7373 function Address\n-0000a850: 5f4f 660a 2020 2020 2020 2020 2020 2020 _Of. \n-0000a860: 2020 2028 534f 4d45 5448 494e 4720 3a20 (SOMETHING : \n-0000a870: 5374 7269 6e67 290a 2020 2020 2020 2020 String). \n-0000a880: 2020 2020 2020 2072 6574 7572 6e20 4164 return Ad\n-0000a890: 6472 6573 733b 0a0a 5041 5241 4d45 5445 dress;..PARAMETE\n-0000a8a0: 5253 0a20 2020 2020 534f 4d45 5448 494e RS. SOMETHIN\n-0000a8b0: 4720 2069 6e20 2020 2020 2020 2020 486f G in Ho\n-0000a8c0: 7374 206e 616d 6520 6f72 2049 5020 6164 st name or IP ad\n-0000a8d0: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n-0000a8e0: 4c55 450a 2020 2020 2049 5076 3420 6164 LUE. IPv4 ad\n-0000a8f0: 6472 6573 730a 0a45 5843 4550 5449 4f4e dress..EXCEPTION\n-0000a900: 530a 2020 2020 20e2 8098 4e61 6d69 6e67 S. ...Naming\n-0000a910: 5f45 7272 6f72 e280 9920 2020 2020 4e6f _Error... No\n-0000a920: 2069 6e66 6f72 6d61 7469 6f6e 2061 7661 information ava\n-0000a930: 696c 6162 6c65 2066 6f72 2074 6869 7320 ilable for this \n-0000a940: 6e61 6d65 206f 720a 2020 2020 2020 2020 name or. \n-0000a950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a960: 6164 6472 6573 730a 0a53 4545 2041 4c53 address..SEE ALS\n-0000a970: 4f0a 2020 2020 202a 6e6f 7465 204e 616d O. *note Nam\n-0000a980: 655f 4f66 2028 6675 6e63 7469 6f6e 293a e_Of (function):\n-0000a990: 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 :...* Menu:..* A\n-0000a9a0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n-0000a9b0: 7469 6f6e 293a 3a0a 2a20 4765 745f 5065 tion)::.* Get_Pe\n-0000a9c0: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n-0000a9d0: 6e29 3a3a 0a2a 2047 6574 5f50 6565 725f n)::.* Get_Peer_\n-0000a9e0: 506f 7274 2028 6675 6e63 7469 6f6e 293a Port (function):\n-0000a9f0: 3a0a 2a20 4765 745f 536f 636b 5f41 6464 :.* Get_Sock_Add\n-0000aa00: 7220 2866 756e 6374 696f 6e29 3a3a 0a2a r (function)::.*\n-0000aa10: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n-0000aa20: 6675 6e63 7469 6f6e 293a 3a0a 2a20 486f function)::.* Ho\n-0000aa30: 7374 5f4e 616d 6520 2866 756e 6374 696f st_Name (functio\n-0000aa40: 6e29 3a3a 0a2a 2049 6d61 6765 2028 6675 n)::.* Image (fu\n-0000aa50: 6e63 7469 6f6e 293a 3a0a 2a20 496e 666f nction)::.* Info\n-0000aa60: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP (\n-0000aa70: 6675 6e63 7469 6f6e 293a 3a0a 2a20 4973 function)::.* Is\n-0000aa80: 5f49 505f 4164 6472 6573 7320 2866 756e _IP_Address (fun\n-0000aa90: 6374 696f 6e29 3a3a 0a2a 204e 616d 655f ction)::.* Name_\n-0000aaa0: 4f66 2028 6675 6e63 7469 6f6e 293a 3a0a Of (function)::.\n-0000aab0: 2a20 5661 6c75 6520 2866 756e 6374 696f * Value (functio\n-0000aac0: 6e29 3a3a 0a0a 1f0a 4669 6c65 3a20 6164 n)::....File: ad\n-0000aad0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-0000aae0: 4e6f 6465 3a20 416e 795f 4164 6472 6573 Node: Any_Addres\n-0000aaf0: 7320 2866 756e 6374 696f 6e29 2c20 204e s (function), N\n-0000ab00: 6578 743a 2047 6574 5f50 6565 725f 4164 ext: Get_Peer_Ad\n-0000ab10: 6472 2028 6675 6e63 7469 6f6e 292c 2020 dr (function), \n-0000ab20: 5072 6576 3a20 4164 6472 6573 735f 4f66 Prev: Address_Of\n-0000ab30: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000ab40: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000ab50: 6e63 7469 6f6e 290a 0a41 6e79 5f41 6464 nction)..Any_Add\n-0000ab60: 7265 7373 2028 6675 6e63 7469 6f6e 290a ress (function).\n-0000ab70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000ab80: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-0000ab90: 2020 2020 2053 7065 6369 616c 2061 6464 Special add\n-0000aba0: 7265 7373 2072 6570 7265 7365 6e74 696e ress representin\n-0000abb0: 6720 616e 7920 6164 6472 6573 7320 6f6e g any address on\n-0000abc0: 2074 6865 206c 6f63 616c 2068 6f73 740a the local host.\n-0000abd0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-0000abe0: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n-0000abf0: 672e 416e 795f 4164 6472 6573 733a 2066 g.Any_Address: f\n-0000ac00: 756e 6374 696f 6e20 416e 795f 4164 6472 unction Any_Addr\n-0000ac10: 6573 730a 0a52 4554 5552 4e20 5641 4c55 ess..RETURN VALU\n-0000ac20: 450a 2020 2020 2045 7175 6976 616c 656e E. Equivalen\n-0000ac30: 7420 746f 20e2 8098 494e 4144 4452 5f41 t to ...INADDR_A\n-0000ac40: 4e59 e280 9920 696e 2074 6865 2043 2070 NY... in the C p\n-0000ac50: 726f 6772 616d 6d69 6e67 206c 616e 6775 rogramming langu\n-0000ac60: 6167 650a 0a1f 0a46 696c 653a 2061 6461 age....File: ada\n-0000ac70: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-0000ac80: 6f64 653a 2047 6574 5f50 6565 725f 4164 ode: Get_Peer_Ad\n-0000ac90: 6472 2028 6675 6e63 7469 6f6e 292c 2020 dr (function), \n-0000aca0: 4e65 7874 3a20 4765 745f 5065 6572 5f50 Next: Get_Peer_P\n-0000acb0: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), \n-0000acc0: 2050 7265 763a 2041 6e79 5f41 6464 7265 Prev: Any_Addre\n-0000acd0: 7373 2028 6675 6e63 7469 6f6e 292c 2020 ss (function), \n-0000ace0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n-0000acf0: 6675 6e63 7469 6f6e 290a 0a47 6574 5f50 function)..Get_P\n-0000ad00: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n-0000ad10: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-0000ad20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-0000ad30: 5250 4f53 450a 2020 2020 2052 6574 7269 RPOSE. Retri\n-0000ad40: 6576 6520 4950 2061 6464 7265 7373 206f eve IP address o\n-0000ad50: 6620 7265 6d6f 7465 2068 6f73 740a 5052 f remote host.PR\n-0000ad60: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-0000ad70: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-0000ad80: 4765 745f 5065 6572 5f41 6464 723a 2066 Get_Peer_Addr: f\n-0000ad90: 756e 6374 696f 6e20 4765 745f 5065 6572 unction Get_Peer\n-0000ada0: 5f41 6464 720a 2020 2020 2020 2020 2020 _Addr. \n-0000adb0: 2020 2020 2028 534f 434b 4554 203a 2053 (SOCKET : S\n-0000adc0: 6f63 6b65 745f 4644 290a 2020 2020 2020 ocket_FD). \n-0000add0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n-0000ade0: 4164 6472 6573 733b 0a0a 5041 5241 4d45 Address;..PARAME\n-0000adf0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-0000ae00: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-0000ae10: 436f 6e6e 6563 7465 6420 736f 636b 6574 Connected socket\n-0000ae20: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n-0000ae30: 5641 4c55 450a 2020 2020 2050 6565 7220 VALUE. Peer \n-0000ae40: 6164 6472 6573 730a 0a53 4545 2041 4c53 address..SEE ALS\n-0000ae50: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n-0000ae60: 5f50 6565 725f 506f 7274 2028 6675 6e63 _Peer_Port (func\n-0000ae70: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-0000ae80: 6f74 6520 4765 745f 536f 636b 5f41 6464 ote Get_Sock_Add\n-0000ae90: 7220 2866 756e 6374 696f 6e29 3a3a 2e0a r (function)::..\n-0000aea0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000aeb0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000aec0: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n-0000aed0: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000aee0: 3a20 4765 745f 536f 636b 5f41 6464 7220 : Get_Sock_Addr \n-0000aef0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-0000af00: 763a 2047 6574 5f50 6565 725f 4164 6472 v: Get_Peer_Addr\n-0000af10: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000af20: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000af30: 6e63 7469 6f6e 290a 0a47 6574 5f50 6565 nction)..Get_Pee\n-0000af40: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-0000af50: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000af60: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000af70: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n-0000af80: 6520 706f 7274 2075 7365 6420 6279 2072 e port used by r\n-0000af90: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n-0000afa0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-0000afb0: 636b 6574 732e 4e61 6d69 6e67 2e47 6574 ckets.Naming.Get\n-0000afc0: 5f50 6565 725f 506f 7274 3a20 6675 6e63 _Peer_Port: func\n-0000afd0: 7469 6f6e 2047 6574 5f50 6565 725f 506f tion Get_Peer_Po\n-0000afe0: 7274 0a20 2020 2020 2020 2020 2020 2020 rt. \n-0000aff0: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n-0000b000: 6574 5f46 4429 0a20 2020 2020 2020 2020 et_FD). \n-0000b010: 2020 2020 2020 7265 7475 726e 2050 6f73 return Pos\n-0000b020: 6974 6976 653b 0a0a 5041 5241 4d45 5445 itive;..PARAMETE\n-0000b030: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-0000b040: 2020 2069 6e20 2020 2020 2020 2020 436f in Co\n-0000b050: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n-0000b060: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n-0000b070: 4c55 450a 2020 2020 2050 6f72 7420 7573 LUE. Port us\n-0000b080: 6564 206f 6e20 7468 6520 7265 6d6f 7465 ed on the remote\n-0000b090: 2068 6f73 740a 0a53 4545 2041 4c53 4f0a host..SEE ALSO.\n-0000b0a0: 2020 2020 202a 6e6f 7465 2047 6574 5f53 *note Get_S\n-0000b0b0: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n-0000b0c0: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n-0000b0d0: 6520 4765 745f 5065 6572 5f41 6464 7220 e Get_Peer_Addr \n-0000b0e0: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n-0000b0f0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000b100: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-0000b110: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n-0000b120: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000b130: 4765 745f 536f 636b 5f50 6f72 7420 2866 Get_Sock_Port (f\n-0000b140: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n-0000b150: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n-0000b160: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n-0000b170: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000b180: 7469 6f6e 290a 0a47 6574 5f53 6f63 6b5f tion)..Get_Sock_\n-0000b190: 4164 6472 2028 6675 6e63 7469 6f6e 290a Addr (function).\n-0000b1a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b1b0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000b1c0: 450a 2020 2020 2052 6574 7269 6576 6520 E. Retrieve \n-0000b1d0: 4950 2061 6464 7265 7373 206f 6620 6c6f IP address of lo\n-0000b1e0: 6361 6c20 686f 7374 0a50 524f 544f 5459 cal host.PROTOTY\n-0000b1f0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-0000b200: 6574 732e 4e61 6d69 6e67 2e47 6574 5f53 ets.Naming.Get_S\n-0000b210: 6f63 6b5f 4164 6472 3a20 6675 6e63 7469 ock_Addr: functi\n-0000b220: 6f6e 2047 6574 5f53 6f63 6b5f 4164 6472 on Get_Sock_Addr\n-0000b230: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000b240: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-0000b250: 5f46 4429 0a20 2020 2020 2020 2020 2020 _FD). \n-0000b260: 2020 2020 7265 7475 726e 2041 6464 7265 return Addre\n-0000b270: 7373 3b0a 0a50 4152 414d 4554 4552 530a ss;..PARAMETERS.\n-0000b280: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-0000b290: 696e 2020 2020 2020 2020 2043 6f6e 6e65 in Conne\n-0000b2a0: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n-0000b2b0: 6374 0a0a 5245 5455 524e 2056 414c 5545 ct..RETURN VALUE\n-0000b2c0: 0a20 2020 2020 4164 6472 6573 7320 6f66 . Address of\n-0000b2d0: 206c 6f63 616c 2069 6e74 6572 6661 6365 local interface\n-0000b2e0: 2075 7365 640a 0a53 4545 2041 4c53 4f0a used..SEE ALSO.\n-0000b2f0: 2020 2020 202a 6e6f 7465 2047 6574 5f53 *note Get_S\n-0000b300: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n-0000b310: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n-0000b320: 6520 4765 745f 5065 6572 5f41 6464 7220 e Get_Peer_Addr \n-0000b330: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n-0000b340: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000b350: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-0000b360: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n-0000b370: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000b380: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n-0000b390: 696f 6e29 2c20 2050 7265 763a 2047 6574 ion), Prev: Get\n-0000b3a0: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n-0000b3b0: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n-0000b3c0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n-0000b3d0: 290a 0a47 6574 5f53 6f63 6b5f 506f 7274 )..Get_Sock_Port\n-0000b3e0: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n-0000b3f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b400: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-0000b410: 2020 2052 6574 7269 6576 6520 706f 7274 Retrieve port\n-0000b420: 2075 7365 6420 6279 206c 6f63 616c 2068 used by local h\n-0000b430: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-0000b440: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n-0000b450: 616d 696e 672e 4765 745f 536f 636b 5f50 aming.Get_Sock_P\n-0000b460: 6f72 743a 2066 756e 6374 696f 6e20 4765 ort: function Ge\n-0000b470: 745f 536f 636b 5f50 6f72 740a 2020 2020 t_Sock_Port. \n-0000b480: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n-0000b490: 4554 203a 2053 6f63 6b65 745f 4644 290a ET : Socket_FD).\n-0000b4a0: 2020 2020 2020 2020 2020 2020 2020 2072 r\n-0000b4b0: 6574 7572 6e20 506f 7369 7469 7665 3b0a eturn Positive;.\n-0000b4c0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000b4d0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-0000b4e0: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected\n-0000b4f0: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n-0000b500: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-0000b510: 2020 506f 7274 2075 7365 6420 6f6e 2074 Port used on t\n-0000b520: 6865 206c 6f63 616c 2068 6f73 740a 0a53 he local host..S\n-0000b530: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-0000b540: 7465 2047 6574 5f50 6565 725f 506f 7274 te Get_Peer_Port\n-0000b550: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n-0000b560: 2020 2020 2a6e 6f74 6520 4765 745f 536f *note Get_So\n-0000b570: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n-0000b580: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n-0000b590: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-0000b5a0: 204e 6f64 653a 2048 6f73 745f 4e61 6d65 Node: Host_Name\n-0000b5b0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000b5c0: 7874 3a20 496d 6167 6520 2866 756e 6374 xt: Image (funct\n-0000b5d0: 696f 6e29 2c20 2050 7265 763a 2047 6574 ion), Prev: Get\n-0000b5e0: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000b5f0: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n-0000b600: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n-0000b610: 290a 0a48 6f73 745f 4e61 6d65 2028 6675 )..Host_Name (fu\n-0000b620: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-0000b630: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-0000b640: 5250 4f53 450a 2020 2020 2047 6574 2074 RPOSE. Get t\n-0000b650: 6865 206e 616d 6520 6f66 2074 6865 2063 he name of the c\n-0000b660: 7572 7265 6e74 2068 6f73 740a 5052 4f54 urrent host.PROT\n-0000b670: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000b680: 6f63 6b65 7473 2e4e 616d 696e 672e 486f ockets.Naming.Ho\n-0000b690: 7374 5f4e 616d 653a 2066 756e 6374 696f st_Name: functio\n-0000b6a0: 6e20 486f 7374 5f4e 616d 650a 0a52 4554 n Host_Name..RET\n-0000b6b0: 5552 4e20 5641 4c55 450a 2020 2020 204e URN VALUE. N\n-0000b6c0: 616d 6520 6f66 2074 6865 2063 7572 7265 ame of the curre\n-0000b6d0: 6e74 2068 6f73 740a 0a44 4553 4352 4950 nt host..DESCRIP\n-0000b6e0: 5449 4f4e 0a20 2020 2020 5468 6973 2066 TION. This f\n-0000b6f0: 756e 6374 696f 6e20 7265 7475 726e 7320 unction returns \n-0000b700: 7468 6520 6e61 6d65 206f 6620 7468 6520 the name of the \n-0000b710: 6375 7272 656e 7420 686f 7374 2e20 2044 current host. D\n-0000b720: 6570 656e 6469 6e67 206f 6e0a 2020 2020 epending on. \n-0000b730: 2074 6865 206c 6f63 616c 2063 6f6e 6669 the local confi\n-0000b740: 6775 7261 7469 6f6e 2c20 6974 206d 6179 guration, it may\n-0000b750: 206f 7220 6d61 7920 6e6f 7420 6265 2061 or may not be a\n-0000b760: 2066 756c 6c79 2071 7561 6c69 6669 6564 fully qualified\n-0000b770: 0a20 2020 2020 646f 6d61 696e 206e 616d . domain nam\n-0000b780: 6520 2846 5144 4e29 2e0a 0a1f 0a46 696c e (FQDN).....Fil\n-0000b790: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000b7a0: 666f 2c20 204e 6f64 653a 2049 6d61 6765 fo, Node: Image\n-0000b7b0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000b7c0: 7874 3a20 496e 666f 5f4f 665f 4e61 6d65 xt: Info_Of_Name\n-0000b7d0: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n-0000b7e0: 292c 2020 5072 6576 3a20 486f 7374 5f4e ), Prev: Host_N\n-0000b7f0: 616d 6520 2866 756e 6374 696f 6e29 2c20 ame (function), \n-0000b800: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n-0000b810: 2866 756e 6374 696f 6e29 0a0a 496d 6167 (function)..Imag\n-0000b820: 6520 2866 756e 6374 696f 6e29 0a2d 2d2d e (function).---\n-0000b830: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n-0000b840: 5552 504f 5345 0a20 2020 2020 4d61 6b65 URPOSE. Make\n-0000b850: 2061 2073 7472 696e 6720 6672 6f6d 2061 a string from a\n-0000b860: 6e20 6164 6472 6573 730a 5052 4f54 4f54 n address.PROTOT\n-0000b870: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-0000b880: 6b65 7473 2e4e 616d 696e 672e 496d 6167 kets.Naming.Imag\n-0000b890: 653a 2066 756e 6374 696f 6e20 496d 6167 e: function Imag\n-0000b8a0: 6520 2841 4444 203a 2041 6464 7265 7373 e (ADD : Address\n-0000b8b0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-0000b8c0: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n-0000b8d0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000b8e0: 2041 4444 2020 2020 2020 2020 696e 2020 ADD in \n-0000b8f0: 2020 2020 2020 2049 5020 6164 6472 6573 IP addres\n-0000b900: 730a 0a52 4554 5552 4e20 5641 4c55 450a s..RETURN VALUE.\n-0000b910: 2020 2020 2053 7472 696e 6720 7265 7072 String repr\n-0000b920: 6573 656e 7461 7469 6f6e 206f 6620 7468 esentation of th\n-0000b930: 6520 4950 2061 6464 7265 7373 0a0a 5345 e IP address..SE\n-0000b940: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-0000b950: 6520 5661 6c75 6520 2866 756e 6374 696f e Value (functio\n-0000b960: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n-0000b970: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-0000b980: 204e 6f64 653a 2049 6e66 6f5f 4f66 5f4e Node: Info_Of_N\n-0000b990: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n-0000b9a0: 696f 6e29 2c20 204e 6578 743a 2049 735f ion), Next: Is_\n-0000b9b0: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n-0000b9c0: 7469 6f6e 292c 2020 5072 6576 3a20 496d tion), Prev: Im\n-0000b9d0: 6167 6520 2866 756e 6374 696f 6e29 2c20 age (function), \n-0000b9e0: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n-0000b9f0: 2866 756e 6374 696f 6e29 0a0a 496e 666f (function)..Info\n-0000ba00: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP (\n-0000ba10: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-0000ba20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000ba30: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n-0000ba40: 0a20 2020 2020 4765 7420 6164 6472 6573 . Get addres\n-0000ba50: 7365 7320 616e 6420 6e61 6d65 7320 6f66 ses and names of\n-0000ba60: 2061 2068 6f73 740a 5052 4f54 4f54 5950 a host.PROTOTYP\n-0000ba70: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-0000ba80: 7473 2e4e 616d 696e 672e 496e 666f 5f4f ts.Naming.Info_O\n-0000ba90: 665f 4e61 6d65 5f4f 725f 4950 3a20 6675 f_Name_Or_IP: fu\n-0000baa0: 6e63 7469 6f6e 2049 6e66 6f5f 4f66 5f4e nction Info_Of_N\n-0000bab0: 616d 655f 4f72 5f49 500a 2020 2020 2020 ame_Or_IP. \n-0000bac0: 2020 2020 2020 2020 2028 534f 4d45 5448 (SOMETH\n-0000bad0: 494e 4720 3a20 5374 7269 6e67 290a 2020 ING : String). \n-0000bae0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-0000baf0: 7572 6e20 486f 7374 5f45 6e74 7279 3b0a urn Host_Entry;.\n-0000bb00: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000bb10: 2053 4f4d 4554 4849 4e47 2020 696e 2020 SOMETHING in \n-0000bb20: 2020 2020 2020 2048 6f73 7420 6e61 6d65 Host name\n-0000bb30: 206f 7220 4950 2061 6464 7265 7373 0a0a or IP address..\n-0000bb40: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-0000bb50: 2020 436f 7272 6573 706f 6e64 696e 6720 Corresponding \n-0000bb60: 686f 7374 2065 6e74 7279 0a0a 4445 5343 host entry..DESC\n-0000bb70: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-0000bb80: 7320 6675 6e63 7469 6f6e 2065 7874 7261 s function extra\n-0000bb90: 6374 7320 616c 6c20 7468 6520 6e61 6d65 cts all the name\n-0000bba0: 7320 616e 6420 6164 6472 6573 7365 7320 s and addresses \n-0000bbb0: 6672 6f6d 2074 6865 206e 616d 696e 670a from the naming.\n-0000bbc0: 2020 2020 2073 6572 7669 6365 2e0a 0a45 service...E\n-0000bbd0: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n-0000bbe0: 8098 4e61 6d69 6e67 5f45 7272 6f72 e280 ..Naming_Error..\n-0000bbf0: 9920 2020 2020 4e6f 2069 6e66 6f72 6d61 . No informa\n-0000bc00: 7469 6f6e 2061 7661 696c 6162 6c65 2066 tion available f\n-0000bc10: 6f72 2074 6869 7320 6e61 6d65 206f 720a or this name or.\n-0000bc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bc30: 2020 2020 2020 2020 6164 6472 6573 730a address.\n-0000bc40: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-0000bc50: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-0000bc60: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n-0000bc70: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000bc80: 3a20 4e61 6d65 5f4f 6620 2866 756e 6374 : Name_Of (funct\n-0000bc90: 696f 6e29 2c20 2050 7265 763a 2049 6e66 ion), Prev: Inf\n-0000bca0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n-0000bcb0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n-0000bcc0: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n-0000bcd0: 6374 696f 6e29 0a0a 4973 5f49 505f 4164 ction)..Is_IP_Ad\n-0000bce0: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n-0000bcf0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-0000bd00: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-0000bd10: 5345 0a20 2020 2020 4368 6563 6b20 6966 SE. Check if\n-0000bd20: 2067 6976 656e 2073 7472 696e 6720 6973 given string is\n-0000bd30: 2061 2076 616c 6964 2049 5020 6164 6472 a valid IP addr\n-0000bd40: 6573 730a 5052 4f54 4f54 5950 450a 2020 ess.PROTOTYPE. \n-0000bd50: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n-0000bd60: 616d 696e 672e 4973 5f49 505f 4164 6472 aming.Is_IP_Addr\n-0000bd70: 6573 733a 2066 756e 6374 696f 6e20 4973 ess: function Is\n-0000bd80: 5f49 505f 4164 6472 6573 730a 2020 2020 _IP_Address. \n-0000bd90: 2020 2020 2020 2020 2020 2028 534f 4d45 (SOME\n-0000bda0: 5448 494e 4720 3a20 5374 7269 6e67 290a THING : String).\n-0000bdb0: 2020 2020 2020 2020 2020 2020 2020 2072 r\n-0000bdc0: 6574 7572 6e20 426f 6f6c 6561 6e3b 0a0a eturn Boolean;..\n-0000bdd0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-0000bde0: 534f 4d45 5448 494e 4720 2069 6e20 2020 SOMETHING in \n-0000bdf0: 2020 2020 2020 5374 7269 6e67 2074 6f20 String to \n-0000be00: 6368 6563 6b0a 0a52 4554 5552 4e20 5641 check..RETURN VA\n-0000be10: 4c55 450a 2020 2020 20e2 8098 5472 7565 LUE. ...True\n-0000be20: e280 9920 6966 2053 4f4d 4554 4849 4e47 ... if SOMETHING\n-0000be30: 2069 7320 616e 2049 5020 6164 6472 6573 is an IP addres\n-0000be40: 730a 0a1f 0a46 696c 653a 2061 6461 736f s....File: adaso\n-0000be50: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000be60: 653a 204e 616d 655f 4f66 2028 6675 6e63 e: Name_Of (func\n-0000be70: 7469 6f6e 292c 2020 4e65 7874 3a20 5661 tion), Next: Va\n-0000be80: 6c75 6520 2866 756e 6374 696f 6e29 2c20 lue (function), \n-0000be90: 2050 7265 763a 2049 735f 4950 5f41 6464 Prev: Is_IP_Add\n-0000bea0: 7265 7373 2028 6675 6e63 7469 6f6e 292c ress (function),\n-0000beb0: 2020 5570 3a20 4164 6472 6573 735f 4f66 Up: Address_Of\n-0000bec0: 2028 6675 6e63 7469 6f6e 290a 0a4e 616d (function)..Nam\n-0000bed0: 655f 4f66 2028 6675 6e63 7469 6f6e 290a e_Of (function).\n-0000bee0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000bef0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-0000bf00: 204f 6666 6963 6961 6c20 6e61 6d65 206f Official name o\n-0000bf10: 6620 7468 6520 686f 7374 0a50 524f 544f f the host.PROTO\n-0000bf20: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-0000bf30: 636b 6574 732e 4e61 6d69 6e67 2e4e 616d ckets.Naming.Nam\n-0000bf40: 655f 4f66 3a20 6675 6e63 7469 6f6e 204e e_Of: function N\n-0000bf50: 616d 655f 4f66 2028 534f 4d45 5448 494e ame_Of (SOMETHIN\n-0000bf60: 4720 3a20 5374 7269 6e67 290a 2020 2020 G : String). \n-0000bf70: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n-0000bf80: 6e20 5374 7269 6e67 3b0a 0a50 4152 414d n String;..PARAM\n-0000bf90: 4554 4552 530a 2020 2020 2053 4f4d 4554 ETERS. SOMET\n-0000bfa0: 4849 4e47 2020 696e 2020 2020 2020 2020 HING in \n-0000bfb0: 2048 6f73 7420 6e61 6d65 206f 7220 4950 Host name or IP\n-0000bfc0: 2061 6464 7265 7373 0a0a 5245 5455 524e address..RETURN\n-0000bfd0: 2056 414c 5545 0a20 2020 2020 4e61 6d65 VALUE. Name\n-0000bfe0: 206f 6620 7468 6520 686f 7374 0a0a 4558 of the host..EX\n-0000bff0: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. ..\n-0000c000: 984e 616d 696e 675f 4572 726f 72e2 8099 .Naming_Error...\n-0000c010: 2020 2020 204e 6f20 696e 666f 726d 6174 No informat\n-0000c020: 696f 6e20 6176 6169 6c61 626c 6520 666f ion available fo\n-0000c030: 7220 7468 6973 206e 616d 6520 6f72 0a20 r this name or. \n-0000c040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c050: 2020 2020 2020 2061 6464 7265 7373 0a0a address..\n-0000c060: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-0000c070: 6f74 6520 4164 6472 6573 735f 4f66 2028 ote Address_Of (\n-0000c080: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::.....\n-0000c090: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-0000c0a0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5661 .info, Node: Va\n-0000c0b0: 6c75 6520 2866 756e 6374 696f 6e29 2c20 lue (function), \n-0000c0c0: 2050 7265 763a 204e 616d 655f 4f66 2028 Prev: Name_Of (\n-0000c0d0: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n-0000c0e0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000c0f0: 7469 6f6e 290a 0a56 616c 7565 2028 6675 tion)..Value (fu\n-0000c100: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-0000c110: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000c120: 450a 2020 2020 2054 7261 6e73 666f 726d E. Transform\n-0000c130: 2061 2073 7472 696e 6720 696e 746f 2061 a string into a\n-0000c140: 6e20 6164 6472 6573 730a 5052 4f54 4f54 n address.PROTOT\n-0000c150: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-0000c160: 6b65 7473 2e4e 616d 696e 672e 5661 6c75 kets.Naming.Valu\n-0000c170: 653a 2066 756e 6374 696f 6e20 5661 6c75 e: function Valu\n-0000c180: 6520 2841 4444 203a 2053 7472 696e 6729 e (ADD : String)\n-0000c190: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c1a0: 7265 7475 726e 2041 6464 7265 7373 3b0a return Address;.\n-0000c1b0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000c1c0: 2041 4444 2020 2020 2020 2020 696e 2020 ADD in \n-0000c1d0: 2020 2020 2020 2054 6578 7475 616c 2072 Textual r\n-0000c1e0: 6570 7265 7365 6e74 6174 696f 6e20 6f66 epresentation of\n-0000c1f0: 2061 6e20 4950 2061 6464 7265 7373 0a0a an IP address..\n-0000c200: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-0000c210: 2020 436f 7272 6573 706f 6e64 696e 6720 Corresponding \n-0000c220: 4164 6472 6573 730a 0a53 4545 2041 4c53 Address..SEE ALS\n-0000c230: 4f0a 2020 2020 202a 6e6f 7465 2049 6d61 O. *note Ima\n-0000c240: 6765 2028 6675 6e63 7469 6f6e 293a 3a2e ge (function)::.\n-0000c250: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n-0000c260: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n-0000c270: 3a20 436f 6e74 7269 6275 746f 7273 2c20 : Contributors, \n-0000c280: 204e 6578 743a 2052 6573 6f75 7263 6573 Next: Resources\n-0000c290: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n-0000c2a0: 2c20 2050 7265 763a 2053 6f63 6b65 7473 , Prev: Sockets\n-0000c2b0: 2e4e 616d 696e 6720 7061 636b 6167 652c .Naming package,\n-0000c2c0: 2020 5570 3a20 546f 700a 0a41 7070 656e Up: Top..Appen\n-0000c2d0: 6469 7820 4120 436f 6e74 7269 6275 746f dix A Contributo\n-0000c2e0: 7273 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a rs.*************\n-0000c2f0: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 4164 6153 **********..AdaS\n-0000c300: 6f63 6b65 7473 2068 6173 2062 6565 6e20 ockets has been \n-0000c310: 6f72 6967 696e 616c 6c79 2064 6576 656c originally devel\n-0000c320: 6f70 7065 6420 6279 2053 616d 7565 6c20 opped by Samuel \n-0000c330: 5461 7264 6965 7520 7768 6f20 7374 696c Tardieu who stil\n-0000c340: 6c0a 6d61 696e 7461 696e 7320 6974 2e20 l.maintains it. \n-0000c350: 2048 6f77 6576 6572 2c20 7468 6520 666f However, the fo\n-0000c360: 6c6c 6f77 696e 6720 7065 6f70 6c65 2068 llowing people h\n-0000c370: 6176 6520 6d61 6465 2063 7275 6369 616c ave made crucial\n-0000c380: 0a63 6f6e 7472 6962 7574 696f 6e73 2074 .contributions t\n-0000c390: 6f20 4164 6153 6f63 6b65 7473 2c20 6265 o AdaSockets, be\n-0000c3a0: 2074 6865 7920 6e65 7720 636f 6465 2c20 they new code, \n-0000c3b0: 6275 6720 6669 7865 7320 6f72 2070 6f72 bug fixes or por\n-0000c3c0: 7469 6e67 2074 6f0a 6e65 7720 6f70 6572 ting to.new oper\n-0000c3d0: 6174 696e 6720 7379 7374 656d 733a 0a0a ating systems:..\n-0000c3e0: 2020 20e2 80a2 2044 6d69 7472 6979 2041 ... Dmitriy A\n-0000c3f0: 6e69 7369 6d6b 6f76 2028 3c61 6e69 7369 nisimkov ()\n-0000c410: 0a20 2020 e280 a220 416c 616e 2042 6172 . ... Alan Bar\n-0000c420: 6e65 7320 283c 6261 726e 6573 6140 6173 nes (). .\n-0000c440: 80a2 204a 7561 6e6d 6120 4261 7272 616e .. Juanma Barran\n-0000c450: 7175 6572 6f20 283c 6c65 6b74 7540 7465 quero (). ... \n-0000c470: 426f 6262 7920 442e 2042 7279 616e 7420 Bobby D. Bryant \n-0000c480: 283c 6264 6272 7961 6e74 406d 6169 6c2e (). \n-0000c4a0: e280 a220 5361 6e64 6572 2043 6f78 2028 ... Sander Cox (\n-0000c4b0: 3c73 616e 6465 722e 636f 7840 7068 696c ). ...\n-0000c4d0: 2053 756e 6520 4661 6c6b 2028 3c73 756e Sune Falk (). ... Guill\n-0000c500: 6175 6d65 2046 6f6c 6961 7264 2028 3c67 aume Foliard (\n-0000c520: 290a 2020 20e2 80a2 204c 6175 7265 6e74 ). ... Laurent\n-0000c530: 2047 7565 7262 7920 283c 6775 6572 6279 Guerby (). ... David\n-0000c560: 204a 2e20 4b72 6973 746f 6c61 2028 3c44 J. Kristola (). ... Domin\n-0000c590: 696b 204d 6164 6f6e 2028 3c64 6f6d 696e ik Madon (). \n-0000c5b0: e280 a220 5061 7363 616c 204f 6272 7920 ... Pascal Obry \n-0000c5c0: 283c 702e 6f62 7279 4077 616e 6164 6f6f (). ... Nic\n-0000c5e0: 6f6c 6173 204f 6c6c 696e 6765 7220 283c olas Ollinger (<\n-0000c5f0: 4e69 636f 6c61 732e 4f6c 6c69 6e67 6572 Nicolas.Ollinger\n-0000c600: 4065 6e73 2d6c 796f 6e2e 6672 3e29 0a20 @ens-lyon.fr>). \n-0000c610: 2020 e280 a220 5374 7068 616e 6520 5061 ... Stphane Pa\n-0000c620: 7475 7265 6175 2028 3c73 7061 7475 7265 tureau ().\n-0000c650: 2020 20e2 80a2 2054 686f 6d61 7320 5175 ... Thomas Qu\n-0000c660: 696e 6f74 2028 3c74 686f 6d61 7340 6375 inot ()\n-0000c680: 0a20 2020 e280 a220 5072 6562 656e 2052 . ... Preben R\n-0000c690: 616e 6468 6f6c 2028 3c72 616e 6468 6f6c andhol (). ..\n-0000c6b0: a220 4d61 7869 6d20 5265 7a6e 696b 2028 . Maxim Reznik (\n-0000c6c0: 3c6d 6178 3140 6d62 616e 6b2e 636f 6d2e ). ... Joel\n-0000c6e0: 2053 6865 7272 696c 6c20 283c 6a6f 656c Sherrill (). ... S\n-0000c710: 616d 7565 6c20 5461 7264 6965 7520 283c amuel Tardieu (<\n-0000c720: 7361 6d40 7266 6331 3134 392e 6e65 743e sam@rfc1149.net>\n-0000c730: 290a 0a20 2020 4966 2079 6f75 2066 6565 ).. If you fee\n-0000c740: 6c20 7468 6174 2079 6f75 2068 6176 6520 l that you have \n-0000c750: 6265 656e 2066 6f72 676f 7474 656e 2c20 been forgotten, \n-0000c760: 706c 6561 7365 2073 656e 6420 6d65 2061 please send me a\n-0000c770: 206d 6169 6c20 736f 0a74 6861 7420 4920 mail so.that I \n-0000c780: 6361 6e20 6669 7820 6974 2069 6e20 7468 can fix it in th\n-0000c790: 6520 6e65 7874 2076 6572 7369 6f6e 2e0a e next version..\n-0000c7a0: 0a20 2020 2a4e 6f74 6520 5265 736f 7572 . *Note Resour\n-0000c7b0: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n-0000c7c0: 6e65 743a 3a2c 2066 6f72 2068 6f77 2074 net::, for how t\n-0000c7d0: 6f20 636f 6e74 7269 6275 7465 2e0a 0a1f o contribute....\n-0000c7e0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000c7f0: 732e 696e 666f 2c20 204e 6f64 653a 2052 s.info, Node: R\n-0000c800: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n-0000c810: 496e 7465 726e 6574 2c20 204e 6578 743a Internet, Next:\n-0000c820: 2049 6e64 6578 2c20 2050 7265 763a 2043 Index, Prev: C\n-0000c830: 6f6e 7472 6962 7574 6f72 732c 2020 5570 ontributors, Up\n-0000c840: 3a20 546f 700a 0a41 7070 656e 6469 7820 : Top..Appendix \n-0000c850: 4220 5265 736f 7572 6365 7320 6f6e 2074 B Resources on t\n-0000c860: 6865 2049 6e74 6572 6e65 740a 2a2a 2a2a he Internet.****\n-0000c870: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000c880: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000c890: 0a0a 5468 6520 6c61 7465 7374 2076 6572 ..The latest ver\n-0000c8a0: 7369 6f6e 206f 6620 4164 6153 6f63 6b65 sion of AdaSocke\n-0000c8b0: 7473 2063 616e 2061 6c77 6179 7320 6265 ts can always be\n-0000c8c0: 2066 6f75 6e64 2061 743a 0a0a 2020 2020 found at:.. \n-0000c8d0: 2020 2020 2020 2020 2020 3c68 7474 7073 .. You can\n-0000c910: 2072 6570 6f72 7420 6973 7375 6573 206f report issues o\n-0000c920: 7220 7468 6520 4164 6153 6f63 6b65 7473 r the AdaSockets\n-0000c930: 206d 6169 6c69 6e67 2d6c 6973 7420 6174 mailing-list at\n-0000c940: 0a0a 2020 2020 2020 2020 2020 2020 3c68 .. .. \n-0000c980: 2020 436f 6e74 7269 6275 7469 6f6e 7320 Contributions \n-0000c990: 616e 6420 7061 7463 6865 7320 6172 6520 and patches are \n-0000c9a0: 7765 6c63 6f6d 6564 2e0a 0a1f 0a46 696c welcomed.....Fil\n-0000c9b0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000c9c0: 666f 2c20 204e 6f64 653a 2049 6e64 6578 fo, Node: Index\n-0000c9d0: 2c20 2050 7265 763a 2052 6573 6f75 7263 , Prev: Resourc\n-0000c9e0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n-0000c9f0: 6574 2c20 2055 703a 2054 6f70 0a0a 496e et, Up: Top..In\n-0000ca00: 6465 780a 2a2a 2a2a 2a0a 0a00 085b 696e dex.*****....[in\n-0000ca10: 6465 7800 085d 0a2a 204d 656e 753a 0a0a dex..].* Menu:..\n-0000ca20: 2a20 4163 6365 7074 5f53 6f63 6b65 743a * Accept_Socket:\n-0000ca30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca40: 2020 2020 2020 2020 2041 6363 6570 745f Accept_\n-0000ca50: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-0000ca60: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2020 \n-0000caa0: 2020 2028 6c69 6e65 2020 3929 0a2a 2041 (line 9).* A\n-0000cab0: 6363 6570 7469 6e67 2061 206e 6577 2063 ccepting a new c\n-0000cac0: 6f6e 6e65 6374 696f 6e3a 2020 2020 2020 onnection: \n-0000cad0: 2020 2020 2020 4163 6365 7074 5f53 6f63 Accept_Soc\n-0000cae0: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n-0000caf0: 0a20 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 2020 2020 \n-0000cb30: 286c 696e 6520 2036 290a 2a20 4164 612e (line 6).* Ada.\n-0000cb40: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n-0000cb50: 6c65 6d65 6e74 5f41 7272 6179 3a20 2020 lement_Array: \n-0000cb60: 2020 2052 6177 2064 6174 6120 6d61 6e69 Raw data mani\n-0000cb70: 7075 6c61 7469 6f6e 2e0a 2020 2020 2020 pulation.. \n-0000cb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002f20: 414d 504c 450a 0a0a 5345 4520 414c 534f AMPLE...SEE ALSO\n+00002f30: 0a20 2020 2020 2a6e 6f74 6520 4269 6e64 . *note Bind\n+00002f40: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00002f50: 2020 2020 202a 6e6f 7465 204c 6973 7465 *note Liste\n+00002f60: 6e20 2870 726f 6365 6475 7265 293a 3a2c n (procedure)::,\n+00002f70: 0a20 2020 2020 2a6e 6f74 6520 5368 7574 . *note Shut\n+00002f80: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+00002f90: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00002fa0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00002fb0: 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a )::...* Menu:..*\n+00002fc0: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n+00002fd0: 293a 3a0a 2a20 436f 6e6e 6563 7420 2870 )::.* Connect (p\n+00002fe0: 726f 6365 6475 7265 293a 3a0a 2a20 4765 rocedure)::.* Ge\n+00002ff0: 7420 2866 756e 6374 696f 6e29 3a3a 0a2a t (function)::.*\n+00003000: 2047 6574 5f43 6861 7220 2866 756e 6374 Get_Char (funct\n+00003010: 696f 6e29 3a3a 0a2a 2047 6574 5f4c 696e ion)::.* Get_Lin\n+00003020: 6520 2866 756e 6374 696f 6e29 3a3a 0a2a e (function)::.*\n+00003030: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+00003040: 6475 7265 293a 3a0a 2a20 4765 745f 5265 dure)::.* Get_Re\n+00003050: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n+00003060: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+00003070: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+00003080: 697a 6520 2866 756e 6374 696f 6e29 3a3a ize (function)::\n+00003090: 0a2a 2047 6574 736f 636b 6f70 7420 2870 .* Getsockopt (p\n+000030a0: 726f 6365 6475 7265 293a 3a0a 2a20 4c69 rocedure)::.* Li\n+000030b0: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n+000030c0: 3a3a 0a2a 204e 6577 5f4c 696e 6520 2870 ::.* New_Line (p\n+000030d0: 726f 6365 6475 7265 293a 3a0a 2a20 5075 rocedure)::.* Pu\n+000030e0: 7420 2870 726f 6365 6475 7265 293a 3a0a t (procedure)::.\n+000030f0: 2a20 5075 745f 4c69 6e65 2028 7072 6f63 * Put_Line (proc\n+00003100: 6564 7572 6529 3a3a 0a2a 2052 6563 6569 edure)::.* Recei\n+00003110: 7665 2028 6675 6e63 7469 6f6e 293a 3a0a ve (function)::.\n+00003120: 2a20 5265 6365 6976 6520 2870 726f 6365 * Receive (proce\n+00003130: 6475 7265 293a 3a0a 2a20 5265 6365 6976 dure)::.* Receiv\n+00003140: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+00003150: 6529 3a3a 0a2a 2053 656e 6420 2870 726f e)::.* Send (pro\n+00003160: 6365 6475 7265 293a 3a0a 2a20 5365 745f cedure)::.* Set_\n+00003170: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00003180: 6529 3a3a 0a2a 2053 6574 736f 636b 6f70 e)::.* Setsockop\n+00003190: 7420 2870 726f 6365 6475 7265 293a 3a0a t (procedure)::.\n+000031a0: 2a20 5368 7574 646f 776e 2028 7072 6f63 * Shutdown (proc\n+000031b0: 6564 7572 6529 3a3a 0a2a 2053 6f63 6b65 edure)::.* Socke\n+000031c0: 7420 2870 726f 6365 6475 7265 293a 3a0a t (procedure)::.\n+000031d0: 2a20 556e 7365 745f 4275 6666 6572 2028 * Unset_Buffer (\n+000031e0: 7072 6f63 6564 7572 6529 3a3a 0a0a 1f0a procedure)::....\n+000031f0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00003200: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4269 .info, Node: Bi\n+00003210: 6e64 2028 7072 6f63 6564 7572 6529 2c20 nd (procedure), \n+00003220: 204e 6578 743a 2043 6f6e 6e65 6374 2028 Next: Connect (\n+00003230: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00003240: 763a 2041 6363 6570 745f 536f 636b 6574 v: Accept_Socket\n+00003250: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n+00003260: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00003270: 2028 7072 6f63 6564 7572 6529 0a0a 4269 (procedure)..Bi\n+00003280: 6e64 2028 7072 6f63 6564 7572 6529 0a2d nd (procedure).-\n+00003290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+000032a0: 0a50 5552 504f 5345 0a20 2020 2020 4173 .PURPOSE. As\n+000032b0: 736f 6369 6174 6520 6120 6c6f 6361 6c20 sociate a local \n+000032c0: 706f 7274 2074 6f20 6120 736f 636b 6574 port to a socket\n+000032d0: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+000032e0: 202d 2d20 536f 636b 6574 732e 4269 6e64 -- Sockets.Bind\n+000032f0: 3a20 7072 6f63 6564 7572 6520 4269 6e64 : procedure Bind\n+00003300: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00003310: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+00003320: 2020 2020 2050 4f52 5420 3a20 4e61 7475 PORT : Natu\n+00003330: 7261 6c3b 2048 4f53 5420 3a20 5374 7269 ral; HOST : Stri\n+00003340: 6e67 203a 3d20 2222 293b 0a0a 5041 5241 ng := \"\");..PARA\n+00003350: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+00003360: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+00003370: 2020 496e 6974 6961 6c69 7a65 6420 736f Initialized so\n+00003380: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00003390: 2050 4f52 5420 2020 2020 2020 696e 2020 PORT in \n+000033a0: 2020 2020 2020 204c 6f63 616c 2070 6f72 Local por\n+000033b0: 7420 746f 2062 696e 6420 746f 0a20 2020 t to bind to. \n+000033c0: 2020 484f 5354 2020 2020 2020 2069 6e20 HOST in \n+000033d0: 2020 2020 2020 2020 4c6f 6361 6c20 696e Local in\n+000033e0: 7465 7266 6163 6520 746f 2062 696e 6420 terface to bind \n+000033f0: 746f 0a0a 4445 5343 5249 5054 494f 4e0a to..DESCRIPTION.\n+00003400: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n+00003410: 7572 6520 7265 7175 6573 7473 2061 206c ure requests a l\n+00003420: 6f63 616c 2070 6f72 7420 6672 6f6d 2074 ocal port from t\n+00003430: 6865 206f 7065 7261 7469 6e67 2073 7973 he operating sys\n+00003440: 7465 6d2e 2020 4966 0a20 2020 2020 3020 tem. If. 0 \n+00003450: 6973 2067 6976 656e 2069 6e20 504f 5254 is given in PORT\n+00003460: 2c20 7468 6520 7379 7374 656d 2077 696c , the system wil\n+00003470: 6c20 6173 7369 676e 2061 2066 7265 6520 l assign a free \n+00003480: 706f 7274 2077 686f 7365 206e 756d 6265 port whose numbe\n+00003490: 720a 2020 2020 2063 616e 206c 6174 6572 r. can later\n+000034a0: 2062 6520 7265 7472 6965 7665 6420 7573 be retrieved us\n+000034b0: 696e 6720 2a6e 6f74 6520 4765 745f 536f ing *note Get_So\n+000034c0: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio\n+000034d0: 6e29 3a3a 2e0a 2020 2020 2041 6c73 6f2c n)::.. Also,\n+000034e0: 206d 6f73 7420 6f70 6572 6174 696e 6720 most operating \n+000034f0: 7379 7374 656d 7320 7265 7175 6972 6520 systems require \n+00003500: 7370 6563 6961 6c20 7072 6976 696c 6567 special privileg\n+00003510: 6573 2069 6620 796f 7520 7761 6e74 0a20 es if you want. \n+00003520: 2020 2020 746f 2062 696e 6420 746f 2070 to bind to p\n+00003530: 6f72 7473 2062 656c 6f77 2031 3032 342e orts below 1024.\n+00003540: 0a0a 2020 2020 2049 6620 484f 5354 2069 .. If HOST i\n+00003550: 7320 6e6f 7420 7468 6520 656d 7074 7920 s not the empty \n+00003560: 7374 7269 6e67 2c20 6974 206d 7573 7420 string, it must \n+00003570: 636f 6e74 6169 6e20 7468 6520 4950 2061 contain the IP a\n+00003580: 6464 7265 7373 206f 660a 2020 2020 2061 ddress of. a\n+00003590: 206c 6f63 616c 2069 6e74 6572 6661 6365 local interface\n+000035a0: 2074 6f20 6269 6e64 2074 6f2c 206f 7220 to bind to, or \n+000035b0: 6120 6e61 6d65 2077 6869 6368 2072 6573 a name which res\n+000035c0: 6f6c 7665 7320 696e 746f 2073 7563 6820 olves into such \n+000035d0: 616e 0a20 2020 2020 6164 6472 6573 732e an. address.\n+000035e0: 2020 4966 2061 6e20 656d 7074 7920 7374 If an empty st\n+000035f0: 7269 6e67 2069 7320 6769 7665 6e20 2874 ring is given (t\n+00003600: 6865 2064 6566 6175 6c74 292c 2074 6865 he default), the\n+00003610: 2073 6f63 6b65 740a 2020 2020 2077 696c socket. wil\n+00003620: 6c20 6265 2062 6f75 6e64 2074 6f20 616c l be bound to al\n+00003630: 6c20 7468 6520 6176 6169 6c61 626c 6520 l the available \n+00003640: 696e 7465 7266 6163 6573 2e0a 0a45 5843 interfaces...EXC\n+00003650: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n+00003660: 536f 636b 6574 5f45 7272 6f72 e280 9920 Socket_Error... \n+00003670: 2020 2020 5265 7175 6573 7465 6420 706f Requested po\n+00003680: 7274 206f 7220 696e 7465 7266 6163 6520 rt or interface \n+00003690: 6e6f 7420 6176 6169 6c61 626c 650a 0a53 not available..S\n+000036a0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+000036b0: 7465 204c 6973 7465 6e20 2870 726f 6365 te Listen (proce\n+000036c0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+000036d0: 6f74 6520 536f 636b 6574 2028 7072 6f63 ote Socket (proc\n+000036e0: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+000036f0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00003700: 666f 2c20 204e 6f64 653a 2043 6f6e 6e65 fo, Node: Conne\n+00003710: 6374 2028 7072 6f63 6564 7572 6529 2c20 ct (procedure), \n+00003720: 204e 6578 743a 2047 6574 2028 6675 6e63 Next: Get (func\n+00003730: 7469 6f6e 292c 2020 5072 6576 3a20 4269 tion), Prev: Bi\n+00003740: 6e64 2028 7072 6f63 6564 7572 6529 2c20 nd (procedure), \n+00003750: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n+00003760: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n+00003770: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n+00003780: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n+00003790: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+000037a0: 0a20 2020 2020 436f 6e6e 6563 7420 6120 . Connect a \n+000037b0: 736f 636b 6574 206f 6e20 6120 6769 7665 socket on a give\n+000037c0: 6e20 686f 7374 2f70 6f72 740a 5052 4f54 n host/port.PROT\n+000037d0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+000037e0: 6f63 6b65 7473 2e43 6f6e 6e65 6374 3a20 ockets.Connect: \n+000037f0: 7072 6f63 6564 7572 6520 436f 6e6e 6563 procedure Connec\n+00003800: 7420 2853 4f43 4b45 5420 3a20 536f 636b t (SOCKET : Sock\n+00003810: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n+00003820: 2020 2020 2020 484f 5354 203a 2053 7472 HOST : Str\n+00003830: 696e 673b 2050 4f52 5420 3a20 506f 7369 ing; PORT : Posi\n+00003840: 7469 7665 293b 0a0a 5041 5241 4d45 5445 tive);..PARAMETE\n+00003850: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00003860: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00003870: 6974 6961 6c69 7a65 6420 736f 636b 6574 itialized socket\n+00003880: 206f 626a 6563 740a 2020 2020 2048 4f53 object. HOS\n+00003890: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n+000038a0: 2020 2048 6f73 7420 746f 2063 6f6e 6e65 Host to conne\n+000038b0: 6374 2074 6f0a 2020 2020 2050 4f52 5420 ct to. PORT \n+000038c0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+000038d0: 2050 6f72 7420 746f 2063 6f6e 6e65 6374 Port to connect\n+000038e0: 2074 6f0a 0a44 4553 4352 4950 5449 4f4e to..DESCRIPTION\n+000038f0: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n+00003900: 6475 7265 2063 6f6e 6e65 6374 7320 616e dure connects an\n+00003910: 2069 6e69 7469 616c 697a 6564 2073 6f63 initialized soc\n+00003920: 6b65 7420 746f 2061 2067 6976 656e 2068 ket to a given h\n+00003930: 6f73 7420 6f6e 2061 0a20 2020 2020 6769 ost on a. gi\n+00003940: 7665 6e20 706f 7274 2e20 2049 6e20 7468 ven port. In th\n+00003950: 6520 6361 7365 206f 6620 6120 5443 5020 e case of a TCP \n+00003960: 736f 636b 6574 2c20 6120 7265 616c 2063 socket, a real c\n+00003970: 6f6e 6e65 6374 696f 6e20 6973 0a20 2020 onnection is. \n+00003980: 2020 6174 7465 6d70 7465 642e 2020 496e attempted. In\n+00003990: 2074 6865 2063 6173 6520 6f66 2061 2055 the case of a U\n+000039a0: 4450 2073 6f63 6b65 742c 206e 6f20 636f DP socket, no co\n+000039b0: 6e6e 6563 7469 6f6e 2074 616b 6573 2070 nnection takes p\n+000039c0: 6c61 6365 0a20 2020 2020 6275 7420 7468 lace. but th\n+000039d0: 6520 656e 6470 6f69 6e74 2063 6f6f 7264 e endpoint coord\n+000039e0: 696e 6174 6573 2061 7265 2072 6563 6f72 inates are recor\n+000039f0: 6465 642e 0a0a 4558 4345 5054 494f 4e53 ded...EXCEPTIONS\n+00003a00: 0a20 2020 2020 e280 9843 6f6e 6e65 6374 . ...Connect\n+00003a10: 696f 6e5f 5265 6675 7365 64e2 8099 5468 ion_Refused...Th\n+00003a20: 6520 636f 6e6e 6563 7469 6f6e 2068 6173 e connection has\n+00003a30: 2062 6565 6e20 7265 6675 7365 6420 6279 been refused by\n+00003a40: 2074 6865 0a20 2020 2020 2020 2020 2020 the. \n+00003a50: 2020 2020 2020 2020 2020 2020 2073 6572 ser\n+00003a60: 7665 720a 2020 2020 20e2 8098 536f 636b ver. ...Sock\n+00003a70: 6574 5f45 7272 6f72 e280 9920 2020 2020 et_Error... \n+00003a80: 416e 6f74 6865 7220 6572 726f 7220 6f63 Another error oc\n+00003a90: 6375 7272 6564 2064 7572 696e 6720 7468 curred during th\n+00003aa0: 650a 2020 2020 2020 2020 2020 2020 2020 e. \n+00003ab0: 2020 2020 2020 2020 2020 636f 6e6e 6563 connec\n+00003ac0: 7469 6f6e 0a0a 4558 414d 504c 450a 2020 tion..EXAMPLE. \n+00003ad0: 2020 2020 2020 2020 6465 636c 6172 650a declare.\n+00003ae0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00003af0: 6b20 3a20 536f 636b 6574 5f46 443b 0a20 k : Socket_FD;. \n+00003b00: 2020 2020 2020 2020 2062 6567 696e 0a20 begin. \n+00003b10: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n+00003b20: 7265 6174 6520 6120 5443 5020 736f 636b reate a TCP sock\n+00003b30: 6574 0a20 2020 2020 2020 2020 2020 2020 et. \n+00003b40: 536f 636b 6574 2028 536f 636b 2c20 5046 Socket (Sock, PF\n+00003b50: 5f49 4e45 542c 2053 4f43 4b5f 5354 5245 _INET, SOCK_STRE\n+00003b60: 414d 293b 0a20 2020 2020 2020 2020 2020 AM);. \n+00003b70: 2020 2d2d 2043 6f6e 6e65 6374 2069 7420 -- Connect it \n+00003b80: 746f 2072 6663 3131 3439 2e6e 6574 2773 to rfc1149.net's\n+00003b90: 206d 6169 6c20 7365 7276 6572 0a20 2020 mail server. \n+00003ba0: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n+00003bb0: 7420 2853 6f63 6b2c 2022 6d61 696c 2e72 t (Sock, \"mail.r\n+00003bc0: 6663 3131 3439 2e6e 6574 222c 2032 3529 fc1149.net\", 25)\n+00003bd0: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n+00003be0: 2d20 446f 2061 206d 6169 6c20 7472 616e - Do a mail tran\n+00003bf0: 7361 6374 696f 6e20 7468 656e 2063 6c6f saction then clo\n+00003c00: 7365 2074 6865 2073 6f63 6b65 740a 2020 se the socket. \n+00003c10: 2020 2020 2020 2020 2020 205b 2e2e 2e5d [...]\n+00003c20: 0a20 2020 2020 2020 2020 2065 6e64 3b0a . end;.\n+00003c30: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00003c40: 6e6f 7465 2053 6f63 6b65 7420 2870 726f note Socket (pro\n+00003c50: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00003c60: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00003c70: 6e66 6f2c 2020 4e6f 6465 3a20 4765 7420 nfo, Node: Get \n+00003c80: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n+00003c90: 743a 2047 6574 5f43 6861 7220 2866 756e t: Get_Char (fun\n+00003ca0: 6374 696f 6e29 2c20 2050 7265 763a 2043 ction), Prev: C\n+00003cb0: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+00003cc0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00003cd0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00003ce0: 6529 0a0a 4765 7420 2866 756e 6374 696f e)..Get (functio\n+00003cf0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+00003d00: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00003d10: 4765 7420 6120 7374 7269 6e67 2066 726f Get a string fro\n+00003d20: 6d20 6120 7265 6d6f 7465 2068 6f73 740a m a remote host.\n+00003d30: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+00003d40: 2d2d 2053 6f63 6b65 7473 2e47 6574 3a20 -- Sockets.Get: \n+00003d50: 6675 6e63 7469 6f6e 2047 6574 2028 534f function Get (SO\n+00003d60: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00003d70: 2743 6c61 7373 290a 2020 2020 2020 2020 'Class). \n+00003d80: 2020 2020 2020 2072 6574 7572 6e20 5374 return St\n+00003d90: 7269 6e67 3b0a 0a50 4152 414d 4554 4552 ring;..PARAMETER\n+00003da0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00003db0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00003dc0: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00003dd0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00003de0: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n+00003df0: 5545 0a20 2020 2020 536f 6d65 2063 6861 UE. Some cha\n+00003e00: 7261 6374 6572 7320 7468 6174 2068 6176 racters that hav\n+00003e10: 6520 6265 656e 2072 6563 6569 7665 640a e been received.\n+00003e20: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00003e30: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00003e40: 7265 6365 6976 6573 2073 6f6d 6520 6368 receives some ch\n+00003e50: 6172 6163 7465 7273 2066 726f 6d20 6120 aracters from a \n+00003e60: 7265 6d6f 7465 2068 6f73 742e 2020 4173 remote host. As\n+00003e70: 2073 6f6f 6e0a 2020 2020 2074 6861 7420 soon. that \n+00003e80: 6174 206c 6561 7374 206f 6e65 2063 6861 at least one cha\n+00003e90: 7261 6374 6572 2069 7320 6176 6169 6c61 racter is availa\n+00003ea0: 626c 652c 2074 6865 2063 7572 7265 6e74 ble, the current\n+00003eb0: 2072 6563 6570 7469 6f6e 0a20 2020 2020 reception. \n+00003ec0: 6275 6666 6572 2069 7320 7265 7475 726e buffer is return\n+00003ed0: 6564 2e0a 0a20 2020 2020 5468 6572 6520 ed... There \n+00003ee0: 6973 2075 7375 616c 6c79 206c 6974 746c is usually littl\n+00003ef0: 6520 6761 696e 2069 6e20 7573 696e 6720 e gain in using \n+00003f00: 7468 6973 2066 756e 6374 696f 6e20 7768 this function wh\n+00003f10: 6f73 6520 6265 6861 7669 6f72 0a20 2020 ose behavior. \n+00003f20: 2020 6973 2063 6f6d 7061 7261 626c 6520 is comparable \n+00003f30: 746f 2074 6865 206f 6e65 206f 6620 2a6e to the one of *n\n+00003f40: 6f74 6520 5265 6365 6976 6520 2866 756e ote Receive (fun\n+00003f50: 6374 696f 6e29 3a3a 2e20 204f 7468 6572 ction)::. Other\n+00003f60: 0a20 2020 2020 6675 6e63 7469 6f6e 7320 . functions \n+00003f70: 7375 6368 2061 7320 2a6e 6f74 6520 4765 such as *note Ge\n+00003f80: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n+00003f90: 293a 3a2c 206f 7220 2a6e 6f74 6520 4765 )::, or *note Ge\n+00003fa0: 745f 4c69 6e65 0a20 2020 2020 2866 756e t_Line. (fun\n+00003fb0: 6374 696f 6e29 3a3a 2c20 616c 6c6f 7720 ction)::, allow \n+00003fc0: 6d6f 7265 2073 7472 7563 7475 7265 6420 more structured \n+00003fd0: 7072 6f67 7261 6d6d 696e 672e 0a0a 2020 programming... \n+00003fe0: 2020 2048 6f77 6576 6572 2c20 7468 6973 However, this\n+00003ff0: 2066 756e 6374 696f 6e20 6d61 7920 6265 function may be\n+00004000: 2075 7365 6420 746f 2061 766f 6964 206c used to avoid l\n+00004010: 6f73 696e 6720 6368 6172 6163 7465 7273 osing characters\n+00004020: 2077 6865 6e0a 2020 2020 2063 616c 6c69 when. calli\n+00004030: 6e67 202a 6e6f 7465 2055 6e73 6574 5f42 ng *note Unset_B\n+00004040: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00004050: 293a 3a2c 2069 662c 2066 6f72 2073 6f6d )::, if, for som\n+00004060: 6520 7265 6173 6f6e 2c20 7468 650a 2020 e reason, the. \n+00004070: 2020 2072 656d 6f74 6520 686f 7374 206d remote host m\n+00004080: 6179 2068 6176 6520 7365 6e74 2073 6f6d ay have sent som\n+00004090: 652e 0a0a 4558 4345 5054 494f 4e53 0a20 e...EXCEPTIONS. \n+000040a0: 2020 2020 e280 9843 6f6e 6e65 6374 696f ...Connectio\n+000040b0: 6e5f 436c 6f73 6564 e280 9950 6565 7220 n_Closed...Peer \n+000040c0: 6861 7320 636c 6f73 6564 2074 6865 2063 has closed the c\n+000040d0: 6f6e 6e65 6374 696f 6e20 6265 666f 7265 onnection before\n+000040e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000040f0: 2020 2020 2020 2020 2073 656e 6469 6e67 sending\n+00004100: 2061 6e79 2064 6174 610a 0a1f 0a46 696c any data....Fil\n+00004110: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00004120: 666f 2c20 204e 6f64 653a 2047 6574 5f43 fo, Node: Get_C\n+00004130: 6861 7220 2866 756e 6374 696f 6e29 2c20 har (function), \n+00004140: 204e 6578 743a 2047 6574 5f4c 696e 6520 Next: Get_Line \n+00004150: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+00004160: 763a 2047 6574 2028 6675 6e63 7469 6f6e v: Get (function\n+00004170: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00004180: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00004190: 290a 0a47 6574 5f43 6861 7220 2866 756e )..Get_Char (fun\n+000041a0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+000041b0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+000041c0: 4f53 450a 2020 2020 2047 6574 2061 2063 OSE. Get a c\n+000041d0: 6861 7261 6374 6572 2066 726f 6d20 6120 haracter from a \n+000041e0: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n+000041f0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00004200: 6f63 6b65 7473 2e47 6574 5f43 6861 723a ockets.Get_Char:\n+00004210: 2066 756e 6374 696f 6e20 4765 745f 4368 function Get_Ch\n+00004220: 6172 2028 534f 434b 4554 203a 2053 6f63 ar (SOCKET : Soc\n+00004230: 6b65 745f 4644 2743 6c61 7373 290a 2020 ket_FD'Class). \n+00004240: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+00004250: 7572 6e20 4368 6172 6163 7465 723b 0a0a urn Character;..\n+00004260: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00004270: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00004280: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+00004290: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n+000042a0: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R\n+000042b0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+000042c0: 204f 6e65 2063 6861 7261 6374 6572 2073 One character s\n+000042d0: 656e 7420 6279 2074 6865 2072 656d 6f74 ent by the remot\n+000042e0: 6520 686f 7374 0a0a 4445 5343 5249 5054 e host..DESCRIPT\n+000042f0: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n+00004300: 6e63 7469 6f6e 2072 6563 6569 7665 7320 nction receives \n+00004310: 6578 6163 746c 7920 6f6e 6520 6368 6172 exactly one char\n+00004320: 6163 7465 7220 6672 6f6d 2074 6865 2072 acter from the r\n+00004330: 656d 6f74 6520 686f 7374 2e0a 0a45 5843 emote host...EXC\n+00004340: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n+00004350: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+00004360: 64e2 8099 5065 6572 2068 6173 2063 6c6f d...Peer has clo\n+00004370: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+00004380: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n+00004390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000043a0: 2020 7365 6e64 696e 6720 7468 6520 6368 sending the ch\n+000043b0: 6172 6163 7465 720a 0a53 4545 2041 4c53 aracter..SEE ALS\n+000043c0: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n+000043d0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+000043e0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+000043f0: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c ne (function)::,\n+00004400: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+00004410: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00004420: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n+00004430: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00004440: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+00004450: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+00004460: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00004470: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00004480: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f nfo, Node: Get_\n+00004490: 4c69 6e65 2028 6675 6e63 7469 6f6e 292c Line (function),\n+000044a0: 2020 4e65 7874 3a20 4765 745f 4c69 6e65 Next: Get_Line\n+000044b0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+000044c0: 7265 763a 2047 6574 5f43 6861 7220 2866 rev: Get_Char (f\n+000044d0: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n+000044e0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+000044f0: 6f63 6564 7572 6529 0a0a 4765 745f 4c69 ocedure)..Get_Li\n+00004500: 6e65 2028 6675 6e63 7469 6f6e 290a 2d2d ne (function).--\n+00004510: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004520: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00004530: 4765 7420 6120 7768 6f6c 6520 6c69 6e65 Get a whole line\n+00004540: 2066 726f 6d20 6120 7265 6d6f 7465 2068 from a remote h\n+00004550: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+00004560: 2020 2020 2d2d 2053 6f63 6b65 7473 2e47 -- Sockets.G\n+00004570: 6574 5f4c 696e 653a 2066 756e 6374 696f et_Line: functio\n+00004580: 6e20 4765 745f 4c69 6e65 2028 534f 434b n Get_Line (SOCK\n+00004590: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+000045a0: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n+000045b0: 2020 2020 204d 4158 5f4c 454e 4754 4820 MAX_LENGTH \n+000045c0: 3a20 506f 7369 7469 7665 203a 3d20 3230 : Positive := 20\n+000045d0: 3438 290a 2020 2020 2020 2020 2020 2020 48). \n+000045e0: 2020 2072 6574 7572 6e20 5374 7269 6e67 return String\n+000045f0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00004600: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00004610: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00004620: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+00004630: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+00004640: 0a20 2020 2020 4d41 585f 4c45 4e47 5448 . MAX_LENGTH\n+00004650: 2069 6e20 2020 2020 2020 2020 4d61 7869 in Maxi\n+00004660: 6d75 6d20 7265 7475 726e 6564 206c 696e mum returned lin\n+00004670: 6520 6c65 6e67 7468 0a0a 5245 5455 524e e length..RETURN\n+00004680: 2056 414c 5545 0a20 2020 2020 4120 6c69 VALUE. A li\n+00004690: 6e65 2077 6974 686f 7574 2074 6865 2043 ne without the C\n+000046a0: 5220 616e 6420 4c46 2073 6570 6172 6174 R and LF separat\n+000046b0: 6f72 730a 0a44 4553 4352 4950 5449 4f4e ors..DESCRIPTION\n+000046c0: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n+000046d0: 696f 6e20 7265 6365 6976 6573 206f 6e65 ion receives one\n+000046e0: 206c 696e 6520 6672 6f6d 2074 6865 2072 line from the r\n+000046f0: 656d 6f74 6520 686f 7374 2e20 2041 206c emote host. A l\n+00004700: 696e 650a 2020 2020 2063 6f6e 7369 7374 ine. consist\n+00004710: 7320 696e 746f 207a 6572 6f20 6f72 206d s into zero or m\n+00004720: 6f72 6520 6368 6172 6163 7465 7273 2066 ore characters f\n+00004730: 6f6c 6c6f 7765 6420 6279 2061 6e20 6f70 ollowed by an op\n+00004740: 7469 6f6e 616c 2043 520a 2020 2020 2061 tional CR. a\n+00004750: 6e64 2062 7920 6120 4c46 2e20 5468 6f73 nd by a LF. Thos\n+00004760: 6520 7465 726d 696e 6174 6f72 7320 6172 e terminators ar\n+00004770: 6520 7374 7269 7070 6564 2062 6566 6f72 e stripped befor\n+00004780: 6520 7468 6520 6c69 6e65 2069 730a 2020 e the line is. \n+00004790: 2020 2072 6574 7572 6e65 642e 0a0a 2020 returned... \n+000047a0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+000047b0: 2062 6c6f 636b 7320 756e 7469 6c20 6f6e blocks until on\n+000047c0: 6520 6675 6c6c 206c 696e 6520 6861 7320 e full line has \n+000047d0: 6265 656e 2072 6563 6569 7665 642e 2020 been received. \n+000047e0: 5468 650a 2020 2020 206c 696e 6520 6c65 The. line le\n+000047f0: 6e67 7468 2069 7320 6c69 6d69 7465 6420 ngth is limited \n+00004800: 7769 7468 2074 6865 2076 616c 7565 206f with the value o\n+00004810: 6620 7468 6520 4d61 785f 4c65 6e67 7468 f the Max_Length\n+00004820: 2061 7267 756d 656e 742c 0a20 2020 2020 argument,. \n+00004830: 746f 2061 766f 6964 2065 7868 6175 7374 to avoid exhaust\n+00004840: 696f 6e20 6f66 2074 6865 2073 6563 6f6e ion of the secon\n+00004850: 6461 7279 2073 7461 636b 2e0a 0a45 5843 dary stack...EXC\n+00004860: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ...\n+00004870: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+00004880: 64e2 8099 5065 6572 2068 6173 2063 6c6f d...Peer has clo\n+00004890: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+000048a0: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n+000048b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000048c0: 2020 7365 6e64 696e 6720 6120 7768 6f6c sending a whol\n+000048d0: 6520 6c69 6e65 0a0a 5345 4520 414c 534f e line..SEE ALSO\n+000048e0: 0a20 2020 2020 2a6e 6f74 6520 4765 7420 . *note Get \n+000048f0: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n+00004900: 2020 202a 6e6f 7465 2047 6574 5f43 6861 *note Get_Cha\n+00004910: 7220 2866 756e 6374 696f 6e29 3a3a 2c0a r (function)::,.\n+00004920: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00004930: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n+00004940: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n+00004950: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00004960: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00004970: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+00004980: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00004990: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+000049a0: 666f 2c20 204e 6f64 653a 2047 6574 5f4c fo, Node: Get_L\n+000049b0: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+000049c0: 2020 4e65 7874 3a20 4765 745f 5265 6365 Next: Get_Rece\n+000049d0: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n+000049e0: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+000049f0: 3a20 4765 745f 4c69 6e65 2028 6675 6e63 : Get_Line (func\n+00004a00: 7469 6f6e 292c 2020 5570 3a20 4163 6365 tion), Up: Acce\n+00004a10: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00004a20: 6475 7265 290a 0a47 6574 5f4c 696e 6520 dure)..Get_Line \n+00004a30: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00004a40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004a50: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n+00004a60: 6574 2061 2077 686f 6c65 206c 696e 6520 et a whole line \n+00004a70: 6672 6f6d 2061 2072 656d 6f74 6520 686f from a remote ho\n+00004a80: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+00004a90: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n+00004aa0: 745f 4c69 6e65 3a20 7072 6f63 6564 7572 t_Line: procedur\n+00004ab0: 6520 4765 745f 4c69 6e65 2028 534f 434b e Get_Line (SOCK\n+00004ac0: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+00004ad0: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n+00004ae0: 2020 2020 2053 5452 203a 2069 6e20 6f75 STR : in ou\n+00004af0: 7420 5374 7269 6e67 3b20 4c41 5354 203a t String; LAST :\n+00004b00: 206f 7574 204e 6174 7572 616c 293b 0a0a out Natural);..\n+00004b10: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00004b20: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00004b30: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+00004b40: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n+00004b50: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+00004b60: 2020 2053 5452 2020 2020 2020 2020 696e STR in\n+00004b70: 206f 7574 2020 2020 2053 7472 696e 6720 out String \n+00004b80: 746f 2066 696c 6c0a 2020 2020 204c 4153 to fill. LAS\n+00004b90: 5420 2020 2020 2020 6f75 7420 2020 2020 T out \n+00004ba0: 2020 204c 6173 7420 696e 6465 7820 7573 Last index us\n+00004bb0: 6564 2069 6e20 7468 6520 7374 7269 6e67 ed in the string\n+00004bc0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00004bd0: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00004be0: 6520 7265 6365 6976 6573 206f 6e65 206c e receives one l\n+00004bf0: 696e 6520 6672 6f6d 2074 6865 2072 656d ine from the rem\n+00004c00: 6f74 6520 686f 7374 2e20 2041 206c 696e ote host. A lin\n+00004c10: 650a 2020 2020 2063 6f6e 7369 7374 7320 e. consists \n+00004c20: 696e 746f 207a 6572 6f20 6f72 206d 6f72 into zero or mor\n+00004c30: 6520 6368 6172 6163 7465 7273 2066 6f6c e characters fol\n+00004c40: 6c6f 7765 6420 6279 2061 6e20 6f70 7469 lowed by an opti\n+00004c50: 6f6e 616c 2043 520a 2020 2020 2061 6e64 onal CR. and\n+00004c60: 2062 7920 6120 4c46 2e20 5468 6f73 6520 by a LF. Those \n+00004c70: 7465 726d 696e 6174 6f72 7320 6172 6520 terminators are \n+00004c80: 7374 7269 7070 6564 2062 6566 6f72 6520 stripped before \n+00004c90: 7468 6520 6c69 6e65 2069 730a 2020 2020 the line is. \n+00004ca0: 2072 6574 7572 6e65 642e 0a0a 2020 2020 returned... \n+00004cb0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00004cc0: 626c 6f63 6b73 2075 6e74 696c 206f 6e65 blocks until one\n+00004cd0: 2066 756c 6c20 6c69 6e65 2068 6173 2062 full line has b\n+00004ce0: 6565 6e20 7265 6365 6976 6564 2e0a 0a45 een received...E\n+00004cf0: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n+00004d00: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f ..Connection_Clo\n+00004d10: 7365 64e2 8099 5065 6572 2068 6173 2063 sed...Peer has c\n+00004d20: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n+00004d30: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n+00004d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004d50: 2020 2020 7365 6e64 696e 6720 6120 7768 sending a wh\n+00004d60: 6f6c 6520 6c69 6e65 0a0a 5345 4520 414c ole line..SEE AL\n+00004d70: 534f 0a20 2020 2020 2a6e 6f74 6520 4765 SO. *note Ge\n+00004d80: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+00004d90: 2020 2020 202a 6e6f 7465 2047 6574 5f43 *note Get_C\n+00004da0: 6861 7220 2866 756e 6374 696f 6e29 3a3a har (function)::\n+00004db0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+00004dc0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+00004dd0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n+00004de0: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00004df0: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+00004e00: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+00004e10: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00004e20: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00004e30: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f nfo, Node: Get_\n+00004e40: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n+00004e50: 7a65 2028 6675 6e63 7469 6f6e 292c 2020 ze (function), \n+00004e60: 4e65 7874 3a20 4765 745f 5365 6e64 5f51 Next: Get_Send_Q\n+00004e70: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00004e80: 696f 6e29 2c20 2050 7265 763a 2047 6574 ion), Prev: Get\n+00004e90: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00004ea0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00004eb0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00004ec0: 290a 0a47 6574 5f52 6563 6569 7665 5f51 )..Get_Receive_Q\n+00004ed0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00004ee0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+00004ef0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004f00: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00004f10: 2020 2020 2052 6574 7572 6e20 7468 6520 Return the \n+00004f20: 7369 7a65 206f 6620 7468 6520 756e 7265 size of the unre\n+00004f30: 6164 2064 6174 6120 696e 2074 6865 2069 ad data in the i\n+00004f40: 6e70 7574 2071 7565 7565 0a50 524f 544f nput queue.PROTO\n+00004f50: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00004f60: 636b 6574 732e 4765 745f 5265 6365 6976 ckets.Get_Receiv\n+00004f70: 655f 5175 6575 655f 5369 7a65 3a20 6675 e_Queue_Size: fu\n+00004f80: 6e63 7469 6f6e 2047 6574 5f52 6563 6569 nction Get_Recei\n+00004f90: 7665 5f51 7565 7565 5f53 697a 650a 2020 ve_Queue_Size. \n+00004fa0: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n+00004fb0: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00004fc0: 2743 6c61 7373 290a 2020 2020 2020 2020 'Class). \n+00004fd0: 2020 2020 2020 2072 6574 7572 6e20 496e return In\n+00004fe0: 7465 6765 723b 0a0a 5041 5241 4d45 5445 teger;..PARAMETE\n+00004ff0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00005000: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00005010: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n+00005020: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+00005030: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n+00005040: 4c55 450a 2020 2020 2054 6865 206e 6f6e LUE. The non\n+00005050: 2d6e 6567 6174 6976 6520 7369 7a65 2069 -negative size i\n+00005060: 6e20 6279 7465 7320 6f66 2074 6865 2069 n bytes of the i\n+00005070: 6e70 7574 2071 7565 7565 0a0a 4445 5343 nput queue..DESC\n+00005080: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00005090: 7320 6675 6e63 7469 6f6e 2069 7320 6f6e s function is on\n+000050a0: 6c79 2061 7661 696c 6162 6c65 206f 6e20 ly available on \n+000050b0: 4c69 6e75 7820 706c 6174 666f 726d 732e Linux platforms.\n+000050c0: 2020 4f6e 206f 7468 6572 0a20 2020 2020 On other. \n+000050d0: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n+000050e0: 732c 2069 7420 7769 6c6c 2072 6574 7572 s, it will retur\n+000050f0: 6e20 2d32 2074 6f20 696e 6469 6361 7465 n -2 to indicate\n+00005100: 2074 6861 7420 7468 6520 6e65 6365 7373 that the necess\n+00005110: 6172 790a 2020 2020 206d 6563 6861 6e69 ary. mechani\n+00005120: 736d 7320 746f 2072 6574 7269 6576 6520 sms to retrieve \n+00005130: 7468 6520 696e 666f 726d 6174 696f 6e20 the information \n+00005140: 6172 6520 6e6f 7420 6176 6169 6c61 626c are not availabl\n+00005150: 652e 0a0a 5345 4520 414c 534f 0a20 2020 e...SEE ALSO. \n+00005160: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n+00005170: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00005180: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00005190: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+000051a0: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+000051b0: 697a 6520 2866 756e 6374 696f 6e29 2c20 ize (function), \n+000051c0: 204e 6578 743a 2047 6574 736f 636b 6f70 Next: Getsockop\n+000051d0: 7420 2870 726f 6365 6475 7265 292c 2020 t (procedure), \n+000051e0: 5072 6576 3a20 4765 745f 5265 6365 6976 Prev: Get_Receiv\n+000051f0: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+00005200: 6e63 7469 6f6e 292c 2020 5570 3a20 4163 nction), Up: Ac\n+00005210: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00005220: 6365 6475 7265 290a 0a47 6574 5f53 656e cedure)..Get_Sen\n+00005230: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu\n+00005240: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+00005250: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005260: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00005270: 2020 2020 2052 6574 7572 6e20 7468 6520 Return the \n+00005280: 7369 7a65 206f 6620 7468 6520 756e 7365 size of the unse\n+00005290: 6e74 2064 6174 6120 696e 2074 6865 206f nt data in the o\n+000052a0: 7574 7075 7420 7175 6575 650a 5052 4f54 utput queue.PROT\n+000052b0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+000052c0: 6f63 6b65 7473 2e47 6574 5f53 656e 645f ockets.Get_Send_\n+000052d0: 5175 6575 655f 5369 7a65 3a20 6675 6e63 Queue_Size: func\n+000052e0: 7469 6f6e 2047 6574 5f53 656e 645f 5175 tion Get_Send_Qu\n+000052f0: 6575 655f 5369 7a65 0a20 2020 2020 2020 eue_Size. \n+00005300: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+00005310: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n+00005320: 7329 0a20 2020 2020 2020 2020 2020 2020 s). \n+00005330: 2020 7265 7475 726e 2049 6e74 6567 6572 return Integer\n+00005340: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00005350: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00005360: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00005370: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+00005380: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+00005390: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+000053a0: 2020 2020 5468 6520 6e6f 6e2d 6e65 6761 The non-nega\n+000053b0: 7469 7665 2073 697a 6520 696e 2062 7974 tive size in byt\n+000053c0: 6573 206f 6620 7468 6520 6f75 7470 7574 es of the output\n+000053d0: 2071 7565 7565 0a0a 4445 5343 5249 5054 queue..DESCRIPT\n+000053e0: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n+000053f0: 6e63 7469 6f6e 2069 7320 6f6e 6c79 2061 nction is only a\n+00005400: 7661 696c 6162 6c65 206f 6e20 4c69 6e75 vailable on Linu\n+00005410: 7820 706c 6174 666f 726d 732e 2020 4f6e x platforms. On\n+00005420: 206f 7468 6572 0a20 2020 2020 6f70 6572 other. oper\n+00005430: 6174 696e 6720 7379 7374 656d 732c 2069 ating systems, i\n+00005440: 7420 7769 6c6c 2072 6574 7572 6e20 2d32 t will return -2\n+00005450: 2074 6f20 696e 6469 6361 7465 2074 6861 to indicate tha\n+00005460: 7420 7468 6520 6e65 6365 7373 6172 790a t the necessary.\n+00005470: 2020 2020 206d 6563 6861 6e69 736d 7320 mechanisms \n+00005480: 746f 2072 6574 7269 6576 6520 7468 6520 to retrieve the \n+00005490: 696e 666f 726d 6174 696f 6e20 6172 6520 information are \n+000054a0: 6e6f 7420 6176 6169 6c61 626c 652e 0a0a not available...\n+000054b0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+000054c0: 6f74 6520 5365 6e64 2028 7072 6f63 6564 ote Send (proced\n+000054d0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+000054e0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+000054f0: 2c20 204e 6f64 653a 2047 6574 736f 636b , Node: Getsock\n+00005500: 6f70 7420 2870 726f 6365 6475 7265 292c opt (procedure),\n+00005510: 2020 4e65 7874 3a20 4c69 7374 656e 2028 Next: Listen (\n+00005520: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00005530: 763a 2047 6574 5f53 656e 645f 5175 6575 v: Get_Send_Queu\n+00005540: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+00005550: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00005560: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00005570: 290a 0a47 6574 736f 636b 6f70 7420 2870 )..Getsockopt (p\n+00005580: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+00005590: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000055a0: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n+000055b0: 6574 7269 6576 6520 6120 736f 636b 6574 etrieve a socket\n+000055c0: 206f 7074 696f 6e0a 5052 4f54 4f54 5950 option.PROTOTYP\n+000055d0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+000055e0: 7473 2e47 6574 736f 636b 6f70 743a 2070 ts.Getsockopt: p\n+000055f0: 726f 6365 6475 7265 2047 6574 736f 636b rocedure Getsock\n+00005600: 6f70 7420 2853 4f43 4b45 5420 3a20 536f opt (SOCKET : So\n+00005610: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n+00005620: 2020 2020 2020 2020 4c45 5645 4c20 3a20 LEVEL : \n+00005630: 536f 636b 6574 5f4c 6576 656c 203a 3d20 Socket_Level := \n+00005640: 534f 4c5f 534f 434b 4554 3b0a 2020 2020 SOL_SOCKET;. \n+00005650: 2020 2020 2020 2020 2020 204f 5054 4e41 OPTNA\n+00005660: 4d45 203a 2053 6f63 6b65 745f 4f70 7469 ME : Socket_Opti\n+00005670: 6f6e 3b20 4f50 5456 414c 203a 206f 7574 on; OPTVAL : out\n+00005680: 2049 6e74 6567 6572 293b 0a0a 5041 5241 Integer);..PARA\n+00005690: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+000056a0: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+000056b0: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n+000056c0: 6420 626f 756e 6420 736f 636b 6574 206f d bound socket o\n+000056d0: 626a 6563 740a 2020 2020 204c 4556 454c bject. LEVEL\n+000056e0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+000056f0: 2050 726f 746f 636f 6c20 6c65 7665 6c0a Protocol level.\n+00005700: 2020 2020 204f 5054 4e41 4d45 2020 2020 OPTNAME \n+00005710: 696e 2020 2020 2020 2020 204f 7074 696f in Optio\n+00005720: 6e20 6e61 6d65 0a20 2020 2020 4f50 5456 n name. OPTV\n+00005730: 414c 2020 2020 206f 7574 2020 2020 2020 AL out \n+00005740: 2020 4f70 7469 6f6e 2076 616c 7565 0a0a Option value..\n+00005750: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+00005760: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00005770: 7265 7472 6965 7665 7320 6f70 7469 6f6e retrieves option\n+00005780: 7320 6170 706c 6963 6162 6c65 2074 6f20 s applicable to \n+00005790: 6120 736f 636b 6574 2e20 2050 6c65 6173 a socket. Pleas\n+000057a0: 650a 2020 2020 2073 6565 2079 6f75 7220 e. see your \n+000057b0: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n+000057c0: 206d 616e 7561 6c20 666f 7220 7573 6162 manual for usab\n+000057d0: 6c65 206c 6576 656c 7320 616e 6420 6f70 le levels and op\n+000057e0: 7469 6f6e 732e 0a0a 2020 2020 2054 776f tions... Two\n+000057f0: 206c 6576 656c 7320 6172 6520 6465 6669 levels are defi\n+00005800: 6e65 643a 20e2 8098 534f 4c5f 534f 434b ned: ...SOL_SOCK\n+00005810: 4554 e280 9920 2874 6865 2064 6566 6175 ET... (the defau\n+00005820: 6c74 2920 616e 640a 2020 2020 20e2 8098 lt) and. ...\n+00005830: 4950 5052 4f54 4f5f 4950 e280 992e 2020 IPPROTO_IP.... \n+00005840: 5468 6520 6f70 7469 6f6e 7320 6172 6520 The options are \n+00005850: e280 9853 4f5f 5245 5553 4541 4444 52e2 ...SO_REUSEADDR.\n+00005860: 8099 2c20 e280 9853 4f5f 5245 5553 4550 .., ...SO_REUSEP\n+00005870: 4f52 54e2 8099 2c0a 2020 2020 20e2 8098 ORT...,. ...\n+00005880: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n+00005890: e280 992c 20e2 8098 4950 5f41 4444 5f4d ..., ...IP_ADD_M\n+000058a0: 454d 4245 5253 4849 50e2 8099 2c20 e280 EMBERSHIP..., ..\n+000058b0: 9849 505f 4452 4f50 5f4d 454d 4245 5253 .IP_DROP_MEMBERS\n+000058c0: 4849 50e2 8099 2c0a 2020 2020 20e2 8098 HIP...,. ...\n+000058d0: 4950 5f4d 554c 5449 4341 5354 5f4c 4f4f IP_MULTICAST_LOO\n+000058e0: 50e2 8099 2c20 e280 9853 4f5f 534e 4442 P..., ...SO_SNDB\n+000058f0: 5546 e280 9920 616e 6420 e280 9849 505f UF... and ...IP_\n+00005900: 5243 5642 5546 e280 992e 0a0a 2020 2020 RCVBUF...... \n+00005910: 204e 6f74 6520 7468 6174 2075 6e6c 696b Note that unlik\n+00005920: 6520 7468 6569 7220 4320 6c61 6e67 7561 e their C langua\n+00005930: 6765 2063 6f75 6e74 6572 7061 7274 2c20 ge counterpart, \n+00005940: e280 9847 6574 736f 636b 6f70 74e2 8099 ...Getsockopt...\n+00005950: 2061 6e64 0a20 2020 2020 e280 9853 6574 and. ...Set\n+00005960: 736f 636b 6f70 74e2 8099 2064 6f20 6e6f sockopt... do no\n+00005970: 7420 7265 7175 6972 6520 616e 2065 7874 t require an ext\n+00005980: 7261 2070 6172 616d 6574 6572 2072 6570 ra parameter rep\n+00005990: 7265 7365 6e74 696e 6720 7468 650a 2020 resenting the. \n+000059a0: 2020 206c 656e 6774 6820 696e 2062 7974 length in byt\n+000059b0: 6573 206f 6620 7468 6520 6f70 7469 6f6e es of the option\n+000059c0: 2076 616c 7565 2e20 2041 6461 536f 636b value. AdaSock\n+000059d0: 6574 7320 6b6e 6f77 7320 7468 6520 7269 ets knows the ri\n+000059e0: 6768 740a 2020 2020 2073 697a 6520 666f ght. size fo\n+000059f0: 7220 6576 6572 7920 6f70 7469 6f6e 2e0a r every option..\n+00005a00: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00005a10: 6e6f 7465 2053 6574 736f 636b 6f70 7420 note Setsockopt \n+00005a20: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00005a30: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00005a40: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00005a50: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n+00005a60: 6529 2c20 204e 6578 743a 204e 6577 5f4c e), Next: New_L\n+00005a70: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+00005a80: 2020 5072 6576 3a20 4765 7473 6f63 6b6f Prev: Getsocko\n+00005a90: 7074 2028 7072 6f63 6564 7572 6529 2c20 pt (procedure), \n+00005aa0: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n+00005ab0: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n+00005ac0: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n+00005ad0: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00005ae0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00005af0: 2020 2020 4573 7461 626c 6973 6820 6120 Establish a \n+00005b00: 6c69 7374 656e 2071 7565 7565 0a50 524f listen queue.PRO\n+00005b10: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+00005b20: 536f 636b 6574 732e 4c69 7374 656e 3a20 Sockets.Listen: \n+00005b30: 7072 6f63 6564 7572 6520 4c69 7374 656e procedure Listen\n+00005b40: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00005b50: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+00005b60: 2020 2020 2051 5545 5545 5f53 495a 4520 QUEUE_SIZE \n+00005b70: 3a20 506f 7369 7469 7665 203a 3d20 3529 : Positive := 5)\n+00005b80: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00005b90: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00005ba0: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00005bb0: 697a 6564 2061 6e64 2062 6f75 6e64 2073 ized and bound s\n+00005bc0: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+00005bd0: 2020 5155 4555 455f 5349 5a45 2069 6e20 QUEUE_SIZE in \n+00005be0: 2020 2020 2020 2020 5265 7175 6573 7465 Requeste\n+00005bf0: 6420 736c 6f74 7320 696e 2074 6865 206c d slots in the l\n+00005c00: 6973 7465 6e20 7175 6575 650a 0a44 4553 isten queue..DES\n+00005c10: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00005c20: 6973 2070 726f 6365 6475 7265 2065 7374 is procedure est\n+00005c30: 6162 6c69 7368 6573 2061 206c 6973 7465 ablishes a liste\n+00005c40: 6e20 7175 6575 6520 6166 7465 7220 6120 n queue after a \n+00005c50: 5443 5020 736f 636b 6574 2061 730a 2020 TCP socket as. \n+00005c60: 2020 2062 6565 6e20 696e 6974 6961 6c69 been initiali\n+00005c70: 7a65 6420 616e 6420 626f 756e 642e 2020 zed and bound. \n+00005c80: 4561 6368 2073 6c6f 7420 696e 2074 6865 Each slot in the\n+00005c90: 2071 7565 7565 2063 616e 2068 6f6c 6420 queue can hold \n+00005ca0: 6f6e 650a 2020 2020 2069 6e63 6f6d 696e one. incomin\n+00005cb0: 6720 636f 6e6e 6563 7469 6f6e 2074 6861 g connection tha\n+00005cc0: 7420 6861 7320 6e6f 7420 6265 656e 2061 t has not been a\n+00005cd0: 6363 6570 7465 6420 7965 742e 2020 4e6f ccepted yet. No\n+00005ce0: 7465 2074 6861 7420 6d6f 7374 0a20 2020 te that most. \n+00005cf0: 2020 6f70 6572 6174 696e 6720 7379 7374 operating syst\n+00005d00: 656d 7320 6967 6e6f 7265 2071 7565 7565 ems ignore queue\n+00005d10: 2073 697a 6573 206c 6172 6765 7220 7468 sizes larger th\n+00005d20: 616e 2066 6976 652e 0a0a 5345 4520 414c an five...SEE AL\n+00005d30: 534f 0a20 2020 2020 2a6e 6f74 6520 4163 SO. *note Ac\n+00005d40: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00005d50: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00005d60: 2a6e 6f74 6520 4269 6e64 2028 7072 6f63 *note Bind (proc\n+00005d70: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n+00005d80: 6e6f 7465 2053 6f63 6b65 7420 2870 726f note Socket (pro\n+00005d90: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00005da0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00005db0: 6e66 6f2c 2020 4e6f 6465 3a20 4e65 775f nfo, Node: New_\n+00005dc0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00005dd0: 2c20 204e 6578 743a 2050 7574 2028 7072 , Next: Put (pr\n+00005de0: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00005df0: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+00005e00: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n+00005e10: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00005e20: 7265 290a 0a4e 6577 5f4c 696e 6520 2870 re)..New_Line (p\n+00005e30: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+00005e40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00005e50: 5055 5250 4f53 450a 2020 2020 2053 656e PURPOSE. Sen\n+00005e60: 6420 6120 4352 2f4c 4620 746f 2061 2072 d a CR/LF to a r\n+00005e70: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n+00005e80: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00005e90: 636b 6574 732e 4e65 775f 4c69 6e65 3a20 ckets.New_Line: \n+00005ea0: 7072 6f63 6564 7572 6520 4e65 775f 4c69 procedure New_Li\n+00005eb0: 6e65 2028 534f 434b 4554 203a 2053 6f63 ne (SOCKET : Soc\n+00005ec0: 6b65 745f 4644 2743 6c61 7373 3b0a 2020 ket_FD'Class;. \n+00005ed0: 2020 2020 2020 2020 2020 2020 2043 4f55 COU\n+00005ee0: 4e54 203a 204e 6174 7572 616c 203a 3d20 NT : Natural := \n+00005ef0: 3129 3b0a 0a50 4152 414d 4554 4552 530a 1);..PARAMETERS.\n+00005f00: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00005f10: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n+00005f20: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n+00005f30: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n+00005f40: 6374 0a20 2020 2020 434f 554e 5420 2020 ct. COUNT \n+00005f50: 2020 2069 6e20 2020 2020 2020 2020 4e75 in Nu\n+00005f60: 6d62 6572 206f 6620 4352 2f4c 4620 7365 mber of CR/LF se\n+00005f70: 7175 656e 6365 7320 746f 2073 656e 640a quences to send.\n+00005f80: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00005f90: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n+00005fa0: 2073 656e 6473 206f 6e65 206f 7220 6d6f sends one or mo\n+00005fb0: 7265 2043 522f 4c46 2063 6f6d 6269 6e61 re CR/LF combina\n+00005fc0: 7469 6f6e 7320 746f 2074 6865 2070 6565 tions to the pee\n+00005fd0: 722e 0a0a 4558 4345 5054 494f 4e53 0a20 r...EXCEPTIONS. \n+00005fe0: 2020 2020 e280 9843 6f6e 6e65 6374 696f ...Connectio\n+00005ff0: 6e5f 436c 6f73 6564 e280 9950 6565 7220 n_Closed...Peer \n+00006000: 6861 7320 7072 656d 6174 7572 656c 7920 has prematurely \n+00006010: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n+00006020: 6374 696f 6e0a 0a53 4545 2041 4c53 4f0a ction..SEE ALSO.\n+00006030: 2020 2020 202a 6e6f 7465 2050 7574 2028 *note Put (\n+00006040: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00006050: 2020 202a 6e6f 7465 2050 7574 5f4c 696e *note Put_Lin\n+00006060: 6520 2870 726f 6365 6475 7265 293a 3a2e e (procedure)::.\n+00006070: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00006080: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00006090: 3a20 5075 7420 2870 726f 6365 6475 7265 : Put (procedure\n+000060a0: 292c 2020 4e65 7874 3a20 5075 745f 4c69 ), Next: Put_Li\n+000060b0: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+000060c0: 2050 7265 763a 204e 6577 5f4c 696e 6520 Prev: New_Line \n+000060d0: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n+000060e0: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n+000060f0: 2870 726f 6365 6475 7265 290a 0a50 7574 (procedure)..Put\n+00006100: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00006110: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+00006120: 5250 4f53 450a 2020 2020 2053 656e 6420 RPOSE. Send \n+00006130: 6120 7374 7269 6e67 2074 6f20 6120 7265 a string to a re\n+00006140: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n+00006150: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00006160: 6b65 7473 2e50 7574 3a20 7072 6f63 6564 kets.Put: proced\n+00006170: 7572 6520 5075 7420 2853 4f43 4b45 5420 ure Put (SOCKET \n+00006180: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n+00006190: 733b 0a20 2020 2020 2020 2020 2020 2020 s;. \n+000061a0: 2020 5354 5220 3a20 5374 7269 6e67 293b STR : String);\n+000061b0: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+000061c0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+000061d0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000061e0: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n+000061f0: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00006200: 2020 2020 2053 5452 2020 2020 2020 2020 STR \n+00006210: 696e 2020 2020 2020 2020 2053 7472 696e in Strin\n+00006220: 6720 746f 2073 656e 640a 0a44 4553 4352 g to send..DESCR\n+00006230: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00006240: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n+00006250: 2074 6865 2063 6f6e 7465 6e74 206f 6620 the content of \n+00006260: 5354 5220 6f76 6572 2061 6e20 6f75 7467 STR over an outg\n+00006270: 6f69 6e67 206f 720a 2020 2020 2069 6e63 oing or. inc\n+00006280: 6f6d 696e 6720 736f 636b 6574 2e0a 0a45 oming socket...E\n+00006290: 5843 4550 5449 4f4e 530a 2020 2020 20e2 XCEPTIONS. .\n+000062a0: 8098 436f 6e6e 6563 7469 6f6e 5f43 6c6f ..Connection_Clo\n+000062b0: 7365 64e2 8099 5065 6572 2068 6173 2070 sed...Peer has p\n+000062c0: 7265 6d61 7475 7265 6c79 2063 6c6f 7365 rematurely close\n+000062d0: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n+000062e0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+000062f0: 2a6e 6f74 6520 4e65 775f 4c69 6e65 2028 *note New_Line (\n+00006300: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00006310: 2020 202a 6e6f 7465 2050 7574 5f4c 696e *note Put_Lin\n+00006320: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00006330: 0a20 2020 2020 2a6e 6f74 6520 5365 6e64 . *note Send\n+00006340: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00006350: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00006360: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00006370: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n+00006380: 6475 7265 292c 2020 4e65 7874 3a20 5265 dure), Next: Re\n+00006390: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+000063a0: 2c20 2050 7265 763a 2050 7574 2028 7072 , Prev: Put (pr\n+000063b0: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+000063c0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+000063d0: 6f63 6564 7572 6529 0a0a 5075 745f 4c69 ocedure)..Put_Li\n+000063e0: 6e65 2028 7072 6f63 6564 7572 6529 0a2d ne (procedure).-\n+000063f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006400: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+00006410: 2020 5365 6e64 2061 2043 522f 4c46 2074 Send a CR/LF t\n+00006420: 6572 6d69 6e61 7465 6420 7374 7269 6e67 erminated string\n+00006430: 2074 6f20 6120 7265 6d6f 7465 2068 6f73 to a remote hos\n+00006440: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+00006450: 2020 2d2d 2053 6f63 6b65 7473 2e50 7574 -- Sockets.Put\n+00006460: 5f4c 696e 653a 2070 726f 6365 6475 7265 _Line: procedure\n+00006470: 2050 7574 5f4c 696e 6520 2853 4f43 4b45 Put_Line (SOCKE\n+00006480: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00006490: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+000064a0: 2020 2020 5354 5220 3a20 5374 7269 6e67 STR : String\n+000064b0: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n+000064c0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n+000064d0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n+000064e0: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n+000064f0: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n+00006500: 740a 2020 2020 2053 5452 2020 2020 2020 t. STR \n+00006510: 2020 696e 2020 2020 2020 2020 2053 7472 in Str\n+00006520: 696e 6720 746f 2073 656e 640a 0a44 4553 ing to send..DES\n+00006530: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00006540: 6973 2070 726f 6365 6475 7265 2073 656e is procedure sen\n+00006550: 6473 2074 6865 2063 6f6e 7465 6e74 206f ds the content o\n+00006560: 6620 5354 5220 706c 7573 2061 2043 522f f STR plus a CR/\n+00006570: 4c46 2063 6f6d 6269 6e61 7469 6f6e 0a20 LF combination. \n+00006580: 2020 2020 6f76 6572 2061 6e20 6f75 7467 over an outg\n+00006590: 6f69 6e67 206f 7220 696e 636f 6d69 6e67 oing or incoming\n+000065a0: 2073 6f63 6b65 742e 0a0a 4558 4345 5054 socket...EXCEPT\n+000065b0: 494f 4e53 0a20 2020 2020 e280 9843 6f6e IONS. ...Con\n+000065c0: 6e65 6374 696f 6e5f 436c 6f73 6564 e280 nection_Closed..\n+000065d0: 9950 6565 7220 6861 7320 7072 656d 6174 .Peer has premat\n+000065e0: 7572 656c 7920 636c 6f73 6564 2074 6865 urely closed the\n+000065f0: 2063 6f6e 6e65 6374 696f 6e0a 0a53 4545 connection..SEE\n+00006600: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00006610: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+00006620: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00006630: 6f74 6520 5075 7420 2870 726f 6365 6475 ote Put (procedu\n+00006640: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+00006650: 6520 5365 6e64 2028 7072 6f63 6564 7572 e Send (procedur\n+00006660: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00006670: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00006680: 204e 6f64 653a 2052 6563 6569 7665 2028 Node: Receive (\n+00006690: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+000066a0: 3a20 5265 6365 6976 6520 2870 726f 6365 : Receive (proce\n+000066b0: 6475 7265 292c 2020 5072 6576 3a20 5075 dure), Prev: Pu\n+000066c0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+000066d0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+000066e0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+000066f0: 6529 0a0a 5265 6365 6976 6520 2866 756e e)..Receive (fun\n+00006700: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+00006710: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00006720: 5345 0a20 2020 2020 5265 6365 6976 6520 SE. Receive \n+00006730: 7261 7720 6461 7461 206f 7665 7220 6120 raw data over a \n+00006740: 736f 636b 6574 0a50 524f 544f 5459 5045 socket.PROTOTYPE\n+00006750: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00006760: 732e 5265 6365 6976 653a 2066 756e 6374 s.Receive: funct\n+00006770: 696f 6e20 5265 6365 6976 6520 2853 4f43 ion Receive (SOC\n+00006780: 4b45 5420 3a20 536f 636b 6574 5f46 443b KET : Socket_FD;\n+00006790: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000067a0: 4d41 5820 3a20 4164 612e 5374 7265 616d MAX : Ada.Stream\n+000067b0: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n+000067c0: 5f43 6f75 6e74 203a 3d20 3430 3936 290a _Count := 4096).\n+000067d0: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+000067e0: 6574 7572 6e20 4164 612e 5374 7265 616d eturn Ada.Stream\n+000067f0: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n+00006800: 5f41 7272 6179 3b0a 0a50 4152 414d 4554 _Array;..PARAMET\n+00006810: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+00006820: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+00006830: 6e69 7469 616c 697a 6564 2061 6e64 2062 nitialized and b\n+00006840: 6f75 6e64 206f 7220 636f 6e6e 6563 7465 ound or connecte\n+00006850: 640a 2020 2020 2020 2020 2020 2020 2020 d. \n+00006860: 2020 2020 2020 2020 2020 2020 2073 6f63 soc\n+00006870: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+00006880: 4d41 5820 2020 2020 2020 2069 6e20 2020 MAX in \n+00006890: 2020 2020 2020 4d61 7869 6d75 6d20 6461 Maximum da\n+000068a0: 7461 206c 656e 6774 680a 0a52 4554 5552 ta length..RETUR\n+000068b0: 4e20 5641 4c55 450a 2020 2020 2052 6563 N VALUE. Rec\n+000068c0: 6569 7665 6420 7261 7720 6461 7461 0a0a eived raw data..\n+000068d0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000068e0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+000068f0: 7265 6365 6976 6573 2064 6174 6120 6672 receives data fr\n+00006900: 6f6d 2061 2062 6f75 6e64 2055 4450 2073 om a bound UDP s\n+00006910: 6f63 6b65 7420 6f72 2061 2063 6f6e 6e65 ocket or a conne\n+00006920: 6374 6564 0a20 2020 2020 5443 5020 736f cted. TCP so\n+00006930: 636b 6574 2e20 204f 6e6c 7920 6f6e 6520 cket. Only one \n+00006940: 7379 7374 656d 2063 616c 6c20 7769 6c6c system call will\n+00006950: 2062 6520 7065 7266 6f72 6d65 643b 2074 be performed; t\n+00006960: 6869 7320 6675 6e63 7469 6f6e 0a20 2020 his function. \n+00006970: 2020 7769 6c6c 2072 6574 7572 6e20 7768 will return wh\n+00006980: 6174 6576 6572 2064 6174 6120 6861 7320 atever data has \n+00006990: 6172 7269 7665 642e 2020 4e6f 7465 2074 arrived. Note t\n+000069a0: 6861 7420 696e 2047 4e41 5420 7468 650a hat in GNAT the.\n+000069b0: 2020 2020 2073 6563 6f6e 6461 7279 2073 secondary s\n+000069c0: 7461 636b 206d 6179 2062 6520 7573 6564 tack may be used\n+000069d0: 2074 6f20 7374 6f72 6520 7468 6520 6461 to store the da\n+000069e0: 7461 2061 6e64 206d 6179 2072 6573 756c ta and may resul\n+000069f0: 7420 696e 0a20 2020 2020 7374 6163 6b20 t in. stack \n+00006a00: 7374 6f72 6167 6520 6578 6861 7573 7469 storage exhausti\n+00006a10: 6f6e 2e0a 0a45 5843 4550 5449 4f4e 530a on...EXCEPTIONS.\n+00006a20: 2020 2020 20e2 8098 436f 6e6e 6563 7469 ...Connecti\n+00006a30: 6f6e 5f43 6c6f 7365 64e2 8099 5065 6572 on_Closed...Peer\n+00006a40: 2068 6173 2063 6c6f 7365 6420 7468 6520 has closed the \n+00006a50: 636f 6e6e 6563 7469 6f6e 2062 6566 6f72 connection befor\n+00006a60: 650a 2020 2020 2020 2020 2020 2020 2020 e. \n+00006a70: 2020 2020 2020 2020 2020 7365 6e64 696e sendin\n+00006a80: 6720 616e 7920 6461 7461 0a0a 5345 4520 g any data..SEE \n+00006a90: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00006aa0: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+00006ab0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+00006ac0: 6520 5265 6365 6976 655f 536f 6d65 2028 e Receive_Some (\n+00006ad0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00006ae0: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+00006af0: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a e (function)::,.\n+00006b00: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00006b10: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n+00006b20: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n+00006b30: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+00006b40: 6465 3a20 5265 6365 6976 6520 2870 726f de: Receive (pro\n+00006b50: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n+00006b60: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+00006b70: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00006b80: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n+00006b90: 6f6e 292c 2020 5570 3a20 4163 6365 7074 on), Up: Accept\n+00006ba0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00006bb0: 7265 290a 0a52 6563 6569 7665 2028 7072 re)..Receive (pr\n+00006bc0: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n+00006bd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+00006be0: 5250 4f53 450a 2020 2020 2052 6563 6569 RPOSE. Recei\n+00006bf0: 7665 2072 6177 2064 6174 6120 6f76 6572 ve raw data over\n+00006c00: 2061 2073 6f63 6b65 740a 5052 4f54 4f54 a socket.PROTOT\n+00006c10: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00006c20: 6b65 7473 2e52 6563 6569 7665 3a20 7072 kets.Receive: pr\n+00006c30: 6f63 6564 7572 6520 5265 6365 6976 6520 ocedure Receive \n+00006c40: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+00006c50: 5f46 4427 436c 6173 733b 0a20 2020 2020 _FD'Class;. \n+00006c60: 2020 2020 2020 2020 2020 4441 5441 203a DATA :\n+00006c70: 206f 7574 2041 6461 2e53 7472 6561 6d73 out Ada.Streams\n+00006c80: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+00006c90: 4172 7261 7929 3b0a 0a50 4152 414d 4554 Array);..PARAMET\n+00006ca0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+00006cb0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+00006cc0: 6e69 7469 616c 697a 6564 2061 6e64 2062 nitialized and b\n+00006cd0: 6f75 6e64 206f 7220 636f 6e6e 6563 7465 ound or connecte\n+00006ce0: 640a 2020 2020 2020 2020 2020 2020 2020 d. \n+00006cf0: 2020 2020 2020 2020 2020 2020 2073 6f63 soc\n+00006d00: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+00006d10: 4441 5441 2020 2020 2020 206f 7574 2020 DATA out \n+00006d20: 2020 2020 2020 496e 636f 6d69 6e67 2064 Incoming d\n+00006d30: 6174 6120 6275 6666 6572 0a0a 4445 5343 ata buffer..DESC\n+00006d40: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00006d50: 7320 7072 6f63 6564 7572 6520 7265 6365 s procedure rece\n+00006d60: 6976 6573 2064 6174 6120 6672 6f6d 2061 ives data from a\n+00006d70: 2062 6f75 6e64 2055 4450 2073 6f63 6b65 bound UDP socke\n+00006d80: 7420 6f72 2061 2063 6f6e 6e65 6374 6564 t or a connected\n+00006d90: 0a20 2020 2020 5443 5020 736f 636b 6574 . TCP socket\n+00006da0: 2e20 2049 7420 7769 6c6c 2062 6c6f 636b . It will block\n+00006db0: 2075 6e74 696c 2074 6865 2044 4154 4120 until the DATA \n+00006dc0: 7265 6365 7074 696f 6e20 6275 6666 6572 reception buffer\n+00006dd0: 2068 6173 2062 6565 6e0a 2020 2020 2074 has been. t\n+00006de0: 6f74 616c 6c79 2066 696c 6c65 642e 0a0a otally filled...\n+00006df0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n+00006e00: e280 9843 6f6e 6e65 6374 696f 6e5f 436c ...Connection_Cl\n+00006e10: 6f73 6564 e280 9950 6565 7220 6861 7320 osed...Peer has \n+00006e20: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n+00006e30: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n+00006e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006e50: 2020 2020 20e2 8098 4461 7461 274c 656e ...Data'Len\n+00006e60: 6774 68e2 8099 2062 7974 6573 0a20 2020 gth... bytes. \n+00006e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006e80: 2020 2020 2077 6572 6520 7265 6365 6976 were receiv\n+00006e90: 6564 0a0a 5345 4520 414c 534f 0a20 2020 ed..SEE ALSO. \n+00006ea0: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n+00006eb0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00006ec0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00006ed0: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00006ee0: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00006ef0: 6569 7665 2028 6675 6e63 7469 6f6e 293a eive (function):\n+00006f00: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n+00006f10: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n+00006f20: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00006f30: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00006f40: 666f 2c20 204e 6f64 653a 2052 6563 6569 fo, Node: Recei\n+00006f50: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n+00006f60: 7265 292c 2020 4e65 7874 3a20 5365 6e64 re), Next: Send\n+00006f70: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+00006f80: 7265 763a 2052 6563 6569 7665 2028 7072 rev: Receive (pr\n+00006f90: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00006fa0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00006fb0: 6f63 6564 7572 6529 0a0a 5265 6365 6976 ocedure)..Receiv\n+00006fc0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+00006fd0: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00006ff0: 504f 5345 0a20 2020 2020 5265 6365 6976 POSE. Receiv\n+00007000: 6520 7261 7720 6461 7461 206f 7665 7220 e raw data over \n+00007010: 6120 736f 636b 6574 0a50 524f 544f 5459 a socket.PROTOTY\n+00007020: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00007030: 6574 732e 5265 6365 6976 655f 536f 6d65 ets.Receive_Some\n+00007040: 3a20 7072 6f63 6564 7572 6520 5265 6365 : procedure Rece\n+00007050: 6976 655f 536f 6d65 0a20 2020 2020 2020 ive_Some. \n+00007060: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+00007070: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n+00007080: 733b 0a20 2020 2020 2020 2020 2020 2020 s;. \n+00007090: 2020 4441 5441 203a 206f 7574 2041 6461 DATA : out Ada\n+000070a0: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_\n+000070b0: 456c 656d 656e 745f 4172 7261 793b 0a20 Element_Array;. \n+000070c0: 2020 2020 2020 2020 2020 2020 2020 4c41 LA\n+000070d0: 5354 203a 206f 7574 2041 6461 2e53 7472 ST : out Ada.Str\n+000070e0: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n+000070f0: 656e 745f 4f66 6673 6574 293b 0a0a 5041 ent_Offset);..PA\n+00007100: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00007110: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00007120: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00007130: 616e 6420 626f 756e 6420 6f72 2063 6f6e and bound or con\n+00007140: 6e65 6374 6564 0a20 2020 2020 2020 2020 nected. \n+00007150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007160: 2020 736f 636b 6574 206f 626a 6563 740a socket object.\n+00007170: 2020 2020 2044 4154 4120 2020 2020 2020 DATA \n+00007180: 6f75 7420 2020 2020 2020 2049 6e63 6f6d out Incom\n+00007190: 696e 6720 6461 7461 2062 7566 6665 720a ing data buffer.\n+000071a0: 2020 2020 204c 4153 5420 2020 2020 2020 LAST \n+000071b0: 6f75 7420 2020 2020 2020 2049 6e64 6578 out Index\n+000071c0: 206f 6620 6c61 7374 2065 6c65 6d65 6e74 of last element\n+000071d0: 2070 6c61 6365 6420 696e 746f 2044 4154 placed into DAT\n+000071e0: 410a 0a44 4553 4352 4950 5449 4f4e 0a20 A..DESCRIPTION. \n+000071f0: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+00007200: 7265 2072 6563 6569 7665 7320 6461 7461 re receives data\n+00007210: 2066 726f 6d20 6120 626f 756e 6420 5544 from a bound UD\n+00007220: 5020 736f 636b 6574 206f 7220 6120 636f P socket or a co\n+00007230: 6e6e 6563 7465 640a 2020 2020 2054 4350 nnected. TCP\n+00007240: 2073 6f63 6b65 742e 2020 4173 2073 6f6f socket. As soo\n+00007250: 6e20 6173 2061 7420 6c65 6173 7420 6f6e n as at least on\n+00007260: 6520 6279 7465 2068 6173 2062 6565 6e20 e byte has been \n+00007270: 7265 6164 2c20 6974 2072 6574 7572 6e73 read, it returns\n+00007280: 0a20 2020 2020 7769 7468 204c 4153 5420 . with LAST \n+00007290: 7365 7420 746f 2074 6865 2069 6e64 6578 set to the index\n+000072a0: 206f 6620 7468 6520 6c61 7465 7374 2077 of the latest w\n+000072b0: 7269 7474 656e 2065 6c65 6d65 6e74 206f ritten element o\n+000072c0: 6620 4441 5441 2e0a 0a45 5843 4550 5449 f DATA...EXCEPTI\n+000072d0: 4f4e 530a 2020 2020 20e2 8098 436f 6e6e ONS. ...Conn\n+000072e0: 6563 7469 6f6e 5f43 6c6f 7365 64e2 8099 ection_Closed...\n+000072f0: 5065 6572 2068 6173 2063 6c6f 7365 6420 Peer has closed \n+00007300: 7468 6520 636f 6e6e 6563 7469 6f6e 2062 the connection b\n+00007310: 6566 6f72 650a 2020 2020 2020 2020 2020 efore. \n+00007320: 2020 2020 2020 2020 2020 2020 2020 7365 se\n+00007330: 6e64 696e 6720 616e 7920 6461 7461 0a0a nding any data..\n+00007340: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+00007350: 6f74 6520 4765 745f 4c69 6e65 2028 6675 ote Get_Line (fu\n+00007360: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n+00007370: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n+00007380: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00007390: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n+000073a0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+000073b0: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n+000073c0: 6520 2870 726f 6365 6475 7265 293a 3a2e e (procedure)::.\n+000073d0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+000073e0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+000073f0: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur\n+00007400: 6529 2c20 204e 6578 743a 2053 6574 5f42 e), Next: Set_B\n+00007410: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00007420: 292c 2020 5072 6576 3a20 5265 6365 6976 ), Prev: Receiv\n+00007430: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+00007440: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00007450: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00007460: 6529 0a0a 5365 6e64 2028 7072 6f63 6564 e)..Send (proced\n+00007470: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+00007480: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00007490: 2020 2020 5365 6e64 2072 6177 2064 6174 Send raw dat\n+000074a0: 6120 6f76 6572 2061 2073 6f63 6b65 740a a over a socket.\n+000074b0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+000074c0: 2d2d 2053 6f63 6b65 7473 2e53 656e 643a -- Sockets.Send:\n+000074d0: 2070 726f 6365 6475 7265 2053 656e 6420 procedure Send \n+000074e0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+000074f0: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n+00007500: 2020 2020 4441 5441 203a 206f 7574 2041 DATA : out A\n+00007510: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n+00007520: 6d5f 456c 656d 656e 745f 4172 7261 7929 m_Element_Array)\n+00007530: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00007540: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00007550: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00007560: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+00007570: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+00007580: 0a20 2020 2020 4441 5441 2020 2020 2020 . DATA \n+00007590: 206f 7574 2020 2020 2020 2020 4461 7461 out Data\n+000075a0: 2074 6f20 6265 2073 656e 740a 0a44 4553 to be sent..DES\n+000075b0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+000075c0: 6973 2070 726f 6365 6475 7265 2073 656e is procedure sen\n+000075d0: 6473 2064 6174 6120 6f76 6572 2061 2063 ds data over a c\n+000075e0: 6f6e 6e65 6374 6564 206f 7574 676f 696e onnected outgoin\n+000075f0: 6720 736f 636b 6574 206f 7220 6f76 6572 g socket or over\n+00007600: 0a20 2020 2020 616e 2069 6e63 6f6d 696e . an incomin\n+00007610: 6720 736f 636b 6574 2e0a 0a45 5843 4550 g socket...EXCEP\n+00007620: 5449 4f4e 530a 2020 2020 20e2 8098 436f TIONS. ...Co\n+00007630: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 64e2 nnection_Closed.\n+00007640: 8099 5065 6572 2068 6173 2070 7265 6d61 ..Peer has prema\n+00007650: 7475 7265 6c79 2063 6c6f 7365 6420 7468 turely closed th\n+00007660: 6520 636f 6e6e 6563 7469 6f6e 0a0a 5345 e connection..SE\n+00007670: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+00007680: 6520 5075 7420 2870 726f 6365 6475 7265 e Put (procedure\n+00007690: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+000076a0: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n+000076b0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+000076c0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+000076d0: 2c20 204e 6f64 653a 2053 6574 5f42 7566 , Node: Set_Buf\n+000076e0: 6665 7220 2870 726f 6365 6475 7265 292c fer (procedure),\n+000076f0: 2020 4e65 7874 3a20 5365 7473 6f63 6b6f Next: Setsocko\n+00007700: 7074 2028 7072 6f63 6564 7572 6529 2c20 pt (procedure), \n+00007710: 2050 7265 763a 2053 656e 6420 2870 726f Prev: Send (pro\n+00007720: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00007730: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00007740: 6365 6475 7265 290a 0a53 6574 5f42 7566 cedure)..Set_Buf\n+00007750: 6665 7220 2870 726f 6365 6475 7265 290a fer (procedure).\n+00007760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007770: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00007780: 2020 2020 2049 6e73 7461 6c6c 2061 206c Install a l\n+00007790: 696e 652d 6f72 6965 6e74 6564 2062 7566 ine-oriented buf\n+000077a0: 6665 7220 6f66 2074 6865 2073 6f63 6b65 fer of the socke\n+000077b0: 7420 6f62 6a65 6374 0a50 524f 544f 5459 t object.PROTOTY\n+000077c0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+000077d0: 6574 732e 5365 745f 4275 6666 6572 3a20 ets.Set_Buffer: \n+000077e0: 7072 6f63 6564 7572 6520 5365 745f 4275 procedure Set_Bu\n+000077f0: 6666 6572 0a20 2020 2020 2020 2020 2020 ffer. \n+00007800: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So\n+00007810: 636b 6574 5f46 4427 436c 6173 733b 204c cket_FD'Class; L\n+00007820: 454e 4754 4820 3a20 506f 7369 7469 7665 ENGTH : Positive\n+00007830: 203a 3d20 3135 3030 293b 0a0a 5041 5241 := 1500);..PARA\n+00007840: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+00007850: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+00007860: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n+00007870: 6420 636f 6e6e 6563 7465 6420 736f 636b d connected sock\n+00007880: 6574 206f 626a 6563 740a 2020 2020 204c et object. L\n+00007890: 454e 4754 4820 2020 2020 696e 2020 2020 ENGTH in \n+000078a0: 2020 2020 2053 697a 6520 696e 2062 7974 Size in byt\n+000078b0: 6573 206f 6620 7468 6520 6e65 776c 7920 es of the newly \n+000078c0: 696e 7374 616c 6c65 640a 2020 2020 2020 installed. \n+000078d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000078e0: 2020 2020 2062 7566 6665 720a 0a44 4553 buffer..DES\n+000078f0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00007900: 6973 2070 726f 6365 6475 7265 2070 7574 is procedure put\n+00007910: 7320 7468 6520 736f 636b 6574 206f 626a s the socket obj\n+00007920: 6563 7420 696e 2062 7566 6665 7265 6420 ect in buffered \n+00007930: 6d6f 6465 2e20 2049 6620 7468 650a 2020 mode. If the. \n+00007940: 2020 2073 6f63 6b65 7420 7761 7320 616c socket was al\n+00007950: 7265 6164 7920 6275 6666 6572 6564 2c20 ready buffered, \n+00007960: 7468 6520 636f 6e74 656e 7420 6f66 2074 the content of t\n+00007970: 6865 2070 7265 7669 6f75 7320 6275 6666 he previous buff\n+00007980: 6572 0a20 2020 2020 7769 6c6c 2062 6520 er. will be \n+00007990: 6c6f 7374 2e20 2054 6865 2062 7566 6665 lost. The buffe\n+000079a0: 7265 6420 6d6f 6465 206f 6e6c 7920 6166 red mode only af\n+000079b0: 6665 6374 7320 6368 6172 6163 7465 722d fects character-\n+000079c0: 2061 6e64 0a20 2020 2020 6c69 6e65 2d6f and. line-o\n+000079d0: 7269 656e 7465 6420 7265 6164 206f 7065 riented read ope\n+000079e0: 7261 7469 6f6e 2073 7563 6820 6173 202a ration such as *\n+000079f0: 6e6f 7465 2047 6574 2028 6675 6e63 7469 note Get (functi\n+00007a00: 6f6e 293a 3a2c 202a 6e6f 7465 0a20 2020 on)::, *note. \n+00007a10: 2020 4765 745f 4368 6172 2028 6675 6e63 Get_Char (func\n+00007a20: 7469 6f6e 293a 3a2c 2061 6e64 202a 6e6f tion)::, and *no\n+00007a30: 7465 2047 6574 5f4c 696e 6520 2866 756e te Get_Line (fun\n+00007a40: 6374 696f 6e29 3a3a 2e20 204f 7468 6572 ction)::. Other\n+00007a50: 0a20 2020 2020 7265 6365 7074 696f 6e20 . reception \n+00007a60: 7375 6270 726f 6772 616d 7320 7769 6c6c subprograms will\n+00007a70: 206e 6f74 2066 756e 6374 696f 6e20 7072 not function pr\n+00007a80: 6f70 6572 6c79 2069 6620 6275 6666 6572 operly if buffer\n+00007a90: 6564 206d 6f64 650a 2020 2020 2069 7320 ed mode. is \n+00007aa0: 7573 6564 2061 7420 7468 6520 7361 6d65 used at the same\n+00007ab0: 2074 696d 652e 0a0a 2020 2020 2054 6865 time... The\n+00007ac0: 2073 697a 6520 6f66 2074 6865 2062 7566 size of the buf\n+00007ad0: 6665 7220 6861 7320 746f 2062 6520 6772 fer has to be gr\n+00007ae0: 6561 7465 7220 7468 616e 2074 6865 2062 eater than the b\n+00007af0: 6967 6765 7374 2070 6f73 7369 626c 650a iggest possible.\n+00007b00: 2020 2020 2070 6163 6b65 7420 7365 6e74 packet sent\n+00007b10: 2062 7920 7468 6520 7265 6d6f 7465 2068 by the remote h\n+00007b20: 6f73 742c 206f 7468 6572 7769 7365 2064 ost, otherwise d\n+00007b30: 6174 6120 6c6f 7373 206d 6179 206f 6363 ata loss may occ\n+00007b40: 7572 2e0a 0a53 4545 2041 4c53 4f0a 2020 ur...SEE ALSO. \n+00007b50: 2020 202a 6e6f 7465 2055 6e73 6574 5f42 *note Unset_B\n+00007b60: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00007b70: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+00007b80: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00007b90: 4e6f 6465 3a20 5365 7473 6f63 6b6f 7074 Node: Setsockopt\n+00007ba0: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00007bb0: 6578 743a 2053 6875 7464 6f77 6e20 2870 ext: Shutdown (p\n+00007bc0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+00007bd0: 3a20 5365 745f 4275 6666 6572 2028 7072 : Set_Buffer (pr\n+00007be0: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00007bf0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00007c00: 6f63 6564 7572 6529 0a0a 5365 7473 6f63 ocedure)..Setsoc\n+00007c10: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00007c20: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00007c30: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00007c40: 0a20 2020 2020 5365 7420 6120 736f 636b . Set a sock\n+00007c50: 6574 206f 7074 696f 6e0a 5052 4f54 4f54 et option.PROTOT\n+00007c60: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00007c70: 6b65 7473 2e53 6574 736f 636b 6f70 743a kets.Setsockopt:\n+00007c80: 2070 726f 6365 6475 7265 2053 6574 736f procedure Setso\n+00007c90: 636b 6f70 7420 2853 4f43 4b45 5420 3a20 ckopt (SOCKET : \n+00007ca0: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+00007cb0: 2020 2020 2020 2020 2020 4c45 5645 4c20 LEVEL \n+00007cc0: 3a20 536f 636b 6574 5f4c 6576 656c 203a : Socket_Level :\n+00007cd0: 3d20 534f 4c5f 534f 434b 4554 3b0a 2020 = SOL_SOCKET;. \n+00007ce0: 2020 2020 2020 2020 2020 2020 204f 5054 OPT\n+00007cf0: 4e41 4d45 203a 2053 6f63 6b65 745f 4f70 NAME : Socket_Op\n+00007d00: 7469 6f6e 3b20 4f50 5456 414c 203a 2049 tion; OPTVAL : I\n+00007d10: 6e74 6567 6572 293b 0a0a 5041 5241 4d45 nteger);..PARAME\n+00007d20: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00007d30: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00007d40: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+00007d50: 626f 756e 6420 736f 636b 6574 206f 626a bound socket obj\n+00007d60: 6563 740a 2020 2020 204c 4556 454c 2020 ect. LEVEL \n+00007d70: 2020 2020 696e 2020 2020 2020 2020 2050 in P\n+00007d80: 726f 746f 636f 6c20 6c65 7665 6c0a 2020 rotocol level. \n+00007d90: 2020 204f 5054 4e41 4d45 2020 2020 696e OPTNAME in\n+00007da0: 2020 2020 2020 2020 204f 7074 696f 6e20 Option \n+00007db0: 6e61 6d65 0a20 2020 2020 4f50 5456 414c name. OPTVAL\n+00007dc0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00007dd0: 4f70 7469 6f6e 2076 616c 7565 0a0a 4445 Option value..DE\n+00007de0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00007df0: 6869 7320 7072 6f63 6564 7572 6520 7365 his procedure se\n+00007e00: 7473 206f 7074 696f 6e73 2061 7070 6c69 ts options appli\n+00007e10: 6361 626c 6520 746f 2061 2073 6f63 6b65 cable to a socke\n+00007e20: 742e 2020 506c 6561 7365 2073 6565 0a20 t. Please see. \n+00007e30: 2020 2020 796f 7572 206f 7065 7261 7469 your operati\n+00007e40: 6e67 2073 7973 7465 6d20 6d61 6e75 616c ng system manual\n+00007e50: 2066 6f72 2075 7361 626c 6520 6c65 7665 for usable leve\n+00007e60: 6c73 2061 6e64 206f 7074 696f 6e73 2e0a ls and options..\n+00007e70: 0a20 2020 2020 5477 6f20 6c65 7665 6c73 . Two levels\n+00007e80: 2061 7265 2064 6566 696e 6564 3a20 e280 are defined: ..\n+00007e90: 9853 4f4c 5f53 4f43 4b45 54e2 8099 2028 .SOL_SOCKET... (\n+00007ea0: 7468 6520 6465 6661 756c 7429 2061 6e64 the default) and\n+00007eb0: 0a20 2020 2020 e280 9849 5050 524f 544f . ...IPPROTO\n+00007ec0: 5f49 50e2 8099 2e20 2054 6865 206f 7074 _IP.... The opt\n+00007ed0: 696f 6e73 2061 7265 20e2 8098 534f 5f52 ions are ...SO_R\n+00007ee0: 4555 5345 4144 4452 e280 992c 20e2 8098 EUSEADDR..., ...\n+00007ef0: 534f 5f52 4555 5345 504f 5254 e280 992c SO_REUSEPORT...,\n+00007f00: 0a20 2020 2020 e280 9849 505f 4d55 4c54 . ...IP_MULT\n+00007f10: 4943 4153 545f 5454 4ce2 8099 2c20 e280 ICAST_TTL..., ..\n+00007f20: 9849 505f 4144 445f 4d45 4d42 4552 5348 .IP_ADD_MEMBERSH\n+00007f30: 4950 e280 992c 20e2 8098 4950 5f44 524f IP..., ...IP_DRO\n+00007f40: 505f 4d45 4d42 4552 5348 4950 e280 992c P_MEMBERSHIP...,\n+00007f50: 0a20 2020 2020 e280 9849 505f 4d55 4c54 . ...IP_MULT\n+00007f60: 4943 4153 545f 4c4f 4f50 e280 992c 20e2 ICAST_LOOP..., .\n+00007f70: 8098 534f 5f53 4e44 4255 46e2 8099 2061 ..SO_SNDBUF... a\n+00007f80: 6e64 20e2 8098 4950 5f52 4356 4255 46e2 nd ...IP_RCVBUF.\n+00007f90: 8099 2e0a 0a20 2020 2020 4e6f 7465 2074 ..... Note t\n+00007fa0: 6861 7420 756e 6c69 6b65 2074 6865 6972 hat unlike their\n+00007fb0: 2043 206c 616e 6775 6167 6520 636f 756e C language coun\n+00007fc0: 7465 7270 6172 742c 20e2 8098 4765 7473 terpart, ...Gets\n+00007fd0: 6f63 6b6f 7074 e280 9920 616e 640a 2020 ockopt... and. \n+00007fe0: 2020 20e2 8098 5365 7473 6f63 6b6f 7074 ...Setsockopt\n+00007ff0: e280 9920 646f 206e 6f74 2072 6571 7569 ... do not requi\n+00008000: 7265 2061 6e20 6578 7472 6120 7061 7261 re an extra para\n+00008010: 6d65 7465 7220 7265 7072 6573 656e 7469 meter representi\n+00008020: 6e67 2074 6865 0a20 2020 2020 6c65 6e67 ng the. leng\n+00008030: 7468 2069 6e20 6279 7465 7320 6f66 2074 th in bytes of t\n+00008040: 6865 206f 7074 696f 6e20 7661 6c75 652e he option value.\n+00008050: 2020 4164 6153 6f63 6b65 7473 206b 6e6f AdaSockets kno\n+00008060: 7773 2074 6865 2072 6967 6874 0a20 2020 ws the right. \n+00008070: 2020 7369 7a65 2066 6f72 2065 7665 7279 size for every\n+00008080: 206f 7074 696f 6e2e 0a0a 5345 4520 414c option...SEE AL\n+00008090: 534f 0a20 2020 2020 2a6e 6f74 6520 4765 SO. *note Ge\n+000080a0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+000080b0: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+000080c0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+000080d0: 2c20 204e 6f64 653a 2053 6875 7464 6f77 , Node: Shutdow\n+000080e0: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n+000080f0: 4e65 7874 3a20 536f 636b 6574 2028 7072 Next: Socket (pr\n+00008100: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00008110: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+00008120: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00008130: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00008140: 6365 6475 7265 290a 0a53 6875 7464 6f77 cedure)..Shutdow\n+00008150: 6e20 2870 726f 6365 6475 7265 290a 2d2d n (procedure).--\n+00008160: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008170: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+00008180: 2053 6875 7464 6f77 6e20 6120 736f 636b Shutdown a sock\n+00008190: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n+000081a0: 2020 202d 2d20 536f 636b 6574 732e 5368 -- Sockets.Sh\n+000081b0: 7574 646f 776e 3a20 7072 6f63 6564 7572 utdown: procedur\n+000081c0: 6520 5368 7574 646f 776e 0a20 2020 2020 e Shutdown. \n+000081d0: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+000081e0: 5420 3a20 696e 206f 7574 2053 6f63 6b65 T : in out Socke\n+000081f0: 745f 4644 3b20 484f 5720 3a20 5368 7574 t_FD; HOW : Shut\n+00008200: 646f 776e 5f54 7970 6520 3a3d 2042 6f74 down_Type := Bot\n+00008210: 6829 3b0a 0a50 4152 414d 4554 4552 530a h);..PARAMETERS.\n+00008220: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00008230: 696e 206f 7574 2020 2020 2053 6f63 6b65 in out Socke\n+00008240: 7420 6f62 6a65 6374 2074 6f20 7368 7574 t object to shut\n+00008250: 646f 776e 0a20 2020 2020 484f 5720 2020 down. HOW \n+00008260: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00008270: 4469 7265 6374 696f 6e20 746f 2073 6875 Direction to shu\n+00008280: 7464 6f77 6e0a 0a44 4553 4352 4950 5449 tdown..DESCRIPTI\n+00008290: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+000082a0: 6365 6475 7265 2073 6875 7464 6f77 6e73 cedure shutdowns\n+000082b0: 2065 6974 6865 7220 6469 7265 6374 696f either directio\n+000082c0: 6e20 6f66 2074 6865 2073 6f63 6b65 742e n of the socket.\n+000082d0: 2020 484f 5720 6361 6e0a 2020 2020 2074 HOW can. t\n+000082e0: 616b 6520 7468 6520 7661 6c75 6520 e280 ake the value ..\n+000082f0: 9853 656e 64e2 8099 2c20 e280 9852 6563 .Send..., ...Rec\n+00008300: 6569 7665 e280 9920 6f72 20e2 8098 426f eive... or ...Bo\n+00008310: 7468 e280 992e 0a0a 5345 4520 414c 534f th......SEE ALSO\n+00008320: 0a20 2020 2020 2a6e 6f74 6520 536f 636b . *note Sock\n+00008330: 6574 2028 7072 6f63 6564 7572 6529 3a3a et (procedure)::\n+00008340: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+00008350: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+00008360: 653a 2053 6f63 6b65 7420 2870 726f 6365 e: Socket (proce\n+00008370: 6475 7265 292c 2020 4e65 7874 3a20 556e dure), Next: Un\n+00008380: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00008390: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n+000083a0: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+000083b0: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n+000083c0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+000083d0: 7265 290a 0a53 6f63 6b65 7420 2870 726f re)..Socket (pro\n+000083e0: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n+000083f0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00008400: 4f53 450a 2020 2020 2043 7265 6174 6520 OSE. Create \n+00008410: 6120 736f 636b 6574 206f 6620 7468 6520 a socket of the \n+00008420: 6769 7665 6e20 6d6f 6465 0a50 524f 544f given mode.PROTO\n+00008430: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00008440: 636b 6574 732e 536f 636b 6574 3a20 7072 ckets.Socket: pr\n+00008450: 6f63 6564 7572 6520 536f 636b 6574 2028 ocedure Socket (\n+00008460: 534f 434b 4554 203a 206f 7574 2053 6f63 SOCKET : out Soc\n+00008470: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n+00008480: 2020 2020 2020 2044 4f4d 4149 4e20 3a20 DOMAIN : \n+00008490: 536f 636b 6574 5f44 6f6d 6169 6e20 3a3d Socket_Domain :=\n+000084a0: 2050 465f 494e 4554 3b0a 2020 2020 2020 PF_INET;. \n+000084b0: 2020 2020 2020 2020 2054 5950 203a 2053 TYP : S\n+000084c0: 6f63 6b65 745f 5479 7065 203a 3d20 534f ocket_Type := SO\n+000084d0: 434b 5f53 5452 4541 4d29 3b0a 0a50 4152 CK_STREAM);..PAR\n+000084e0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+000084f0: 4b45 5420 2020 2020 6f75 7420 2020 2020 KET out \n+00008500: 2020 2053 6f63 6b65 7420 6f62 6a65 6374 Socket object\n+00008510: 2074 6f20 696e 6974 6961 6c69 7a65 0a20 to initialize. \n+00008520: 2020 2020 444f 4d41 494e 2020 2020 2069 DOMAIN i\n+00008530: 6e20 2020 2020 2020 2020 5072 6f74 6f63 n Protoc\n+00008540: 6f6c 2066 616d 696c 790a 2020 2020 2054 ol family. T\n+00008550: 5950 2020 2020 2020 2020 696e 2020 2020 YP in \n+00008560: 2020 2020 204b 696e 6420 6f66 2073 6f63 Kind of soc\n+00008570: 6b65 7473 0a0a 4445 5343 5249 5054 494f kets..DESCRIPTIO\n+00008580: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+00008590: 6564 7572 6520 696e 6974 6961 6c69 7a65 edure initialize\n+000085a0: 7320 6120 6e65 7720 736f 636b 6574 206f s a new socket o\n+000085b0: 626a 6563 7420 6279 2072 6573 6572 7669 bject by reservi\n+000085c0: 6e67 2061 2066 696c 650a 2020 2020 2064 ng a file. d\n+000085d0: 6573 6372 6970 746f 7220 746f 2074 6865 escriptor to the\n+000085e0: 206f 7065 7261 7469 6e67 2073 7973 7465 operating syste\n+000085f0: 6d2e 2020 466f 7220 6261 636b 7761 7264 m. For backward\n+00008600: 2063 6f6d 7061 7469 6269 6c69 7479 0a20 compatibility. \n+00008610: 2020 2020 7769 7468 206f 6c64 6572 2076 with older v\n+00008620: 6572 7369 6f6e 7320 6f66 2074 6869 7320 ersions of this \n+00008630: 6c69 6272 6172 792c 20e2 8098 4146 5f49 library, ...AF_I\n+00008640: 4e45 54e2 8099 2069 7320 7374 696c 6c20 NET... is still \n+00008650: 6163 6365 7074 6564 2061 730a 2020 2020 accepted as. \n+00008660: 2061 2076 616c 7565 2062 7574 2073 686f a value but sho\n+00008670: 756c 6420 6265 2072 6570 6c61 6365 6420 uld be replaced \n+00008680: 6173 2073 6f6f 6e20 6173 2070 6f73 7369 as soon as possi\n+00008690: 626c 6520 7769 7468 2074 6865 2070 726f ble with the pro\n+000086a0: 7065 720a 2020 2020 20e2 8098 5046 5f49 per. ...PF_I\n+000086b0: 4e45 54e2 8099 2e20 2055 7369 6e67 20e2 NET.... Using .\n+000086c0: 8098 534f 434b 5f53 5452 4541 4de2 8099 ..SOCK_STREAM...\n+000086d0: 2066 6f72 2074 6865 2054 5950 2061 7267 for the TYP arg\n+000086e0: 756d 656e 7420 7769 6c6c 2063 7265 6174 ument will creat\n+000086f0: 6520 610a 2020 2020 2054 4350 2073 6f63 e a. TCP soc\n+00008700: 6b65 7420 7768 696c 6520 6120 e280 9853 ket while a ...S\n+00008710: 4f43 4b5f 4447 5241 4de2 8099 2077 696c OCK_DGRAM... wil\n+00008720: 6c20 6372 6561 7465 2061 2055 4450 206f l create a UDP o\n+00008730: 6e65 2e0a 0a45 5841 4d50 4c45 0a20 2020 ne...EXAMPLE. \n+00008740: 2020 2020 2020 2064 6563 6c61 7265 0a20 declare. \n+00008750: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00008760: 203a 2053 6f63 6b65 745f 4644 3b0a 2020 : Socket_FD;. \n+00008770: 2020 2020 2020 2020 6265 6769 6e0a 2020 begin. \n+00008780: 2020 2020 2020 2020 2020 202d 2d20 4372 -- Cr\n+00008790: 6561 7465 2061 2054 4350 2073 6f63 6b65 eate a TCP socke\n+000087a0: 740a 2020 2020 2020 2020 2020 2020 2053 t. S\n+000087b0: 6f63 6b65 7420 2853 6f63 6b2c 2050 465f ocket (Sock, PF_\n+000087c0: 494e 4554 2c20 534f 434b 5f53 5452 4541 INET, SOCK_STREA\n+000087d0: 4d29 3b0a 2020 2020 2020 2020 2020 2020 M);. \n+000087e0: 202d 2d20 5065 7266 6f72 6d20 736f 6d65 -- Perform some\n+000087f0: 206f 7065 7261 7469 6f6e 7320 6f6e 2073 operations on s\n+00008800: 6f63 6b65 740a 2020 2020 2020 2020 2020 ocket. \n+00008810: 2020 205b 2e2e 2e5d 0a20 2020 2020 2020 [...]. \n+00008820: 2020 2020 2020 2d2d 2053 6875 7464 6f77 -- Shutdow\n+00008830: 6e20 7468 6520 736f 636b 6574 2069 6e20 n the socket in \n+00008840: 626f 7468 2064 6972 6563 7469 6f6e 730a both directions.\n+00008850: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+00008860: 7464 6f77 6e20 2853 6f63 6b2c 2042 6f74 tdown (Sock, Bot\n+00008870: 6829 3b0a 2020 2020 2020 2020 2020 656e h);. en\n+00008880: 643b 0a0a 5345 4520 414c 534f 0a20 2020 d;..SEE ALSO. \n+00008890: 2020 2a6e 6f74 6520 5368 7574 646f 776e *note Shutdown\n+000088a0: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+000088b0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+000088c0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+000088d0: 2055 6e73 6574 5f42 7566 6665 7220 2870 Unset_Buffer (p\n+000088e0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+000088f0: 3a20 536f 636b 6574 2028 7072 6f63 6564 : Socket (proced\n+00008900: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n+00008910: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00008920: 7572 6529 0a0a 556e 7365 745f 4275 6666 ure)..Unset_Buff\n+00008930: 6572 2028 7072 6f63 6564 7572 6529 0a2d er (procedure).-\n+00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008950: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00008960: 0a20 2020 2020 4465 696e 7374 616c 6c20 . Deinstall \n+00008970: 7468 6520 6c69 6e65 2d6f 7269 656e 7465 the line-oriente\n+00008980: 6420 6275 6666 6572 206f 6620 7468 6520 d buffer of the \n+00008990: 736f 636b 6574 206f 626a 6563 740a 5052 socket object.PR\n+000089a0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+000089b0: 2053 6f63 6b65 7473 2e55 6e73 6574 5f42 Sockets.Unset_B\n+000089c0: 7566 6665 723a 2070 726f 6365 6475 7265 uffer: procedure\n+000089d0: 2055 6e73 6574 5f42 7566 6665 720a 2020 Unset_Buffer. \n+000089e0: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n+000089f0: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00008a00: 2743 6c61 7373 293b 0a0a 5041 5241 4d45 'Class);..PARAME\n+00008a10: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00008a20: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00008a30: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+00008a40: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n+00008a50: 206f 626a 6563 740a 0a44 4553 4352 4950 object..DESCRIP\n+00008a60: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n+00008a70: 726f 6365 6475 7265 2075 6e69 6e73 7461 rocedure uninsta\n+00008a80: 6c6c 7320 7468 6520 6275 6666 6572 2070 lls the buffer p\n+00008a90: 7265 7669 6f75 736c 7920 696e 7374 616c reviously instal\n+00008aa0: 6c65 6420 6279 202a 6e6f 7465 0a20 2020 led by *note. \n+00008ab0: 2020 5365 745f 4275 6666 6572 2028 7072 Set_Buffer (pr\n+00008ac0: 6f63 6564 7572 6529 3a3a 2e20 2049 6620 ocedure)::. If \n+00008ad0: 616e 7920 6461 7461 2069 7320 7374 696c any data is stil\n+00008ae0: 6c20 7072 6573 656e 7420 696e 2074 6865 l present in the\n+00008af0: 0a20 2020 2020 6275 6666 6572 2c20 6974 . buffer, it\n+00008b00: 2077 696c 6c20 6265 206c 6f73 742e 2020 will be lost. \n+00008b10: 546f 2061 766f 6964 2074 6869 7320 7369 To avoid this si\n+00008b20: 7475 6174 696f 6e2c 2074 6865 2062 7566 tuation, the buf\n+00008b30: 6665 7220 6361 6e0a 2020 2020 2062 6520 fer can. be \n+00008b40: 666c 7573 6865 6420 6279 2063 616c 6c69 flushed by calli\n+00008b50: 6e67 202a 6e6f 7465 2047 6574 2028 6675 ng *note Get (fu\n+00008b60: 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 nction)::.....Fi\n+00008b70: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00008b80: 6e66 6f2c 2020 4e6f 6465 3a20 536f 636b nfo, Node: Sock\n+00008b90: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa\n+00008ba0: 636b 6167 652c 2020 4e65 7874 3a20 536f ckage, Next: So\n+00008bb0: 636b 6574 732e 4e61 6d69 6e67 2070 6163 ckets.Naming pac\n+00008bc0: 6b61 6765 2c20 2050 7265 763a 2053 6f63 kage, Prev: Soc\n+00008bd0: 6b65 7473 2070 6163 6b61 6765 2c20 2055 kets package, U\n+00008be0: 703a 2054 6f70 0a0a 3520 536f 636b 6574 p: Top..5 Socket\n+00008bf0: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack\n+00008c00: 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a age.************\n+00008c10: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a ***************.\n+00008c20: 0a54 6865 20e2 8098 536f 636b 6574 732e .The ...Sockets.\n+00008c30: 4d75 6c74 6963 6173 74e2 8099 2061 6c6c Multicast... all\n+00008c40: 6f77 7320 7468 6520 6372 6561 7469 6f6e ows the creation\n+00008c50: 206f 6620 4950 206d 756c 7469 6361 7374 of IP multicast\n+00008c60: 2073 6f63 6b65 7473 2e0a 0a20 2d2d 2053 sockets... -- S\n+00008c70: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n+00008c80: 2e4d 756c 7469 6361 7374 5f53 6f63 6b65 .Multicast_Socke\n+00008c90: 745f 4644 3a20 7479 7065 204d 756c 7469 t_FD: type Multi\n+00008ca0: 6361 7374 5f53 6f63 6b65 745f 4644 2069 cast_Socket_FD i\n+00008cb0: 730a 2020 2020 2020 2020 2020 6e65 7720 s. new \n+00008cc0: 536f 636b 6574 5f46 4420 7769 7468 2070 Socket_FD with p\n+00008cd0: 7269 7661 7465 3b0a 2020 2020 2054 6865 rivate;. The\n+00008ce0: 20e2 8098 4d75 6c74 6963 6173 745f 536f ...Multicast_So\n+00008cf0: 636b 6574 5f46 44e2 8099 2074 6167 6765 cket_FD... tagge\n+00008d00: 6420 7479 7065 2064 6572 6976 6573 2066 d type derives f\n+00008d10: 726f 6d20 7468 6520 e280 9853 6f63 6b65 rom the ...Socke\n+00008d20: 745f 4644 e280 990a 2020 2020 2074 7970 t_FD.... typ\n+00008d30: 652e 2020 4974 2067 6574 7320 696e 6974 e. It gets init\n+00008d40: 6961 6c69 7a65 6420 6279 2063 616c 6c69 ialized by calli\n+00008d50: 6e67 202a 6e6f 7465 2043 7265 6174 655f ng *note Create_\n+00008d60: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00008d70: 0a20 2020 2020 2866 756e 6374 696f 6e29 . (function)\n+00008d80: 3a3a 2e20 2041 6e20 756e 696e 6974 6961 ::. An uninitia\n+00008d90: 6c69 7a65 6420 e280 984d 756c 7469 6361 lized ...Multica\n+00008da0: 7374 5f53 6f63 6b65 745f 4644 e280 9920 st_Socket_FD... \n+00008db0: 6361 6e20 6265 0a20 2020 2020 7375 6363 can be. succ\n+00008dc0: 6573 7366 756c 6c79 2063 6f6d 7061 7265 essfully compare\n+00008dd0: 6420 746f 20e2 8098 4e75 6c6c 5f4d 756c d to ...Null_Mul\n+00008de0: 7469 6361 7374 5f53 6f63 6b65 745f 4644 ticast_Socket_FD\n+00008df0: e280 992e 0a0a 2a20 4d65 6e75 3a0a 0a2a ......* Menu:..*\n+00008e00: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+00008e10: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+00008e20: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+00008e30: 2020 2020 2020 2020 2020 2020 2020 4372 Cr\n+00008e40: 6561 7465 2061 6e20 4950 206d 756c 7469 eate an IP multi\n+00008e50: 6361 7374 2073 6f63 6b65 740a 2a20 4372 cast socket.* Cr\n+00008e60: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00008e70: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+00008e80: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+00008e90: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n+00008ea0: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n+00008eb0: 7420 736f 636b 6574 0a0a 1f0a 4669 6c65 t socket....File\n+00008ec0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00008ed0: 6f2c 2020 4e6f 6465 3a20 4372 6561 7465 o, Node: Create\n+00008ee0: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00008ef0: 7420 2866 756e 6374 696f 6e29 2c20 204e t (function), N\n+00008f00: 6578 743a 2043 7265 6174 655f 4d75 6c74 ext: Create_Mult\n+00008f10: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n+00008f20: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+00008f30: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00008f40: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00008f50: 6e29 2c20 2055 703a 2053 6f63 6b65 7473 n), Up: Sockets\n+00008f60: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+00008f70: 6765 0a0a 4372 6561 7465 5f4d 756c 7469 ge..Create_Multi\n+00008f80: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n+00008f90: 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d ction).=========\n+00008fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008fb0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a50 5552 504f =========..PURPO\n+00008fc0: 5345 0a20 2020 2020 4372 6561 7465 2061 SE. Create a\n+00008fd0: 6e20 4950 206d 756c 7469 6361 7374 2073 n IP multicast s\n+00008fe0: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n+00008ff0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+00009000: 2e4d 756c 7469 6361 7374 2e43 7265 6174 .Multicast.Creat\n+00009010: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+00009020: 6574 3a20 6675 6e63 7469 6f6e 0a20 2020 et: function. \n+00009030: 2020 2020 2020 2020 2020 2020 4372 6561 Crea\n+00009040: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00009050: 6b65 7420 2847 524f 5550 203a 2053 7472 ket (GROUP : Str\n+00009060: 696e 673b 2050 4f52 5420 3a20 4e61 7475 ing; PORT : Natu\n+00009070: 7261 6c3b 0a20 2020 2020 2020 2020 2020 ral;. \n+00009080: 2020 2020 5454 4c20 3a20 506f 7369 7469 TTL : Positi\n+00009090: 7665 203a 3d20 3136 3b20 5345 4c46 5f4c ve := 16; SELF_L\n+000090a0: 4f4f 5020 3a20 426f 6f6c 6561 6e20 3a3d OOP : Boolean :=\n+000090b0: 2054 7275 653b 0a20 2020 2020 2020 2020 True;. \n+000090c0: 2020 2020 2020 4c4f 4341 4c5f 4946 203a LOCAL_IF :\n+000090d0: 2053 7472 696e 6720 3a3d 2030 2e30 2e30 String := 0.0.0\n+000090e0: 2e30 290a 2020 2020 2020 2020 2020 2020 .0). \n+000090f0: 2020 2072 6574 7572 6e20 4d75 6c74 6963 return Multic\n+00009100: 6173 745f 536f 636b 6574 5f46 443b 0a0a ast_Socket_FD;..\n+00009110: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00009120: 4752 4f55 5020 2020 2020 2069 6e20 2020 GROUP in \n+00009130: 2020 2020 2020 4950 2061 6464 7265 7373 IP address\n+00009140: 206f 6620 7468 6520 6d75 6c74 6963 6173 of the multicas\n+00009150: 7420 6772 6f75 7020 746f 0a20 2020 2020 t group to. \n+00009160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009170: 2020 2020 2020 6a6f 696e 0a20 2020 2020 join. \n+00009180: 504f 5254 2020 2020 2020 2069 6e20 2020 PORT in \n+00009190: 2020 2020 2020 506f 7274 206f 6620 7468 Port of th\n+000091a0: 6520 6d75 6c74 6963 6173 7420 6772 6f75 e multicast grou\n+000091b0: 7020 746f 206a 6f69 6e0a 2020 2020 2054 p to join. T\n+000091c0: 544c 2020 2020 2020 2020 696e 2020 2020 TL in \n+000091d0: 2020 2020 2054 696d 652d 746f 2d6c 6976 Time-to-liv\n+000091e0: 6520 6f66 2073 656e 7420 7061 636b 6574 e of sent packet\n+000091f0: 730a 2020 2020 2053 454c 465f 4c4f 4f50 s. SELF_LOOP\n+00009200: 2020 696e 2020 2020 2020 2020 2053 686f in Sho\n+00009210: 756c 6420 7468 6520 736f 636b 6574 2072 uld the socket r\n+00009220: 6563 6569 7665 2074 6865 2070 6163 6b65 eceive the packe\n+00009230: 7473 0a20 2020 2020 2020 2020 2020 2020 ts. \n+00009240: 2020 2020 2020 2020 2020 2020 2020 7365 se\n+00009250: 6e74 2066 726f 6d20 7468 6520 6c6f 6361 nt from the loca\n+00009260: 6c20 686f 7374 3f0a 2020 2020 204c 4f43 l host?. LOC\n+00009270: 414c 5f49 4620 2020 696e 2020 2020 2020 AL_IF in \n+00009280: 2020 2041 6464 7265 7373 206f 6620 7468 Address of th\n+00009290: 6520 6c6f 6361 6c20 696e 7465 7266 6163 e local interfac\n+000092a0: 6520 746f 2075 7365 0a0a 5245 5455 524e e to use..RETURN\n+000092b0: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n+000092c0: 6e65 7720 696e 6974 6961 6c69 7a65 6420 new initialized \n+000092d0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+000092e0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+000092f0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+00009300: 2063 7265 6174 6573 2061 6e20 4950 206d creates an IP m\n+00009310: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n+00009320: 6174 7461 6368 6564 2074 6f20 6120 6769 attached to a gi\n+00009330: 7665 6e0a 2020 2020 2067 726f 7570 2c20 ven. group, \n+00009340: 6964 656e 7469 6669 6564 2062 7920 6974 identified by it\n+00009350: 7320 636c 6173 7320 4520 4950 2061 6464 s class E IP add\n+00009360: 7265 7373 2061 6e64 2070 6f72 742e 0a0a ress and port...\n+00009370: 2020 2020 2042 6520 6361 7265 6675 6c20 Be careful \n+00009380: 7768 656e 2063 686f 6f73 696e 6720 7468 when choosing th\n+00009390: 6520 5454 4c20 7061 7261 6d65 7465 7220 e TTL parameter \n+000093a0: 6f66 2079 6f75 7220 4950 206d 756c 7469 of your IP multi\n+000093b0: 6361 7374 0a20 2020 2020 736f 636b 6574 cast. socket\n+000093c0: 2e20 204d 6f73 7420 4950 206d 756c 7469 . Most IP multi\n+000093d0: 6361 7374 2072 6f75 7465 7273 2064 6f20 cast routers do \n+000093e0: 696d 706c 656d 656e 7420 7468 7265 7368 implement thresh\n+000093f0: 6f6c 642d 6261 7365 640a 2020 2020 2066 old-based. f\n+00009400: 696c 7465 7269 6e67 2061 6e64 2077 696c iltering and wil\n+00009410: 6c20 6e6f 7420 6c65 7420 4950 206d 756c l not let IP mul\n+00009420: 7469 6361 7374 2070 6163 6b65 7473 206c ticast packets l\n+00009430: 6561 7665 2079 6f75 720a 2020 2020 206f eave your. o\n+00009440: 7267 616e 697a 6174 696f 6e20 6966 2074 rganization if t\n+00009450: 6865 2054 544c 206f 6e20 7468 6520 6c61 he TTL on the la\n+00009460: 7374 2072 6f75 7465 7220 6973 2073 6d61 st router is sma\n+00009470: 6c6c 6572 2074 6861 6e20 3136 2e0a 0a20 ller than 16... \n+00009480: 2020 2020 4966 2030 2069 7320 6769 7665 If 0 is give\n+00009490: 6e20 666f 7220 7468 6520 506f 7274 2c20 n for the Port, \n+000094a0: 6120 6c6f 6361 6c20 6f6e 6520 7769 6c6c a local one will\n+000094b0: 2062 6520 6368 6f73 656e 2e20 2049 7420 be chosen. It \n+000094c0: 6361 6e0a 2020 2020 2074 6865 6e20 6c61 can. then la\n+000094d0: 7465 7220 6265 2072 6574 7269 6576 6564 ter be retrieved\n+000094e0: 2075 7369 6e67 2047 6574 5f53 6f63 6b5f using Get_Sock_\n+000094f0: 506f 7274 2e0a 0a45 5841 4d50 4c45 0a20 Port...EXAMPLE. \n+00009500: 2020 2020 2020 2020 2064 6563 6c61 7265 declare\n+00009510: 0a20 2020 2020 2020 2020 2020 2020 536f . So\n+00009520: 636b 2020 2020 203a 2053 6f63 6b65 745f ck : Socket_\n+00009530: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n+00009540: 2049 6e63 6f6d 696e 6720 3a20 536f 636b Incoming : 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: 5443 5020 736f 636b 6574 206c 6973 7465 TCP socket liste\n+00009590: 6e69 6e67 206f 6e20 6c6f 6361 6c20 706f ning on local po\n+000095a0: 7274 2034 3136 310a 2020 2020 2020 2020 rt 4161. \n+000095b0: 2020 2020 2053 6f63 6b65 7420 2853 6f63 Socket (Soc\n+000095c0: 6b2c 2050 465f 494e 4554 2c20 534f 434b k, PF_INET, SOCK\n+000095d0: 5f53 5452 4541 4d29 3b0a 2020 2020 2020 _STREAM);. \n+000095e0: 2020 2020 2020 2042 696e 6420 2853 6f63 Bind (Soc\n+000095f0: 6b2c 2034 3136 3129 3b0a 2020 2020 2020 k, 4161);. \n+00009600: 2020 2020 2020 204c 6973 7465 6e20 2853 Listen (S\n+00009610: 6f63 6b2c 2033 293b 0a20 2020 2020 2020 ock, 3);. \n+00009620: 2020 2020 2020 2d2d 204f 6e65 2d63 6f6e -- One-con\n+00009630: 6e65 6374 696f 6e2d 6174 2d61 2d74 696d nection-at-a-tim\n+00009640: 6520 7365 7276 6572 2028 3320 6d61 7920 e server (3 may \n+00009650: 6265 2070 656e 6469 6e67 290a 2020 2020 be pending). \n+00009660: 2020 2020 2020 2020 206c 6f6f 700a 2020 loop. \n+00009670: 2020 2020 2020 2020 2020 2020 2020 2d2d --\n+00009680: 2057 6169 7420 666f 7220 6120 6e65 7720 Wait for a new \n+00009690: 636f 6e6e 6563 7469 6f6e 2061 6e64 2061 connection and a\n+000096a0: 6363 6570 7420 6974 0a20 2020 2020 2020 ccept it. \n+000096b0: 2020 2020 2020 2020 2041 6363 6570 745f Accept_\n+000096c0: 536f 636b 6574 2028 536f 636b 2c20 496e Socket (Sock, In\n+000096d0: 636f 6d69 6e67 293b 0a20 2020 2020 2020 coming);. \n+000096e0: 2020 2020 2020 2020 202d 2d20 446f 2073 -- Do s\n+000096f0: 6f6d 6520 6469 616c 6f67 2077 6974 6820 ome dialog with \n+00009700: 7468 6520 7265 6d6f 7465 2068 6f73 740a the remote host.\n+00009710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009720: 446f 5f53 6f6d 655f 4469 616c 6f67 2028 Do_Some_Dialog (\n+00009730: 496e 636f 6d69 6e67 293b 0a20 2020 2020 Incoming);. \n+00009740: 2020 2020 2020 2020 2020 202d 2d20 436c -- Cl\n+00009750: 6f73 6520 696e 636f 6d69 6e67 2073 6f63 ose incoming soc\n+00009760: 6b65 7420 616e 6420 7761 6974 2066 6f72 ket and wait for\n+00009770: 206e 6578 7420 636f 6e6e 6563 7469 6f6e next connection\n+00009780: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009790: 2053 6875 7464 6f77 6e20 2849 6e63 6f6d Shutdown (Incom\n+000097a0: 696e 6729 3b0a 2020 2020 2020 2020 2020 ing);. \n+000097b0: 2020 2065 6e64 206c 6f6f 703b 0a20 2020 end loop;. \n+000097c0: 2020 2020 2020 2065 6e64 3b0a 0a53 4545 end;..SEE\n+000097d0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+000097e0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n+000097f0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00009800: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+00009810: 7572 6529 3a3a 2e0a 0a2a 204d 656e 753a ure)::...* Menu:\n+00009820: 0a0a 4372 6561 7465 5f4d 756c 7469 6361 ..Create_Multica\n+00009830: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+00009840: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+00009850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00009860: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00009870: 0a20 2020 2020 4372 6561 7465 2061 6e20 . Create an \n+00009880: 4950 206d 756c 7469 6361 7374 2073 6f63 IP multicast soc\n+00009890: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n+000098a0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4d -- Sockets.M\n+000098b0: 756c 7469 6361 7374 2e43 7265 6174 655f ulticast.Create_\n+000098c0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+000098d0: 3a20 6675 6e63 7469 6f6e 0a20 2020 2020 : function. \n+000098e0: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+000098f0: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00009900: 7420 2847 524f 5550 203a 2053 7472 696e t (GROUP : Strin\n+00009910: 673b 2050 4f52 5420 3a20 506f 7369 7469 g; PORT : Positi\n+00009920: 7665 3b0a 2020 2020 2020 2020 2020 2020 ve;. \n+00009930: 2020 204c 4f43 414c 5f50 4f52 5420 3a20 LOCAL_PORT : \n+00009940: 4e61 7475 7261 6c3b 2054 544c 203a 2050 Natural; TTL : P\n+00009950: 6f73 6974 6976 6520 3a3d 2031 363b 0a20 ositive := 16;. \n+00009960: 2020 2020 2020 2020 2020 2020 2020 4c4f LO\n+00009970: 4341 4c5f 4946 203a 2053 7472 696e 6720 CAL_IF : String \n+00009980: 3a3d 2030 2e30 2e30 2e30 290a 2020 2020 := 0.0.0.0). \n+00009990: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+000099a0: 6e20 4d75 6c74 6963 6173 745f 536f 636b n Multicast_Sock\n+000099b0: 6574 5f46 443b 0a0a 5041 5241 4d45 5445 et_FD;..PARAMETE\n+000099c0: 5253 0a20 2020 2020 4752 4f55 5020 2020 RS. GROUP \n+000099d0: 2020 2069 6e20 2020 2020 2020 2020 4950 in IP\n+000099e0: 2061 6464 7265 7373 206f 6620 7468 6520 address of the \n+000099f0: 6d75 6c74 6963 6173 7420 6772 6f75 7020 multicast group \n+00009a00: 746f 0a20 2020 2020 2020 2020 2020 2020 to. \n+00009a10: 2020 2020 2020 2020 2020 2020 2020 6a6f jo\n+00009a20: 696e 0a20 2020 2020 504f 5254 2020 2020 in. PORT \n+00009a30: 2020 2069 6e20 2020 2020 2020 2020 506f in Po\n+00009a40: 7274 206f 6620 7468 6520 6d75 6c74 6963 rt of the multic\n+00009a50: 6173 7420 6772 6f75 7020 746f 206a 6f69 ast group to joi\n+00009a60: 6e0a 2020 2020 204c 4f43 414c 5f50 4f52 n. LOCAL_POR\n+00009a70: 5420 696e 2020 2020 2020 2020 204c 6f63 T in Loc\n+00009a80: 616c 2070 6f72 7420 6e75 6d62 6572 2074 al port number t\n+00009a90: 6f20 7573 650a 2020 2020 2054 544c 2020 o use. TTL \n+00009aa0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+00009ab0: 2054 696d 652d 746f 2d6c 6976 6520 6f66 Time-to-live of\n+00009ac0: 2073 656e 7420 7061 636b 6574 730a 2020 sent packets. \n+00009ad0: 2020 204c 4f43 414c 5f49 4620 2020 696e LOCAL_IF in\n+00009ae0: 2020 2020 2020 2020 2041 6464 7265 7373 Address\n+00009af0: 206f 6620 7468 6520 6c6f 6361 6c20 696e of the local in\n+00009b00: 7465 7266 6163 6520 746f 2075 7365 0a0a terface to use..\n+00009b10: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+00009b20: 2020 5468 6520 6e65 7720 696e 6974 6961 The new initia\n+00009b30: 6c69 7a65 6420 6d75 6c74 6963 6173 7420 lized multicast \n+00009b40: 736f 636b 6574 0a0a 4445 5343 5249 5054 socket..DESCRIPT\n+00009b50: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n+00009b60: 6e63 7469 6f6e 2063 7265 6174 6573 2061 nction creates a\n+00009b70: 6e20 4950 206d 756c 7469 6361 7374 2073 n IP multicast s\n+00009b80: 6f63 6b65 7420 6174 7461 6368 6564 2074 ocket attached t\n+00009b90: 6f20 6120 6769 7665 6e0a 2020 2020 2067 o a given. g\n+00009ba0: 726f 7570 2c20 6964 656e 7469 6669 6564 roup, identified\n+00009bb0: 2062 7920 6974 7320 636c 6173 7320 4520 by its class E \n+00009bc0: 4950 2061 6464 7265 7373 2061 6e64 2070 IP address and p\n+00009bd0: 6f72 742e 2020 4966 0a20 2020 2020 4c6f ort. If. Lo\n+00009be0: 6361 6c5f 506f 7274 2069 7320 302c 2061 cal_Port is 0, a\n+00009bf0: 2066 7265 6520 706f 7274 2077 696c 6c20 free port will \n+00009c00: 6175 746f 6d61 7469 6361 6c6c 7920 6265 automatically be\n+00009c10: 2063 686f 7365 6e20 6279 2079 6f75 720a chosen by your.\n+00009c20: 2020 2020 206f 7065 7261 7469 6e67 2073 operating s\n+00009c30: 7973 7465 6d2e 0a0a 2020 2020 2054 6869 ystem... Thi\n+00009c40: 7320 6675 6e63 7469 6f6e 2073 686f 756c s function shoul\n+00009c50: 6420 6265 2075 7365 6420 7768 656e 2079 d be used when y\n+00009c60: 6f75 2077 616e 7420 746f 2073 656e 6420 ou want to send \n+00009c70: 7061 636b 6574 7320 746f 2061 0a20 2020 packets to a. \n+00009c80: 2020 6d75 6c74 6963 6173 7420 6772 6f75 multicast grou\n+00009c90: 7020 7769 7468 6f75 7420 7265 6365 6976 p without receiv\n+00009ca0: 696e 6720 616e 7920 7061 636b 6574 2079 ing any packet y\n+00009cb0: 6f75 7273 656c 662e 0a0a 4558 414d 504c ourself...EXAMPL\n+00009cc0: 450a 2020 2020 2020 2020 2020 6465 636c E. decl\n+00009cd0: 6172 650a 2020 2020 2020 2020 2020 2020 are. \n+00009ce0: 2053 6f63 6b20 3a20 4d75 6c74 6963 6173 Sock : Multicas\n+00009cf0: 745f 536f 636b 6574 5f46 443b 0a20 2020 t_Socket_FD;. \n+00009d00: 2020 2020 2020 2062 6567 696e 0a20 2020 begin. \n+00009d10: 2020 2020 2020 2020 2020 2d2d 2043 7265 -- Cre\n+00009d20: 6174 6520 6120 6d75 6c74 6963 6173 7420 ate a multicast \n+00009d30: 736f 636b 6574 206f 6e20 6772 6f75 7020 socket on group \n+00009d40: 3232 342e 312e 322e 3320 706f 7274 2038 224.1.2.3 port 8\n+00009d50: 3736 330a 2020 2020 2020 2020 2020 2020 763. \n+00009d60: 2053 6f63 6b20 3a3d 2043 7265 6174 655f Sock := Create_\n+00009d70: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00009d80: 2028 2232 3234 2e31 2e32 2e33 222c 2038 (\"224.1.2.3\", 8\n+00009d90: 3736 3329 3b0a 2020 2020 2020 2020 2020 763);. \n+00009da0: 2020 202d 2d20 5065 7266 6f72 6d20 736f -- Perform so\n+00009db0: 6d65 206f 7065 7261 7469 6f6e 7320 6f6e me operations on\n+00009dc0: 2073 6f63 6b65 740a 2020 2020 2020 2020 socket. \n+00009dd0: 2020 2020 205b 2e2e 2e5d 0a20 2020 2020 [...]. \n+00009de0: 2020 2020 2020 2020 2d2d 2053 6875 7464 -- Shutd\n+00009df0: 6f77 6e20 7468 6520 736f 636b 6574 2069 own the socket i\n+00009e00: 6e20 626f 7468 2064 6972 6563 7469 6f6e n both direction\n+00009e10: 730a 2020 2020 2020 2020 2020 2020 2053 s. S\n+00009e20: 6875 7464 6f77 6e20 2853 6f63 6b2c 2042 hutdown (Sock, B\n+00009e30: 6f74 6829 3b0a 2020 2020 2020 2020 2020 oth);. \n+00009e40: 656e 643b 0a0a 5345 4520 414c 534f 0a20 end;..SEE ALSO. \n+00009e50: 2020 2020 2a6e 6f74 6520 5365 6e64 2028 *note Send (\n+00009e60: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00009e70: 2020 202a 6e6f 7465 2053 6875 7464 6f77 *note Shutdow\n+00009e80: 6e20 2870 726f 6365 6475 7265 293a 3a2e n (procedure)::.\n+00009e90: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00009ea0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00009eb0: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming\n+00009ec0: 2070 6163 6b61 6765 2c20 204e 6578 743a package, Next:\n+00009ed0: 2043 6f6e 7472 6962 7574 6f72 732c 2020 Contributors, \n+00009ee0: 5072 6576 3a20 536f 636b 6574 732e 4d75 Prev: Sockets.Mu\n+00009ef0: 6c74 6963 6173 7420 7061 636b 6167 652c lticast package,\n+00009f00: 2020 5570 3a20 546f 700a 0a36 2053 6f63 Up: Top..6 Soc\n+00009f10: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+00009f20: 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a age.************\n+00009f30: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th\n+00009f40: 6520 e280 9853 6f63 6b65 7473 2e4e 616d e ...Sockets.Nam\n+00009f50: 696e 67e2 8099 2070 6163 6b61 6765 2063 ing... package c\n+00009f60: 6f6e 7461 696e 7320 7479 7065 7320 616e ontains types an\n+00009f70: 6420 6865 6c70 6572 2066 756e 6374 696f d helper functio\n+00009f80: 6e73 206e 6565 6465 640a 746f 206d 616e ns needed.to man\n+00009f90: 6970 756c 6174 6520 496e 7465 726e 6574 ipulate Internet\n+00009fa0: 2068 6f73 7420 6e61 6d65 7320 616e 6420 host names and \n+00009fb0: 6164 6472 6573 7365 732e 0a0a 202d 2d20 addresses... -- \n+00009fc0: 536f 636b 6574 732e 4e61 6d69 6e67 2e41 Sockets.Naming.A\n+00009fd0: 6464 7265 7373 3a20 7479 7065 2041 6464 ddress: type Add\n+00009fe0: 7265 7373 2069 7320 7265 636f 7264 0a20 ress is record. \n+00009ff0: 2020 2020 2020 2020 2020 4831 2c20 4832 H1, H2\n+0000a000: 2c20 4833 2c20 4834 203a 2041 6464 7265 , H3, H4 : Addre\n+0000a010: 7373 5f43 6f6d 706f 6e65 6e74 3b0a 2020 ss_Component;. \n+0000a020: 2020 2020 2020 2020 656e 6420 7265 636f end reco\n+0000a030: 7264 3b0a 2020 2020 2054 6869 7320 7479 rd;. This ty\n+0000a040: 7065 2072 6570 7265 7365 6e74 7320 616e pe represents an\n+0000a050: 2049 5076 3420 6164 6472 6573 7320 7769 IPv4 address wi\n+0000a060: 7468 20e2 8098 4831 e280 9920 6265 696e th ...H1... bein\n+0000a070: 6720 7468 6520 6669 7273 740a 2020 2020 g the first. \n+0000a080: 206f 6374 6574 2061 6e64 20e2 8098 4834 octet and ...H4\n+0000a090: e280 9920 7468 6520 6c61 7374 206f 6e65 ... the last one\n+0000a0a0: 2e20 2046 6f72 2065 7861 6d70 6c65 2c20 . For example, \n+0000a0b0: 3133 372e 3139 342e 3136 312e 3220 6973 137.194.161.2 is\n+0000a0c0: 0a20 2020 2020 7265 7072 6573 656e 7465 . represente\n+0000a0d0: 6420 6279 20e2 8098 4831 3d31 3337 2c20 d by ...H1=137, \n+0000a0e0: 4832 3d31 3934 2c20 4833 3d31 3631 2c20 H2=194, H3=161, \n+0000a0f0: 4834 3d32 e280 992e 0a0a 202d 2d20 536f H4=2...... -- So\n+0000a100: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add\n+0000a110: 7265 7373 5f41 7272 6179 3a20 7479 7065 ress_Array: type\n+0000a120: 2041 6464 7265 7373 5f41 7272 6179 2069 Address_Array i\n+0000a130: 7320 6172 7261 7920 2850 6f73 6974 6976 s array (Positiv\n+0000a140: 650a 2020 2020 2020 2020 2020 7261 6e67 e. rang\n+0000a150: 6520 3c3e 2920 6f66 2041 6464 7265 7373 e <>) of Address\n+0000a160: 3b0a 2020 2020 2048 656c 7065 7220 7479 ;. Helper ty\n+0000a170: 7065 0a0a 202d 2d20 536f 636b 6574 732e pe.. -- Sockets.\n+0000a180: 4e61 6d69 6e67 2e41 6464 7265 7373 5f43 Naming.Address_C\n+0000a190: 6f6d 706f 6e65 6e74 3a20 7479 7065 2041 omponent: type A\n+0000a1a0: 6464 7265 7373 5f43 6f6d 706f 6e65 6e74 ddress_Component\n+0000a1b0: 2069 7320 4e61 7475 7261 6c0a 2020 2020 is Natural. \n+0000a1c0: 2020 2020 2020 7261 6e67 6520 3020 2e2e range 0 ..\n+0000a1d0: 2032 3535 3b0a 2020 2020 2048 656c 7065 255;. Helpe\n+0000a1e0: 7220 7479 7065 0a0a 202d 2d20 536f 636b r type.. -- Sock\n+0000a1f0: 6574 732e 4e61 6d69 6e67 2e48 6f73 745f ets.Naming.Host_\n+0000a200: 456e 7472 793a 2074 7970 6520 486f 7374 Entry: type Host\n+0000a210: 5f45 6e74 7279 2028 4e5f 416c 6961 7365 _Entry (N_Aliase\n+0000a220: 732c 204e 5f41 6464 7265 7373 6573 203a s, N_Addresses :\n+0000a230: 0a20 2020 2020 2020 2020 204e 6174 7572 . Natur\n+0000a240: 616c 2920 6973 206e 6577 2041 6461 2e46 al) is new Ada.F\n+0000a250: 696e 616c 697a 6174 696f 6e2e 436f 6e74 inalization.Cont\n+0000a260: 726f 6c6c 6564 2077 6974 6820 7265 636f rolled with reco\n+0000a270: 7264 0a20 2020 2020 2020 2020 2020 204e rd. N\n+0000a280: 616d 6520 3a20 5374 7269 6e67 5f41 6363 ame : String_Acc\n+0000a290: 6573 733b 0a20 2020 2020 2020 2020 2020 ess;. \n+0000a2a0: 2041 6c69 6173 6573 203a 2053 7472 696e Aliases : Strin\n+0000a2b0: 675f 4172 7261 7920 2831 202e 2e20 4e5f g_Array (1 .. N_\n+0000a2c0: 416c 6961 7365 7329 3b0a 2020 2020 2020 Aliases);. \n+0000a2d0: 2020 2020 2020 4164 6472 6573 7365 7320 Addresses \n+0000a2e0: 3a20 4164 6472 6573 735f 4172 7261 7920 : Address_Array \n+0000a2f0: 2831 202e 2e20 4e5f 4164 6472 6573 7365 (1 .. N_Addresse\n+0000a300: 7329 3b0a 2020 2020 2020 2020 2020 656e s);. en\n+0000a310: 6420 7265 636f 7264 3b0a 2020 2020 2054 d record;. T\n+0000a320: 6865 20e2 8098 486f 7374 5f45 6e74 7279 he ...Host_Entry\n+0000a330: e280 9920 7479 7065 2068 6f6c 6473 2061 ... type holds a\n+0000a340: 2073 6574 206f 6620 6e61 6d65 7320 616e set of names an\n+0000a350: 6420 4950 2061 6464 7265 7373 6573 0a20 d IP addresses. \n+0000a360: 2020 2020 6173 736f 6369 6174 6564 2077 associated w\n+0000a370: 6974 6820 6120 686f 7374 2e20 2045 6163 ith a host. Eac\n+0000a380: 6820 686f 7374 2063 616e 2068 6176 6520 h host can have \n+0000a390: 7365 7665 7261 6c20 4950 2061 6464 7265 several IP addre\n+0000a3a0: 7373 2061 730a 2020 2020 2077 656c 6c20 ss as. well \n+0000a3b0: 6173 2073 6576 6572 616c 2061 6c69 6173 as several alias\n+0000a3c0: 6573 2e0a 0a20 2d2d 2053 6f63 6b65 7473 es... -- Sockets\n+0000a3d0: 2e4e 616d 696e 672e 5374 7269 6e67 5f41 .Naming.String_A\n+0000a3e0: 6363 6573 733a 2074 7970 6520 5374 7269 ccess: type Stri\n+0000a3f0: 6e67 5f41 6363 6573 7320 6973 2061 6363 ng_Access is acc\n+0000a400: 6573 7320 5374 7269 6e67 3b0a 2020 2020 ess String;. \n+0000a410: 2048 656c 7065 7220 7479 7065 0a0a 202d Helper type.. -\n+0000a420: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming\n+0000a430: 2e53 7472 696e 675f 4172 7261 793a 2074 .String_Array: t\n+0000a440: 7970 6520 5374 7269 6e67 5f41 7272 6179 ype String_Array\n+0000a450: 2069 7320 6172 7261 7920 2850 6f73 6974 is array (Posit\n+0000a460: 6976 650a 2020 2020 2020 2020 2020 7261 ive. ra\n+0000a470: 6e67 6520 3c3e 2920 6f66 2053 7472 696e nge <>) of Strin\n+0000a480: 675f 4163 6365 7373 3b0a 2020 2020 2048 g_Access;. H\n+0000a490: 656c 7065 7220 7479 7065 0a0a 2a20 4d65 elper type..* Me\n+0000a4a0: 6e75 3a0a 0a2a 2041 6464 7265 7373 5f4f nu:..* Address_O\n+0000a4b0: 6620 2866 756e 6374 696f 6e29 3a3a 0a20 f (function)::. \n+0000a4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a4d0: 2020 2020 2020 2047 6574 2074 6865 2049 Get the I\n+0000a4e0: 5020 6164 6472 6573 7320 6f66 2061 2068 P address of a h\n+0000a4f0: 6f73 740a 2a20 416e 795f 4164 6472 6573 ost.* Any_Addres\n+0000a500: 7320 2866 756e 6374 696f 6e29 3a3a 0a20 s (function)::. \n+0000a510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a520: 2020 2020 2020 2053 7065 6369 616c 2061 Special a\n+0000a530: 6464 7265 7373 2072 6570 7265 7365 6e74 ddress represent\n+0000a540: 696e 6720 616e 7920 6164 6472 6573 7320 ing any address \n+0000a550: 6f6e 2074 6865 206c 6f63 616c 2068 6f73 on the local hos\n+0000a560: 740a 2a20 4765 745f 5065 6572 5f41 6464 t.* Get_Peer_Add\n+0000a570: 7220 2866 756e 6374 696f 6e29 3a3a 0a20 r (function)::. \n+0000a580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a590: 2020 2020 2020 2052 6574 7269 6576 6520 Retrieve \n+0000a5a0: 4950 2061 6464 7265 7373 206f 6620 7265 IP address of re\n+0000a5b0: 6d6f 7465 2068 6f73 740a 2a20 4765 745f mote host.* Get_\n+0000a5c0: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+0000a5d0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a5e0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000a5f0: 6574 7269 6576 6520 706f 7274 2075 7365 etrieve port use\n+0000a600: 6420 6279 2072 656d 6f74 6520 686f 7374 d by remote host\n+0000a610: 0a2a 2047 6574 5f53 6f63 6b5f 4164 6472 .* Get_Sock_Addr\n+0000a620: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n+0000a630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a640: 2020 2020 2020 5265 7472 6965 7665 2049 Retrieve I\n+0000a650: 5020 6164 6472 6573 7320 6f66 206c 6f63 P address of loc\n+0000a660: 616c 2068 6f73 740a 2a20 4765 745f 536f al host.* Get_So\n+0000a670: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio\n+0000a680: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+0000a690: 2020 2020 2020 2020 2020 2020 2052 6574 Ret\n+0000a6a0: 7269 6576 6520 706f 7274 2075 7365 6420 rieve port used \n+0000a6b0: 6279 206c 6f63 616c 2068 6f73 740a 2a20 by local host.* \n+0000a6c0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n+0000a6d0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a6e0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000a6f0: 6574 2074 6865 206e 616d 6520 6f66 2074 et the name of t\n+0000a700: 6865 2063 7572 7265 6e74 2068 6f73 740a he current host.\n+0000a710: 2a20 496d 6167 6520 2866 756e 6374 696f * Image (functio\n+0000a720: 6e29 3a3a 2020 2020 4d61 6b65 2061 2073 n):: Make a s\n+0000a730: 7472 696e 6720 6672 6f6d 2061 6e20 6164 tring from an ad\n+0000a740: 6472 6573 730a 2a20 496e 666f 5f4f 665f dress.* Info_Of_\n+0000a750: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n+0000a760: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. \n+0000a770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a780: 4765 7420 6164 6472 6573 7365 7320 616e Get addresses an\n+0000a790: 6420 6e61 6d65 7320 6f66 2061 2068 6f73 d names of a hos\n+0000a7a0: 740a 2a20 4973 5f49 505f 4164 6472 6573 t.* Is_IP_Addres\n+0000a7b0: 7320 2866 756e 6374 696f 6e29 3a3a 0a20 s (function)::. \n+0000a7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a7d0: 2020 2020 2020 2043 6865 636b 2069 6620 Check if \n+0000a7e0: 6769 7665 6e20 7374 7269 6e67 2069 7320 given string is \n+0000a7f0: 6120 7661 6c69 6420 4950 2061 6464 7265 a valid IP addre\n+0000a800: 7373 0a2a 204e 616d 655f 4f66 2028 6675 ss.* Name_Of (fu\n+0000a810: 6e63 7469 6f6e 293a 3a20 204f 6666 6963 nction):: Offic\n+0000a820: 6961 6c20 6e61 6d65 206f 6620 7468 6520 ial name of the \n+0000a830: 686f 7374 0a2a 2056 616c 7565 2028 6675 host.* Value (fu\n+0000a840: 6e63 7469 6f6e 293a 3a20 2020 2054 7261 nction):: Tra\n+0000a850: 6e73 666f 726d 2061 2073 7472 696e 6720 nsform a string \n+0000a860: 696e 746f 2061 6e20 6164 6472 6573 730a into an address.\n+0000a870: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+0000a880: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+0000a890: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n+0000a8a0: 6374 696f 6e29 2c20 204e 6578 743a 2041 ction), Next: A\n+0000a8b0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n+0000a8c0: 7469 6f6e 292c 2020 5570 3a20 536f 636b tion), Up: Sock\n+0000a8d0: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n+0000a8e0: 6765 0a0a 4164 6472 6573 735f 4f66 2028 ge..Address_Of (\n+0000a8f0: 6675 6e63 7469 6f6e 290a 3d3d 3d3d 3d3d function).======\n+0000a900: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n+0000a910: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+0000a920: 7420 7468 6520 4950 2061 6464 7265 7373 t the IP address\n+0000a930: 206f 6620 6120 686f 7374 0a50 524f 544f of a host.PROTO\n+0000a940: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+0000a950: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add\n+0000a960: 7265 7373 5f4f 663a 2066 756e 6374 696f ress_Of: functio\n+0000a970: 6e20 4164 6472 6573 735f 4f66 0a20 2020 n Address_Of. \n+0000a980: 2020 2020 2020 2020 2020 2020 2853 4f4d (SOM\n+0000a990: 4554 4849 4e47 203a 2053 7472 696e 6729 ETHING : String)\n+0000a9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000a9b0: 7265 7475 726e 2041 6464 7265 7373 3b0a return Address;.\n+0000a9c0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+0000a9d0: 2053 4f4d 4554 4849 4e47 2020 696e 2020 SOMETHING in \n+0000a9e0: 2020 2020 2020 2048 6f73 7420 6e61 6d65 Host name\n+0000a9f0: 206f 7220 4950 2061 6464 7265 7373 0a0a or IP address..\n+0000aa00: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000aa10: 2020 4950 7634 2061 6464 7265 7373 0a0a IPv4 address..\n+0000aa20: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n+0000aa30: e280 984e 616d 696e 675f 4572 726f 72e2 ...Naming_Error.\n+0000aa40: 8099 2020 2020 204e 6f20 696e 666f 726d .. No inform\n+0000aa50: 6174 696f 6e20 6176 6169 6c61 626c 6520 ation available \n+0000aa60: 666f 7220 7468 6973 206e 616d 6520 6f72 for this name or\n+0000aa70: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000aa80: 2020 2020 2020 2020 2061 6464 7265 7373 address\n+0000aa90: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+0000aaa0: 2a6e 6f74 6520 4e61 6d65 5f4f 6620 2866 *note Name_Of (f\n+0000aab0: 756e 6374 696f 6e29 3a3a 2e0a 0a2a 204d unction)::...* M\n+0000aac0: 656e 753a 0a0a 2a20 416e 795f 4164 6472 enu:..* Any_Addr\n+0000aad0: 6573 7320 2866 756e 6374 696f 6e29 3a3a ess (function)::\n+0000aae0: 0a2a 2047 6574 5f50 6565 725f 4164 6472 .* Get_Peer_Addr\n+0000aaf0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+0000ab00: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f\n+0000ab10: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n+0000ab20: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000ab30: 7469 6f6e 293a 3a0a 2a20 4765 745f 536f tion)::.* Get_So\n+0000ab40: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio\n+0000ab50: 6e29 3a3a 0a2a 2048 6f73 745f 4e61 6d65 n)::.* Host_Name\n+0000ab60: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+0000ab70: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function)\n+0000ab80: 3a3a 0a2a 2049 6e66 6f5f 4f66 5f4e 616d ::.* Info_Of_Nam\n+0000ab90: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000aba0: 6e29 3a3a 0a2a 2049 735f 4950 5f41 6464 n)::.* Is_IP_Add\n+0000abb0: 7265 7373 2028 6675 6e63 7469 6f6e 293a ress (function):\n+0000abc0: 3a0a 2a20 4e61 6d65 5f4f 6620 2866 756e :.* Name_Of (fun\n+0000abd0: 6374 696f 6e29 3a3a 0a2a 2056 616c 7565 ction)::.* Value\n+0000abe0: 2028 6675 6e63 7469 6f6e 293a 3a0a 0a1f (function)::...\n+0000abf0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000ac00: 732e 696e 666f 2c20 204e 6f64 653a 2041 s.info, Node: A\n+0000ac10: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n+0000ac20: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n+0000ac30: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n+0000ac40: 6374 696f 6e29 2c20 2050 7265 763a 2041 ction), Prev: A\n+0000ac50: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000ac60: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000ac70: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000ac80: 0a0a 416e 795f 4164 6472 6573 7320 2866 ..Any_Address (f\n+0000ac90: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000aca0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+0000acb0: 0a50 5552 504f 5345 0a20 2020 2020 5370 .PURPOSE. Sp\n+0000acc0: 6563 6961 6c20 6164 6472 6573 7320 7265 ecial address re\n+0000acd0: 7072 6573 656e 7469 6e67 2061 6e79 2061 presenting any a\n+0000ace0: 6464 7265 7373 206f 6e20 7468 6520 6c6f ddress on the lo\n+0000acf0: 6361 6c20 686f 7374 0a50 524f 544f 5459 cal host.PROTOTY\n+0000ad00: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+0000ad10: 6574 732e 4e61 6d69 6e67 2e41 6e79 5f41 ets.Naming.Any_A\n+0000ad20: 6464 7265 7373 3a20 6675 6e63 7469 6f6e ddress: function\n+0000ad30: 2041 6e79 5f41 6464 7265 7373 0a0a 5245 Any_Address..RE\n+0000ad40: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000ad50: 4571 7569 7661 6c65 6e74 2074 6f20 e280 Equivalent to ..\n+0000ad60: 9849 4e41 4444 525f 414e 59e2 8099 2069 .INADDR_ANY... i\n+0000ad70: 6e20 7468 6520 4320 7072 6f67 7261 6d6d n the C programm\n+0000ad80: 696e 6720 6c61 6e67 7561 6765 0a0a 1f0a ing language....\n+0000ad90: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000ada0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n+0000adb0: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n+0000adc0: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G\n+0000add0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000ade0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000adf0: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun\n+0000ae00: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000ae10: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000ae20: 6e29 0a0a 4765 745f 5065 6572 5f41 6464 n)..Get_Peer_Add\n+0000ae30: 7220 2866 756e 6374 696f 6e29 0a2d 2d2d r (function).---\n+0000ae40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000ae50: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000ae60: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP \n+0000ae70: 6164 6472 6573 7320 6f66 2072 656d 6f74 address of remot\n+0000ae80: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n+0000ae90: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+0000aea0: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565 s.Naming.Get_Pee\n+0000aeb0: 725f 4164 6472 3a20 6675 6e63 7469 6f6e r_Addr: function\n+0000aec0: 2047 6574 5f50 6565 725f 4164 6472 0a20 Get_Peer_Addr. \n+0000aed0: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n+0000aee0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+0000aef0: 4429 0a20 2020 2020 2020 2020 2020 2020 D). \n+0000af00: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n+0000af10: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+0000af20: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+0000af30: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+0000af40: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+0000af50: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000af60: 2020 2020 5065 6572 2061 6464 7265 7373 Peer address\n+0000af70: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+0000af80: 2a6e 6f74 6520 4765 745f 5065 6572 5f50 *note Get_Peer_P\n+0000af90: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function)::\n+0000afa0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+0000afb0: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000afc0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n+0000afd0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+0000afe0: 6f2c 2020 4e6f 6465 3a20 4765 745f 5065 o, Node: Get_Pe\n+0000aff0: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000b000: 6e29 2c20 204e 6578 743a 2047 6574 5f53 n), Next: Get_S\n+0000b010: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000b020: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_\n+0000b030: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000b040: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000b050: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000b060: 0a0a 4765 745f 5065 6572 5f50 6f72 7420 ..Get_Peer_Port \n+0000b070: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+0000b080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b090: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000b0a0: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port \n+0000b0b0: 7573 6564 2062 7920 7265 6d6f 7465 2068 used by remote h\n+0000b0c0: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+0000b0d0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000b0e0: 616d 696e 672e 4765 745f 5065 6572 5f50 aming.Get_Peer_P\n+0000b0f0: 6f72 743a 2066 756e 6374 696f 6e20 4765 ort: function Ge\n+0000b100: 745f 5065 6572 5f50 6f72 740a 2020 2020 t_Peer_Port. \n+0000b110: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+0000b120: 4554 203a 2053 6f63 6b65 745f 4644 290a ET : Socket_FD).\n+0000b130: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+0000b140: 6574 7572 6e20 506f 7369 7469 7665 3b0a eturn Positive;.\n+0000b150: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+0000b160: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+0000b170: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected\n+0000b180: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n+0000b190: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000b1a0: 2020 506f 7274 2075 7365 6420 6f6e 2074 Port used on t\n+0000b1b0: 6865 2072 656d 6f74 6520 686f 7374 0a0a he remote host..\n+0000b1c0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000b1d0: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por\n+0000b1e0: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+0000b1f0: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000b200: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000b210: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000b220: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000b230: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock\n+0000b240: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000b250: 2c20 204e 6578 743a 2047 6574 5f53 6f63 , Next: Get_Soc\n+0000b260: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000b270: 292c 2020 5072 6576 3a20 4765 745f 5065 ), Prev: Get_Pe\n+0000b280: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000b290: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000b2a0: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000b2b0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+0000b2c0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000b2d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b2e0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+0000b2f0: 5265 7472 6965 7665 2049 5020 6164 6472 Retrieve IP addr\n+0000b300: 6573 7320 6f66 206c 6f63 616c 2068 6f73 ess of local hos\n+0000b310: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000b320: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000b330: 696e 672e 4765 745f 536f 636b 5f41 6464 ing.Get_Sock_Add\n+0000b340: 723a 2066 756e 6374 696f 6e20 4765 745f r: function Get_\n+0000b350: 536f 636b 5f41 6464 720a 2020 2020 2020 Sock_Addr. \n+0000b360: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n+0000b370: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). \n+0000b380: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000b390: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA\n+0000b3a0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+0000b3b0: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+0000b3c0: 2020 2020 436f 6e6e 6563 7465 6420 736f Connected so\n+0000b3d0: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+0000b3e0: 5552 4e20 5641 4c55 450a 2020 2020 2041 URN VALUE. A\n+0000b3f0: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local \n+0000b400: 696e 7465 7266 6163 6520 7573 6564 0a0a interface used..\n+0000b410: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000b420: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por\n+0000b430: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+0000b440: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000b450: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000b460: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000b470: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000b480: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock\n+0000b490: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000b4a0: 2c20 204e 6578 743a 2048 6f73 745f 4e61 , Next: Host_Na\n+0000b4b0: 6d65 2028 6675 6e63 7469 6f6e 292c 2020 me (function), \n+0000b4c0: 5072 6576 3a20 4765 745f 536f 636b 5f41 Prev: Get_Sock_A\n+0000b4d0: 6464 7220 2866 756e 6374 696f 6e29 2c20 ddr (function), \n+0000b4e0: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n+0000b4f0: 2866 756e 6374 696f 6e29 0a0a 4765 745f (function)..Get_\n+0000b500: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct\n+0000b510: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+0000b520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+0000b530: 5552 504f 5345 0a20 2020 2020 5265 7472 URPOSE. Retr\n+0000b540: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b\n+0000b550: 7920 6c6f 6361 6c20 686f 7374 0a50 524f y local host.PRO\n+0000b560: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+0000b570: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n+0000b580: 6574 5f53 6f63 6b5f 506f 7274 3a20 6675 et_Sock_Port: fu\n+0000b590: 6e63 7469 6f6e 2047 6574 5f53 6f63 6b5f nction Get_Sock_\n+0000b5a0: 506f 7274 0a20 2020 2020 2020 2020 2020 Port. \n+0000b5b0: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So\n+0000b5c0: 636b 6574 5f46 4429 0a20 2020 2020 2020 cket_FD). \n+0000b5d0: 2020 2020 2020 2020 7265 7475 726e 2050 return P\n+0000b5e0: 6f73 6974 6976 653b 0a0a 5041 5241 4d45 ositive;..PARAME\n+0000b5f0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+0000b600: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+0000b610: 436f 6e6e 6563 7465 6420 736f 636b 6574 Connected socket\n+0000b620: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n+0000b630: 5641 4c55 450a 2020 2020 2050 6f72 7420 VALUE. Port \n+0000b640: 7573 6564 206f 6e20 7468 6520 6c6f 6361 used on the loca\n+0000b650: 6c20 686f 7374 0a0a 5345 4520 414c 534f l host..SEE ALSO\n+0000b660: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+0000b670: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+0000b680: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n+0000b690: 7465 2047 6574 5f53 6f63 6b5f 4164 6472 te Get_Sock_Addr\n+0000b6a0: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+0000b6b0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000b6c0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000b6d0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n+0000b6e0: 696f 6e29 2c20 204e 6578 743a 2049 6d61 ion), Next: Ima\n+0000b6f0: 6765 2028 6675 6e63 7469 6f6e 292c 2020 ge (function), \n+0000b700: 5072 6576 3a20 4765 745f 536f 636b 5f50 Prev: Get_Sock_P\n+0000b710: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), \n+0000b720: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n+0000b730: 2866 756e 6374 696f 6e29 0a0a 486f 7374 (function)..Host\n+0000b740: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n+0000b750: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000b760: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000b770: 2020 2020 4765 7420 7468 6520 6e61 6d65 Get the name\n+0000b780: 206f 6620 7468 6520 6375 7272 656e 7420 of the current \n+0000b790: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n+0000b7a0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+0000b7b0: 4e61 6d69 6e67 2e48 6f73 745f 4e61 6d65 Naming.Host_Name\n+0000b7c0: 3a20 6675 6e63 7469 6f6e 2048 6f73 745f : function Host_\n+0000b7d0: 4e61 6d65 0a0a 5245 5455 524e 2056 414c Name..RETURN VAL\n+0000b7e0: 5545 0a20 2020 2020 4e61 6d65 206f 6620 UE. Name of \n+0000b7f0: 7468 6520 6375 7272 656e 7420 686f 7374 the current host\n+0000b800: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+0000b810: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+0000b820: 2072 6574 7572 6e73 2074 6865 206e 616d returns the nam\n+0000b830: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current\n+0000b840: 2068 6f73 742e 2020 4465 7065 6e64 696e host. Dependin\n+0000b850: 6720 6f6e 0a20 2020 2020 7468 6520 6c6f g on. the lo\n+0000b860: 6361 6c20 636f 6e66 6967 7572 6174 696f cal configuratio\n+0000b870: 6e2c 2069 7420 6d61 7920 6f72 206d 6179 n, it may or may\n+0000b880: 206e 6f74 2062 6520 6120 6675 6c6c 7920 not be a fully \n+0000b890: 7175 616c 6966 6965 640a 2020 2020 2064 qualified. d\n+0000b8a0: 6f6d 6169 6e20 6e61 6d65 2028 4651 444e omain name (FQDN\n+0000b8b0: 292e 0a0a 1f0a 4669 6c65 3a20 6164 6173 ).....File: adas\n+0000b8c0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+0000b8d0: 6465 3a20 496d 6167 6520 2866 756e 6374 de: Image (funct\n+0000b8e0: 696f 6e29 2c20 204e 6578 743a 2049 6e66 ion), Next: Inf\n+0000b8f0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000b900: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+0000b910: 763a 2048 6f73 745f 4e61 6d65 2028 6675 v: Host_Name (fu\n+0000b920: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000b930: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000b940: 6f6e 290a 0a49 6d61 6765 2028 6675 6e63 on)..Image (func\n+0000b950: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000b960: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+0000b970: 2020 2020 204d 616b 6520 6120 7374 7269 Make a stri\n+0000b980: 6e67 2066 726f 6d20 616e 2061 6464 7265 ng from an addre\n+0000b990: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. \n+0000b9a0: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000b9b0: 6d69 6e67 2e49 6d61 6765 3a20 6675 6e63 ming.Image: func\n+0000b9c0: 7469 6f6e 2049 6d61 6765 2028 4144 4420 tion Image (ADD \n+0000b9d0: 3a20 4164 6472 6573 7329 0a20 2020 2020 : Address). \n+0000b9e0: 2020 2020 2020 2020 2020 7265 7475 726e return\n+0000b9f0: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME\n+0000ba00: 5445 5253 0a20 2020 2020 4144 4420 2020 TERS. ADD \n+0000ba10: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+0000ba20: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU\n+0000ba30: 524e 2056 414c 5545 0a20 2020 2020 5374 RN VALUE. St\n+0000ba40: 7269 6e67 2072 6570 7265 7365 6e74 6174 ring representat\n+0000ba50: 696f 6e20 6f66 2074 6865 2049 5020 6164 ion of the IP ad\n+0000ba60: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO.\n+0000ba70: 2020 2020 202a 6e6f 7465 2056 616c 7565 *note Value\n+0000ba80: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+0000ba90: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000baa0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000bab0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000bac0: 4950 2028 6675 6e63 7469 6f6e 292c 2020 IP (function), \n+0000bad0: 4e65 7874 3a20 4973 5f49 505f 4164 6472 Next: Is_IP_Addr\n+0000bae0: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n+0000baf0: 2050 7265 763a 2049 6d61 6765 2028 6675 Prev: Image (fu\n+0000bb00: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000bb10: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000bb20: 6f6e 290a 0a49 6e66 6f5f 4f66 5f4e 616d on)..Info_Of_Nam\n+0000bb30: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000bb40: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+0000bb50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000bb60: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n+0000bb70: 6574 2061 6464 7265 7373 6573 2061 6e64 et addresses and\n+0000bb80: 206e 616d 6573 206f 6620 6120 686f 7374 names of a host\n+0000bb90: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000bba0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000bbb0: 6e67 2e49 6e66 6f5f 4f66 5f4e 616d 655f ng.Info_Of_Name_\n+0000bbc0: 4f72 5f49 503a 2066 756e 6374 696f 6e20 Or_IP: function \n+0000bbd0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000bbe0: 4950 0a20 2020 2020 2020 2020 2020 2020 IP. \n+0000bbf0: 2020 2853 4f4d 4554 4849 4e47 203a 2053 (SOMETHING : S\n+0000bc00: 7472 696e 6729 0a20 2020 2020 2020 2020 tring). \n+0000bc10: 2020 2020 2020 7265 7475 726e 2048 6f73 return Hos\n+0000bc20: 745f 456e 7472 793b 0a0a 5041 5241 4d45 t_Entry;..PARAME\n+0000bc30: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH\n+0000bc40: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in \n+0000bc50: 486f 7374 206e 616d 6520 6f72 2049 5020 Host name or IP \n+0000bc60: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN \n+0000bc70: 5641 4c55 450a 2020 2020 2043 6f72 7265 VALUE. Corre\n+0000bc80: 7370 6f6e 6469 6e67 2068 6f73 7420 656e sponding host en\n+0000bc90: 7472 790a 0a44 4553 4352 4950 5449 4f4e try..DESCRIPTION\n+0000bca0: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n+0000bcb0: 696f 6e20 6578 7472 6163 7473 2061 6c6c ion extracts all\n+0000bcc0: 2074 6865 206e 616d 6573 2061 6e64 2061 the names and a\n+0000bcd0: 6464 7265 7373 6573 2066 726f 6d20 7468 ddresses from th\n+0000bce0: 6520 6e61 6d69 6e67 0a20 2020 2020 7365 e naming. se\n+0000bcf0: 7276 6963 652e 0a0a 4558 4345 5054 494f rvice...EXCEPTIO\n+0000bd00: 4e53 0a20 2020 2020 e280 984e 616d 696e NS. ...Namin\n+0000bd10: 675f 4572 726f 72e2 8099 2020 2020 204e g_Error... N\n+0000bd20: 6f20 696e 666f 726d 6174 696f 6e20 6176 o information av\n+0000bd30: 6169 6c61 626c 6520 666f 7220 7468 6973 ailable for this\n+0000bd40: 206e 616d 6520 6f72 0a20 2020 2020 2020 name or. \n+0000bd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000bd60: 2061 6464 7265 7373 0a0a 1f0a 4669 6c65 address....File\n+0000bd70: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+0000bd80: 6f2c 2020 4e6f 6465 3a20 4973 5f49 505f o, Node: Is_IP_\n+0000bd90: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+0000bda0: 6e29 2c20 204e 6578 743a 204e 616d 655f n), Next: Name_\n+0000bdb0: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n+0000bdc0: 5072 6576 3a20 496e 666f 5f4f 665f 4e61 Prev: Info_Of_Na\n+0000bdd0: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi\n+0000bde0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000bdf0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000be00: 0a49 735f 4950 5f41 6464 7265 7373 2028 .Is_IP_Address (\n+0000be10: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000be20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000be30: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000be40: 2043 6865 636b 2069 6620 6769 7665 6e20 Check if given \n+0000be50: 7374 7269 6e67 2069 7320 6120 7661 6c69 string is a vali\n+0000be60: 6420 4950 2061 6464 7265 7373 0a50 524f d IP address.PRO\n+0000be70: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+0000be80: 536f 636b 6574 732e 4e61 6d69 6e67 2e49 Sockets.Naming.I\n+0000be90: 735f 4950 5f41 6464 7265 7373 3a20 6675 s_IP_Address: fu\n+0000bea0: 6e63 7469 6f6e 2049 735f 4950 5f41 6464 nction Is_IP_Add\n+0000beb0: 7265 7373 0a20 2020 2020 2020 2020 2020 ress. \n+0000bec0: 2020 2020 2853 4f4d 4554 4849 4e47 203a (SOMETHING :\n+0000bed0: 2053 7472 696e 6729 0a20 2020 2020 2020 String). \n+0000bee0: 2020 2020 2020 2020 7265 7475 726e 2042 return B\n+0000bef0: 6f6f 6c65 616e 3b0a 0a50 4152 414d 4554 oolean;..PARAMET\n+0000bf00: 4552 530a 2020 2020 2053 4f4d 4554 4849 ERS. SOMETHI\n+0000bf10: 4e47 2020 696e 2020 2020 2020 2020 2053 NG in S\n+0000bf20: 7472 696e 6720 746f 2063 6865 636b 0a0a tring to check..\n+0000bf30: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000bf40: 2020 e280 9854 7275 65e2 8099 2069 6620 ...True... if \n+0000bf50: 534f 4d45 5448 494e 4720 6973 2061 6e20 SOMETHING is an \n+0000bf60: 4950 2061 6464 7265 7373 0a0a 1f0a 4669 IP address....Fi\n+0000bf70: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+0000bf80: 6e66 6f2c 2020 4e6f 6465 3a20 4e61 6d65 nfo, Node: Name\n+0000bf90: 5f4f 6620 2866 756e 6374 696f 6e29 2c20 _Of (function), \n+0000bfa0: 204e 6578 743a 2056 616c 7565 2028 6675 Next: Value (fu\n+0000bfb0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000bfc0: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f\n+0000bfd0: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n+0000bfe0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000bff0: 696f 6e29 0a0a 4e61 6d65 5f4f 6620 2866 ion)..Name_Of (f\n+0000c000: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000c010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+0000c020: 504f 5345 0a20 2020 2020 4f66 6669 6369 POSE. Offici\n+0000c030: 616c 206e 616d 6520 6f66 2074 6865 2068 al name of the h\n+0000c040: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+0000c050: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000c060: 616d 696e 672e 4e61 6d65 5f4f 663a 2066 aming.Name_Of: f\n+0000c070: 756e 6374 696f 6e20 4e61 6d65 5f4f 6620 unction Name_Of \n+0000c080: 2853 4f4d 4554 4849 4e47 203a 2053 7472 (SOMETHING : Str\n+0000c090: 696e 6729 0a20 2020 2020 2020 2020 2020 ing). \n+0000c0a0: 2020 2020 7265 7475 726e 2053 7472 696e return Strin\n+0000c0b0: 673b 0a0a 5041 5241 4d45 5445 5253 0a20 g;..PARAMETERS. \n+0000c0c0: 2020 2020 534f 4d45 5448 494e 4720 2069 SOMETHING i\n+0000c0d0: 6e20 2020 2020 2020 2020 486f 7374 206e n Host n\n+0000c0e0: 616d 6520 6f72 2049 5020 6164 6472 6573 ame or IP addres\n+0000c0f0: 730a 0a52 4554 5552 4e20 5641 4c55 450a s..RETURN VALUE.\n+0000c100: 2020 2020 204e 616d 6520 6f66 2074 6865 Name of the\n+0000c110: 2068 6f73 740a 0a45 5843 4550 5449 4f4e host..EXCEPTION\n+0000c120: 530a 2020 2020 20e2 8098 4e61 6d69 6e67 S. ...Naming\n+0000c130: 5f45 7272 6f72 e280 9920 2020 2020 4e6f _Error... No\n+0000c140: 2069 6e66 6f72 6d61 7469 6f6e 2061 7661 information ava\n+0000c150: 696c 6162 6c65 2066 6f72 2074 6869 7320 ilable for this \n+0000c160: 6e61 6d65 206f 720a 2020 2020 2020 2020 name or. \n+0000c170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c180: 6164 6472 6573 730a 0a53 4545 2041 4c53 address..SEE ALS\n+0000c190: 4f0a 2020 2020 202a 6e6f 7465 2041 6464 O. *note Add\n+0000c1a0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000c1b0: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n+0000c1c0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000c1d0: 204e 6f64 653a 2056 616c 7565 2028 6675 Node: Value (fu\n+0000c1e0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000c1f0: 4e61 6d65 5f4f 6620 2866 756e 6374 696f Name_Of (functio\n+0000c200: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000c210: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000c220: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n+0000c230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000c240: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+0000c250: 5472 616e 7366 6f72 6d20 6120 7374 7269 Transform a stri\n+0000c260: 6e67 2069 6e74 6f20 616e 2061 6464 7265 ng into an addre\n+0000c270: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. \n+0000c280: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000c290: 6d69 6e67 2e56 616c 7565 3a20 6675 6e63 ming.Value: func\n+0000c2a0: 7469 6f6e 2056 616c 7565 2028 4144 4420 tion Value (ADD \n+0000c2b0: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n+0000c2c0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+0000c2d0: 4164 6472 6573 733b 0a0a 5041 5241 4d45 Address;..PARAME\n+0000c2e0: 5445 5253 0a20 2020 2020 4144 4420 2020 TERS. ADD \n+0000c2f0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+0000c300: 5465 7874 7561 6c20 7265 7072 6573 656e Textual represen\n+0000c310: 7461 7469 6f6e 206f 6620 616e 2049 5020 tation of an IP \n+0000c320: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN \n+0000c330: 5641 4c55 450a 2020 2020 2043 6f72 7265 VALUE. Corre\n+0000c340: 7370 6f6e 6469 6e67 2041 6464 7265 7373 sponding Address\n+0000c350: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+0000c360: 2a6e 6f74 6520 496d 6167 6520 2866 756e *note Image (fun\n+0000c370: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil\n+0000c380: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000c390: 666f 2c20 204e 6f64 653a 2043 6f6e 7472 fo, Node: Contr\n+0000c3a0: 6962 7574 6f72 732c 2020 4e65 7874 3a20 ibutors, Next: \n+0000c3b0: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+0000c3c0: 2049 6e74 6572 6e65 742c 2020 5072 6576 Internet, Prev\n+0000c3d0: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming\n+0000c3e0: 2070 6163 6b61 6765 2c20 2055 703a 2054 package, Up: T\n+0000c3f0: 6f70 0a0a 4170 7065 6e64 6978 2041 2043 op..Appendix A C\n+0000c400: 6f6e 7472 6962 7574 6f72 730a 2a2a 2a2a ontributors.****\n+0000c410: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c420: 2a2a 2a0a 0a41 6461 536f 636b 6574 7320 ***..AdaSockets \n+0000c430: 6861 7320 6265 656e 206f 7269 6769 6e61 has been origina\n+0000c440: 6c6c 7920 6465 7665 6c6f 7070 6564 2062 lly developped b\n+0000c450: 7920 5361 6d75 656c 2054 6172 6469 6575 y Samuel Tardieu\n+0000c460: 2077 686f 2073 7469 6c6c 0a6d 6169 6e74 who still.maint\n+0000c470: 6169 6e73 2069 742e 2020 486f 7765 7665 ains it. Howeve\n+0000c480: 722c 2074 6865 2066 6f6c 6c6f 7769 6e67 r, the following\n+0000c490: 2070 656f 706c 6520 6861 7665 206d 6164 people have mad\n+0000c4a0: 6520 6372 7563 6961 6c0a 636f 6e74 7269 e crucial.contri\n+0000c4b0: 6275 7469 6f6e 7320 746f 2041 6461 536f butions to AdaSo\n+0000c4c0: 636b 6574 732c 2062 6520 7468 6579 206e ckets, be they n\n+0000c4d0: 6577 2063 6f64 652c 2062 7567 2066 6978 ew code, bug fix\n+0000c4e0: 6573 206f 7220 706f 7274 696e 6720 746f es or porting to\n+0000c4f0: 0a6e 6577 206f 7065 7261 7469 6e67 2073 .new operating s\n+0000c500: 7973 7465 6d73 3a0a 0a20 2020 e280 a220 ystems:.. ... \n+0000c510: 446d 6974 7269 7920 416e 6973 696d 6b6f Dmitriy Anisimko\n+0000c520: 7620 283c 616e 6973 696d 6b6f 7640 7961 v (). ...\n+0000c540: 2041 6c61 6e20 4261 726e 6573 2028 3c62 Alan Barnes (). ... Juan\n+0000c570: 6d61 2042 6172 7261 6e71 7565 726f 2028 ma Barranquero (\n+0000c580: 3c6c 656b 7475 4074 6572 7261 2e65 733e \n+0000c590: 290a 2020 20e2 80a2 2042 6f62 6279 2044 ). ... Bobby D\n+0000c5a0: 2e20 4272 7961 6e74 2028 3c62 6462 7279 . Bryant (). ... San\n+0000c5d0: 6465 7220 436f 7820 283c 7361 6e64 6572 der Cox (). ... Sune F\n+0000c600: 616c 6b20 283c 7375 6e65 2e66 616c 636b alk (). \n+0000c620: e280 a220 4775 696c 6c61 756d 6520 466f ... Guillaume Fo\n+0000c630: 6c69 6172 6420 283c 6775 6966 6f40 7761 liard (). ..\n+0000c650: a220 4c61 7572 656e 7420 4775 6572 6279 . Laurent Guerby\n+0000c660: 2028 3c67 7565 7262 7940 636c 7562 2d69 (). \n+0000c680: e280 a220 4461 7669 6420 4a2e 204b 7269 ... David J. Kri\n+0000c690: 7374 6f6c 6120 283c 4461 7669 6439 3530 stola (). \n+0000c6b0: e280 a220 446f 6d69 6e69 6b20 4d61 646f ... Dominik Mado\n+0000c6c0: 6e20 283c 646f 6d69 6e69 6b40 6163 6d2e n (). ... Pas\n+0000c6e0: 6361 6c20 4f62 7279 2028 3c70 2e6f 6272 cal Obry (). \n+0000c700: 2020 e280 a220 4e69 636f 6c61 7320 4f6c ... Nicolas Ol\n+0000c710: 6c69 6e67 6572 2028 3c4e 6963 6f6c 6173 linger (). ... S\n+0000c740: 7470 6861 6e65 2050 6174 7572 6561 7520 tphane Patureau \n+0000c750: 283c 7370 6174 7572 6561 406d 656c 6574 (). ... \n+0000c780: 5468 6f6d 6173 2051 7569 6e6f 7420 283c Thomas Quinot (<\n+0000c790: 7468 6f6d 6173 4063 7569 7672 652e 6672 thomas@cuivre.fr\n+0000c7a0: 2e65 752e 6f72 673e 290a 2020 20e2 80a2 .eu.org>). ...\n+0000c7b0: 2050 7265 6265 6e20 5261 6e64 686f 6c20 Preben Randhol \n+0000c7c0: 283c 7261 6e64 686f 6c40 7076 762e 6f72 (). ... Maxim\n+0000c7e0: 2052 657a 6e69 6b20 283c 6d61 7831 406d Reznik (). \n+0000c800: 20e2 80a2 204a 6f65 6c20 5368 6572 7269 ... Joel Sherri\n+0000c810: 6c6c 2028 3c6a 6f65 6c2e 7368 6572 7269 ll ()\n+0000c830: 0a20 2020 e280 a220 5361 6d75 656c 2054 . ... Samuel T\n+0000c840: 6172 6469 6575 2028 3c73 616d 4072 6663 ardieu ().. I\n+0000c860: 6620 796f 7520 6665 656c 2074 6861 7420 f you feel that \n+0000c870: 796f 7520 6861 7665 2062 6565 6e20 666f you have been fo\n+0000c880: 7267 6f74 7465 6e2c 2070 6c65 6173 6520 rgotten, please \n+0000c890: 7365 6e64 206d 6520 6120 6d61 696c 2073 send me a mail s\n+0000c8a0: 6f0a 7468 6174 2049 2063 616e 2066 6978 o.that I can fix\n+0000c8b0: 2069 7420 696e 2074 6865 206e 6578 7420 it in the next \n+0000c8c0: 7665 7273 696f 6e2e 0a0a 2020 202a 4e6f version... *No\n+0000c8d0: 7465 2052 6573 6f75 7263 6573 206f 6e20 te Resources on \n+0000c8e0: 7468 6520 496e 7465 726e 6574 3a3a 2c20 the Internet::, \n+0000c8f0: 666f 7220 686f 7720 746f 2063 6f6e 7472 for how to contr\n+0000c900: 6962 7574 652e 0a0a 1f0a 4669 6c65 3a20 ibute.....File: \n+0000c910: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000c920: 2020 4e6f 6465 3a20 5265 736f 7572 6365 Node: Resource\n+0000c930: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n+0000c940: 742c 2020 4e65 7874 3a20 496e 6465 782c t, Next: Index,\n+0000c950: 2020 5072 6576 3a20 436f 6e74 7269 6275 Prev: Contribu\n+0000c960: 746f 7273 2c20 2055 703a 2054 6f70 0a0a tors, Up: Top..\n+0000c970: 4170 7065 6e64 6978 2042 2052 6573 6f75 Appendix B Resou\n+0000c980: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n+0000c990: 726e 6574 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a rnet.***********\n+0000c9a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c9b0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 206c *********..The l\n+0000c9c0: 6174 6573 7420 7665 7273 696f 6e20 6f66 atest version of\n+0000c9d0: 2041 6461 536f 636b 6574 7320 6361 6e20 AdaSockets can \n+0000c9e0: 616c 7761 7973 2062 6520 666f 756e 6420 always be found \n+0000c9f0: 6174 3a0a 0a20 2020 2020 2020 2020 2020 at:.. \n+0000ca00: 2020 203c 6874 7470 733a 2f2f 7777 772e .. \n+0000ca30: 2020 596f 7520 6361 6e20 7265 706f 7274 You can report\n+0000ca40: 2069 7373 7565 7320 6f72 2074 6865 2041 issues or the A\n+0000ca50: 6461 536f 636b 6574 7320 6d61 696c 696e daSockets mailin\n+0000ca60: 672d 6c69 7374 2061 740a 0a20 2020 2020 g-list at.. \n+0000ca70: 2020 2020 2020 203c 6874 7470 733a 2f2f .. Contr\n+0000cab0: 6962 7574 696f 6e73 2061 6e64 2070 6174 ibutions and pat\n+0000cac0: 6368 6573 2061 7265 2077 656c 636f 6d65 ches are welcome\n+0000cad0: 642e 0a0a 1f0a 4669 6c65 3a20 6164 6173 d.....File: adas\n+0000cae0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+0000caf0: 6465 3a20 496e 6465 782c 2020 5072 6576 de: Index, Prev\n+0000cb00: 3a20 5265 736f 7572 6365 7320 6f6e 2074 : Resources on t\n+0000cb10: 6865 2049 6e74 6572 6e65 742c 2020 5570 he Internet, Up\n+0000cb20: 3a20 546f 700a 0a49 6e64 6578 0a2a 2a2a : Top..Index.***\n+0000cb30: 2a2a 0a0a 0008 5b69 6e64 6578 0008 5d0a **....[index..].\n+0000cb40: 2a20 4d65 6e75 3a0a 0a2a 2041 6363 6570 * Menu:..* Accep\n+0000cb50: 745f 536f 636b 6574 3a20 2020 2020 2020 t_Socket: \n+0000cb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb70: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket \n+0000cb80: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 0000cb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cbb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000cbc0: 3629 0a2a 2041 6461 2e53 7472 6561 6d73 6).* Ada.Streams\n-0000cbd0: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n-0000cbe0: 4172 7261 7920 3c31 3e3a 2020 5265 6365 Array <1>: Rece\n-0000cbf0: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). \n-0000cc00: 2020 286c 696e 6520 3232 290a 2a20 4164 (line 22).* Ad\n-0000cc10: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n-0000cc20: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c _Element_Array <\n-0000cc30: 323e 3a20 2052 6563 6569 7665 2028 7072 2>: Receive (pr\n-0000cc40: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n-0000cc50: 2031 3829 0a2a 2041 6461 2e53 7472 6561 18).* Ada.Strea\n-0000cc60: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-0000cc70: 745f 4172 7261 7920 3c33 3e3a 2020 5265 t_Array <3>: Re\n-0000cc80: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-0000cc90: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-0000cca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbc0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000cbd0: 6520 2039 290a 2a20 4163 6365 7074 696e e 9).* Acceptin\n+0000cbe0: 6720 6120 6e65 7720 636f 6e6e 6563 7469 g a new connecti\n+0000cbf0: 6f6e 3a20 2020 2020 2020 2020 2020 2041 on: A\n+0000cc00: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+0000cc10: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000cc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc50: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000cc60: 3629 0a2a 2041 6461 2e53 7472 6561 6d73 6).* Ada.Streams\n+0000cc70: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+0000cc80: 4172 7261 793a 2020 2020 2020 5261 7720 Array: Raw \n+0000cc90: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n+0000cca0: 6e2e 0a20 2020 2020 2020 2020 2020 2020 n.. \n 0000ccb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccd0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n-0000cce0: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n-0000ccf0: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n-0000cd00: 7261 7920 3c34 3e3a 2020 5365 6e64 2028 ray <4>: Send (\n-0000cd10: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n-0000cd20: 286c 696e 6520 3137 290a 2a20 4164 612e (line 17).* Ada.\n-0000cd30: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n-0000cd40: 6c65 6d65 6e74 5f43 6f75 6e74 3a20 2020 lement_Count: \n-0000cd50: 2020 2052 6563 6569 7665 2028 6675 6e63 Receive (func\n-0000cd60: 7469 6f6e 292e 2020 2028 6c69 6e65 2032 tion). (line 2\n-0000cd70: 3229 0a2a 2041 6461 2e53 7472 6561 6d73 2).* Ada.Streams\n-0000cd80: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n-0000cd90: 436f 756e 7420 3c31 3e3a 2020 5265 6365 Count <1>: Rece\n-0000cda0: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-0000cdb0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000cdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ccd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cce0: 2020 286c 696e 6520 2036 290a 2a20 4164 (line 6).* Ad\n+0000ccf0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n+0000cd00: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c _Element_Array <\n+0000cd10: 313e 3a20 2052 6563 6569 7665 2028 6675 1>: Receive (fu\n+0000cd20: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n+0000cd30: 2032 3229 0a2a 2041 6461 2e53 7472 6561 22).* Ada.Strea\n+0000cd40: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n+0000cd50: 745f 4172 7261 7920 3c32 3e3a 2020 5265 t_Array <2>: Re\n+0000cd60: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+0000cd70: 292e 2020 286c 696e 6520 3138 290a 2a20 ). (line 18).* \n+0000cd80: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n+0000cd90: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n+0000cda0: 203c 333e 3a20 2052 6563 6569 7665 5f53 <3>: Receive_S\n+0000cdb0: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure).\n+0000cdc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000cdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cdf0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000ce00: 2041 6461 536f 636b 6574 7320 7072 6573 AdaSockets pres\n-0000ce10: 656e 7461 7469 6f6e 3a20 2020 2020 2020 entation: \n-0000ce20: 2020 2020 2020 2020 5768 6174 2069 7320 What is \n-0000ce30: 4164 6153 6f63 6b65 7473 3f2e 2020 286c AdaSockets?. (l\n-0000ce40: 696e 6520 2036 290a 2a20 4164 6472 6573 ine 6).* Addres\n-0000ce50: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-0000ce60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce70: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-0000ce80: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \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 2020 2020 286c 696e 6520 2039 (line 9\n-0000ced0: 290a 2a20 4164 6472 6573 735f 4172 7261 ).* Address_Arra\n-0000cee0: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n-0000cef0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-0000cf00: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000cf10: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \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 2020 \n-0000cf50: 2020 286c 696e 6520 3136 290a 2a20 4164 (line 16).* Ad\n-0000cf60: 6472 6573 735f 436f 6d70 6f6e 656e 743a dress_Component:\n-0000cf70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf80: 2020 2020 2053 6f63 6b65 7473 2e4e 616d Sockets.Nam\n-0000cf90: 696e 6720 7061 636b 6167 652e 0a20 2020 ing package.. \n-0000cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ce00: 286c 696e 6520 3231 290a 2a20 4164 612e (line 21).* Ada.\n+0000ce10: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000ce20: 6c65 6d65 6e74 5f41 7272 6179 203c 343e lement_Array <4>\n+0000ce30: 3a20 2053 656e 6420 2870 726f 6365 6475 : Send (procedu\n+0000ce40: 7265 292e 2020 2020 2028 6c69 6e65 2031 re). (line 1\n+0000ce50: 3729 0a2a 2041 6461 2e53 7472 6561 6d73 7).* Ada.Streams\n+0000ce60: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+0000ce70: 436f 756e 743a 2020 2020 2020 5265 6365 Count: Rece\n+0000ce80: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). \n+0000ce90: 2020 286c 696e 6520 3232 290a 2a20 4164 (line 22).* Ad\n+0000cea0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n+0000ceb0: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 203c _Element_Count <\n+0000cec0: 313e 3a20 2052 6563 6569 7665 5f53 6f6d 1>: Receive_Som\n+0000ced0: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. \n+0000cee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf10: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000cf20: 696e 6520 3231 290a 2a20 4164 6153 6f63 ine 21).* AdaSoc\n+0000cf30: 6b65 7473 2070 7265 7365 6e74 6174 696f kets presentatio\n+0000cf40: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+0000cf50: 2057 6861 7420 6973 2041 6461 536f 636b What is AdaSock\n+0000cf60: 6574 733f 2e20 2028 6c69 6e65 2020 3629 ets?. (line 6)\n+0000cf70: 0a2a 2041 6464 7265 7373 3a20 2020 2020 .* Address: \n+0000cf80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf90: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+0000cfa0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+0000cfb0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000cfc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cfd0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000cfe0: 6520 3230 290a 2a20 4164 6472 6573 735f e 20).* Address_\n-0000cff0: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: \n-0000d000: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0000d010: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n-0000d020: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n-0000d030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cff0: 2028 6c69 6e65 2020 3929 0a2a 2041 6464 (line 9).* Add\n+0000d000: 7265 7373 5f41 7272 6179 3a20 2020 2020 ress_Array: \n+0000d010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d020: 2020 2020 536f 636b 6574 732e 4e61 6d69 Sockets.Nami\n+0000d030: 6e67 2070 6163 6b61 6765 2e0a 2020 2020 ng package.. \n 0000d040: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d060: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000d070: 2041 465f 494e 4554 3a20 2020 2020 2020 AF_INET: \n-0000d080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d090: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n-0000d0a0: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n-0000d0b0: 696e 6520 3139 290a 2a20 416e 795f 4164 ine 19).* Any_Ad\n-0000d0c0: 6472 6573 733a 2020 2020 2020 2020 2020 dress: \n+0000d060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d070: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000d080: 2031 3629 0a2a 2041 6464 7265 7373 5f43 16).* Address_C\n+0000d090: 6f6d 706f 6e65 6e74 3a20 2020 2020 2020 omponent: \n+0000d0a0: 2020 2020 2020 2020 2020 2020 2020 536f So\n+0000d0b0: 636b 6574 732e 4e61 6d69 6e67 2070 6163 ckets.Naming pac\n+0000d0c0: 6b61 6765 2e0a 2020 2020 2020 2020 2020 kage.. \n 0000d0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d0e0: 2041 6e79 5f41 6464 7265 7373 2028 6675 Any_Address (fu\n-0000d0f0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-0000d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d100: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+0000d110: 2041 6464 7265 7373 5f4f 663a 2020 2020 Address_Of: \n 0000d120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d130: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n-0000d140: 290a 2a20 4173 7369 676e 696e 6720 6120 ).* Assigning a \n-0000d150: 6c6f 6361 6c20 706f 7274 3a20 2020 2020 local port: \n-0000d160: 2020 2020 2020 2020 2020 2042 696e 6420 Bind \n-0000d170: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n-0000d180: 2028 6c69 6e65 2020 3629 0a2a 2042 696e (line 6).* Bin\n-0000d190: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n-0000d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1b0: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n-0000d1c0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n-0000d1d0: 2039 290a 2a20 4269 6e64 696e 6720 6120 9).* Binding a \n-0000d1e0: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n-0000d1f0: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n-0000d200: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-0000d210: 2020 2028 6c69 6e65 2020 3629 0a2a 2042 (line 6).* B\n-0000d220: 6f74 683a 2020 2020 2020 2020 2020 2020 oth: \n+0000d130: 2020 2020 2020 2020 4164 6472 6573 735f Address_\n+0000d140: 4f66 2028 6675 6e63 7469 6f6e 292e 0a20 Of (function).. \n+0000d150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d180: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000d190: 696e 6520 2039 290a 2a20 4146 5f49 4e45 ine 9).* AF_INE\n+0000d1a0: 543a 2020 2020 2020 2020 2020 2020 2020 T: \n+0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d1c0: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+0000d1d0: 7265 292e 2020 2028 6c69 6e65 2031 3929 re). (line 19)\n+0000d1e0: 0a2a 2041 6e79 5f41 6464 7265 7373 3a20 .* Any_Address: \n+0000d1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d200: 2020 2020 2020 2020 2020 416e 795f 4164 Any_Ad\n+0000d210: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n+0000d220: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000d230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d240: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n-0000d250: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000d260: 6520 3137 290a 2a20 436c 6f73 696e 6720 e 17).* Closing \n-0000d270: 6120 736f 636b 6574 3a20 2020 2020 2020 a socket: \n-0000d280: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000d290: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-0000d2a0: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).*\n-0000d2b0: 2043 6f6d 7061 7261 6973 6f6e 2077 6974 Comparaison wit\n-0000d2c0: 6820 474e 4154 2e53 6f63 6b65 7473 3a20 h GNAT.Sockets: \n-0000d2d0: 2020 2020 2020 2020 5768 6174 2069 7320 What is \n-0000d2e0: 4164 6153 6f63 6b65 7473 3f2e 2020 286c AdaSockets?. (l\n-0000d2f0: 696e 6520 2036 290a 2a20 436f 6e6e 6563 ine 6).* Connec\n-0000d300: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000d240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d260: 2028 6c69 6e65 2020 3929 0a2a 2041 7373 (line 9).* Ass\n+0000d270: 6967 6e69 6e67 2061 206c 6f63 616c 2070 igning a local p\n+0000d280: 6f72 743a 2020 2020 2020 2020 2020 2020 ort: \n+0000d290: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n+0000d2a0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+0000d2b0: 2036 290a 2a20 4269 6e64 3a20 2020 2020 6).* Bind: \n+0000d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d2d0: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n+0000d2e0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+0000d2f0: 2020 2028 6c69 6e65 2020 3929 0a2a 2042 (line 9).* B\n+0000d300: 696e 6469 6e67 2061 2073 6f63 6b65 743a inding a socket:\n 0000d310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d320: 2043 6f6e 6e65 6374 2028 7072 6f63 6564 Connect (proced\n-0000d330: 7572 6529 2e20 2028 6c69 6e65 2020 3929 ure). (line 9)\n-0000d340: 0a2a 2043 6f6e 6e65 6374 696e 6720 6120 .* Connecting a \n-0000d350: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n-0000d360: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n-0000d370: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-0000d380: 286c 696e 6520 2036 290a 2a20 436f 6e6e (line 6).* Conn\n-0000d390: 6563 7469 6f6e 5f43 6c6f 7365 643a 2020 ection_Closed: \n-0000d3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d3b0: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n-0000d3c0: 292e 2020 2020 2020 2028 6c69 6e65 2033 ). (line 3\n-0000d3d0: 3429 0a2a 2043 6f6e 6e65 6374 696f 6e5f 4).* Connection_\n-0000d3e0: 436c 6f73 6564 203c 313e 3a20 2020 2020 Closed <1>: \n-0000d3f0: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000d400: 4368 6172 2028 6675 6e63 7469 6f6e 292e Char (function).\n-0000d410: 2020 286c 696e 6520 3233 290a 2a20 436f (line 23).* Co\n-0000d420: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n-0000d430: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0000d440: 2020 2020 2047 6574 5f4c 696e 6520 2866 Get_Line (f\n-0000d450: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n-0000d460: 2033 3229 0a2a 2043 6f6e 6e65 6374 696f 32).* Connectio\n-0000d470: 6e5f 436c 6f73 6564 203c 333e 3a20 2020 n_Closed <3>: \n-0000d480: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000d490: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-0000d4a0: 6529 2e20 286c 696e 6520 3237 290a 2a20 e). (line 27).* \n-0000d4b0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-0000d4c0: 6420 3c34 3e3a 2020 2020 2020 2020 2020 d <4>: \n-0000d4d0: 2020 2020 2020 204e 6577 5f4c 696e 6520 New_Line \n-0000d4e0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n-0000d4f0: 6e65 2032 3029 0a2a 2043 6f6e 6e65 6374 ne 20).* Connect\n-0000d500: 696f 6e5f 436c 6f73 6564 203c 353e 3a20 ion_Closed <5>: \n-0000d510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d520: 5075 7420 2870 726f 6365 6475 7265 292e Put (procedure).\n-0000d530: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n-0000d540: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n-0000d550: 7365 6420 3c36 3e3a 2020 2020 2020 2020 sed <6>: \n-0000d560: 2020 2020 2020 2020 2050 7574 5f4c 696e Put_Lin\n-0000d570: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n-0000d580: 6c69 6e65 2032 3129 0a2a 2043 6f6e 6e65 line 21).* Conne\n-0000d590: 6374 696f 6e5f 436c 6f73 6564 203c 373e ction_Closed <7>\n-0000d5a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d5b0: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n-0000d5c0: 696f 6e29 2e20 2020 286c 696e 6520 3330 ion). (line 30\n-0000d5d0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n-0000d5e0: 6c6f 7365 6420 3c38 3e3a 2020 2020 2020 losed <8>: \n-0000d5f0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n-0000d600: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n-0000d610: 2028 6c69 6e65 2032 3529 0a2a 2043 6f6e (line 25).* Con\n-0000d620: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n-0000d630: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: \n-0000d640: 2020 2020 5265 6365 6976 655f 536f 6d65 Receive_Some\n-0000d650: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \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 2020 2020 2028 6c69 (li\n-0000d6a0: 6e65 2032 3729 0a2a 2043 6f6e 6e65 6374 ne 27).* Connect\n-0000d6b0: 696f 6e5f 436c 6f73 6564 203c 3130 3e3a ion_Closed <10>:\n-0000d6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6d0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n-0000d6e0: 2e20 2020 2020 286c 696e 6520 3231 290a . (line 21).\n-0000d6f0: 2a20 436f 6e6e 6563 7469 6f6e 5f52 6566 * Connection_Ref\n-0000d700: 7573 6564 3a20 2020 2020 2020 2020 2020 used: \n-0000d710: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n-0000d720: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n-0000d730: 6c69 6e65 2032 3529 0a2a 2043 6f6e 7472 line 25).* Contr\n-0000d740: 6962 7574 696e 673a 2020 2020 2020 2020 ibuting: \n-0000d750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d760: 2020 436f 6e74 7269 6275 746f 7273 2e20 Contributors. \n-0000d770: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000d780: 290a 2a20 436f 6e74 7269 6275 7469 6e67 ).* Contributing\n-0000d790: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000d7a0: 2020 2020 2020 2020 2020 2052 6573 6f75 Resou\n-0000d7b0: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n-0000d7c0: 726e 6574 2e0a 2020 2020 2020 2020 2020 rnet.. \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: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000d810: 2043 523a 2020 2020 2020 2020 2020 2020 CR: \n-0000d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d830: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000d840: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n-0000d850: 696e 6520 3231 290a 2a20 4352 203c 313e ine 21).* CR <1>\n-0000d860: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d880: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n-0000d890: 6475 7265 292e 2028 6c69 6e65 2031 3829 dure). (line 18)\n-0000d8a0: 0a2a 2043 5220 3c32 3e3a 2020 2020 2020 .* CR <2>: \n-0000d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d8c0: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n-0000d8d0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000d8e0: 286c 696e 6520 3137 290a 2a20 4372 6561 (line 17).* Crea\n-0000d8f0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-0000d900: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n-0000d910: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n-0000d920: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n-0000d930: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000d320: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n+0000d330: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+0000d340: 6520 2036 290a 2a20 426f 7468 3a20 2020 e 6).* Both: \n+0000d350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d360: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000d370: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+0000d380: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).*\n+0000d390: 2043 6c6f 7369 6e67 2061 2073 6f63 6b65 Closing a socke\n+0000d3a0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000d3b0: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n+0000d3c0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+0000d3d0: 696e 6520 2036 290a 2a20 436f 6d70 6172 ine 6).* Compar\n+0000d3e0: 6169 736f 6e20 7769 7468 2047 4e41 542e aison with GNAT.\n+0000d3f0: 536f 636b 6574 733a 2020 2020 2020 2020 Sockets: \n+0000d400: 2057 6861 7420 6973 2041 6461 536f 636b What is AdaSock\n+0000d410: 6574 733f 2e20 2028 6c69 6e65 2020 3629 ets?. (line 6)\n+0000d420: 0a2a 2043 6f6e 6e65 6374 3a20 2020 2020 .* Connect: \n+0000d430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d440: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n+0000d450: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+0000d460: 286c 696e 6520 2039 290a 2a20 436f 6e6e (line 9).* Conn\n+0000d470: 6563 7469 6e67 2061 2073 6f63 6b65 743a ecting a socket:\n+0000d480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d490: 2020 2043 6f6e 6e65 6374 2028 7072 6f63 Connect (proc\n+0000d4a0: 6564 7572 6529 2e20 2028 6c69 6e65 2020 edure). (line \n+0000d4b0: 3629 0a2a 2043 6f6e 6e65 6374 696f 6e5f 6).* Connection_\n+0000d4c0: 436c 6f73 6564 3a20 2020 2020 2020 2020 Closed: \n+0000d4d0: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n+0000d4e0: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+0000d4f0: 2020 286c 696e 6520 3334 290a 2a20 436f (line 34).* Co\n+0000d500: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d510: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0000d520: 2020 2020 2047 6574 5f43 6861 7220 2866 Get_Char (f\n+0000d530: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n+0000d540: 2032 3329 0a2a 2043 6f6e 6e65 6374 696f 23).* Connectio\n+0000d550: 6e5f 436c 6f73 6564 203c 323e 3a20 2020 n_Closed <2>: \n+0000d560: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000d570: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n+0000d580: 292e 2020 286c 696e 6520 3332 290a 2a20 ). (line 32).* \n+0000d590: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d5a0: 6420 3c33 3e3a 2020 2020 2020 2020 2020 d <3>: \n+0000d5b0: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line \n+0000d5c0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+0000d5d0: 6e65 2032 3729 0a2a 2043 6f6e 6e65 6374 ne 27).* Connect\n+0000d5e0: 696f 6e5f 436c 6f73 6564 203c 343e 3a20 ion_Closed <4>: \n+0000d5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d600: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+0000d610: 7572 6529 2e20 286c 696e 6520 3230 290a ure). (line 20).\n+0000d620: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n+0000d630: 7365 6420 3c35 3e3a 2020 2020 2020 2020 sed <5>: \n+0000d640: 2020 2020 2020 2020 2050 7574 2028 7072 Put (pr\n+0000d650: 6f63 6564 7572 6529 2e20 2020 2020 2028 ocedure). (\n+0000d660: 6c69 6e65 2032 3129 0a2a 2043 6f6e 6e65 line 21).* Conne\n+0000d670: 6374 696f 6e5f 436c 6f73 6564 203c 363e ction_Closed <6>\n+0000d680: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d690: 2020 5075 745f 4c69 6e65 2028 7072 6f63 Put_Line (proc\n+0000d6a0: 6564 7572 6529 2e20 286c 696e 6520 3231 edure). (line 21\n+0000d6b0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n+0000d6c0: 6c6f 7365 6420 3c37 3e3a 2020 2020 2020 losed <7>: \n+0000d6d0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000d6e0: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n+0000d6f0: 2028 6c69 6e65 2033 3029 0a2a 2043 6f6e (line 30).* Con\n+0000d700: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n+0000d710: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: \n+0000d720: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro\n+0000d730: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n+0000d740: 3235 290a 2a20 436f 6e6e 6563 7469 6f6e 25).* Connection\n+0000d750: 5f43 6c6f 7365 6420 3c39 3e3a 2020 2020 _Closed <9>: \n+0000d760: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000d770: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+0000d780: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000d790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d7c0: 2020 2020 2020 286c 696e 6520 3237 290a (line 27).\n+0000d7d0: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n+0000d7e0: 7365 6420 3c31 303e 3a20 2020 2020 2020 sed <10>: \n+0000d7f0: 2020 2020 2020 2020 2053 656e 6420 2870 Send (p\n+0000d800: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n+0000d810: 6c69 6e65 2032 3129 0a2a 2043 6f6e 6e65 line 21).* Conne\n+0000d820: 6374 696f 6e5f 5265 6675 7365 643a 2020 ction_Refused: \n+0000d830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d840: 2020 436f 6e6e 6563 7420 2870 726f 6365 Connect (proce\n+0000d850: 6475 7265 292e 2020 286c 696e 6520 3235 dure). (line 25\n+0000d860: 290a 2a20 436f 6e74 7269 6275 7469 6e67 ).* Contributing\n+0000d870: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d880: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr\n+0000d890: 6962 7574 6f72 732e 2020 2020 2020 2020 ibutors. \n+0000d8a0: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6e (line 6).* Con\n+0000d8b0: 7472 6962 7574 696e 6720 3c31 3e3a 2020 tributing <1>: \n+0000d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8d0: 2020 2020 5265 736f 7572 6365 7320 6f6e Resources on\n+0000d8e0: 2074 6865 2049 6e74 6572 6e65 742e 0a20 the Internet.. \n+0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d920: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000d930: 696e 6520 2036 290a 2a20 4352 3a20 2020 ine 6).* CR: \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 2020 2020 \n-0000d970: 286c 696e 6520 3136 290a 2a20 4372 6561 (line 16).* Crea\n-0000d980: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-0000d990: 6b65 7420 3c31 3e3a 2020 2020 2020 2020 ket <1>: \n-0000d9a0: 2020 2043 7265 6174 655f 4d75 6c74 6963 Create_Multic\n-0000d9b0: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-0000d9c0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n-0000d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d960: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+0000d970: 696f 6e29 2e20 2028 6c69 6e65 2032 3129 ion). (line 21)\n+0000d980: 0a2a 2043 5220 3c31 3e3a 2020 2020 2020 .* CR <1>: \n+0000d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d9a0: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n+0000d9b0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000d9c0: 286c 696e 6520 3138 290a 2a20 4352 203c (line 18).* CR <\n+0000d9d0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n 0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da00: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n-0000da10: 2a20 4372 6561 7465 5f4d 756c 7469 6361 * Create_Multica\n-0000da20: 7374 5f53 6f63 6b65 7420 3c32 3e3a 2020 st_Socket <2>: \n-0000da30: 2020 2020 2020 2020 2043 7265 6174 655f Create_\n-0000da40: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-0000da50: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+0000d9f0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n+0000da00: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n+0000da10: 3729 0a2a 2043 7265 6174 655f 4d75 6c74 7).* Create_Mult\n+0000da20: 6963 6173 745f 536f 636b 6574 3a20 2020 icast_Socket: \n+0000da30: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000da40: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast\n+0000da50: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n 0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000da80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da90: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000daa0: 6520 3534 290a 2a20 4372 6561 7469 6e67 e 54).* Creating\n-0000dab0: 2061 206d 756c 7469 6361 7374 2073 6f63 a multicast soc\n-0000dac0: 6b65 743a 2020 2020 2020 2020 2020 2053 ket: S\n-0000dad0: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n-0000dae0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+0000da90: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0000daa0: 3629 0a2a 2043 7265 6174 655f 4d75 6c74 6).* Create_Mult\n+0000dab0: 6963 6173 745f 536f 636b 6574 203c 313e icast_Socket <1>\n+0000dac0: 3a20 2020 2020 2020 2020 2020 4372 6561 : Crea\n+0000dad0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+0000dae0: 6b65 7420 2866 756e 6374 696f 6e29 2e0a ket (function)..\n 0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000db00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000db10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db20: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000db30: 6520 2036 290a 2a20 4372 6561 7469 6e67 e 6).* Creating\n-0000db40: 2061 206d 756c 7469 6361 7374 2073 6f63 a multicast soc\n-0000db50: 6b65 7420 3c31 3e3a 2020 2020 2020 2043 ket <1>: C\n-0000db60: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-0000db70: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n-0000db80: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000db20: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000db30: 6c69 6e65 2020 3929 0a2a 2043 7265 6174 line 9).* Creat\n+0000db40: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+0000db50: 6574 203c 323e 3a20 2020 2020 2020 2020 et <2>: \n+0000db60: 2020 4372 6561 7465 5f4d 756c 7469 6361 Create_Multica\n+0000db70: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+0000db80: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n 0000db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbc0: 2020 286c 696e 6520 2036 290a 2a20 4372 (line 6).* Cr\n-0000dbd0: 6561 7469 6e67 2061 206d 756c 7469 6361 eating a multica\n-0000dbe0: 7374 2073 6f63 6b65 7420 3c32 3e3a 2020 st socket <2>: \n-0000dbf0: 2020 2020 2043 7265 6174 655f 4d75 6c74 Create_Mult\n-0000dc00: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-0000dc10: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000dbc0: 2020 2020 2028 6c69 6e65 2037 3129 0a2a (line 71).*\n+0000dbd0: 2043 7265 6174 696e 6720 6120 6d75 6c74 Creating a mult\n+0000dbe0: 6963 6173 7420 736f 636b 6574 3a20 2020 icast socket: \n+0000dbf0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000dc00: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n+0000dc10: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \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 2020 2020 286c 696e 6520 3531 (line 51\n-0000dc60: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s\n-0000dc70: 6572 7665 723a 2020 2020 2020 2020 2020 erver: \n-0000dc80: 2020 2020 2020 2020 2020 2042 696e 6420 Bind \n-0000dc90: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n-0000dca0: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n-0000dcb0: 6174 696e 6720 6120 736f 636b 6574 3a20 ating a socket: \n+0000dc50: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000dc60: 2043 7265 6174 696e 6720 6120 6d75 6c74 Creating a mult\n+0000dc70: 6963 6173 7420 736f 636b 6574 203c 313e icast socket <1>\n+0000dc80: 3a20 2020 2020 2020 4372 6561 7465 5f4d : Create_M\n+0000dc90: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+0000dca0: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dcd0: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n-0000dce0: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n-0000dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd20: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000dd30: 6c69 6e65 2020 3629 0a2a 2043 7265 6174 line 6).* Creat\n-0000dd40: 696e 6720 6120 736f 636b 6574 203c 313e ing a socket <1>\n-0000dd50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000dd60: 2020 536f 636b 6574 2028 7072 6f63 6564 Socket (proced\n-0000dd70: 7572 6529 2e20 2020 286c 696e 6520 2036 ure). (line 6\n-0000dd80: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s\n-0000dd90: 6f63 6b65 7420 3c32 3e3a 2020 2020 2020 ocket <2>: \n-0000dda0: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n-0000ddb0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-0000ddc0: 6574 2028 6675 6e63 7469 6f6e 292e 0a20 et (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 2020 2020 286c (l\n-0000de10: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-0000de20: 6e67 2061 2073 6f63 6b65 7420 3c33 3e3a ng a socket <3>:\n+0000dcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dce0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000dcf0: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating \n+0000dd00: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock\n+0000dd10: 6574 203c 323e 3a20 2020 2020 2020 4372 et <2>: Cr\n+0000dd20: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+0000dd30: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+0000dd40: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000dd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd80: 2028 6c69 6e65 2036 3829 0a2a 2043 7265 (line 68).* Cre\n+0000dd90: 6174 696e 6720 6120 7365 7276 6572 3a20 ating a server: \n+0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddb0: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n+0000ddc0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+0000ddd0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000dde0: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n+0000ddf0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+0000de00: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n+0000de10: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n+0000de20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000de30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de40: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-0000de50: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-0000de60: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \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: 2020 2020 286c 696e 6520 3531 290a 2a20 (line 51).* \n-0000deb0: 4372 6561 7469 6e67 2061 2054 4350 2073 Creating a TCP s\n-0000dec0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000ded0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-0000dee0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-0000def0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000de40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de50: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000de60: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s\n+0000de70: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020 ocket <1>: \n+0000de80: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+0000de90: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+0000dea0: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n+0000deb0: 6174 696e 6720 6120 736f 636b 6574 203c ating a socket <\n+0000dec0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0000ded0: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi\n+0000dee0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n+0000def0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n 0000df00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000df20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df30: 2020 286c 696e 6520 2036 290a 2a20 4372 (line 6).* Cr\n-0000df40: 6561 7469 6e67 2061 2055 4450 2073 6f63 eating a UDP soc\n-0000df50: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n-0000df60: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-0000df70: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n-0000df80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000df30: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000df40: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so\n+0000df50: 636b 6574 203c 333e 3a20 2020 2020 2020 cket <3>: \n+0000df60: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+0000df70: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+0000df80: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. \n 0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfc0: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n-0000dfd0: 7469 6e67 2061 2075 6e69 6361 7374 2073 ting a unicast s\n-0000dfe0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000dff0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-0000e000: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n-0000e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000dfd0: 6e65 2036 3829 0a2a 2043 7265 6174 696e ne 68).* Creatin\n+0000dfe0: 6720 6120 5443 5020 736f 636b 6574 3a20 g a TCP socket: \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e000: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+0000e010: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n 0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e040: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000e050: 696e 6520 2036 290a 2a20 4573 7461 626c ine 6).* Establ\n-0000e060: 6973 6869 6e67 2061 206c 6973 7465 6e20 ishing a listen \n-0000e070: 7175 6575 653a 2020 2020 2020 2020 2020 queue: \n-0000e080: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n-0000e090: 7265 292e 2020 2028 6c69 6e65 2020 3629 re). (line 6)\n-0000e0a0: 0a2a 2046 696e 6469 6e67 2041 6461 536f .* Finding AdaSo\n-0000e0b0: 636b 6574 7320 6f6e 2074 6865 2049 6e74 ckets on the Int\n-0000e0c0: 6572 6e65 743a 2020 2020 5265 736f 7572 ernet: Resour\n-0000e0d0: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n-0000e0e0: 6e65 742e 0a20 2020 2020 2020 2020 2020 net.. \n-0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e120: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000e130: 4765 743a 2020 2020 2020 2020 2020 2020 Get: \n+0000e040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e050: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e060: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating \n+0000e070: 6120 5544 5020 736f 636b 6574 3a20 2020 a UDP socket: \n+0000e080: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000e090: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n+0000e0a0: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n+0000e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000e0f0: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000e100: 756e 6963 6173 7420 736f 636b 6574 3a20 unicast socket: \n+0000e110: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000e120: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+0000e130: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n 0000e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e150: 2020 2020 2020 2047 6574 2028 6675 6e63 Get (func\n-0000e160: 7469 6f6e 292e 2020 2020 2020 2028 6c69 tion). (li\n-0000e170: 6e65 2020 3929 0a2a 2047 6574 5f43 6861 ne 9).* Get_Cha\n-0000e180: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-0000e190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1a0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-0000e1b0: 6f6e 292e 2020 286c 696e 6520 2039 290a on). (line 9).\n-0000e1c0: 2a20 4765 745f 4c69 6e65 3a20 2020 2020 * Get_Line: \n-0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1e0: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n-0000e1f0: 6520 2866 756e 6374 696f 6e29 2e20 2028 e (function). (\n-0000e200: 6c69 6e65 2020 3929 0a2a 2047 6574 5f4c line 9).* Get_L\n-0000e210: 696e 6520 3c31 3e3a 2020 2020 2020 2020 ine <1>: \n+0000e150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e170: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000e180: 0a2a 2045 7374 6162 6c69 7368 696e 6720 .* Establishing \n+0000e190: 6120 6c69 7374 656e 2071 7565 7565 3a20 a listen queue: \n+0000e1a0: 2020 2020 2020 2020 2020 4c69 7374 656e Listen\n+0000e1b0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000e1c0: 286c 696e 6520 2036 290a 2a20 4669 6e64 (line 6).* Find\n+0000e1d0: 696e 6720 4164 6153 6f63 6b65 7473 206f ing AdaSockets o\n+0000e1e0: 6e20 7468 6520 496e 7465 726e 6574 3a20 n the Internet: \n+0000e1f0: 2020 2052 6573 6f75 7263 6573 206f 6e20 Resources on \n+0000e200: 7468 6520 496e 7465 726e 6574 2e0a 2020 the Internet.. \n+0000e210: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e230: 2020 4765 745f 4c69 6e65 2028 7072 6f63 Get_Line (proc\n-0000e240: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9\n-0000e250: 290a 2a20 4765 745f 5065 6572 5f41 6464 ).* Get_Peer_Add\n-0000e260: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-0000e270: 2020 2020 2020 2020 2020 2047 6574 5f50 Get_P\n-0000e280: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n-0000e290: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n-0000e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e240: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e250: 6e65 2020 3629 0a2a 2047 6574 3a20 2020 ne 6).* Get: \n+0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e280: 4765 7420 2866 756e 6374 696f 6e29 2e20 Get (function). \n+0000e290: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000e2a0: 2a20 4765 745f 4368 6172 3a20 2020 2020 * Get_Char: \n 0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2d0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000e2e0: 4765 745f 5065 6572 5f50 6f72 743a 2020 Get_Peer_Port: \n-0000e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e300: 2020 2020 2020 2047 6574 5f50 6565 725f Get_Peer_\n-0000e310: 506f 7274 2028 6675 6e63 7469 6f6e 292e Port (function).\n-0000e320: 0a20 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 2020 2020 \n-0000e360: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n-0000e370: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n-0000e380: 7a65 3a20 2020 2020 2020 2020 2020 2020 ze: \n-0000e390: 2020 2047 6574 5f52 6563 6569 7665 5f51 Get_Receive_Q\n-0000e3a0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-0000e3b0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000e2c0: 2020 2020 2020 2020 2047 6574 5f43 6861 Get_Cha\n+0000e2d0: 7220 2866 756e 6374 696f 6e29 2e20 2028 r (function). (\n+0000e2e0: 6c69 6e65 2020 3929 0a2a 2047 6574 5f4c line 9).* Get_L\n+0000e2f0: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n+0000e300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e310: 2020 4765 745f 4c69 6e65 2028 6675 6e63 Get_Line (func\n+0000e320: 7469 6f6e 292e 2020 286c 696e 6520 2039 tion). (line 9\n+0000e330: 290a 2a20 4765 745f 4c69 6e65 203c 313e ).* Get_Line <1>\n+0000e340: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e350: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n+0000e360: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n+0000e370: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get\n+0000e380: 5f50 6565 725f 4164 6472 3a20 2020 2020 _Peer_Addr: \n+0000e390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3a0: 2020 2020 4765 745f 5065 6572 5f41 6464 Get_Peer_Add\n+0000e3b0: 7220 2866 756e 6374 696f 6e29 2e0a 2020 r (function).. \n 0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e3f0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000e400: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n-0000e410: 5369 7a65 3a20 2020 2020 2020 2020 2020 Size: \n-0000e420: 2020 2020 2020 2020 4765 745f 5365 6e64 Get_Send\n-0000e430: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-0000e440: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n+0000e3f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e400: 6e65 2020 3929 0a2a 2047 6574 5f50 6565 ne 9).* Get_Pee\n+0000e410: 725f 506f 7274 3a20 2020 2020 2020 2020 r_Port: \n+0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e430: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f\n+0000e440: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n 0000e450: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e480: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n-0000e490: 0a2a 2047 6574 5f53 6f63 6b5f 4164 6472 .* Get_Sock_Addr\n-0000e4a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e4b0: 2020 2020 2020 2020 2020 4765 745f 536f Get_So\n-0000e4c0: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n-0000e4d0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+0000e480: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000e490: 3929 0a2a 2047 6574 5f52 6563 6569 7665 9).* Get_Receive\n+0000e4a0: 5f51 7565 7565 5f53 697a 653a 2020 2020 _Queue_Size: \n+0000e4b0: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n+0000e4c0: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n+0000e4d0: 7a65 2028 6675 6e63 7469 6f6e 292e 0a20 ze (function).. \n 0000e4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e510: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n-0000e520: 6574 5f53 6f63 6b5f 506f 7274 3a20 2020 et_Sock_Port: \n-0000e530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e540: 2020 2020 2020 4765 745f 536f 636b 5f50 Get_Sock_P\n-0000e550: 6f72 7420 2866 756e 6374 696f 6e29 2e0a ort (function)..\n-0000e560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e510: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000e520: 696e 6520 2039 290a 2a20 4765 745f 5365 ine 9).* Get_Se\n+0000e530: 6e64 5f51 7565 7565 5f53 697a 653a 2020 nd_Queue_Size: \n+0000e540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e550: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n+0000e560: 5369 7a65 2028 6675 6e63 7469 6f6e 292e Size (function).\n+0000e570: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e590: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e5a0: 6c69 6e65 2020 3929 0a2a 2047 6574 736f line 9).* Getso\n-0000e5b0: 636b 6f70 743a 2020 2020 2020 2020 2020 ckopt: \n-0000e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e5d0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-0000e5e0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000e5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5b0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n+0000e5c0: 536f 636b 5f41 6464 723a 2020 2020 2020 Sock_Addr: \n+0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5e0: 2020 2047 6574 5f53 6f63 6b5f 4164 6472 Get_Sock_Addr\n+0000e5f0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 0000e600: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e620: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000e630: 3929 0a2a 2047 726f 7570 2063 6f6d 6d75 9).* Group commu\n-0000e640: 6e69 6361 7469 6f6e 3a20 2020 2020 2020 nication: \n-0000e650: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n-0000e660: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast\n-0000e670: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-0000e680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e630: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e640: 6520 2039 290a 2a20 4765 745f 536f 636b e 9).* Get_Sock\n+0000e650: 5f50 6f72 743a 2020 2020 2020 2020 2020 _Port: \n+0000e660: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e670: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n+0000e680: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n 0000e690: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6b0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000e6c0: 3629 0a2a 2048 616e 646c 696e 6720 6120 6).* Handling a \n-0000e6d0: 6e65 7720 636f 6e6e 6563 7469 6f6e 3a20 new connection: \n-0000e6e0: 2020 2020 2020 2020 2020 2020 4163 6365 Acce\n-0000e6f0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-0000e700: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000e710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6c0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000e6d0: 290a 2a20 4765 7473 6f63 6b6f 7074 3a20 ).* Getsockopt: \n+0000e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6f0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+0000e700: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+0000e710: 292e 0a20 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 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000e750: 2a20 486f 7374 5f45 6e74 7279 3a20 2020 * Host_Entry: \n-0000e760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e770: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n-0000e780: 2e4e 616d 696e 6720 7061 636b 6167 652e .Naming package.\n-0000e790: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e750: 2020 286c 696e 6520 2039 290a 2a20 4772 (line 9).* Gr\n+0000e760: 6f75 7020 636f 6d6d 756e 6963 6174 696f oup communicatio\n+0000e770: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+0000e780: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000e790: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000e7a0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n 0000e7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7d0: 286c 696e 6520 3234 290a 2a20 486f 7374 (line 24).* Host\n-0000e7e0: 5f4e 616d 653a 2020 2020 2020 2020 2020 _Name: \n-0000e7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e800: 2020 2048 6f73 745f 4e61 6d65 2028 6675 Host_Name (fu\n-0000e810: 6e63 7469 6f6e 292e 2028 6c69 6e65 2020 nction). (line \n-0000e820: 3929 0a2a 2049 6d61 6765 3a20 2020 2020 9).* Image: \n+0000e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7e0: 2020 286c 696e 6520 2036 290a 2a20 4861 (line 6).* Ha\n+0000e7f0: 6e64 6c69 6e67 2061 206e 6577 2063 6f6e ndling a new con\n+0000e800: 6e65 6374 696f 6e3a 2020 2020 2020 2020 nection: \n+0000e810: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock\n+0000e820: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure)..\n 0000e830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e840: 2020 2020 2020 2020 2020 2020 496d 6167 Imag\n-0000e850: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n-0000e860: 2020 286c 696e 6520 2039 290a 2a20 496e (line 9).* In\n-0000e870: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n-0000e880: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e890: 2020 2020 2049 6e66 6f5f 4f66 5f4e 616d Info_Of_Nam\n-0000e8a0: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n-0000e8b0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+0000e840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e860: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000e870: 6c69 6e65 2020 3629 0a2a 2048 6f73 745f line 6).* Host_\n+0000e880: 456e 7472 793a 2020 2020 2020 2020 2020 Entry: \n+0000e890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8a0: 2020 536f 636b 6574 732e 4e61 6d69 6e67 Sockets.Naming\n+0000e8b0: 2070 6163 6b61 6765 2e0a 2020 2020 2020 package.. \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 2020 \n-0000e8f0: 2020 2028 6c69 6e65 2020 3929 0a2a 2049 (line 9).* I\n-0000e900: 6e73 7461 6c6c 696e 6720 4164 6153 6f63 nstalling AdaSoc\n-0000e910: 6b65 7473 3a20 2020 2020 2020 2020 2020 kets: \n-0000e920: 2020 2020 2020 496e 7374 616c 6c69 6e67 Installing\n-0000e930: 2041 6461 536f 636b 6574 732e 0a20 2020 AdaSockets.. \n-0000e940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8f0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000e900: 3429 0a2a 2048 6f73 745f 4e61 6d65 3a20 4).* Host_Name: \n+0000e910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e920: 2020 2020 2020 2020 2020 2020 486f 7374 Host\n+0000e930: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n+0000e940: 2e20 286c 696e 6520 2039 290a 2a20 496d . (line 9).* Im\n+0000e950: 6167 653a 2020 2020 2020 2020 2020 2020 age: \n 0000e960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e970: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000e980: 6520 2036 290a 2a20 4950 5f41 4444 5f4d e 6).* IP_ADD_M\n-0000e990: 454d 4245 5253 4849 503a 2020 2020 2020 EMBERSHIP: \n-0000e9a0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000e9b0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000e9c0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e970: 2020 2020 2049 6d61 6765 2028 6675 6e63 Image (func\n+0000e980: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n+0000e990: 2020 3929 0a2a 2049 6e66 6f5f 4f66 5f4e 9).* Info_Of_N\n+0000e9a0: 616d 655f 4f72 5f49 503a 2020 2020 2020 ame_Or_IP: \n+0000e9b0: 2020 2020 2020 2020 2020 2020 2020 496e In\n+0000e9c0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n+0000e9d0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea00: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000ea10: 2a20 4950 5f41 4444 5f4d 454d 4245 5253 * IP_ADD_MEMBERS\n-0000ea20: 4849 5020 3c31 3e3a 2020 2020 2020 2020 HIP <1>: \n-0000ea30: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-0000ea40: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000ea50: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea10: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000ea20: 6520 2039 290a 2a20 496e 7374 616c 6c69 e 9).* Installi\n+0000ea30: 6e67 2041 6461 536f 636b 6574 733a 2020 ng AdaSockets: \n+0000ea40: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+0000ea50: 6e73 7461 6c6c 696e 6720 4164 6153 6f63 nstalling AdaSoc\n+0000ea60: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n 0000ea70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea90: 286c 696e 6520 3230 290a 2a20 4950 5f44 (line 20).* IP_D\n-0000eaa0: 524f 505f 4d45 4d42 4552 5348 4950 3a20 ROP_MEMBERSHIP: \n-0000eab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eac0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-0000ead0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eaa0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000eab0: 2049 505f 4144 445f 4d45 4d42 4552 5348 IP_ADD_MEMBERSH\n+0000eac0: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: \n+0000ead0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+0000eae0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 0000eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb10: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000eb20: 3230 290a 2a20 4950 5f44 524f 505f 4d45 20).* IP_DROP_ME\n-0000eb30: 4d42 4552 5348 4950 203c 313e 3a20 2020 MBERSHIP <1>: \n-0000eb40: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-0000eb50: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000eb60: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000eb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb20: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000eb30: 6c69 6e65 2032 3029 0a2a 2049 505f 4144 line 20).* IP_AD\n+0000eb40: 445f 4d45 4d42 4552 5348 4950 203c 313e D_MEMBERSHIP <1>\n+0000eb50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000eb60: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+0000eb70: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 0000eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eba0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-0000ebb0: 4950 5f4d 554c 5449 4341 5354 5f4c 4f4f IP_MULTICAST_LOO\n-0000ebc0: 503a 2020 2020 2020 2020 2020 2020 2020 P: \n-0000ebd0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n-0000ebe0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-0000ebf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ec00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ebb0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000ebc0: 3029 0a2a 2049 505f 4452 4f50 5f4d 454d 0).* IP_DROP_MEM\n+0000ebd0: 4245 5253 4849 503a 2020 2020 2020 2020 BERSHIP: \n+0000ebe0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+0000ebf0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+0000ec00: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ec20: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000ec30: 696e 6520 3230 290a 2a20 4950 5f4d 554c ine 20).* IP_MUL\n-0000ec40: 5449 4341 5354 5f4c 4f4f 5020 3c31 3e3a TICAST_LOOP <1>:\n-0000ec50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ec60: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-0000ec70: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000ec80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec40: 2020 2028 6c69 6e65 2032 3029 0a2a 2049 (line 20).* I\n+0000ec50: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI\n+0000ec60: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: \n+0000ec70: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+0000ec80: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000ec90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ecb0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000ecc0: 290a 2a20 4950 5f4d 554c 5449 4341 5354 ).* IP_MULTICAST\n-0000ecd0: 5f54 544c 3a20 2020 2020 2020 2020 2020 _TTL: \n-0000ece0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n-0000ecf0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000ed00: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000ecd0: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54 ne 20).* IP_MULT\n+0000ece0: 4943 4153 545f 4c4f 4f50 3a20 2020 2020 ICAST_LOOP: \n+0000ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed00: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+0000ed10: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed40: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n-0000ed50: 5f4d 554c 5449 4341 5354 5f54 544c 203c _MULTICAST_TTL <\n-0000ed60: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000ed70: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n-0000ed80: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000ed90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed50: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+0000ed60: 0a2a 2049 505f 4d55 4c54 4943 4153 545f .* IP_MULTICAST_\n+0000ed70: 4c4f 4f50 203c 313e 3a20 2020 2020 2020 LOOP <1>: \n+0000ed80: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n+0000ed90: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000eda0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000edc0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000edd0: 6520 3230 290a 2a20 4950 5052 4f54 4f5f e 20).* IPPROTO_\n-0000ede0: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: \n-0000edf0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000ee00: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000ee10: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000ee20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ede0: 2028 6c69 6e65 2032 3029 0a2a 2049 505f (line 20).* IP_\n+0000edf0: 4d55 4c54 4943 4153 545f 5454 4c3a 2020 MULTICAST_TTL: \n+0000ee00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee10: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+0000ee20: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ee40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ee50: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000ee60: 2a20 4950 5052 4f54 4f5f 4950 203c 313e * IPPROTO_IP <1>\n-0000ee70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000ee80: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-0000ee90: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000eea0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee60: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000ee70: 2032 3029 0a2a 2049 505f 4d55 4c54 4943 20).* IP_MULTIC\n+0000ee80: 4153 545f 5454 4c20 3c31 3e3a 2020 2020 AST_TTL <1>: \n+0000ee90: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000eea0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000eeb0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eee0: 286c 696e 6520 3230 290a 2a20 4973 5f49 (line 20).* Is_I\n-0000eef0: 505f 4164 6472 6573 733a 2020 2020 2020 P_Address: \n-0000ef00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef10: 2020 2049 735f 4950 5f41 6464 7265 7373 Is_IP_Address\n-0000ef20: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-0000ef30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eef0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+0000ef00: 2049 5050 524f 544f 5f49 503a 2020 2020 IPPROTO_IP: \n+0000ef10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef20: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+0000ef30: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef60: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000ef70: 6520 2039 290a 2a20 4c46 3a20 2020 2020 e 9).* LF: \n-0000ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef90: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000efa0: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-0000efb0: 6e29 2e20 2028 6c69 6e65 2032 3129 0a2a n). (line 21).*\n-0000efc0: 204c 4620 3c31 3e3a 2020 2020 2020 2020 LF <1>: \n+0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef70: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000ef80: 6c69 6e65 2032 3029 0a2a 2049 5050 524f line 20).* IPPRO\n+0000ef90: 544f 5f49 5020 3c31 3e3a 2020 2020 2020 TO_IP <1>: \n+0000efa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000efb0: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+0000efc0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000efe0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000eff0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000f000: 696e 6520 3138 290a 2a20 4c46 203c 323e ine 18).* LF <2>\n-0000f010: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f030: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n-0000f040: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17)\n-0000f050: 0a2a 204c 6973 7465 6e3a 2020 2020 2020 .* Listen: \n+0000efe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f000: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000f010: 3029 0a2a 2049 735f 4950 5f41 6464 7265 0).* Is_IP_Addre\n+0000f020: 7373 3a20 2020 2020 2020 2020 2020 2020 ss: \n+0000f030: 2020 2020 2020 2020 2020 2020 4973 5f49 Is_I\n+0000f040: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct\n+0000f050: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n 0000f060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f070: 2020 2020 2020 2020 2020 4c69 7374 656e Listen\n-0000f080: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000f090: 286c 696e 6520 2039 290a 2a20 4c69 7374 (line 9).* List\n-0000f0a0: 656e 2071 7565 7565 3a20 2020 2020 2020 en queue: \n+0000f070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f090: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000f0a0: 204c 463a 2020 2020 2020 2020 2020 2020 LF: \n 0000f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f0c0: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce\n-0000f0d0: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n-0000f0e0: 3629 0a2a 204d 616e 6970 756c 6174 696e 6).* Manipulatin\n-0000f0f0: 6720 736f 636b 6574 206f 7074 696f 6e73 g socket options\n-0000f100: 3a20 2020 2020 2020 2020 2020 4765 7473 : Gets\n-0000f110: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000f120: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000f130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f0c0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+0000f0d0: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000f0e0: 696e 6520 3231 290a 2a20 4c46 203c 313e ine 21).* LF <1>\n+0000f0f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f110: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+0000f120: 6475 7265 292e 2028 6c69 6e65 2031 3829 dure). (line 18)\n+0000f130: 0a2a 204c 4620 3c32 3e3a 2020 2020 2020 .* LF <2>: \n 0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f160: 2020 2028 6c69 6e65 2020 3629 0a2a 204d (line 6).* M\n-0000f170: 616e 6970 756c 6174 696e 6720 736f 636b anipulating sock\n-0000f180: 6574 206f 7074 696f 6e73 203c 313e 3a20 et options <1>: \n-0000f190: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n-0000f1a0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \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 2020 2020 2028 6c69 (li\n-0000f1f0: 6e65 2020 3629 0a2a 204d 626f 6e65 3a20 ne 6).* Mbone: \n-0000f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f220: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-0000f230: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n-0000f240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f150: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n+0000f160: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000f170: 286c 696e 6520 3137 290a 2a20 4c69 7374 (line 17).* List\n+0000f180: 656e 3a20 2020 2020 2020 2020 2020 2020 en: \n+0000f190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1a0: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce\n+0000f1b0: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n+0000f1c0: 3929 0a2a 204c 6973 7465 6e20 7175 6575 9).* Listen queu\n+0000f1d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0000f1e0: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n+0000f1f0: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). \n+0000f200: 2020 286c 696e 6520 2036 290a 2a20 4d61 (line 6).* Ma\n+0000f210: 6e69 7075 6c61 7469 6e67 2073 6f63 6b65 nipulating socke\n+0000f220: 7420 6f70 7469 6f6e 733a 2020 2020 2020 t options: \n+0000f230: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+0000f240: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 0000f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f270: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000f280: 6e65 2020 3629 0a2a 204d 756c 7469 6361 ne 6).* Multica\n-0000f290: 7374 2073 6f63 6b65 7473 3a20 2020 2020 st sockets: \n-0000f2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2b0: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-0000f2c0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n-0000f2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f280: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000f290: 6520 2036 290a 2a20 4d61 6e69 7075 6c61 e 6).* Manipula\n+0000f2a0: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti\n+0000f2b0: 6f6e 7320 3c31 3e3a 2020 2020 2020 2053 ons <1>: S\n+0000f2c0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+0000f2d0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n 0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f300: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000f310: 6e65 2020 3629 0a2a 204d 756c 7469 6361 ne 6).* Multica\n-0000f320: 7374 5f53 6f63 6b65 745f 4644 3a20 2020 st_Socket_FD: \n+0000f300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f310: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000f320: 2a20 4d62 6f6e 653a 2020 2020 2020 2020 * Mbone: \n 0000f330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f340: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-0000f350: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n-0000f360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f340: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000f350: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000f360: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n 0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f390: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000f3a0: 6e65 2031 3629 0a2a 204d 756c 7469 6361 ne 16).* Multica\n-0000f3b0: 7374 5f53 6f63 6b65 745f 4644 203c 313e st_Socket_FD <1>\n-0000f3c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f3d0: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n-0000f3e0: 7420 7061 636b 6167 652e 0a20 2020 2020 t package.. \n-0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000f3b0: 2a20 4d75 6c74 6963 6173 7420 736f 636b * Multicast sock\n+0000f3c0: 6574 733a 2020 2020 2020 2020 2020 2020 ets: \n+0000f3d0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000f3e0: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000f3f0: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n 0000f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f420: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000f430: 2038 290a 2a20 4e61 6d65 5f4f 663a 2020 8).* Name_Of: \n-0000f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f450: 2020 2020 2020 2020 2020 2020 204e 616d Nam\n-0000f460: 655f 4f66 2028 6675 6e63 7469 6f6e 292e e_Of (function).\n-0000f470: 2020 2028 6c69 6e65 2020 3929 0a2a 204e (line 9).* N\n-0000f480: 616d 696e 675f 4572 726f 723a 2020 2020 aming_Error: \n+0000f420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f430: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000f440: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock\n+0000f450: 6574 5f46 443a 2020 2020 2020 2020 2020 et_FD: \n+0000f460: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000f470: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000f480: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n 0000f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4a0: 2020 2020 2020 4164 6472 6573 735f 4f66 Address_Of\n-0000f4b0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \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 2020 2020 286c 696e (lin\n-0000f500: 6520 3231 290a 2a20 4e61 6d69 6e67 5f45 e 21).* Naming_E\n-0000f510: 7272 6f72 203c 313e 3a20 2020 2020 2020 rror <1>: \n-0000f520: 2020 2020 2020 2020 2020 2020 2020 2049 I\n-0000f530: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n-0000f540: 5020 2866 756e 6374 696f 6e29 2e0a 2020 P (function).. \n-0000f550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4c0: 2020 2020 2020 286c 696e 6520 3136 290a (line 16).\n+0000f4d0: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock\n+0000f4e0: 6574 5f46 4420 3c31 3e3a 2020 2020 2020 et_FD <1>: \n+0000f4f0: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n+0000f500: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+0000f510: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. \n+0000f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f550: 2020 2028 6c69 6e65 2020 3829 0a2a 204e (line 8).* N\n+0000f560: 616d 655f 4f66 3a20 2020 2020 2020 2020 ame_Of: \n 0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f580: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000f590: 6e65 2032 3529 0a2a 204e 616d 696e 675f ne 25).* Naming_\n-0000f5a0: 4572 726f 7220 3c32 3e3a 2020 2020 2020 Error <2>: \n-0000f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5c0: 4e61 6d65 5f4f 6620 2866 756e 6374 696f Name_Of (functio\n-0000f5d0: 6e29 2e20 2020 286c 696e 6520 3230 290a n). (line 20).\n-0000f5e0: 2a20 4e65 775f 4c69 6e65 3a20 2020 2020 * New_Line: \n+0000f580: 2020 2020 2020 4e61 6d65 5f4f 6620 2866 Name_Of (f\n+0000f590: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n+0000f5a0: 6520 2039 290a 2a20 4e61 6d69 6e67 5f45 e 9).* Naming_E\n+0000f5b0: 7272 6f72 3a20 2020 2020 2020 2020 2020 rror: \n+0000f5c0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0000f5d0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000f5e0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n 0000f5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f600: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin\n-0000f610: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n-0000f620: 6c69 6e65 2020 3929 0a2a 2050 465f 494e line 9).* PF_IN\n-0000f630: 4554 3a20 2020 2020 2020 2020 2020 2020 ET: \n-0000f640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f650: 2020 536f 636b 6574 2028 7072 6f63 6564 Socket (proced\n-0000f660: 7572 6529 2e20 2020 286c 696e 6520 3139 ure). (line 19\n-0000f670: 290a 2a20 5075 743a 2020 2020 2020 2020 ).* Put: \n+0000f600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f620: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n+0000f630: 204e 616d 696e 675f 4572 726f 7220 3c31 Naming_Error <1\n+0000f640: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f650: 2020 2020 2020 2020 496e 666f 5f4f 665f Info_Of_\n+0000f660: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n+0000f670: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f690: 2020 2020 2020 2020 2020 2050 7574 2028 Put (\n-0000f6a0: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n-0000f6b0: 2028 6c69 6e65 2020 3929 0a2a 2050 7574 (line 9).* Put\n-0000f6c0: 5f4c 696e 653a 2020 2020 2020 2020 2020 _Line: \n-0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6e0: 2020 2020 5075 745f 4c69 6e65 2028 7072 Put_Line (pr\n-0000f6f0: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000f700: 2039 290a 2a20 5261 7720 6461 7461 206d 9).* Raw data m\n-0000f710: 616e 6970 756c 6174 696f 6e3a 2020 2020 anipulation: \n-0000f720: 2020 2020 2020 2020 2020 2020 2052 6177 Raw\n-0000f730: 2064 6174 6120 6d61 6e69 7075 6c61 7469 data manipulati\n-0000f740: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. \n-0000f750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6b0: 2020 2020 2020 286c 696e 6520 3235 290a (line 25).\n+0000f6c0: 2a20 4e61 6d69 6e67 5f45 7272 6f72 203c * Naming_Error <\n+0000f6d0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0000f6e0: 2020 2020 2020 2020 204e 616d 655f 4f66 Name_Of\n+0000f6f0: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n+0000f700: 6c69 6e65 2032 3029 0a2a 204e 6577 5f4c line 20).* New_L\n+0000f710: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n+0000f720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f730: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc\n+0000f740: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9\n+0000f750: 290a 2a20 5046 5f49 4e45 543a 2020 2020 ).* PF_INET: \n 0000f760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f780: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-0000f790: 6563 6569 7665 3a20 2020 2020 2020 2020 eceive: \n-0000f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7b0: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n-0000f7c0: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-0000f7d0: 6520 2039 290a 2a20 5265 6365 6976 6520 e 9).* Receive \n-0000f7e0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000f800: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-0000f810: 6529 2e20 2028 6c69 6e65 2020 3929 0a2a e). (line 9).*\n-0000f820: 2052 6563 6569 7665 203c 323e 3a20 2020 Receive <2>: \n-0000f830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f840: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n-0000f850: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000f860: 696e 6520 3137 290a 2a20 5265 6365 6976 ine 17).* Receiv\n-0000f870: 655f 536f 6d65 3a20 2020 2020 2020 2020 e_Some: \n+0000f770: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+0000f780: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+0000f790: 2028 6c69 6e65 2031 3929 0a2a 2050 7574 (line 19).* Put\n+0000f7a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f7c0: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu\n+0000f7d0: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line \n+0000f7e0: 2039 290a 2a20 5075 745f 4c69 6e65 3a20 9).* Put_Line: \n+0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f800: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+0000f810: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+0000f820: 292e 2028 6c69 6e65 2020 3929 0a2a 2052 ). (line 9).* R\n+0000f830: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n+0000f840: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n+0000f850: 2020 2020 2020 5261 7720 6461 7461 206d Raw data m\n+0000f860: 616e 6970 756c 6174 696f 6e2e 0a20 2020 anipulation.. \n+0000f870: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f890: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n-0000f8a0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8a0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000f8b0: 6520 2036 290a 2a20 5265 6365 6976 653a e 6).* Receive:\n 0000f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8e0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000f8f0: 2039 290a 2a20 5265 6365 6976 696e 6720 9).* Receiving \n-0000f900: 6461 7461 3a20 2020 2020 2020 2020 2020 data: \n-0000f910: 2020 2020 2020 2020 2020 2020 2053 656e Sen\n-0000f920: 6469 6e67 2061 6e64 2072 6563 6569 7669 ding and receivi\n-0000f930: 6e67 2064 6174 612e 0a20 2020 2020 2020 ng data.. \n-0000f940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8d0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000f8e0: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+0000f8f0: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n+0000f900: 2052 6563 6569 7665 203c 313e 3a20 2020 Receive <1>: \n+0000f910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f920: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n+0000f930: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+0000f940: 696e 6520 2039 290a 2a20 5265 6365 6976 ine 9).* Receiv\n+0000f950: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n 0000f960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f970: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000f980: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n-0000f990: 7461 203c 313e 3a20 2020 2020 2020 2020 ta <1>: \n-0000f9a0: 2020 2020 2020 2020 2020 2047 6574 2028 Get (\n-0000f9b0: 6675 6e63 7469 6f6e 292e 2020 2020 2020 function). \n-0000f9c0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-0000f9d0: 6569 7669 6e67 2064 6174 6120 3c32 3e3a eiving data <2>:\n+0000f970: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n+0000f980: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17)\n+0000f990: 0a2a 2052 6563 6569 7665 5f53 6f6d 653a .* Receive_Some:\n+0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9b0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n+0000f9c0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+0000f9d0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 0000f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9f0: 2020 2020 4765 745f 4368 6172 2028 6675 Get_Char (fu\n-0000fa00: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n-0000fa10: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000fa20: 6461 7461 203c 333e 3a20 2020 2020 2020 data <3>: \n-0000fa30: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000fa40: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n-0000fa50: 2e20 2028 6c69 6e65 2020 3629 0a2a 2052 . (line 6).* R\n-0000fa60: 6563 6569 7669 6e67 2064 6174 6120 3c34 eceiving data <4\n-0000fa70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000fa80: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n-0000fa90: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000faa0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n-0000fab0: 6720 6461 7461 203c 353e 3a20 2020 2020 g data <5>: \n-0000fac0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000fad0: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-0000fae0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-0000faf0: 2e0a 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 2020 2020 \n-0000fb30: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-0000fb40: 6569 7669 6e67 2064 6174 6120 3c36 3e3a eiving data <6>:\n-0000fb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb60: 2020 2020 5265 6365 6976 6520 2866 756e Receive (fun\n-0000fb70: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n-0000fb80: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000fb90: 6461 7461 203c 373e 3a20 2020 2020 2020 data <7>: \n-0000fba0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n-0000fbb0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n-0000fbc0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2052 . (line 6).* R\n-0000fbd0: 6563 6569 7669 6e67 2064 6174 6120 3c38 eceiving data <8\n-0000fbe0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000fbf0: 2020 2020 2020 5265 6365 6976 655f 536f Receive_So\n-0000fc00: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\n-0000fc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa10: 2020 2028 6c69 6e65 2020 3929 0a2a 2052 (line 9).* R\n+0000fa20: 6563 6569 7669 6e67 2064 6174 613a 2020 eceiving data: \n+0000fa30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa40: 2020 2020 2020 5365 6e64 696e 6720 616e Sending an\n+0000fa50: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data\n+0000fa60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000fa70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000faa0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fab0: 6569 7669 6e67 2064 6174 6120 3c31 3e3a eiving data <1>:\n+0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fad0: 2020 2020 4765 7420 2866 756e 6374 696f Get (functio\n+0000fae0: 6e29 2e20 2020 2020 2020 286c 696e 6520 n). (line \n+0000faf0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000fb00: 6461 7461 203c 323e 3a20 2020 2020 2020 data <2>: \n+0000fb10: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000fb20: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+0000fb30: 2e20 2028 6c69 6e65 2020 3629 0a2a 2052 . (line 6).* R\n+0000fb40: 6563 6569 7669 6e67 2064 6174 6120 3c33 eceiving data <3\n+0000fb50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000fb60: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000fb70: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n+0000fb80: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n+0000fb90: 6720 6461 7461 203c 343e 3a20 2020 2020 g data <4>: \n+0000fba0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000fbb0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+0000fbc0: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).*\n+0000fbd0: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n+0000fbe0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n+0000fbf0: 2020 2020 2020 2020 4765 745f 5265 6365 Get_Rece\n+0000fc00: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n+0000fc10: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n 0000fc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc40: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000fc50: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n-0000fc60: 7669 6e67 2064 6174 6120 3c39 3e3a 2020 ving data <9>: \n-0000fc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc80: 2020 5365 745f 4275 6666 6572 2028 7072 Set_Buffer (pr\n-0000fc90: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000fca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcd0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000fce0: 3629 0a2a 2052 6563 6569 7669 6e67 2064 6).* Receiving d\n-0000fcf0: 6174 6120 3c31 303e 3a20 2020 2020 2020 ata <10>: \n-0000fd00: 2020 2020 2020 2020 2020 2020 556e 7365 Unse\n-0000fd10: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-0000fd20: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000fd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc50: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000fc60: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000fc70: 6461 7461 203c 363e 3a20 2020 2020 2020 data <6>: \n+0000fc80: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000fc90: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n+0000fca0: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n+0000fcb0: 6563 6569 7669 6e67 2064 6174 6120 3c37 eceiving data <7\n+0000fcc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000fcd0: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p\n+0000fce0: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+0000fcf0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n+0000fd00: 6720 6461 7461 203c 383e 3a20 2020 2020 g data <8>: \n+0000fd10: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000fd20: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+0000fd30: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 0000fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd60: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000fd70: 2052 6570 6f72 7469 6e67 2061 2062 7567 Reporting a bug\n-0000fd80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000fd90: 2020 2020 2020 2020 5265 736f 7572 6365 Resource\n-0000fda0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-0000fdb0: 742e 0a20 2020 2020 2020 2020 2020 2020 t.. \n-0000fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd70: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000fd80: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fd90: 7461 203c 393e 3a20 2020 2020 2020 2020 ta <9>: \n+0000fda0: 2020 2020 2020 2020 2020 2053 6574 5f42 Set_B\n+0000fdb0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+0000fdc0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 0000fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fdf0: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n-0000fe00: 7072 6573 656e 7469 6e67 2049 5020 6164 presenting IP ad\n-0000fe10: 6472 6573 7365 733a 2020 2020 2020 2020 dresses: \n-0000fe20: 2020 2020 2049 6d61 6765 2028 6675 6e63 Image (func\n-0000fe30: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n-0000fe40: 2020 3629 0a2a 2052 6570 7265 7365 6e74 6).* Represent\n-0000fe50: 696e 6720 4950 2061 6464 7265 7373 6573 ing IP addresses\n-0000fe60: 203c 313e 3a20 2020 2020 2020 2020 5661 <1>: Va\n-0000fe70: 6c75 6520 2866 756e 6374 696f 6e29 2e20 lue (function). \n-0000fe80: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000fe90: 5265 7472 6965 7669 6e67 2073 6f63 6b65 Retrieving socke\n-0000fea0: 7420 6f70 7469 6f6e 733a 2020 2020 2020 t options: \n-0000feb0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n-0000fec0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-0000fed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fdf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe00: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000fe10: 6365 6976 696e 6720 6461 7461 203c 3130 ceiving data <10\n+0000fe20: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000fe30: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe\n+0000fe40: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n+0000fe50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe80: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000fe90: 696e 6520 2036 290a 2a20 5265 706f 7274 ine 6).* Report\n+0000fea0: 696e 6720 6120 6275 673a 2020 2020 2020 ing a bug: \n+0000feb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fec0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000fed0: 6520 496e 7465 726e 6574 2e0a 2020 2020 e Internet.. \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 2020 2020 286c (l\n-0000ff10: 696e 6520 2036 290a 2a20 5365 6e64 3a20 ine 6).* Send: \n-0000ff20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff40: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-0000ff50: 292e 2020 2020 2028 6c69 6e65 2020 3929 ). (line 9)\n-0000ff60: 0a2a 2053 656e 6420 3c31 3e3a 2020 2020 .* Send <1>: \n-0000ff70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff80: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n-0000ff90: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n-0000ffa0: 286c 696e 6520 3137 290a 2a20 5365 6e64 (line 17).* Send\n-0000ffb0: 696e 6720 6461 7461 3a20 2020 2020 2020 ing data: \n-0000ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ffd0: 2020 2053 656e 6469 6e67 2061 6e64 2072 Sending and r\n-0000ffe0: 6563 6569 7669 6e67 2064 6174 612e 0a20 eceiving data.. \n-0000fff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff10: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000ff20: 2020 3629 0a2a 2052 6570 7265 7365 6e74 6).* Represent\n+0000ff30: 696e 6720 4950 2061 6464 7265 7373 6573 ing IP addresses\n+0000ff40: 3a20 2020 2020 2020 2020 2020 2020 496d : Im\n+0000ff50: 6167 6520 2866 756e 6374 696f 6e29 2e20 age (function). \n+0000ff60: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000ff70: 5265 7072 6573 656e 7469 6e67 2049 5020 Representing IP \n+0000ff80: 6164 6472 6573 7365 7320 3c31 3e3a 2020 addresses <1>: \n+0000ff90: 2020 2020 2020 2056 616c 7565 2028 6675 Value (fu\n+0000ffa0: 6e63 7469 6f6e 292e 2020 2020 2028 6c69 nction). (li\n+0000ffb0: 6e65 2020 3629 0a2a 2052 6574 7269 6576 ne 6).* Retriev\n+0000ffc0: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n+0000ffd0: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n+0000ffe0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+0000fff0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2020 2020 286c (l\n-00010030: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n-00010040: 6720 6461 7461 203c 313e 3a20 2020 2020 g data <1>: \n+00010020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010030: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+00010040: 0a2a 2053 656e 643a 2020 2020 2020 2020 .* Send: \n 00010050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010060: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n-00010070: 5369 7a65 2028 6675 6e63 7469 6f6e 292e Size (function).\n-00010080: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00010090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010060: 2020 2020 2020 2020 2020 5365 6e64 2028 Send (\n+00010070: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+00010080: 286c 696e 6520 2039 290a 2a20 5365 6e64 (line 9).* Send\n+00010090: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n 000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100c0: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-000100d0: 696e 6720 6461 7461 203c 323e 3a20 2020 ing data <2>: \n-000100e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100f0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n-00010100: 6365 6475 7265 292e 2028 6c69 6e65 2020 cedure). (line \n-00010110: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat\n-00010120: 6120 3c33 3e3a 2020 2020 2020 2020 2020 a <3>: \n-00010130: 2020 2020 2020 2020 2020 2020 5075 7420 Put \n-00010140: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n-00010150: 2020 286c 696e 6520 2036 290a 2a20 5365 (line 6).* Se\n-00010160: 6e64 696e 6720 6461 7461 203c 343e 3a20 nding data <4>: \n-00010170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010180: 2020 2020 2050 7574 5f4c 696e 6520 2870 Put_Line (p\n-00010190: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-000101a0: 2020 3629 0a2a 2053 656e 6469 6e67 2064 6).* Sending d\n-000101b0: 6174 6120 3c35 3e3a 2020 2020 2020 2020 ata <5>: \n-000101c0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-000101d0: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-000101e0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-000101f0: 5365 6e64 696e 6720 7061 7463 6865 733a Sending patches:\n-00010200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010210: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources\n-00010220: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n-00010230: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00010240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100b0: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro\n+000100c0: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n+000100d0: 3729 0a2a 2053 656e 6469 6e67 2064 6174 7).* Sending dat\n+000100e0: 613a 2020 2020 2020 2020 2020 2020 2020 a: \n+000100f0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+00010100: 696e 6720 616e 6420 7265 6365 6976 696e ing and receivin\n+00010110: 6720 6461 7461 2e0a 2020 2020 2020 2020 g data.. \n+00010120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010150: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+00010160: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n+00010170: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00010180: 2020 2020 2020 2020 2020 4765 745f 5365 Get_Se\n+00010190: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n+000101a0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n+000101b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000101f0: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat\n+00010200: 6120 3c32 3e3a 2020 2020 2020 2020 2020 a <2>: \n+00010210: 2020 2020 2020 2020 2020 2020 4e65 775f New_\n+00010220: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00010230: 2e20 286c 696e 6520 2036 290a 2a20 5365 . (line 6).* Se\n+00010240: 6e64 696e 6720 6461 7461 203c 333e 3a20 nding data <3>: \n 00010250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010270: 2028 6c69 6e65 2020 3629 0a2a 2053 6574 (line 6).* Set\n-00010280: 5f42 7566 6665 723a 2020 2020 2020 2020 _Buffer: \n-00010290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102a0: 2020 2020 5365 745f 4275 6666 6572 2028 Set_Buffer (\n-000102b0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \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 2020 2020 2028 6c69 6e65 (line\n-00010300: 2020 3929 0a2a 2053 6574 736f 636b 6f70 9).* Setsockop\n-00010310: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-00010320: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00010330: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00010340: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-00010350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010260: 2020 2020 2050 7574 2028 7072 6f63 6564 Put (proced\n+00010270: 7572 6529 2e20 2020 2020 2028 6c69 6e65 ure). (line\n+00010280: 2020 3629 0a2a 2053 656e 6469 6e67 2064 6).* Sending d\n+00010290: 6174 6120 3c34 3e3a 2020 2020 2020 2020 ata <4>: \n+000102a0: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n+000102b0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+000102c0: 6529 2e20 286c 696e 6520 2036 290a 2a20 e). (line 6).* \n+000102d0: 5365 6e64 696e 6720 6461 7461 203c 353e Sending data <5>\n+000102e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000102f0: 2020 2020 2020 2053 656e 6420 2870 726f Send (pro\n+00010300: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n+00010310: 6e65 2020 3629 0a2a 2053 656e 6469 6e67 ne 6).* Sending\n+00010320: 2070 6174 6368 6573 3a20 2020 2020 2020 patches: \n+00010330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010340: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+00010350: 2049 6e74 6572 6e65 742e 0a20 2020 2020 Internet.. \n 00010360: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010380: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-00010390: 2053 6574 7469 6e67 2073 6f63 6b65 7420 Setting socket \n-000103a0: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n-000103b0: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-000103c0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-000103d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010390: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000103a0: 2036 290a 2a20 5365 745f 4275 6666 6572 6).* Set_Buffer\n+000103b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000103c0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000103d0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+000103e0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n 000103f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010400: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00010410: 6c69 6e65 2020 3629 0a2a 2053 6875 7464 line 6).* Shutd\n-00010420: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: \n-00010430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010440: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n-00010450: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9\n-00010460: 290a 2a20 534f 5f52 4356 4255 463a 2020 ).* SO_RCVBUF: \n+00010400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010420: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+00010430: 5365 7473 6f63 6b6f 7074 3a20 2020 2020 Setsockopt: \n+00010440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010450: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00010460: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n 00010470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010480: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n-00010490: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000104a0: 292e 0a20 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 2020 \n-000104e0: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n-000104f0: 5f52 4356 4255 4620 3c31 3e3a 2020 2020 _RCVBUF <1>: \n+00010480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104a0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000104b0: 696e 6520 2039 290a 2a20 5365 7474 696e ine 9).* Settin\n+000104c0: 6720 736f 636b 6574 206f 7074 696f 6e73 g socket options\n+000104d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000104e0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+000104f0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 00010500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010510: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n-00010520: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-00010530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010530: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+00010540: 290a 2a20 5368 7574 646f 776e 3a20 2020 ).* Shutdown: \n 00010550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010560: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010570: 6520 3230 290a 2a20 534f 5f52 4555 5345 e 20).* SO_REUSE\n-00010580: 4144 4452 3a20 2020 2020 2020 2020 2020 ADDR: \n-00010590: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-000105a0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-000105b0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-000105c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010560: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00010570: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+00010580: 2028 6c69 6e65 2020 3929 0a2a 2053 4f5f (line 9).* SO_\n+00010590: 5243 5642 5546 3a20 2020 2020 2020 2020 RCVBUF: \n+000105a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105b0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+000105c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 000105d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000105e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105f0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-00010600: 2a20 534f 5f52 4555 5345 4144 4452 203c * SO_REUSEADDR <\n-00010610: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00010620: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-00010630: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-00010640: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00010650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010600: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00010610: 2032 3029 0a2a 2053 4f5f 5243 5642 5546 20).* SO_RCVBUF\n+00010620: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00010630: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+00010640: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00010650: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00010660: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010680: 286c 696e 6520 3230 290a 2a20 534f 5f52 (line 20).* SO_R\n-00010690: 4555 5345 504f 5254 3a20 2020 2020 2020 EUSEPORT: \n-000106a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000106b0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n-000106c0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-000106d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010690: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+000106a0: 2053 4f5f 5245 5553 4541 4444 523a 2020 SO_REUSEADDR: \n+000106b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000106c0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+000106d0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\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 2020 2020 286c 696e 6520 (line \n-00010710: 3230 290a 2a20 534f 5f52 4555 5345 504f 20).* SO_REUSEPO\n-00010720: 5254 203c 313e 3a20 2020 2020 2020 2020 RT <1>: \n-00010730: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00010740: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00010750: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-00010760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010710: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010720: 6c69 6e65 2032 3029 0a2a 2053 4f5f 5245 line 20).* SO_RE\n+00010730: 5553 4541 4444 5220 3c31 3e3a 2020 2020 USEADDR <1>: \n+00010740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010750: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00010760: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 00010770: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010790: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-000107a0: 534f 5f53 4e44 4255 463a 2020 2020 2020 SO_SNDBUF: \n-000107b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000107c0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n-000107d0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-000107e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000107f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107a0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+000107b0: 3029 0a2a 2053 4f5f 5245 5553 4550 4f52 0).* SO_REUSEPOR\n+000107c0: 543a 2020 2020 2020 2020 2020 2020 2020 T: \n+000107d0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+000107e0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+000107f0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 00010800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010810: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00010820: 696e 6520 3230 290a 2a20 534f 5f53 4e44 ine 20).* SO_SND\n-00010830: 4255 4620 3c31 3e3a 2020 2020 2020 2020 BUF <1>: \n-00010840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010850: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-00010860: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-00010870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010830: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+00010840: 4f5f 5245 5553 4550 4f52 5420 3c31 3e3a O_REUSEPORT <1>:\n+00010850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010860: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+00010870: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 00010880: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108a0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-000108b0: 290a 2a20 534f 434b 5f44 4752 414d 3a20 ).* SOCK_DGRAM: \n-000108c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108d0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-000108e0: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-000108f0: 2028 6c69 6e65 2031 3929 0a2a 2053 4f43 (line 19).* SOC\n-00010900: 4b5f 5354 5245 414d 3a20 2020 2020 2020 K_STREAM: \n+000108a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000108c0: 6e65 2032 3029 0a2a 2053 4f5f 534e 4442 ne 20).* SO_SNDB\n+000108d0: 5546 3a20 2020 2020 2020 2020 2020 2020 UF: \n+000108e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108f0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+00010900: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 00010910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010920: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-00010930: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-00010940: 3139 290a 2a20 536f 636b 6574 3a20 2020 19).* Socket: \n-00010950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010960: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00010970: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n-00010980: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n-00010990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010940: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00010950: 0a2a 2053 4f5f 534e 4442 5546 203c 313e .* SO_SNDBUF <1>\n+00010960: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010970: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n+00010980: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00010990: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 000109a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000109b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109c0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-000109d0: 290a 2a20 536f 636b 6574 203c 313e 3a20 ).* Socket <1>: \n-000109e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109f0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-00010a00: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-00010a10: 2028 6c69 6e65 2020 3929 0a2a 2053 6f63 (line 9).* Soc\n-00010a20: 6b65 7420 7368 7574 646f 776e 3a20 2020 ket shutdown: \n-00010a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a40: 2020 2020 5368 7574 646f 776e 2028 7072 Shutdown (pr\n-00010a50: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-00010a60: 2036 290a 2a20 536f 636b 6574 5f45 7272 6).* Socket_Err\n-00010a70: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n-00010a80: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n-00010a90: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-00010aa0: 2020 2028 6c69 6e65 2033 3029 0a2a 2053 (line 30).* S\n-00010ab0: 6f63 6b65 745f 4572 726f 7220 3c31 3e3a ocket_Error <1>:\n+000109c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109d0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f43 (line 20).* SOC\n+000109e0: 4b5f 4447 5241 4d3a 2020 2020 2020 2020 K_DGRAM: \n+000109f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a00: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n+00010a10: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n+00010a20: 3139 290a 2a20 534f 434b 5f53 5452 4541 19).* SOCK_STREA\n+00010a30: 4d3a 2020 2020 2020 2020 2020 2020 2020 M: \n+00010a40: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00010a50: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n+00010a60: 2020 2028 6c69 6e65 2031 3929 0a2a 2053 (line 19).* S\n+00010a70: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n+00010a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a90: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n+00010aa0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets\n+00010ab0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ad0: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n-00010ae0: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n-00010af0: 6520 3237 290a 2a20 536f 636b 6574 5f46 e 27).* Socket_F\n-00010b00: 443a 2020 2020 2020 2020 2020 2020 2020 D: \n-00010b10: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00010b20: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-00010b30: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \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 2020 2020 286c 696e 6520 (line \n-00010b80: 2036 290a 2a20 536f 636b 6574 5f46 4420 6).* Socket_FD \n-00010b90: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00010ba0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-00010bb0: 6b65 7473 2070 6163 6b61 6765 2e20 2020 kets package. \n-00010bc0: 2020 2028 6c69 6e65 2020 3929 0a2a 2053 (line 9).* S\n-00010bd0: 6f63 6b65 7473 2e41 6363 6570 745f 536f ockets.Accept_So\n-00010be0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n-00010bf0: 2020 2020 2020 4163 6365 7074 5f53 6f63 Accept_Soc\n-00010c00: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n-00010c10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00010c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010af0: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc\n+00010b00: 6b65 7420 3c31 3e3a 2020 2020 2020 2020 ket <1>: \n+00010b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b20: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n+00010b30: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n+00010b40: 2039 290a 2a20 536f 636b 6574 2073 6875 9).* Socket shu\n+00010b50: 7464 6f77 6e3a 2020 2020 2020 2020 2020 tdown: \n+00010b60: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+00010b70: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n+00010b80: 292e 2028 6c69 6e65 2020 3629 0a2a 2053 ). (line 6).* S\n+00010b90: 6f63 6b65 745f 4572 726f 723a 2020 2020 ocket_Error: \n+00010ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010bb0: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n+00010bc0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+00010bd0: 6520 3330 290a 2a20 536f 636b 6574 5f45 e 30).* Socket_E\n+00010be0: 7272 6f72 203c 313e 3a20 2020 2020 2020 rror <1>: \n+00010bf0: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00010c00: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+00010c10: 6529 2e20 2028 6c69 6e65 2032 3729 0a2a e). (line 27).*\n+00010c20: 2053 6f63 6b65 745f 4644 3a20 2020 2020 Socket_FD: \n 00010c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c50: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n-00010c60: 6574 732e 4269 6e64 3a20 2020 2020 2020 ets.Bind: \n+00010c40: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+00010c50: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n+00010c60: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n 00010c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010c80: 2020 2042 696e 6420 2870 726f 6365 6475 Bind (procedu\n-00010c90: 7265 292e 2020 2020 2028 6c69 6e65 2031 re). (line 1\n-00010ca0: 3129 0a2a 2053 6f63 6b65 7473 2e43 6f6e 1).* Sockets.Con\n-00010cb0: 6e65 6374 3a20 2020 2020 2020 2020 2020 nect: \n-00010cc0: 2020 2020 2020 2020 2020 2020 436f 6e6e Conn\n-00010cd0: 6563 7420 2870 726f 6365 6475 7265 292e ect (procedure).\n-00010ce0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n-00010cf0: 636b 6574 732e 4765 743a 2020 2020 2020 ckets.Get: \n-00010d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d10: 2020 2020 2047 6574 2028 6675 6e63 7469 Get (functi\n-00010d20: 6f6e 292e 2020 2020 2020 2028 6c69 6e65 on). (line\n-00010d30: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47 11).* Sockets.G\n-00010d40: 6574 5f43 6861 723a 2020 2020 2020 2020 et_Char: \n-00010d50: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-00010d60: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n-00010d70: 292e 2020 286c 696e 6520 3131 290a 2a20 ). (line 11).* \n-00010d80: 536f 636b 6574 732e 4765 745f 4c69 6e65 Sockets.Get_Line\n-00010d90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010da0: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line \n-00010db0: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li\n-00010dc0: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n-00010dd0: 2e47 6574 5f4c 696e 6520 3c31 3e3a 2020 .Get_Line <1>: \n+00010c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ca0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+00010cb0: 6f63 6b65 745f 4644 203c 313e 3a20 2020 ocket_FD <1>: \n+00010cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010cd0: 2020 2020 2020 536f 636b 6574 7320 7061 Sockets pa\n+00010ce0: 636b 6167 652e 2020 2020 2020 286c 696e ckage. (lin\n+00010cf0: 6520 2039 290a 2a20 536f 636b 6574 732e e 9).* Sockets.\n+00010d00: 4163 6365 7074 5f53 6f63 6b65 743a 2020 Accept_Socket: \n+00010d10: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00010d20: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00010d30: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00010d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d70: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+00010d80: 3129 0a2a 2053 6f63 6b65 7473 2e42 696e 1).* Sockets.Bin\n+00010d90: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n+00010da0: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind\n+00010db0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+00010dc0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+00010dd0: 636b 6574 732e 436f 6e6e 6563 743a 2020 ckets.Connect: \n 00010de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010df0: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-00010e00: 7572 6529 2e20 286c 696e 6520 3131 290a ure). (line 11).\n-00010e10: 2a20 536f 636b 6574 732e 4765 745f 5265 * Sockets.Get_Re\n-00010e20: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n-00010e30: 3a20 2020 2020 2020 2047 6574 5f52 6563 : Get_Rec\n-00010e40: 6569 7665 5f51 7565 7565 5f53 697a 6520 eive_Queue_Size \n-00010e50: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \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 2020 2020 2028 6c69 6e65 (line\n-00010ea0: 2031 3229 0a2a 2053 6f63 6b65 7473 2e47 12).* Sockets.G\n-00010eb0: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n-00010ec0: 7a65 3a20 2020 2020 2020 2020 2020 4765 ze: Ge\n-00010ed0: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz\n-00010ee0: 6520 2866 756e 6374 696f 6e29 2e0a 2020 e (function).. \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 2020 2020 2028 6c69 (li\n-00010f30: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n-00010f40: 2e47 6574 736f 636b 6f70 743a 2020 2020 .Getsockopt: \n-00010f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f60: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-00010f70: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00010f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010df0: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr\n+00010e00: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n+00010e10: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47 11).* Sockets.G\n+00010e20: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n+00010e30: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+00010e40: 7420 2866 756e 6374 696f 6e29 2e20 2020 t (function). \n+00010e50: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* \n+00010e60: 536f 636b 6574 732e 4765 745f 4368 6172 Sockets.Get_Char\n+00010e70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00010e80: 2020 2020 2020 2047 6574 5f43 6861 7220 Get_Char \n+00010e90: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li\n+00010ea0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+00010eb0: 2e47 6574 5f4c 696e 653a 2020 2020 2020 .Get_Line: \n+00010ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ed0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n+00010ee0: 6f6e 292e 2020 286c 696e 6520 3132 290a on). (line 12).\n+00010ef0: 2a20 536f 636b 6574 732e 4765 745f 4c69 * Sockets.Get_Li\n+00010f00: 6e65 203c 313e 3a20 2020 2020 2020 2020 ne <1>: \n+00010f10: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n+00010f20: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+00010f30: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n+00010f40: 7473 2e47 6574 5f52 6563 6569 7665 5f51 ts.Get_Receive_Q\n+00010f50: 7565 7565 5f53 697a 653a 2020 2020 2020 ueue_Size: \n+00010f60: 2020 4765 745f 5265 6365 6976 655f 5175 Get_Receive_Qu\n+00010f70: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+00010f80: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n 00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010fb0: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n-00010fc0: 0a2a 2053 6f63 6b65 7473 2e49 505f 4144 .* Sockets.IP_AD\n-00010fd0: 445f 4d45 4d42 4552 5348 4950 3a20 2020 D_MEMBERSHIP: \n-00010fe0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-00010ff0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00011000: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00011010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fc0: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n+00010fd0: 536f 636b 6574 732e 4765 745f 5365 6e64 Sockets.Get_Send\n+00010fe0: 5f51 7565 7565 5f53 697a 653a 2020 2020 _Queue_Size: \n+00010ff0: 2020 2020 2020 2047 6574 5f53 656e 645f Get_Send_\n+00011000: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n+00011010: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 00011020: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011040: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-00011050: 6b65 7473 2e49 505f 4144 445f 4d45 4d42 kets.IP_ADD_MEMB\n-00011060: 4552 5348 4950 203c 313e 3a20 2020 2020 ERSHIP <1>: \n-00011070: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-00011080: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-00011090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011050: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n+00011060: 2a20 536f 636b 6574 732e 4765 7473 6f63 * Sockets.Getsoc\n+00011070: 6b6f 7074 3a20 2020 2020 2020 2020 2020 kopt: \n+00011080: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00011090: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+000110a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110c0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000110d0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n-000110e0: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI\n-000110f0: 503a 2020 2020 2020 2020 2020 2020 4765 P: Ge\n-00011100: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00011110: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-00011120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110e0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n+000110f0: 6574 732e 4950 5f41 4444 5f4d 454d 4245 ets.IP_ADD_MEMBE\n+00011100: 5253 4849 503a 2020 2020 2020 2020 2020 RSHIP: \n+00011110: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+00011120: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n 00011130: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011150: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00011160: 2053 6f63 6b65 7473 2e49 505f 4452 4f50 Sockets.IP_DROP\n-00011170: 5f4d 454d 4245 5253 4849 5020 3c31 3e3a _MEMBERSHIP <1>:\n-00011180: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-00011190: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-000111a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000111b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011160: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011170: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP\n+00011180: 5f41 4444 5f4d 454d 4245 5253 4849 5020 _ADD_MEMBERSHIP \n+00011190: 3c31 3e3a 2020 2020 2020 2020 2053 6574 <1>: Set\n+000111a0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+000111b0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n 000111c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000111d0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-000111e0: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-000111f0: 7473 2e49 505f 4d55 4c54 4943 4153 545f ts.IP_MULTICAST_\n-00011200: 4c4f 4f50 3a20 2020 2020 2020 2020 2020 LOOP: \n-00011210: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-00011220: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-00011230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111f0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+00011200: 536f 636b 6574 732e 4950 5f44 524f 505f Sockets.IP_DROP_\n+00011210: 4d45 4d42 4552 5348 4950 3a20 2020 2020 MEMBERSHIP: \n+00011220: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+00011230: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n 00011240: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011260: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-00011270: 3029 0a2a 2053 6f63 6b65 7473 2e49 505f 0).* Sockets.IP_\n-00011280: 4d55 4c54 4943 4153 545f 4c4f 4f50 203c MULTICAST_LOOP <\n-00011290: 313e 3a20 2020 2020 2020 2020 5365 7473 1>: Sets\n-000112a0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-000112b0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-000112c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011270: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011280: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n+00011290: 732e 4950 5f44 524f 505f 4d45 4d42 4552 s.IP_DROP_MEMBER\n+000112a0: 5348 4950 203c 313e 3a20 2020 2020 2020 SHIP <1>: \n+000112b0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+000112c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 000112d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000112e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000112f0: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-00011300: 6f63 6b65 7473 2e49 505f 4d55 4c54 4943 ockets.IP_MULTIC\n-00011310: 4153 545f 5454 4c3a 2020 2020 2020 2020 AST_TTL: \n-00011320: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-00011330: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-00011340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011300: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00011310: 290a 2a20 536f 636b 6574 732e 4950 5f4d ).* Sockets.IP_M\n+00011320: 554c 5449 4341 5354 5f4c 4f4f 503a 2020 ULTICAST_LOOP: \n+00011330: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+00011340: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00011350: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 00011360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011370: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00011380: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00011390: 2e49 505f 4d55 4c54 4943 4153 545f 5454 .IP_MULTICAST_TT\n-000113a0: 4c20 3c31 3e3a 2020 2020 2020 2020 2020 L <1>: \n-000113b0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-000113c0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-000113d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011390: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n+000113a0: 636b 6574 732e 4950 5f4d 554c 5449 4341 ckets.IP_MULTICA\n+000113b0: 5354 5f4c 4f4f 5020 3c31 3e3a 2020 2020 ST_LOOP <1>: \n+000113c0: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+000113d0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 000113e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000113f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011400: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-00011410: 0a2a 2053 6f63 6b65 7473 2e49 5050 524f .* Sockets.IPPRO\n-00011420: 544f 5f49 503a 2020 2020 2020 2020 2020 TO_IP: \n-00011430: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-00011440: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00011450: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00011460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011410: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011420: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n+00011430: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n+00011440: 3a20 2020 2020 2020 2020 2020 2020 2047 : G\n+00011450: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00011460: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n 00011470: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011490: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-000114a0: 6b65 7473 2e49 5050 524f 544f 5f49 5020 kets.IPPROTO_IP \n-000114b0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-000114c0: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-000114d0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-000114e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000114f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114a0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+000114b0: 2a20 536f 636b 6574 732e 4950 5f4d 554c * Sockets.IP_MUL\n+000114c0: 5449 4341 5354 5f54 544c 203c 313e 3a20 TICAST_TTL <1>: \n+000114d0: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+000114e0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+000114f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00011500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011510: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00011520: 2032 3029 0a2a 2053 6f63 6b65 7473 2e4c 20).* Sockets.L\n-00011530: 6973 7465 6e3a 2020 2020 2020 2020 2020 isten: \n-00011540: 2020 2020 2020 2020 2020 2020 2020 4c69 Li\n-00011550: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n-00011560: 2e20 2020 286c 696e 6520 3131 290a 2a20 . (line 11).* \n-00011570: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n-00011580: 742e 4372 6561 7465 5f4d 756c 7469 6361 t.Create_Multica\n-00011590: 7374 5f53 6f63 6b65 743a 2053 6574 7469 st_Socket: Setti\n-000115a0: 6e67 2075 7020 6d75 6c74 6963 6173 7420 ng up multicast \n-000115b0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \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 2020 2020 286c 696e 6520 3136 (line 16\n-00011600: 290a 2a20 536f 636b 6574 732e 4d75 6c74 ).* Sockets.Mult\n-00011610: 6963 6173 742e 4372 6561 7465 5f4d 756c icast.Create_Mul\n-00011620: 7469 6361 7374 5f53 6f63 6b65 7420 3c31 ticast_Socket <1\n-00011630: 3e3a 2043 7265 6174 655f 4d75 6c74 6963 >: Create_Multic\n-00011640: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-00011650: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+00011510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011530: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n+00011540: 6574 732e 4950 5052 4f54 4f5f 4950 3a20 ets.IPPROTO_IP: \n+00011550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011560: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+00011570: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00011580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000115c0: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP\n+000115d0: 5052 4f54 4f5f 4950 203c 313e 3a20 2020 PROTO_IP <1>: \n+000115e0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000115f0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00011600: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00011610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011640: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+00011650: 536f 636b 6574 732e 4c69 7374 656e 3a20 Sockets.Listen: \n 00011660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011690: 2020 2020 2020 286c 696e 6520 3134 290a (line 14).\n-000116a0: 2a20 536f 636b 6574 732e 4d75 6c74 6963 * Sockets.Multic\n-000116b0: 6173 742e 4372 6561 7465 5f4d 756c 7469 ast.Create_Multi\n-000116c0: 6361 7374 5f53 6f63 6b65 7420 3c32 3e3a cast_Socket <2>:\n-000116d0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n-000116e0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n-000116f0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00011670: 2020 2020 2020 204c 6973 7465 6e20 2870 Listen (p\n+00011680: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li\n+00011690: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+000116a0: 2e4d 756c 7469 6361 7374 2e43 7265 6174 .Multicast.Creat\n+000116b0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+000116c0: 6574 3a20 5365 7474 696e 6720 7570 206d et: Setting up m\n+000116d0: 756c 7469 6361 7374 2073 6f63 6b65 7473 ulticast sockets\n+000116e0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000116f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011700: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011730: 2020 2020 286c 696e 6520 3539 290a 2a20 (line 59).* \n-00011740: 536f 636b 6574 732e 4e61 6d69 6e67 2e41 Sockets.Naming.A\n-00011750: 6464 7265 7373 5f4f 663a 2020 2020 2020 ddress_Of: \n-00011760: 2020 2020 2020 2041 6464 7265 7373 5f4f Address_O\n-00011770: 6620 2866 756e 6374 696f 6e29 2e0a 2020 f (function).. \n+00011720: 2028 6c69 6e65 2031 3629 0a2a 2053 6f63 (line 16).* Soc\n+00011730: 6b65 7473 2e4d 756c 7469 6361 7374 2e43 kets.Multicast.C\n+00011740: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+00011750: 536f 636b 6574 203c 313e 3a20 4372 6561 Socket <1>: Crea\n+00011760: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00011770: 6b65 7420 2866 756e 6374 696f 6e29 2e0a ket (function)..\n 00011780: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011790: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000117a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000117c0: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n-000117d0: 2e4e 616d 696e 672e 416e 795f 4164 6472 .Naming.Any_Addr\n-000117e0: 6573 733a 2020 2020 2020 2020 2020 2020 ess: \n-000117f0: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun\n-00011800: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-00011810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000117b0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000117c0: 6c69 6e65 2031 3429 0a2a 2053 6f63 6b65 line 14).* Socke\n+000117d0: 7473 2e4d 756c 7469 6361 7374 2e43 7265 ts.Multicast.Cre\n+000117e0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+000117f0: 636b 6574 203c 323e 3a20 4372 6561 7465 cket <2>: Create\n+00011800: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00011810: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. \n 00011820: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011840: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n-00011850: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n-00011860: 672e 4765 745f 5065 6572 5f41 6464 723a g.Get_Peer_Addr:\n-00011870: 2020 2020 2020 2020 2020 4765 745f 5065 Get_Pe\n-00011880: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n-00011890: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-000118a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011850: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011860: 6e65 2037 3629 0a2a 2053 6f63 6b65 7473 ne 76).* Sockets\n+00011870: 2e4e 616d 696e 672e 4164 6472 6573 735f .Naming.Address_\n+00011880: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: \n+00011890: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+000118a0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000118c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000118d0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n-000118e0: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n-000118f0: 745f 5065 6572 5f50 6f72 743a 2020 2020 t_Peer_Port: \n-00011900: 2020 2020 2020 4765 745f 5065 6572 5f50 Get_Peer_P\n-00011910: 6f72 7420 2866 756e 6374 696f 6e29 2e0a ort (function)..\n-00011920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118e0: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n+000118f0: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n+00011900: 2e41 6e79 5f41 6464 7265 7373 3a20 2020 .Any_Address: \n+00011910: 2020 2020 2020 2020 2041 6e79 5f41 6464 Any_Add\n+00011920: 7265 7373 2028 6675 6e63 7469 6f6e 292e ress (function).\n+00011930: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00011940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011950: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00011960: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-00011970: 7473 2e4e 616d 696e 672e 4765 745f 536f ts.Naming.Get_So\n-00011980: 636b 5f41 6464 723a 2020 2020 2020 2020 ck_Addr: \n-00011990: 2020 4765 745f 536f 636b 5f41 6464 7220 Get_Sock_Addr \n-000119a0: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n-000119b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011970: 286c 696e 6520 3130 290a 2a20 536f 636b (line 10).* Sock\n+00011980: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P\n+00011990: 6565 725f 4164 6472 3a20 2020 2020 2020 eer_Addr: \n+000119a0: 2020 2047 6574 5f50 6565 725f 4164 6472 Get_Peer_Addr\n+000119b0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 000119c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000119d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000119e0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000119f0: 2031 3229 0a2a 2053 6f63 6b65 7473 2e4e 12).* Sockets.N\n-00011a00: 616d 696e 672e 4765 745f 536f 636b 5f50 aming.Get_Sock_P\n-00011a10: 6f72 743a 2020 2020 2020 2020 2020 4765 ort: Ge\n-00011a20: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n-00011a30: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-00011a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011a00: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+00011a10: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f Naming.Get_Peer_\n+00011a20: 506f 7274 3a20 2020 2020 2020 2020 2047 Port: G\n+00011a30: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+00011a40: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n 00011a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a70: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n-00011a80: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n-00011a90: 672e 486f 7374 5f4e 616d 653a 2020 2020 g.Host_Name: \n-00011aa0: 2020 2020 2020 2020 2020 486f 7374 5f4e Host_N\n-00011ab0: 616d 6520 2866 756e 6374 696f 6e29 2e20 ame (function). \n-00011ac0: 286c 696e 6520 3130 290a 2a20 536f 636b (line 10).* Sock\n-00011ad0: 6574 732e 4e61 6d69 6e67 2e49 6d61 6765 ets.Naming.Image\n-00011ae0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00011af0: 2020 2049 6d61 6765 2028 6675 6e63 7469 Image (functi\n-00011b00: 6f6e 292e 2020 2020 2028 6c69 6e65 2031 on). (line 1\n-00011b10: 3129 0a2a 2053 6f63 6b65 7473 2e4e 616d 1).* Sockets.Nam\n-00011b20: 696e 672e 496e 666f 5f4f 665f 4e61 6d65 ing.Info_Of_Name\n-00011b30: 5f4f 725f 4950 3a20 2020 2020 496e 666f _Or_IP: Info\n-00011b40: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP (\n-00011b50: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n-00011b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a80: 2020 2020 2020 2020 286c 696e 6520 3132 (line 12\n+00011a90: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+00011aa0: 6e67 2e47 6574 5f53 6f63 6b5f 4164 6472 ng.Get_Sock_Addr\n+00011ab0: 3a20 2020 2020 2020 2020 2047 6574 5f53 : Get_S\n+00011ac0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+00011ad0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00011ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b10: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n+00011b20: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n+00011b30: 6574 5f53 6f63 6b5f 506f 7274 3a20 2020 et_Sock_Port: \n+00011b40: 2020 2020 2020 2047 6574 5f53 6f63 6b5f Get_Sock_\n+00011b50: 506f 7274 2028 6675 6e63 7469 6f6e 292e Port (function).\n+00011b60: 0a20 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 2020 2020 286c 696e 6520 (line \n-00011ba0: 3132 290a 2a20 536f 636b 6574 732e 4e61 12).* Sockets.Na\n-00011bb0: 6d69 6e67 2e49 735f 4950 5f41 6464 7265 ming.Is_IP_Addre\n-00011bc0: 7373 3a20 2020 2020 2020 2020 2049 735f ss: Is_\n-00011bd0: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n-00011be0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \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 2020 2020 286c 696e 6520 3132 290a (line 12).\n-00011c30: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n-00011c40: 2e4e 616d 655f 4f66 3a20 2020 2020 2020 .Name_Of: \n-00011c50: 2020 2020 2020 2020 204e 616d 655f 4f66 Name_Of\n-00011c60: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n-00011c70: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n-00011c80: 7473 2e4e 616d 696e 672e 5661 6c75 653a ts.Naming.Value:\n+00011b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ba0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n+00011bb0: 6574 732e 4e61 6d69 6e67 2e48 6f73 745f ets.Naming.Host_\n+00011bc0: 4e61 6d65 3a20 2020 2020 2020 2020 2020 Name: \n+00011bd0: 2020 2048 6f73 745f 4e61 6d65 2028 6675 Host_Name (fu\n+00011be0: 6e63 7469 6f6e 292e 2028 6c69 6e65 2031 nction). (line 1\n+00011bf0: 3029 0a2a 2053 6f63 6b65 7473 2e4e 616d 0).* Sockets.Nam\n+00011c00: 696e 672e 496d 6167 653a 2020 2020 2020 ing.Image: \n+00011c10: 2020 2020 2020 2020 2020 2020 496d 6167 Imag\n+00011c20: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+00011c30: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+00011c40: 636b 6574 732e 4e61 6d69 6e67 2e49 6e66 ckets.Naming.Inf\n+00011c50: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 503a o_Of_Name_Or_IP:\n+00011c60: 2020 2020 2049 6e66 6f5f 4f66 5f4e 616d Info_Of_Nam\n+00011c70: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+00011c80: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n 00011c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ca0: 2020 5661 6c75 6520 2866 756e 6374 696f Value (functio\n-00011cb0: 6e29 2e20 2020 2020 286c 696e 6520 3131 n). (line 11\n-00011cc0: 290a 2a20 536f 636b 6574 732e 4e65 775f ).* Sockets.New_\n-00011cd0: 4c69 6e65 3a20 2020 2020 2020 2020 2020 Line: \n-00011ce0: 2020 2020 2020 2020 2020 204e 6577 5f4c New_L\n-00011cf0: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-00011d00: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n-00011d10: 6b65 7473 2e50 7574 3a20 2020 2020 2020 kets.Put: \n+00011ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cc0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011cd0: 6f63 6b65 7473 2e4e 616d 696e 672e 4973 ockets.Naming.Is\n+00011ce0: 5f49 505f 4164 6472 6573 733a 2020 2020 _IP_Address: \n+00011cf0: 2020 2020 2020 4973 5f49 505f 4164 6472 Is_IP_Addr\n+00011d00: 6573 7320 2866 756e 6374 696f 6e29 2e0a ess (function)..\n+00011d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d30: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu\n-00011d40: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line \n-00011d50: 3131 290a 2a20 536f 636b 6574 732e 5075 11).* Sockets.Pu\n-00011d60: 745f 4c69 6e65 3a20 2020 2020 2020 2020 t_Line: \n-00011d70: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n-00011d80: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-00011d90: 292e 2028 6c69 6e65 2031 3129 0a2a 2053 ). (line 11).* S\n-00011da0: 6f63 6b65 7473 2e52 6563 6569 7665 3a20 ockets.Receive: \n-00011db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011dc0: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n-00011dd0: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-00011de0: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n-00011df0: 5265 6365 6976 6520 3c31 3e3a 2020 2020 Receive <1>: \n-00011e00: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-00011e10: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-00011e20: 6529 2e20 2028 6c69 6e65 2031 3129 0a2a e). (line 11).*\n-00011e30: 2053 6f63 6b65 7473 2e52 6563 6569 7665 Sockets.Receive\n-00011e40: 5f53 6f6d 653a 2020 2020 2020 2020 2020 _Some: \n-00011e50: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n-00011e60: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-00011e70: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00011e80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d40: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011d50: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00011d60: 7473 2e4e 616d 696e 672e 4e61 6d65 5f4f ts.Naming.Name_O\n+00011d70: 663a 2020 2020 2020 2020 2020 2020 2020 f: \n+00011d80: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct\n+00011d90: 696f 6e29 2e20 2020 286c 696e 6520 3131 ion). (line 11\n+00011da0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+00011db0: 6e67 2e56 616c 7565 3a20 2020 2020 2020 ng.Value: \n+00011dc0: 2020 2020 2020 2020 2020 2056 616c 7565 Value\n+00011dd0: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n+00011de0: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc\n+00011df0: 6b65 7473 2e4e 6577 5f4c 696e 653a 2020 kets.New_Line: \n+00011e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e10: 2020 2020 4e65 775f 4c69 6e65 2028 7072 New_Line (pr\n+00011e20: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+00011e30: 3131 290a 2a20 536f 636b 6574 732e 5075 11).* Sockets.Pu\n+00011e40: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00011e50: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+00011e60: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+00011e70: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00011e80: 6f63 6b65 7473 2e50 7574 5f4c 696e 653a ockets.Put_Line:\n 00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011eb0: 2028 6c69 6e65 2031 3329 0a2a 2053 6f63 (line 13).* Soc\n-00011ec0: 6b65 7473 2e53 656e 643a 2020 2020 2020 kets.Send: \n-00011ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ee0: 2020 2020 5365 6e64 2028 7072 6f63 6564 Send (proced\n-00011ef0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n-00011f00: 3131 290a 2a20 536f 636b 6574 732e 5365 11).* Sockets.Se\n-00011f10: 745f 4275 6666 6572 3a20 2020 2020 2020 t_Buffer: \n-00011f20: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00011f30: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-00011f40: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ea0: 2020 2020 2020 5075 745f 4c69 6e65 2028 Put_Line (\n+00011eb0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+00011ec0: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+00011ed0: 5265 6365 6976 653a 2020 2020 2020 2020 Receive: \n+00011ee0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+00011ef0: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+00011f00: 292e 2020 2028 6c69 6e65 2031 3229 0a2a ). (line 12).*\n+00011f10: 2053 6f63 6b65 7473 2e52 6563 6569 7665 Sockets.Receive\n+00011f20: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00011f30: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n+00011f40: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+00011f50: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+00011f60: 732e 5265 6365 6976 655f 536f 6d65 3a20 s.Receive_Some: \n 00011f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f80: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* \n-00011f90: 536f 636b 6574 732e 5365 7473 6f63 6b6f Sockets.Setsocko\n-00011fa0: 7074 3a20 2020 2020 2020 2020 2020 2020 pt: \n-00011fb0: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-00011fc0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \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 2020 2020 286c (l\n-00012010: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n-00012020: 732e 5368 7574 646f 776e 3a20 2020 2020 s.Shutdown: \n-00012030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012040: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n-00012050: 6475 7265 292e 2028 6c69 6e65 2031 3129 dure). (line 11)\n-00012060: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5243 .* Sockets.SO_RC\n-00012070: 5642 5546 3a20 2020 2020 2020 2020 2020 VBUF: \n-00012080: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-00012090: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-000120a0: 2e0a 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+00011f80: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n+00011f90: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00011fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fd0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011fe0: 3133 290a 2a20 536f 636b 6574 732e 5365 13).* Sockets.Se\n+00011ff0: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: \n+00012000: 2020 2020 2020 2020 2020 2020 2053 656e Sen\n+00012010: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+00012020: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00012030: 6f63 6b65 7473 2e53 6574 5f42 7566 6665 ockets.Set_Buffe\n+00012040: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+00012050: 2020 2020 2020 5365 745f 4275 6666 6572 Set_Buffer\n+00012060: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00012070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000120b0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+000120c0: 2e53 6574 736f 636b 6f70 743a 2020 2020 .Setsockopt: \n 000120d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000120e0: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-000120f0: 6b65 7473 2e53 4f5f 5243 5642 5546 203c kets.SO_RCVBUF <\n-00012100: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00012110: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-00012120: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \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 2020 2020 2028 6c69 6e65 (line\n-00012170: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n-00012180: 4f5f 5245 5553 4541 4444 523a 2020 2020 O_REUSEADDR: \n-00012190: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-000121a0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-000121b0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-000121c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120e0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+000120f0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012130: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n+00012140: 0a2a 2053 6f63 6b65 7473 2e53 6875 7464 .* Sockets.Shutd\n+00012150: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: \n+00012160: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n+00012170: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n+00012180: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n+00012190: 6574 732e 534f 5f52 4356 4255 463a 2020 ets.SO_RCVBUF: \n+000121a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121b0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+000121c0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n 000121d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000121e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121f0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00012200: 2053 6f63 6b65 7473 2e53 4f5f 5245 5553 Sockets.SO_REUS\n-00012210: 4541 4444 5220 3c31 3e3a 2020 2020 2020 EADDR <1>: \n-00012220: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-00012230: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-00012240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012200: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00012210: 3230 290a 2a20 536f 636b 6574 732e 534f 20).* Sockets.SO\n+00012220: 5f52 4356 4255 4620 3c31 3e3a 2020 2020 _RCVBUF <1>: \n+00012230: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+00012240: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00012250: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n 00012260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012270: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00012280: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-00012290: 7473 2e53 4f5f 5245 5553 4550 4f52 543a ts.SO_REUSEPORT:\n-000122a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000122b0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-000122c0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-000122d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012290: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+000122a0: 536f 636b 6574 732e 534f 5f52 4555 5345 Sockets.SO_REUSE\n+000122b0: 4144 4452 3a20 2020 2020 2020 2020 2020 ADDR: \n+000122c0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+000122d0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n 000122e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012300: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-00012310: 3029 0a2a 2053 6f63 6b65 7473 2e53 4f5f 0).* Sockets.SO_\n-00012320: 5245 5553 4550 4f52 5420 3c31 3e3a 2020 REUSEPORT <1>: \n-00012330: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-00012340: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00012350: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-00012360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012310: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00012320: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n+00012330: 732e 534f 5f52 4555 5345 4144 4452 203c s.SO_REUSEADDR <\n+00012340: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00012350: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+00012360: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n 00012370: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012390: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-000123a0: 6f63 6b65 7473 2e53 4f5f 534e 4442 5546 ockets.SO_SNDBUF\n-000123b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000123c0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-000123d0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-000123e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000123f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123a0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+000123b0: 290a 2a20 536f 636b 6574 732e 534f 5f52 ).* Sockets.SO_R\n+000123c0: 4555 5345 504f 5254 3a20 2020 2020 2020 EUSEPORT: \n+000123d0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+000123e0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+000123f0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 00012400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012410: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00012420: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00012430: 2e53 4f5f 534e 4442 5546 203c 313e 3a20 .SO_SNDBUF <1>: \n-00012440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012450: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00012460: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00012470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012430: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n+00012440: 636b 6574 732e 534f 5f52 4555 5345 504f ckets.SO_REUSEPO\n+00012450: 5254 203c 313e 3a20 2020 2020 2020 2020 RT <1>: \n+00012460: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+00012470: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 00012480: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000124a0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-000124b0: 0a2a 2053 6f63 6b65 7473 2e53 6f63 6b65 .* Sockets.Socke\n-000124c0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-000124d0: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n-000124e0: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n-000124f0: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n-00012500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000124c0: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n+000124d0: 534f 5f53 4e44 4255 463a 2020 2020 2020 SO_SNDBUF: \n+000124e0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+000124f0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00012500: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n 00012510: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012530: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-00012540: 2053 6f63 6b65 7473 2e53 6f63 6b65 7420 Sockets.Socket \n-00012550: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00012560: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n-00012570: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n-00012580: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n-00012590: 732e 534f 4c5f 534f 434b 4554 3a20 2020 s.SOL_SOCKET: \n+00012530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012540: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+00012550: 2a20 536f 636b 6574 732e 534f 5f53 4e44 * Sockets.SO_SND\n+00012560: 4255 4620 3c31 3e3a 2020 2020 2020 2020 BUF <1>: \n+00012570: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+00012580: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00012590: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 000125a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000125b0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-000125c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-000125d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000125e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125d0: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n+000125e0: 6574 732e 536f 636b 6574 3a20 2020 2020 ets.Socket: \n 000125f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012600: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-00012610: 290a 2a20 536f 636b 6574 732e 534f 4c5f ).* Sockets.SOL_\n-00012620: 534f 434b 4554 203c 313e 3a20 2020 2020 SOCKET <1>: \n-00012630: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-00012640: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00012650: 292e 0a20 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+00012600: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n+00012610: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+00012620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012650: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00012660: 696e 6520 2036 290a 2a20 536f 636b 6574 ine 6).* Socket\n+00012670: 732e 536f 636b 6574 203c 313e 3a20 2020 s.Socket <1>: \n 00012680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012690: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n-000126a0: 636b 6574 732e 556e 7365 745f 4275 6666 ckets.Unset_Buff\n-000126b0: 6572 3a20 2020 2020 2020 2020 2020 2020 er: \n-000126c0: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe\n-000126d0: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n-000126e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012690: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+000126a0: 7265 292e 2020 2028 6c69 6e65 2031 3229 re). (line 12)\n+000126b0: 0a2a 2053 6f63 6b65 7473 2e53 4f4c 5f53 .* Sockets.SOL_S\n+000126c0: 4f43 4b45 543a 2020 2020 2020 2020 2020 OCKET: \n+000126d0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+000126e0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000126f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00012700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012710: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00012720: 696e 6520 3131 290a 2a20 534f 4c5f 534f ine 11).* SOL_SO\n-00012730: 434b 4554 3a20 2020 2020 2020 2020 2020 CKET: \n-00012740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012750: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-00012760: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-00012770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012730: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n+00012740: 6b65 7473 2e53 4f4c 5f53 4f43 4b45 5420 kets.SOL_SOCKET \n+00012750: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00012760: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00012770: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 00012780: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000127a0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-000127b0: 290a 2a20 534f 4c5f 534f 434b 4554 203c ).* SOL_SOCKET <\n-000127c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-000127d0: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-000127e0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000127f0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00012800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000127c0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e55 20).* Sockets.U\n+000127d0: 6e73 6574 5f42 7566 6665 723a 2020 2020 nset_Buffer: \n+000127e0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+000127f0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00012800: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 00012810: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012830: 2020 286c 696e 6520 3230 290a 2a20 5374 (line 20).* St\n-00012840: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n-00012850: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: \n-00012860: 2020 2020 2052 6177 2064 6174 6120 6d61 Raw data ma\n-00012870: 6e69 7075 6c61 7469 6f6e 2e0a 2020 2020 nipulation.. \n-00012880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012840: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11)\n+00012850: 0a2a 2053 4f4c 5f53 4f43 4b45 543a 2020 .* SOL_SOCKET: \n+00012860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012870: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+00012880: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00012890: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 000128a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000128b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000128c0: 2020 3629 0a2a 2053 7472 6561 6d5f 456c 6).* Stream_El\n-000128d0: 656d 656e 745f 4172 7261 7920 3c31 3e3a ement_Array <1>:\n-000128e0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-000128f0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n-00012900: 2e20 2020 286c 696e 6520 3232 290a 2a20 . (line 22).* \n-00012910: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n-00012920: 7272 6179 203c 323e 3a20 2020 2020 2020 rray <2>: \n-00012930: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n-00012940: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n-00012950: 6e65 2031 3829 0a2a 2053 7472 6561 6d5f ne 18).* Stream_\n-00012960: 456c 656d 656e 745f 4172 7261 7920 3c33 Element_Array <3\n-00012970: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00012980: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-00012990: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-000129a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128d0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f4c (line 20).* SOL\n+000128e0: 5f53 4f43 4b45 5420 3c31 3e3a 2020 2020 _SOCKET <1>: \n+000128f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012900: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00012910: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00012920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012950: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012960: 2032 3029 0a2a 2053 7472 6561 6d5f 456c 20).* Stream_El\n+00012970: 656d 656e 745f 4172 7261 793a 2020 2020 ement_Array: \n+00012980: 2020 2020 2020 2020 2020 2020 2020 5261 Ra\n+00012990: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat\n+000129a0: 696f 6e2e 0a20 2020 2020 2020 2020 2020 ion.. \n 000129b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000129c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000129d0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-000129e0: 3129 0a2a 2053 7472 6561 6d5f 456c 656d 1).* Stream_Elem\n-000129f0: 656e 745f 4172 7261 7920 3c34 3e3a 2020 ent_Array <4>: \n-00012a00: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n-00012a10: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-00012a20: 2020 286c 696e 6520 3137 290a 2a20 5374 (line 17).* St\n-00012a30: 7265 616d 5f45 6c65 6d65 6e74 5f43 6f75 ream_Element_Cou\n-00012a40: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n-00012a50: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu\n-00012a60: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n-00012a70: 2032 3229 0a2a 2053 7472 6561 6d5f 456c 22).* Stream_El\n-00012a80: 656d 656e 745f 436f 756e 7420 3c31 3e3a ement_Count <1>:\n-00012a90: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-00012aa0: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-00012ab0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00012ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129e0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+000129f0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00012a00: 7272 6179 203c 313e 3a20 2020 2020 2020 rray <1>: \n+00012a10: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+00012a20: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n+00012a30: 6e65 2032 3229 0a2a 2053 7472 6561 6d5f ne 22).* Stream_\n+00012a40: 456c 656d 656e 745f 4172 7261 7920 3c32 Element_Array <2\n+00012a50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00012a60: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+00012a70: 7265 292e 2020 286c 696e 6520 3138 290a re). (line 18).\n+00012a80: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element\n+00012a90: 5f41 7272 6179 203c 333e 3a20 2020 2020 _Array <3>: \n+00012aa0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+00012ab0: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+00012ac0: 292e 0a20 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 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n-00012b00: 0a2a 2053 7472 696e 675f 4163 6365 7373 .* String_Access\n-00012b10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012b20: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-00012b30: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n-00012b40: 2e0a 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 2020 2020 \n-00012b80: 2028 6c69 6e65 2033 3429 0a2a 2053 7472 (line 34).* Str\n-00012b90: 696e 675f 4172 7261 793a 2020 2020 2020 ing_Array: \n-00012ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012bb0: 2020 2020 536f 636b 6574 732e 4e61 6d69 Sockets.Nami\n-00012bc0: 6e67 2070 6163 6b61 6765 2e0a 2020 2020 ng package.. \n-00012bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b00: 2020 286c 696e 6520 3231 290a 2a20 5374 (line 21).* St\n+00012b10: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n+00012b20: 6179 203c 343e 3a20 2020 2020 2020 2020 ay <4>: \n+00012b30: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce\n+00012b40: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+00012b50: 2031 3729 0a2a 2053 7472 6561 6d5f 456c 17).* Stream_El\n+00012b60: 656d 656e 745f 436f 756e 743a 2020 2020 ement_Count: \n+00012b70: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00012b80: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+00012b90: 2e20 2020 286c 696e 6520 3232 290a 2a20 . (line 22).* \n+00012ba0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n+00012bb0: 6f75 6e74 203c 313e 3a20 2020 2020 2020 ount <1>: \n+00012bc0: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S\n+00012bd0: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure).\n+00012be0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00012bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00012c10: 2033 3729 0a2a 2053 7567 6765 7374 696e 37).* Suggestin\n-00012c20: 6720 6120 6665 6174 7572 653a 2020 2020 g a feature: \n-00012c30: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-00012c40: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n-00012c50: 6e74 6572 6e65 742e 0a20 2020 2020 2020 nternet.. \n-00012c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c20: 286c 696e 6520 3231 290a 2a20 5374 7269 (line 21).* Stri\n+00012c30: 6e67 5f41 6363 6573 733a 2020 2020 2020 ng_Access: \n+00012c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c50: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin\n+00012c60: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. \n 00012c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012c90: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-00012ca0: 290a 2a20 5443 5020 736f 636b 6574 3a20 ).* TCP socket: \n-00012cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012cc0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-00012cd0: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n-00012ce0: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n-00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ca0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00012cb0: 3334 290a 2a20 5374 7269 6e67 5f41 7272 34).* String_Arr\n+00012cc0: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: \n+00012cd0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00012ce0: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+00012cf0: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \n 00012d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d20: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-00012d30: 2a20 5544 5020 736f 636b 6574 3a20 2020 * UDP socket: \n-00012d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012d50: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-00012d60: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n-00012d70: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n-00012d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d30: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* \n+00012d40: 5375 6767 6573 7469 6e67 2061 2066 6561 Suggesting a fea\n+00012d50: 7475 7265 3a20 2020 2020 2020 2020 2020 ture: \n+00012d60: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources\n+00012d70: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n+00012d80: 2e0a 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: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-00012dc0: 556e 6963 6173 7420 736f 636b 6574 733a Unicast sockets:\n-00012dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012de0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-00012df0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-00012e00: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00012db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012dc0: 2028 6c69 6e65 2020 3629 0a2a 2054 4350 (line 6).* TCP\n+00012dd0: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n+00012de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012df0: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n+00012e00: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n 00012e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012e40: 2020 286c 696e 6520 2036 290a 2a20 556e (line 6).* Un\n-00012e50: 7365 745f 4275 6666 6572 3a20 2020 2020 set_Buffer: \n-00012e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012e70: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe\n-00012e80: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n-00012e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e40: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012e50: 6c69 6e65 2020 3629 0a2a 2055 4450 2073 line 6).* UDP s\n+00012e60: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n+00012e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e80: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni\n+00012e90: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n 00012ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00012eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012ec0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00012ed0: 696e 6520 2039 290a 2a20 5661 6c75 653a ine 9).* Value:\n-00012ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012f00: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function\n-00012f10: 292e 2020 2020 2028 6c69 6e65 2020 3929 ). (line 9)\n-00012f20: 0a0a 0a1f 0a54 6167 2054 6162 6c65 3a0a .....Tag Table:.\n-00012f30: 4e6f 6465 3a20 546f 707f 3831 380a 4e6f Node: Top.818.No\n-00012f40: 6465 3a20 5768 6174 2069 7320 4164 6153 de: What is AdaS\n-00012f50: 6f63 6b65 7473 3f7f 3133 3931 0a4e 6f64 ockets?.1391.Nod\n-00012f60: 653a 2049 6e73 7461 6c6c 696e 6720 4164 e: Installing Ad\n-00012f70: 6153 6f63 6b65 7473 7f32 3239 320a 4e6f aSockets.2292.No\n-00012f80: 6465 3a20 5573 696e 6720 4164 6153 6f63 de: Using AdaSoc\n-00012f90: 6b65 7473 7f33 3239 390a 4e6f 6465 3a20 kets.3299.Node: \n-00012fa0: 436f 6d70 696c 696e 6720 616e 2041 6461 Compiling an Ada\n-00012fb0: 2061 7070 6c69 6361 7469 6f6e 7f33 3539 application.359\n-00012fc0: 300a 4e6f 6465 3a20 5365 7474 696e 6720 0.Node: Setting \n-00012fd0: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n-00012fe0: 7473 7f34 3233 370a 4e6f 6465 3a20 5365 ts.4237.Node: Se\n-00012ff0: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n-00013000: 7374 2073 6f63 6b65 7473 7f35 3535 310a st sockets.5551.\n-00013010: 4e6f 6465 3a20 5365 6e64 696e 6720 616e Node: Sending an\n-00013020: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data\n-00013030: 7f36 3930 340a 4e6f 6465 3a20 5261 7720 .6904.Node: Raw \n-00013040: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n-00013050: 6e7f 3732 3636 0a4e 6f64 653a 2053 7472 n.7266.Node: Str\n-00013060: 696e 672d 6f72 6965 6e74 6564 2065 7863 ing-oriented exc\n-00013070: 6861 6e67 6573 7f37 3637 340a 4e6f 6465 hanges.7674.Node\n-00013080: 3a20 536f 636b 6574 7320 7061 636b 6167 : Sockets packag\n-00013090: 657f 3838 3037 0a4e 6f64 653a 2041 6363 e.8807.Node: Acc\n-000130a0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-000130b0: 6564 7572 6529 7f31 3130 3931 0a4e 6f64 edure).11091.Nod\n-000130c0: 653a 2042 696e 6420 2870 726f 6365 6475 e: Bind (procedu\n-000130d0: 7265 297f 3133 3136 380a 4e6f 6465 3a20 re).13168.Node: \n-000130e0: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n-000130f0: 7265 297f 3134 3434 350a 4e6f 6465 3a20 re).14445.Node: \n-00013100: 4765 7420 2866 756e 6374 696f 6e29 7f31 Get (function).1\n-00013110: 3538 3731 0a4e 6f64 653a 2047 6574 5f43 5871.Node: Get_C\n-00013120: 6861 7220 2866 756e 6374 696f 6e29 7f31 har (function).1\n-00013130: 3730 3730 0a4e 6f64 653a 2047 6574 5f4c 7070.Node: Get_L\n-00013140: 696e 6520 2866 756e 6374 696f 6e29 7f31 ine (function).1\n-00013150: 3739 3335 0a4e 6f64 653a 2047 6574 5f4c 7935.Node: Get_L\n-00013160: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n-00013170: 3139 3234 360a 4e6f 6465 3a20 4765 745f 19246.Node: Get_\n-00013180: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n-00013190: 7a65 2028 6675 6e63 7469 6f6e 297f 3230 ze (function).20\n-000131a0: 3431 350a 4e6f 6465 3a20 4765 745f 5365 415.Node: Get_Se\n-000131b0: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-000131c0: 756e 6374 696f 6e29 7f32 3132 3833 0a4e unction).21283.N\n-000131d0: 6f64 653a 2047 6574 736f 636b 6f70 7420 ode: Getsockopt \n-000131e0: 2870 726f 6365 6475 7265 297f 3232 3134 (procedure).2214\n-000131f0: 300a 4e6f 6465 3a20 4c69 7374 656e 2028 0.Node: Listen (\n-00013200: 7072 6f63 6564 7572 6529 7f32 3335 3037 procedure).23507\n-00013210: 0a4e 6f64 653a 204e 6577 5f4c 696e 6520 .Node: New_Line \n-00013220: 2870 726f 6365 6475 7265 297f 3234 3338 (procedure).2438\n-00013230: 330a 4e6f 6465 3a20 5075 7420 2870 726f 3.Node: Put (pro\n-00013240: 6365 6475 7265 297f 3235 3130 390a 4e6f cedure).25109.No\n-00013250: 6465 3a20 5075 745f 4c69 6e65 2028 7072 de: Put_Line (pr\n-00013260: 6f63 6564 7572 6529 7f32 3538 3434 0a4e ocedure).25844.N\n-00013270: 6f64 653a 2052 6563 6569 7665 2028 6675 ode: Receive (fu\n-00013280: 6e63 7469 6f6e 297f 3236 3633 340a 4e6f nction).26634.No\n-00013290: 6465 3a20 5265 6365 6976 6520 2870 726f de: Receive (pro\n-000132a0: 6365 6475 7265 297f 3237 3834 370a 4e6f cedure).27847.No\n-000132b0: 6465 3a20 5265 6365 6976 655f 536f 6d65 de: Receive_Some\n-000132c0: 2028 7072 6f63 6564 7572 6529 7f32 3838 (procedure).288\n-000132d0: 3738 0a4e 6f64 653a 2053 656e 6420 2870 78.Node: Send (p\n-000132e0: 726f 6365 6475 7265 297f 3330 3036 390a rocedure).30069.\n-000132f0: 4e6f 6465 3a20 5365 745f 4275 6666 6572 Node: Set_Buffer\n-00013300: 2028 7072 6f63 6564 7572 6529 7f33 3038 (procedure).308\n-00013310: 3132 0a4e 6f64 653a 2053 6574 736f 636b 12.Node: Setsock\n-00013320: 6f70 7420 2870 726f 6365 6475 7265 297f opt (procedure).\n-00013330: 3332 3032 350a 4e6f 6465 3a20 5368 7574 32025.Node: Shut\n-00013340: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00013350: 7f33 3333 3732 0a4e 6f64 653a 2053 6f63 .33372.Node: Soc\n-00013360: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure).\n-00013370: 3334 3032 320a 4e6f 6465 3a20 556e 7365 34022.Node: Unse\n-00013380: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00013390: 7572 6529 7f33 3534 3132 0a4e 6f64 653a ure).35412.Node:\n-000133a0: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n-000133b0: 7374 2070 6163 6b61 6765 7f33 3631 3131 st package.36111\n-000133c0: 0a4e 6f64 653a 2043 7265 6174 655f 4d75 .Node: Create_Mu\n-000133d0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-000133e0: 6675 6e63 7469 6f6e 297f 3336 3935 370a function).36957.\n-000133f0: 4e6f 6465 3a20 536f 636b 6574 732e 4e61 Node: Sockets.Na\n-00013400: 6d69 6e67 2070 6163 6b61 6765 7f34 3032 ming package.402\n-00013410: 3937 0a4e 6f64 653a 2041 6464 7265 7373 97.Node: Address\n-00013420: 5f4f 6620 2866 756e 6374 696f 6e29 7f34 _Of (function).4\n-00013430: 3238 3234 0a4e 6f64 653a 2041 6e79 5f41 2824.Node: Any_A\n-00013440: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-00013450: 297f 3433 3731 380a 4e6f 6465 3a20 4765 ).43718.Node: Ge\n-00013460: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n-00013470: 6374 696f 6e29 7f34 3431 3333 0a4e 6f64 ction).44133.Nod\n-00013480: 653a 2047 6574 5f50 6565 725f 506f 7274 e: Get_Peer_Port\n-00013490: 2028 6675 6e63 7469 6f6e 297f 3434 3730 (function).4470\n-000134a0: 350a 4e6f 6465 3a20 4765 745f 536f 636b 5.Node: Get_Sock\n-000134b0: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n-000134c0: 7f34 3532 3935 0a4e 6f64 653a 2047 6574 .45295.Node: Get\n-000134d0: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-000134e0: 7469 6f6e 297f 3435 3838 370a 4e6f 6465 tion).45887.Node\n-000134f0: 3a20 486f 7374 5f4e 616d 6520 2866 756e : Host_Name (fun\n-00013500: 6374 696f 6e29 7f34 3634 3731 0a4e 6f64 ction).46471.Nod\n-00013510: 653a 2049 6d61 6765 2028 6675 6e63 7469 e: Image (functi\n-00013520: 6f6e 297f 3436 3938 370a 4e6f 6465 3a20 on).46987.Node: \n-00013530: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n-00013540: 4950 2028 6675 6e63 7469 6f6e 297f 3437 IP (function).47\n-00013550: 3436 330a 4e6f 6465 3a20 4973 5f49 505f 463.Node: Is_IP_\n-00013560: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-00013570: 6e29 7f34 3831 3933 0a4e 6f64 653a 204e n).48193.Node: N\n-00013580: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-00013590: 297f 3438 3730 370a 4e6f 6465 3a20 5661 ).48707.Node: Va\n-000135a0: 6c75 6520 2866 756e 6374 696f 6e29 7f34 lue (function).4\n-000135b0: 3932 3934 0a4e 6f64 653a 2043 6f6e 7472 9294.Node: Contr\n-000135c0: 6962 7574 6f72 737f 3439 3734 360a 4e6f ibutors.49746.No\n-000135d0: 6465 3a20 5265 736f 7572 6365 7320 6f6e de: Resources on\n-000135e0: 2074 6865 2049 6e74 6572 6e65 747f 3531 the Internet.51\n-000135f0: 3136 370a 4e6f 6465 3a20 496e 6465 787f 167.Node: Index.\n-00013600: 3531 3632 370a 1f0a 456e 6420 5461 6720 51627...End Tag \n-00013610: 5461 626c 650a 0a1f 0a4c 6f63 616c 2056 Table....Local V\n-00013620: 6172 6961 626c 6573 3a0a 636f 6469 6e67 ariables:.coding\n-00013630: 3a20 7574 662d 380a 456e 643a 0a : utf-8.End:.\n+00012ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ed0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00012ee0: 6e65 2020 3629 0a2a 2055 6e69 6361 7374 ne 6).* Unicast\n+00012ef0: 2073 6f63 6b65 7473 3a20 2020 2020 2020 sockets: \n+00012f00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f10: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+00012f20: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+00012f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012f60: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012f70: 2020 3629 0a2a 2055 6e73 6574 5f42 7566 6).* Unset_Buf\n+00012f80: 6665 723a 2020 2020 2020 2020 2020 2020 fer: \n+00012f90: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+00012fa0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00012fb0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ff0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+00013000: 0a2a 2056 616c 7565 3a20 2020 2020 2020 .* Value: \n+00013010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00013020: 2020 2020 2020 2020 2020 5661 6c75 6520 Value \n+00013030: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+00013040: 286c 696e 6520 2039 290a 0a0a 1f0a 5461 (line 9).....Ta\n+00013050: 6720 5461 626c 653a 0a4e 6f64 653a 2054 g Table:.Node: T\n+00013060: 6f70 7f38 3138 0a4e 6f64 653a 2057 6861 op.818.Node: Wha\n+00013070: 7420 6973 2041 6461 536f 636b 6574 733f t is AdaSockets?\n+00013080: 7f31 3339 310a 4e6f 6465 3a20 496e 7374 .1391.Node: Inst\n+00013090: 616c 6c69 6e67 2041 6461 536f 636b 6574 alling AdaSocket\n+000130a0: 737f 3232 3932 0a4e 6f64 653a 2055 7369 s.2292.Node: Usi\n+000130b0: 6e67 2041 6461 536f 636b 6574 737f 3332 ng AdaSockets.32\n+000130c0: 3939 0a4e 6f64 653a 2043 6f6d 7069 6c69 99.Node: Compili\n+000130d0: 6e67 2061 6e20 4164 6120 6170 706c 6963 ng an Ada applic\n+000130e0: 6174 696f 6e7f 3335 3930 0a4e 6f64 653a ation.3590.Node:\n+000130f0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+00013100: 6173 7420 736f 636b 6574 737f 3432 3337 ast sockets.4237\n+00013110: 0a4e 6f64 653a 2053 6574 7469 6e67 2075 .Node: Setting u\n+00013120: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+00013130: 6574 737f 3535 3531 0a4e 6f64 653a 2053 ets.5551.Node: S\n+00013140: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei\n+00013150: 7669 6e67 2064 6174 617f 3639 3034 0a4e ving data.6904.N\n+00013160: 6f64 653a 2052 6177 2064 6174 6120 6d61 ode: Raw data ma\n+00013170: 6e69 7075 6c61 7469 6f6e 7f37 3236 360a nipulation.7266.\n+00013180: 4e6f 6465 3a20 5374 7269 6e67 2d6f 7269 Node: String-ori\n+00013190: 656e 7465 6420 6578 6368 616e 6765 737f ented exchanges.\n+000131a0: 3736 3734 0a4e 6f64 653a 2053 6f63 6b65 7674.Node: Socke\n+000131b0: 7473 2070 6163 6b61 6765 7f38 3830 370a ts package.8807.\n+000131c0: 4e6f 6465 3a20 4163 6365 7074 5f53 6f63 Node: Accept_Soc\n+000131d0: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure).\n+000131e0: 3131 3039 310a 4e6f 6465 3a20 4269 6e64 11091.Node: Bind\n+000131f0: 2028 7072 6f63 6564 7572 6529 7f31 3237 (procedure).127\n+00013200: 3832 0a4e 6f64 653a 2043 6f6e 6e65 6374 82.Node: Connect\n+00013210: 2028 7072 6f63 6564 7572 6529 7f31 3430 (procedure).140\n+00013220: 3539 0a4e 6f64 653a 2047 6574 2028 6675 59.Node: Get (fu\n+00013230: 6e63 7469 6f6e 297f 3135 3435 320a 4e6f nction).15452.No\n+00013240: 6465 3a20 4765 745f 4368 6172 2028 6675 de: Get_Char (fu\n+00013250: 6e63 7469 6f6e 297f 3136 3635 310a 4e6f nction).16651.No\n+00013260: 6465 3a20 4765 745f 4c69 6e65 2028 6675 de: Get_Line (fu\n+00013270: 6e63 7469 6f6e 297f 3137 3531 360a 4e6f nction).17516.No\n+00013280: 6465 3a20 4765 745f 4c69 6e65 2028 7072 de: Get_Line (pr\n+00013290: 6f63 6564 7572 6529 7f31 3838 3237 0a4e ocedure).18827.N\n+000132a0: 6f64 653a 2047 6574 5f52 6563 6569 7665 ode: Get_Receive\n+000132b0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+000132c0: 6374 696f 6e29 7f31 3939 3936 0a4e 6f64 ction).19996.Nod\n+000132d0: 653a 2047 6574 5f53 656e 645f 5175 6575 e: Get_Send_Queu\n+000132e0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+000132f0: 297f 3230 3836 340a 4e6f 6465 3a20 4765 ).20864.Node: Ge\n+00013300: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00013310: 7572 6529 7f32 3137 3231 0a4e 6f64 653a ure).21721.Node:\n+00013320: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+00013330: 7265 297f 3233 3038 380a 4e6f 6465 3a20 re).23088.Node: \n+00013340: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+00013350: 7572 6529 7f32 3339 3634 0a4e 6f64 653a ure).23964.Node:\n+00013360: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+00013370: 7f32 3436 3930 0a4e 6f64 653a 2050 7574 .24690.Node: Put\n+00013380: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00013390: 297f 3235 3432 350a 4e6f 6465 3a20 5265 ).25425.Node: Re\n+000133a0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+000133b0: 7f32 3632 3135 0a4e 6f64 653a 2052 6563 .26215.Node: Rec\n+000133c0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+000133d0: 7f32 3734 3238 0a4e 6f64 653a 2052 6563 .27428.Node: Rec\n+000133e0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+000133f0: 6475 7265 297f 3238 3435 390a 4e6f 6465 dure).28459.Node\n+00013400: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur\n+00013410: 6529 7f32 3936 3530 0a4e 6f64 653a 2053 e).29650.Node: S\n+00013420: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00013430: 6475 7265 297f 3330 3339 330a 4e6f 6465 dure).30393.Node\n+00013440: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr\n+00013450: 6f63 6564 7572 6529 7f33 3136 3036 0a4e ocedure).31606.N\n+00013460: 6f64 653a 2053 6875 7464 6f77 6e20 2870 ode: Shutdown (p\n+00013470: 726f 6365 6475 7265 297f 3332 3935 330a rocedure).32953.\n+00013480: 4e6f 6465 3a20 536f 636b 6574 2028 7072 Node: Socket (pr\n+00013490: 6f63 6564 7572 6529 7f33 3336 3033 0a4e ocedure).33603.N\n+000134a0: 6f64 653a 2055 6e73 6574 5f42 7566 6665 ode: Unset_Buffe\n+000134b0: 7220 2870 726f 6365 6475 7265 297f 3334 r (procedure).34\n+000134c0: 3939 330a 4e6f 6465 3a20 536f 636b 6574 993.Node: Socket\n+000134d0: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack\n+000134e0: 6167 657f 3335 3639 320a 4e6f 6465 3a20 age.35692.Node: \n+000134f0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00013500: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00013510: 6e29 7f33 3635 3338 0a4e 6f64 653a 2053 n).36538.Node: S\n+00013520: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n+00013530: 636b 6167 657f 3430 3539 340a 4e6f 6465 ckage.40594.Node\n+00013540: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+00013550: 6e63 7469 6f6e 297f 3433 3132 310a 4e6f nction).43121.No\n+00013560: 6465 3a20 416e 795f 4164 6472 6573 7320 de: Any_Address \n+00013570: 2866 756e 6374 696f 6e29 7f34 3430 3135 (function).44015\n+00013580: 0a4e 6f64 653a 2047 6574 5f50 6565 725f .Node: Get_Peer_\n+00013590: 4164 6472 2028 6675 6e63 7469 6f6e 297f Addr (function).\n+000135a0: 3434 3433 300a 4e6f 6465 3a20 4765 745f 44430.Node: Get_\n+000135b0: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+000135c0: 696f 6e29 7f34 3530 3032 0a4e 6f64 653a ion).45002.Node:\n+000135d0: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+000135e0: 6675 6e63 7469 6f6e 297f 3435 3539 320a function).45592.\n+000135f0: 4e6f 6465 3a20 4765 745f 536f 636b 5f50 Node: Get_Sock_P\n+00013600: 6f72 7420 2866 756e 6374 696f 6e29 7f34 ort (function).4\n+00013610: 3631 3834 0a4e 6f64 653a 2048 6f73 745f 6184.Node: Host_\n+00013620: 4e61 6d65 2028 6675 6e63 7469 6f6e 297f Name (function).\n+00013630: 3436 3736 380a 4e6f 6465 3a20 496d 6167 46768.Node: Imag\n+00013640: 6520 2866 756e 6374 696f 6e29 7f34 3732 e (function).472\n+00013650: 3834 0a4e 6f64 653a 2049 6e66 6f5f 4f66 84.Node: Info_Of\n+00013660: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n+00013670: 6374 696f 6e29 7f34 3737 3630 0a4e 6f64 ction).47760.Nod\n+00013680: 653a 2049 735f 4950 5f41 6464 7265 7373 e: Is_IP_Address\n+00013690: 2028 6675 6e63 7469 6f6e 297f 3438 3439 (function).4849\n+000136a0: 300a 4e6f 6465 3a20 4e61 6d65 5f4f 6620 0.Node: Name_Of \n+000136b0: 2866 756e 6374 696f 6e29 7f34 3930 3034 (function).49004\n+000136c0: 0a4e 6f64 653a 2056 616c 7565 2028 6675 .Node: Value (fu\n+000136d0: 6e63 7469 6f6e 297f 3439 3539 310a 4e6f nction).49591.No\n+000136e0: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors\n+000136f0: 7f35 3030 3433 0a4e 6f64 653a 2052 6573 .50043.Node: Res\n+00013700: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n+00013710: 7465 726e 6574 7f35 3134 3634 0a4e 6f64 ternet.51464.Nod\n+00013720: 653a 2049 6e64 6578 7f35 3139 3234 0a1f e: Index.51924..\n+00013730: 0a45 6e64 2054 6167 2054 6162 6c65 0a0a .End Tag Table..\n+00013740: 1f0a 4c6f 6361 6c20 5661 7269 6162 6c65 ..Local Variable\n+00013750: 733a 0a63 6f64 696e 673a 2075 7466 2d38 s:.coding: utf-8\n+00013760: 0a45 6e64 3a0a .End:.\n"}]}]}]}]}]}