{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.i2iv9Dco/b1/adasockets_1.12-8_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.i2iv9Dco/b2/adasockets_1.12-8_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n f5b7d3c5394447547df56aa42d5dd92a 48980 debug optional libadasockets10-dbgsym_1.12-8_arm64.deb\n d94f790ea9e8ac867004cd49d7bc9c57 27036 libs optional libadasockets10_1.12-8_arm64.deb\n- ddab364e1431bf95fb1202fd641a31a8 328924 libdevel optional libadasockets12-dev_1.12-8_arm64.deb\n+ 41135f210a6ec7bb3f51c2c9832bec06 329404 libdevel optional libadasockets12-dev_1.12-8_arm64.deb\n"}, {"source1": "libadasockets12-dev_1.12-8_arm64.deb", "source2": "libadasockets12-dev_1.12-8_arm64.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 2023-05-10 20:09:30.000000 debian-binary\n -rw-r--r-- 0 0 0 1856 2023-05-10 20:09:30.000000 control.tar.xz\n--rw-r--r-- 0 0 0 326876 2023-05-10 20:09:30.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 327356 2023-05-10 20:09:30.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": "./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": "@@ -37,27 +37,27 @@\n -rw-r--r-- 0 root (0) root (0) 3766 2023-05-10 20:09:30.000000 ./usr/share/ada/adainclude/adasockets/sockets-utils.ads\n -rw-r--r-- 0 root (0) root (0) 23300 2023-05-10 20:09:30.000000 ./usr/share/ada/adainclude/adasockets/sockets.adb\n -rw-r--r-- 0 root (0) root (0) 10598 2023-05-10 20:09:30.000000 ./usr/share/ada/adainclude/adasockets/sockets.ads\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/doc/libadasockets12-dev/\n -rw-r--r-- 0 root (0) root (0) 768 2023-05-10 20:07:02.000000 ./usr/share/doc/libadasockets12-dev/README.Debian\n -rw-r--r-- 0 root (0) root (0) 1940 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/README.md\n--rw-r--r-- 0 root (0) root (0) 250698 2023-05-10 20:09:30.000000 ./usr/share/doc/libadasockets12-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 250716 2023-05-10 20:09:30.000000 ./usr/share/doc/libadasockets12-dev/adasockets.pdf.gz\n -rw-r--r-- 0 root (0) root (0) 1072 2023-05-10 20:09:30.000000 ./usr/share/doc/libadasockets12-dev/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 3541 2023-05-10 20:08:47.000000 ./usr/share/doc/libadasockets12-dev/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/doc/libadasockets12-dev/examples/\n -rw-r--r-- 0 root (0) root (0) 233 2023-05-10 20:07:02.000000 ./usr/share/doc/libadasockets12-dev/examples/examples.gpr\n -rw-r--r-- 0 root (0) root (0) 4956 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/examples/listener.adb\n -rw-r--r-- 0 root (0) root (0) 3980 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/examples/multi.adb\n -rw-r--r-- 0 root (0) root (0) 4591 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/examples/stream_listener.adb\n -rw-r--r-- 0 root (0) root (0) 3904 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/examples/stream_sender.adb\n -rw-r--r-- 0 root (0) root (0) 4919 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets12-dev/examples/tcprelay.adb\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 477 2023-05-10 20:09:30.000000 ./usr/share/doc-base/libadasockets12-dev.adasockets\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/gpr/\n -rw-r--r-- 0 root (0) root (0) 356 2023-05-10 20:09:30.000000 ./usr/share/gpr/adasockets.gpr\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/info/\n--rw-r--r-- 0 root (0) root (0) 13590 2023-05-10 20:09:30.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 14051 2023-05-10 20:09:30.000000 ./usr/share/info/adasockets.info.gz\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/man/\n drwxr-xr-x 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/share/man/man1/\n -rw-r--r-- 0 root (0) root (0) 299 2023-05-10 20:09:30.000000 ./usr/share/man/man1/adasockets-config.1.gz\n lrwxrwxrwx 0 root (0) root (0) 0 2023-05-10 20:09:30.000000 ./usr/lib/aarch64-linux-gnu/libadasockets.so -> libadasockets.so.10.0.0\n"}, {"source1": "./usr/share/doc/libadasockets12-dev/adasockets.pdf.gz", "source2": "./usr/share/doc/libadasockets12-dev/adasockets.pdf.gz", "unified_diff": null, "details": [{"source1": "adasockets.pdf", "source2": "adasockets.pdf", "unified_diff": null, "details": [{"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -38,70 +38,70 @@\n Setting up multicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Sending and receiving data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.1 Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.2 String-oriented exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n \n Sockets package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accept Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Connect (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Get (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Char (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Line (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Receive Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Get Send Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Getsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Receive (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n+Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive Some (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Set Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Unset Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n \n 5\n \n Sockets.Multicast package . . . . . . . . . . . . . . . . . . . . . 19\n Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19\n-Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19\n+Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20\n \n \fii\n \n 6\n \n-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+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@@ -113,15 +113,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@@ -219,17 +219,16 @@\n \n Accept Socket (procedure)\n Purpose\n \n Accept an incoming connection\n \n Prototype\n-\n-procedure Accept_Socket\n [Sockets.Accept Socket]\n+procedure Accept_Socket\n (Socket : Socket FD; New_Socket : out Socket FD);\n Parameters\n Socket\n New Socket\n \n in\n out\n@@ -242,47 +241,37 @@\n on TCP socket Socket. All the communications with the peer will take place\n on New Socket, while the program can accept another connection on Socket.\n New Socket must not be initialized before calling this procedure, or must have\n been cleaned up by calling Shutdown, in order to avoid a file descriptors leak.\n Accept_Socket will block until an incoming connection is ready to be accepted.\n Example\n declare\n-Sock\n-: Socket_FD;\n-Incoming : Socket_FD;\n+Sock : Multicast_Socket_FD;\n begin\n--- Create a TCP socket listening on local port 4161\n-Socket (Sock, PF_INET, SOCK_STREAM);\n-Bind (Sock, 4161);\n-Listen (Sock, 3);\n--- 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+-- 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-\n-\f8\n-\n-AdaSockets reference manual\n-\n-See also [Bind (procedure)], page 8,\n+See also [Bind (procedure)], page 7,\n [Listen (procedure)], page 12,\n [Shutdown (procedure)], page 17,\n [Socket (procedure)], page 17.\n \n Bind (procedure)\n Purpose\n \n 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@@ -297,15 +286,15 @@\n Initialized socket object\n Local port to bind to\n Local interface to bind to\n \n Description\n This procedure requests a local port from the operating system. If 0 is given\n in Port, the system will assign a free port whose number can later be retrieved\n-using [Get Sock Port (function)], page 23. Also, most operating systems require\n+using [Get Sock Port (function)], page 25. Also, most operating systems require\n special privileges if you want to bind to ports below 1024.\n If Host is not the empty string, it must contain the IP address of a local interface\n to bind to, or a name which resolves into such an address. If an empty string\n is given (the default), the socket will be bound to all the available interfaces.\n Exceptions\n Socket_Error\n \n@@ -345,24 +334,25 @@\n Exceptions\n Connection_Refused\n Socket_Error\n \n The connection has been refused by the server\n Another error occurred during the connection\n \n-\fChapter 4: Sockets package\n-\n-9\n-\n Example\n declare\n Sock : Socket_FD;\n begin\n -- Create a TCP socket\n Socket (Sock, PF_INET, SOCK_STREAM);\n+\n+\fChapter 4: Sockets package\n+\n+9\n+\n -- Connect it to rfc1149.net\u2019s mail server\n Connect (Sock, \"mail.rfc1149.net\", 25);\n -- Do a mail transaction then close the socket\n [...]\n end;\n See also [Socket (procedure)], page 17.\n \n@@ -415,31 +405,31 @@\n \n in\n \n [Sockets.Get Char]\n \n Initialized and connected socket object\n \n-\f10\n-\n-AdaSockets reference manual\n-\n Return value\n One character sent by the remote host\n Description\n This function receives exactly one character from the remote host.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before sending the character\n \n+\f10\n+\n+AdaSockets reference manual\n+\n See also [Get (function)], page 9,\n [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n Get Line (function)\n Purpose\n \n Get a whole line from a remote host\n \n@@ -473,26 +463,22 @@\n Connection_Closed\n \n Peer has closed the connection before sending a whole line\n \n See also [Get (function)], page 9,\n [Get Char (function)], page 9,\n [Get Line (procedure)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n Get Line (procedure)\n Purpose\n \n Get a whole line from a remote host\n \n-\fChapter 4: Sockets package\n-\n-11\n-\n Prototype\n \n procedure Get_Line (Socket : Socket FD\u2019Class;\n Str : in out String; Last : out Natural);\n Parameters\n Socket\n Str\n@@ -504,28 +490,32 @@\n \n [Sockets.Get Line]\n \n Initialized and connected socket object\n String to fill\n Last index used in the string\n \n+\fChapter 4: Sockets package\n+\n+11\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 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 [Get Line (function)], page 10,\n-[Receive (procedure)], page 15,\n+[Receive (procedure)], page 14,\n [Set Buffer (procedure)], page 16.\n \n Get Receive Queue Size (function)\n Purpose\n \n Return the size of the unread data in the input queue\n \n@@ -544,25 +534,21 @@\n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the input queue\n Description\n This function is only available on Linux platforms. On other operating systems, it will return -2 to indicate that the necessary mechanisms to retrieve the\n information are not available.\n-See also [Receive (procedure)], page 15.\n+See also [Receive (procedure)], page 14.\n \n Get Send Queue Size (function)\n Purpose\n \n Return the size of the unsent data in the output queue\n \n-\f12\n-\n-AdaSockets reference manual\n-\n Prototype\n \n function Get_Send_Queue_Size\n (Socket : Socket FD\u2019Class)\n return Integer;\n Parameters\n Socket\n@@ -574,15 +560,20 @@\n Initialized and connected socket object\n \n Return value\n The non-negative size in bytes of the output queue\n Description\n This function is only available on Linux platforms. On other operating systems, it will return -2 to indicate that the necessary mechanisms to retrieve the\n information are not available.\n-See also [Send (procedure)], page 16.\n+\n+\f12\n+\n+AdaSockets reference manual\n+\n+See also [Send (procedure)], page 15.\n \n Getsockopt (procedure)\n Purpose\n \n Retrieve a socket option\n \n Prototype\n@@ -624,40 +615,37 @@\n \n Prototype\n \n procedure Listen (Socket : Socket FD;\n Queue_Size : Positive := 5);\n Parameters\n Socket\n+Queue Size\n \n in\n+in\n \n [Sockets.Listen]\n \n Initialized and bound socket object\n-\n-\fChapter 4: Sockets package\n-\n-Queue Size\n-\n-13\n-\n-in\n-\n Requested slots in the listen queue\n \n Description\n This procedure establishes a listen queue after a TCP socket as been initialized\n and bound. Each slot in the queue can hold one incoming connection that has\n not been accepted yet. Note that most operating systems ignore queue sizes\n larger than five.\n See also [Accept Socket (procedure)], page 7,\n-[Bind (procedure)], page 8,\n+[Bind (procedure)], page 7,\n [Socket (procedure)], page 17.\n \n+\fChapter 4: Sockets package\n+\n+13\n+\n New Line (procedure)\n Purpose\n \n Send a CR/LF to a remote host\n \n Prototype\n \n@@ -679,15 +667,15 @@\n This procedure sends one or more CR/LF combinations to the peer.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [Put (procedure)], page 13,\n-[Put Line (procedure)], page 14.\n+[Put Line (procedure)], page 13.\n \n Put (procedure)\n Purpose\n \n Send a string to a remote host\n \n Prototype\n@@ -710,20 +698,16 @@\n This procedure sends the content of Str over an outgoing or incoming socket.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [New Line (procedure)], page 13,\n-[Put Line (procedure)], page 14,\n-[Send (procedure)], page 16.\n-\n-\f14\n-\n-AdaSockets reference manual\n+[Put Line (procedure)], page 13,\n+[Send (procedure)], page 15.\n \n Put Line (procedure)\n Purpose\n \n Send a CR/LF terminated string to a remote host\n \n Prototype\n@@ -738,25 +722,29 @@\n in\n \n [Sockets.Put Line]\n \n Initialized and connected socket object\n String to send\n \n+\f14\n+\n+AdaSockets reference manual\n+\n Description\n This procedure sends the content of Str plus a CR/LF combination over an\n outgoing or incoming socket.\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [New Line (procedure)], page 13,\n [Put (procedure)], page 13,\n-[Send (procedure)], page 16.\n+[Send (procedure)], page 15.\n \n Receive (function)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n@@ -782,23 +770,19 @@\n socket. Only one system call will be performed; this function will return whatever data has arrived. Note that in GNAT the secondary stack may be used to\n store the data and may result in stack storage exhaustion.\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before sending any data\n \n-See also [Receive (procedure)], page 15,\n+See also [Receive (procedure)], page 14,\n [Receive Some (procedure)], page 15,\n [Get Line (function)], page 10,\n [Get Line (procedure)], page 10.\n \n-\fChapter 4: Sockets package\n-\n-15\n-\n Receive (procedure)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n \n@@ -814,14 +798,19 @@\n \n Initialized and bound or connected socket object\n Incoming data buffer\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+\n+\fChapter 4: Sockets package\n+\n+15\n+\n Exceptions\n Connection_Closed\n \n Peer has closed the connection before Data\u2019Length bytes\n were received\n \n See also [Get Line (function)], page 10,\n@@ -831,17 +820,16 @@\n \n Receive Some (procedure)\n Purpose\n \n Receive raw data over a socket\n \n Prototype\n-\n-procedure Receive_Some\n [Sockets.Receive Some]\n+procedure Receive_Some\n (Socket : Socket FD\u2019Class;\n Data : out Ada.Streams.Stream Element Array;\n Last : out Ada.Streams.Stream Element Offset);\n Parameters\n Socket\n Data\n Last\n@@ -862,19 +850,15 @@\n Connection_Closed\n \n Peer has closed the connection before sending any data\n \n See also [Get Line (function)], page 10,\n [Get Line (procedure)], page 10,\n [Receive (function)], page 14,\n-[Receive (procedure)], page 15.\n-\n-\f16\n-\n-AdaSockets reference manual\n+[Receive (procedure)], page 14.\n \n Send (procedure)\n Purpose\n \n Send raw data over a socket\n \n Prototype\n@@ -891,21 +875,26 @@\n \n Initialized and connected socket object\n Data to be sent\n \n Description\n This procedure sends data over a connected outgoing socket or over an incoming\n socket.\n+\n+\f16\n+\n+AdaSockets reference manual\n+\n Exceptions\n Connection_Closed\n \n Peer has prematurely closed the connection\n \n See also [Put (procedure)], page 13,\n-[Put Line (procedure)], page 14.\n+[Put Line (procedure)], page 13.\n \n Set Buffer (procedure)\n Purpose\n \n Install a line-oriented buffer of the socket object\n \n Prototype\n@@ -934,18 +923,14 @@\n See also [Unset Buffer (procedure)], page 18.\n \n Setsockopt (procedure)\n Purpose\n \n Set a socket option\n \n-\fChapter 4: Sockets package\n-\n-17\n-\n Prototype\n \n procedure Setsockopt (Socket : Socket FD;\n [Sockets.Setsockopt]\n Level : Socket Level := SOL SOCKET;\n Optname : Socket Option; Optval : Integer);\n Parameters\n@@ -966,14 +951,19 @@\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 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+\n+\fChapter 4: Sockets package\n+\n+17\n+\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 nows the right size for every option.\n See also [Getsockopt (procedure)], page 12.\n \n Shutdown (procedure)\n Purpose\n@@ -1015,38 +1005,39 @@\n Domain\n Typ\n \n out\n in\n in\n \n+[Sockets.Socket]\n+\n Socket object to initialize\n Protocol family\n Kind of sockets\n \n-[Sockets.Socket]\n-\n-\f18\n-\n-AdaSockets reference manual\n-\n Description\n This procedure initializes a new socket object by reserving a file descriptor to\n the operating system. For backward compatibility with older versions of this\n library, AF_INET is still accepted as a value but should be replaced as soon as\n possible with the proper PF_INET. Using SOCK_STREAM for the Typ argument\n will create a TCP socket while a SOCK_DGRAM will create a UDP one.\n Example\n 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 -- Perform some operations on socket\n [...]\n+\n+\f18\n+\n+AdaSockets reference manual\n+\n -- Shutdown the socket in both directions\n Shutdown (Sock, Both);\n end;\n See also [Shutdown (procedure)], page 17.\n \n Unset Buffer (procedure)\n Purpose\n@@ -1077,26 +1068,25 @@\n \n type Multicast_Socket_FD is new\n Socket FD with private;\n \n [Sockets.Multicast.Multicast Socket FD]\n \n The Multicast_Socket_FD tagged type derives from the Socket_FD type. It gets\n-initialized by calling [Create Multicast Socket (function)], page 19. An uninitialized\n+initialized by calling [Create Multicast Socket (function)], page 20. An uninitialized\n Multicast_Socket_FD can be succesfully compared to Null_Multicast_Socket_FD.\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; Port : Natural;\n TTL : Positive := 16; Self_Loop : Boolean := True;\n Local_If : String := 0.0.0.0)\n return Multicast Socket FD;\n Parameters\n Group\n Port\n@@ -1124,26 +1114,46 @@\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-See also [Send (procedure)], page 16,\n+declare\n+Sock\n+: Socket_FD;\n+Incoming : Socket_FD;\n+begin\n+-- Create a TCP socket listening on local port 4161\n+Socket (Sock, PF_INET, SOCK_STREAM);\n+Bind (Sock, 4161);\n+Listen (Sock, 3);\n+\n+\f20\n+\n+AdaSockets reference manual\n+\n+-- One-connection-at-a-time server (3 may be pending)\n+loop\n+-- Wait for a new connection and accept it\n+Accept_Socket (Sock, Incoming);\n+-- Do some dialog with the remote host\n+Do_Some_Dialog (Incoming);\n+-- Close incoming socket and wait for next connection\n+Shutdown (Incoming);\n+end loop;\n+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-\f20\n-\n-AdaSockets reference manual\n-\n Prototype\n \n function\n [Sockets.Multicast.Create Multicast Socket]\n Create_Multicast_Socket (Group : String; Port : Positive;\n Local_Port : Natural; TTL : Positive := 16;\n Local_If : String := 0.0.0.0)\n@@ -1178,21 +1188,26 @@\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+\n+\fChapter 5: Sockets.Multicast package\n+\n -- Shutdown the socket in both directions\n Shutdown (Sock, Both);\n end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n-\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@@ -1261,17 +1276,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@@ -1300,16 +1315,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@@ -1324,16 +1339,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@@ -1348,20 +1363,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@@ -1376,16 +1391,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@@ -1413,19 +1428,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@@ -1496,19 +1511,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@@ -1518,21 +1533,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@@ -1549,93 +1564,93 @@\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 http://www.rfc1149.net/devel/adasockets\n You can report issues or submit questions on GitHub\u2019s issue tracker at:\n https://github.com/samueltardieu/adasockets/issues\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-AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n-Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n-Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n+Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n+Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11\n-Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 12\n-Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n+Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11\n+Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Group communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n \n H\n B\n Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+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_Refused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 29\n+Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 31\n Create_Multicast_Socket . . . . . . . . . . . . . . . 5, 19, 20\n-Creating a multicast socket . . . . . . . . . . . . . . . . . . 5, 19\n-Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Creating a socket . . . . . . . . . . . . . . . . . . . . . . . . 5, 17, 19\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 \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, 17\n-IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IP_MULTICAST_LOOP . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IP_MULTICAST_TTL . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n+IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_MULTICAST_LOOP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IP_MULTICAST_TTL . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n \n L\n LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n M\n@@ -1647,115 +1662,115 @@\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_\n Multicast_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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Sockets.Receive. . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15\n+Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+Sockets.Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Sockets.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Sockets.Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n-Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Stream_Element_Array . . . . . . . . . . . . . . . 6, 14, 15, 16\n+SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15\n Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15\n-String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n \n R\n Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6\n-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15, 17\n+Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17\n Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Receiving data . . . . . . . . . . 6, 9, 10, 11, 14, 15, 16, 18\n-Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 17\n-Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 14, 16\n-Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n+Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 17\n+Sending data . . . . . . . . . . . . . . . . . . . . . . . . . 6, 11, 13, 15\n+Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31\n Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setting socket options . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-SOCK_DGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOCK_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+SOCK_DGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+SOCK_STREAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n Socket shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Socket_FD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 7\n Sockets.Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . 7\n Sockets.Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Sockets.Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Sockets.Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Sockets.Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n+Sockets.Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Sockets.Get_Receive_Queue_Size . . . . . . . . . . . . . 11\n-Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 12\n+Sockets.Get_Send_Queue_Size . . . . . . . . . . . . . . . . 11\n Sockets.Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n-Sockets.IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_MULTICAST_LOOP . . . . . . . . . . . . . . . 12, 17\n-Sockets.IP_MULTICAST_TTL . . . . . . . . . . . . . . . . 12, 17\n-Sockets.IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_MULTICAST_LOOP . . . . . . . . . . . . . . . 12, 16\n+Sockets.IP_MULTICAST_TTL . . . . . . . . . . . . . . . . 12, 16\n+Sockets.IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n T\n TCP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n \n U\n UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n 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": "@@ -741,3969 +741,4219 @@\n 00002e40: 2077 696c 6c20 626c 6f63 6b20 756e 7469 will block unti\n 00002e50: 6c20 616e 2069 6e63 6f6d 696e 6720 636f l an incoming co\n 00002e60: 6e6e 6563 7469 6f6e 2069 7320 7265 6164 nnection is read\n 00002e70: 7920 746f 0a20 2020 2020 6265 2061 6363 y to. be acc\n 00002e80: 6570 7465 642e 0a0a 4558 414d 504c 450a epted...EXAMPLE.\n 00002e90: 2020 2020 2020 2020 2020 6465 636c 6172 declar\n 00002ea0: 650a 2020 2020 2020 2020 2020 2020 2053 e. S\n-00002eb0: 6f63 6b20 2020 2020 3a20 536f 636b 6574 ock : Socket\n-00002ec0: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n-00002ed0: 2020 496e 636f 6d69 6e67 203a 2053 6f63 Incoming : Soc\n-00002ee0: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-00002ef0: 2020 6265 6769 6e0a 2020 2020 2020 2020 begin. \n-00002f00: 2020 2020 202d 2d20 4372 6561 7465 2061 -- Create a\n-00002f10: 2054 4350 2073 6f63 6b65 7420 6c69 7374 TCP socket list\n-00002f20: 656e 696e 6720 6f6e 206c 6f63 616c 2070 ening on local p\n-00002f30: 6f72 7420 3431 3631 0a20 2020 2020 2020 ort 4161. \n-00002f40: 2020 2020 2020 536f 636b 6574 2028 536f Socket (So\n-00002f50: 636b 2c20 5046 5f49 4e45 542c 2053 4f43 ck, PF_INET, SOC\n-00002f60: 4b5f 5354 5245 414d 293b 0a20 2020 2020 K_STREAM);. \n-00002f70: 2020 2020 2020 2020 4269 6e64 2028 536f Bind (So\n-00002f80: 636b 2c20 3431 3631 293b 0a20 2020 2020 ck, 4161);. \n-00002f90: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n-00002fa0: 536f 636b 2c20 3329 3b0a 2020 2020 2020 Sock, 3);. \n-00002fb0: 2020 2020 2020 202d 2d20 4f6e 652d 636f -- One-co\n-00002fc0: 6e6e 6563 7469 6f6e 2d61 742d 612d 7469 nnection-at-a-ti\n-00002fd0: 6d65 2073 6572 7665 7220 2833 206d 6179 me server (3 may\n-00002fe0: 2062 6520 7065 6e64 696e 6729 0a20 2020 be pending). \n-00002ff0: 2020 2020 2020 2020 2020 6c6f 6f70 0a20 loop. \n-00003000: 2020 2020 2020 2020 2020 2020 2020 202d -\n-00003010: 2d20 5761 6974 2066 6f72 2061 206e 6577 - Wait for a new\n-00003020: 2063 6f6e 6e65 6374 696f 6e20 616e 6420 connection and \n-00003030: 6163 6365 7074 2069 740a 2020 2020 2020 accept it. \n-00003040: 2020 2020 2020 2020 2020 4163 6365 7074 Accept\n-00003050: 5f53 6f63 6b65 7420 2853 6f63 6b2c 2049 _Socket (Sock, I\n-00003060: 6e63 6f6d 696e 6729 3b0a 2020 2020 2020 ncoming);. \n-00003070: 2020 2020 2020 2020 2020 2d2d 2044 6f20 -- Do \n-00003080: 736f 6d65 2064 6961 6c6f 6720 7769 7468 some dialog with\n-00003090: 2074 6865 2072 656d 6f74 6520 686f 7374 the remote host\n-000030a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000030b0: 2044 6f5f 536f 6d65 5f44 6961 6c6f 6720 Do_Some_Dialog \n-000030c0: 2849 6e63 6f6d 696e 6729 3b0a 2020 2020 (Incoming);. \n-000030d0: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n-000030e0: 6c6f 7365 2069 6e63 6f6d 696e 6720 736f lose incoming so\n-000030f0: 636b 6574 2061 6e64 2077 6169 7420 666f cket and wait fo\n-00003100: 7220 6e65 7874 2063 6f6e 6e65 6374 696f r next connectio\n-00003110: 6e0a 2020 2020 2020 2020 2020 2020 2020 n. \n-00003120: 2020 5368 7574 646f 776e 2028 496e 636f Shutdown (Inco\n-00003130: 6d69 6e67 293b 0a20 2020 2020 2020 2020 ming);. \n-00003140: 2020 2020 656e 6420 6c6f 6f70 3b0a 2020 end loop;. \n-00003150: 2020 2020 2020 2020 656e 643b 0a0a 5345 end;..SE\n-00003160: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00003170: 6520 4269 6e64 2028 7072 6f63 6564 7572 e Bind (procedur\n-00003180: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00003190: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n-000031a0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n-000031b0: 6520 5368 7574 646f 776e 2028 7072 6f63 e Shutdown (proc\n-000031c0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n-000031d0: 6e6f 7465 2053 6f63 6b65 7420 2870 726f note Socket (pro\n-000031e0: 6365 6475 7265 293a 3a2e 0a0a 2a20 4d65 cedure)::...* Me\n-000031f0: 6e75 3a0a 0a2a 2042 696e 6420 2870 726f nu:..* Bind (pro\n-00003200: 6365 6475 7265 293a 3a0a 2a20 436f 6e6e cedure)::.* Conn\n-00003210: 6563 7420 2870 726f 6365 6475 7265 293a ect (procedure):\n-00003220: 3a0a 2a20 4765 7420 2866 756e 6374 696f :.* Get (functio\n-00003230: 6e29 3a3a 0a2a 2047 6574 5f43 6861 7220 n)::.* Get_Char \n-00003240: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n-00003250: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-00003260: 6e29 3a3a 0a2a 2047 6574 5f4c 696e 6520 n)::.* Get_Line \n-00003270: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-00003280: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n-00003290: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-000032a0: 293a 3a0a 2a20 4765 745f 5365 6e64 5f51 )::.* Get_Send_Q\n-000032b0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-000032c0: 696f 6e29 3a3a 0a2a 2047 6574 736f 636b ion)::.* Getsock\n-000032d0: 6f70 7420 2870 726f 6365 6475 7265 293a opt (procedure):\n-000032e0: 3a0a 2a20 4c69 7374 656e 2028 7072 6f63 :.* Listen (proc\n-000032f0: 6564 7572 6529 3a3a 0a2a 204e 6577 5f4c edure)::.* New_L\n-00003300: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n-00003310: 3a0a 2a20 5075 7420 2870 726f 6365 6475 :.* Put (procedu\n-00003320: 7265 293a 3a0a 2a20 5075 745f 4c69 6e65 re)::.* Put_Line\n-00003330: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n-00003340: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00003350: 6f6e 293a 3a0a 2a20 5265 6365 6976 6520 on)::.* Receive \n-00003360: 2870 726f 6365 6475 7265 293a 3a0a 2a20 (procedure)::.* \n-00003370: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-00003380: 6f63 6564 7572 6529 3a3a 0a2a 2053 656e ocedure)::.* Sen\n-00003390: 6420 2870 726f 6365 6475 7265 293a 3a0a d (procedure)::.\n-000033a0: 2a20 5365 745f 4275 6666 6572 2028 7072 * Set_Buffer (pr\n-000033b0: 6f63 6564 7572 6529 3a3a 0a2a 2053 6574 ocedure)::.* Set\n-000033c0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-000033d0: 7265 293a 3a0a 2a20 5368 7574 646f 776e re)::.* Shutdown\n-000033e0: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n-000033f0: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n-00003400: 7265 293a 3a0a 0a1f 0a46 696c 653a 2061 re)::....File: a\n-00003410: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00003420: 204e 6f64 653a 2042 696e 6420 2870 726f Node: Bind (pro\n-00003430: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n-00003440: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n-00003450: 7265 292c 2020 5072 6576 3a20 4163 6365 re), Prev: Acce\n-00003460: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00003470: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-00003480: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00003490: 6475 7265 290a 0a42 696e 6420 2870 726f dure)..Bind (pro\n-000034a0: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-000034b0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-000034c0: 450a 2020 2020 2041 7373 6f63 6961 7465 E. Associate\n-000034d0: 2061 206c 6f63 616c 2070 6f72 7420 746f a local port to\n-000034e0: 2061 2073 6f63 6b65 740a 5052 4f54 4f54 a socket.PROTOT\n-000034f0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00003500: 6b65 7473 2e42 696e 643a 2070 726f 6365 kets.Bind: proce\n-00003510: 6475 7265 2042 696e 6420 2853 4f43 4b45 dure Bind (SOCKE\n-00003520: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n-00003530: 2020 2020 2020 2020 2020 2020 2020 504f PO\n-00003540: 5254 203a 204e 6174 7572 616c 3b20 484f RT : Natural; HO\n-00003550: 5354 203a 2053 7472 696e 6720 3a3d 2022 ST : String := \"\n-00003560: 2229 3b0a 0a50 4152 414d 4554 4552 530a \");..PARAMETERS.\n-00003570: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-00003580: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n-00003590: 616c 697a 6564 2073 6f63 6b65 7420 6f62 alized socket ob\n-000035a0: 6a65 6374 0a20 2020 2020 504f 5254 2020 ject. PORT \n-000035b0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-000035c0: 4c6f 6361 6c20 706f 7274 2074 6f20 6269 Local port to bi\n-000035d0: 6e64 2074 6f0a 2020 2020 2048 4f53 5420 nd to. HOST \n-000035e0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n-000035f0: 204c 6f63 616c 2069 6e74 6572 6661 6365 Local interface\n-00003600: 2074 6f20 6269 6e64 2074 6f0a 0a44 4553 to bind to..DES\n-00003610: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n-00003620: 6973 2070 726f 6365 6475 7265 2072 6571 is procedure req\n-00003630: 7565 7374 7320 6120 6c6f 6361 6c20 706f uests a local po\n-00003640: 7274 2066 726f 6d20 7468 6520 6f70 6572 rt from the oper\n-00003650: 6174 696e 6720 7379 7374 656d 2e20 2049 ating system. I\n-00003660: 660a 2020 2020 2030 2069 7320 6769 7665 f. 0 is give\n-00003670: 6e20 696e 2050 4f52 542c 2074 6865 2073 n in PORT, the s\n-00003680: 7973 7465 6d20 7769 6c6c 2061 7373 6967 ystem will assig\n-00003690: 6e20 6120 6672 6565 2070 6f72 7420 7768 n a free port wh\n-000036a0: 6f73 6520 6e75 6d62 6572 0a20 2020 2020 ose number. \n-000036b0: 6361 6e20 6c61 7465 7220 6265 2072 6574 can later be ret\n-000036c0: 7269 6576 6564 2075 7369 6e67 202a 6e6f rieved using *no\n-000036d0: 7465 2047 6574 5f53 6f63 6b5f 506f 7274 te Get_Sock_Port\n-000036e0: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a20 (function)::.. \n-000036f0: 2020 2020 416c 736f 2c20 6d6f 7374 206f Also, most o\n-00003700: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n-00003710: 2072 6571 7569 7265 2073 7065 6369 616c require special\n-00003720: 2070 7269 7669 6c65 6765 7320 6966 2079 privileges if y\n-00003730: 6f75 2077 616e 740a 2020 2020 2074 6f20 ou want. to \n-00003740: 6269 6e64 2074 6f20 706f 7274 7320 6265 bind to ports be\n-00003750: 6c6f 7720 3130 3234 2e0a 0a20 2020 2020 low 1024... \n-00003760: 4966 2048 4f53 5420 6973 206e 6f74 2074 If HOST is not t\n-00003770: 6865 2065 6d70 7479 2073 7472 696e 672c he empty string,\n-00003780: 2069 7420 6d75 7374 2063 6f6e 7461 696e it must contain\n-00003790: 2074 6865 2049 5020 6164 6472 6573 7320 the IP address \n-000037a0: 6f66 0a20 2020 2020 6120 6c6f 6361 6c20 of. a local \n-000037b0: 696e 7465 7266 6163 6520 746f 2062 696e interface to bin\n-000037c0: 6420 746f 2c20 6f72 2061 206e 616d 6520 d to, or a name \n-000037d0: 7768 6963 6820 7265 736f 6c76 6573 2069 which resolves i\n-000037e0: 6e74 6f20 7375 6368 2061 6e0a 2020 2020 nto such an. \n-000037f0: 2061 6464 7265 7373 2e20 2049 6620 616e address. If an\n-00003800: 2065 6d70 7479 2073 7472 696e 6720 6973 empty string is\n-00003810: 2067 6976 656e 2028 7468 6520 6465 6661 given (the defa\n-00003820: 756c 7429 2c20 7468 6520 736f 636b 6574 ult), the socket\n-00003830: 0a20 2020 2020 7769 6c6c 2062 6520 626f . will be bo\n-00003840: 756e 6420 746f 2061 6c6c 2074 6865 2061 und to all the a\n-00003850: 7661 696c 6162 6c65 2069 6e74 6572 6661 vailable interfa\n-00003860: 6365 732e 0a0a 4558 4345 5054 494f 4e53 ces...EXCEPTIONS\n-00003870: 0a20 2020 2020 2753 6f63 6b65 745f 4572 . 'Socket_Er\n-00003880: 726f 7227 2020 2020 2052 6571 7565 7374 ror' Request\n-00003890: 6564 2070 6f72 7420 6f72 2069 6e74 6572 ed port or inter\n-000038a0: 6661 6365 206e 6f74 2061 7661 696c 6162 face not availab\n-000038b0: 6c65 0a0a 5345 4520 414c 534f 0a20 2020 le..SEE ALSO. \n-000038c0: 2020 2a6e 6f74 6520 4c69 7374 656e 2028 *note Listen (\n-000038d0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n-000038e0: 2020 202a 6e6f 7465 2053 6f63 6b65 7420 *note Socket \n-000038f0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-00003900: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-00003910: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-00003920: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n-00003930: 7265 292c 2020 4e65 7874 3a20 4765 7420 re), Next: Get \n-00003940: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n-00003950: 763a 2042 696e 6420 2870 726f 6365 6475 v: Bind (procedu\n-00003960: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n-00003970: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-00003980: 7265 290a 0a43 6f6e 6e65 6374 2028 7072 re)..Connect (pr\n-00003990: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-000039a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-000039b0: 5250 4f53 450a 2020 2020 2043 6f6e 6e65 RPOSE. Conne\n-000039c0: 6374 2061 2073 6f63 6b65 7420 6f6e 2061 ct a socket on a\n-000039d0: 2067 6976 656e 2068 6f73 742f 706f 7274 given host/port\n-000039e0: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-000039f0: 202d 2d20 536f 636b 6574 732e 436f 6e6e -- Sockets.Conn\n-00003a00: 6563 743a 2070 726f 6365 6475 7265 2043 ect: procedure C\n-00003a10: 6f6e 6e65 6374 2028 534f 434b 4554 203a onnect (SOCKET :\n-00003a20: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n-00003a30: 2020 2020 2020 2020 2020 2048 4f53 5420 HOST \n-00003a40: 3a20 5374 7269 6e67 3b20 504f 5254 203a : String; PORT :\n-00003a50: 2050 6f73 6974 6976 6529 3b0a 0a50 4152 Positive);..PAR\n-00003a60: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00003a70: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n-00003a80: 2020 2049 6e69 7469 616c 697a 6564 2073 Initialized s\n-00003a90: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00003aa0: 2020 484f 5354 2020 2020 2020 2069 6e20 HOST in \n-00003ab0: 2020 2020 2020 2020 486f 7374 2074 6f20 Host to \n-00003ac0: 636f 6e6e 6563 7420 746f 0a20 2020 2020 connect to. \n-00003ad0: 504f 5254 2020 2020 2020 2069 6e20 2020 PORT in \n-00003ae0: 2020 2020 2020 506f 7274 2074 6f20 636f Port to co\n-00003af0: 6e6e 6563 7420 746f 0a0a 4445 5343 5249 nnect to..DESCRI\n-00003b00: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00003b10: 7072 6f63 6564 7572 6520 636f 6e6e 6563 procedure connec\n-00003b20: 7473 2061 6e20 696e 6974 6961 6c69 7a65 ts an initialize\n-00003b30: 6420 736f 636b 6574 2074 6f20 6120 6769 d socket to a gi\n-00003b40: 7665 6e20 686f 7374 206f 6e20 610a 2020 ven host on a. \n-00003b50: 2020 2067 6976 656e 2070 6f72 742e 2020 given port. \n-00003b60: 496e 2074 6865 2063 6173 6520 6f66 2061 In the case of a\n-00003b70: 2054 4350 2073 6f63 6b65 742c 2061 2072 TCP socket, a r\n-00003b80: 6561 6c20 636f 6e6e 6563 7469 6f6e 2069 eal connection i\n-00003b90: 730a 2020 2020 2061 7474 656d 7074 6564 s. attempted\n-00003ba0: 2e20 2049 6e20 7468 6520 6361 7365 206f . In the case o\n-00003bb0: 6620 6120 5544 5020 736f 636b 6574 2c20 f a UDP socket, \n-00003bc0: 6e6f 2063 6f6e 6e65 6374 696f 6e20 7461 no connection ta\n-00003bd0: 6b65 7320 706c 6163 650a 2020 2020 2062 kes place. b\n-00003be0: 7574 2074 6865 2065 6e64 706f 696e 7420 ut the endpoint \n-00003bf0: 636f 6f72 6469 6e61 7465 7320 6172 6520 coordinates are \n-00003c00: 7265 636f 7264 6564 2e0a 0a45 5843 4550 recorded...EXCEP\n-00003c10: 5449 4f4e 530a 2020 2020 2027 436f 6e6e TIONS. 'Conn\n-00003c20: 6563 7469 6f6e 5f52 6566 7573 6564 2754 ection_Refused'T\n-00003c30: 6865 2063 6f6e 6e65 6374 696f 6e20 6861 he connection ha\n-00003c40: 7320 6265 656e 2072 6566 7573 6564 2062 s been refused b\n-00003c50: 7920 7468 650a 2020 2020 2020 2020 2020 y the. \n-00003c60: 2020 2020 2020 2020 2020 2020 2020 7365 se\n-00003c70: 7276 6572 0a20 2020 2020 2753 6f63 6b65 rver. 'Socke\n-00003c80: 745f 4572 726f 7227 2020 2020 2041 6e6f t_Error' Ano\n-00003c90: 7468 6572 2065 7272 6f72 206f 6363 7572 ther error occur\n-00003ca0: 7265 6420 6475 7269 6e67 2074 6865 0a20 red during the. \n-00003cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003cc0: 2020 2020 2020 2063 6f6e 6e65 6374 696f connectio\n-00003cd0: 6e0a 0a45 5841 4d50 4c45 0a20 2020 2020 n..EXAMPLE. \n-00003ce0: 2020 2020 2064 6563 6c61 7265 0a20 2020 declare. \n-00003cf0: 2020 2020 2020 2020 2020 536f 636b 203a Sock :\n-00003d00: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n-00003d10: 2020 2020 2020 6265 6769 6e0a 2020 2020 begin. \n-00003d20: 2020 2020 2020 2020 202d 2d20 4372 6561 -- Crea\n-00003d30: 7465 2061 2054 4350 2073 6f63 6b65 740a te a TCP socket.\n-00003d40: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-00003d50: 6b65 7420 2853 6f63 6b2c 2050 465f 494e ket (Sock, PF_IN\n-00003d60: 4554 2c20 534f 434b 5f53 5452 4541 4d29 ET, SOCK_STREAM)\n-00003d70: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n-00003d80: 2d20 436f 6e6e 6563 7420 6974 2074 6f20 - Connect it to \n-00003d90: 7266 6331 3134 392e 6e65 7427 7320 6d61 rfc1149.net's ma\n-00003da0: 696c 2073 6572 7665 720a 2020 2020 2020 il server. \n-00003db0: 2020 2020 2020 2043 6f6e 6e65 6374 2028 Connect (\n-00003dc0: 536f 636b 2c20 226d 6169 6c2e 7266 6331 Sock, \"mail.rfc1\n-00003dd0: 3134 392e 6e65 7422 2c20 3235 293b 0a20 149.net\", 25);. \n-00003de0: 2020 2020 2020 2020 2020 2020 2d2d 2044 -- D\n-00003df0: 6f20 6120 6d61 696c 2074 7261 6e73 6163 o a mail transac\n-00003e00: 7469 6f6e 2074 6865 6e20 636c 6f73 6520 tion then close \n-00003e10: 7468 6520 736f 636b 6574 0a20 2020 2020 the socket. \n-00003e20: 2020 2020 2020 2020 5b2e 2e2e 5d0a 2020 [...]. \n-00003e30: 2020 2020 2020 2020 656e 643b 0a0a 5345 end;..SE\n-00003e40: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00003e50: 6520 536f 636b 6574 2028 7072 6f63 6564 e Socket (proced\n-00003e60: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00003e70: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00003e80: 2c20 204e 6f64 653a 2047 6574 2028 6675 , Node: Get (fu\n-00003e90: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-00003ea0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-00003eb0: 6f6e 292c 2020 5072 6576 3a20 436f 6e6e on), Prev: Conn\n-00003ec0: 6563 7420 2870 726f 6365 6475 7265 292c ect (procedure),\n-00003ed0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-00003ee0: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00003ef0: 0a47 6574 2028 6675 6e63 7469 6f6e 290a .Get (function).\n-00003f00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00003f10: 5055 5250 4f53 450a 2020 2020 2047 6574 PURPOSE. Get\n-00003f20: 2061 2073 7472 696e 6720 6672 6f6d 2061 a string from a\n-00003f30: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n-00003f40: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00003f50: 536f 636b 6574 732e 4765 743a 2066 756e Sockets.Get: fun\n-00003f60: 6374 696f 6e20 4765 7420 2853 4f43 4b45 ction Get (SOCKE\n-00003f70: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n-00003f80: 6173 7329 0a20 2020 2020 2020 2020 2020 ass). \n-00003f90: 2020 2020 7265 7475 726e 2053 7472 696e return Strin\n-00003fa0: 673b 0a0a 5041 5241 4d45 5445 5253 0a20 g;..PARAMETERS. \n-00003fb0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00003fc0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00003fd0: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n-00003fe0: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n-00003ff0: 740a 0a52 4554 5552 4e20 5641 4c55 450a t..RETURN VALUE.\n-00004000: 2020 2020 2053 6f6d 6520 6368 6172 6163 Some charac\n-00004010: 7465 7273 2074 6861 7420 6861 7665 2062 ters that have b\n-00004020: 6565 6e20 7265 6365 6976 6564 0a0a 4445 een received..DE\n-00004030: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n-00004040: 6869 7320 6675 6e63 7469 6f6e 2072 6563 his function rec\n-00004050: 6569 7665 7320 736f 6d65 2063 6861 7261 eives some chara\n-00004060: 6374 6572 7320 6672 6f6d 2061 2072 656d cters from a rem\n-00004070: 6f74 6520 686f 7374 2e20 2041 7320 736f ote host. As so\n-00004080: 6f6e 0a20 2020 2020 7468 6174 2061 7420 on. that at \n-00004090: 6c65 6173 7420 6f6e 6520 6368 6172 6163 least one charac\n-000040a0: 7465 7220 6973 2061 7661 696c 6162 6c65 ter is available\n-000040b0: 2c20 7468 6520 6375 7272 656e 7420 7265 , the current re\n-000040c0: 6365 7074 696f 6e0a 2020 2020 2062 7566 ception. buf\n-000040d0: 6665 7220 6973 2072 6574 7572 6e65 642e fer is returned.\n-000040e0: 0a0a 2020 2020 2054 6865 7265 2069 7320 .. There is \n-000040f0: 7573 7561 6c6c 7920 6c69 7474 6c65 2067 usually little g\n-00004100: 6169 6e20 696e 2075 7369 6e67 2074 6869 ain in using thi\n-00004110: 7320 6675 6e63 7469 6f6e 2077 686f 7365 s function whose\n-00004120: 2062 6568 6176 696f 7572 0a20 2020 2020 behaviour. \n-00004130: 6973 2063 6f6d 7061 7261 626c 6520 746f is comparable to\n-00004140: 2074 6865 206f 6e65 206f 6620 2a6e 6f74 the one of *not\n-00004150: 6520 5265 6365 6976 6520 2866 756e 6374 e Receive (funct\n-00004160: 696f 6e29 3a3a 2e20 204f 7468 6572 0a20 ion)::. Other. \n-00004170: 2020 2020 6675 6e63 7469 6f6e 7320 7375 functions su\n-00004180: 6368 2061 7320 2a6e 6f74 6520 4765 745f ch as *note Get_\n-00004190: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n-000041a0: 3a2c 206f 7220 2a6e 6f74 6520 4765 745f :, or *note Get_\n-000041b0: 4c69 6e65 0a20 2020 2020 2866 756e 6374 Line. (funct\n-000041c0: 696f 6e29 3a3a 2c20 616c 6c6f 7720 6d6f ion)::, allow mo\n-000041d0: 7265 2073 7472 7563 7475 7265 6420 7072 re structured pr\n-000041e0: 6f67 7261 6d6d 696e 672e 0a0a 2020 2020 ogramming... \n-000041f0: 2048 6f77 6576 6572 2c20 7468 6973 2066 However, this f\n-00004200: 756e 6374 696f 6e20 6d61 7920 6265 2075 unction may be u\n-00004210: 7365 6420 746f 2061 766f 6964 206c 6f6f sed to avoid loo\n-00004220: 7369 6e67 2063 6861 7261 6374 6572 7320 sing characters \n-00004230: 7768 656e 0a20 2020 2020 6361 6c6c 696e when. callin\n-00004240: 6720 2a6e 6f74 6520 556e 7365 745f 4275 g *note Unset_Bu\n-00004250: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n-00004260: 3a3a 2c20 6966 2c20 666f 7220 736f 6d65 ::, if, for some\n-00004270: 2072 6561 736f 6e2c 2074 6865 0a20 2020 reason, the. \n-00004280: 2020 7265 6d6f 7465 2068 6f73 7420 6d61 remote host ma\n-00004290: 7920 6861 7665 2073 656e 7420 736f 6d65 y have sent some\n-000042a0: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n-000042b0: 2020 2027 436f 6e6e 6563 7469 6f6e 5f43 'Connection_C\n-000042c0: 6c6f 7365 6427 5065 6572 2068 6173 2063 losed'Peer has c\n-000042d0: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n-000042e0: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n-000042f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004300: 2020 2020 7365 6e64 696e 6720 616e 7920 sending any \n-00004310: 6461 7461 0a0a 1f0a 4669 6c65 3a20 6164 data....File: ad\n-00004320: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00004330: 4e6f 6465 3a20 4765 745f 4368 6172 2028 Node: Get_Char (\n-00004340: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-00004350: 3a20 4765 745f 4c69 6e65 2028 6675 6e63 : Get_Line (func\n-00004360: 7469 6f6e 292c 2020 5072 6576 3a20 4765 tion), Prev: Ge\n-00004370: 7420 2866 756e 6374 696f 6e29 2c20 2055 t (function), U\n-00004380: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00004390: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n-000043a0: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n-000043b0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-000043c0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-000043d0: 2020 2020 4765 7420 6120 6368 6172 6163 Get a charac\n-000043e0: 7465 7220 6672 6f6d 2061 2072 656d 6f74 ter from a remot\n-000043f0: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n-00004400: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00004410: 732e 4765 745f 4368 6172 3a20 6675 6e63 s.Get_Char: func\n-00004420: 7469 6f6e 2047 6574 5f43 6861 7220 2853 tion Get_Char (S\n-00004430: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00004440: 4427 436c 6173 7329 0a20 2020 2020 2020 D'Class). \n-00004450: 2020 2020 2020 2020 7265 7475 726e 2043 return C\n-00004460: 6861 7261 6374 6572 3b0a 0a50 4152 414d haracter;..PARAM\n-00004470: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-00004480: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n-00004490: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n-000044a0: 2063 6f6e 6e65 6374 6564 2073 6f63 6b65 connected socke\n-000044b0: 7420 6f62 6a65 6374 0a0a 5245 5455 524e t object..RETURN\n-000044c0: 2056 414c 5545 0a20 2020 2020 4f6e 6520 VALUE. One \n-000044d0: 6368 6172 6163 7465 7220 7365 6e74 2062 character sent b\n-000044e0: 7920 7468 6520 7265 6d6f 7465 2068 6f73 y the remote hos\n-000044f0: 740a 0a44 4553 4352 4950 5449 4f4e 0a20 t..DESCRIPTION. \n-00004500: 2020 2020 5468 6973 2066 756e 6374 696f This functio\n-00004510: 6e20 7265 6365 6976 6573 2065 7861 6374 n receives exact\n-00004520: 6c79 206f 6e65 2063 6861 7261 6374 6572 ly one character\n-00004530: 2066 726f 6d20 7468 6520 7265 6d6f 7465 from the remote\n-00004540: 2068 6f73 742e 0a0a 4558 4345 5054 494f host...EXCEPTIO\n-00004550: 4e53 0a20 2020 2020 2743 6f6e 6e65 6374 NS. 'Connect\n-00004560: 696f 6e5f 436c 6f73 6564 2750 6565 7220 ion_Closed'Peer \n-00004570: 6861 7320 636c 6f73 6564 2074 6865 2063 has closed the c\n-00004580: 6f6e 6e65 6374 696f 6e20 6265 666f 7265 onnection before\n-00004590: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000045a0: 2020 2020 2020 2020 2073 656e 6469 6e67 sending\n-000045b0: 2074 6865 2063 6861 7261 6374 6572 0a0a the character..\n-000045c0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-000045d0: 6f74 6520 4765 7420 2866 756e 6374 696f ote Get (functio\n-000045e0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n-000045f0: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-00004600: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n-00004610: 7465 2047 6574 5f4c 696e 6520 2870 726f te Get_Line (pro\n-00004620: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-00004630: 2a6e 6f74 6520 5265 6365 6976 6520 2870 *note Receive (p\n-00004640: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n-00004650: 2020 2a6e 6f74 6520 5365 745f 4275 6666 *note Set_Buff\n-00004660: 6572 2028 7072 6f63 6564 7572 6529 3a3a er (procedure)::\n-00004670: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00004680: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00004690: 653a 2047 6574 5f4c 696e 6520 2866 756e e: Get_Line (fun\n-000046a0: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G\n-000046b0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n-000046c0: 7265 292c 2020 5072 6576 3a20 4765 745f re), Prev: Get_\n-000046d0: 4368 6172 2028 6675 6e63 7469 6f6e 292c Char (function),\n-000046e0: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n-000046f0: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n-00004700: 0a47 6574 5f4c 696e 6520 2866 756e 6374 .Get_Line (funct\n-00004710: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n-00004720: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00004730: 450a 2020 2020 2047 6574 2061 2077 686f E. Get a who\n-00004740: 6c65 206c 696e 6520 6672 6f6d 2061 2072 le line from a r\n-00004750: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n-00004760: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-00004770: 636b 6574 732e 4765 745f 4c69 6e65 3a20 ckets.Get_Line: \n-00004780: 6675 6e63 7469 6f6e 2047 6574 5f4c 696e function Get_Lin\n-00004790: 6520 2853 4f43 4b45 5420 3a20 536f 636b e (SOCKET : Sock\n-000047a0: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n-000047b0: 2020 2020 2020 2020 2020 2020 4d41 585f MAX_\n-000047c0: 4c45 4e47 5448 203a 2050 6f73 6974 6976 LENGTH : Positiv\n-000047d0: 6520 3a3d 2032 3034 3829 0a20 2020 2020 e := 2048). \n-000047e0: 2020 2020 2020 2020 2020 7265 7475 726e return\n-000047f0: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME\n-00004800: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00004810: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00004820: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-00004830: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-00004840: 206f 626a 6563 740a 2020 2020 204d 4158 object. MAX\n-00004850: 5f4c 454e 4754 4820 696e 2020 2020 2020 _LENGTH in \n-00004860: 2020 204d 6178 696d 756d 2072 6574 7572 Maximum retur\n-00004870: 6e65 6420 6c69 6e65 206c 656e 6774 680a ned line length.\n-00004880: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-00004890: 2020 2041 206c 696e 6520 7769 7468 6f75 A line withou\n-000048a0: 7420 7468 6520 4352 2061 6e64 204c 4620 t the CR and LF \n-000048b0: 7365 7061 7261 746f 7273 0a0a 4445 5343 separators..DESC\n-000048c0: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-000048d0: 7320 6675 6e63 7469 6f6e 2072 6563 6569 s function recei\n-000048e0: 7665 7320 6f6e 6520 6c69 6e65 2066 726f ves one line fro\n-000048f0: 6d20 7468 6520 7265 6d6f 7465 2068 6f73 m the remote hos\n-00004900: 742e 2020 4120 6c69 6e65 0a20 2020 2020 t. A line. \n-00004910: 636f 6e73 6973 7473 2069 6e74 6f20 7a65 consists into ze\n-00004920: 726f 206f 7220 6d6f 7265 2063 6861 7261 ro or more chara\n-00004930: 6374 6572 7320 666f 6c6c 6f77 6564 2062 cters followed b\n-00004940: 7920 616e 206f 7074 696f 6e61 6c20 4352 y an optional CR\n-00004950: 0a20 2020 2020 616e 6420 6279 2061 204c . and by a L\n-00004960: 462e 2054 686f 7365 2074 6572 6d69 6e61 F. Those termina\n-00004970: 746f 7273 2061 7265 2073 7472 6970 7065 tors are strippe\n-00004980: 6420 6265 666f 7265 2074 6865 206c 696e d before the lin\n-00004990: 6520 6973 0a20 2020 2020 7265 7475 726e e is. return\n-000049a0: 6564 2e0a 0a20 2020 2020 5468 6973 2066 ed... This f\n-000049b0: 756e 6374 696f 6e20 626c 6f63 6b73 2075 unction blocks u\n-000049c0: 6e74 696c 206f 6e65 2066 756c 6c20 6c69 ntil one full li\n-000049d0: 6e65 2068 6173 2062 6565 6e20 7265 6365 ne has been rece\n-000049e0: 6976 6564 2e20 2054 6865 0a20 2020 2020 ived. The. \n-000049f0: 6c69 6e65 206c 656e 6774 6820 6973 206c line length is l\n-00004a00: 696d 6974 6564 2077 6974 6820 7468 6520 imited with the \n-00004a10: 7661 6c75 6520 6f66 2074 6865 204d 6178 value of the Max\n-00004a20: 5f4c 656e 6774 6820 6172 6775 6d65 6e74 _Length argument\n-00004a30: 2c0a 2020 2020 2074 6f20 6176 6f69 6420 ,. to avoid \n-00004a40: 6578 6861 7573 7469 6f6e 206f 6620 7468 exhaustion of th\n-00004a50: 6520 7365 636f 6e64 6172 7920 7374 6163 e secondary stac\n-00004a60: 6b2e 0a0a 4558 4345 5054 494f 4e53 0a20 k...EXCEPTIONS. \n-00004a70: 2020 2020 2743 6f6e 6e65 6374 696f 6e5f 'Connection_\n-00004a80: 436c 6f73 6564 2750 6565 7220 6861 7320 Closed'Peer has \n-00004a90: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n-00004aa0: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n-00004ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004ac0: 2020 2020 2073 656e 6469 6e67 2061 2077 sending a w\n-00004ad0: 686f 6c65 206c 696e 650a 0a53 4545 2041 hole line..SEE A\n-00004ae0: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047 LSO. *note G\n-00004af0: 6574 2028 6675 6e63 7469 6f6e 293a 3a2c et (function)::,\n-00004b00: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n-00004b10: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n-00004b20: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-00004b30: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00004b40: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00004b50: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-00004b60: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00004b70: 7465 2053 6574 5f42 7566 6665 7220 2870 te Set_Buffer (p\n-00004b80: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00004b90: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00004ba0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n-00004bb0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00004bc0: 6529 2c20 204e 6578 743a 2047 6574 5f52 e), Next: Get_R\n-00004bd0: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-00004be0: 6520 2866 756e 6374 696f 6e29 2c20 2050 e (function), P\n-00004bf0: 7265 763a 2047 6574 5f4c 696e 6520 2866 rev: Get_Line (f\n-00004c00: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n-00004c10: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n-00004c20: 6f63 6564 7572 6529 0a0a 4765 745f 4c69 ocedure)..Get_Li\n-00004c30: 6e65 2028 7072 6f63 6564 7572 6529 0a2d ne (procedure).-\n-00004c40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00004c50: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00004c60: 2020 4765 7420 6120 7768 6f6c 6520 6c69 Get a whole li\n-00004c70: 6e65 2066 726f 6d20 6120 7265 6d6f 7465 ne from a remote\n-00004c80: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-00004c90: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00004ca0: 2e47 6574 5f4c 696e 653a 2070 726f 6365 .Get_Line: proce\n-00004cb0: 6475 7265 2047 6574 5f4c 696e 6520 2853 dure Get_Line (S\n-00004cc0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00004cd0: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-00004ce0: 2020 2020 2020 2020 5354 5220 3a20 696e STR : in\n-00004cf0: 206f 7574 2053 7472 696e 673b 204c 4153 out String; LAS\n-00004d00: 5420 3a20 6f75 7420 4e61 7475 7261 6c29 T : out Natural)\n-00004d10: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-00004d20: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-00004d30: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-00004d40: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n-00004d50: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-00004d60: 0a20 2020 2020 5354 5220 2020 2020 2020 . STR \n-00004d70: 2069 6e20 6f75 7420 2020 2020 5374 7269 in out Stri\n-00004d80: 6e67 2074 6f20 6669 6c6c 0a20 2020 2020 ng to fill. \n-00004d90: 4c41 5354 2020 2020 2020 206f 7574 2020 LAST out \n-00004da0: 2020 2020 2020 4c61 7374 2069 6e64 6578 Last index\n-00004db0: 2075 7365 6420 696e 2074 6865 2073 7472 used in the str\n-00004dc0: 696e 670a 0a44 4553 4352 4950 5449 4f4e ing..DESCRIPTION\n-00004dd0: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n-00004de0: 6475 7265 2072 6563 6569 7665 7320 6f6e dure receives on\n-00004df0: 6520 6c69 6e65 2066 726f 6d20 7468 6520 e line from the \n-00004e00: 7265 6d6f 7465 2068 6f73 742e 2020 4120 remote host. A \n-00004e10: 6c69 6e65 0a20 2020 2020 636f 6e73 6973 line. consis\n-00004e20: 7473 2069 6e74 6f20 7a65 726f 206f 7220 ts into zero or \n-00004e30: 6d6f 7265 2063 6861 7261 6374 6572 7320 more characters \n-00004e40: 666f 6c6c 6f77 6564 2062 7920 616e 206f followed by an o\n-00004e50: 7074 696f 6e61 6c20 4352 0a20 2020 2020 ptional CR. \n-00004e60: 616e 6420 6279 2061 204c 462e 2054 686f and by a LF. Tho\n-00004e70: 7365 2074 6572 6d69 6e61 746f 7273 2061 se terminators a\n-00004e80: 7265 2073 7472 6970 7065 6420 6265 666f re stripped befo\n-00004e90: 7265 2074 6865 206c 696e 6520 6973 0a20 re the line is. \n-00004ea0: 2020 2020 7265 7475 726e 6564 2e0a 0a20 returned... \n-00004eb0: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00004ec0: 7265 2062 6c6f 636b 7320 756e 7469 6c20 re blocks until \n-00004ed0: 6f6e 6520 6675 6c6c 206c 696e 6520 6861 one full line ha\n-00004ee0: 7320 6265 656e 2072 6563 6569 7665 642e s been received.\n-00004ef0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n-00004f00: 2020 2743 6f6e 6e65 6374 696f 6e5f 436c 'Connection_Cl\n-00004f10: 6f73 6564 2750 6565 7220 6861 7320 636c osed'Peer has cl\n-00004f20: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n-00004f30: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n-00004f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004f50: 2020 2073 656e 6469 6e67 2061 2077 686f sending a who\n-00004f60: 6c65 206c 696e 650a 0a53 4545 2041 4c53 le line..SEE ALS\n-00004f70: 4f0a 2020 2020 202a 6e6f 7465 2047 6574 O. *note Get\n-00004f80: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n-00004f90: 2020 2020 2a6e 6f74 6520 4765 745f 4368 *note Get_Ch\n-00004fa0: 6172 2028 6675 6e63 7469 6f6e 293a 3a2c ar (function)::,\n-00004fb0: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n-00004fc0: 4c69 6e65 2028 6675 6e63 7469 6f6e 293a Line (function):\n-00004fd0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n-00004fe0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n-00004ff0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00005000: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n-00005010: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-00005020: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-00005030: 666f 2c20 204e 6f64 653a 2047 6574 5f52 fo, Node: Get_R\n-00005040: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-00005050: 6520 2866 756e 6374 696f 6e29 2c20 204e e (function), N\n-00005060: 6578 743a 2047 6574 5f53 656e 645f 5175 ext: Get_Send_Qu\n-00005070: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-00005080: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_\n-00005090: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-000050a0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-000050b0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-000050c0: 0a0a 4765 745f 5265 6365 6976 655f 5175 ..Get_Receive_Qu\n-000050d0: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-000050e0: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-000050f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005100: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00005110: 2020 2020 5265 7475 726e 2074 6865 2073 Return the s\n-00005120: 697a 6520 6f66 2074 6865 2075 6e72 6561 ize of the unrea\n-00005130: 6420 6461 7461 2069 6e20 7468 6520 696e d data in the in\n-00005140: 7075 7420 7175 6575 650a 5052 4f54 4f54 put queue.PROTOT\n-00005150: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00005160: 6b65 7473 2e47 6574 5f52 6563 6569 7665 kets.Get_Receive\n-00005170: 5f51 7565 7565 5f53 697a 653a 2066 756e _Queue_Size: fun\n-00005180: 6374 696f 6e20 4765 745f 5265 6365 6976 ction Get_Receiv\n-00005190: 655f 5175 6575 655f 5369 7a65 0a20 2020 e_Queue_Size. \n-000051a0: 2020 2020 2020 2020 2020 2020 2853 4f43 (SOC\n-000051b0: 4b45 5420 3a20 536f 636b 6574 5f46 4427 KET : Socket_FD'\n-000051c0: 436c 6173 7329 0a20 2020 2020 2020 2020 Class). \n-000051d0: 2020 2020 2020 7265 7475 726e 2049 6e74 return Int\n-000051e0: 6567 6572 3b0a 0a50 4152 414d 4554 4552 eger;..PARAMETER\n-000051f0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00005200: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00005210: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-00005220: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-00005230: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n-00005240: 5545 0a20 2020 2020 5468 6520 6e6f 6e2d UE. The non-\n-00005250: 6e65 6761 7469 7665 2073 697a 6520 696e negative size in\n-00005260: 2062 7974 6573 206f 6620 7468 6520 696e bytes of the in\n-00005270: 7075 7420 7175 6575 650a 0a44 4553 4352 put queue..DESCR\n-00005280: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00005290: 2066 756e 6374 696f 6e20 6973 206f 6e6c function is onl\n-000052a0: 7920 6176 6169 6c61 626c 6520 6f6e 204c y available on L\n-000052b0: 696e 7578 2070 6c61 7466 6f72 6d73 2e20 inux platforms. \n-000052c0: 204f 6e20 6f74 6865 720a 2020 2020 206f On other. o\n-000052d0: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n-000052e0: 2c20 6974 2077 696c 6c20 7265 7475 726e , it will return\n-000052f0: 202d 3220 746f 2069 6e64 6963 6174 6520 -2 to indicate \n-00005300: 7468 6174 2074 6865 206e 6563 6573 7361 that the necessa\n-00005310: 7279 0a20 2020 2020 6d65 6368 616e 6973 ry. mechanis\n-00005320: 6d73 2074 6f20 7265 7472 6965 7665 2074 ms to retrieve t\n-00005330: 6865 2069 6e66 6f72 6d61 7469 6f6e 2061 he information a\n-00005340: 7265 206e 6f74 2061 7661 696c 6162 6c65 re not available\n-00005350: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n-00005360: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n-00005370: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00005380: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00005390: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-000053a0: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n-000053b0: 7a65 2028 6675 6e63 7469 6f6e 292c 2020 ze (function), \n-000053c0: 4e65 7874 3a20 4765 7473 6f63 6b6f 7074 Next: Getsockopt\n-000053d0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-000053e0: 7265 763a 2047 6574 5f52 6563 6569 7665 rev: Get_Receive\n-000053f0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-00005400: 6374 696f 6e29 2c20 2055 703a 2041 6363 ction), Up: Acc\n-00005410: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00005420: 6564 7572 6529 0a0a 4765 745f 5365 6e64 edure)..Get_Send\n-00005430: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n-00005440: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n-00005450: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005460: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00005470: 2020 2020 5265 7475 726e 2074 6865 2073 Return the s\n-00005480: 697a 6520 6f66 2074 6865 2075 6e73 656e ize of the unsen\n-00005490: 7420 6461 7461 2069 6e20 7468 6520 6f75 t data in the ou\n-000054a0: 7470 7574 2071 7565 7565 0a50 524f 544f tput queue.PROTO\n-000054b0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-000054c0: 636b 6574 732e 4765 745f 5365 6e64 5f51 ckets.Get_Send_Q\n-000054d0: 7565 7565 5f53 697a 653a 2066 756e 6374 ueue_Size: funct\n-000054e0: 696f 6e20 4765 745f 5365 6e64 5f51 7565 ion Get_Send_Que\n-000054f0: 7565 5f53 697a 650a 2020 2020 2020 2020 ue_Size. \n-00005500: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-00005510: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-00005520: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-00005530: 2072 6574 7572 6e20 496e 7465 6765 723b return Integer;\n-00005540: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00005550: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-00005560: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n-00005570: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n-00005580: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-00005590: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-000055a0: 2020 2054 6865 206e 6f6e 2d6e 6567 6174 The non-negat\n-000055b0: 6976 6520 7369 7a65 2069 6e20 6279 7465 ive size in byte\n-000055c0: 7320 6f66 2074 6865 206f 7574 7075 7420 s of the output \n-000055d0: 7175 6575 650a 0a44 4553 4352 4950 5449 queue..DESCRIPTI\n-000055e0: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n-000055f0: 6374 696f 6e20 6973 206f 6e6c 7920 6176 ction is only av\n-00005600: 6169 6c61 626c 6520 6f6e 204c 696e 7578 ailable on Linux\n-00005610: 2070 6c61 7466 6f72 6d73 2e20 204f 6e20 platforms. On \n-00005620: 6f74 6865 720a 2020 2020 206f 7065 7261 other. opera\n-00005630: 7469 6e67 2073 7973 7465 6d73 2c20 6974 ting systems, it\n-00005640: 2077 696c 6c20 7265 7475 726e 202d 3220 will return -2 \n-00005650: 746f 2069 6e64 6963 6174 6520 7468 6174 to indicate that\n-00005660: 2074 6865 206e 6563 6573 7361 7279 0a20 the necessary. \n-00005670: 2020 2020 6d65 6368 616e 6973 6d73 2074 mechanisms t\n-00005680: 6f20 7265 7472 6965 7665 2074 6865 2069 o retrieve the i\n-00005690: 6e66 6f72 6d61 7469 6f6e 2061 7265 206e nformation are n\n-000056a0: 6f74 2061 7661 696c 6162 6c65 2e0a 0a53 ot available...S\n-000056b0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-000056c0: 7465 2053 656e 6420 2870 726f 6365 6475 te Send (procedu\n-000056d0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n-000056e0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-000056f0: 2020 4e6f 6465 3a20 4765 7473 6f63 6b6f Node: Getsocko\n-00005700: 7074 2028 7072 6f63 6564 7572 6529 2c20 pt (procedure), \n-00005710: 204e 6578 743a 204c 6973 7465 6e20 2870 Next: Listen (p\n-00005720: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-00005730: 3a20 4765 745f 5365 6e64 5f51 7565 7565 : Get_Send_Queue\n-00005740: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-00005750: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n-00005760: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-00005770: 0a0a 4765 7473 6f63 6b6f 7074 2028 7072 ..Getsockopt (pr\n-00005780: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-00005790: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-000057a0: 0a50 5552 504f 5345 0a20 2020 2020 5265 .PURPOSE. Re\n-000057b0: 7472 6965 7665 2061 2073 6f63 6b65 7420 trieve a socket \n-000057c0: 6f70 7469 6f6e 0a50 524f 544f 5459 5045 option.PROTOTYPE\n-000057d0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-000057e0: 732e 4765 7473 6f63 6b6f 7074 3a20 7072 s.Getsockopt: pr\n-000057f0: 6f63 6564 7572 6520 4765 7473 6f63 6b6f ocedure Getsocko\n-00005800: 7074 2028 534f 434b 4554 203a 2053 6f63 pt (SOCKET : Soc\n-00005810: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-00005820: 2020 2020 2020 204c 4556 454c 203a 2053 LEVEL : S\n-00005830: 6f63 6b65 745f 4c65 7665 6c20 3a3d 2053 ocket_Level := S\n-00005840: 4f4c 5f53 4f43 4b45 543b 0a20 2020 2020 OL_SOCKET;. \n-00005850: 2020 2020 2020 2020 2020 4f50 544e 414d OPTNAM\n-00005860: 4520 3a20 536f 636b 6574 5f4f 7074 696f E : Socket_Optio\n-00005870: 6e3b 204f 5054 5641 4c20 3a20 6f75 7420 n; OPTVAL : out \n-00005880: 496e 7465 6765 7229 3b0a 0a50 4152 414d Integer);..PARAM\n-00005890: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-000058a0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n-000058b0: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n-000058c0: 2062 6f75 6e64 2073 6f63 6b65 7420 6f62 bound socket ob\n-000058d0: 6a65 6374 0a20 2020 2020 4c45 5645 4c20 ject. LEVEL \n-000058e0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-000058f0: 5072 6f74 6f63 6f6c 206c 6576 656c 0a20 Protocol level. \n-00005900: 2020 2020 4f50 544e 414d 4520 2020 2069 OPTNAME i\n-00005910: 6e20 2020 2020 2020 2020 4f70 7469 6f6e n Option\n-00005920: 206e 616d 650a 2020 2020 204f 5054 5641 name. OPTVA\n-00005930: 4c20 2020 2020 6f75 7420 2020 2020 2020 L out \n-00005940: 204f 7074 696f 6e20 7661 6c75 650a 0a44 Option value..D\n-00005950: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00005960: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n-00005970: 6574 7269 6576 6573 206f 7074 696f 6e73 etrieves options\n-00005980: 2061 7070 6c69 6361 626c 6520 746f 2061 applicable to a\n-00005990: 2073 6f63 6b65 742e 2020 506c 6561 7365 socket. Please\n-000059a0: 0a20 2020 2020 7365 6520 796f 7572 206f . see your o\n-000059b0: 7065 7261 7469 6e67 2073 7973 7465 6d20 perating system \n-000059c0: 6d61 6e75 616c 2066 6f72 2075 7361 626c manual for usabl\n-000059d0: 6520 6c65 7665 6c73 2061 6e64 206f 7074 e levels and opt\n-000059e0: 696f 6e73 2e0a 0a20 2020 2020 5477 6f20 ions... Two \n-000059f0: 6c65 7665 6c73 2061 7265 2064 6566 696e levels are defin\n-00005a00: 6564 3a20 2753 4f4c 5f53 4f43 4b45 5427 ed: 'SOL_SOCKET'\n-00005a10: 2028 7468 6520 6465 6661 756c 7429 2061 (the default) a\n-00005a20: 6e64 0a20 2020 2020 2749 5050 524f 544f nd. 'IPPROTO\n-00005a30: 5f49 5027 2e20 2054 6865 206f 7074 696f _IP'. The optio\n-00005a40: 6e73 2061 7265 2027 534f 5f52 4555 5345 ns are 'SO_REUSE\n-00005a50: 4144 4452 272c 2027 534f 5f52 4555 5345 ADDR', 'SO_REUSE\n-00005a60: 504f 5254 272c 0a20 2020 2020 2749 505f PORT',. 'IP_\n-00005a70: 4d55 4c54 4943 4153 545f 5454 4c27 2c20 MULTICAST_TTL', \n-00005a80: 2749 505f 4144 445f 4d45 4d42 4552 5348 'IP_ADD_MEMBERSH\n-00005a90: 4950 272c 2027 4950 5f44 524f 505f 4d45 IP', 'IP_DROP_ME\n-00005aa0: 4d42 4552 5348 4950 272c 0a20 2020 2020 MBERSHIP',. \n-00005ab0: 2749 505f 4d55 4c54 4943 4153 545f 4c4f 'IP_MULTICAST_LO\n-00005ac0: 4f50 272c 2027 534f 5f53 4e44 4255 4627 OP', 'SO_SNDBUF'\n-00005ad0: 2061 6e64 2027 4950 5f52 4356 4255 4627 and 'IP_RCVBUF'\n-00005ae0: 2e0a 0a20 2020 2020 4e6f 7465 2074 6861 ... Note tha\n-00005af0: 7420 756e 6c69 6b65 2074 6865 6972 2043 t unlike their C\n-00005b00: 206c 616e 6775 6167 6520 636f 756e 7465 language counte\n-00005b10: 7270 6172 742c 2027 4765 7473 6f63 6b6f rpart, 'Getsocko\n-00005b20: 7074 2720 616e 640a 2020 2020 2027 5365 pt' and. 'Se\n-00005b30: 7473 6f63 6b6f 7074 2720 646f 206e 6f74 tsockopt' do not\n-00005b40: 2072 6571 7569 7265 2061 6e20 6578 7472 require an extr\n-00005b50: 6120 7061 7261 6d65 7465 7220 7265 7072 a parameter repr\n-00005b60: 6573 656e 7469 6e67 2074 6865 0a20 2020 esenting the. \n-00005b70: 2020 6c65 6e67 7468 2069 6e20 6279 7465 length in byte\n-00005b80: 7320 6f66 2074 6865 206f 7074 696f 6e20 s of the option \n-00005b90: 7661 6c75 652e 2020 4164 6153 6f63 6b65 value. AdaSocke\n-00005ba0: 7473 206e 6f77 7320 7468 6520 7269 6768 ts nows the righ\n-00005bb0: 740a 2020 2020 2073 697a 6520 666f 7220 t. size for \n-00005bc0: 6576 6572 7920 6f70 7469 6f6e 2e0a 0a53 every option...S\n-00005bd0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-00005be0: 7465 2053 6574 736f 636b 6f70 7420 2870 te Setsockopt (p\n-00005bf0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00005c00: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00005c10: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4c69 .info, Node: Li\n-00005c20: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n-00005c30: 2c20 204e 6578 743a 204e 6577 5f4c 696e , Next: New_Lin\n-00005c40: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n-00005c50: 5072 6576 3a20 4765 7473 6f63 6b6f 7074 Prev: Getsockopt\n-00005c60: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n-00005c70: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00005c80: 2028 7072 6f63 6564 7572 6529 0a0a 4c69 (procedure)..Li\n-00005c90: 7374 656e 2028 7072 6f63 6564 7572 6529 sten (procedure)\n-00005ca0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00005cb0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00005cc0: 2020 4573 7461 626c 6973 6820 6120 6c69 Establish a li\n-00005cd0: 7374 656e 2071 7565 7565 0a50 524f 544f sten queue.PROTO\n-00005ce0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-00005cf0: 636b 6574 732e 4c69 7374 656e 3a20 7072 ckets.Listen: pr\n-00005d00: 6f63 6564 7572 6520 4c69 7374 656e 2028 ocedure Listen (\n-00005d10: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-00005d20: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n-00005d30: 2020 2051 5545 5545 5f53 495a 4520 3a20 QUEUE_SIZE : \n-00005d40: 506f 7369 7469 7665 203a 3d20 3529 3b0a Positive := 5);.\n-00005d50: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-00005d60: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-00005d70: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-00005d80: 6564 2061 6e64 2062 6f75 6e64 2073 6f63 ed and bound soc\n-00005d90: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n-00005da0: 5155 4555 455f 5349 5a45 2069 6e20 2020 QUEUE_SIZE in \n-00005db0: 2020 2020 2020 5265 7175 6573 7465 6420 Requested \n-00005dc0: 736c 6f74 7320 696e 2074 6865 206c 6973 slots in the lis\n-00005dd0: 7465 6e20 7175 6575 650a 0a44 4553 4352 ten queue..DESCR\n-00005de0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00005df0: 2070 726f 6365 6475 7265 2065 7374 6162 procedure estab\n-00005e00: 6c69 7368 6573 2061 206c 6973 7465 6e20 lishes a listen \n-00005e10: 7175 6575 6520 6166 7465 7220 6120 5443 queue after a TC\n-00005e20: 5020 736f 636b 6574 2061 730a 2020 2020 P socket as. \n-00005e30: 2062 6565 6e20 696e 6974 6961 6c69 7a65 been initialize\n-00005e40: 6420 616e 6420 626f 756e 642e 2020 4561 d and bound. Ea\n-00005e50: 6368 2073 6c6f 7420 696e 2074 6865 2071 ch slot in the q\n-00005e60: 7565 7565 2063 616e 2068 6f6c 6420 6f6e ueue can hold on\n-00005e70: 650a 2020 2020 2069 6e63 6f6d 696e 6720 e. incoming \n-00005e80: 636f 6e6e 6563 7469 6f6e 2074 6861 7420 connection that \n-00005e90: 6861 7320 6e6f 7420 6265 656e 2061 6363 has not been acc\n-00005ea0: 6570 7465 6420 7965 742e 2020 4e6f 7465 epted yet. Note\n-00005eb0: 2074 6861 7420 6d6f 7374 0a20 2020 2020 that most. \n-00005ec0: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n-00005ed0: 7320 6967 6e6f 7265 2071 7565 7565 2073 s ignore queue s\n-00005ee0: 697a 6573 206c 6172 6765 7220 7468 616e izes larger than\n-00005ef0: 2066 6976 652e 0a0a 5345 4520 414c 534f five...SEE ALSO\n-00005f00: 0a20 2020 2020 2a6e 6f74 6520 4163 6365 . *note Acce\n-00005f10: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00005f20: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n-00005f30: 6f74 6520 4269 6e64 2028 7072 6f63 6564 ote Bind (proced\n-00005f40: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00005f50: 7465 2053 6f63 6b65 7420 2870 726f 6365 te Socket (proce\n-00005f60: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n-00005f70: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00005f80: 6f2c 2020 4e6f 6465 3a20 4e65 775f 4c69 o, Node: New_Li\n-00005f90: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n-00005fa0: 204e 6578 743a 2050 7574 2028 7072 6f63 Next: Put (proc\n-00005fb0: 6564 7572 6529 2c20 2050 7265 763a 204c edure), Prev: L\n-00005fc0: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n-00005fd0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00005fe0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00005ff0: 290a 0a4e 6577 5f4c 696e 6520 2870 726f )..New_Line (pro\n-00006000: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-00006010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-00006020: 5250 4f53 450a 2020 2020 2053 656e 6420 RPOSE. Send \n-00006030: 6120 4352 2f4c 4620 746f 2061 2072 656d a CR/LF to a rem\n-00006040: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n-00006050: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-00006060: 6574 732e 4e65 775f 4c69 6e65 3a20 7072 ets.New_Line: pr\n-00006070: 6f63 6564 7572 6520 4e65 775f 4c69 6e65 ocedure New_Line\n-00006080: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n-00006090: 745f 4644 2743 6c61 7373 3b0a 2020 2020 t_FD'Class;. \n-000060a0: 2020 2020 2020 2020 2020 2043 4f55 4e54 COUNT\n-000060b0: 203a 204e 6174 7572 616c 203a 3d20 3129 : Natural := 1)\n-000060c0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-000060d0: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-000060e0: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n-000060f0: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n-00006100: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-00006110: 0a20 2020 2020 434f 554e 5420 2020 2020 . COUNT \n-00006120: 2069 6e20 2020 2020 2020 2020 4e75 6d62 in Numb\n-00006130: 6572 206f 6620 4352 2f4c 4620 7365 7175 er of CR/LF sequ\n-00006140: 656e 6365 7320 746f 2073 656e 640a 0a44 ences to send..D\n-00006150: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00006160: 5468 6973 2070 726f 6365 6475 7265 2073 This procedure s\n-00006170: 656e 6473 206f 6e65 206f 7220 6d6f 7265 ends one or more\n-00006180: 2043 522f 4c46 2063 6f6d 6269 6e61 7469 CR/LF combinati\n-00006190: 6f6e 7320 746f 2074 6865 2070 6565 722e ons to the peer.\n-000061a0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n-000061b0: 2020 2743 6f6e 6e65 6374 696f 6e5f 436c 'Connection_Cl\n-000061c0: 6f73 6564 2750 6565 7220 6861 7320 7072 osed'Peer has pr\n-000061d0: 656d 6174 7572 656c 7920 636c 6f73 6564 ematurely closed\n-000061e0: 2074 6865 2063 6f6e 6e65 6374 696f 6e0a the connection.\n-000061f0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n-00006200: 6e6f 7465 2050 7574 2028 7072 6f63 6564 note Put (proced\n-00006210: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00006220: 7465 2050 7574 5f4c 696e 6520 2870 726f te Put_Line (pro\n-00006230: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-00006240: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-00006250: 6e66 6f2c 2020 4e6f 6465 3a20 5075 7420 nfo, Node: Put \n-00006260: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n-00006270: 7874 3a20 5075 745f 4c69 6e65 2028 7072 xt: Put_Line (pr\n-00006280: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n-00006290: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n-000062a0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-000062b0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-000062c0: 6475 7265 290a 0a50 7574 2028 7072 6f63 dure)..Put (proc\n-000062d0: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-000062e0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-000062f0: 2020 2020 2053 656e 6420 6120 7374 7269 Send a stri\n-00006300: 6e67 2074 6f20 6120 7265 6d6f 7465 2068 ng to a remote h\n-00006310: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-00006320: 2020 2020 2d2d 2053 6f63 6b65 7473 2e50 -- Sockets.P\n-00006330: 7574 3a20 7072 6f63 6564 7572 6520 5075 ut: procedure Pu\n-00006340: 7420 2853 4f43 4b45 5420 3a20 536f 636b t (SOCKET : Sock\n-00006350: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n-00006360: 2020 2020 2020 2020 2020 2020 5354 5220 STR \n-00006370: 3a20 5374 7269 6e67 293b 0a0a 5041 5241 : String);..PARA\n-00006380: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n-00006390: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n-000063a0: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n-000063b0: 6420 636f 6e6e 6563 7465 6420 736f 636b d connected sock\n-000063c0: 6574 206f 626a 6563 740a 2020 2020 2053 et object. S\n-000063d0: 5452 2020 2020 2020 2020 696e 2020 2020 TR in \n-000063e0: 2020 2020 2053 7472 696e 6720 746f 2073 String to s\n-000063f0: 656e 640a 0a44 4553 4352 4950 5449 4f4e end..DESCRIPTION\n-00006400: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n-00006410: 6475 7265 2073 656e 6473 2074 6865 2063 dure sends the c\n-00006420: 6f6e 7465 6e74 206f 6620 5354 5220 6f76 ontent of STR ov\n-00006430: 6572 2061 6e20 6f75 7467 6f69 6e67 206f er an outgoing o\n-00006440: 720a 2020 2020 2069 6e63 6f6d 696e 6720 r. incoming \n-00006450: 736f 636b 6574 2e0a 0a45 5843 4550 5449 socket...EXCEPTI\n-00006460: 4f4e 530a 2020 2020 2027 436f 6e6e 6563 ONS. 'Connec\n-00006470: 7469 6f6e 5f43 6c6f 7365 6427 5065 6572 tion_Closed'Peer\n-00006480: 2068 6173 2070 7265 6d61 7475 7265 6c79 has prematurely\n-00006490: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n-000064a0: 6563 7469 6f6e 0a0a 5345 4520 414c 534f ection..SEE ALSO\n-000064b0: 0a20 2020 2020 2a6e 6f74 6520 4e65 775f . *note New_\n-000064c0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-000064d0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2050 ::,. *note P\n-000064e0: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n-000064f0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n-00006500: 6520 5365 6e64 2028 7072 6f63 6564 7572 e Send (procedur\n-00006510: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n-00006520: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00006530: 204e 6f64 653a 2050 7574 5f4c 696e 6520 Node: Put_Line \n-00006540: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n-00006550: 7874 3a20 5265 6365 6976 6520 2866 756e xt: Receive (fun\n-00006560: 6374 696f 6e29 2c20 2050 7265 763a 2050 ction), Prev: P\n-00006570: 7574 2028 7072 6f63 6564 7572 6529 2c20 ut (procedure), \n-00006580: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00006590: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-000065a0: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n-000065b0: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n-000065c0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-000065d0: 5345 0a20 2020 2020 5365 6e64 2061 2043 SE. Send a C\n-000065e0: 522f 4c46 2074 6572 6d69 6e61 7465 6420 R/LF terminated \n-000065f0: 7374 7269 6e67 2074 6f20 6120 7265 6d6f string to a remo\n-00006600: 7465 2068 6f73 740a 5052 4f54 4f54 5950 te host.PROTOTYP\n-00006610: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00006620: 7473 2e50 7574 5f4c 696e 653a 2070 726f ts.Put_Line: pro\n-00006630: 6365 6475 7265 2050 7574 5f4c 696e 6520 cedure Put_Line \n-00006640: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00006650: 5f46 4427 436c 6173 733b 0a20 2020 2020 _FD'Class;. \n-00006660: 2020 2020 2020 2020 2020 5354 5220 3a20 STR : \n-00006670: 5374 7269 6e67 293b 0a0a 5041 5241 4d45 String);..PARAME\n-00006680: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00006690: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-000066a0: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-000066b0: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-000066c0: 206f 626a 6563 740a 2020 2020 2053 5452 object. STR\n-000066d0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-000066e0: 2020 2053 7472 696e 6720 746f 2073 656e String to sen\n-000066f0: 640a 0a44 4553 4352 4950 5449 4f4e 0a20 d..DESCRIPTION. \n-00006700: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n-00006710: 7265 2073 656e 6473 2074 6865 2063 6f6e re sends the con\n-00006720: 7465 6e74 206f 6620 5354 5220 706c 7573 tent of STR plus\n-00006730: 2061 2043 522f 4c46 2063 6f6d 6269 6e61 a CR/LF combina\n-00006740: 7469 6f6e 0a20 2020 2020 6f76 6572 2061 tion. over a\n-00006750: 6e20 6f75 7467 6f69 6e67 206f 7220 696e n outgoing or in\n-00006760: 636f 6d69 6e67 2073 6f63 6b65 742e 0a0a coming socket...\n-00006770: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-00006780: 2743 6f6e 6e65 6374 696f 6e5f 436c 6f73 'Connection_Clos\n-00006790: 6564 2750 6565 7220 6861 7320 7072 656d ed'Peer has prem\n-000067a0: 6174 7572 656c 7920 636c 6f73 6564 2074 aturely closed t\n-000067b0: 6865 2063 6f6e 6e65 6374 696f 6e0a 0a53 he connection..S\n-000067c0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-000067d0: 7465 204e 6577 5f4c 696e 6520 2870 726f te New_Line (pro\n-000067e0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n-000067f0: 2a6e 6f74 6520 5075 7420 2870 726f 6365 *note Put (proce\n-00006800: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n-00006810: 6f74 6520 5365 6e64 2028 7072 6f63 6564 ote Send (proced\n-00006820: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00006830: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00006840: 2c20 204e 6f64 653a 2052 6563 6569 7665 , Node: Receive\n-00006850: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-00006860: 7874 3a20 5265 6365 6976 6520 2870 726f xt: Receive (pro\n-00006870: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n-00006880: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n-00006890: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-000068a0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-000068b0: 7572 6529 0a0a 5265 6365 6976 6520 2866 ure)..Receive (f\n-000068c0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n-000068d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-000068e0: 504f 5345 0a20 2020 2020 5265 6365 6976 POSE. Receiv\n-000068f0: 6520 7261 7720 6461 7461 206f 7665 7220 e raw data over \n-00006900: 6120 736f 636b 6574 0a50 524f 544f 5459 a socket.PROTOTY\n-00006910: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-00006920: 6574 732e 5265 6365 6976 653a 2066 756e ets.Receive: fun\n-00006930: 6374 696f 6e20 5265 6365 6976 6520 2853 ction Receive (S\n-00006940: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00006950: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n-00006960: 2020 4d41 5820 3a20 4164 612e 5374 7265 MAX : Ada.Stre\n-00006970: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n-00006980: 6e74 5f43 6f75 6e74 203a 3d20 3430 3936 nt_Count := 4096\n-00006990: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-000069a0: 2072 6574 7572 6e20 4164 612e 5374 7265 return Ada.Stre\n-000069b0: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n-000069c0: 6e74 5f41 7272 6179 3b0a 0a50 4152 414d nt_Array;..PARAM\n-000069d0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-000069e0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n-000069f0: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n-00006a00: 2062 6f75 6e64 206f 7220 636f 6e6e 6563 bound or connec\n-00006a10: 7465 640a 2020 2020 2020 2020 2020 2020 ted. \n-00006a20: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-00006a30: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n-00006a40: 2020 4d41 5820 2020 2020 2020 2069 6e20 MAX in \n-00006a50: 2020 2020 2020 2020 4d61 7869 6d75 6d20 Maximum \n-00006a60: 6461 7461 206c 656e 6774 680a 0a52 4554 data length..RET\n-00006a70: 5552 4e20 5641 4c55 450a 2020 2020 2052 URN VALUE. R\n-00006a80: 6563 6569 7665 6420 7261 7720 6461 7461 eceived raw data\n-00006a90: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-00006aa0: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n-00006ab0: 6520 7265 6365 6976 6573 2064 6174 6120 e receives data \n-00006ac0: 6672 6f6d 2061 2062 6f75 6e64 2055 4450 from a bound UDP\n-00006ad0: 2073 6f63 6b65 7420 6f72 2061 2063 6f6e socket or a con\n-00006ae0: 6e65 6374 6564 0a20 2020 2020 5443 5020 nected. TCP \n-00006af0: 736f 636b 6574 2e20 204f 6e6c 7920 6f6e socket. Only on\n-00006b00: 6520 7379 7374 656d 2063 616c 6c20 7769 e system call wi\n-00006b10: 6c6c 2062 6520 7065 7266 6f72 6d65 643b ll be performed;\n-00006b20: 2074 6869 7320 6675 6e63 7469 6f6e 0a20 this function. \n-00006b30: 2020 2020 7769 6c6c 2072 6574 7572 6e20 will return \n-00006b40: 7768 6174 6576 6572 2064 6174 6120 6861 whatever data ha\n-00006b50: 7320 6172 7269 7665 642e 2020 4e6f 7465 s arrived. Note\n-00006b60: 2074 6861 7420 696e 2047 4e41 5420 7468 that in GNAT th\n-00006b70: 650a 2020 2020 2073 6563 6f6e 6461 7279 e. secondary\n-00006b80: 2073 7461 636b 206d 6179 2062 6520 7573 stack may be us\n-00006b90: 6564 2074 6f20 7374 6f72 6520 7468 6520 ed to store the \n-00006ba0: 6461 7461 2061 6e64 206d 6179 2072 6573 data and may res\n-00006bb0: 756c 7420 696e 0a20 2020 2020 7374 6163 ult in. stac\n-00006bc0: 6b20 7374 6f72 6167 6520 6578 6861 7573 k storage exhaus\n-00006bd0: 7469 6f6e 2e0a 0a45 5843 4550 5449 4f4e tion...EXCEPTION\n-00006be0: 530a 2020 2020 2027 436f 6e6e 6563 7469 S. 'Connecti\n-00006bf0: 6f6e 5f43 6c6f 7365 6427 5065 6572 2068 on_Closed'Peer h\n-00006c00: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n-00006c10: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n-00006c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006c30: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n-00006c40: 616e 7920 6461 7461 0a0a 5345 4520 414c any data..SEE AL\n-00006c50: 534f 0a20 2020 2020 2a6e 6f74 6520 5265 SO. *note Re\n-00006c60: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n-00006c70: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00006c80: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-00006c90: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n-00006ca0: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n-00006cb0: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00006cc0: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n-00006cd0: 6520 2870 726f 6365 6475 7265 293a 3a2e e (procedure)::.\n-00006ce0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n-00006cf0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n-00006d00: 3a20 5265 6365 6976 6520 2870 726f 6365 : Receive (proce\n-00006d10: 6475 7265 292c 2020 4e65 7874 3a20 5265 dure), Next: Re\n-00006d20: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-00006d30: 6564 7572 6529 2c20 2050 7265 763a 2052 edure), Prev: R\n-00006d40: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n-00006d50: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00006d60: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00006d70: 290a 0a52 6563 6569 7665 2028 7072 6f63 )..Receive (proc\n-00006d80: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-00006d90: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00006da0: 4f53 450a 2020 2020 2052 6563 6569 7665 OSE. Receive\n-00006db0: 2072 6177 2064 6174 6120 6f76 6572 2061 raw data over a\n-00006dc0: 2073 6f63 6b65 740a 5052 4f54 4f54 5950 socket.PROTOTYP\n-00006dd0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00006de0: 7473 2e52 6563 6569 7665 3a20 7072 6f63 ts.Receive: proc\n-00006df0: 6564 7572 6520 5265 6365 6976 6520 2853 edure Receive (S\n-00006e00: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00006e10: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-00006e20: 2020 2020 2020 2020 4441 5441 203a 206f DATA : o\n-00006e30: 7574 2041 6461 2e53 7472 6561 6d73 2e53 ut Ada.Streams.S\n-00006e40: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n-00006e50: 7261 7929 3b0a 0a50 4152 414d 4554 4552 ray);..PARAMETER\n-00006e60: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00006e70: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00006e80: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n-00006e90: 6e64 206f 7220 636f 6e6e 6563 7465 640a nd or connected.\n-00006ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006eb0: 2020 2020 2020 2020 2020 2073 6f63 6b65 socke\n-00006ec0: 7420 6f62 6a65 6374 0a20 2020 2020 4441 t object. DA\n-00006ed0: 5441 2020 2020 2020 206f 7574 2020 2020 TA out \n-00006ee0: 2020 2020 496e 636f 6d69 6e67 2064 6174 Incoming dat\n-00006ef0: 6120 6275 6666 6572 0a0a 4445 5343 5249 a buffer..DESCRI\n-00006f00: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-00006f10: 7072 6f63 6564 7572 6520 7265 6365 6976 procedure receiv\n-00006f20: 6573 2064 6174 6120 6672 6f6d 2061 2062 es data from a b\n-00006f30: 6f75 6e64 2055 4450 2073 6f63 6b65 7420 ound UDP socket \n-00006f40: 6f72 2061 2063 6f6e 6e65 6374 6564 0a20 or a connected. \n-00006f50: 2020 2020 5443 5020 736f 636b 6574 2e20 TCP socket. \n-00006f60: 2049 7420 7769 6c6c 2062 6c6f 636b 2075 It will block u\n-00006f70: 6e74 696c 2074 6865 2044 4154 4120 7265 ntil the DATA re\n-00006f80: 6365 7074 696f 6e20 6275 6666 6572 2068 ception buffer h\n-00006f90: 6173 2062 6565 6e0a 2020 2020 2074 6f74 as been. tot\n-00006fa0: 616c 6c79 2066 696c 6c65 642e 0a0a 4558 ally filled...EX\n-00006fb0: 4345 5054 494f 4e53 0a20 2020 2020 2743 CEPTIONS. 'C\n-00006fc0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-00006fd0: 2750 6565 7220 6861 7320 636c 6f73 6564 'Peer has closed\n-00006fe0: 2074 6865 2063 6f6e 6e65 6374 696f 6e20 the connection \n-00006ff0: 6265 666f 7265 0a20 2020 2020 2020 2020 before. \n-00007000: 2020 2020 2020 2020 2020 2020 2020 2027 '\n-00007010: 4461 7461 274c 656e 6774 6827 2062 7974 Data'Length' byt\n-00007020: 6573 0a20 2020 2020 2020 2020 2020 2020 es. \n-00007030: 2020 2020 2020 2020 2020 2077 6572 6520 were \n-00007040: 7265 6365 6976 6564 0a0a 5345 4520 414c received..SEE AL\n-00007050: 534f 0a20 2020 2020 2a6e 6f74 6520 4765 SO. *note Ge\n-00007060: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n-00007070: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00007080: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-00007090: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-000070a0: 7465 2052 6563 6569 7665 2028 6675 6e63 te Receive (func\n-000070b0: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n-000070c0: 6f74 6520 5265 6365 6976 655f 536f 6d65 ote Receive_Some\n-000070d0: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-000070e0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-000070f0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-00007100: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n-00007110: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n-00007120: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur\n-00007130: 6529 2c20 2050 7265 763a 2052 6563 6569 e), Prev: Recei\n-00007140: 7665 2028 7072 6f63 6564 7572 6529 2c20 ve (procedure), \n-00007150: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00007160: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00007170: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-00007180: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n-00007190: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000071a0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-000071b0: 5265 6365 6976 6520 7261 7720 6461 7461 Receive raw data\n-000071c0: 206f 7665 7220 6120 736f 636b 6574 0a50 over a socket.P\n-000071d0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-000071e0: 2d20 536f 636b 6574 732e 5265 6365 6976 - Sockets.Receiv\n-000071f0: 655f 536f 6d65 3a20 7072 6f63 6564 7572 e_Some: procedur\n-00007200: 6520 5265 6365 6976 655f 536f 6d65 0a20 e Receive_Some. \n-00007210: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n-00007220: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-00007230: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-00007240: 2020 2020 2020 2020 4441 5441 203a 206f DATA : o\n-00007250: 7574 2041 6461 2e53 7472 6561 6d73 2e53 ut Ada.Streams.S\n-00007260: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n-00007270: 7261 793b 0a20 2020 2020 2020 2020 2020 ray;. \n-00007280: 2020 2020 4c41 5354 203a 206f 7574 2041 LAST : out A\n-00007290: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n-000072a0: 6d5f 456c 656d 656e 745f 4f66 6673 6574 m_Element_Offset\n-000072b0: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n-000072c0: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-000072d0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-000072e0: 6c69 7a65 6420 616e 6420 626f 756e 6420 lized and bound \n-000072f0: 6f72 2063 6f6e 6e65 6374 6564 0a20 2020 or connected. \n-00007300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007310: 2020 2020 2020 2020 736f 636b 6574 206f socket o\n-00007320: 626a 6563 740a 2020 2020 2044 4154 4120 bject. DATA \n-00007330: 2020 2020 2020 6f75 7420 2020 2020 2020 out \n-00007340: 2049 6e63 6f6d 696e 6720 6461 7461 2062 Incoming data b\n-00007350: 7566 6665 720a 2020 2020 204c 4153 5420 uffer. LAST \n-00007360: 2020 2020 2020 6f75 7420 2020 2020 2020 out \n-00007370: 2049 6e64 6578 206f 6620 6c61 7374 2065 Index of last e\n-00007380: 6c65 6d65 6e74 2070 6c61 6365 6420 696e lement placed in\n-00007390: 746f 2044 4154 410a 0a44 4553 4352 4950 to DATA..DESCRIP\n-000073a0: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n-000073b0: 726f 6365 6475 7265 2072 6563 6569 7665 rocedure receive\n-000073c0: 7320 6461 7461 2066 726f 6d20 6120 626f s data from a bo\n-000073d0: 756e 6420 5544 5020 736f 636b 6574 206f und UDP socket o\n-000073e0: 7220 6120 636f 6e6e 6563 7465 640a 2020 r a connected. \n-000073f0: 2020 2054 4350 2073 6f63 6b65 742e 2020 TCP socket. \n-00007400: 4173 2073 6f6f 6e20 6173 2061 7420 6c65 As soon as at le\n-00007410: 6173 7420 6f6e 6520 6279 7465 2068 6173 ast one byte has\n-00007420: 2062 6565 6e20 7265 6164 2c20 6974 2072 been read, it r\n-00007430: 6574 7572 6e73 0a20 2020 2020 7769 7468 eturns. with\n-00007440: 204c 4153 5420 7365 7420 746f 2074 6865 LAST set to the\n-00007450: 2069 6e64 6578 206f 6620 7468 6520 6c61 index of the la\n-00007460: 7465 7374 2077 7269 7474 656e 2065 6c65 test written ele\n-00007470: 6d65 6e74 206f 6620 4441 5441 2e0a 0a45 ment of DATA...E\n-00007480: 5843 4550 5449 4f4e 530a 2020 2020 2027 XCEPTIONS. '\n-00007490: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-000074a0: 6427 5065 6572 2068 6173 2063 6c6f 7365 d'Peer has close\n-000074b0: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n-000074c0: 2062 6566 6f72 650a 2020 2020 2020 2020 before. \n-000074d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000074e0: 7365 6e64 696e 6720 616e 7920 6461 7461 sending any data\n-000074f0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-00007500: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n-00007510: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-00007520: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n-00007530: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n-00007540: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00007550: 7665 2028 6675 6e63 7469 6f6e 293a 3a2c ve (function)::,\n-00007560: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n-00007570: 6976 6520 2870 726f 6365 6475 7265 293a ive (procedure):\n-00007580: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00007590: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-000075a0: 6465 3a20 5365 6e64 2028 7072 6f63 6564 de: Send (proced\n-000075b0: 7572 6529 2c20 204e 6578 743a 2053 6574 ure), Next: Set\n-000075c0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-000075d0: 7265 292c 2020 5072 6576 3a20 5265 6365 re), Prev: Rece\n-000075e0: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-000075f0: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-00007600: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-00007610: 7572 6529 0a0a 5365 6e64 2028 7072 6f63 ure)..Send (proc\n-00007620: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n-00007630: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n-00007640: 0a20 2020 2020 5365 6e64 2072 6177 2064 . Send raw d\n-00007650: 6174 6120 6f76 6572 2061 2073 6f63 6b65 ata over a socke\n-00007660: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n-00007670: 2020 2d2d 2053 6f63 6b65 7473 2e53 656e -- Sockets.Sen\n-00007680: 643a 2070 726f 6365 6475 7265 2053 656e d: procedure Sen\n-00007690: 6420 2853 4f43 4b45 5420 3a20 536f 636b d (SOCKET : Sock\n-000076a0: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n-000076b0: 2020 2020 2020 4441 5441 203a 206f 7574 DATA : out\n-000076c0: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n-000076d0: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n-000076e0: 7929 3b0a 0a50 4152 414d 4554 4552 530a y);..PARAMETERS.\n-000076f0: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-00007700: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n-00007710: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n-00007720: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n-00007730: 6374 0a20 2020 2020 4441 5441 2020 2020 ct. DATA \n-00007740: 2020 206f 7574 2020 2020 2020 2020 4461 out Da\n-00007750: 7461 2074 6f20 6265 2073 656e 740a 0a44 ta to be sent..D\n-00007760: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00007770: 5468 6973 2070 726f 6365 6475 7265 2073 This procedure s\n-00007780: 656e 6473 2064 6174 6120 6f76 6572 2061 ends data over a\n-00007790: 2063 6f6e 6e65 6374 6564 206f 7574 676f connected outgo\n-000077a0: 696e 6720 736f 636b 6574 206f 7220 6f76 ing socket or ov\n-000077b0: 6572 0a20 2020 2020 616e 2069 6e63 6f6d er. an incom\n-000077c0: 696e 6720 736f 636b 6574 2e0a 0a45 5843 ing socket...EXC\n-000077d0: 4550 5449 4f4e 530a 2020 2020 2027 436f EPTIONS. 'Co\n-000077e0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6427 nnection_Closed'\n-000077f0: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n-00007800: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n-00007810: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n-00007820: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-00007830: 5075 7420 2870 726f 6365 6475 7265 293a Put (procedure):\n-00007840: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5075 :,. *note Pu\n-00007850: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-00007860: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n-00007870: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00007880: 204e 6f64 653a 2053 6574 5f42 7566 6665 Node: Set_Buffe\n-00007890: 7220 2870 726f 6365 6475 7265 292c 2020 r (procedure), \n-000078a0: 4e65 7874 3a20 5365 7473 6f63 6b6f 7074 Next: Setsockopt\n-000078b0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n-000078c0: 7265 763a 2053 656e 6420 2870 726f 6365 rev: Send (proce\n-000078d0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n-000078e0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-000078f0: 6475 7265 290a 0a53 6574 5f42 7566 6665 dure)..Set_Buffe\n-00007900: 7220 2870 726f 6365 6475 7265 290a 2d2d r (procedure).--\n-00007910: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007920: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00007930: 2020 2049 6e73 7461 6c6c 2061 206c 696e Install a lin\n-00007940: 652d 6f72 6965 6e74 6564 2062 7566 6665 e-oriented buffe\n-00007950: 7220 6f66 2074 6865 2073 6f63 6b65 7420 r of the socket \n-00007960: 6f62 6a65 6374 0a50 524f 544f 5459 5045 object.PROTOTYPE\n-00007970: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00007980: 732e 5365 745f 4275 6666 6572 3a20 7072 s.Set_Buffer: pr\n-00007990: 6f63 6564 7572 6520 5365 745f 4275 6666 ocedure Set_Buff\n-000079a0: 6572 0a20 2020 2020 2020 2020 2020 2020 er. \n-000079b0: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n-000079c0: 6574 5f46 4427 436c 6173 733b 204c 454e et_FD'Class; LEN\n-000079d0: 4754 4820 3a20 506f 7369 7469 7665 203a GTH : Positive :\n-000079e0: 3d20 3135 3030 293b 0a0a 5041 5241 4d45 = 1500);..PARAME\n-000079f0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n-00007a00: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00007a10: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n-00007a20: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n-00007a30: 206f 626a 6563 740a 2020 2020 204c 454e object. LEN\n-00007a40: 4754 4820 2020 2020 696e 2020 2020 2020 GTH in \n-00007a50: 2020 2053 697a 6520 696e 2062 7974 6573 Size in bytes\n-00007a60: 206f 6620 7468 6520 6e65 776c 7920 696e of the newly in\n-00007a70: 7374 616c 6c65 640a 2020 2020 2020 2020 stalled. \n-00007a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007a90: 2020 2062 7566 6665 720a 0a44 4553 4352 buffer..DESCR\n-00007aa0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00007ab0: 2070 726f 6365 6475 7265 2070 7574 7320 procedure puts \n-00007ac0: 7468 6520 736f 636b 6574 206f 626a 6563 the socket objec\n-00007ad0: 7420 696e 2062 7566 6665 7265 6420 6d6f t in buffered mo\n-00007ae0: 6465 2e20 2049 6620 7468 650a 2020 2020 de. If the. \n-00007af0: 2073 6f63 6b65 7420 7761 7320 616c 7265 socket was alre\n-00007b00: 6164 7920 6275 6666 6572 6564 2c20 7468 ady buffered, th\n-00007b10: 6520 636f 6e74 656e 7420 6f66 2074 6865 e content of the\n-00007b20: 2070 7265 7669 6f75 7320 6275 6666 6572 previous buffer\n-00007b30: 0a20 2020 2020 7769 6c6c 2062 6520 6c6f . will be lo\n-00007b40: 7374 2e20 2054 6865 2062 7566 6665 7265 st. The buffere\n-00007b50: 6420 6d6f 6465 206f 6e6c 7920 6166 6665 d mode only affe\n-00007b60: 6374 7320 6368 6172 6163 7465 722d 2061 cts character- a\n-00007b70: 6e64 0a20 2020 2020 6c69 6e65 2d6f 7269 nd. line-ori\n-00007b80: 656e 7465 6420 7265 6164 206f 7065 7261 ented read opera\n-00007b90: 7469 6f6e 2073 7563 6820 6173 202a 6e6f tion such as *no\n-00007ba0: 7465 2047 6574 2028 6675 6e63 7469 6f6e te Get (function\n-00007bb0: 293a 3a2c 202a 6e6f 7465 0a20 2020 2020 )::, *note. \n-00007bc0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-00007bd0: 6f6e 293a 3a2c 2061 6e64 202a 6e6f 7465 on)::, and *note\n-00007be0: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-00007bf0: 696f 6e29 3a3a 2e20 204f 7468 6572 0a20 ion)::. Other. \n-00007c00: 2020 2020 7265 6365 7074 696f 6e20 7375 reception su\n-00007c10: 6270 726f 6772 616d 7320 7769 6c6c 206e bprograms will n\n-00007c20: 6f74 2066 756e 6374 696f 6e20 7072 6f70 ot function prop\n-00007c30: 6572 6c79 2069 6620 6275 6666 6572 6564 erly if buffered\n-00007c40: 206d 6f64 650a 2020 2020 2069 7320 7573 mode. is us\n-00007c50: 6564 2061 7420 7468 6520 7361 6d65 2074 ed at the same t\n-00007c60: 696d 652e 0a0a 2020 2020 2054 6865 2073 ime... The s\n-00007c70: 697a 6520 6f66 2074 6865 2062 7566 6665 ize of the buffe\n-00007c80: 7220 6861 7320 746f 2062 6520 6772 6561 r has to be grea\n-00007c90: 7465 7220 7468 616e 2074 6865 2062 6967 ter than the big\n-00007ca0: 6765 7374 2070 6f73 7369 626c 650a 2020 gest possible. \n-00007cb0: 2020 2070 6163 6b65 7420 7365 6e74 2062 packet sent b\n-00007cc0: 7920 7468 6520 7265 6d6f 7465 2068 6f73 y the remote hos\n-00007cd0: 742c 206f 7468 6572 7769 7365 2064 6174 t, otherwise dat\n-00007ce0: 6120 6c6f 7373 206d 6179 206f 6363 7572 a loss may occur\n-00007cf0: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n-00007d00: 202a 6e6f 7465 2055 6e73 6574 5f42 7566 *note Unset_Buf\n-00007d10: 6665 7220 2870 726f 6365 6475 7265 293a fer (procedure):\n-00007d20: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00007d30: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-00007d40: 6465 3a20 5365 7473 6f63 6b6f 7074 2028 de: Setsockopt (\n-00007d50: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-00007d60: 743a 2053 6875 7464 6f77 6e20 2870 726f t: Shutdown (pro\n-00007d70: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n-00007d80: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n-00007d90: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n-00007da0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-00007db0: 6564 7572 6529 0a0a 5365 7473 6f63 6b6f edure)..Setsocko\n-00007dc0: 7074 2028 7072 6f63 6564 7572 6529 0a2d pt (procedure).-\n-00007dd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007de0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00007df0: 2020 2020 5365 7420 6120 736f 636b 6574 Set a socket\n-00007e00: 206f 7074 696f 6e0a 5052 4f54 4f54 5950 option.PROTOTYP\n-00007e10: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00007e20: 7473 2e53 6574 736f 636b 6f70 743a 2070 ts.Setsockopt: p\n-00007e30: 726f 6365 6475 7265 2053 6574 736f 636b rocedure Setsock\n-00007e40: 6f70 7420 2853 4f43 4b45 5420 3a20 536f opt (SOCKET : So\n-00007e50: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-00007e60: 2020 2020 2020 2020 4c45 5645 4c20 3a20 LEVEL : \n-00007e70: 536f 636b 6574 5f4c 6576 656c 203a 3d20 Socket_Level := \n-00007e80: 534f 4c5f 534f 434b 4554 3b0a 2020 2020 SOL_SOCKET;. \n-00007e90: 2020 2020 2020 2020 2020 204f 5054 4e41 OPTNA\n-00007ea0: 4d45 203a 2053 6f63 6b65 745f 4f70 7469 ME : Socket_Opti\n-00007eb0: 6f6e 3b20 4f50 5456 414c 203a 2049 6e74 on; OPTVAL : Int\n-00007ec0: 6567 6572 293b 0a0a 5041 5241 4d45 5445 eger);..PARAMETE\n-00007ed0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-00007ee0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-00007ef0: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n-00007f00: 756e 6420 736f 636b 6574 206f 626a 6563 und socket objec\n-00007f10: 740a 2020 2020 204c 4556 454c 2020 2020 t. LEVEL \n-00007f20: 2020 696e 2020 2020 2020 2020 2050 726f in Pro\n-00007f30: 746f 636f 6c20 6c65 7665 6c0a 2020 2020 tocol level. \n-00007f40: 204f 5054 4e41 4d45 2020 2020 696e 2020 OPTNAME in \n-00007f50: 2020 2020 2020 204f 7074 696f 6e20 6e61 Option na\n-00007f60: 6d65 0a20 2020 2020 4f50 5456 414c 2020 me. OPTVAL \n-00007f70: 2020 2069 6e20 2020 2020 2020 2020 4f70 in Op\n-00007f80: 7469 6f6e 2076 616c 7565 0a0a 4445 5343 tion value..DESC\n-00007f90: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00007fa0: 7320 7072 6f63 6564 7572 6520 7365 7473 s procedure sets\n-00007fb0: 206f 7074 696f 6e73 2061 7070 6c69 6361 options applica\n-00007fc0: 626c 6520 746f 2061 2073 6f63 6b65 742e ble to a socket.\n-00007fd0: 2020 506c 6561 7365 2073 6565 0a20 2020 Please see. \n-00007fe0: 2020 796f 7572 206f 7065 7261 7469 6e67 your operating\n-00007ff0: 2073 7973 7465 6d20 6d61 6e75 616c 2066 system manual f\n-00008000: 6f72 2075 7361 626c 6520 6c65 7665 6c73 or usable levels\n-00008010: 2061 6e64 206f 7074 696f 6e73 2e0a 0a20 and options... \n-00008020: 2020 2020 5477 6f20 6c65 7665 6c73 2061 Two levels a\n-00008030: 7265 2064 6566 696e 6564 3a20 2753 4f4c re defined: 'SOL\n-00008040: 5f53 4f43 4b45 5427 2028 7468 6520 6465 _SOCKET' (the de\n-00008050: 6661 756c 7429 2061 6e64 0a20 2020 2020 fault) and. \n-00008060: 2749 5050 524f 544f 5f49 5027 2e20 2054 'IPPROTO_IP'. T\n-00008070: 6865 206f 7074 696f 6e73 2061 7265 2027 he options are '\n-00008080: 534f 5f52 4555 5345 4144 4452 272c 2027 SO_REUSEADDR', '\n-00008090: 534f 5f52 4555 5345 504f 5254 272c 0a20 SO_REUSEPORT',. \n-000080a0: 2020 2020 2749 505f 4d55 4c54 4943 4153 'IP_MULTICAS\n-000080b0: 545f 5454 4c27 2c20 2749 505f 4144 445f T_TTL', 'IP_ADD_\n-000080c0: 4d45 4d42 4552 5348 4950 272c 2027 4950 MEMBERSHIP', 'IP\n-000080d0: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n-000080e0: 272c 0a20 2020 2020 2749 505f 4d55 4c54 ',. 'IP_MULT\n-000080f0: 4943 4153 545f 4c4f 4f50 272c 2027 534f ICAST_LOOP', 'SO\n-00008100: 5f53 4e44 4255 4627 2061 6e64 2027 4950 _SNDBUF' and 'IP\n-00008110: 5f52 4356 4255 4627 2e0a 0a20 2020 2020 _RCVBUF'... \n-00008120: 4e6f 7465 2074 6861 7420 756e 6c69 6b65 Note that unlike\n-00008130: 2074 6865 6972 2043 206c 616e 6775 6167 their C languag\n-00008140: 6520 636f 756e 7465 7270 6172 742c 2027 e counterpart, '\n-00008150: 4765 7473 6f63 6b6f 7074 2720 616e 640a Getsockopt' and.\n-00008160: 2020 2020 2027 5365 7473 6f63 6b6f 7074 'Setsockopt\n-00008170: 2720 646f 206e 6f74 2072 6571 7569 7265 ' do not require\n-00008180: 2061 6e20 6578 7472 6120 7061 7261 6d65 an extra parame\n-00008190: 7465 7220 7265 7072 6573 656e 7469 6e67 ter representing\n-000081a0: 2074 6865 0a20 2020 2020 6c65 6e67 7468 the. length\n-000081b0: 2069 6e20 6279 7465 7320 6f66 2074 6865 in bytes of the\n-000081c0: 206f 7074 696f 6e20 7661 6c75 652e 2020 option value. \n-000081d0: 4164 6153 6f63 6b65 7473 206e 6f77 7320 AdaSockets nows \n-000081e0: 7468 6520 7269 6768 740a 2020 2020 2073 the right. s\n-000081f0: 697a 6520 666f 7220 6576 6572 7920 6f70 ize for every op\n-00008200: 7469 6f6e 2e0a 0a53 4545 2041 4c53 4f0a tion...SEE ALSO.\n-00008210: 2020 2020 202a 6e6f 7465 2047 6574 736f *note Getso\n-00008220: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00008230: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00008240: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00008250: 4e6f 6465 3a20 5368 7574 646f 776e 2028 Node: Shutdown (\n-00008260: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-00008270: 743a 2053 6f63 6b65 7420 2870 726f 6365 t: Socket (proce\n-00008280: 6475 7265 292c 2020 5072 6576 3a20 5365 dure), Prev: Se\n-00008290: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-000082a0: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n-000082b0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n-000082c0: 7572 6529 0a0a 5368 7574 646f 776e 2028 ure)..Shutdown (\n-000082d0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n-000082e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-000082f0: 0a50 5552 504f 5345 0a20 2020 2020 5368 .PURPOSE. Sh\n-00008300: 7574 646f 776e 2061 2073 6f63 6b65 740a utdown a socket.\n-00008310: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n-00008320: 2d2d 2053 6f63 6b65 7473 2e53 6875 7464 -- Sockets.Shutd\n-00008330: 6f77 6e3a 2070 726f 6365 6475 7265 2053 own: procedure S\n-00008340: 6875 7464 6f77 6e0a 2020 2020 2020 2020 hutdown. \n-00008350: 2020 2020 2020 2028 534f 434b 4554 203a (SOCKET :\n-00008360: 2069 6e20 6f75 7420 536f 636b 6574 5f46 in out Socket_F\n-00008370: 443b 2048 4f57 203a 2053 6875 7464 6f77 D; HOW : Shutdow\n-00008380: 6e5f 5479 7065 203a 3d20 426f 7468 293b n_Type := Both);\n-00008390: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-000083a0: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-000083b0: 6f75 7420 2020 2020 536f 636b 6574 206f out Socket o\n-000083c0: 626a 6563 7420 746f 2073 6875 7464 6f77 bject to shutdow\n-000083d0: 6e0a 2020 2020 2048 4f57 2020 2020 2020 n. HOW \n-000083e0: 2020 696e 2020 2020 2020 2020 2044 6972 in Dir\n-000083f0: 6563 7469 6f6e 2074 6f20 7368 7574 646f ection to shutdo\n-00008400: 776e 0a0a 4445 5343 5249 5054 494f 4e0a wn..DESCRIPTION.\n-00008410: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n-00008420: 7572 6520 7368 7574 646f 776e 7320 6569 ure shutdowns ei\n-00008430: 7468 6572 2064 6972 6563 7469 6f6e 206f ther direction o\n-00008440: 6620 7468 6520 736f 636b 6574 2e20 2048 f the socket. H\n-00008450: 4f57 2063 616e 0a20 2020 2020 7461 6b65 OW can. take\n-00008460: 2074 6865 2076 616c 7565 2027 5365 6e64 the value 'Send\n-00008470: 272c 2027 5265 6365 6976 6527 206f 7220 ', 'Receive' or \n-00008480: 2742 6f74 6827 2e0a 0a53 4545 2041 4c53 'Both'...SEE ALS\n-00008490: 4f0a 2020 2020 202a 6e6f 7465 2053 6f63 O. *note Soc\n-000084a0: 6b65 7420 2870 726f 6365 6475 7265 293a ket (procedure):\n-000084b0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-000084c0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-000084d0: 6465 3a20 536f 636b 6574 2028 7072 6f63 de: Socket (proc\n-000084e0: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n-000084f0: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-00008500: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n-00008510: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-00008520: 7265 290a 0a53 6f63 6b65 7420 2870 726f re)..Socket (pro\n-00008530: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-00008540: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-00008550: 4f53 450a 2020 2020 2043 7265 6174 6520 OSE. Create \n-00008560: 6120 736f 636b 6574 206f 6620 7468 6520 a socket of the \n-00008570: 6769 7665 6e20 6d6f 6465 0a50 524f 544f given mode.PROTO\n-00008580: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n-00008590: 636b 6574 732e 536f 636b 6574 3a20 7072 ckets.Socket: pr\n-000085a0: 6f63 6564 7572 6520 536f 636b 6574 2028 ocedure Socket (\n-000085b0: 534f 434b 4554 203a 206f 7574 2053 6f63 SOCKET : out Soc\n-000085c0: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n-000085d0: 2020 2020 2020 2044 4f4d 4149 4e20 3a20 DOMAIN : \n-000085e0: 536f 636b 6574 5f44 6f6d 6169 6e20 3a3d Socket_Domain :=\n-000085f0: 2050 465f 494e 4554 3b0a 2020 2020 2020 PF_INET;. \n-00008600: 2020 2020 2020 2020 2054 5950 203a 2053 TYP : S\n-00008610: 6f63 6b65 745f 5479 7065 203a 3d20 534f ocket_Type := SO\n-00008620: 434b 5f53 5452 4541 4d29 3b0a 0a50 4152 CK_STREAM);..PAR\n-00008630: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n-00008640: 4b45 5420 2020 2020 6f75 7420 2020 2020 KET out \n-00008650: 2020 2053 6f63 6b65 7420 6f62 6a65 6374 Socket object\n-00008660: 2074 6f20 696e 6974 6961 6c69 7a65 0a20 to initialize. \n-00008670: 2020 2020 444f 4d41 494e 2020 2020 2069 DOMAIN i\n-00008680: 6e20 2020 2020 2020 2020 5072 6f74 6f63 n Protoc\n-00008690: 6f6c 2066 616d 696c 790a 2020 2020 2054 ol family. T\n-000086a0: 5950 2020 2020 2020 2020 696e 2020 2020 YP in \n-000086b0: 2020 2020 204b 696e 6420 6f66 2073 6f63 Kind of soc\n-000086c0: 6b65 7473 0a0a 4445 5343 5249 5054 494f kets..DESCRIPTIO\n-000086d0: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-000086e0: 6564 7572 6520 696e 6974 6961 6c69 7a65 edure initialize\n-000086f0: 7320 6120 6e65 7720 736f 636b 6574 206f s a new socket o\n-00008700: 626a 6563 7420 6279 2072 6573 6572 7669 bject by reservi\n-00008710: 6e67 2061 2066 696c 650a 2020 2020 2064 ng a file. d\n-00008720: 6573 6372 6970 746f 7220 746f 2074 6865 escriptor to the\n-00008730: 206f 7065 7261 7469 6e67 2073 7973 7465 operating syste\n-00008740: 6d2e 2020 466f 7220 6261 636b 7761 7264 m. For backward\n-00008750: 2063 6f6d 7061 7469 6269 6c69 7479 0a20 compatibility. \n-00008760: 2020 2020 7769 7468 206f 6c64 6572 2076 with older v\n-00008770: 6572 7369 6f6e 7320 6f66 2074 6869 7320 ersions of this \n-00008780: 6c69 6272 6172 792c 2027 4146 5f49 4e45 library, 'AF_INE\n-00008790: 5427 2069 7320 7374 696c 6c20 6163 6365 T' is still acce\n-000087a0: 7074 6564 2061 730a 2020 2020 2061 2076 pted as. a v\n-000087b0: 616c 7565 2062 7574 2073 686f 756c 6420 alue but should \n-000087c0: 6265 2072 6570 6c61 6365 6420 6173 2073 be replaced as s\n-000087d0: 6f6f 6e20 6173 2070 6f73 7369 626c 6520 oon as possible \n-000087e0: 7769 7468 2074 6865 2070 726f 7065 720a with the proper.\n-000087f0: 2020 2020 2027 5046 5f49 4e45 5427 2e20 'PF_INET'. \n-00008800: 2055 7369 6e67 2027 534f 434b 5f53 5452 Using 'SOCK_STR\n-00008810: 4541 4d27 2066 6f72 2074 6865 2054 5950 EAM' for the TYP\n-00008820: 2061 7267 756d 656e 7420 7769 6c6c 2063 argument will c\n-00008830: 7265 6174 6520 610a 2020 2020 2054 4350 reate a. TCP\n-00008840: 2073 6f63 6b65 7420 7768 696c 6520 6120 socket while a \n-00008850: 2753 4f43 4b5f 4447 5241 4d27 2077 696c 'SOCK_DGRAM' wil\n-00008860: 6c20 6372 6561 7465 2061 2055 4450 206f l create a UDP o\n-00008870: 6e65 2e0a 0a45 5841 4d50 4c45 0a0a 0a1f ne...EXAMPLE....\n-00008880: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00008890: 732e 696e 666f 2c20 204e 6f64 653a 2053 s.info, Node: S\n-000088a0: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n-000088b0: 2070 6163 6b61 6765 2c20 204e 6578 743a package, Next:\n-000088c0: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-000088d0: 7061 636b 6167 652c 2020 5072 6576 3a20 package, Prev: \n-000088e0: 536f 636b 6574 7320 7061 636b 6167 652c Sockets package,\n-000088f0: 2020 5570 3a20 546f 700a 0a35 2053 6f63 Up: Top..5 Soc\n-00008900: 6b65 7473 2e4d 756c 7469 6361 7374 2070 kets.Multicast p\n-00008910: 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a 2a2a ackage.*********\n-00008920: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00008930: 2a2a 0a0a 5468 6520 2753 6f63 6b65 7473 **..The 'Sockets\n-00008940: 2e4d 756c 7469 6361 7374 2720 616c 6c6f .Multicast' allo\n-00008950: 7773 2074 6865 2063 7265 6174 696f 6e20 ws the creation \n-00008960: 6f66 2049 5020 6d75 6c74 6963 6173 7420 of IP multicast \n-00008970: 736f 636b 6574 732e 0a0a 202d 2d20 536f sockets... -- So\n-00008980: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n-00008990: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-000089a0: 5f46 443a 2074 7970 6520 4d75 6c74 6963 _FD: type Multic\n-000089b0: 6173 745f 536f 636b 6574 5f46 4420 6973 ast_Socket_FD is\n-000089c0: 0a20 2020 2020 2020 2020 206e 6577 2053 . new S\n-000089d0: 6f63 6b65 745f 4644 2077 6974 6820 7072 ocket_FD with pr\n-000089e0: 6976 6174 653b 0a20 2020 2020 5468 6520 ivate;. The \n-000089f0: 274d 756c 7469 6361 7374 5f53 6f63 6b65 'Multicast_Socke\n-00008a00: 745f 4644 2720 7461 6767 6564 2074 7970 t_FD' tagged typ\n-00008a10: 6520 6465 7269 7665 7320 6672 6f6d 2074 e derives from t\n-00008a20: 6865 2027 536f 636b 6574 5f46 4427 0a20 he 'Socket_FD'. \n-00008a30: 2020 2020 7479 7065 2e20 2049 7420 6765 type. It ge\n-00008a40: 7473 2069 6e69 7469 616c 697a 6564 2062 ts initialized b\n-00008a50: 7920 6361 6c6c 696e 6720 2a6e 6f74 6520 y calling *note \n-00008a60: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-00008a70: 5f53 6f63 6b65 740a 2020 2020 2028 6675 _Socket. (fu\n-00008a80: 6e63 7469 6f6e 293a 3a2e 2020 416e 2075 nction)::. An u\n-00008a90: 6e69 6e69 7469 616c 697a 6564 2027 4d75 ninitialized 'Mu\n-00008aa0: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n-00008ab0: 4427 2063 616e 2062 650a 2020 2020 2073 D' can be. s\n-00008ac0: 7563 6365 7366 756c 6c79 2063 6f6d 7061 uccesfully compa\n-00008ad0: 7265 6420 746f 2027 4e75 6c6c 5f4d 756c red to 'Null_Mul\n-00008ae0: 7469 6361 7374 5f53 6f63 6b65 745f 4644 ticast_Socket_FD\n-00008af0: 272e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2043 '...* Menu:..* C\n-00008b00: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-00008b10: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n-00008b20: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n-00008b30: 2020 2020 2020 2020 2020 2020 4372 6561 Crea\n-00008b40: 7465 2061 6e20 4950 206d 756c 7469 6361 te an IP multica\n-00008b50: 7374 2073 6f63 6b65 740a 2a20 4372 6561 st socket.* Crea\n-00008b60: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-00008b70: 6b65 7420 2866 756e 6374 696f 6e29 3a3a ket (function)::\n-00008b80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00008b90: 2020 2020 2020 2020 2043 7265 6174 6520 Create \n-00008ba0: 616e 2049 5020 6d75 6c74 6963 6173 7420 an IP multicast \n-00008bb0: 736f 636b 6574 0a0a 1f0a 4669 6c65 3a20 socket....File: \n-00008bc0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-00008bd0: 2020 4e6f 6465 3a20 4372 6561 7465 5f4d Node: Create_M\n-00008be0: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n-00008bf0: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n-00008c00: 743a 2043 7265 6174 655f 4d75 6c74 6963 t: Create_Multic\n-00008c10: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-00008c20: 7469 6f6e 292c 2020 5072 6576 3a20 4372 tion), Prev: Cr\n-00008c30: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00008c40: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n-00008c50: 2c20 2055 703a 2053 6f63 6b65 7473 2e4d , Up: Sockets.M\n-00008c60: 756c 7469 6361 7374 2070 6163 6b61 6765 ulticast package\n-00008c70: 0a0a 4372 6561 7465 5f4d 756c 7469 6361 ..Create_Multica\n-00008c80: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n-00008c90: 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ion).===========\n-00008ca0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00008cb0: 3d3d 3d3d 3d3d 3d0a 0a50 5552 504f 5345 =======..PURPOSE\n-00008cc0: 0a20 2020 2020 4372 6561 7465 2061 6e20 . Create an \n-00008cd0: 4950 206d 756c 7469 6361 7374 2073 6f63 IP multicast soc\n-00008ce0: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n-00008cf0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4d -- Sockets.M\n-00008d00: 756c 7469 6361 7374 2e43 7265 6174 655f ulticast.Create_\n-00008d10: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-00008d20: 3a20 6675 6e63 7469 6f6e 0a20 2020 2020 : function. \n-00008d30: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n-00008d40: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n-00008d50: 7420 2847 524f 5550 203a 2053 7472 696e t (GROUP : Strin\n-00008d60: 673b 2050 4f52 5420 3a20 4e61 7475 7261 g; PORT : Natura\n-00008d70: 6c3b 0a20 2020 2020 2020 2020 2020 2020 l;. \n-00008d80: 2020 5454 4c20 3a20 506f 7369 7469 7665 TTL : Positive\n-00008d90: 203a 3d20 3136 3b20 5345 4c46 5f4c 4f4f := 16; SELF_LOO\n-00008da0: 5020 3a20 426f 6f6c 6561 6e20 3a3d 2054 P : Boolean := T\n-00008db0: 7275 653b 0a20 2020 2020 2020 2020 2020 rue;. \n-00008dc0: 2020 2020 4c4f 4341 4c5f 4946 203a 2053 LOCAL_IF : S\n-00008dd0: 7472 696e 6720 3a3d 2030 2e30 2e30 2e30 tring := 0.0.0.0\n-00008de0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-00008df0: 2072 6574 7572 6e20 4d75 6c74 6963 6173 return Multicas\n-00008e00: 745f 536f 636b 6574 5f46 443b 0a0a 5041 t_Socket_FD;..PA\n-00008e10: 5241 4d45 5445 5253 0a20 2020 2020 4752 RAMETERS. GR\n-00008e20: 4f55 5020 2020 2020 2069 6e20 2020 2020 OUP in \n-00008e30: 2020 2020 4950 2061 6464 7265 7373 206f IP address o\n-00008e40: 6620 7468 6520 6d75 6c74 6963 6173 7420 f the multicast \n-00008e50: 6772 6f75 7020 746f 0a20 2020 2020 2020 group to. \n-00008e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008e70: 2020 2020 6a6f 696e 0a20 2020 2020 504f join. PO\n-00008e80: 5254 2020 2020 2020 2069 6e20 2020 2020 RT in \n-00008e90: 2020 2020 506f 7274 206f 6620 7468 6520 Port of the \n-00008ea0: 6d75 6c74 6963 6173 7420 6772 6f75 7020 multicast group \n-00008eb0: 746f 206a 6f69 6e0a 2020 2020 2054 544c to join. TTL\n-00008ec0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-00008ed0: 2020 2054 696d 652d 746f 2d6c 6976 6520 Time-to-live \n-00008ee0: 6f66 2073 656e 7420 7061 636b 6574 730a of sent packets.\n-00008ef0: 2020 2020 2053 454c 465f 4c4f 4f50 2020 SELF_LOOP \n-00008f00: 696e 2020 2020 2020 2020 2053 686f 756c in Shoul\n-00008f10: 6420 7468 6520 736f 636b 6574 2072 6563 d the socket rec\n-00008f20: 6569 7665 2074 6865 2070 6163 6b65 7473 eive the packets\n-00008f30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00008f40: 2020 2020 2020 2020 2020 2020 7365 6e74 sent\n-00008f50: 2066 726f 6d20 7468 6520 6c6f 6361 6c20 from the local \n-00008f60: 686f 7374 3f0a 2020 2020 204c 4f43 414c host?. LOCAL\n-00008f70: 5f49 4620 2020 696e 2020 2020 2020 2020 _IF in \n-00008f80: 2041 6464 7265 7373 206f 6620 7468 6520 Address of the \n-00008f90: 6c6f 6361 6c20 696e 7465 7266 6163 6520 local interface \n-00008fa0: 746f 2075 7365 0a0a 5245 5455 524e 2056 to use..RETURN V\n-00008fb0: 414c 5545 0a20 2020 2020 5468 6520 6e65 ALUE. The ne\n-00008fc0: 7720 696e 6974 6961 6c69 7a65 6420 6d75 w initialized mu\n-00008fd0: 6c74 6963 6173 7420 736f 636b 6574 0a0a lticast socket..\n-00008fe0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00008ff0: 2054 6869 7320 6675 6e63 7469 6f6e 2063 This function c\n-00009000: 7265 6174 6573 2061 6e20 4950 206d 756c reates an IP mul\n-00009010: 7469 6361 7374 2073 6f63 6b65 7420 6174 ticast socket at\n-00009020: 7461 6368 6564 2074 6f20 6120 6769 7665 tached to a give\n-00009030: 6e0a 2020 2020 2067 726f 7570 2c20 6964 n. group, id\n-00009040: 656e 7469 6669 6564 2062 7920 6974 7320 entified by its \n-00009050: 636c 6173 7320 4520 4950 2061 6464 7265 class E IP addre\n-00009060: 7373 2061 6e64 2070 6f72 742e 0a0a 2020 ss and port... \n-00009070: 2020 2042 6520 6361 7265 6675 6c20 7768 Be careful wh\n-00009080: 656e 2063 686f 6f73 696e 6720 7468 6520 en choosing the \n-00009090: 5454 4c20 7061 7261 6d65 7465 7220 6f66 TTL parameter of\n-000090a0: 2079 6f75 7220 4950 206d 756c 7469 6361 your IP multica\n-000090b0: 7374 0a20 2020 2020 736f 636b 6574 2e20 st. socket. \n-000090c0: 204d 6f73 7420 4950 206d 756c 7469 6361 Most IP multica\n-000090d0: 7374 2072 6f75 7465 7273 2064 6f20 696d st routers do im\n-000090e0: 706c 656d 656e 7420 7468 7265 7368 6f6c plement threshol\n-000090f0: 642d 6261 7365 640a 2020 2020 2066 696c d-based. fil\n-00009100: 7465 7269 6e67 2061 6e64 2077 696c 6c20 tering and will \n-00009110: 6e6f 7420 6c65 7420 4950 206d 756c 7469 not let IP multi\n-00009120: 6361 7374 2070 6163 6b65 7473 206c 6561 cast packets lea\n-00009130: 7665 2079 6f75 720a 2020 2020 206f 7267 ve your. org\n-00009140: 616e 697a 6174 696f 6e20 6966 2074 6865 anization if the\n-00009150: 2054 544c 206f 6e20 7468 6520 6c61 7374 TTL on the last\n-00009160: 2072 6f75 7465 7220 6973 2073 6d61 6c6c router is small\n-00009170: 6572 2074 6861 6e20 3136 2e0a 0a20 2020 er than 16... \n-00009180: 2020 4966 2030 2069 7320 6769 7665 6e20 If 0 is given \n-00009190: 666f 7220 7468 6520 506f 7274 2c20 6120 for the Port, a \n-000091a0: 6c6f 6361 6c20 6f6e 6520 7769 6c6c 2062 local one will b\n-000091b0: 6520 6368 6f73 656e 2e20 2049 7420 6361 e chosen. It ca\n-000091c0: 6e0a 2020 2020 2074 6865 6e20 6c61 7465 n. then late\n-000091d0: 7220 6265 2072 6574 7269 6576 6564 2075 r be retrieved u\n-000091e0: 7369 6e67 2047 6574 5f53 6f63 6b5f 506f sing Get_Sock_Po\n-000091f0: 7274 2e0a 0a45 5841 4d50 4c45 0a0a 0a1f rt...EXAMPLE....\n-00009200: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00009210: 732e 696e 666f 2c20 204e 6f64 653a 2053 s.info, Node: S\n-00009220: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n-00009230: 636b 6167 652c 2020 4e65 7874 3a20 436f ckage, Next: Co\n-00009240: 6e74 7269 6275 746f 7273 2c20 2050 7265 ntributors, Pre\n-00009250: 763a 2053 6f63 6b65 7473 2e4d 756c 7469 v: Sockets.Multi\n-00009260: 6361 7374 2070 6163 6b61 6765 2c20 2055 cast package, U\n-00009270: 703a 2054 6f70 0a0a 3620 536f 636b 6574 p: Top..6 Socket\n-00009280: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n-00009290: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n-000092a0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 2027 *********..The '\n-000092b0: 536f 636b 6574 732e 4e61 6d69 6e67 2720 Sockets.Naming' \n-000092c0: 7061 636b 6167 6520 636f 6e74 6169 6e73 package contains\n-000092d0: 2074 7970 6573 2061 6e64 2068 656c 7065 types and helpe\n-000092e0: 7220 6675 6e63 7469 6f6e 7320 6e65 6564 r functions need\n-000092f0: 6564 0a74 6f20 6d61 6e69 7075 6c61 7465 ed.to manipulate\n-00009300: 2049 6e74 6572 6e65 7420 686f 7374 206e Internet host n\n-00009310: 616d 6573 2061 6e64 2061 6464 7265 7373 ames and address\n-00009320: 6573 2e0a 0a20 2d2d 2053 6f63 6b65 7473 es... -- Sockets\n-00009330: 2e4e 616d 696e 672e 4164 6472 6573 733a .Naming.Address:\n-00009340: 2074 7970 6520 4164 6472 6573 7320 6973 type Address is\n-00009350: 2072 6563 6f72 640a 2020 2020 2020 2020 record. \n-00009360: 2020 2020 4831 2c20 4832 2c20 4833 2c20 H1, H2, H3, \n-00009370: 4834 203a 2041 6464 7265 7373 5f43 6f6d H4 : Address_Com\n-00009380: 706f 6e65 6e74 3b0a 2020 2020 2020 2020 ponent;. \n-00009390: 2020 656e 6420 7265 636f 7264 3b0a 2020 end record;. \n-000093a0: 2020 2054 6869 7320 7479 7065 2072 6570 This type rep\n-000093b0: 7265 7365 6e74 7320 616e 2049 5076 3420 resents an IPv4 \n-000093c0: 6164 6472 6573 7320 7769 7468 2027 4831 address with 'H1\n-000093d0: 2720 6265 696e 6720 7468 6520 6669 7273 ' being the firs\n-000093e0: 740a 2020 2020 206f 6374 6574 2061 6e64 t. octet and\n-000093f0: 2027 4834 2720 7468 6520 6c61 7374 206f 'H4' the last o\n-00009400: 6e65 2e20 2046 6f72 2065 7861 6d70 6c65 ne. For example\n-00009410: 2c20 3133 372e 3139 342e 3136 312e 3220 , 137.194.161.2 \n-00009420: 6973 0a20 2020 2020 7265 7072 6573 656e is. represen\n-00009430: 7465 6420 6279 2027 4831 3d31 3337 2c20 ted by 'H1=137, \n-00009440: 4832 3d31 3934 2c20 4833 3d31 3631 2c20 H2=194, H3=161, \n-00009450: 4834 3d32 272e 0a0a 202d 2d20 536f 636b H4=2'... -- Sock\n-00009460: 6574 732e 4e61 6d69 6e67 2e41 6464 7265 ets.Naming.Addre\n-00009470: 7373 5f41 7272 6179 3a20 7479 7065 2041 ss_Array: type A\n-00009480: 6464 7265 7373 5f41 7272 6179 2069 7320 ddress_Array is \n-00009490: 6172 7261 7920 2850 6f73 6974 6976 650a array (Positive.\n-000094a0: 2020 2020 2020 2020 2020 7261 6e67 6520 range \n-000094b0: 3c3e 2920 6f66 2041 6464 7265 7373 3b0a <>) of Address;.\n-000094c0: 2020 2020 2048 656c 7065 7220 7479 7065 Helper type\n-000094d0: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na\n-000094e0: 6d69 6e67 2e41 6464 7265 7373 5f43 6f6d ming.Address_Com\n-000094f0: 706f 6e65 6e74 3a20 7479 7065 2041 6464 ponent: type Add\n-00009500: 7265 7373 5f43 6f6d 706f 6e65 6e74 2069 ress_Component i\n-00009510: 7320 4e61 7475 7261 6c0a 2020 2020 2020 s Natural. \n-00009520: 2020 2020 7261 6e67 6520 3020 2e2e 2032 range 0 .. 2\n-00009530: 3535 3b0a 2020 2020 2048 656c 7065 7220 55;. Helper \n-00009540: 7479 7065 0a0a 202d 2d20 536f 636b 6574 type.. -- Socket\n-00009550: 732e 4e61 6d69 6e67 2e48 6f73 745f 456e s.Naming.Host_En\n-00009560: 7472 793a 2074 7970 6520 486f 7374 5f45 try: type Host_E\n-00009570: 6e74 7279 2028 4e5f 416c 6961 7365 732c ntry (N_Aliases,\n-00009580: 204e 5f41 6464 7265 7373 6573 203a 0a20 N_Addresses :. \n-00009590: 2020 2020 2020 2020 204e 6174 7572 616c Natural\n-000095a0: 2920 6973 206e 6577 2041 6461 2e46 696e ) is new Ada.Fin\n-000095b0: 616c 697a 6174 696f 6e2e 436f 6e74 726f alization.Contro\n-000095c0: 6c6c 6564 2077 6974 6820 7265 636f 7264 lled with record\n-000095d0: 0a20 2020 2020 2020 2020 2020 2020 4e61 . Na\n-000095e0: 6d65 203a 2053 7472 696e 675f 4163 6365 me : String_Acce\n-000095f0: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n-00009600: 2041 6c69 6173 6573 203a 2053 7472 696e Aliases : Strin\n-00009610: 675f 4172 7261 7920 2831 202e 2e20 4e5f g_Array (1 .. N_\n-00009620: 416c 6961 7365 7329 3b0a 2020 2020 2020 Aliases);. \n-00009630: 2020 2020 2020 2041 6464 7265 7373 6573 Addresses\n-00009640: 203a 2041 6464 7265 7373 5f41 7272 6179 : Address_Array\n-00009650: 2028 3120 2e2e 204e 5f41 6464 7265 7373 (1 .. N_Address\n-00009660: 6573 293b 0a20 2020 2020 2020 2020 2065 es);. e\n-00009670: 6e64 2072 6563 6f72 643b 0a20 2020 2020 nd record;. \n-00009680: 5468 6520 2748 6f73 745f 456e 7472 7927 The 'Host_Entry'\n-00009690: 2074 7970 6520 686f 6c64 7320 6120 7365 type holds a se\n-000096a0: 7420 6f66 206e 616d 6573 2061 6e64 2049 t of names and I\n-000096b0: 5020 6164 6472 6573 7365 730a 2020 2020 P addresses. \n-000096c0: 2061 7373 6f63 6961 7465 6420 7769 7468 associated with\n-000096d0: 2061 2068 6f73 742e 2020 4561 6368 2068 a host. Each h\n-000096e0: 6f73 7420 6361 6e20 6861 7665 2073 6576 ost can have sev\n-000096f0: 6572 616c 2049 5020 6164 6472 6573 7320 eral IP address \n-00009700: 6173 0a20 2020 2020 7765 6c6c 2061 7320 as. well as \n-00009710: 7365 7665 7261 6c20 616c 6961 7365 732e several aliases.\n-00009720: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na\n-00009730: 6d69 6e67 2e53 7472 696e 675f 4163 6365 ming.String_Acce\n-00009740: 7373 3a20 7479 7065 2053 7472 696e 675f ss: type String_\n-00009750: 4163 6365 7373 2069 7320 6163 6365 7373 Access is access\n-00009760: 2053 7472 696e 673b 0a20 2020 2020 4865 String;. He\n-00009770: 6c70 6572 2074 7970 650a 0a20 2d2d 2053 lper type.. -- S\n-00009780: 6f63 6b65 7473 2e4e 616d 696e 672e 5374 ockets.Naming.St\n-00009790: 7269 6e67 5f41 7272 6179 3a20 7479 7065 ring_Array: type\n-000097a0: 2053 7472 696e 675f 4172 7261 7920 6973 String_Array is\n-000097b0: 2061 7272 6179 2028 506f 7369 7469 7665 array (Positive\n-000097c0: 0a20 2020 2020 2020 2020 2072 616e 6765 . range\n-000097d0: 203c 3e29 206f 6620 5374 7269 6e67 5f41 <>) of String_A\n-000097e0: 6363 6573 733b 0a20 2020 2020 4865 6c70 ccess;. Help\n-000097f0: 6572 2074 7970 650a 0a2a 204d 656e 753a er type..* Menu:\n-00009800: 0a0a 2a20 4164 6472 6573 735f 4f66 2028 ..* Address_Of (\n-00009810: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-00009820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009830: 2020 2020 4765 7420 7468 6520 4950 2061 Get the IP a\n-00009840: 6464 7265 7373 206f 6620 6120 686f 7374 ddress of a host\n-00009850: 0a2a 2041 6e79 5f41 6464 7265 7373 2028 .* Any_Address (\n-00009860: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-00009870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009880: 2020 2020 5370 6563 6961 6c20 6164 6472 Special addr\n-00009890: 6573 7320 7265 7072 6573 656e 7469 6e67 ess representing\n-000098a0: 2061 6e79 2061 6464 7265 7373 206f 6e20 any address on \n-000098b0: 7468 6520 6c6f 6361 6c20 686f 7374 0a2a the local host.*\n-000098c0: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n-000098d0: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-000098e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000098f0: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP \n-00009900: 6164 6472 6573 7320 6f66 2072 656d 6f74 address of remot\n-00009910: 6520 686f 7374 0a2a 2047 6574 5f50 6565 e host.* Get_Pee\n-00009920: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-00009930: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n-00009940: 2020 2020 2020 2020 2020 2020 5265 7472 Retr\n-00009950: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b\n-00009960: 7920 7265 6d6f 7465 2068 6f73 740a 2a20 y remote host.* \n-00009970: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n-00009980: 756e 6374 696f 6e29 3a3a 0a20 2020 2020 unction)::. \n-00009990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000099a0: 2020 2052 6574 7269 6576 6520 4950 2061 Retrieve IP a\n-000099b0: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local \n-000099c0: 686f 7374 0a2a 2047 6574 5f53 6f63 6b5f host.* Get_Sock_\n-000099d0: 506f 7274 2028 6675 6e63 7469 6f6e 293a Port (function):\n-000099e0: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n-000099f0: 2020 2020 2020 2020 2020 5265 7472 6965 Retrie\n-00009a00: 7665 2070 6f72 7420 7573 6564 2062 7920 ve port used by \n-00009a10: 6c6f 6361 6c20 686f 7374 0a2a 2048 6f73 local host.* Hos\n-00009a20: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function\n-00009a30: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n-00009a40: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n-00009a50: 7468 6520 6e61 6d65 206f 6620 7468 6520 the name of the \n-00009a60: 6375 7272 656e 7420 686f 7374 0a2a 2049 current host.* I\n-00009a70: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n-00009a80: 3a20 2020 204d 616b 6520 6120 7374 7269 : Make a stri\n-00009a90: 6e67 2066 726f 6d20 616e 2061 6464 7265 ng from an addre\n-00009aa0: 7373 0a2a 2049 6e66 6f5f 4f66 5f4e 616d ss.* Info_Of_Nam\n-00009ab0: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n-00009ac0: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n-00009ad0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-00009ae0: 2061 6464 7265 7373 6573 2061 6e64 206e addresses and n\n-00009af0: 616d 6573 206f 6620 6120 686f 7374 0a2a ames of a host.*\n-00009b00: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n-00009b10: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-00009b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009b30: 2020 2020 4368 6563 6b20 6966 2067 6976 Check if giv\n-00009b40: 656e 2073 7472 696e 6720 6973 2061 2076 en string is a v\n-00009b50: 616c 6964 2049 5020 6164 6472 6573 730a alid IP address.\n-00009b60: 2a20 4e61 6d65 5f4f 6620 2866 756e 6374 * Name_Of (funct\n-00009b70: 696f 6e29 3a3a 2020 4f66 6669 6369 616c ion):: Official\n-00009b80: 206e 616d 6520 6f66 2074 6865 2068 6f73 name of the hos\n-00009b90: 740a 2a20 5661 6c75 6520 2866 756e 6374 t.* Value (funct\n-00009ba0: 696f 6e29 3a3a 2020 2020 5472 616e 7366 ion):: Transf\n-00009bb0: 6f72 6d20 6120 7374 7269 6e67 2069 6e74 orm a string int\n-00009bc0: 6f20 616e 2061 6464 7265 7373 0a0a 1f0a o an address....\n-00009bd0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00009be0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4164 .info, Node: Ad\n-00009bf0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-00009c00: 6f6e 292c 2020 4e65 7874 3a20 416e 795f on), Next: Any_\n-00009c10: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-00009c20: 6e29 2c20 2055 703a 2053 6f63 6b65 7473 n), Up: Sockets\n-00009c30: 2e4e 616d 696e 6720 7061 636b 6167 650a .Naming package.\n-00009c40: 0a41 6464 7265 7373 5f4f 6620 2866 756e .Address_Of (fun\n-00009c50: 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d ction).=========\n-00009c60: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5055 ============..PU\n-00009c70: 5250 4f53 450a 2020 2020 2047 6574 2074 RPOSE. Get t\n-00009c80: 6865 2049 5020 6164 6472 6573 7320 6f66 he IP address of\n-00009c90: 2061 2068 6f73 740a 5052 4f54 4f54 5950 a host.PROTOTYP\n-00009ca0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00009cb0: 7473 2e4e 616d 696e 672e 4164 6472 6573 ts.Naming.Addres\n-00009cc0: 735f 4f66 3a20 6675 6e63 7469 6f6e 2041 s_Of: function A\n-00009cd0: 6464 7265 7373 5f4f 660a 2020 2020 2020 ddress_Of. \n-00009ce0: 2020 2020 2020 2020 2028 534f 4d45 5448 (SOMETH\n-00009cf0: 494e 4720 3a20 5374 7269 6e67 290a 2020 ING : String). \n-00009d00: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-00009d10: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA\n-00009d20: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n-00009d30: 4d45 5448 494e 4720 2069 6e20 2020 2020 METHING in \n-00009d40: 2020 2020 486f 7374 206e 616d 6520 6f72 Host name or\n-00009d50: 2049 5020 6164 6472 6573 730a 0a52 4554 IP address..RET\n-00009d60: 5552 4e20 5641 4c55 450a 2020 2020 2049 URN VALUE. I\n-00009d70: 5076 3420 6164 6472 6573 730a 0a45 5843 Pv4 address..EXC\n-00009d80: 4550 5449 4f4e 530a 2020 2020 2027 4e61 EPTIONS. 'Na\n-00009d90: 6d69 6e67 5f45 7272 6f72 2720 2020 2020 ming_Error' \n-00009da0: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061 No information a\n-00009db0: 7661 696c 6162 6c65 2066 6f72 2074 6869 vailable for thi\n-00009dc0: 7320 6e61 6d65 206f 720a 2020 2020 2020 s name or. \n-00009dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009de0: 2020 6164 6472 6573 730a 0a53 4545 2041 address..SEE A\n-00009df0: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n-00009e00: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-00009e10: 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a )::...* Menu:..*\n-00009e20: 2041 6e79 5f41 6464 7265 7373 2028 6675 Any_Address (fu\n-00009e30: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n-00009e40: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n-00009e50: 696f 6e29 3a3a 0a2a 2047 6574 5f50 6565 ion)::.* Get_Pee\n-00009e60: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n-00009e70: 293a 3a0a 2a20 4765 745f 536f 636b 5f41 )::.* Get_Sock_A\n-00009e80: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n-00009e90: 0a2a 2047 6574 5f53 6f63 6b5f 506f 7274 .* Get_Sock_Port\n-00009ea0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n-00009eb0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n-00009ec0: 696f 6e29 3a3a 0a2a 2049 6d61 6765 2028 ion)::.* Image (\n-00009ed0: 6675 6e63 7469 6f6e 293a 3a0a 2a20 496e function)::.* In\n-00009ee0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n-00009ef0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n-00009f00: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f\n-00009f10: 756e 6374 696f 6e29 3a3a 0a2a 204e 616d unction)::.* Nam\n-00009f20: 655f 4f66 2028 6675 6e63 7469 6f6e 293a e_Of (function):\n-00009f30: 3a0a 2a20 5661 6c75 6520 2866 756e 6374 :.* Value (funct\n-00009f40: 696f 6e29 3a3a 0a0a 1f0a 4669 6c65 3a20 ion)::....File: \n-00009f50: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-00009f60: 2020 4e6f 6465 3a20 416e 795f 4164 6472 Node: Any_Addr\n-00009f70: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n-00009f80: 204e 6578 743a 2047 6574 5f50 6565 725f Next: Get_Peer_\n-00009f90: 4164 6472 2028 6675 6e63 7469 6f6e 292c Addr (function),\n-00009fa0: 2020 5072 6576 3a20 4164 6472 6573 735f Prev: Address_\n-00009fb0: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n-00009fc0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n-00009fd0: 6675 6e63 7469 6f6e 290a 0a41 6e79 5f41 function)..Any_A\n-00009fe0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n-00009ff0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000a000: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000a010: 450a 2020 2020 2053 7065 6369 616c 2061 E. Special a\n-0000a020: 6464 7265 7373 2072 6570 7265 7365 6e74 ddress represent\n-0000a030: 696e 6720 616e 7920 6164 6472 6573 7320 ing any address \n-0000a040: 6f6e 2074 6865 206c 6f63 616c 2068 6f73 on the local hos\n-0000a050: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n-0000a060: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n-0000a070: 696e 672e 416e 795f 4164 6472 6573 733a ing.Any_Address:\n-0000a080: 2066 756e 6374 696f 6e20 416e 795f 4164 function Any_Ad\n-0000a090: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n-0000a0a0: 4c55 450a 2020 2020 2045 7175 6976 616c LUE. Equival\n-0000a0b0: 656e 7420 746f 2027 494e 4144 4452 5f41 ent to 'INADDR_A\n-0000a0c0: 4e59 2720 696e 2074 6865 2043 2070 726f NY' in the C pro\n-0000a0d0: 6772 616d 6d69 6e67 206c 616e 6775 6167 gramming languag\n-0000a0e0: 650a 0a1f 0a46 696c 653a 2061 6461 736f e....File: adaso\n-0000a0f0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-0000a100: 653a 2047 6574 5f50 6565 725f 4164 6472 e: Get_Peer_Addr\n-0000a110: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000a120: 7874 3a20 4765 745f 5065 6572 5f50 6f72 xt: Get_Peer_Por\n-0000a130: 7420 2866 756e 6374 696f 6e29 2c20 2050 t (function), P\n-0000a140: 7265 763a 2041 6e79 5f41 6464 7265 7373 rev: Any_Address\n-0000a150: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000a160: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000a170: 6e63 7469 6f6e 290a 0a47 6574 5f50 6565 nction)..Get_Pee\n-0000a180: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n-0000a190: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-0000a1a0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000a1b0: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n-0000a1c0: 6520 4950 2061 6464 7265 7373 206f 6620 e IP address of \n-0000a1d0: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n-0000a1e0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000a1f0: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n-0000a200: 745f 5065 6572 5f41 6464 723a 2066 756e t_Peer_Addr: fun\n-0000a210: 6374 696f 6e20 4765 745f 5065 6572 5f41 ction Get_Peer_A\n-0000a220: 6464 720a 2020 2020 2020 2020 2020 2020 ddr. \n-0000a230: 2020 2028 534f 434b 4554 203a 2053 6f63 (SOCKET : Soc\n-0000a240: 6b65 745f 4644 290a 2020 2020 2020 2020 ket_FD). \n-0000a250: 2020 2020 2020 2072 6574 7572 6e20 4164 return Ad\n-0000a260: 6472 6573 733b 0a0a 5041 5241 4d45 5445 dress;..PARAMETE\n-0000a270: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-0000a280: 2020 2069 6e20 2020 2020 2020 2020 436f in Co\n-0000a290: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n-0000a2a0: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n-0000a2b0: 4c55 450a 2020 2020 2050 6565 7220 6164 LUE. Peer ad\n-0000a2c0: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO.\n-0000a2d0: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n-0000a2e0: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n-0000a2f0: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n-0000a300: 6520 4765 745f 536f 636b 5f41 6464 7220 e Get_Sock_Addr \n-0000a310: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n-0000a320: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000a330: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n-0000a340: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n-0000a350: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n-0000a360: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n-0000a370: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n-0000a380: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n-0000a390: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n-0000a3a0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n-0000a3b0: 7469 6f6e 290a 0a47 6574 5f50 6565 725f tion)..Get_Peer_\n-0000a3c0: 506f 7274 2028 6675 6e63 7469 6f6e 290a Port (function).\n-0000a3d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a3e0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000a3f0: 450a 2020 2020 2052 6574 7269 6576 6520 E. Retrieve \n-0000a400: 706f 7274 2075 7365 6420 6279 2072 656d port used by rem\n-0000a410: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n-0000a420: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-0000a430: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P\n-0000a440: 6565 725f 506f 7274 3a20 6675 6e63 7469 eer_Port: functi\n-0000a450: 6f6e 2047 6574 5f50 6565 725f 506f 7274 on Get_Peer_Port\n-0000a460: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000a470: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-0000a480: 5f46 4429 0a20 2020 2020 2020 2020 2020 _FD). \n-0000a490: 2020 2020 7265 7475 726e 2050 6f73 6974 return Posit\n-0000a4a0: 6976 653b 0a0a 5041 5241 4d45 5445 5253 ive;..PARAMETERS\n-0000a4b0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n-0000a4c0: 2069 6e20 2020 2020 2020 2020 436f 6e6e in Conn\n-0000a4d0: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n-0000a4e0: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n-0000a4f0: 450a 2020 2020 2050 6f72 7420 7573 6564 E. Port used\n-0000a500: 206f 6e20 7468 6520 7265 6d6f 7465 2068 on the remote h\n-0000a510: 6f73 740a 0a53 4545 2041 4c53 4f0a 2020 ost..SEE ALSO. \n-0000a520: 2020 202a 6e6f 7465 2047 6574 5f53 6f63 *note Get_Soc\n-0000a530: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n-0000a540: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-0000a550: 4765 745f 5065 6572 5f41 6464 7220 2866 Get_Peer_Addr (f\n-0000a560: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n-0000a570: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000a580: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n-0000a590: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n-0000a5a0: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n-0000a5b0: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n-0000a5c0: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n-0000a5d0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n-0000a5e0: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n-0000a5f0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n-0000a600: 6f6e 290a 0a47 6574 5f53 6f63 6b5f 4164 on)..Get_Sock_Ad\n-0000a610: 6472 2028 6675 6e63 7469 6f6e 290a 2d2d dr (function).--\n-0000a620: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a630: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-0000a640: 2020 2020 2052 6574 7269 6576 6520 4950 Retrieve IP\n-0000a650: 2061 6464 7265 7373 206f 6620 6c6f 6361 address of loca\n-0000a660: 6c20 686f 7374 0a50 524f 544f 5459 5045 l host.PROTOTYPE\n-0000a670: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-0000a680: 732e 4e61 6d69 6e67 2e47 6574 5f53 6f63 s.Naming.Get_Soc\n-0000a690: 6b5f 4164 6472 3a20 6675 6e63 7469 6f6e k_Addr: function\n-0000a6a0: 2047 6574 5f53 6f63 6b5f 4164 6472 0a20 Get_Sock_Addr. \n-0000a6b0: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n-0000a6c0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-0000a6d0: 4429 0a20 2020 2020 2020 2020 2020 2020 D). \n-0000a6e0: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n-0000a6f0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000a700: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n-0000a710: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n-0000a720: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n-0000a730: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-0000a740: 2020 2020 4164 6472 6573 7320 6f66 206c Address of l\n-0000a750: 6f63 616c 2069 6e74 6572 6661 6365 2075 ocal interface u\n-0000a760: 7365 640a 0a53 4545 2041 4c53 4f0a 2020 sed..SEE ALSO. \n-0000a770: 2020 202a 6e6f 7465 2047 6574 5f53 6f63 *note Get_Soc\n-0000a780: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n-0000a790: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-0000a7a0: 4765 745f 5065 6572 5f41 6464 7220 2866 Get_Peer_Addr (f\n-0000a7b0: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n-0000a7c0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000a7d0: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n-0000a7e0: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n-0000a7f0: 7469 6f6e 292c 2020 4e65 7874 3a20 486f tion), Next: Ho\n-0000a800: 7374 5f4e 616d 6520 2866 756e 6374 696f st_Name (functio\n-0000a810: 6e29 2c20 2050 7265 763a 2047 6574 5f53 n), Prev: Get_S\n-0000a820: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n-0000a830: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n-0000a840: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n-0000a850: 0a47 6574 5f53 6f63 6b5f 506f 7274 2028 .Get_Sock_Port (\n-0000a860: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-0000a870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a880: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-0000a890: 2052 6574 7269 6576 6520 706f 7274 2075 Retrieve port u\n-0000a8a0: 7365 6420 6279 206c 6f63 616c 2068 6f73 sed by local hos\n-0000a8b0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n-0000a8c0: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n-0000a8d0: 696e 672e 4765 745f 536f 636b 5f50 6f72 ing.Get_Sock_Por\n-0000a8e0: 743a 2066 756e 6374 696f 6e20 4765 745f t: function Get_\n-0000a8f0: 536f 636b 5f50 6f72 740a 2020 2020 2020 Sock_Port. \n-0000a900: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n-0000a910: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). \n-0000a920: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n-0000a930: 7572 6e20 506f 7369 7469 7665 3b0a 0a50 urn Positive;..P\n-0000a940: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-0000a950: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-0000a960: 2020 2020 2043 6f6e 6e65 6374 6564 2073 Connected s\n-0000a970: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n-0000a980: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n-0000a990: 506f 7274 2075 7365 6420 6f6e 2074 6865 Port used on the\n-0000a9a0: 206c 6f63 616c 2068 6f73 740a 0a53 4545 local host..SEE\n-0000a9b0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-0000a9c0: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n-0000a9d0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n-0000a9e0: 2020 2a6e 6f74 6520 4765 745f 536f 636b *note Get_Sock\n-0000a9f0: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n-0000aa00: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-0000aa10: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-0000aa20: 6f64 653a 2048 6f73 745f 4e61 6d65 2028 ode: Host_Name (\n-0000aa30: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000aa40: 3a20 496d 6167 6520 2866 756e 6374 696f : Image (functio\n-0000aa50: 6e29 2c20 2050 7265 763a 2047 6574 5f53 n), Prev: Get_S\n-0000aa60: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n-0000aa70: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n-0000aa80: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n-0000aa90: 0a48 6f73 745f 4e61 6d65 2028 6675 6e63 .Host_Name (func\n-0000aaa0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-0000aab0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000aac0: 4f53 450a 2020 2020 2047 6574 2074 6865 OSE. Get the\n-0000aad0: 206e 616d 6520 6f66 2074 6865 2063 7572 name of the cur\n-0000aae0: 7265 6e74 2068 6f73 740a 5052 4f54 4f54 rent host.PROTOT\n-0000aaf0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-0000ab00: 6b65 7473 2e4e 616d 696e 672e 486f 7374 kets.Naming.Host\n-0000ab10: 5f4e 616d 653a 2066 756e 6374 696f 6e20 _Name: function \n-0000ab20: 486f 7374 5f4e 616d 650a 0a52 4554 5552 Host_Name..RETUR\n-0000ab30: 4e20 5641 4c55 450a 2020 2020 204e 616d N VALUE. Nam\n-0000ab40: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current\n-0000ab50: 2068 6f73 740a 0a44 4553 4352 4950 5449 host..DESCRIPTI\n-0000ab60: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n-0000ab70: 6374 696f 6e20 7265 7475 726e 7320 7468 ction returns th\n-0000ab80: 6520 6e61 6d65 206f 6620 7468 6520 6375 e name of the cu\n-0000ab90: 7272 656e 7420 686f 7374 2e20 2044 6570 rrent host. Dep\n-0000aba0: 656e 6469 6e67 206f 6e0a 2020 2020 2074 ending on. t\n-0000abb0: 6865 206c 6f63 616c 2063 6f6e 6669 6775 he local configu\n-0000abc0: 7261 7469 6f6e 2c20 6974 206d 6179 206f ration, it may o\n-0000abd0: 7220 6d61 7920 6e6f 7420 6265 2061 2066 r may not be a f\n-0000abe0: 756c 6c79 2071 7561 6c69 6669 6564 0a20 ully qualified. \n-0000abf0: 2020 2020 646f 6d61 696e 206e 616d 6520 domain name \n-0000ac00: 2846 5144 4e29 2e0a 0a1f 0a46 696c 653a (FQDN).....File:\n-0000ac10: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-0000ac20: 2c20 204e 6f64 653a 2049 6d61 6765 2028 , Node: Image (\n-0000ac30: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-0000ac40: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f : Info_Of_Name_O\n-0000ac50: 725f 4950 2028 6675 6e63 7469 6f6e 292c r_IP (function),\n-0000ac60: 2020 5072 6576 3a20 486f 7374 5f4e 616d Prev: Host_Nam\n-0000ac70: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n-0000ac80: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n-0000ac90: 756e 6374 696f 6e29 0a0a 496d 6167 6520 unction)..Image \n-0000aca0: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n-0000acb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-0000acc0: 504f 5345 0a20 2020 2020 4d61 6b65 2061 POSE. Make a\n-0000acd0: 2073 7472 696e 6720 6672 6f6d 2061 6e20 string from an \n-0000ace0: 6164 6472 6573 730a 5052 4f54 4f54 5950 address.PROTOTYP\n-0000acf0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-0000ad00: 7473 2e4e 616d 696e 672e 496d 6167 653a ts.Naming.Image:\n-0000ad10: 2066 756e 6374 696f 6e20 496d 6167 6520 function Image \n-0000ad20: 2841 4444 203a 2041 6464 7265 7373 290a (ADD : Address).\n-0000ad30: 2020 2020 2020 2020 2020 2020 2020 2072 r\n-0000ad40: 6574 7572 6e20 5374 7269 6e67 3b0a 0a50 eturn String;..P\n-0000ad50: 4152 414d 4554 4552 530a 2020 2020 2041 ARAMETERS. A\n-0000ad60: 4444 2020 2020 2020 2020 696e 2020 2020 DD in \n-0000ad70: 2020 2020 2049 5020 6164 6472 6573 730a IP address.\n-0000ad80: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-0000ad90: 2020 2053 7472 696e 6720 7265 7072 6573 String repres\n-0000ada0: 656e 7461 7469 6f6e 206f 6620 7468 6520 entation of the \n-0000adb0: 4950 2061 6464 7265 7373 0a0a 5345 4520 IP address..SEE \n-0000adc0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-0000add0: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-0000ade0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-0000adf0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-0000ae00: 6f64 653a 2049 6e66 6f5f 4f66 5f4e 616d ode: Info_Of_Nam\n-0000ae10: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n-0000ae20: 6e29 2c20 204e 6578 743a 2049 735f 4950 n), Next: Is_IP\n-0000ae30: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-0000ae40: 6f6e 292c 2020 5072 6576 3a20 496d 6167 on), Prev: Imag\n-0000ae50: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n-0000ae60: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n-0000ae70: 756e 6374 696f 6e29 0a0a 496e 666f 5f4f unction)..Info_O\n-0000ae80: 665f 4e61 6d65 5f4f 725f 4950 2028 6675 f_Name_Or_IP (fu\n-0000ae90: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n-0000aea0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000aeb0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-0000aec0: 2020 2020 4765 7420 6164 6472 6573 7365 Get addresse\n-0000aed0: 7320 616e 6420 6e61 6d65 7320 6f66 2061 s and names of a\n-0000aee0: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-0000aef0: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-0000af00: 2e4e 616d 696e 672e 496e 666f 5f4f 665f .Naming.Info_Of_\n-0000af10: 4e61 6d65 5f4f 725f 4950 3a20 6675 6e63 Name_Or_IP: func\n-0000af20: 7469 6f6e 2049 6e66 6f5f 4f66 5f4e 616d tion Info_Of_Nam\n-0000af30: 655f 4f72 5f49 500a 2020 2020 2020 2020 e_Or_IP. \n-0000af40: 2020 2020 2020 2028 534f 4d45 5448 494e (SOMETHIN\n-0000af50: 4720 3a20 5374 7269 6e67 290a 2020 2020 G : String). \n-0000af60: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n-0000af70: 6e20 486f 7374 5f45 6e74 7279 3b0a 0a50 n Host_Entry;..P\n-0000af80: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-0000af90: 4f4d 4554 4849 4e47 2020 696e 2020 2020 OMETHING in \n-0000afa0: 2020 2020 2048 6f73 7420 6e61 6d65 206f Host name o\n-0000afb0: 7220 4950 2061 6464 7265 7373 0a0a 5245 r IP address..RE\n-0000afc0: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n-0000afd0: 436f 7272 6573 706f 6e64 696e 6720 686f Corresponding ho\n-0000afe0: 7374 2065 6e74 7279 0a0a 4445 5343 5249 st entry..DESCRI\n-0000aff0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n-0000b000: 6675 6e63 7469 6f6e 2065 7874 7261 6374 function extract\n-0000b010: 7320 616c 6c20 7468 6520 6e61 6d65 7320 s all the names \n-0000b020: 616e 6420 6164 6472 6573 7365 7320 6672 and addresses fr\n-0000b030: 6f6d 2074 6865 206e 616d 696e 670a 2020 om the naming. \n-0000b040: 2020 2073 6572 7669 6365 2e0a 0a45 5843 service...EXC\n-0000b050: 4550 5449 4f4e 530a 2020 2020 2027 4e61 EPTIONS. 'Na\n-0000b060: 6d69 6e67 5f45 7272 6f72 2720 2020 2020 ming_Error' \n-0000b070: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061 No information a\n-0000b080: 7661 696c 6162 6c65 2066 6f72 2074 6869 vailable for thi\n-0000b090: 7320 6e61 6d65 206f 720a 2020 2020 2020 s name or. \n-0000b0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b0b0: 2020 6164 6472 6573 730a 0a1f 0a46 696c address....Fil\n-0000b0c0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-0000b0d0: 666f 2c20 204e 6f64 653a 2049 735f 4950 fo, Node: Is_IP\n-0000b0e0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-0000b0f0: 6f6e 292c 2020 4e65 7874 3a20 4e61 6d65 on), Next: Name\n-0000b100: 5f4f 6620 2866 756e 6374 696f 6e29 2c20 _Of (function), \n-0000b110: 2050 7265 763a 2049 6e66 6f5f 4f66 5f4e Prev: Info_Of_N\n-0000b120: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n-0000b130: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n-0000b140: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n-0000b150: 0a0a 4973 5f49 505f 4164 6472 6573 7320 ..Is_IP_Address \n-0000b160: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n-0000b170: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b180: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-0000b190: 2020 4368 6563 6b20 6966 2067 6976 656e Check if given\n-0000b1a0: 2073 7472 696e 6720 6973 2061 2076 616c string is a val\n-0000b1b0: 6964 2049 5020 6164 6472 6573 730a 5052 id IP address.PR\n-0000b1c0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n-0000b1d0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n-0000b1e0: 4973 5f49 505f 4164 6472 6573 733a 2066 Is_IP_Address: f\n-0000b1f0: 756e 6374 696f 6e20 4973 5f49 505f 4164 unction Is_IP_Ad\n-0000b200: 6472 6573 730a 2020 2020 2020 2020 2020 dress. \n-0000b210: 2020 2020 2028 534f 4d45 5448 494e 4720 (SOMETHING \n-0000b220: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n-0000b230: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n-0000b240: 426f 6f6c 6561 6e3b 0a0a 5041 5241 4d45 Boolean;..PARAME\n-0000b250: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH\n-0000b260: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in \n-0000b270: 5374 7269 6e67 2074 6f20 6368 6563 6b0a String to check.\n-0000b280: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n-0000b290: 2020 2027 5472 7565 2720 6966 2053 4f4d 'True' if SOM\n-0000b2a0: 4554 4849 4e47 2069 7320 616e 2049 5020 ETHING is an IP \n-0000b2b0: 6164 6472 6573 730a 0a1f 0a46 696c 653a address....File:\n-0000b2c0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-0000b2d0: 2c20 204e 6f64 653a 204e 616d 655f 4f66 , Node: Name_Of\n-0000b2e0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n-0000b2f0: 7874 3a20 5661 6c75 6520 2866 756e 6374 xt: Value (funct\n-0000b300: 696f 6e29 2c20 2050 7265 763a 2049 735f ion), Prev: Is_\n-0000b310: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n-0000b320: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n-0000b330: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n-0000b340: 290a 0a4e 616d 655f 4f66 2028 6675 6e63 )..Name_Of (func\n-0000b350: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-0000b360: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-0000b370: 450a 2020 2020 204f 6666 6963 6961 6c20 E. Official \n-0000b380: 6e61 6d65 206f 6620 7468 6520 686f 7374 name of the host\n-0000b390: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-0000b3a0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n-0000b3b0: 6e67 2e4e 616d 655f 4f66 3a20 6675 6e63 ng.Name_Of: func\n-0000b3c0: 7469 6f6e 204e 616d 655f 4f66 2028 534f tion Name_Of (SO\n-0000b3d0: 4d45 5448 494e 4720 3a20 5374 7269 6e67 METHING : String\n-0000b3e0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-0000b3f0: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n-0000b400: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-0000b410: 2053 4f4d 4554 4849 4e47 2020 696e 2020 SOMETHING in \n-0000b420: 2020 2020 2020 2048 6f73 7420 6e61 6d65 Host name\n-0000b430: 206f 7220 4950 2061 6464 7265 7373 0a0a or IP address..\n-0000b440: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-0000b450: 2020 4e61 6d65 206f 6620 7468 6520 686f Name of the ho\n-0000b460: 7374 0a0a 4558 4345 5054 494f 4e53 0a20 st..EXCEPTIONS. \n-0000b470: 2020 2020 274e 616d 696e 675f 4572 726f 'Naming_Erro\n-0000b480: 7227 2020 2020 204e 6f20 696e 666f 726d r' No inform\n-0000b490: 6174 696f 6e20 6176 6169 6c61 626c 6520 ation available \n-0000b4a0: 666f 7220 7468 6973 206e 616d 6520 6f72 for this name or\n-0000b4b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000b4c0: 2020 2020 2020 2020 2061 6464 7265 7373 address\n-0000b4d0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-0000b4e0: 2a6e 6f74 6520 4164 6472 6573 735f 4f66 *note Address_Of\n-0000b4f0: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n-0000b500: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-0000b510: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-0000b520: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n-0000b530: 2c20 2050 7265 763a 204e 616d 655f 4f66 , Prev: Name_Of\n-0000b540: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-0000b550: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n-0000b560: 6e63 7469 6f6e 290a 0a56 616c 7565 2028 nction)..Value (\n-0000b570: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-0000b580: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n-0000b590: 4f53 450a 2020 2020 2054 7261 6e73 666f OSE. Transfo\n-0000b5a0: 726d 2061 2073 7472 696e 6720 696e 746f rm a string into\n-0000b5b0: 2061 6e20 6164 6472 6573 730a 5052 4f54 an address.PROT\n-0000b5c0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-0000b5d0: 6f63 6b65 7473 2e4e 616d 696e 672e 5661 ockets.Naming.Va\n-0000b5e0: 6c75 653a 2066 756e 6374 696f 6e20 5661 lue: function Va\n-0000b5f0: 6c75 6520 2841 4444 203a 2053 7472 696e lue (ADD : Strin\n-0000b600: 6729 0a20 2020 2020 2020 2020 2020 2020 g). \n-0000b610: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n-0000b620: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n-0000b630: 2020 2041 4444 2020 2020 2020 2020 696e ADD in\n-0000b640: 2020 2020 2020 2020 2054 6578 7475 616c Textual\n-0000b650: 2072 6570 7265 7365 6e74 6174 696f 6e20 representation \n-0000b660: 6f66 2061 6e20 4950 2061 6464 7265 7373 of an IP address\n-0000b670: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n-0000b680: 2020 2020 436f 7272 6573 706f 6e64 696e Correspondin\n-0000b690: 6720 4164 6472 6573 730a 0a53 4545 2041 g Address..SEE A\n-0000b6a0: 4c53 4f0a 2020 2020 202a 6e6f 7465 2049 LSO. *note I\n-0000b6b0: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n-0000b6c0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-0000b6d0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-0000b6e0: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors\n-0000b6f0: 2c20 204e 6578 743a 2052 6573 6f75 7263 , Next: Resourc\n-0000b700: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n-0000b710: 6574 2c20 2050 7265 763a 2053 6f63 6b65 et, Prev: Socke\n-0000b720: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000b730: 652c 2020 5570 3a20 546f 700a 0a41 7070 e, Up: Top..App\n-0000b740: 656e 6469 7820 4120 436f 6e74 7269 6275 endix A Contribu\n-0000b750: 746f 7273 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a tors.***********\n-0000b760: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 4164 ************..Ad\n-0000b770: 6153 6f63 6b65 7473 2068 6173 2062 6565 aSockets has bee\n-0000b780: 6e20 6f72 6967 696e 616c 6c79 2064 6576 n originally dev\n-0000b790: 656c 6f70 7065 6420 6279 2053 616d 7565 elopped by Samue\n-0000b7a0: 6c20 5461 7264 6965 7520 7768 6f20 7374 l Tardieu who st\n-0000b7b0: 696c 6c0a 6d61 696e 7461 696e 7320 6974 ill.maintains it\n-0000b7c0: 2e20 2048 6f77 6576 6572 2c20 7468 6520 . However, the \n-0000b7d0: 666f 6c6c 6f77 696e 6720 7065 6f70 6c65 following people\n-0000b7e0: 2068 6176 6520 6d61 6465 2063 7275 6369 have made cruci\n-0000b7f0: 616c 0a63 6f6e 7472 6962 7574 696f 6e73 al.contributions\n-0000b800: 2074 6f20 4164 6153 6f63 6b65 7473 2c20 to AdaSockets, \n-0000b810: 6265 2074 6865 7920 6e65 7720 636f 6465 be they new code\n-0000b820: 2c20 6275 6720 6669 7865 7320 6f72 2070 , bug fixes or p\n-0000b830: 6f72 7469 6e67 2074 6f0a 6e65 7720 6f70 orting to.new op\n-0000b840: 6572 6174 696e 6720 7379 7374 656d 733a erating systems:\n-0000b850: 0a0a 2020 202a 2044 6d69 7472 6979 2041 .. * Dmitriy A\n-0000b860: 6e69 7369 6d6b 6f76 2028 3c61 6e69 7369 nisimkov ()\n-0000b880: 0a20 2020 2a20 416c 616e 2042 6172 6e65 . * Alan Barne\n-0000b890: 7320 283c 6261 726e 6573 6140 6173 746f s (). * J\n-0000b8b0: 7561 6e6d 6120 4261 7272 616e 7175 6572 uanma Barranquer\n-0000b8c0: 6f20 283c 6c65 6b74 7540 7465 7272 612e o (). * Bobby \n-0000b8e0: 442e 2042 7279 616e 7420 283c 6264 6272 D. Bryant (). * Sand\n-0000b910: 6572 2043 6f78 2028 3c73 616e 6465 722e er Cox (\n-0000b930: 290a 2020 202a 2053 756e 6520 4661 6c6b ). * Sune Falk\n-0000b940: 2028 3c73 756e 652e 6661 6c63 6b40 7465 (). * G\n-0000b960: 7569 6c6c 6175 6d65 2046 6f6c 6961 7264 uillaume Foliard\n-0000b970: 2028 3c67 7569 666f 4077 616e 6164 6f6f (). * Laure\n-0000b990: 6e74 2047 7565 7262 7920 283c 6775 6572 nt Guerby (). * David\n-0000b9c0: 204a 2e20 4b72 6973 746f 6c61 2028 3c44 J. Kristola (). * Dominik\n-0000b9f0: 204d 6164 6f6e 2028 3c64 6f6d 696e 696b Madon (). * \n-0000ba10: 5061 7363 616c 204f 6272 7920 283c 702e Pascal Obry (\n-0000ba30: 290a 2020 202a 204e 6963 6f6c 6173 204f ). * Nicolas O\n-0000ba40: 6c6c 696e 6765 7220 283c 4e69 636f 6c61 llinger (). * St\n-0000ba70: 7068 616e 6520 5061 7475 7265 6175 2028 phane Patureau (\n-0000ba80: 3c73 7061 7475 7265 6140 6d65 6c65 7475 ). * Tho\n-0000bab0: 6d61 7320 5175 696e 6f74 2028 3c74 686f mas Quinot (). * Preb\n-0000bae0: 656e 2052 616e 6468 6f6c 2028 3c72 616e en Randhol (). \n-0000bb00: 2020 2a20 4d61 7869 6d20 5265 7a6e 696b * Maxim Reznik\n-0000bb10: 2028 3c6d 6178 3140 6d62 616e 6b2e 636f (). * Joel\n-0000bb30: 2053 6865 7272 696c 6c20 283c 6a6f 656c Sherrill (). * Sam\n-0000bb60: 7565 6c20 5461 7264 6965 7520 283c 7361 uel Tardieu ().\n-0000bb80: 0a20 2020 4966 2079 6f75 2066 6565 6c20 . If you feel \n-0000bb90: 7468 6174 2079 6f75 2068 6176 6520 6265 that you have be\n-0000bba0: 656e 2066 6f72 676f 7474 656e 2c20 706c en forgotten, pl\n-0000bbb0: 6561 7365 2073 656e 6420 6d65 2061 206d ease send me a m\n-0000bbc0: 6169 6c20 736f 0a74 6861 7420 4920 6361 ail so.that I ca\n-0000bbd0: 6e20 6669 7820 6974 2069 6e20 7468 6520 n fix it in the \n-0000bbe0: 6e65 7874 2076 6572 7369 6f6e 2e0a 0a20 next version... \n-0000bbf0: 2020 2a4e 6f74 6520 5265 736f 7572 6365 *Note Resource\n-0000bc00: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-0000bc10: 743a 3a2c 2066 6f72 2068 6f77 2074 6f20 t::, for how to \n-0000bc20: 636f 6e74 7269 6275 7465 2e0a 0a1f 0a46 contribute.....F\n-0000bc30: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000bc40: 696e 666f 2c20 204e 6f64 653a 2052 6573 info, Node: Res\n-0000bc50: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000bc60: 7465 726e 6574 2c20 204e 6578 743a 2049 ternet, Next: I\n-0000bc70: 6e64 6578 2c20 2050 7265 763a 2043 6f6e ndex, Prev: Con\n-0000bc80: 7472 6962 7574 6f72 732c 2020 5570 3a20 tributors, Up: \n-0000bc90: 546f 700a 0a41 7070 656e 6469 7820 4220 Top..Appendix B \n-0000bca0: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n-0000bcb0: 2049 6e74 6572 6e65 740a 2a2a 2a2a 2a2a Internet.******\n-0000bcc0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000bcd0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n-0000bce0: 5468 6520 6c61 7465 7374 2076 6572 7369 The latest versi\n-0000bcf0: 6f6e 206f 6620 4164 6153 6f63 6b65 7473 on of AdaSockets\n-0000bd00: 2063 616e 2061 6c77 6179 7320 6265 2066 can always be f\n-0000bd10: 6f75 6e64 2061 743a 0a0a 2020 2020 2020 ound at:.. \n-0000bd20: 2020 2020 2020 2020 203c 6874 7470 3a2f .. You can r\n-0000bd60: 6570 6f72 7420 6973 7375 6573 206f 7220 eport issues or \n-0000bd70: 7375 626d 6974 2071 7565 7374 696f 6e73 submit questions\n-0000bd80: 206f 6e20 4769 7448 7562 2773 2069 7373 on GitHub's iss\n-0000bd90: 7565 2074 7261 636b 6572 0a61 743a 0a0a ue tracker.at:..\n-0000bda0: 2020 2020 2020 2020 203c 6874 7470 733a ...\n-0000bde0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000bdf0: 732e 696e 666f 2c20 204e 6f64 653a 2049 s.info, Node: I\n-0000be00: 6e64 6578 2c20 2050 7265 763a 2052 6573 ndex, Prev: Res\n-0000be10: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000be20: 7465 726e 6574 2c20 2055 703a 2054 6f70 ternet, Up: Top\n-0000be30: 0a0a 496e 6465 780a 2a2a 2a2a 2a0a 0a00 ..Index.*****...\n-0000be40: 085b 696e 6465 7800 085d 0a2a 204d 656e .[index..].* Men\n-0000be50: 753a 0a0a 2a20 4163 6365 7074 696e 6720 u:..* Accepting \n-0000be60: 6120 6e65 7720 636f 6e6e 6563 7469 6f6e a new connection\n-0000be70: 3a20 2020 2020 2020 2020 2020 2041 6363 : Acc\n-0000be80: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-0000be90: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-0000bea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000beb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bed0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000bee0: 0a2a 2041 6363 6570 745f 536f 636b 6574 .* Accept_Socket\n-0000bef0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000bf00: 2020 2020 2020 2020 2020 4163 6365 7074 Accept\n-0000bf10: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-0000bf20: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000bf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf60: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000bf70: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-0000bf80: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-0000bf90: 3a20 2020 2020 2052 6177 2064 6174 6120 : Raw data \n-0000bfa0: 6d61 6e69 7075 6c61 7469 6f6e 2e0a 2020 manipulation.. \n-0000bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfe0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000bff0: 6e65 2020 3629 0a2a 2041 6461 2e53 7472 ne 6).* Ada.Str\n-0000c000: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-0000c010: 656e 745f 4172 7261 7920 3c31 3e3a 2020 ent_Array <1>: \n-0000c020: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-0000c030: 6e29 2e20 2020 286c 696e 6520 3232 290a n). (line 22).\n-0000c040: 2a20 4164 612e 5374 7265 616d 732e 5374 * Ada.Streams.St\n-0000c050: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n-0000c060: 6179 203c 323e 3a20 2052 6563 6569 7665 ay <2>: Receive\n-0000c070: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n-0000c080: 6c69 6e65 2031 3829 0a2a 2041 6461 2e53 line 18).* Ada.S\n-0000c090: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n-0000c0a0: 656d 656e 745f 4172 7261 7920 3c33 3e3a ement_Array <3>:\n-0000c0b0: 2020 5265 6365 6976 655f 536f 6d65 2028 Receive_Some (\n-0000c0c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c100: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000c110: 2032 3129 0a2a 2041 6461 2e53 7472 6561 21).* Ada.Strea\n-0000c120: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-0000c130: 745f 4172 7261 7920 3c34 3e3a 2020 5365 t_Array <4>: Se\n-0000c140: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-0000c150: 2020 2020 286c 696e 6520 3137 290a 2a20 (line 17).* \n-0000c160: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-0000c170: 616d 5f45 6c65 6d65 6e74 5f43 6f75 6e74 am_Element_Count\n-0000c180: 3a20 2020 2020 2052 6563 6569 7665 2028 : Receive (\n-0000c190: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n-0000c1a0: 6e65 2032 3229 0a2a 2041 6461 2e53 7472 ne 22).* Ada.Str\n-0000c1b0: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-0000c1c0: 656e 745f 436f 756e 7420 3c31 3e3a 2020 ent_Count <1>: \n-0000c1d0: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-0000c1e0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000c1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c220: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000c230: 3129 0a2a 2041 6461 536f 636b 6574 7320 1).* AdaSockets \n-0000c240: 7072 6573 656e 7461 7469 6f6e 3a20 2020 presentation: \n-0000c250: 2020 2020 2020 2020 2020 2020 5768 6174 What\n-0000c260: 2069 7320 4164 6153 6f63 6b65 7473 3f2e is AdaSockets?.\n-0000c270: 2020 286c 696e 6520 2036 290a 2a20 4164 (line 6).* Ad\n-0000c280: 6472 6573 733a 2020 2020 2020 2020 2020 dress: \n-0000c290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c2a0: 2020 2020 2053 6f63 6b65 7473 2e4e 616d Sockets.Nam\n-0000c2b0: 696e 6720 7061 636b 6167 652e 0a20 2020 ing package.. \n-0000c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c2f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000c300: 6520 2039 290a 2a20 4164 6472 6573 735f e 9).* Address_\n-0000c310: 4172 7261 793a 2020 2020 2020 2020 2020 Array: \n-0000c320: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000c330: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n-0000c340: 636b 6167 652e 0a20 2020 2020 2020 2020 ckage.. \n-0000c350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c380: 2020 2020 2020 286c 696e 6520 3136 290a (line 16).\n-0000c390: 2a20 4164 6472 6573 735f 436f 6d70 6f6e * Address_Compon\n-0000c3a0: 656e 743a 2020 2020 2020 2020 2020 2020 ent: \n-0000c3b0: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n-0000c3c0: 2e4e 616d 696e 6720 7061 636b 6167 652e .Naming package.\n-0000c3d0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c410: 286c 696e 6520 3230 290a 2a20 4164 6472 (line 20).* Addr\n-0000c420: 6573 735f 4f66 3a20 2020 2020 2020 2020 ess_Of: \n-0000c430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c440: 2020 2041 6464 7265 7373 5f4f 6620 2866 Address_Of (f\n-0000c450: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-0000c460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c490: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000c4a0: 3929 0a2a 2041 465f 494e 4554 3a20 2020 9).* AF_INET: \n-0000c4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c4c0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n-0000c4d0: 6574 2028 7072 6f63 6564 7572 6529 2e20 et (procedure). \n-0000c4e0: 2020 286c 696e 6520 3139 290a 2a20 416e (line 19).* An\n-0000c4f0: 795f 4164 6472 6573 733a 2020 2020 2020 y_Address: \n-0000c500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c510: 2020 2020 2041 6e79 5f41 6464 7265 7373 Any_Address\n-0000c520: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-0000c530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c560: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000c570: 6520 2039 290a 2a20 4173 7369 676e 696e e 9).* Assignin\n-0000c580: 6720 6120 6c6f 6361 6c20 706f 7274 3a20 g a local port: \n-0000c590: 2020 2020 2020 2020 2020 2020 2020 2042 B\n-0000c5a0: 696e 6420 2870 726f 6365 6475 7265 292e ind (procedure).\n-0000c5b0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000c5c0: 2042 696e 643a 2020 2020 2020 2020 2020 Bind: \n-0000c5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c5e0: 2020 2020 2020 2020 4269 6e64 2028 7072 Bind (pr\n-0000c5f0: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n-0000c600: 696e 6520 2039 290a 2a20 4269 6e64 696e ine 9).* Bindin\n-0000c610: 6720 6120 736f 636b 6574 3a20 2020 2020 g a socket: \n-0000c620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c630: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n-0000c640: 292e 2020 2020 2028 6c69 6e65 2020 3629 ). (line 6)\n-0000c650: 0a2a 2042 6f74 683a 2020 2020 2020 2020 .* Both: \n-0000c660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c670: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n-0000c680: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n-0000c690: 286c 696e 6520 3137 290a 2a20 436c 6f73 (line 17).* Clos\n-0000c6a0: 696e 6720 6120 736f 636b 6574 3a20 2020 ing a socket: \n-0000c6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c6c0: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro\n-0000c6d0: 6365 6475 7265 292e 2028 6c69 6e65 2020 cedure). (line \n-0000c6e0: 3629 0a2a 2043 6f6d 7061 7261 6973 6f6e 6).* Comparaison\n-0000c6f0: 2077 6974 6820 474e 4154 2e53 6f63 6b65 with GNAT.Socke\n-0000c700: 7473 3a20 2020 2020 2020 2020 5768 6174 ts: What\n-0000c710: 2069 7320 4164 6153 6f63 6b65 7473 3f2e is AdaSockets?.\n-0000c720: 2020 286c 696e 6520 2036 290a 2a20 436f (line 6).* Co\n-0000c730: 6e6e 6563 743a 2020 2020 2020 2020 2020 nnect: \n-0000c740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c750: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr\n-0000c760: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n-0000c770: 2020 3929 0a2a 2043 6f6e 6e65 6374 696e 9).* Connectin\n-0000c780: 6720 6120 736f 636b 6574 3a20 2020 2020 g a socket: \n-0000c790: 2020 2020 2020 2020 2020 2020 2020 436f Co\n-0000c7a0: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n-0000c7b0: 292e 2020 286c 696e 6520 2036 290a 2a20 ). (line 6).* \n-0000c7c0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-0000c7d0: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n-0000c7e0: 2020 2020 2020 2047 6574 2028 6675 6e63 Get (func\n-0000c7f0: 7469 6f6e 292e 2020 2020 2020 2028 6c69 tion). (li\n-0000c800: 6e65 2033 3429 0a2a 2043 6f6e 6e65 6374 ne 34).* Connect\n-0000c810: 696f 6e5f 436c 6f73 6564 203c 313e 3a20 ion_Closed <1>: \n-0000c820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c830: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n-0000c840: 6f6e 292e 2020 286c 696e 6520 3233 290a on). (line 23).\n-0000c850: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n-0000c860: 7365 6420 3c32 3e3a 2020 2020 2020 2020 sed <2>: \n-0000c870: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin\n-0000c880: 6520 2866 756e 6374 696f 6e29 2e20 2028 e (function). (\n-0000c890: 6c69 6e65 2033 3229 0a2a 2043 6f6e 6e65 line 32).* Conne\n-0000c8a0: 6374 696f 6e5f 436c 6f73 6564 203c 333e ction_Closed <3>\n-0000c8b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000c8c0: 2020 4765 745f 4c69 6e65 2028 7072 6f63 Get_Line (proc\n-0000c8d0: 6564 7572 6529 2e20 286c 696e 6520 3237 edure). (line 27\n-0000c8e0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n-0000c8f0: 6c6f 7365 6420 3c34 3e3a 2020 2020 2020 losed <4>: \n-0000c900: 2020 2020 2020 2020 2020 204e 6577 5f4c New_L\n-0000c910: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000c920: 2028 6c69 6e65 2032 3029 0a2a 2043 6f6e (line 20).* Con\n-0000c930: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n-0000c940: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: \n-0000c950: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu\n-0000c960: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line \n-0000c970: 3231 290a 2a20 436f 6e6e 6563 7469 6f6e 21).* Connection\n-0000c980: 5f43 6c6f 7365 6420 3c36 3e3a 2020 2020 _Closed <6>: \n-0000c990: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n-0000c9a0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-0000c9b0: 292e 2028 6c69 6e65 2032 3129 0a2a 2043 ). (line 21).* C\n-0000c9c0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-0000c9d0: 203c 373e 3a20 2020 2020 2020 2020 2020 <7>: \n-0000c9e0: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n-0000c9f0: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-0000ca00: 6520 3330 290a 2a20 436f 6e6e 6563 7469 e 30).* Connecti\n-0000ca10: 6f6e 5f43 6c6f 7365 6420 3c38 3e3a 2020 on_Closed <8>: \n-0000ca20: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000ca30: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-0000ca40: 6529 2e20 2028 6c69 6e65 2032 3529 0a2a e). (line 25).*\n-0000ca50: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n-0000ca60: 6564 203c 393e 3a20 2020 2020 2020 2020 ed <9>: \n-0000ca70: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n-0000ca80: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-0000ca90: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000caa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cad0: 2028 6c69 6e65 2032 3729 0a2a 2043 6f6e (line 27).* Con\n-0000cae0: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n-0000caf0: 3130 3e3a 2020 2020 2020 2020 2020 2020 10>: \n-0000cb00: 2020 2020 5365 6e64 2028 7072 6f63 6564 Send (proced\n-0000cb10: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n-0000cb20: 3231 290a 2a20 436f 6e6e 6563 7469 6f6e 21).* Connection\n-0000cb30: 5f52 6566 7573 6564 3a20 2020 2020 2020 _Refused: \n-0000cb40: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-0000cb50: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n-0000cb60: 2e20 2028 6c69 6e65 2032 3529 0a2a 2043 . (line 25).* C\n-0000cb70: 6f6e 7472 6962 7574 696e 673a 2020 2020 ontributing: \n-0000cb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb90: 2020 2020 2020 436f 6e74 7269 6275 746f Contributo\n-0000cba0: 7273 2e20 2020 2020 2020 2020 286c 696e rs. (lin\n-0000cbb0: 6520 2036 290a 2a20 436f 6e74 7269 6275 e 6).* Contribu\n-0000cbc0: 7469 6e67 203c 313e 3a20 2020 2020 2020 ting <1>: \n-0000cbd0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000cbe0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n-0000cbf0: 496e 7465 726e 6574 2e0a 2020 2020 2020 Internet.. \n+00002eb0: 6f63 6b20 3a20 4d75 6c74 6963 6173 745f ock : Multicast_\n+00002ec0: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+00002ed0: 2020 2020 2062 6567 696e 0a20 2020 2020 begin. \n+00002ee0: 2020 2020 2020 2020 2d2d 2043 7265 6174 -- Creat\n+00002ef0: 6520 6120 6d75 6c74 6963 6173 7420 736f e a multicast so\n+00002f00: 636b 6574 206f 6e20 6772 6f75 7020 3232 cket on group 22\n+00002f10: 342e 312e 322e 3320 706f 7274 2038 3736 4.1.2.3 port 876\n+00002f20: 330a 2020 2020 2020 2020 2020 2020 2053 3. S\n+00002f30: 6f63 6b20 3a3d 2043 7265 6174 655f 4d75 ock := Create_Mu\n+00002f40: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+00002f50: 2232 3234 2e31 2e32 2e33 222c 2038 3736 \"224.1.2.3\", 876\n+00002f60: 3329 3b0a 2020 2020 2020 2020 2020 2020 3);. \n+00002f70: 202d 2d20 5065 7266 6f72 6d20 736f 6d65 -- Perform some\n+00002f80: 206f 7065 7261 7469 6f6e 7320 6f6e 2073 operations on s\n+00002f90: 6f63 6b65 740a 2020 2020 2020 2020 2020 ocket. \n+00002fa0: 2020 205b 2e2e 2e5d 0a20 2020 2020 2020 [...]. \n+00002fb0: 2020 2020 2020 2d2d 2053 6875 7464 6f77 -- Shutdow\n+00002fc0: 6e20 7468 6520 736f 636b 6574 2069 6e20 n the socket in \n+00002fd0: 626f 7468 2064 6972 6563 7469 6f6e 730a both directions.\n+00002fe0: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+00002ff0: 7464 6f77 6e20 2853 6f63 6b2c 2042 6f74 tdown (Sock, Bot\n+00003000: 6829 3b0a 2020 2020 2020 2020 2020 656e h);. en\n+00003010: 643b 0a0a 5345 4520 414c 534f 0a20 2020 d;..SEE ALSO. \n+00003020: 2020 2a6e 6f74 6520 4269 6e64 2028 7072 *note Bind (pr\n+00003030: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00003040: 202a 6e6f 7465 204c 6973 7465 6e20 2870 *note Listen (p\n+00003050: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00003060: 2020 2a6e 6f74 6520 5368 7574 646f 776e *note Shutdown\n+00003070: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00003080: 2020 2020 202a 6e6f 7465 2053 6f63 6b65 *note Socke\n+00003090: 7420 2870 726f 6365 6475 7265 293a 3a2e t (procedure)::.\n+000030a0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2042 696e ..* Menu:..* Bin\n+000030b0: 6420 2870 726f 6365 6475 7265 293a 3a0a d (procedure)::.\n+000030c0: 2a20 436f 6e6e 6563 7420 2870 726f 6365 * Connect (proce\n+000030d0: 6475 7265 293a 3a0a 2a20 4765 7420 2866 dure)::.* Get (f\n+000030e0: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n+000030f0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+00003100: 3a3a 0a2a 2047 6574 5f4c 696e 6520 2866 ::.* Get_Line (f\n+00003110: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n+00003120: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00003130: 293a 3a0a 2a20 4765 745f 5265 6365 6976 )::.* Get_Receiv\n+00003140: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+00003150: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n+00003160: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n+00003170: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n+00003180: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00003190: 6475 7265 293a 3a0a 2a20 4c69 7374 656e dure)::.* Listen\n+000031a0: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n+000031b0: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+000031c0: 6475 7265 293a 3a0a 2a20 5075 7420 2870 dure)::.* Put (p\n+000031d0: 726f 6365 6475 7265 293a 3a0a 2a20 5075 rocedure)::.* Pu\n+000031e0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+000031f0: 6529 3a3a 0a2a 2052 6563 6569 7665 2028 e)::.* Receive (\n+00003200: 6675 6e63 7469 6f6e 293a 3a0a 2a20 5265 function)::.* Re\n+00003210: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00003220: 293a 3a0a 2a20 5265 6365 6976 655f 536f )::.* Receive_So\n+00003230: 6d65 2028 7072 6f63 6564 7572 6529 3a3a me (procedure)::\n+00003240: 0a2a 2053 656e 6420 2870 726f 6365 6475 .* Send (procedu\n+00003250: 7265 293a 3a0a 2a20 5365 745f 4275 6666 re)::.* Set_Buff\n+00003260: 6572 2028 7072 6f63 6564 7572 6529 3a3a er (procedure)::\n+00003270: 0a2a 2053 6574 736f 636b 6f70 7420 2870 .* Setsockopt (p\n+00003280: 726f 6365 6475 7265 293a 3a0a 2a20 5368 rocedure)::.* Sh\n+00003290: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n+000032a0: 6529 3a3a 0a2a 2053 6f63 6b65 7420 2870 e)::.* Socket (p\n+000032b0: 726f 6365 6475 7265 293a 3a0a 2a20 556e rocedure)::.* Un\n+000032c0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+000032d0: 6564 7572 6529 3a3a 0a0a 1f0a 4669 6c65 edure)::....File\n+000032e0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+000032f0: 6f2c 2020 4e6f 6465 3a20 4269 6e64 2028 o, Node: Bind (\n+00003300: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+00003310: 743a 2043 6f6e 6e65 6374 2028 7072 6f63 t: Connect (proc\n+00003320: 6564 7572 6529 2c20 2050 7265 763a 2041 edure), Prev: A\n+00003330: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00003340: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00003350: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00003360: 6f63 6564 7572 6529 0a0a 4269 6e64 2028 ocedure)..Bind (\n+00003370: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00003380: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00003390: 504f 5345 0a20 2020 2020 4173 736f 6369 POSE. Associ\n+000033a0: 6174 6520 6120 6c6f 6361 6c20 706f 7274 ate a local port\n+000033b0: 2074 6f20 6120 736f 636b 6574 0a50 524f to a socket.PRO\n+000033c0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+000033d0: 536f 636b 6574 732e 4269 6e64 3a20 7072 Sockets.Bind: pr\n+000033e0: 6f63 6564 7572 6520 4269 6e64 2028 534f ocedure Bind (SO\n+000033f0: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00003400: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00003410: 2050 4f52 5420 3a20 4e61 7475 7261 6c3b PORT : Natural;\n+00003420: 2048 4f53 5420 3a20 5374 7269 6e67 203a HOST : String :\n+00003430: 3d20 2222 293b 0a0a 5041 5241 4d45 5445 = \"\");..PARAMETE\n+00003440: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00003450: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00003460: 6974 6961 6c69 7a65 6420 736f 636b 6574 itialized socket\n+00003470: 206f 626a 6563 740a 2020 2020 2050 4f52 object. POR\n+00003480: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n+00003490: 2020 204c 6f63 616c 2070 6f72 7420 746f Local port to\n+000034a0: 2062 696e 6420 746f 0a20 2020 2020 484f bind to. HO\n+000034b0: 5354 2020 2020 2020 2069 6e20 2020 2020 ST in \n+000034c0: 2020 2020 4c6f 6361 6c20 696e 7465 7266 Local interf\n+000034d0: 6163 6520 746f 2062 696e 6420 746f 0a0a ace to bind to..\n+000034e0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000034f0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00003500: 7265 7175 6573 7473 2061 206c 6f63 616c requests a local\n+00003510: 2070 6f72 7420 6672 6f6d 2074 6865 206f port from the o\n+00003520: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n+00003530: 2020 4966 0a20 2020 2020 3020 6973 2067 If. 0 is g\n+00003540: 6976 656e 2069 6e20 504f 5254 2c20 7468 iven in PORT, th\n+00003550: 6520 7379 7374 656d 2077 696c 6c20 6173 e system will as\n+00003560: 7369 676e 2061 2066 7265 6520 706f 7274 sign a free port\n+00003570: 2077 686f 7365 206e 756d 6265 720a 2020 whose number. \n+00003580: 2020 2063 616e 206c 6174 6572 2062 6520 can later be \n+00003590: 7265 7472 6965 7665 6420 7573 696e 6720 retrieved using \n+000035a0: 2a6e 6f74 6520 4765 745f 536f 636b 5f50 *note Get_Sock_P\n+000035b0: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function)::\n+000035c0: 2e0a 2020 2020 2041 6c73 6f2c 206d 6f73 .. Also, mos\n+000035d0: 7420 6f70 6572 6174 696e 6720 7379 7374 t operating syst\n+000035e0: 656d 7320 7265 7175 6972 6520 7370 6563 ems require spec\n+000035f0: 6961 6c20 7072 6976 696c 6567 6573 2069 ial privileges i\n+00003600: 6620 796f 7520 7761 6e74 0a20 2020 2020 f you want. \n+00003610: 746f 2062 696e 6420 746f 2070 6f72 7473 to bind to ports\n+00003620: 2062 656c 6f77 2031 3032 342e 0a0a 2020 below 1024... \n+00003630: 2020 2049 6620 484f 5354 2069 7320 6e6f If HOST is no\n+00003640: 7420 7468 6520 656d 7074 7920 7374 7269 t the empty stri\n+00003650: 6e67 2c20 6974 206d 7573 7420 636f 6e74 ng, it must cont\n+00003660: 6169 6e20 7468 6520 4950 2061 6464 7265 ain the IP addre\n+00003670: 7373 206f 660a 2020 2020 2061 206c 6f63 ss of. a loc\n+00003680: 616c 2069 6e74 6572 6661 6365 2074 6f20 al interface to \n+00003690: 6269 6e64 2074 6f2c 206f 7220 6120 6e61 bind to, or a na\n+000036a0: 6d65 2077 6869 6368 2072 6573 6f6c 7665 me which resolve\n+000036b0: 7320 696e 746f 2073 7563 6820 616e 0a20 s into such an. \n+000036c0: 2020 2020 6164 6472 6573 732e 2020 4966 address. If\n+000036d0: 2061 6e20 656d 7074 7920 7374 7269 6e67 an empty string\n+000036e0: 2069 7320 6769 7665 6e20 2874 6865 2064 is given (the d\n+000036f0: 6566 6175 6c74 292c 2074 6865 2073 6f63 efault), the soc\n+00003700: 6b65 740a 2020 2020 2077 696c 6c20 6265 ket. will be\n+00003710: 2062 6f75 6e64 2074 6f20 616c 6c20 7468 bound to all th\n+00003720: 6520 6176 6169 6c61 626c 6520 696e 7465 e available inte\n+00003730: 7266 6163 6573 2e0a 0a45 5843 4550 5449 rfaces...EXCEPTI\n+00003740: 4f4e 530a 2020 2020 2027 536f 636b 6574 ONS. 'Socket\n+00003750: 5f45 7272 6f72 2720 2020 2020 5265 7175 _Error' Requ\n+00003760: 6573 7465 6420 706f 7274 206f 7220 696e ested port or in\n+00003770: 7465 7266 6163 6520 6e6f 7420 6176 6169 terface not avai\n+00003780: 6c61 626c 650a 0a53 4545 2041 4c53 4f0a lable..SEE ALSO.\n+00003790: 2020 2020 202a 6e6f 7465 204c 6973 7465 *note Liste\n+000037a0: 6e20 2870 726f 6365 6475 7265 293a 3a2c n (procedure)::,\n+000037b0: 0a20 2020 2020 2a6e 6f74 6520 536f 636b . *note Sock\n+000037c0: 6574 2028 7072 6f63 6564 7572 6529 3a3a et (procedure)::\n+000037d0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+000037e0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+000037f0: 653a 2043 6f6e 6e65 6374 2028 7072 6f63 e: Connect (proc\n+00003800: 6564 7572 6529 2c20 204e 6578 743a 2047 edure), Next: G\n+00003810: 6574 2028 6675 6e63 7469 6f6e 292c 2020 et (function), \n+00003820: 5072 6576 3a20 4269 6e64 2028 7072 6f63 Prev: Bind (proc\n+00003830: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+00003840: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00003850: 6564 7572 6529 0a0a 436f 6e6e 6563 7420 edure)..Connect \n+00003860: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00003870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00003880: 0a50 5552 504f 5345 0a20 2020 2020 436f .PURPOSE. Co\n+00003890: 6e6e 6563 7420 6120 736f 636b 6574 206f nnect a socket o\n+000038a0: 6e20 6120 6769 7665 6e20 686f 7374 2f70 n a given host/p\n+000038b0: 6f72 740a 5052 4f54 4f54 5950 450a 2020 ort.PROTOTYPE. \n+000038c0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e43 -- Sockets.C\n+000038d0: 6f6e 6e65 6374 3a20 7072 6f63 6564 7572 onnect: procedur\n+000038e0: 6520 436f 6e6e 6563 7420 2853 4f43 4b45 e Connect (SOCKE\n+000038f0: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n+00003900: 2020 2020 2020 2020 2020 2020 2020 484f HO\n+00003910: 5354 203a 2053 7472 696e 673b 2050 4f52 ST : String; POR\n+00003920: 5420 3a20 506f 7369 7469 7665 293b 0a0a T : Positive);..\n+00003930: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00003940: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00003950: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+00003960: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00003970: 2020 2020 2048 4f53 5420 2020 2020 2020 HOST \n+00003980: 696e 2020 2020 2020 2020 2048 6f73 7420 in Host \n+00003990: 746f 2063 6f6e 6e65 6374 2074 6f0a 2020 to connect to. \n+000039a0: 2020 2050 4f52 5420 2020 2020 2020 696e PORT in\n+000039b0: 2020 2020 2020 2020 2050 6f72 7420 746f Port to\n+000039c0: 2063 6f6e 6e65 6374 2074 6f0a 0a44 4553 connect to..DES\n+000039d0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+000039e0: 6973 2070 726f 6365 6475 7265 2063 6f6e is procedure con\n+000039f0: 6e65 6374 7320 616e 2069 6e69 7469 616c nects an initial\n+00003a00: 697a 6564 2073 6f63 6b65 7420 746f 2061 ized socket to a\n+00003a10: 2067 6976 656e 2068 6f73 7420 6f6e 2061 given host on a\n+00003a20: 0a20 2020 2020 6769 7665 6e20 706f 7274 . given port\n+00003a30: 2e20 2049 6e20 7468 6520 6361 7365 206f . In the case o\n+00003a40: 6620 6120 5443 5020 736f 636b 6574 2c20 f a TCP socket, \n+00003a50: 6120 7265 616c 2063 6f6e 6e65 6374 696f a real connectio\n+00003a60: 6e20 6973 0a20 2020 2020 6174 7465 6d70 n is. attemp\n+00003a70: 7465 642e 2020 496e 2074 6865 2063 6173 ted. In the cas\n+00003a80: 6520 6f66 2061 2055 4450 2073 6f63 6b65 e of a UDP socke\n+00003a90: 742c 206e 6f20 636f 6e6e 6563 7469 6f6e t, no connection\n+00003aa0: 2074 616b 6573 2070 6c61 6365 0a20 2020 takes place. \n+00003ab0: 2020 6275 7420 7468 6520 656e 6470 6f69 but the endpoi\n+00003ac0: 6e74 2063 6f6f 7264 696e 6174 6573 2061 nt coordinates a\n+00003ad0: 7265 2072 6563 6f72 6465 642e 0a0a 4558 re recorded...EX\n+00003ae0: 4345 5054 494f 4e53 0a20 2020 2020 2743 CEPTIONS. 'C\n+00003af0: 6f6e 6e65 6374 696f 6e5f 5265 6675 7365 onnection_Refuse\n+00003b00: 6427 5468 6520 636f 6e6e 6563 7469 6f6e d'The connection\n+00003b10: 2068 6173 2062 6565 6e20 7265 6675 7365 has been refuse\n+00003b20: 6420 6279 2074 6865 0a20 2020 2020 2020 d by the. \n+00003b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00003b40: 2073 6572 7665 720a 2020 2020 2027 536f server. 'So\n+00003b50: 636b 6574 5f45 7272 6f72 2720 2020 2020 cket_Error' \n+00003b60: 416e 6f74 6865 7220 6572 726f 7220 6f63 Another error oc\n+00003b70: 6375 7272 6564 2064 7572 696e 6720 7468 curred during th\n+00003b80: 650a 2020 2020 2020 2020 2020 2020 2020 e. \n+00003b90: 2020 2020 2020 2020 2020 636f 6e6e 6563 connec\n+00003ba0: 7469 6f6e 0a0a 4558 414d 504c 450a 2020 tion..EXAMPLE. \n+00003bb0: 2020 2020 2020 2020 6465 636c 6172 650a declare.\n+00003bc0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00003bd0: 6b20 3a20 536f 636b 6574 5f46 443b 0a20 k : Socket_FD;. \n+00003be0: 2020 2020 2020 2020 2062 6567 696e 0a20 begin. \n+00003bf0: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n+00003c00: 7265 6174 6520 6120 5443 5020 736f 636b reate a TCP sock\n+00003c10: 6574 0a20 2020 2020 2020 2020 2020 2020 et. \n+00003c20: 536f 636b 6574 2028 536f 636b 2c20 5046 Socket (Sock, PF\n+00003c30: 5f49 4e45 542c 2053 4f43 4b5f 5354 5245 _INET, SOCK_STRE\n+00003c40: 414d 293b 0a20 2020 2020 2020 2020 2020 AM);. \n+00003c50: 2020 2d2d 2043 6f6e 6e65 6374 2069 7420 -- Connect it \n+00003c60: 746f 2072 6663 3131 3439 2e6e 6574 2773 to rfc1149.net's\n+00003c70: 206d 6169 6c20 7365 7276 6572 0a20 2020 mail server. \n+00003c80: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n+00003c90: 7420 2853 6f63 6b2c 2022 6d61 696c 2e72 t (Sock, \"mail.r\n+00003ca0: 6663 3131 3439 2e6e 6574 222c 2032 3529 fc1149.net\", 25)\n+00003cb0: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n+00003cc0: 2d20 446f 2061 206d 6169 6c20 7472 616e - Do a mail tran\n+00003cd0: 7361 6374 696f 6e20 7468 656e 2063 6c6f saction then clo\n+00003ce0: 7365 2074 6865 2073 6f63 6b65 740a 2020 se the socket. \n+00003cf0: 2020 2020 2020 2020 2020 205b 2e2e 2e5d [...]\n+00003d00: 0a20 2020 2020 2020 2020 2065 6e64 3b0a . end;.\n+00003d10: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00003d20: 6e6f 7465 2053 6f63 6b65 7420 2870 726f note Socket (pro\n+00003d30: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00003d40: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00003d50: 6e66 6f2c 2020 4e6f 6465 3a20 4765 7420 nfo, Node: Get \n+00003d60: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n+00003d70: 743a 2047 6574 5f43 6861 7220 2866 756e t: Get_Char (fun\n+00003d80: 6374 696f 6e29 2c20 2050 7265 763a 2043 ction), Prev: C\n+00003d90: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+00003da0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00003db0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00003dc0: 6529 0a0a 4765 7420 2866 756e 6374 696f e)..Get (functio\n+00003dd0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+00003de0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00003df0: 4765 7420 6120 7374 7269 6e67 2066 726f Get a string fro\n+00003e00: 6d20 6120 7265 6d6f 7465 2068 6f73 740a m a remote host.\n+00003e10: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+00003e20: 2d2d 2053 6f63 6b65 7473 2e47 6574 3a20 -- Sockets.Get: \n+00003e30: 6675 6e63 7469 6f6e 2047 6574 2028 534f function Get (SO\n+00003e40: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00003e50: 2743 6c61 7373 290a 2020 2020 2020 2020 'Class). \n+00003e60: 2020 2020 2020 2072 6574 7572 6e20 5374 return St\n+00003e70: 7269 6e67 3b0a 0a50 4152 414d 4554 4552 ring;..PARAMETER\n+00003e80: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00003e90: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00003ea0: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00003eb0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00003ec0: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n+00003ed0: 5545 0a20 2020 2020 536f 6d65 2063 6861 UE. Some cha\n+00003ee0: 7261 6374 6572 7320 7468 6174 2068 6176 racters that hav\n+00003ef0: 6520 6265 656e 2072 6563 6569 7665 640a e been received.\n+00003f00: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00003f10: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00003f20: 7265 6365 6976 6573 2073 6f6d 6520 6368 receives some ch\n+00003f30: 6172 6163 7465 7273 2066 726f 6d20 6120 aracters from a \n+00003f40: 7265 6d6f 7465 2068 6f73 742e 2020 4173 remote host. As\n+00003f50: 2073 6f6f 6e0a 2020 2020 2074 6861 7420 soon. that \n+00003f60: 6174 206c 6561 7374 206f 6e65 2063 6861 at least one cha\n+00003f70: 7261 6374 6572 2069 7320 6176 6169 6c61 racter is availa\n+00003f80: 626c 652c 2074 6865 2063 7572 7265 6e74 ble, the current\n+00003f90: 2072 6563 6570 7469 6f6e 0a20 2020 2020 reception. \n+00003fa0: 6275 6666 6572 2069 7320 7265 7475 726e buffer is return\n+00003fb0: 6564 2e0a 0a20 2020 2020 5468 6572 6520 ed... There \n+00003fc0: 6973 2075 7375 616c 6c79 206c 6974 746c is usually littl\n+00003fd0: 6520 6761 696e 2069 6e20 7573 696e 6720 e gain in using \n+00003fe0: 7468 6973 2066 756e 6374 696f 6e20 7768 this function wh\n+00003ff0: 6f73 6520 6265 6861 7669 6f75 720a 2020 ose behaviour. \n+00004000: 2020 2069 7320 636f 6d70 6172 6162 6c65 is comparable\n+00004010: 2074 6f20 7468 6520 6f6e 6520 6f66 202a to the one of *\n+00004020: 6e6f 7465 2052 6563 6569 7665 2028 6675 note Receive (fu\n+00004030: 6e63 7469 6f6e 293a 3a2e 2020 4f74 6865 nction)::. Othe\n+00004040: 720a 2020 2020 2066 756e 6374 696f 6e73 r. functions\n+00004050: 2073 7563 6820 6173 202a 6e6f 7465 2047 such as *note G\n+00004060: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+00004070: 6e29 3a3a 2c20 6f72 202a 6e6f 7465 2047 n)::, or *note G\n+00004080: 6574 5f4c 696e 650a 2020 2020 2028 6675 et_Line. (fu\n+00004090: 6e63 7469 6f6e 293a 3a2c 2061 6c6c 6f77 nction)::, allow\n+000040a0: 206d 6f72 6520 7374 7275 6374 7572 6564 more structured\n+000040b0: 2070 726f 6772 616d 6d69 6e67 2e0a 0a20 programming... \n+000040c0: 2020 2020 486f 7765 7665 722c 2074 6869 However, thi\n+000040d0: 7320 6675 6e63 7469 6f6e 206d 6179 2062 s function may b\n+000040e0: 6520 7573 6564 2074 6f20 6176 6f69 6420 e used to avoid \n+000040f0: 6c6f 6f73 696e 6720 6368 6172 6163 7465 loosing characte\n+00004100: 7273 2077 6865 6e0a 2020 2020 2063 616c rs when. cal\n+00004110: 6c69 6e67 202a 6e6f 7465 2055 6e73 6574 ling *note Unset\n+00004120: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+00004130: 7265 293a 3a2c 2069 662c 2066 6f72 2073 re)::, if, for s\n+00004140: 6f6d 6520 7265 6173 6f6e 2c20 7468 650a ome reason, the.\n+00004150: 2020 2020 2072 656d 6f74 6520 686f 7374 remote host\n+00004160: 206d 6179 2068 6176 6520 7365 6e74 2073 may have sent s\n+00004170: 6f6d 652e 0a0a 4558 4345 5054 494f 4e53 ome...EXCEPTIONS\n+00004180: 0a20 2020 2020 2743 6f6e 6e65 6374 696f . 'Connectio\n+00004190: 6e5f 436c 6f73 6564 2750 6565 7220 6861 n_Closed'Peer ha\n+000041a0: 7320 636c 6f73 6564 2074 6865 2063 6f6e s closed the con\n+000041b0: 6e65 6374 696f 6e20 6265 666f 7265 0a20 nection before. \n+000041c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000041d0: 2020 2020 2020 2073 656e 6469 6e67 2061 sending a\n+000041e0: 6e79 2064 6174 610a 0a1f 0a46 696c 653a ny data....File:\n+000041f0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00004200: 2c20 204e 6f64 653a 2047 6574 5f43 6861 , Node: Get_Cha\n+00004210: 7220 2866 756e 6374 696f 6e29 2c20 204e r (function), N\n+00004220: 6578 743a 2047 6574 5f4c 696e 6520 2866 ext: Get_Line (f\n+00004230: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+00004240: 2047 6574 2028 6675 6e63 7469 6f6e 292c Get (function),\n+00004250: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n+00004260: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n+00004270: 0a47 6574 5f43 6861 7220 2866 756e 6374 .Get_Char (funct\n+00004280: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+00004290: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+000042a0: 450a 2020 2020 2047 6574 2061 2063 6861 E. Get a cha\n+000042b0: 7261 6374 6572 2066 726f 6d20 6120 7265 racter from a re\n+000042c0: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n+000042d0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000042e0: 6b65 7473 2e47 6574 5f43 6861 723a 2066 kets.Get_Char: f\n+000042f0: 756e 6374 696f 6e20 4765 745f 4368 6172 unction Get_Char\n+00004300: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00004310: 745f 4644 2743 6c61 7373 290a 2020 2020 t_FD'Class). \n+00004320: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+00004330: 6e20 4368 6172 6163 7465 723b 0a0a 5041 n Character;..PA\n+00004340: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00004350: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00004360: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00004370: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00004380: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+00004390: 5552 4e20 5641 4c55 450a 2020 2020 204f URN VALUE. O\n+000043a0: 6e65 2063 6861 7261 6374 6572 2073 656e ne character sen\n+000043b0: 7420 6279 2074 6865 2072 656d 6f74 6520 t by the remote \n+000043c0: 686f 7374 0a0a 4445 5343 5249 5054 494f host..DESCRIPTIO\n+000043d0: 4e0a 2020 2020 2054 6869 7320 6675 6e63 N. This func\n+000043e0: 7469 6f6e 2072 6563 6569 7665 7320 6578 tion receives ex\n+000043f0: 6163 746c 7920 6f6e 6520 6368 6172 6163 actly one charac\n+00004400: 7465 7220 6672 6f6d 2074 6865 2072 656d ter from the rem\n+00004410: 6f74 6520 686f 7374 2e0a 0a45 5843 4550 ote host...EXCEP\n+00004420: 5449 4f4e 530a 2020 2020 2027 436f 6e6e TIONS. 'Conn\n+00004430: 6563 7469 6f6e 5f43 6c6f 7365 6427 5065 ection_Closed'Pe\n+00004440: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n+00004450: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n+00004460: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n+00004470: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n+00004480: 696e 6720 7468 6520 6368 6172 6163 7465 ing the characte\n+00004490: 720a 0a53 4545 2041 4c53 4f0a 2020 2020 r..SEE ALSO. \n+000044a0: 202a 6e6f 7465 2047 6574 2028 6675 6e63 *note Get (func\n+000044b0: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n+000044c0: 6f74 6520 4765 745f 4c69 6e65 2028 6675 ote Get_Line (fu\n+000044d0: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n+000044e0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n+000044f0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+00004500: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n+00004510: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00004520: 2020 2020 202a 6e6f 7465 2053 6574 5f42 *note Set_B\n+00004530: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00004540: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+00004550: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00004560: 4e6f 6465 3a20 4765 745f 4c69 6e65 2028 Node: Get_Line (\n+00004570: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+00004580: 3a20 4765 745f 4c69 6e65 2028 7072 6f63 : Get_Line (proc\n+00004590: 6564 7572 6529 2c20 2050 7265 763a 2047 edure), Prev: G\n+000045a0: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+000045b0: 6e29 2c20 2055 703a 2041 6363 6570 745f n), Up: Accept_\n+000045c0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+000045d0: 6529 0a0a 4765 745f 4c69 6e65 2028 6675 e)..Get_Line (fu\n+000045e0: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+000045f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00004600: 504f 5345 0a20 2020 2020 4765 7420 6120 POSE. Get a \n+00004610: 7768 6f6c 6520 6c69 6e65 2066 726f 6d20 whole line from \n+00004620: 6120 7265 6d6f 7465 2068 6f73 740a 5052 a remote host.PR\n+00004630: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00004640: 2053 6f63 6b65 7473 2e47 6574 5f4c 696e Sockets.Get_Lin\n+00004650: 653a 2066 756e 6374 696f 6e20 4765 745f e: function Get_\n+00004660: 4c69 6e65 2028 534f 434b 4554 203a 2053 Line (SOCKET : S\n+00004670: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n+00004680: 2020 2020 2020 2020 2020 2020 2020 204d M\n+00004690: 4158 5f4c 454e 4754 4820 3a20 506f 7369 AX_LENGTH : Posi\n+000046a0: 7469 7665 203a 3d20 3230 3438 290a 2020 tive := 2048). \n+000046b0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+000046c0: 7572 6e20 5374 7269 6e67 3b0a 0a50 4152 urn String;..PAR\n+000046d0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+000046e0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+000046f0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n+00004700: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n+00004710: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+00004720: 4d41 585f 4c45 4e47 5448 2069 6e20 2020 MAX_LENGTH in \n+00004730: 2020 2020 2020 4d61 7869 6d75 6d20 7265 Maximum re\n+00004740: 7475 726e 6564 206c 696e 6520 6c65 6e67 turned line leng\n+00004750: 7468 0a0a 5245 5455 524e 2056 414c 5545 th..RETURN VALUE\n+00004760: 0a20 2020 2020 4120 6c69 6e65 2077 6974 . A line wit\n+00004770: 686f 7574 2074 6865 2043 5220 616e 6420 hout the CR and \n+00004780: 4c46 2073 6570 6172 6174 6f72 730a 0a44 LF separators..D\n+00004790: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+000047a0: 5468 6973 2066 756e 6374 696f 6e20 7265 This function re\n+000047b0: 6365 6976 6573 206f 6e65 206c 696e 6520 ceives one line \n+000047c0: 6672 6f6d 2074 6865 2072 656d 6f74 6520 from the remote \n+000047d0: 686f 7374 2e20 2041 206c 696e 650a 2020 host. A line. \n+000047e0: 2020 2063 6f6e 7369 7374 7320 696e 746f consists into\n+000047f0: 207a 6572 6f20 6f72 206d 6f72 6520 6368 zero or more ch\n+00004800: 6172 6163 7465 7273 2066 6f6c 6c6f 7765 aracters followe\n+00004810: 6420 6279 2061 6e20 6f70 7469 6f6e 616c d by an optional\n+00004820: 2043 520a 2020 2020 2061 6e64 2062 7920 CR. and by \n+00004830: 6120 4c46 2e20 5468 6f73 6520 7465 726d a LF. Those term\n+00004840: 696e 6174 6f72 7320 6172 6520 7374 7269 inators are stri\n+00004850: 7070 6564 2062 6566 6f72 6520 7468 6520 pped before the \n+00004860: 6c69 6e65 2069 730a 2020 2020 2072 6574 line is. ret\n+00004870: 7572 6e65 642e 0a0a 2020 2020 2054 6869 urned... Thi\n+00004880: 7320 6675 6e63 7469 6f6e 2062 6c6f 636b s function block\n+00004890: 7320 756e 7469 6c20 6f6e 6520 6675 6c6c s until one full\n+000048a0: 206c 696e 6520 6861 7320 6265 656e 2072 line has been r\n+000048b0: 6563 6569 7665 642e 2020 5468 650a 2020 eceived. The. \n+000048c0: 2020 206c 696e 6520 6c65 6e67 7468 2069 line length i\n+000048d0: 7320 6c69 6d69 7465 6420 7769 7468 2074 s limited with t\n+000048e0: 6865 2076 616c 7565 206f 6620 7468 6520 he value of the \n+000048f0: 4d61 785f 4c65 6e67 7468 2061 7267 756d Max_Length argum\n+00004900: 656e 742c 0a20 2020 2020 746f 2061 766f ent,. to avo\n+00004910: 6964 2065 7868 6175 7374 696f 6e20 6f66 id exhaustion of\n+00004920: 2074 6865 2073 6563 6f6e 6461 7279 2073 the secondary s\n+00004930: 7461 636b 2e0a 0a45 5843 4550 5449 4f4e tack...EXCEPTION\n+00004940: 530a 2020 2020 2027 436f 6e6e 6563 7469 S. 'Connecti\n+00004950: 6f6e 5f43 6c6f 7365 6427 5065 6572 2068 on_Closed'Peer h\n+00004960: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n+00004970: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n+00004980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004990: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n+000049a0: 6120 7768 6f6c 6520 6c69 6e65 0a0a 5345 a whole line..SE\n+000049b0: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+000049c0: 6520 4765 7420 2866 756e 6374 696f 6e29 e Get (function)\n+000049d0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047 ::,. *note G\n+000049e0: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+000049f0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n+00004a00: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+00004a10: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00004a20: 6f74 6520 5265 6365 6976 6520 2870 726f ote Receive (pro\n+00004a30: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00004a40: 2a6e 6f74 6520 5365 745f 4275 6666 6572 *note Set_Buffer\n+00004a50: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00004a60: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00004a70: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00004a80: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+00004a90: 6475 7265 292c 2020 4e65 7874 3a20 4765 dure), Next: Ge\n+00004aa0: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n+00004ab0: 5369 7a65 2028 6675 6e63 7469 6f6e 292c Size (function),\n+00004ac0: 2020 5072 6576 3a20 4765 745f 4c69 6e65 Prev: Get_Line\n+00004ad0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+00004ae0: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n+00004af0: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n+00004b00: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00004b10: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00004b20: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00004b30: 2020 2020 2047 6574 2061 2077 686f 6c65 Get a whole\n+00004b40: 206c 696e 6520 6672 6f6d 2061 2072 656d line from a rem\n+00004b50: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n+00004b60: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00004b70: 6574 732e 4765 745f 4c69 6e65 3a20 7072 ets.Get_Line: pr\n+00004b80: 6f63 6564 7572 6520 4765 745f 4c69 6e65 ocedure Get_Line\n+00004b90: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00004ba0: 745f 4644 2743 6c61 7373 3b0a 2020 2020 t_FD'Class;. \n+00004bb0: 2020 2020 2020 2020 2020 2053 5452 203a STR :\n+00004bc0: 2069 6e20 6f75 7420 5374 7269 6e67 3b20 in out String; \n+00004bd0: 4c41 5354 203a 206f 7574 204e 6174 7572 LAST : out Natur\n+00004be0: 616c 293b 0a0a 5041 5241 4d45 5445 5253 al);..PARAMETERS\n+00004bf0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00004c00: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00004c10: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00004c20: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00004c30: 6563 740a 2020 2020 2053 5452 2020 2020 ect. STR \n+00004c40: 2020 2020 696e 206f 7574 2020 2020 2053 in out S\n+00004c50: 7472 696e 6720 746f 2066 696c 6c0a 2020 tring to fill. \n+00004c60: 2020 204c 4153 5420 2020 2020 2020 6f75 LAST ou\n+00004c70: 7420 2020 2020 2020 204c 6173 7420 696e t Last in\n+00004c80: 6465 7820 7573 6564 2069 6e20 7468 6520 dex used in the \n+00004c90: 7374 7269 6e67 0a0a 4445 5343 5249 5054 string..DESCRIPT\n+00004ca0: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+00004cb0: 6f63 6564 7572 6520 7265 6365 6976 6573 ocedure receives\n+00004cc0: 206f 6e65 206c 696e 6520 6672 6f6d 2074 one line from t\n+00004cd0: 6865 2072 656d 6f74 6520 686f 7374 2e20 he remote host. \n+00004ce0: 2041 206c 696e 650a 2020 2020 2063 6f6e A line. con\n+00004cf0: 7369 7374 7320 696e 746f 207a 6572 6f20 sists into zero \n+00004d00: 6f72 206d 6f72 6520 6368 6172 6163 7465 or more characte\n+00004d10: 7273 2066 6f6c 6c6f 7765 6420 6279 2061 rs followed by a\n+00004d20: 6e20 6f70 7469 6f6e 616c 2043 520a 2020 n optional CR. \n+00004d30: 2020 2061 6e64 2062 7920 6120 4c46 2e20 and by a LF. \n+00004d40: 5468 6f73 6520 7465 726d 696e 6174 6f72 Those terminator\n+00004d50: 7320 6172 6520 7374 7269 7070 6564 2062 s are stripped b\n+00004d60: 6566 6f72 6520 7468 6520 6c69 6e65 2069 efore the line i\n+00004d70: 730a 2020 2020 2072 6574 7572 6e65 642e s. returned.\n+00004d80: 0a0a 2020 2020 2054 6869 7320 7072 6f63 .. This proc\n+00004d90: 6564 7572 6520 626c 6f63 6b73 2075 6e74 edure blocks unt\n+00004da0: 696c 206f 6e65 2066 756c 6c20 6c69 6e65 il one full line\n+00004db0: 2068 6173 2062 6565 6e20 7265 6365 6976 has been receiv\n+00004dc0: 6564 2e0a 0a45 5843 4550 5449 4f4e 530a ed...EXCEPTIONS.\n+00004dd0: 2020 2020 2027 436f 6e6e 6563 7469 6f6e 'Connection\n+00004de0: 5f43 6c6f 7365 6427 5065 6572 2068 6173 _Closed'Peer has\n+00004df0: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n+00004e00: 6563 7469 6f6e 2062 6566 6f72 650a 2020 ection before. \n+00004e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004e20: 2020 2020 2020 7365 6e64 696e 6720 6120 sending a \n+00004e30: 7768 6f6c 6520 6c69 6e65 0a0a 5345 4520 whole line..SEE \n+00004e40: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00004e50: 4765 7420 2866 756e 6374 696f 6e29 3a3a Get (function)::\n+00004e60: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+00004e70: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+00004e80: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047 ::,. *note G\n+00004e90: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+00004ea0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n+00004eb0: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n+00004ec0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+00004ed0: 7465 2053 6574 5f42 7566 6665 7220 2870 te Set_Buffer (p\n+00004ee0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+00004ef0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00004f00: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n+00004f10: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n+00004f20: 5369 7a65 2028 6675 6e63 7469 6f6e 292c Size (function),\n+00004f30: 2020 4e65 7874 3a20 4765 745f 5365 6e64 Next: Get_Send\n+00004f40: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+00004f50: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n+00004f60: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+00004f70: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n+00004f80: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00004f90: 7265 290a 0a47 6574 5f52 6563 6569 7665 re)..Get_Receive\n+00004fa0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+00004fb0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).---------\n+00004fc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004fd0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00004fe0: 450a 2020 2020 2052 6574 7572 6e20 7468 E. Return th\n+00004ff0: 6520 7369 7a65 206f 6620 7468 6520 756e e size of the un\n+00005000: 7265 6164 2064 6174 6120 696e 2074 6865 read data in the\n+00005010: 2069 6e70 7574 2071 7565 7565 0a50 524f input queue.PRO\n+00005020: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+00005030: 536f 636b 6574 732e 4765 745f 5265 6365 Sockets.Get_Rece\n+00005040: 6976 655f 5175 6575 655f 5369 7a65 3a20 ive_Queue_Size: \n+00005050: 6675 6e63 7469 6f6e 2047 6574 5f52 6563 function Get_Rec\n+00005060: 6569 7665 5f51 7565 7565 5f53 697a 650a eive_Queue_Size.\n+00005070: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00005080: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+00005090: 4644 2743 6c61 7373 290a 2020 2020 2020 FD'Class). \n+000050a0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+000050b0: 496e 7465 6765 723b 0a0a 5041 5241 4d45 Integer;..PARAME\n+000050c0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+000050d0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+000050e0: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+000050f0: 636f 6e6e 6563 7465 6420 736f 636b 6574 connected socket\n+00005100: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n+00005110: 5641 4c55 450a 2020 2020 2054 6865 206e VALUE. The n\n+00005120: 6f6e 2d6e 6567 6174 6976 6520 7369 7a65 on-negative size\n+00005130: 2069 6e20 6279 7465 7320 6f66 2074 6865 in bytes of the\n+00005140: 2069 6e70 7574 2071 7565 7565 0a0a 4445 input queue..DE\n+00005150: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00005160: 6869 7320 6675 6e63 7469 6f6e 2069 7320 his function is \n+00005170: 6f6e 6c79 2061 7661 696c 6162 6c65 206f only available o\n+00005180: 6e20 4c69 6e75 7820 706c 6174 666f 726d n Linux platform\n+00005190: 732e 2020 4f6e 206f 7468 6572 0a20 2020 s. On other. \n+000051a0: 2020 6f70 6572 6174 696e 6720 7379 7374 operating syst\n+000051b0: 656d 732c 2069 7420 7769 6c6c 2072 6574 ems, it will ret\n+000051c0: 7572 6e20 2d32 2074 6f20 696e 6469 6361 urn -2 to indica\n+000051d0: 7465 2074 6861 7420 7468 6520 6e65 6365 te that the nece\n+000051e0: 7373 6172 790a 2020 2020 206d 6563 6861 ssary. mecha\n+000051f0: 6e69 736d 7320 746f 2072 6574 7269 6576 nisms to retriev\n+00005200: 6520 7468 6520 696e 666f 726d 6174 696f e the informatio\n+00005210: 6e20 6172 6520 6e6f 7420 6176 6169 6c61 n are not availa\n+00005220: 626c 652e 0a0a 5345 4520 414c 534f 0a20 ble...SEE ALSO. \n+00005230: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n+00005240: 6520 2870 726f 6365 6475 7265 293a 3a2e e (procedure)::.\n+00005250: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00005260: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00005270: 3a20 4765 745f 5365 6e64 5f51 7565 7565 : Get_Send_Queue\n+00005280: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+00005290: 2c20 204e 6578 743a 2047 6574 736f 636b , Next: Getsock\n+000052a0: 6f70 7420 2870 726f 6365 6475 7265 292c opt (procedure),\n+000052b0: 2020 5072 6576 3a20 4765 745f 5265 6365 Prev: Get_Rece\n+000052c0: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n+000052d0: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n+000052e0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+000052f0: 726f 6365 6475 7265 290a 0a47 6574 5f53 rocedure)..Get_S\n+00005300: 656e 645f 5175 6575 655f 5369 7a65 2028 end_Queue_Size (\n+00005310: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+00005320: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005330: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00005340: 450a 2020 2020 2052 6574 7572 6e20 7468 E. Return th\n+00005350: 6520 7369 7a65 206f 6620 7468 6520 756e e size of the un\n+00005360: 7365 6e74 2064 6174 6120 696e 2074 6865 sent data in the\n+00005370: 206f 7574 7075 7420 7175 6575 650a 5052 output queue.PR\n+00005380: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00005390: 2053 6f63 6b65 7473 2e47 6574 5f53 656e Sockets.Get_Sen\n+000053a0: 645f 5175 6575 655f 5369 7a65 3a20 6675 d_Queue_Size: fu\n+000053b0: 6e63 7469 6f6e 2047 6574 5f53 656e 645f nction Get_Send_\n+000053c0: 5175 6575 655f 5369 7a65 0a20 2020 2020 Queue_Size. \n+000053d0: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+000053e0: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+000053f0: 6173 7329 0a20 2020 2020 2020 2020 2020 ass). \n+00005400: 2020 2020 7265 7475 726e 2049 6e74 6567 return Integ\n+00005410: 6572 3b0a 0a50 4152 414d 4554 4552 530a er;..PARAMETERS.\n+00005420: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00005430: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n+00005440: 616c 697a 6564 2061 6e64 2063 6f6e 6e65 alized and conne\n+00005450: 6374 6564 2073 6f63 6b65 7420 6f62 6a65 cted socket obje\n+00005460: 6374 0a0a 5245 5455 524e 2056 414c 5545 ct..RETURN VALUE\n+00005470: 0a20 2020 2020 5468 6520 6e6f 6e2d 6e65 . The non-ne\n+00005480: 6761 7469 7665 2073 697a 6520 696e 2062 gative size in b\n+00005490: 7974 6573 206f 6620 7468 6520 6f75 7470 ytes of the outp\n+000054a0: 7574 2071 7565 7565 0a0a 4445 5343 5249 ut queue..DESCRI\n+000054b0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+000054c0: 6675 6e63 7469 6f6e 2069 7320 6f6e 6c79 function is only\n+000054d0: 2061 7661 696c 6162 6c65 206f 6e20 4c69 available on Li\n+000054e0: 6e75 7820 706c 6174 666f 726d 732e 2020 nux platforms. \n+000054f0: 4f6e 206f 7468 6572 0a20 2020 2020 6f70 On other. op\n+00005500: 6572 6174 696e 6720 7379 7374 656d 732c erating systems,\n+00005510: 2069 7420 7769 6c6c 2072 6574 7572 6e20 it will return \n+00005520: 2d32 2074 6f20 696e 6469 6361 7465 2074 -2 to indicate t\n+00005530: 6861 7420 7468 6520 6e65 6365 7373 6172 hat the necessar\n+00005540: 790a 2020 2020 206d 6563 6861 6e69 736d y. mechanism\n+00005550: 7320 746f 2072 6574 7269 6576 6520 7468 s to retrieve th\n+00005560: 6520 696e 666f 726d 6174 696f 6e20 6172 e information ar\n+00005570: 6520 6e6f 7420 6176 6169 6c61 626c 652e e not available.\n+00005580: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00005590: 2a6e 6f74 6520 5365 6e64 2028 7072 6f63 *note Send (proc\n+000055a0: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+000055b0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+000055c0: 666f 2c20 204e 6f64 653a 2047 6574 736f fo, Node: Getso\n+000055d0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+000055e0: 292c 2020 4e65 7874 3a20 4c69 7374 656e ), Next: Listen\n+000055f0: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+00005600: 7265 763a 2047 6574 5f53 656e 645f 5175 rev: Get_Send_Qu\n+00005610: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+00005620: 6f6e 292c 2020 5570 3a20 4163 6365 7074 on), Up: Accept\n+00005630: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00005640: 7265 290a 0a47 6574 736f 636b 6f70 7420 re)..Getsockopt \n+00005650: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00005660: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005670: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+00005680: 2052 6574 7269 6576 6520 6120 736f 636b Retrieve a sock\n+00005690: 6574 206f 7074 696f 6e0a 5052 4f54 4f54 et option.PROTOT\n+000056a0: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+000056b0: 6b65 7473 2e47 6574 736f 636b 6f70 743a kets.Getsockopt:\n+000056c0: 2070 726f 6365 6475 7265 2047 6574 736f procedure Getso\n+000056d0: 636b 6f70 7420 2853 4f43 4b45 5420 3a20 ckopt (SOCKET : \n+000056e0: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+000056f0: 2020 2020 2020 2020 2020 4c45 5645 4c20 LEVEL \n+00005700: 3a20 536f 636b 6574 5f4c 6576 656c 203a : Socket_Level :\n+00005710: 3d20 534f 4c5f 534f 434b 4554 3b0a 2020 = SOL_SOCKET;. \n+00005720: 2020 2020 2020 2020 2020 2020 204f 5054 OPT\n+00005730: 4e41 4d45 203a 2053 6f63 6b65 745f 4f70 NAME : Socket_Op\n+00005740: 7469 6f6e 3b20 4f50 5456 414c 203a 206f tion; OPTVAL : o\n+00005750: 7574 2049 6e74 6567 6572 293b 0a0a 5041 ut Integer);..PA\n+00005760: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00005770: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00005780: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00005790: 616e 6420 626f 756e 6420 736f 636b 6574 and bound socket\n+000057a0: 206f 626a 6563 740a 2020 2020 204c 4556 object. LEV\n+000057b0: 454c 2020 2020 2020 696e 2020 2020 2020 EL in \n+000057c0: 2020 2050 726f 746f 636f 6c20 6c65 7665 Protocol leve\n+000057d0: 6c0a 2020 2020 204f 5054 4e41 4d45 2020 l. OPTNAME \n+000057e0: 2020 696e 2020 2020 2020 2020 204f 7074 in Opt\n+000057f0: 696f 6e20 6e61 6d65 0a20 2020 2020 4f50 ion name. OP\n+00005800: 5456 414c 2020 2020 206f 7574 2020 2020 TVAL out \n+00005810: 2020 2020 4f70 7469 6f6e 2076 616c 7565 Option value\n+00005820: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00005830: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00005840: 6520 7265 7472 6965 7665 7320 6f70 7469 e retrieves opti\n+00005850: 6f6e 7320 6170 706c 6963 6162 6c65 2074 ons applicable t\n+00005860: 6f20 6120 736f 636b 6574 2e20 2050 6c65 o a socket. Ple\n+00005870: 6173 650a 2020 2020 2073 6565 2079 6f75 ase. see you\n+00005880: 7220 6f70 6572 6174 696e 6720 7379 7374 r operating syst\n+00005890: 656d 206d 616e 7561 6c20 666f 7220 7573 em manual for us\n+000058a0: 6162 6c65 206c 6576 656c 7320 616e 6420 able levels and \n+000058b0: 6f70 7469 6f6e 732e 0a0a 2020 2020 2054 options... T\n+000058c0: 776f 206c 6576 656c 7320 6172 6520 6465 wo levels are de\n+000058d0: 6669 6e65 643a 2027 534f 4c5f 534f 434b fined: 'SOL_SOCK\n+000058e0: 4554 2720 2874 6865 2064 6566 6175 6c74 ET' (the default\n+000058f0: 2920 616e 640a 2020 2020 2027 4950 5052 ) and. 'IPPR\n+00005900: 4f54 4f5f 4950 272e 2020 5468 6520 6f70 OTO_IP'. The op\n+00005910: 7469 6f6e 7320 6172 6520 2753 4f5f 5245 tions are 'SO_RE\n+00005920: 5553 4541 4444 5227 2c20 2753 4f5f 5245 USEADDR', 'SO_RE\n+00005930: 5553 4550 4f52 5427 2c0a 2020 2020 2027 USEPORT',. '\n+00005940: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n+00005950: 272c 2027 4950 5f41 4444 5f4d 454d 4245 ', 'IP_ADD_MEMBE\n+00005960: 5253 4849 5027 2c20 2749 505f 4452 4f50 RSHIP', 'IP_DROP\n+00005970: 5f4d 454d 4245 5253 4849 5027 2c0a 2020 _MEMBERSHIP',. \n+00005980: 2020 2027 4950 5f4d 554c 5449 4341 5354 'IP_MULTICAST\n+00005990: 5f4c 4f4f 5027 2c20 2753 4f5f 534e 4442 _LOOP', 'SO_SNDB\n+000059a0: 5546 2720 616e 6420 2749 505f 5243 5642 UF' and 'IP_RCVB\n+000059b0: 5546 272e 0a0a 2020 2020 204e 6f74 6520 UF'... Note \n+000059c0: 7468 6174 2075 6e6c 696b 6520 7468 6569 that unlike thei\n+000059d0: 7220 4320 6c61 6e67 7561 6765 2063 6f75 r C language cou\n+000059e0: 6e74 6572 7061 7274 2c20 2747 6574 736f nterpart, 'Getso\n+000059f0: 636b 6f70 7427 2061 6e64 0a20 2020 2020 ckopt' and. \n+00005a00: 2753 6574 736f 636b 6f70 7427 2064 6f20 'Setsockopt' do \n+00005a10: 6e6f 7420 7265 7175 6972 6520 616e 2065 not require an e\n+00005a20: 7874 7261 2070 6172 616d 6574 6572 2072 xtra parameter r\n+00005a30: 6570 7265 7365 6e74 696e 6720 7468 650a epresenting the.\n+00005a40: 2020 2020 206c 656e 6774 6820 696e 2062 length in b\n+00005a50: 7974 6573 206f 6620 7468 6520 6f70 7469 ytes of the opti\n+00005a60: 6f6e 2076 616c 7565 2e20 2041 6461 536f on value. AdaSo\n+00005a70: 636b 6574 7320 6e6f 7773 2074 6865 2072 ckets nows the r\n+00005a80: 6967 6874 0a20 2020 2020 7369 7a65 2066 ight. size f\n+00005a90: 6f72 2065 7665 7279 206f 7074 696f 6e2e or every option.\n+00005aa0: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00005ab0: 2a6e 6f74 6520 5365 7473 6f63 6b6f 7074 *note Setsockopt\n+00005ac0: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00005ad0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00005ae0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00005af0: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+00005b00: 7265 292c 2020 4e65 7874 3a20 4e65 775f re), Next: New_\n+00005b10: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00005b20: 2c20 2050 7265 763a 2047 6574 736f 636b , Prev: Getsock\n+00005b30: 6f70 7420 2870 726f 6365 6475 7265 292c opt (procedure),\n+00005b40: 2020 5570 3a20 4163 6365 7074 5f53 6f63 Up: Accept_Soc\n+00005b50: 6b65 7420 2870 726f 6365 6475 7265 290a ket (procedure).\n+00005b60: 0a4c 6973 7465 6e20 2870 726f 6365 6475 .Listen (procedu\n+00005b70: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n+00005b80: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00005b90: 2020 2020 2045 7374 6162 6c69 7368 2061 Establish a\n+00005ba0: 206c 6973 7465 6e20 7175 6575 650a 5052 listen queue.PR\n+00005bb0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00005bc0: 2053 6f63 6b65 7473 2e4c 6973 7465 6e3a Sockets.Listen:\n+00005bd0: 2070 726f 6365 6475 7265 204c 6973 7465 procedure Liste\n+00005be0: 6e20 2853 4f43 4b45 5420 3a20 536f 636b n (SOCKET : Sock\n+00005bf0: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n+00005c00: 2020 2020 2020 5155 4555 455f 5349 5a45 QUEUE_SIZE\n+00005c10: 203a 2050 6f73 6974 6976 6520 3a3d 2035 : Positive := 5\n+00005c20: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n+00005c30: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n+00005c40: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n+00005c50: 6c69 7a65 6420 616e 6420 626f 756e 6420 lized and bound \n+00005c60: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+00005c70: 2020 2051 5545 5545 5f53 495a 4520 696e QUEUE_SIZE in\n+00005c80: 2020 2020 2020 2020 2052 6571 7565 7374 Request\n+00005c90: 6564 2073 6c6f 7473 2069 6e20 7468 6520 ed slots in the \n+00005ca0: 6c69 7374 656e 2071 7565 7565 0a0a 4445 listen queue..DE\n+00005cb0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00005cc0: 6869 7320 7072 6f63 6564 7572 6520 6573 his procedure es\n+00005cd0: 7461 626c 6973 6865 7320 6120 6c69 7374 tablishes a list\n+00005ce0: 656e 2071 7565 7565 2061 6674 6572 2061 en queue after a\n+00005cf0: 2054 4350 2073 6f63 6b65 7420 6173 0a20 TCP socket as. \n+00005d00: 2020 2020 6265 656e 2069 6e69 7469 616c been initial\n+00005d10: 697a 6564 2061 6e64 2062 6f75 6e64 2e20 ized and bound. \n+00005d20: 2045 6163 6820 736c 6f74 2069 6e20 7468 Each slot in th\n+00005d30: 6520 7175 6575 6520 6361 6e20 686f 6c64 e queue can hold\n+00005d40: 206f 6e65 0a20 2020 2020 696e 636f 6d69 one. incomi\n+00005d50: 6e67 2063 6f6e 6e65 6374 696f 6e20 7468 ng connection th\n+00005d60: 6174 2068 6173 206e 6f74 2062 6565 6e20 at has not been \n+00005d70: 6163 6365 7074 6564 2079 6574 2e20 204e accepted yet. N\n+00005d80: 6f74 6520 7468 6174 206d 6f73 740a 2020 ote that most. \n+00005d90: 2020 206f 7065 7261 7469 6e67 2073 7973 operating sys\n+00005da0: 7465 6d73 2069 676e 6f72 6520 7175 6575 tems ignore queu\n+00005db0: 6520 7369 7a65 7320 6c61 7267 6572 2074 e sizes larger t\n+00005dc0: 6861 6e20 6669 7665 2e0a 0a53 4545 2041 han five...SEE A\n+00005dd0: 4c53 4f0a 2020 2020 202a 6e6f 7465 2041 LSO. *note A\n+00005de0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00005df0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00005e00: 202a 6e6f 7465 2042 696e 6420 2870 726f *note Bind (pro\n+00005e10: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00005e20: 2a6e 6f74 6520 536f 636b 6574 2028 7072 *note Socket (pr\n+00005e30: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n+00005e40: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+00005e50: 696e 666f 2c20 204e 6f64 653a 204e 6577 info, Node: New\n+00005e60: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00005e70: 292c 2020 4e65 7874 3a20 5075 7420 2870 ), Next: Put (p\n+00005e80: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+00005e90: 3a20 4c69 7374 656e 2028 7072 6f63 6564 : Listen (proced\n+00005ea0: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n+00005eb0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00005ec0: 7572 6529 0a0a 4e65 775f 4c69 6e65 2028 ure)..New_Line (\n+00005ed0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00005ee0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00005ef0: 0a50 5552 504f 5345 0a20 2020 2020 5365 .PURPOSE. Se\n+00005f00: 6e64 2061 2043 522f 4c46 2074 6f20 6120 nd a CR/LF to a \n+00005f10: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n+00005f20: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00005f30: 6f63 6b65 7473 2e4e 6577 5f4c 696e 653a ockets.New_Line:\n+00005f40: 2070 726f 6365 6475 7265 204e 6577 5f4c procedure New_L\n+00005f50: 696e 6520 2853 4f43 4b45 5420 3a20 536f ine (SOCKET : So\n+00005f60: 636b 6574 5f46 4427 436c 6173 733b 0a20 cket_FD'Class;. \n+00005f70: 2020 2020 2020 2020 2020 2020 2020 434f CO\n+00005f80: 554e 5420 3a20 4e61 7475 7261 6c20 3a3d UNT : Natural :=\n+00005f90: 2031 293b 0a0a 5041 5241 4d45 5445 5253 1);..PARAMETERS\n+00005fa0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00005fb0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00005fc0: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00005fd0: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00005fe0: 6563 740a 2020 2020 2043 4f55 4e54 2020 ect. COUNT \n+00005ff0: 2020 2020 696e 2020 2020 2020 2020 204e in N\n+00006000: 756d 6265 7220 6f66 2043 522f 4c46 2073 umber of CR/LF s\n+00006010: 6571 7565 6e63 6573 2074 6f20 7365 6e64 equences to send\n+00006020: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00006030: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00006040: 6520 7365 6e64 7320 6f6e 6520 6f72 206d e sends one or m\n+00006050: 6f72 6520 4352 2f4c 4620 636f 6d62 696e ore CR/LF combin\n+00006060: 6174 696f 6e73 2074 6f20 7468 6520 7065 ations to the pe\n+00006070: 6572 2e0a 0a45 5843 4550 5449 4f4e 530a er...EXCEPTIONS.\n+00006080: 2020 2020 2027 436f 6e6e 6563 7469 6f6e 'Connection\n+00006090: 5f43 6c6f 7365 6427 5065 6572 2068 6173 _Closed'Peer has\n+000060a0: 2070 7265 6d61 7475 7265 6c79 2063 6c6f prematurely clo\n+000060b0: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+000060c0: 6f6e 0a0a 5345 4520 414c 534f 0a20 2020 on..SEE ALSO. \n+000060d0: 2020 2a6e 6f74 6520 5075 7420 2870 726f *note Put (pro\n+000060e0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+000060f0: 2a6e 6f74 6520 5075 745f 4c69 6e65 2028 *note Put_Line (\n+00006100: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00006110: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00006120: 732e 696e 666f 2c20 204e 6f64 653a 2050 s.info, Node: P\n+00006130: 7574 2028 7072 6f63 6564 7572 6529 2c20 ut (procedure), \n+00006140: 204e 6578 743a 2050 7574 5f4c 696e 6520 Next: Put_Line \n+00006150: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00006160: 6576 3a20 4e65 775f 4c69 6e65 2028 7072 ev: New_Line (pr\n+00006170: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00006180: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00006190: 6f63 6564 7572 6529 0a0a 5075 7420 2870 ocedure)..Put (p\n+000061a0: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+000061b0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+000061c0: 5345 0a20 2020 2020 5365 6e64 2061 2073 SE. Send a s\n+000061d0: 7472 696e 6720 746f 2061 2072 656d 6f74 tring to a remot\n+000061e0: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n+000061f0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00006200: 732e 5075 743a 2070 726f 6365 6475 7265 s.Put: procedure\n+00006210: 2050 7574 2028 534f 434b 4554 203a 2053 Put (SOCKET : S\n+00006220: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n+00006230: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00006240: 5452 203a 2053 7472 696e 6729 3b0a 0a50 TR : String);..P\n+00006250: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00006260: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00006270: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00006280: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00006290: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+000062a0: 2020 5354 5220 2020 2020 2020 2069 6e20 STR in \n+000062b0: 2020 2020 2020 2020 5374 7269 6e67 2074 String t\n+000062c0: 6f20 7365 6e64 0a0a 4445 5343 5249 5054 o send..DESCRIPT\n+000062d0: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+000062e0: 6f63 6564 7572 6520 7365 6e64 7320 7468 ocedure sends th\n+000062f0: 6520 636f 6e74 656e 7420 6f66 2053 5452 e content of STR\n+00006300: 206f 7665 7220 616e 206f 7574 676f 696e over an outgoin\n+00006310: 6720 6f72 0a20 2020 2020 696e 636f 6d69 g or. incomi\n+00006320: 6e67 2073 6f63 6b65 742e 0a0a 4558 4345 ng socket...EXCE\n+00006330: 5054 494f 4e53 0a20 2020 2020 2743 6f6e PTIONS. 'Con\n+00006340: 6e65 6374 696f 6e5f 436c 6f73 6564 2750 nection_Closed'P\n+00006350: 6565 7220 6861 7320 7072 656d 6174 7572 eer has prematur\n+00006360: 656c 7920 636c 6f73 6564 2074 6865 2063 ely closed the c\n+00006370: 6f6e 6e65 6374 696f 6e0a 0a53 4545 2041 onnection..SEE A\n+00006380: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n+00006390: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+000063a0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+000063b0: 6520 5075 745f 4c69 6e65 2028 7072 6f63 e Put_Line (proc\n+000063c0: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n+000063d0: 6e6f 7465 2053 656e 6420 2870 726f 6365 note Send (proce\n+000063e0: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+000063f0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00006400: 6f2c 2020 4e6f 6465 3a20 5075 745f 4c69 o, Node: Put_Li\n+00006410: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+00006420: 204e 6578 743a 2052 6563 6569 7665 2028 Next: Receive (\n+00006430: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+00006440: 3a20 5075 7420 2870 726f 6365 6475 7265 : Put (procedure\n+00006450: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00006460: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00006470: 290a 0a50 7574 5f4c 696e 6520 2870 726f )..Put_Line (pro\n+00006480: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n+00006490: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+000064a0: 5250 4f53 450a 2020 2020 2053 656e 6420 RPOSE. Send \n+000064b0: 6120 4352 2f4c 4620 7465 726d 696e 6174 a CR/LF terminat\n+000064c0: 6564 2073 7472 696e 6720 746f 2061 2072 ed string to a r\n+000064d0: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n+000064e0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+000064f0: 636b 6574 732e 5075 745f 4c69 6e65 3a20 ckets.Put_Line: \n+00006500: 7072 6f63 6564 7572 6520 5075 745f 4c69 procedure Put_Li\n+00006510: 6e65 2028 534f 434b 4554 203a 2053 6f63 ne (SOCKET : Soc\n+00006520: 6b65 745f 4644 2743 6c61 7373 3b0a 2020 ket_FD'Class;. \n+00006530: 2020 2020 2020 2020 2020 2020 2053 5452 STR\n+00006540: 203a 2053 7472 696e 6729 3b0a 0a50 4152 : String);..PAR\n+00006550: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+00006560: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+00006570: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n+00006580: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n+00006590: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+000065a0: 5354 5220 2020 2020 2020 2069 6e20 2020 STR in \n+000065b0: 2020 2020 2020 5374 7269 6e67 2074 6f20 String to \n+000065c0: 7365 6e64 0a0a 4445 5343 5249 5054 494f send..DESCRIPTIO\n+000065d0: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+000065e0: 6564 7572 6520 7365 6e64 7320 7468 6520 edure sends the \n+000065f0: 636f 6e74 656e 7420 6f66 2053 5452 2070 content of STR p\n+00006600: 6c75 7320 6120 4352 2f4c 4620 636f 6d62 lus a CR/LF comb\n+00006610: 696e 6174 696f 6e0a 2020 2020 206f 7665 ination. ove\n+00006620: 7220 616e 206f 7574 676f 696e 6720 6f72 r an outgoing or\n+00006630: 2069 6e63 6f6d 696e 6720 736f 636b 6574 incoming socket\n+00006640: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00006650: 2020 2027 436f 6e6e 6563 7469 6f6e 5f43 'Connection_C\n+00006660: 6c6f 7365 6427 5065 6572 2068 6173 2070 losed'Peer has p\n+00006670: 7265 6d61 7475 7265 6c79 2063 6c6f 7365 rematurely close\n+00006680: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n+00006690: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+000066a0: 2a6e 6f74 6520 4e65 775f 4c69 6e65 2028 *note New_Line (\n+000066b0: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. \n+000066c0: 2020 202a 6e6f 7465 2050 7574 2028 7072 *note Put (pr\n+000066d0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+000066e0: 202a 6e6f 7465 2053 656e 6420 2870 726f *note Send (pro\n+000066f0: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+00006700: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+00006710: 6e66 6f2c 2020 4e6f 6465 3a20 5265 6365 nfo, Node: Rece\n+00006720: 6976 6520 2866 756e 6374 696f 6e29 2c20 ive (function), \n+00006730: 204e 6578 743a 2052 6563 6569 7665 2028 Next: Receive (\n+00006740: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00006750: 763a 2050 7574 5f4c 696e 6520 2870 726f v: Put_Line (pro\n+00006760: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00006770: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00006780: 6365 6475 7265 290a 0a52 6563 6569 7665 cedure)..Receive\n+00006790: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n+000067a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+000067b0: 5055 5250 4f53 450a 2020 2020 2052 6563 PURPOSE. Rec\n+000067c0: 6569 7665 2072 6177 2064 6174 6120 6f76 eive raw data ov\n+000067d0: 6572 2061 2073 6f63 6b65 740a 5052 4f54 er a socket.PROT\n+000067e0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+000067f0: 6f63 6b65 7473 2e52 6563 6569 7665 3a20 ockets.Receive: \n+00006800: 6675 6e63 7469 6f6e 2052 6563 6569 7665 function Receive\n+00006810: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00006820: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+00006830: 2020 2020 204d 4158 203a 2041 6461 2e53 MAX : Ada.S\n+00006840: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n+00006850: 656d 656e 745f 436f 756e 7420 3a3d 2034 ement_Count := 4\n+00006860: 3039 3629 0a20 2020 2020 2020 2020 2020 096). \n+00006870: 2020 2020 7265 7475 726e 2041 6461 2e53 return Ada.S\n+00006880: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n+00006890: 656d 656e 745f 4172 7261 793b 0a0a 5041 ement_Array;..PA\n+000068a0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+000068b0: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+000068c0: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+000068d0: 616e 6420 626f 756e 6420 6f72 2063 6f6e and bound or con\n+000068e0: 6e65 6374 6564 0a20 2020 2020 2020 2020 nected. \n+000068f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006900: 2020 736f 636b 6574 206f 626a 6563 740a socket object.\n+00006910: 2020 2020 204d 4158 2020 2020 2020 2020 MAX \n+00006920: 696e 2020 2020 2020 2020 204d 6178 696d in Maxim\n+00006930: 756d 2064 6174 6120 6c65 6e67 7468 0a0a um data length..\n+00006940: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+00006950: 2020 5265 6365 6976 6564 2072 6177 2064 Received raw d\n+00006960: 6174 610a 0a44 4553 4352 4950 5449 4f4e ata..DESCRIPTION\n+00006970: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n+00006980: 6475 7265 2072 6563 6569 7665 7320 6461 dure receives da\n+00006990: 7461 2066 726f 6d20 6120 626f 756e 6420 ta from a bound \n+000069a0: 5544 5020 736f 636b 6574 206f 7220 6120 UDP socket or a \n+000069b0: 636f 6e6e 6563 7465 640a 2020 2020 2054 connected. T\n+000069c0: 4350 2073 6f63 6b65 742e 2020 4f6e 6c79 CP socket. Only\n+000069d0: 206f 6e65 2073 7973 7465 6d20 6361 6c6c one system call\n+000069e0: 2077 696c 6c20 6265 2070 6572 666f 726d will be perform\n+000069f0: 6564 3b20 7468 6973 2066 756e 6374 696f ed; this functio\n+00006a00: 6e0a 2020 2020 2077 696c 6c20 7265 7475 n. will retu\n+00006a10: 726e 2077 6861 7465 7665 7220 6461 7461 rn whatever data\n+00006a20: 2068 6173 2061 7272 6976 6564 2e20 204e has arrived. N\n+00006a30: 6f74 6520 7468 6174 2069 6e20 474e 4154 ote that in GNAT\n+00006a40: 2074 6865 0a20 2020 2020 7365 636f 6e64 the. second\n+00006a50: 6172 7920 7374 6163 6b20 6d61 7920 6265 ary stack may be\n+00006a60: 2075 7365 6420 746f 2073 746f 7265 2074 used to store t\n+00006a70: 6865 2064 6174 6120 616e 6420 6d61 7920 he data and may \n+00006a80: 7265 7375 6c74 2069 6e0a 2020 2020 2073 result in. s\n+00006a90: 7461 636b 2073 746f 7261 6765 2065 7868 tack storage exh\n+00006aa0: 6175 7374 696f 6e2e 0a0a 4558 4345 5054 austion...EXCEPT\n+00006ab0: 494f 4e53 0a20 2020 2020 2743 6f6e 6e65 IONS. 'Conne\n+00006ac0: 6374 696f 6e5f 436c 6f73 6564 2750 6565 ction_Closed'Pee\n+00006ad0: 7220 6861 7320 636c 6f73 6564 2074 6865 r has closed the\n+00006ae0: 2063 6f6e 6e65 6374 696f 6e20 6265 666f connection befo\n+00006af0: 7265 0a20 2020 2020 2020 2020 2020 2020 re. \n+00006b00: 2020 2020 2020 2020 2020 2073 656e 6469 sendi\n+00006b10: 6e67 2061 6e79 2064 6174 610a 0a53 4545 ng any data..SEE\n+00006b20: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00006b30: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n+00006b40: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+00006b50: 7465 2052 6563 6569 7665 5f53 6f6d 6520 te Receive_Some \n+00006b60: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+00006b70: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00006b80: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c ne (function)::,\n+00006b90: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+00006ba0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00006bb0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+00006bc0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00006bd0: 6f64 653a 2052 6563 6569 7665 2028 7072 ode: Receive (pr\n+00006be0: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n+00006bf0: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n+00006c00: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+00006c10: 3a20 5265 6365 6976 6520 2866 756e 6374 : Receive (funct\n+00006c20: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n+00006c30: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00006c40: 7572 6529 0a0a 5265 6365 6976 6520 2870 ure)..Receive (p\n+00006c50: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+00006c60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+00006c70: 5552 504f 5345 0a20 2020 2020 5265 6365 URPOSE. Rece\n+00006c80: 6976 6520 7261 7720 6461 7461 206f 7665 ive raw data ove\n+00006c90: 7220 6120 736f 636b 6574 0a50 524f 544f r a socket.PROTO\n+00006ca0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00006cb0: 636b 6574 732e 5265 6365 6976 653a 2070 ckets.Receive: p\n+00006cc0: 726f 6365 6475 7265 2052 6563 6569 7665 rocedure Receive\n+00006cd0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00006ce0: 745f 4644 2743 6c61 7373 3b0a 2020 2020 t_FD'Class;. \n+00006cf0: 2020 2020 2020 2020 2020 2044 4154 4120 DATA \n+00006d00: 3a20 6f75 7420 4164 612e 5374 7265 616d : out Ada.Stream\n+00006d10: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n+00006d20: 5f41 7272 6179 293b 0a0a 5041 5241 4d45 _Array);..PARAME\n+00006d30: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00006d40: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00006d50: 496e 6974 6961 6c69 7a65 6420 616e 6420 Initialized and \n+00006d60: 626f 756e 6420 6f72 2063 6f6e 6e65 6374 bound or connect\n+00006d70: 6564 0a20 2020 2020 2020 2020 2020 2020 ed. \n+00006d80: 2020 2020 2020 2020 2020 2020 2020 736f so\n+00006d90: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00006da0: 2044 4154 4120 2020 2020 2020 6f75 7420 DATA out \n+00006db0: 2020 2020 2020 2049 6e63 6f6d 696e 6720 Incoming \n+00006dc0: 6461 7461 2062 7566 6665 720a 0a44 4553 data buffer..DES\n+00006dd0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00006de0: 6973 2070 726f 6365 6475 7265 2072 6563 is procedure rec\n+00006df0: 6569 7665 7320 6461 7461 2066 726f 6d20 eives data from \n+00006e00: 6120 626f 756e 6420 5544 5020 736f 636b a bound UDP sock\n+00006e10: 6574 206f 7220 6120 636f 6e6e 6563 7465 et or a connecte\n+00006e20: 640a 2020 2020 2054 4350 2073 6f63 6b65 d. TCP socke\n+00006e30: 742e 2020 4974 2077 696c 6c20 626c 6f63 t. It will bloc\n+00006e40: 6b20 756e 7469 6c20 7468 6520 4441 5441 k until the DATA\n+00006e50: 2072 6563 6570 7469 6f6e 2062 7566 6665 reception buffe\n+00006e60: 7220 6861 7320 6265 656e 0a20 2020 2020 r has been. \n+00006e70: 746f 7461 6c6c 7920 6669 6c6c 6564 2e0a totally filled..\n+00006e80: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n+00006e90: 2027 436f 6e6e 6563 7469 6f6e 5f43 6c6f 'Connection_Clo\n+00006ea0: 7365 6427 5065 6572 2068 6173 2063 6c6f sed'Peer has clo\n+00006eb0: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+00006ec0: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n+00006ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006ee0: 2020 2744 6174 6127 4c65 6e67 7468 2720 'Data'Length' \n+00006ef0: 6279 7465 730a 2020 2020 2020 2020 2020 bytes. \n+00006f00: 2020 2020 2020 2020 2020 2020 2020 7765 we\n+00006f10: 7265 2072 6563 6569 7665 640a 0a53 4545 re received..SEE\n+00006f20: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00006f30: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+00006f40: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n+00006f50: 7465 2047 6574 5f4c 696e 6520 2870 726f te Get_Line (pro\n+00006f60: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00006f70: 2a6e 6f74 6520 5265 6365 6976 6520 2866 *note Receive (f\n+00006f80: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n+00006f90: 202a 6e6f 7465 2052 6563 6569 7665 5f53 *note Receive_S\n+00006fa0: 6f6d 6520 2870 726f 6365 6475 7265 293a ome (procedure):\n+00006fb0: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n+00006fc0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+00006fd0: 6465 3a20 5265 6365 6976 655f 536f 6d65 de: Receive_Some\n+00006fe0: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00006ff0: 6578 743a 2053 656e 6420 2870 726f 6365 ext: Send (proce\n+00007000: 6475 7265 292c 2020 5072 6576 3a20 5265 dure), Prev: Re\n+00007010: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00007020: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00007030: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00007040: 290a 0a52 6563 6569 7665 5f53 6f6d 6520 )..Receive_Some \n+00007050: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00007060: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007070: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00007080: 2020 2052 6563 6569 7665 2072 6177 2064 Receive raw d\n+00007090: 6174 6120 6f76 6572 2061 2073 6f63 6b65 ata over a socke\n+000070a0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+000070b0: 2020 2d2d 2053 6f63 6b65 7473 2e52 6563 -- Sockets.Rec\n+000070c0: 6569 7665 5f53 6f6d 653a 2070 726f 6365 eive_Some: proce\n+000070d0: 6475 7265 2052 6563 6569 7665 5f53 6f6d dure Receive_Som\n+000070e0: 650a 2020 2020 2020 2020 2020 2020 2020 e. \n+000070f0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00007100: 745f 4644 2743 6c61 7373 3b0a 2020 2020 t_FD'Class;. \n+00007110: 2020 2020 2020 2020 2020 2044 4154 4120 DATA \n+00007120: 3a20 6f75 7420 4164 612e 5374 7265 616d : out Ada.Stream\n+00007130: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element\n+00007140: 5f41 7272 6179 3b0a 2020 2020 2020 2020 _Array;. \n+00007150: 2020 2020 2020 204c 4153 5420 3a20 6f75 LAST : ou\n+00007160: 7420 4164 612e 5374 7265 616d 732e 5374 t Ada.Streams.St\n+00007170: 7265 616d 5f45 6c65 6d65 6e74 5f4f 6666 ream_Element_Off\n+00007180: 7365 7429 3b0a 0a50 4152 414d 4554 4552 set);..PARAMETER\n+00007190: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+000071a0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+000071b0: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n+000071c0: 6e64 206f 7220 636f 6e6e 6563 7465 640a nd or connected.\n+000071d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000071e0: 2020 2020 2020 2020 2020 2073 6f63 6b65 socke\n+000071f0: 7420 6f62 6a65 6374 0a20 2020 2020 4441 t object. DA\n+00007200: 5441 2020 2020 2020 206f 7574 2020 2020 TA out \n+00007210: 2020 2020 496e 636f 6d69 6e67 2064 6174 Incoming dat\n+00007220: 6120 6275 6666 6572 0a20 2020 2020 4c41 a buffer. LA\n+00007230: 5354 2020 2020 2020 206f 7574 2020 2020 ST out \n+00007240: 2020 2020 496e 6465 7820 6f66 206c 6173 Index of las\n+00007250: 7420 656c 656d 656e 7420 706c 6163 6564 t element placed\n+00007260: 2069 6e74 6f20 4441 5441 0a0a 4445 5343 into DATA..DESC\n+00007270: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n+00007280: 7320 7072 6f63 6564 7572 6520 7265 6365 s procedure rece\n+00007290: 6976 6573 2064 6174 6120 6672 6f6d 2061 ives data from a\n+000072a0: 2062 6f75 6e64 2055 4450 2073 6f63 6b65 bound UDP socke\n+000072b0: 7420 6f72 2061 2063 6f6e 6e65 6374 6564 t or a connected\n+000072c0: 0a20 2020 2020 5443 5020 736f 636b 6574 . TCP socket\n+000072d0: 2e20 2041 7320 736f 6f6e 2061 7320 6174 . As soon as at\n+000072e0: 206c 6561 7374 206f 6e65 2062 7974 6520 least one byte \n+000072f0: 6861 7320 6265 656e 2072 6561 642c 2069 has been read, i\n+00007300: 7420 7265 7475 726e 730a 2020 2020 2077 t returns. w\n+00007310: 6974 6820 4c41 5354 2073 6574 2074 6f20 ith LAST set to \n+00007320: 7468 6520 696e 6465 7820 6f66 2074 6865 the index of the\n+00007330: 206c 6174 6573 7420 7772 6974 7465 6e20 latest written \n+00007340: 656c 656d 656e 7420 6f66 2044 4154 412e element of DATA.\n+00007350: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n+00007360: 2020 2743 6f6e 6e65 6374 696f 6e5f 436c 'Connection_Cl\n+00007370: 6f73 6564 2750 6565 7220 6861 7320 636c osed'Peer has cl\n+00007380: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+00007390: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n+000073a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000073b0: 2020 2073 656e 6469 6e67 2061 6e79 2064 sending any d\n+000073c0: 6174 610a 0a53 4545 2041 4c53 4f0a 2020 ata..SEE ALSO. \n+000073d0: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n+000073e0: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a e (function)::,.\n+000073f0: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00007400: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n+00007410: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n+00007420: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+00007430: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n+00007440: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00007450: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00007460: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00007470: 204e 6f64 653a 2053 656e 6420 2870 726f Node: Send (pro\n+00007480: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n+00007490: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+000074a0: 6564 7572 6529 2c20 2050 7265 763a 2052 edure), Prev: R\n+000074b0: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+000074c0: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+000074d0: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+000074e0: 6365 6475 7265 290a 0a53 656e 6420 2870 cedure)..Send (p\n+000074f0: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+00007500: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00007510: 4f53 450a 2020 2020 2053 656e 6420 7261 OSE. Send ra\n+00007520: 7720 6461 7461 206f 7665 7220 6120 736f w data over a so\n+00007530: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n+00007540: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+00007550: 5365 6e64 3a20 7072 6f63 6564 7572 6520 Send: procedure \n+00007560: 5365 6e64 2028 534f 434b 4554 203a 2053 Send (SOCKET : S\n+00007570: 6f63 6b65 745f 4644 3b0a 2020 2020 2020 ocket_FD;. \n+00007580: 2020 2020 2020 2020 2044 4154 4120 3a20 DATA : \n+00007590: 6f75 7420 4164 612e 5374 7265 616d 732e out Ada.Streams.\n+000075a0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+000075b0: 7272 6179 293b 0a0a 5041 5241 4d45 5445 rray);..PARAMETE\n+000075c0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+000075d0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+000075e0: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n+000075f0: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+00007600: 626a 6563 740a 2020 2020 2044 4154 4120 bject. DATA \n+00007610: 2020 2020 2020 6f75 7420 2020 2020 2020 out \n+00007620: 2044 6174 6120 746f 2062 6520 7365 6e74 Data to be sent\n+00007630: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00007640: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n+00007650: 6520 7365 6e64 7320 6461 7461 206f 7665 e sends data ove\n+00007660: 7220 6120 636f 6e6e 6563 7465 6420 6f75 r a connected ou\n+00007670: 7467 6f69 6e67 2073 6f63 6b65 7420 6f72 tgoing socket or\n+00007680: 206f 7665 720a 2020 2020 2061 6e20 696e over. an in\n+00007690: 636f 6d69 6e67 2073 6f63 6b65 742e 0a0a coming socket...\n+000076a0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n+000076b0: 2743 6f6e 6e65 6374 696f 6e5f 436c 6f73 'Connection_Clos\n+000076c0: 6564 2750 6565 7220 6861 7320 7072 656d ed'Peer has prem\n+000076d0: 6174 7572 656c 7920 636c 6f73 6564 2074 aturely closed t\n+000076e0: 6865 2063 6f6e 6e65 6374 696f 6e0a 0a53 he connection..S\n+000076f0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00007700: 7465 2050 7574 2028 7072 6f63 6564 7572 te Put (procedur\n+00007710: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+00007720: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n+00007730: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00007740: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00007750: 6f2c 2020 4e6f 6465 3a20 5365 745f 4275 o, Node: Set_Bu\n+00007760: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+00007770: 2c20 204e 6578 743a 2053 6574 736f 636b , Next: Setsock\n+00007780: 6f70 7420 2870 726f 6365 6475 7265 292c opt (procedure),\n+00007790: 2020 5072 6576 3a20 5365 6e64 2028 7072 Prev: Send (pr\n+000077a0: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+000077b0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+000077c0: 6f63 6564 7572 6529 0a0a 5365 745f 4275 ocedure)..Set_Bu\n+000077d0: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+000077e0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+000077f0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00007800: 0a20 2020 2020 496e 7374 616c 6c20 6120 . Install a \n+00007810: 6c69 6e65 2d6f 7269 656e 7465 6420 6275 line-oriented bu\n+00007820: 6666 6572 206f 6620 7468 6520 736f 636b ffer of the sock\n+00007830: 6574 206f 626a 6563 740a 5052 4f54 4f54 et object.PROTOT\n+00007840: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00007850: 6b65 7473 2e53 6574 5f42 7566 6665 723a kets.Set_Buffer:\n+00007860: 2070 726f 6365 6475 7265 2053 6574 5f42 procedure Set_B\n+00007870: 7566 6665 720a 2020 2020 2020 2020 2020 uffer. \n+00007880: 2020 2020 2028 534f 434b 4554 203a 2053 (SOCKET : S\n+00007890: 6f63 6b65 745f 4644 2743 6c61 7373 3b20 ocket_FD'Class; \n+000078a0: 4c45 4e47 5448 203a 2050 6f73 6974 6976 LENGTH : Positiv\n+000078b0: 6520 3a3d 2031 3530 3029 3b0a 0a50 4152 e := 1500);..PAR\n+000078c0: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+000078d0: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+000078e0: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n+000078f0: 6e64 2063 6f6e 6e65 6374 6564 2073 6f63 nd connected soc\n+00007900: 6b65 7420 6f62 6a65 6374 0a20 2020 2020 ket object. \n+00007910: 4c45 4e47 5448 2020 2020 2069 6e20 2020 LENGTH in \n+00007920: 2020 2020 2020 5369 7a65 2069 6e20 6279 Size in by\n+00007930: 7465 7320 6f66 2074 6865 206e 6577 6c79 tes of the newly\n+00007940: 2069 6e73 7461 6c6c 6564 0a20 2020 2020 installed. \n+00007950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007960: 2020 2020 2020 6275 6666 6572 0a0a 4445 buffer..DE\n+00007970: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00007980: 6869 7320 7072 6f63 6564 7572 6520 7075 his procedure pu\n+00007990: 7473 2074 6865 2073 6f63 6b65 7420 6f62 ts the socket ob\n+000079a0: 6a65 6374 2069 6e20 6275 6666 6572 6564 ject in buffered\n+000079b0: 206d 6f64 652e 2020 4966 2074 6865 0a20 mode. If the. \n+000079c0: 2020 2020 736f 636b 6574 2077 6173 2061 socket was a\n+000079d0: 6c72 6561 6479 2062 7566 6665 7265 642c lready buffered,\n+000079e0: 2074 6865 2063 6f6e 7465 6e74 206f 6620 the content of \n+000079f0: 7468 6520 7072 6576 696f 7573 2062 7566 the previous buf\n+00007a00: 6665 720a 2020 2020 2077 696c 6c20 6265 fer. will be\n+00007a10: 206c 6f73 742e 2020 5468 6520 6275 6666 lost. The buff\n+00007a20: 6572 6564 206d 6f64 6520 6f6e 6c79 2061 ered mode only a\n+00007a30: 6666 6563 7473 2063 6861 7261 6374 6572 ffects character\n+00007a40: 2d20 616e 640a 2020 2020 206c 696e 652d - and. line-\n+00007a50: 6f72 6965 6e74 6564 2072 6561 6420 6f70 oriented read op\n+00007a60: 6572 6174 696f 6e20 7375 6368 2061 7320 eration such as \n+00007a70: 2a6e 6f74 6520 4765 7420 2866 756e 6374 *note Get (funct\n+00007a80: 696f 6e29 3a3a 2c20 2a6e 6f74 650a 2020 ion)::, *note. \n+00007a90: 2020 2047 6574 5f43 6861 7220 2866 756e Get_Char (fun\n+00007aa0: 6374 696f 6e29 3a3a 2c20 616e 6420 2a6e ction)::, and *n\n+00007ab0: 6f74 6520 4765 745f 4c69 6e65 2028 6675 ote Get_Line (fu\n+00007ac0: 6e63 7469 6f6e 293a 3a2e 2020 4f74 6865 nction)::. Othe\n+00007ad0: 720a 2020 2020 2072 6563 6570 7469 6f6e r. reception\n+00007ae0: 2073 7562 7072 6f67 7261 6d73 2077 696c subprograms wil\n+00007af0: 6c20 6e6f 7420 6675 6e63 7469 6f6e 2070 l not function p\n+00007b00: 726f 7065 726c 7920 6966 2062 7566 6665 roperly if buffe\n+00007b10: 7265 6420 6d6f 6465 0a20 2020 2020 6973 red mode. is\n+00007b20: 2075 7365 6420 6174 2074 6865 2073 616d used at the sam\n+00007b30: 6520 7469 6d65 2e0a 0a20 2020 2020 5468 e time... Th\n+00007b40: 6520 7369 7a65 206f 6620 7468 6520 6275 e size of the bu\n+00007b50: 6666 6572 2068 6173 2074 6f20 6265 2067 ffer has to be g\n+00007b60: 7265 6174 6572 2074 6861 6e20 7468 6520 reater than the \n+00007b70: 6269 6767 6573 7420 706f 7373 6962 6c65 biggest possible\n+00007b80: 0a20 2020 2020 7061 636b 6574 2073 656e . packet sen\n+00007b90: 7420 6279 2074 6865 2072 656d 6f74 6520 t by the remote \n+00007ba0: 686f 7374 2c20 6f74 6865 7277 6973 6520 host, otherwise \n+00007bb0: 6461 7461 206c 6f73 7320 6d61 7920 6f63 data loss may oc\n+00007bc0: 6375 722e 0a0a 5345 4520 414c 534f 0a20 cur...SEE ALSO. \n+00007bd0: 2020 2020 2a6e 6f74 6520 556e 7365 745f *note Unset_\n+00007be0: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00007bf0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00007c00: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00007c10: 204e 6f64 653a 2053 6574 736f 636b 6f70 Node: Setsockop\n+00007c20: 7420 2870 726f 6365 6475 7265 292c 2020 t (procedure), \n+00007c30: 4e65 7874 3a20 5368 7574 646f 776e 2028 Next: Shutdown (\n+00007c40: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00007c50: 763a 2053 6574 5f42 7566 6665 7220 2870 v: Set_Buffer (p\n+00007c60: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n+00007c70: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+00007c80: 726f 6365 6475 7265 290a 0a53 6574 736f rocedure)..Setso\n+00007c90: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00007ca0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00007cb0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00007cc0: 450a 2020 2020 2053 6574 2061 2073 6f63 E. Set a soc\n+00007cd0: 6b65 7420 6f70 7469 6f6e 0a50 524f 544f ket option.PROTO\n+00007ce0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00007cf0: 636b 6574 732e 5365 7473 6f63 6b6f 7074 ckets.Setsockopt\n+00007d00: 3a20 7072 6f63 6564 7572 6520 5365 7473 : procedure Sets\n+00007d10: 6f63 6b6f 7074 2028 534f 434b 4554 203a ockopt (SOCKET :\n+00007d20: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+00007d30: 2020 2020 2020 2020 2020 204c 4556 454c LEVEL\n+00007d40: 203a 2053 6f63 6b65 745f 4c65 7665 6c20 : Socket_Level \n+00007d50: 3a3d 2053 4f4c 5f53 4f43 4b45 543b 0a20 := SOL_SOCKET;. \n+00007d60: 2020 2020 2020 2020 2020 2020 2020 4f50 OP\n+00007d70: 544e 414d 4520 3a20 536f 636b 6574 5f4f TNAME : Socket_O\n+00007d80: 7074 696f 6e3b 204f 5054 5641 4c20 3a20 ption; OPTVAL : \n+00007d90: 496e 7465 6765 7229 3b0a 0a50 4152 414d Integer);..PARAM\n+00007da0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+00007db0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+00007dc0: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n+00007dd0: 2062 6f75 6e64 2073 6f63 6b65 7420 6f62 bound socket ob\n+00007de0: 6a65 6374 0a20 2020 2020 4c45 5645 4c20 ject. LEVEL \n+00007df0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00007e00: 5072 6f74 6f63 6f6c 206c 6576 656c 0a20 Protocol level. \n+00007e10: 2020 2020 4f50 544e 414d 4520 2020 2069 OPTNAME i\n+00007e20: 6e20 2020 2020 2020 2020 4f70 7469 6f6e n Option\n+00007e30: 206e 616d 650a 2020 2020 204f 5054 5641 name. OPTVA\n+00007e40: 4c20 2020 2020 696e 2020 2020 2020 2020 L in \n+00007e50: 204f 7074 696f 6e20 7661 6c75 650a 0a44 Option value..D\n+00007e60: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00007e70: 5468 6973 2070 726f 6365 6475 7265 2073 This procedure s\n+00007e80: 6574 7320 6f70 7469 6f6e 7320 6170 706c ets options appl\n+00007e90: 6963 6162 6c65 2074 6f20 6120 736f 636b icable to a sock\n+00007ea0: 6574 2e20 2050 6c65 6173 6520 7365 650a et. Please see.\n+00007eb0: 2020 2020 2079 6f75 7220 6f70 6572 6174 your operat\n+00007ec0: 696e 6720 7379 7374 656d 206d 616e 7561 ing system manua\n+00007ed0: 6c20 666f 7220 7573 6162 6c65 206c 6576 l for usable lev\n+00007ee0: 656c 7320 616e 6420 6f70 7469 6f6e 732e els and options.\n+00007ef0: 0a0a 2020 2020 2054 776f 206c 6576 656c .. Two level\n+00007f00: 7320 6172 6520 6465 6669 6e65 643a 2027 s are defined: '\n+00007f10: 534f 4c5f 534f 434b 4554 2720 2874 6865 SOL_SOCKET' (the\n+00007f20: 2064 6566 6175 6c74 2920 616e 640a 2020 default) and. \n+00007f30: 2020 2027 4950 5052 4f54 4f5f 4950 272e 'IPPROTO_IP'.\n+00007f40: 2020 5468 6520 6f70 7469 6f6e 7320 6172 The options ar\n+00007f50: 6520 2753 4f5f 5245 5553 4541 4444 5227 e 'SO_REUSEADDR'\n+00007f60: 2c20 2753 4f5f 5245 5553 4550 4f52 5427 , 'SO_REUSEPORT'\n+00007f70: 2c0a 2020 2020 2027 4950 5f4d 554c 5449 ,. 'IP_MULTI\n+00007f80: 4341 5354 5f54 544c 272c 2027 4950 5f41 CAST_TTL', 'IP_A\n+00007f90: 4444 5f4d 454d 4245 5253 4849 5027 2c20 DD_MEMBERSHIP', \n+00007fa0: 2749 505f 4452 4f50 5f4d 454d 4245 5253 'IP_DROP_MEMBERS\n+00007fb0: 4849 5027 2c0a 2020 2020 2027 4950 5f4d HIP',. 'IP_M\n+00007fc0: 554c 5449 4341 5354 5f4c 4f4f 5027 2c20 ULTICAST_LOOP', \n+00007fd0: 2753 4f5f 534e 4442 5546 2720 616e 6420 'SO_SNDBUF' and \n+00007fe0: 2749 505f 5243 5642 5546 272e 0a0a 2020 'IP_RCVBUF'... \n+00007ff0: 2020 204e 6f74 6520 7468 6174 2075 6e6c Note that unl\n+00008000: 696b 6520 7468 6569 7220 4320 6c61 6e67 ike their C lang\n+00008010: 7561 6765 2063 6f75 6e74 6572 7061 7274 uage counterpart\n+00008020: 2c20 2747 6574 736f 636b 6f70 7427 2061 , 'Getsockopt' a\n+00008030: 6e64 0a20 2020 2020 2753 6574 736f 636b nd. 'Setsock\n+00008040: 6f70 7427 2064 6f20 6e6f 7420 7265 7175 opt' do not requ\n+00008050: 6972 6520 616e 2065 7874 7261 2070 6172 ire an extra par\n+00008060: 616d 6574 6572 2072 6570 7265 7365 6e74 ameter represent\n+00008070: 696e 6720 7468 650a 2020 2020 206c 656e ing the. len\n+00008080: 6774 6820 696e 2062 7974 6573 206f 6620 gth in bytes of \n+00008090: 7468 6520 6f70 7469 6f6e 2076 616c 7565 the option value\n+000080a0: 2e20 2041 6461 536f 636b 6574 7320 6e6f . AdaSockets no\n+000080b0: 7773 2074 6865 2072 6967 6874 0a20 2020 ws the right. \n+000080c0: 2020 7369 7a65 2066 6f72 2065 7665 7279 size for every\n+000080d0: 206f 7074 696f 6e2e 0a0a 5345 4520 414c option...SEE AL\n+000080e0: 534f 0a20 2020 2020 2a6e 6f74 6520 4765 SO. *note Ge\n+000080f0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00008100: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n+00008110: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00008120: 2c20 204e 6f64 653a 2053 6875 7464 6f77 , Node: Shutdow\n+00008130: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n+00008140: 4e65 7874 3a20 536f 636b 6574 2028 7072 Next: Socket (pr\n+00008150: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00008160: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+00008170: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00008180: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00008190: 6365 6475 7265 290a 0a53 6875 7464 6f77 cedure)..Shutdow\n+000081a0: 6e20 2870 726f 6365 6475 7265 290a 2d2d n (procedure).--\n+000081b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000081c0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+000081d0: 2053 6875 7464 6f77 6e20 6120 736f 636b Shutdown a sock\n+000081e0: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n+000081f0: 2020 202d 2d20 536f 636b 6574 732e 5368 -- Sockets.Sh\n+00008200: 7574 646f 776e 3a20 7072 6f63 6564 7572 utdown: procedur\n+00008210: 6520 5368 7574 646f 776e 0a20 2020 2020 e Shutdown. \n+00008220: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+00008230: 5420 3a20 696e 206f 7574 2053 6f63 6b65 T : in out Socke\n+00008240: 745f 4644 3b20 484f 5720 3a20 5368 7574 t_FD; HOW : Shut\n+00008250: 646f 776e 5f54 7970 6520 3a3d 2042 6f74 down_Type := Bot\n+00008260: 6829 3b0a 0a50 4152 414d 4554 4552 530a h);..PARAMETERS.\n+00008270: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00008280: 696e 206f 7574 2020 2020 2053 6f63 6b65 in out Socke\n+00008290: 7420 6f62 6a65 6374 2074 6f20 7368 7574 t object to shut\n+000082a0: 646f 776e 0a20 2020 2020 484f 5720 2020 down. HOW \n+000082b0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+000082c0: 4469 7265 6374 696f 6e20 746f 2073 6875 Direction to shu\n+000082d0: 7464 6f77 6e0a 0a44 4553 4352 4950 5449 tdown..DESCRIPTI\n+000082e0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+000082f0: 6365 6475 7265 2073 6875 7464 6f77 6e73 cedure shutdowns\n+00008300: 2065 6974 6865 7220 6469 7265 6374 696f either directio\n+00008310: 6e20 6f66 2074 6865 2073 6f63 6b65 742e n of the socket.\n+00008320: 2020 484f 5720 6361 6e0a 2020 2020 2074 HOW can. t\n+00008330: 616b 6520 7468 6520 7661 6c75 6520 2753 ake the value 'S\n+00008340: 656e 6427 2c20 2752 6563 6569 7665 2720 end', 'Receive' \n+00008350: 6f72 2027 426f 7468 272e 0a0a 5345 4520 or 'Both'...SEE \n+00008360: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00008370: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00008380: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00008390: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+000083a0: 204e 6f64 653a 2053 6f63 6b65 7420 2870 Node: Socket (p\n+000083b0: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n+000083c0: 3a20 556e 7365 745f 4275 6666 6572 2028 : Unset_Buffer (\n+000083d0: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+000083e0: 763a 2053 6875 7464 6f77 6e20 2870 726f v: Shutdown (pro\n+000083f0: 6365 6475 7265 292c 2020 5570 3a20 4163 cedure), Up: Ac\n+00008400: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+00008410: 6365 6475 7265 290a 0a53 6f63 6b65 7420 cedure)..Socket \n+00008420: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00008430: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00008440: 5055 5250 4f53 450a 2020 2020 2043 7265 PURPOSE. Cre\n+00008450: 6174 6520 6120 736f 636b 6574 206f 6620 ate a socket of \n+00008460: 7468 6520 6769 7665 6e20 6d6f 6465 0a50 the given mode.P\n+00008470: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00008480: 2d20 536f 636b 6574 732e 536f 636b 6574 - Sockets.Socket\n+00008490: 3a20 7072 6f63 6564 7572 6520 536f 636b : procedure Sock\n+000084a0: 6574 2028 534f 434b 4554 203a 206f 7574 et (SOCKET : out\n+000084b0: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+000084c0: 2020 2020 2020 2020 2020 2044 4f4d 4149 DOMAI\n+000084d0: 4e20 3a20 536f 636b 6574 5f44 6f6d 6169 N : Socket_Domai\n+000084e0: 6e20 3a3d 2050 465f 494e 4554 3b0a 2020 n := PF_INET;. \n+000084f0: 2020 2020 2020 2020 2020 2020 2054 5950 TYP\n+00008500: 203a 2053 6f63 6b65 745f 5479 7065 203a : Socket_Type :\n+00008510: 3d20 534f 434b 5f53 5452 4541 4d29 3b0a = SOCK_STREAM);.\n+00008520: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+00008530: 2053 4f43 4b45 5420 2020 2020 6f75 7420 SOCKET out \n+00008540: 2020 2020 2020 2053 6f63 6b65 7420 6f62 Socket ob\n+00008550: 6a65 6374 2074 6f20 696e 6974 6961 6c69 ject to initiali\n+00008560: 7a65 0a20 2020 2020 444f 4d41 494e 2020 ze. DOMAIN \n+00008570: 2020 2069 6e20 2020 2020 2020 2020 5072 in Pr\n+00008580: 6f74 6f63 6f6c 2066 616d 696c 790a 2020 otocol family. \n+00008590: 2020 2054 5950 2020 2020 2020 2020 696e TYP in\n+000085a0: 2020 2020 2020 2020 204b 696e 6420 6f66 Kind of\n+000085b0: 2073 6f63 6b65 7473 0a0a 4445 5343 5249 sockets..DESCRI\n+000085c0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+000085d0: 7072 6f63 6564 7572 6520 696e 6974 6961 procedure initia\n+000085e0: 6c69 7a65 7320 6120 6e65 7720 736f 636b lizes a new sock\n+000085f0: 6574 206f 626a 6563 7420 6279 2072 6573 et object by res\n+00008600: 6572 7669 6e67 2061 2066 696c 650a 2020 erving a file. \n+00008610: 2020 2064 6573 6372 6970 746f 7220 746f descriptor to\n+00008620: 2074 6865 206f 7065 7261 7469 6e67 2073 the operating s\n+00008630: 7973 7465 6d2e 2020 466f 7220 6261 636b ystem. For back\n+00008640: 7761 7264 2063 6f6d 7061 7469 6269 6c69 ward compatibili\n+00008650: 7479 0a20 2020 2020 7769 7468 206f 6c64 ty. with old\n+00008660: 6572 2076 6572 7369 6f6e 7320 6f66 2074 er versions of t\n+00008670: 6869 7320 6c69 6272 6172 792c 2027 4146 his library, 'AF\n+00008680: 5f49 4e45 5427 2069 7320 7374 696c 6c20 _INET' is still \n+00008690: 6163 6365 7074 6564 2061 730a 2020 2020 accepted as. \n+000086a0: 2061 2076 616c 7565 2062 7574 2073 686f a value but sho\n+000086b0: 756c 6420 6265 2072 6570 6c61 6365 6420 uld be replaced \n+000086c0: 6173 2073 6f6f 6e20 6173 2070 6f73 7369 as soon as possi\n+000086d0: 626c 6520 7769 7468 2074 6865 2070 726f ble with the pro\n+000086e0: 7065 720a 2020 2020 2027 5046 5f49 4e45 per. 'PF_INE\n+000086f0: 5427 2e20 2055 7369 6e67 2027 534f 434b T'. Using 'SOCK\n+00008700: 5f53 5452 4541 4d27 2066 6f72 2074 6865 _STREAM' for the\n+00008710: 2054 5950 2061 7267 756d 656e 7420 7769 TYP argument wi\n+00008720: 6c6c 2063 7265 6174 6520 610a 2020 2020 ll create a. \n+00008730: 2054 4350 2073 6f63 6b65 7420 7768 696c TCP socket whil\n+00008740: 6520 6120 2753 4f43 4b5f 4447 5241 4d27 e a 'SOCK_DGRAM'\n+00008750: 2077 696c 6c20 6372 6561 7465 2061 2055 will create a U\n+00008760: 4450 206f 6e65 2e0a 0a45 5841 4d50 4c45 DP one...EXAMPLE\n+00008770: 0a20 2020 2020 2020 2020 2064 6563 6c61 . decla\n+00008780: 7265 0a20 2020 2020 2020 2020 2020 2020 re. \n+00008790: 536f 636b 203a 2053 6f63 6b65 745f 4644 Sock : Socket_FD\n+000087a0: 3b0a 2020 2020 2020 2020 2020 6265 6769 ;. begi\n+000087b0: 6e0a 2020 2020 2020 2020 2020 2020 202d n. -\n+000087c0: 2d20 4372 6561 7465 2061 2054 4350 2073 - Create a TCP s\n+000087d0: 6f63 6b65 740a 2020 2020 2020 2020 2020 ocket. \n+000087e0: 2020 2053 6f63 6b65 7420 2853 6f63 6b2c Socket (Sock,\n+000087f0: 2050 465f 494e 4554 2c20 534f 434b 5f53 PF_INET, SOCK_S\n+00008800: 5452 4541 4d29 3b0a 2020 2020 2020 2020 TREAM);. \n+00008810: 2020 2020 202d 2d20 5065 7266 6f72 6d20 -- Perform \n+00008820: 736f 6d65 206f 7065 7261 7469 6f6e 7320 some operations \n+00008830: 6f6e 2073 6f63 6b65 740a 2020 2020 2020 on socket. \n+00008840: 2020 2020 2020 205b 2e2e 2e5d 0a20 2020 [...]. \n+00008850: 2020 2020 2020 2020 2020 2d2d 2053 6875 -- Shu\n+00008860: 7464 6f77 6e20 7468 6520 736f 636b 6574 tdown the socket\n+00008870: 2069 6e20 626f 7468 2064 6972 6563 7469 in both directi\n+00008880: 6f6e 730a 2020 2020 2020 2020 2020 2020 ons. \n+00008890: 2053 6875 7464 6f77 6e20 2853 6f63 6b2c Shutdown (Sock,\n+000088a0: 2042 6f74 6829 3b0a 2020 2020 2020 2020 Both);. \n+000088b0: 2020 656e 643b 0a0a 5345 4520 414c 534f end;..SEE ALSO\n+000088c0: 0a20 2020 2020 2a6e 6f74 6520 5368 7574 . *note Shut\n+000088d0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+000088e0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+000088f0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00008900: 6f64 653a 2055 6e73 6574 5f42 7566 6665 ode: Unset_Buffe\n+00008910: 7220 2870 726f 6365 6475 7265 292c 2020 r (procedure), \n+00008920: 5072 6576 3a20 536f 636b 6574 2028 7072 Prev: Socket (pr\n+00008930: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00008940: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00008950: 6f63 6564 7572 6529 0a0a 556e 7365 745f ocedure)..Unset_\n+00008960: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00008970: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00008980: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00008990: 504f 5345 0a20 2020 2020 4465 696e 7374 POSE. Deinst\n+000089a0: 616c 6c20 7468 6520 6c69 6e65 2d6f 7269 all the line-ori\n+000089b0: 656e 7465 6420 6275 6666 6572 206f 6620 ented buffer of \n+000089c0: 7468 6520 736f 636b 6574 206f 626a 6563 the socket objec\n+000089d0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+000089e0: 2020 2d2d 2053 6f63 6b65 7473 2e55 6e73 -- Sockets.Uns\n+000089f0: 6574 5f42 7566 6665 723a 2070 726f 6365 et_Buffer: proce\n+00008a00: 6475 7265 2055 6e73 6574 5f42 7566 6665 dure Unset_Buffe\n+00008a10: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n+00008a20: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+00008a30: 745f 4644 2743 6c61 7373 293b 0a0a 5041 t_FD'Class);..PA\n+00008a40: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00008a50: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00008a60: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00008a70: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00008a80: 636b 6574 206f 626a 6563 740a 0a44 4553 cket object..DES\n+00008a90: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00008aa0: 6973 2070 726f 6365 6475 7265 2064 6569 is procedure dei\n+00008ab0: 6e73 7461 6c6c 7320 7468 6520 6275 6666 nstalls the buff\n+00008ac0: 6572 2070 7265 7669 6f75 736c 7920 696e er previously in\n+00008ad0: 7374 616c 6c65 6420 6279 202a 6e6f 7465 stalled by *note\n+00008ae0: 0a20 2020 2020 5365 745f 4275 6666 6572 . Set_Buffer\n+00008af0: 2028 7072 6f63 6564 7572 6529 3a3a 2e20 (procedure)::. \n+00008b00: 2049 6620 616e 7920 6461 7461 2069 7320 If any data is \n+00008b10: 7374 696c 6c20 7072 6573 656e 7420 696e still present in\n+00008b20: 2074 6865 0a20 2020 2020 6275 6666 6572 the. buffer\n+00008b30: 2c20 6974 2077 696c 6c20 6265 206c 6f73 , it will be los\n+00008b40: 742e 2020 546f 2061 766f 6964 2074 6869 t. To avoid thi\n+00008b50: 7320 7369 7475 6174 696f 6e2c 2074 6865 s situation, the\n+00008b60: 2062 7566 6665 7220 6361 6e0a 2020 2020 buffer can. \n+00008b70: 2062 6520 666c 7573 6865 6420 6279 2063 be flushed by c\n+00008b80: 616c 6c69 6e67 202a 6e6f 7465 2047 6574 alling *note Get\n+00008b90: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+00008ba0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00008bb0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00008bc0: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n+00008bd0: 7420 7061 636b 6167 652c 2020 4e65 7874 t package, Next\n+00008be0: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming\n+00008bf0: 2070 6163 6b61 6765 2c20 2050 7265 763a package, Prev:\n+00008c00: 2053 6f63 6b65 7473 2070 6163 6b61 6765 Sockets package\n+00008c10: 2c20 2055 703a 2054 6f70 0a0a 3520 536f , Up: Top..5 So\n+00008c20: 636b 6574 732e 4d75 6c74 6963 6173 7420 ckets.Multicast \n+00008c30: 7061 636b 6167 650a 2a2a 2a2a 2a2a 2a2a package.********\n+00008c40: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00008c50: 2a2a 2a0a 0a54 6865 2027 536f 636b 6574 ***..The 'Socket\n+00008c60: 732e 4d75 6c74 6963 6173 7427 2061 6c6c s.Multicast' all\n+00008c70: 6f77 7320 7468 6520 6372 6561 7469 6f6e ows the creation\n+00008c80: 206f 6620 4950 206d 756c 7469 6361 7374 of IP multicast\n+00008c90: 2073 6f63 6b65 7473 2e0a 0a20 2d2d 2053 sockets... -- S\n+00008ca0: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n+00008cb0: 2e4d 756c 7469 6361 7374 5f53 6f63 6b65 .Multicast_Socke\n+00008cc0: 745f 4644 3a20 7479 7065 204d 756c 7469 t_FD: type Multi\n+00008cd0: 6361 7374 5f53 6f63 6b65 745f 4644 2069 cast_Socket_FD i\n+00008ce0: 730a 2020 2020 2020 2020 2020 6e65 7720 s. new \n+00008cf0: 536f 636b 6574 5f46 4420 7769 7468 2070 Socket_FD with p\n+00008d00: 7269 7661 7465 3b0a 2020 2020 2054 6865 rivate;. The\n+00008d10: 2027 4d75 6c74 6963 6173 745f 536f 636b 'Multicast_Sock\n+00008d20: 6574 5f46 4427 2074 6167 6765 6420 7479 et_FD' tagged ty\n+00008d30: 7065 2064 6572 6976 6573 2066 726f 6d20 pe derives from \n+00008d40: 7468 6520 2753 6f63 6b65 745f 4644 270a the 'Socket_FD'.\n+00008d50: 2020 2020 2074 7970 652e 2020 4974 2067 type. It g\n+00008d60: 6574 7320 696e 6974 6961 6c69 7a65 6420 ets initialized \n+00008d70: 6279 2063 616c 6c69 6e67 202a 6e6f 7465 by calling *note\n+00008d80: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+00008d90: 745f 536f 636b 6574 0a20 2020 2020 2866 t_Socket. (f\n+00008da0: 756e 6374 696f 6e29 3a3a 2e20 2041 6e20 unction)::. An \n+00008db0: 756e 696e 6974 6961 6c69 7a65 6420 274d uninitialized 'M\n+00008dc0: 756c 7469 6361 7374 5f53 6f63 6b65 745f ulticast_Socket_\n+00008dd0: 4644 2720 6361 6e20 6265 0a20 2020 2020 FD' can be. \n+00008de0: 7375 6363 6573 6675 6c6c 7920 636f 6d70 succesfully comp\n+00008df0: 6172 6564 2074 6f20 274e 756c 6c5f 4d75 ared to 'Null_Mu\n+00008e00: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n+00008e10: 4427 2e0a 0a2a 204d 656e 753a 0a0a 2a20 D'...* Menu:..* \n+00008e20: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00008e30: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00008e40: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+00008e50: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n+00008e60: 6174 6520 616e 2049 5020 6d75 6c74 6963 ate an IP multic\n+00008e70: 6173 7420 736f 636b 6574 0a2a 2043 7265 ast socket.* Cre\n+00008e80: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00008e90: 636b 6574 2028 6675 6e63 7469 6f6e 293a cket (function):\n+00008ea0: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n+00008eb0: 2020 2020 2020 2020 2020 4372 6561 7465 Create\n+00008ec0: 2061 6e20 4950 206d 756c 7469 6361 7374 an IP multicast\n+00008ed0: 2073 6f63 6b65 740a 0a1f 0a46 696c 653a socket....File:\n+00008ee0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00008ef0: 2c20 204e 6f64 653a 2043 7265 6174 655f , Node: Create_\n+00008f00: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00008f10: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+00008f20: 7874 3a20 4372 6561 7465 5f4d 756c 7469 xt: Create_Multi\n+00008f30: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n+00008f40: 6374 696f 6e29 2c20 2050 7265 763a 2043 ction), Prev: C\n+00008f50: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+00008f60: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n+00008f70: 292c 2020 5570 3a20 536f 636b 6574 732e ), Up: Sockets.\n+00008f80: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n+00008f90: 650a 0a43 7265 6174 655f 4d75 6c74 6963 e..Create_Multic\n+00008fa0: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n+00008fb0: 7469 6f6e 290a 3d3d 3d3d 3d3d 3d3d 3d3d tion).==========\n+00008fc0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008fd0: 3d3d 3d3d 3d3d 3d3d 0a0a 5055 5250 4f53 ========..PURPOS\n+00008fe0: 450a 2020 2020 2043 7265 6174 6520 616e E. Create an\n+00008ff0: 2049 5020 6d75 6c74 6963 6173 7420 736f IP multicast so\n+00009000: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n+00009010: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+00009020: 4d75 6c74 6963 6173 742e 4372 6561 7465 Multicast.Create\n+00009030: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00009040: 743a 2066 756e 6374 696f 6e0a 2020 2020 t: function. \n+00009050: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n+00009060: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+00009070: 6574 2028 4752 4f55 5020 3a20 5374 7269 et (GROUP : Stri\n+00009080: 6e67 3b20 504f 5254 203a 204e 6174 7572 ng; PORT : Natur\n+00009090: 616c 3b0a 2020 2020 2020 2020 2020 2020 al;. \n+000090a0: 2020 2054 544c 203a 2050 6f73 6974 6976 TTL : Positiv\n+000090b0: 6520 3a3d 2031 363b 2053 454c 465f 4c4f e := 16; SELF_LO\n+000090c0: 4f50 203a 2042 6f6f 6c65 616e 203a 3d20 OP : Boolean := \n+000090d0: 5472 7565 3b0a 2020 2020 2020 2020 2020 True;. \n+000090e0: 2020 2020 204c 4f43 414c 5f49 4620 3a20 LOCAL_IF : \n+000090f0: 5374 7269 6e67 203a 3d20 302e 302e 302e String := 0.0.0.\n+00009100: 3029 0a20 2020 2020 2020 2020 2020 2020 0). \n+00009110: 2020 7265 7475 726e 204d 756c 7469 6361 return Multica\n+00009120: 7374 5f53 6f63 6b65 745f 4644 3b0a 0a50 st_Socket_FD;..P\n+00009130: 4152 414d 4554 4552 530a 2020 2020 2047 ARAMETERS. G\n+00009140: 524f 5550 2020 2020 2020 696e 2020 2020 ROUP in \n+00009150: 2020 2020 2049 5020 6164 6472 6573 7320 IP address \n+00009160: 6f66 2074 6865 206d 756c 7469 6361 7374 of the multicast\n+00009170: 2067 726f 7570 2074 6f0a 2020 2020 2020 group to. \n+00009180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009190: 2020 2020 206a 6f69 6e0a 2020 2020 2050 join. P\n+000091a0: 4f52 5420 2020 2020 2020 696e 2020 2020 ORT in \n+000091b0: 2020 2020 2050 6f72 7420 6f66 2074 6865 Port of the\n+000091c0: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n+000091d0: 2074 6f20 6a6f 696e 0a20 2020 2020 5454 to join. TT\n+000091e0: 4c20 2020 2020 2020 2069 6e20 2020 2020 L in \n+000091f0: 2020 2020 5469 6d65 2d74 6f2d 6c69 7665 Time-to-live\n+00009200: 206f 6620 7365 6e74 2070 6163 6b65 7473 of sent packets\n+00009210: 0a20 2020 2020 5345 4c46 5f4c 4f4f 5020 . SELF_LOOP \n+00009220: 2069 6e20 2020 2020 2020 2020 5368 6f75 in Shou\n+00009230: 6c64 2074 6865 2073 6f63 6b65 7420 7265 ld the socket re\n+00009240: 6365 6976 6520 7468 6520 7061 636b 6574 ceive the packet\n+00009250: 730a 2020 2020 2020 2020 2020 2020 2020 s. \n+00009260: 2020 2020 2020 2020 2020 2020 2073 656e sen\n+00009270: 7420 6672 6f6d 2074 6865 206c 6f63 616c t from the local\n+00009280: 2068 6f73 743f 0a20 2020 2020 4c4f 4341 host?. LOCA\n+00009290: 4c5f 4946 2020 2069 6e20 2020 2020 2020 L_IF in \n+000092a0: 2020 4164 6472 6573 7320 6f66 2074 6865 Address of the\n+000092b0: 206c 6f63 616c 2069 6e74 6572 6661 6365 local interface\n+000092c0: 2074 6f20 7573 650a 0a52 4554 5552 4e20 to use..RETURN \n+000092d0: 5641 4c55 450a 2020 2020 2054 6865 206e VALUE. The n\n+000092e0: 6577 2069 6e69 7469 616c 697a 6564 206d ew initialized m\n+000092f0: 756c 7469 6361 7374 2073 6f63 6b65 740a ulticast socket.\n+00009300: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00009310: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00009320: 6372 6561 7465 7320 616e 2049 5020 6d75 creates an IP mu\n+00009330: 6c74 6963 6173 7420 736f 636b 6574 2061 lticast socket a\n+00009340: 7474 6163 6865 6420 746f 2061 2067 6976 ttached to a giv\n+00009350: 656e 0a20 2020 2020 6772 6f75 702c 2069 en. group, i\n+00009360: 6465 6e74 6966 6965 6420 6279 2069 7473 dentified by its\n+00009370: 2063 6c61 7373 2045 2049 5020 6164 6472 class E IP addr\n+00009380: 6573 7320 616e 6420 706f 7274 2e0a 0a20 ess and port... \n+00009390: 2020 2020 4265 2063 6172 6566 756c 2077 Be careful w\n+000093a0: 6865 6e20 6368 6f6f 7369 6e67 2074 6865 hen choosing the\n+000093b0: 2054 544c 2070 6172 616d 6574 6572 206f TTL parameter o\n+000093c0: 6620 796f 7572 2049 5020 6d75 6c74 6963 f your IP multic\n+000093d0: 6173 740a 2020 2020 2073 6f63 6b65 742e ast. socket.\n+000093e0: 2020 4d6f 7374 2049 5020 6d75 6c74 6963 Most IP multic\n+000093f0: 6173 7420 726f 7574 6572 7320 646f 2069 ast routers do i\n+00009400: 6d70 6c65 6d65 6e74 2074 6872 6573 686f mplement thresho\n+00009410: 6c64 2d62 6173 6564 0a20 2020 2020 6669 ld-based. fi\n+00009420: 6c74 6572 696e 6720 616e 6420 7769 6c6c ltering and will\n+00009430: 206e 6f74 206c 6574 2049 5020 6d75 6c74 not let IP mult\n+00009440: 6963 6173 7420 7061 636b 6574 7320 6c65 icast packets le\n+00009450: 6176 6520 796f 7572 0a20 2020 2020 6f72 ave your. or\n+00009460: 6761 6e69 7a61 7469 6f6e 2069 6620 7468 ganization if th\n+00009470: 6520 5454 4c20 6f6e 2074 6865 206c 6173 e TTL on the las\n+00009480: 7420 726f 7574 6572 2069 7320 736d 616c t router is smal\n+00009490: 6c65 7220 7468 616e 2031 362e 0a0a 2020 ler than 16... \n+000094a0: 2020 2049 6620 3020 6973 2067 6976 656e If 0 is given\n+000094b0: 2066 6f72 2074 6865 2050 6f72 742c 2061 for the Port, a\n+000094c0: 206c 6f63 616c 206f 6e65 2077 696c 6c20 local one will \n+000094d0: 6265 2063 686f 7365 6e2e 2020 4974 2063 be chosen. It c\n+000094e0: 616e 0a20 2020 2020 7468 656e 206c 6174 an. then lat\n+000094f0: 6572 2062 6520 7265 7472 6965 7665 6420 er be retrieved \n+00009500: 7573 696e 6720 4765 745f 536f 636b 5f50 using Get_Sock_P\n+00009510: 6f72 742e 0a0a 4558 414d 504c 450a 2020 ort...EXAMPLE. \n+00009520: 2020 2020 2020 2020 6465 636c 6172 650a declare.\n+00009530: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00009540: 6b20 2020 2020 3a20 536f 636b 6574 5f46 k : Socket_F\n+00009550: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n+00009560: 496e 636f 6d69 6e67 203a 2053 6f63 6b65 Incoming : Socke\n+00009570: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n+00009580: 6265 6769 6e0a 2020 2020 2020 2020 2020 begin. \n+00009590: 2020 202d 2d20 4372 6561 7465 2061 2054 -- Create a T\n+000095a0: 4350 2073 6f63 6b65 7420 6c69 7374 656e CP socket listen\n+000095b0: 696e 6720 6f6e 206c 6f63 616c 2070 6f72 ing on local por\n+000095c0: 7420 3431 3631 0a20 2020 2020 2020 2020 t 4161. \n+000095d0: 2020 2020 536f 636b 6574 2028 536f 636b Socket (Sock\n+000095e0: 2c20 5046 5f49 4e45 542c 2053 4f43 4b5f , PF_INET, SOCK_\n+000095f0: 5354 5245 414d 293b 0a20 2020 2020 2020 STREAM);. \n+00009600: 2020 2020 2020 4269 6e64 2028 536f 636b Bind (Sock\n+00009610: 2c20 3431 3631 293b 0a20 2020 2020 2020 , 4161);. \n+00009620: 2020 2020 2020 4c69 7374 656e 2028 536f Listen (So\n+00009630: 636b 2c20 3329 3b0a 2020 2020 2020 2020 ck, 3);. \n+00009640: 2020 2020 202d 2d20 4f6e 652d 636f 6e6e -- One-conn\n+00009650: 6563 7469 6f6e 2d61 742d 612d 7469 6d65 ection-at-a-time\n+00009660: 2073 6572 7665 7220 2833 206d 6179 2062 server (3 may b\n+00009670: 6520 7065 6e64 696e 6729 0a20 2020 2020 e pending). \n+00009680: 2020 2020 2020 2020 6c6f 6f70 0a20 2020 loop. \n+00009690: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n+000096a0: 5761 6974 2066 6f72 2061 206e 6577 2063 Wait for a new c\n+000096b0: 6f6e 6e65 6374 696f 6e20 616e 6420 6163 onnection and ac\n+000096c0: 6365 7074 2069 740a 2020 2020 2020 2020 cept it. \n+000096d0: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n+000096e0: 6f63 6b65 7420 2853 6f63 6b2c 2049 6e63 ocket (Sock, Inc\n+000096f0: 6f6d 696e 6729 3b0a 2020 2020 2020 2020 oming);. \n+00009700: 2020 2020 2020 2020 2d2d 2044 6f20 736f -- Do so\n+00009710: 6d65 2064 6961 6c6f 6720 7769 7468 2074 me dialog with t\n+00009720: 6865 2072 656d 6f74 6520 686f 7374 0a20 he remote host. \n+00009730: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00009740: 6f5f 536f 6d65 5f44 6961 6c6f 6720 2849 o_Some_Dialog (I\n+00009750: 6e63 6f6d 696e 6729 3b0a 2020 2020 2020 ncoming);. \n+00009760: 2020 2020 2020 2020 2020 2d2d 2043 6c6f -- Clo\n+00009770: 7365 2069 6e63 6f6d 696e 6720 736f 636b se incoming sock\n+00009780: 6574 2061 6e64 2077 6169 7420 666f 7220 et and wait for \n+00009790: 6e65 7874 2063 6f6e 6e65 6374 696f 6e0a next connection.\n+000097a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000097b0: 5368 7574 646f 776e 2028 496e 636f 6d69 Shutdown (Incomi\n+000097c0: 6e67 293b 0a20 2020 2020 2020 2020 2020 ng);. \n+000097d0: 2020 656e 6420 6c6f 6f70 3b0a 2020 2020 end loop;. \n+000097e0: 2020 2020 2020 656e 643b 0a0a 5345 4520 end;..SEE \n+000097f0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00009800: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00009810: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00009820: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+00009830: 7265 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a re)::...* Menu:.\n+00009840: 0a2a 203a 3a0a 0a43 7265 6174 655f 4d75 .* ::..Create_Mu\n+00009850: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+00009860: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+00009870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00009880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+00009890: 5250 4f53 450a 2020 2020 2043 7265 6174 RPOSE. Creat\n+000098a0: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n+000098b0: 7420 736f 636b 6574 0a50 524f 544f 5459 t socket.PROTOTY\n+000098c0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+000098d0: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n+000098e0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+000098f0: 6f63 6b65 743a 2066 756e 6374 696f 6e0a ocket: function.\n+00009900: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00009910: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+00009920: 536f 636b 6574 2028 4752 4f55 5020 3a20 Socket (GROUP : \n+00009930: 5374 7269 6e67 3b20 504f 5254 203a 2050 String; PORT : P\n+00009940: 6f73 6974 6976 653b 0a20 2020 2020 2020 ositive;. \n+00009950: 2020 2020 2020 2020 4c4f 4341 4c5f 504f LOCAL_PO\n+00009960: 5254 203a 204e 6174 7572 616c 3b20 5454 RT : Natural; TT\n+00009970: 4c20 3a20 506f 7369 7469 7665 203a 3d20 L : Positive := \n+00009980: 3136 3b0a 2020 2020 2020 2020 2020 2020 16;. \n+00009990: 2020 204c 4f43 414c 5f49 4620 3a20 5374 LOCAL_IF : St\n+000099a0: 7269 6e67 203a 3d20 302e 302e 302e 3029 ring := 0.0.0.0)\n+000099b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000099c0: 7265 7475 726e 204d 756c 7469 6361 7374 return Multicast\n+000099d0: 5f53 6f63 6b65 745f 4644 3b0a 0a50 4152 _Socket_FD;..PAR\n+000099e0: 414d 4554 4552 530a 2020 2020 2047 524f AMETERS. GRO\n+000099f0: 5550 2020 2020 2020 696e 2020 2020 2020 UP in \n+00009a00: 2020 2049 5020 6164 6472 6573 7320 6f66 IP address of\n+00009a10: 2074 6865 206d 756c 7469 6361 7374 2067 the multicast g\n+00009a20: 726f 7570 2074 6f0a 2020 2020 2020 2020 roup to. \n+00009a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009a40: 2020 206a 6f69 6e0a 2020 2020 2050 4f52 join. POR\n+00009a50: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n+00009a60: 2020 2050 6f72 7420 6f66 2074 6865 206d Port of the m\n+00009a70: 756c 7469 6361 7374 2067 726f 7570 2074 ulticast group t\n+00009a80: 6f20 6a6f 696e 0a20 2020 2020 4c4f 4341 o join. LOCA\n+00009a90: 4c5f 504f 5254 2069 6e20 2020 2020 2020 L_PORT in \n+00009aa0: 2020 4c6f 6361 6c20 706f 7274 206e 756d Local port num\n+00009ab0: 6265 7220 746f 2075 7365 0a20 2020 2020 ber to use. \n+00009ac0: 5454 4c20 2020 2020 2020 2069 6e20 2020 TTL in \n+00009ad0: 2020 2020 2020 5469 6d65 2d74 6f2d 6c69 Time-to-li\n+00009ae0: 7665 206f 6620 7365 6e74 2070 6163 6b65 ve of sent packe\n+00009af0: 7473 0a20 2020 2020 4c4f 4341 4c5f 4946 ts. LOCAL_IF\n+00009b00: 2020 2069 6e20 2020 2020 2020 2020 4164 in Ad\n+00009b10: 6472 6573 7320 6f66 2074 6865 206c 6f63 dress of the loc\n+00009b20: 616c 2069 6e74 6572 6661 6365 2074 6f20 al interface to \n+00009b30: 7573 650a 0a52 4554 5552 4e20 5641 4c55 use..RETURN VALU\n+00009b40: 450a 2020 2020 2054 6865 206e 6577 2069 E. The new i\n+00009b50: 6e69 7469 616c 697a 6564 206d 756c 7469 nitialized multi\n+00009b60: 6361 7374 2073 6f63 6b65 740a 0a44 4553 cast socket..DES\n+00009b70: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+00009b80: 6973 2066 756e 6374 696f 6e20 6372 6561 is function crea\n+00009b90: 7465 7320 616e 2049 5020 6d75 6c74 6963 tes an IP multic\n+00009ba0: 6173 7420 736f 636b 6574 2061 7474 6163 ast socket attac\n+00009bb0: 6865 6420 746f 2061 2067 6976 656e 0a20 hed to a given. \n+00009bc0: 2020 2020 6772 6f75 702c 2069 6465 6e74 group, ident\n+00009bd0: 6966 6965 6420 6279 2069 7473 2063 6c61 ified by its cla\n+00009be0: 7373 2045 2049 5020 6164 6472 6573 7320 ss E IP address \n+00009bf0: 616e 6420 706f 7274 2e20 2049 660a 2020 and port. If. \n+00009c00: 2020 204c 6f63 616c 5f50 6f72 7420 6973 Local_Port is\n+00009c10: 2030 2c20 6120 6672 6565 2070 6f72 7420 0, a free port \n+00009c20: 7769 6c6c 2061 7574 6f6d 6174 6963 616c will automatical\n+00009c30: 6c79 2062 6520 6368 6f73 656e 2062 7920 ly be chosen by \n+00009c40: 796f 7572 0a20 2020 2020 6f70 6572 6174 your. operat\n+00009c50: 696e 6720 7379 7374 656d 2e0a 0a20 2020 ing system... \n+00009c60: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n+00009c70: 7368 6f75 6c64 2062 6520 7573 6564 2077 should be used w\n+00009c80: 6865 6e20 796f 7520 7761 6e74 2074 6f20 hen you want to \n+00009c90: 7365 6e64 2070 6163 6b65 7473 2074 6f20 send packets to \n+00009ca0: 610a 2020 2020 206d 756c 7469 6361 7374 a. multicast\n+00009cb0: 2067 726f 7570 2077 6974 686f 7574 2072 group without r\n+00009cc0: 6563 6569 7669 6e67 2061 6e79 2070 6163 eceiving any pac\n+00009cd0: 6b65 7420 796f 7572 7365 6c66 2e0a 0a45 ket yourself...E\n+00009ce0: 5841 4d50 4c45 0a20 2020 2020 2020 2020 XAMPLE. \n+00009cf0: 2064 6563 6c61 7265 0a20 2020 2020 2020 declare. \n+00009d00: 2020 2020 2020 536f 636b 203a 204d 756c Sock : Mul\n+00009d10: 7469 6361 7374 5f53 6f63 6b65 745f 4644 ticast_Socket_FD\n+00009d20: 3b0a 2020 2020 2020 2020 2020 6265 6769 ;. begi\n+00009d30: 6e0a 2020 2020 2020 2020 2020 2020 202d n. -\n+00009d40: 2d20 4372 6561 7465 2061 206d 756c 7469 - Create a multi\n+00009d50: 6361 7374 2073 6f63 6b65 7420 6f6e 2067 cast socket on g\n+00009d60: 726f 7570 2032 3234 2e31 2e32 2e33 2070 roup 224.1.2.3 p\n+00009d70: 6f72 7420 3837 3633 0a20 2020 2020 2020 ort 8763. \n+00009d80: 2020 2020 2020 536f 636b 203a 3d20 4372 Sock := Cr\n+00009d90: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00009da0: 6f63 6b65 7420 2822 3232 342e 312e 322e ocket (\"224.1.2.\n+00009db0: 3322 2c20 3837 3633 293b 0a20 2020 2020 3\", 8763);. \n+00009dc0: 2020 2020 2020 2020 2d2d 2050 6572 666f -- Perfo\n+00009dd0: 726d 2073 6f6d 6520 6f70 6572 6174 696f rm some operatio\n+00009de0: 6e73 206f 6e20 736f 636b 6574 0a20 2020 ns on socket. \n+00009df0: 2020 2020 2020 2020 2020 5b2e 2e2e 5d0a [...].\n+00009e00: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n+00009e10: 5368 7574 646f 776e 2074 6865 2073 6f63 Shutdown the soc\n+00009e20: 6b65 7420 696e 2062 6f74 6820 6469 7265 ket in both dire\n+00009e30: 6374 696f 6e73 0a20 2020 2020 2020 2020 ctions. \n+00009e40: 2020 2020 5368 7574 646f 776e 2028 536f Shutdown (So\n+00009e50: 636b 2c20 426f 7468 293b 0a20 2020 2020 ck, Both);. \n+00009e60: 2020 2020 2065 6e64 3b0a 0a53 4545 2041 end;..SEE A\n+00009e70: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n+00009e80: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n+00009e90: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5368 :,. *note Sh\n+00009ea0: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n+00009eb0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00009ec0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00009ed0: 204e 6f64 653a 2053 6f63 6b65 7473 2e4e Node: Sockets.N\n+00009ee0: 616d 696e 6720 7061 636b 6167 652c 2020 aming package, \n+00009ef0: 4e65 7874 3a20 436f 6e74 7269 6275 746f Next: Contributo\n+00009f00: 7273 2c20 2050 7265 763a 2053 6f63 6b65 rs, Prev: Socke\n+00009f10: 7473 2e4d 756c 7469 6361 7374 2070 6163 ts.Multicast pac\n+00009f20: 6b61 6765 2c20 2055 703a 2054 6f70 0a0a kage, Up: Top..\n+00009f30: 3620 536f 636b 6574 732e 4e61 6d69 6e67 6 Sockets.Naming\n+00009f40: 2070 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a package.*******\n+00009f50: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00009f60: 2a0a 0a54 6865 2027 536f 636b 6574 732e *..The 'Sockets.\n+00009f70: 4e61 6d69 6e67 2720 7061 636b 6167 6520 Naming' package \n+00009f80: 636f 6e74 6169 6e73 2074 7970 6573 2061 contains types a\n+00009f90: 6e64 2068 656c 7065 7220 6675 6e63 7469 nd helper functi\n+00009fa0: 6f6e 7320 6e65 6564 6564 0a74 6f20 6d61 ons needed.to ma\n+00009fb0: 6e69 7075 6c61 7465 2049 6e74 6572 6e65 nipulate Interne\n+00009fc0: 7420 686f 7374 206e 616d 6573 2061 6e64 t host names and\n+00009fd0: 2061 6464 7265 7373 6573 2e0a 0a20 2d2d addresses... --\n+00009fe0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00009ff0: 4164 6472 6573 733a 2074 7970 6520 4164 Address: type Ad\n+0000a000: 6472 6573 7320 6973 2072 6563 6f72 640a dress is record.\n+0000a010: 2020 2020 2020 2020 2020 2020 4831 2c20 H1, \n+0000a020: 4832 2c20 4833 2c20 4834 203a 2041 6464 H2, H3, H4 : Add\n+0000a030: 7265 7373 5f43 6f6d 706f 6e65 6e74 3b0a ress_Component;.\n+0000a040: 2020 2020 2020 2020 2020 656e 6420 7265 end re\n+0000a050: 636f 7264 3b0a 2020 2020 2054 6869 7320 cord;. This \n+0000a060: 7479 7065 2072 6570 7265 7365 6e74 7320 type represents \n+0000a070: 616e 2049 5076 3420 6164 6472 6573 7320 an IPv4 address \n+0000a080: 7769 7468 2027 4831 2720 6265 696e 6720 with 'H1' being \n+0000a090: 7468 6520 6669 7273 740a 2020 2020 206f the first. o\n+0000a0a0: 6374 6574 2061 6e64 2027 4834 2720 7468 ctet and 'H4' th\n+0000a0b0: 6520 6c61 7374 206f 6e65 2e20 2046 6f72 e last one. For\n+0000a0c0: 2065 7861 6d70 6c65 2c20 3133 372e 3139 example, 137.19\n+0000a0d0: 342e 3136 312e 3220 6973 0a20 2020 2020 4.161.2 is. \n+0000a0e0: 7265 7072 6573 656e 7465 6420 6279 2027 represented by '\n+0000a0f0: 4831 3d31 3337 2c20 4832 3d31 3934 2c20 H1=137, H2=194, \n+0000a100: 4833 3d31 3631 2c20 4834 3d32 272e 0a0a H3=161, H4=2'...\n+0000a110: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000a120: 6e67 2e41 6464 7265 7373 5f41 7272 6179 ng.Address_Array\n+0000a130: 3a20 7479 7065 2041 6464 7265 7373 5f41 : type Address_A\n+0000a140: 7272 6179 2069 7320 6172 7261 7920 2850 rray is array (P\n+0000a150: 6f73 6974 6976 650a 2020 2020 2020 2020 ositive. \n+0000a160: 2020 7261 6e67 6520 3c3e 2920 6f66 2041 range <>) of A\n+0000a170: 6464 7265 7373 3b0a 2020 2020 2048 656c ddress;. Hel\n+0000a180: 7065 7220 7479 7065 0a0a 202d 2d20 536f per type.. -- So\n+0000a190: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add\n+0000a1a0: 7265 7373 5f43 6f6d 706f 6e65 6e74 3a20 ress_Component: \n+0000a1b0: 7479 7065 2041 6464 7265 7373 5f43 6f6d type Address_Com\n+0000a1c0: 706f 6e65 6e74 2069 7320 4e61 7475 7261 ponent is Natura\n+0000a1d0: 6c0a 2020 2020 2020 2020 2020 7261 6e67 l. rang\n+0000a1e0: 6520 3020 2e2e 2032 3535 3b0a 2020 2020 e 0 .. 255;. \n+0000a1f0: 2048 656c 7065 7220 7479 7065 0a0a 202d Helper type.. -\n+0000a200: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming\n+0000a210: 2e48 6f73 745f 456e 7472 793a 2074 7970 .Host_Entry: typ\n+0000a220: 6520 486f 7374 5f45 6e74 7279 2028 4e5f e Host_Entry (N_\n+0000a230: 416c 6961 7365 732c 204e 5f41 6464 7265 Aliases, N_Addre\n+0000a240: 7373 6573 203a 0a20 2020 2020 2020 2020 sses :. \n+0000a250: 204e 6174 7572 616c 2920 6973 206e 6577 Natural) is new\n+0000a260: 2041 6461 2e46 696e 616c 697a 6174 696f Ada.Finalizatio\n+0000a270: 6e2e 436f 6e74 726f 6c6c 6564 2077 6974 n.Controlled wit\n+0000a280: 6820 7265 636f 7264 0a20 2020 2020 2020 h record. \n+0000a290: 2020 2020 2020 4e61 6d65 203a 2053 7472 Name : Str\n+0000a2a0: 696e 675f 4163 6365 7373 3b0a 2020 2020 ing_Access;. \n+0000a2b0: 2020 2020 2020 2020 2041 6c69 6173 6573 Aliases\n+0000a2c0: 203a 2053 7472 696e 675f 4172 7261 7920 : String_Array \n+0000a2d0: 2831 202e 2e20 4e5f 416c 6961 7365 7329 (1 .. N_Aliases)\n+0000a2e0: 3b0a 2020 2020 2020 2020 2020 2020 2041 ;. A\n+0000a2f0: 6464 7265 7373 6573 203a 2041 6464 7265 ddresses : Addre\n+0000a300: 7373 5f41 7272 6179 2028 3120 2e2e 204e ss_Array (1 .. N\n+0000a310: 5f41 6464 7265 7373 6573 293b 0a20 2020 _Addresses);. \n+0000a320: 2020 2020 2020 2065 6e64 2072 6563 6f72 end recor\n+0000a330: 643b 0a20 2020 2020 5468 6520 2748 6f73 d;. The 'Hos\n+0000a340: 745f 456e 7472 7927 2074 7970 6520 686f t_Entry' type ho\n+0000a350: 6c64 7320 6120 7365 7420 6f66 206e 616d lds a set of nam\n+0000a360: 6573 2061 6e64 2049 5020 6164 6472 6573 es and IP addres\n+0000a370: 7365 730a 2020 2020 2061 7373 6f63 6961 ses. associa\n+0000a380: 7465 6420 7769 7468 2061 2068 6f73 742e ted with a host.\n+0000a390: 2020 4561 6368 2068 6f73 7420 6361 6e20 Each host can \n+0000a3a0: 6861 7665 2073 6576 6572 616c 2049 5020 have several IP \n+0000a3b0: 6164 6472 6573 7320 6173 0a20 2020 2020 address as. \n+0000a3c0: 7765 6c6c 2061 7320 7365 7665 7261 6c20 well as several \n+0000a3d0: 616c 6961 7365 732e 0a0a 202d 2d20 536f aliases... -- So\n+0000a3e0: 636b 6574 732e 4e61 6d69 6e67 2e53 7472 ckets.Naming.Str\n+0000a3f0: 696e 675f 4163 6365 7373 3a20 7479 7065 ing_Access: type\n+0000a400: 2053 7472 696e 675f 4163 6365 7373 2069 String_Access i\n+0000a410: 7320 6163 6365 7373 2053 7472 696e 673b s access String;\n+0000a420: 0a20 2020 2020 4865 6c70 6572 2074 7970 . Helper typ\n+0000a430: 650a 0a20 2d2d 2053 6f63 6b65 7473 2e4e e.. -- Sockets.N\n+0000a440: 616d 696e 672e 5374 7269 6e67 5f41 7272 aming.String_Arr\n+0000a450: 6179 3a20 7479 7065 2053 7472 696e 675f ay: type String_\n+0000a460: 4172 7261 7920 6973 2061 7272 6179 2028 Array is array (\n+0000a470: 506f 7369 7469 7665 0a20 2020 2020 2020 Positive. \n+0000a480: 2020 2072 616e 6765 203c 3e29 206f 6620 range <>) of \n+0000a490: 5374 7269 6e67 5f41 6363 6573 733b 0a20 String_Access;. \n+0000a4a0: 2020 2020 4865 6c70 6572 2074 7970 650a Helper type.\n+0000a4b0: 0a2a 204d 656e 753a 0a0a 2a20 4164 6472 .* Menu:..* Addr\n+0000a4c0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000a4d0: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a4e0: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n+0000a4f0: 7468 6520 4950 2061 6464 7265 7373 206f the IP address o\n+0000a500: 6620 6120 686f 7374 0a2a 2041 6e79 5f41 f a host.* Any_A\n+0000a510: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n+0000a520: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a530: 2020 2020 2020 2020 2020 2020 5370 6563 Spec\n+0000a540: 6961 6c20 6164 6472 6573 7320 7265 7072 ial address repr\n+0000a550: 6573 656e 7469 6e67 2061 6e79 2061 6464 esenting any add\n+0000a560: 7265 7373 206f 6e20 7468 6520 6c6f 6361 ress on the loca\n+0000a570: 6c20 686f 7374 0a2a 2047 6574 5f50 6565 l host.* Get_Pee\n+0000a580: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n+0000a590: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a5a0: 2020 2020 2020 2020 2020 2020 5265 7472 Retr\n+0000a5b0: 6965 7665 2049 5020 6164 6472 6573 7320 ieve IP address \n+0000a5c0: 6f66 2072 656d 6f74 6520 686f 7374 0a2a of remote host.*\n+0000a5d0: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n+0000a5e0: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a600: 2020 2020 5265 7472 6965 7665 2070 6f72 Retrieve por\n+0000a610: 7420 7573 6564 2062 7920 7265 6d6f 7465 t used by remote\n+0000a620: 2068 6f73 740a 2a20 4765 745f 536f 636b host.* Get_Sock\n+0000a630: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000a640: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+0000a650: 2020 2020 2020 2020 2020 2052 6574 7269 Retri\n+0000a660: 6576 6520 4950 2061 6464 7265 7373 206f eve IP address o\n+0000a670: 6620 6c6f 6361 6c20 686f 7374 0a2a 2047 f local host.* G\n+0000a680: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu\n+0000a690: 6e63 7469 6f6e 293a 3a0a 2020 2020 2020 nction)::. \n+0000a6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a6b0: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port \n+0000a6c0: 7573 6564 2062 7920 6c6f 6361 6c20 686f used by local ho\n+0000a6d0: 7374 0a2a 2048 6f73 745f 4e61 6d65 2028 st.* Host_Name (\n+0000a6e0: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a700: 2020 2020 4765 7420 7468 6520 6e61 6d65 Get the name\n+0000a710: 206f 6620 7468 6520 6375 7272 656e 7420 of the current \n+0000a720: 686f 7374 0a2a 2049 6d61 6765 2028 6675 host.* Image (fu\n+0000a730: 6e63 7469 6f6e 293a 3a20 2020 204d 616b nction):: Mak\n+0000a740: 6520 6120 7374 7269 6e67 2066 726f 6d20 e a string from \n+0000a750: 616e 2061 6464 7265 7373 0a2a 2049 6e66 an address.* Inf\n+0000a760: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000a770: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a790: 2020 2020 2047 6574 2061 6464 7265 7373 Get address\n+0000a7a0: 6573 2061 6e64 206e 616d 6573 206f 6620 es and names of \n+0000a7b0: 6120 686f 7374 0a2a 2049 735f 4950 5f41 a host.* Is_IP_A\n+0000a7c0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n+0000a7d0: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a7e0: 2020 2020 2020 2020 2020 2020 4368 6563 Chec\n+0000a7f0: 6b20 6966 2067 6976 656e 2073 7472 696e k if given strin\n+0000a800: 6720 6973 2061 2076 616c 6964 2049 5020 g is a valid IP \n+0000a810: 6164 6472 6573 730a 2a20 4e61 6d65 5f4f address.* Name_O\n+0000a820: 6620 2866 756e 6374 696f 6e29 3a3a 2020 f (function):: \n+0000a830: 4f66 6669 6369 616c 206e 616d 6520 6f66 Official name of\n+0000a840: 2074 6865 2068 6f73 740a 2a20 5661 6c75 the host.* Valu\n+0000a850: 6520 2866 756e 6374 696f 6e29 3a3a 2020 e (function):: \n+0000a860: 2020 5472 616e 7366 6f72 6d20 6120 7374 Transform a st\n+0000a870: 7269 6e67 2069 6e74 6f20 616e 2061 6464 ring into an add\n+0000a880: 7265 7373 0a0a 1f0a 4669 6c65 3a20 6164 ress....File: ad\n+0000a890: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000a8a0: 4e6f 6465 3a20 4164 6472 6573 735f 4f66 Node: Address_Of\n+0000a8b0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+0000a8c0: 7874 3a20 416e 795f 4164 6472 6573 7320 xt: Any_Address \n+0000a8d0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n+0000a8e0: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000a8f0: 7061 636b 6167 650a 0a41 6464 7265 7373 package..Address\n+0000a900: 5f4f 6620 2866 756e 6374 696f 6e29 0a3d _Of (function).=\n+0000a910: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+0000a920: 3d3d 3d3d 0a0a 5055 5250 4f53 450a 2020 ====..PURPOSE. \n+0000a930: 2020 2047 6574 2074 6865 2049 5020 6164 Get the IP ad\n+0000a940: 6472 6573 7320 6f66 2061 2068 6f73 740a dress of a host.\n+0000a950: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+0000a960: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n+0000a970: 672e 4164 6472 6573 735f 4f66 3a20 6675 g.Address_Of: fu\n+0000a980: 6e63 7469 6f6e 2041 6464 7265 7373 5f4f nction Address_O\n+0000a990: 660a 2020 2020 2020 2020 2020 2020 2020 f. \n+0000a9a0: 2028 534f 4d45 5448 494e 4720 3a20 5374 (SOMETHING : St\n+0000a9b0: 7269 6e67 290a 2020 2020 2020 2020 2020 ring). \n+0000a9c0: 2020 2020 2072 6574 7572 6e20 4164 6472 return Addr\n+0000a9d0: 6573 733b 0a0a 5041 5241 4d45 5445 5253 ess;..PARAMETERS\n+0000a9e0: 0a20 2020 2020 534f 4d45 5448 494e 4720 . SOMETHING \n+0000a9f0: 2069 6e20 2020 2020 2020 2020 486f 7374 in Host\n+0000aa00: 206e 616d 6520 6f72 2049 5020 6164 6472 name or IP addr\n+0000aa10: 6573 730a 0a52 4554 5552 4e20 5641 4c55 ess..RETURN VALU\n+0000aa20: 450a 2020 2020 2049 5076 3420 6164 6472 E. IPv4 addr\n+0000aa30: 6573 730a 0a45 5843 4550 5449 4f4e 530a ess..EXCEPTIONS.\n+0000aa40: 2020 2020 2027 4e61 6d69 6e67 5f45 7272 'Naming_Err\n+0000aa50: 6f72 2720 2020 2020 4e6f 2069 6e66 6f72 or' No infor\n+0000aa60: 6d61 7469 6f6e 2061 7661 696c 6162 6c65 mation available\n+0000aa70: 2066 6f72 2074 6869 7320 6e61 6d65 206f for this name o\n+0000aa80: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n+0000aa90: 2020 2020 2020 2020 2020 6164 6472 6573 addres\n+0000aaa0: 730a 0a53 4545 2041 4c53 4f0a 2020 2020 s..SEE ALSO. \n+0000aab0: 202a 6e6f 7465 204e 616d 655f 4f66 2028 *note Name_Of (\n+0000aac0: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 2a20 function)::...* \n+0000aad0: 4d65 6e75 3a0a 0a2a 2041 6e79 5f41 6464 Menu:..* Any_Add\n+0000aae0: 7265 7373 2028 6675 6e63 7469 6f6e 293a ress (function):\n+0000aaf0: 3a0a 2a20 4765 745f 5065 6572 5f41 6464 :.* Get_Peer_Add\n+0000ab00: 7220 2866 756e 6374 696f 6e29 3a3a 0a2a r (function)::.*\n+0000ab10: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n+0000ab20: 6675 6e63 7469 6f6e 293a 3a0a 2a20 4765 function)::.* Ge\n+0000ab30: 745f 536f 636b 5f41 6464 7220 2866 756e t_Sock_Addr (fun\n+0000ab40: 6374 696f 6e29 3a3a 0a2a 2047 6574 5f53 ction)::.* Get_S\n+0000ab50: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n+0000ab60: 6f6e 293a 3a0a 2a20 486f 7374 5f4e 616d on)::.* Host_Nam\n+0000ab70: 6520 2866 756e 6374 696f 6e29 3a3a 0a2a e (function)::.*\n+0000ab80: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n+0000ab90: 293a 3a0a 2a20 496e 666f 5f4f 665f 4e61 )::.* Info_Of_Na\n+0000aba0: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi\n+0000abb0: 6f6e 293a 3a0a 2a20 4973 5f49 505f 4164 on)::.* Is_IP_Ad\n+0000abc0: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n+0000abd0: 3a3a 0a2a 204e 616d 655f 4f66 2028 6675 ::.* Name_Of (fu\n+0000abe0: 6e63 7469 6f6e 293a 3a0a 2a20 5661 6c75 nction)::.* Valu\n+0000abf0: 6520 2866 756e 6374 696f 6e29 3a3a 0a0a e (function)::..\n+0000ac00: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000ac10: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000ac20: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun\n+0000ac30: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G\n+0000ac40: 6574 5f50 6565 725f 4164 6472 2028 6675 et_Peer_Addr (fu\n+0000ac50: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000ac60: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+0000ac70: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n+0000ac80: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000ac90: 290a 0a41 6e79 5f41 6464 7265 7373 2028 )..Any_Address (\n+0000aca0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000acb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000acc0: 0a0a 5055 5250 4f53 450a 2020 2020 2053 ..PURPOSE. S\n+0000acd0: 7065 6369 616c 2061 6464 7265 7373 2072 pecial address r\n+0000ace0: 6570 7265 7365 6e74 696e 6720 616e 7920 epresenting any \n+0000acf0: 6164 6472 6573 7320 6f6e 2074 6865 206c address on the l\n+0000ad00: 6f63 616c 2068 6f73 740a 5052 4f54 4f54 ocal host.PROTOT\n+0000ad10: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+0000ad20: 6b65 7473 2e4e 616d 696e 672e 416e 795f kets.Naming.Any_\n+0000ad30: 4164 6472 6573 733a 2066 756e 6374 696f Address: functio\n+0000ad40: 6e20 416e 795f 4164 6472 6573 730a 0a52 n Any_Address..R\n+0000ad50: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+0000ad60: 2045 7175 6976 616c 656e 7420 746f 2027 Equivalent to '\n+0000ad70: 494e 4144 4452 5f41 4e59 2720 696e 2074 INADDR_ANY' in t\n+0000ad80: 6865 2043 2070 726f 6772 616d 6d69 6e67 he C programming\n+0000ad90: 206c 616e 6775 6167 650a 0a1f 0a46 696c language....Fil\n+0000ada0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000adb0: 666f 2c20 204e 6f64 653a 2047 6574 5f50 fo, Node: Get_P\n+0000adc0: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000add0: 6f6e 292c 2020 4e65 7874 3a20 4765 745f on), Next: Get_\n+0000ade0: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+0000adf0: 696f 6e29 2c20 2050 7265 763a 2041 6e79 ion), Prev: Any\n+0000ae00: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000ae10: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000ae20: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000ae30: 0a47 6574 5f50 6565 725f 4164 6472 2028 .Get_Peer_Addr (\n+0000ae40: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000ae50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000ae60: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000ae70: 2052 6574 7269 6576 6520 4950 2061 6464 Retrieve IP add\n+0000ae80: 7265 7373 206f 6620 7265 6d6f 7465 2068 ress of remote h\n+0000ae90: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+0000aea0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000aeb0: 616d 696e 672e 4765 745f 5065 6572 5f41 aming.Get_Peer_A\n+0000aec0: 6464 723a 2066 756e 6374 696f 6e20 4765 ddr: function Ge\n+0000aed0: 745f 5065 6572 5f41 6464 720a 2020 2020 t_Peer_Addr. \n+0000aee0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+0000aef0: 4554 203a 2053 6f63 6b65 745f 4644 290a ET : Socket_FD).\n+0000af00: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+0000af10: 6574 7572 6e20 4164 6472 6573 733b 0a0a eturn Address;..\n+0000af20: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+0000af30: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+0000af40: 2020 2020 2020 436f 6e6e 6563 7465 6420 Connected \n+0000af50: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R\n+0000af60: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+0000af70: 2050 6565 7220 6164 6472 6573 730a 0a53 Peer address..S\n+0000af80: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+0000af90: 7465 2047 6574 5f50 6565 725f 506f 7274 te Get_Peer_Port\n+0000afa0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+0000afb0: 2020 2020 2a6e 6f74 6520 4765 745f 536f *note Get_So\n+0000afc0: 636b 5f41 6464 7220 2866 756e 6374 696f ck_Addr (functio\n+0000afd0: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a\n+0000afe0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000aff0: 204e 6f64 653a 2047 6574 5f50 6565 725f Node: Get_Peer_\n+0000b000: 506f 7274 2028 6675 6e63 7469 6f6e 292c Port (function),\n+0000b010: 2020 4e65 7874 3a20 4765 745f 536f 636b Next: Get_Sock\n+0000b020: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000b030: 2c20 2050 7265 763a 2047 6574 5f50 6565 , Prev: Get_Pee\n+0000b040: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n+0000b050: 292c 2020 5570 3a20 4164 6472 6573 735f ), Up: Address_\n+0000b060: 4f66 2028 6675 6e63 7469 6f6e 290a 0a47 Of (function)..G\n+0000b070: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000b080: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000b090: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b0a0: 0a0a 5055 5250 4f53 450a 2020 2020 2052 ..PURPOSE. R\n+0000b0b0: 6574 7269 6576 6520 706f 7274 2075 7365 etrieve port use\n+0000b0c0: 6420 6279 2072 656d 6f74 6520 686f 7374 d by remote host\n+0000b0d0: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000b0e0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000b0f0: 6e67 2e47 6574 5f50 6565 725f 506f 7274 ng.Get_Peer_Port\n+0000b100: 3a20 6675 6e63 7469 6f6e 2047 6574 5f50 : function Get_P\n+0000b110: 6565 725f 506f 7274 0a20 2020 2020 2020 eer_Port. \n+0000b120: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+0000b130: 3a20 536f 636b 6574 5f46 4429 0a20 2020 : Socket_FD). \n+0000b140: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n+0000b150: 726e 2050 6f73 6974 6976 653b 0a0a 5041 rn Positive;..PA\n+0000b160: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+0000b170: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+0000b180: 2020 2020 436f 6e6e 6563 7465 6420 736f Connected so\n+0000b190: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+0000b1a0: 5552 4e20 5641 4c55 450a 2020 2020 2050 URN VALUE. P\n+0000b1b0: 6f72 7420 7573 6564 206f 6e20 7468 6520 ort used on the \n+0000b1c0: 7265 6d6f 7465 2068 6f73 740a 0a53 4545 remote host..SEE\n+0000b1d0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+0000b1e0: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n+0000b1f0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+0000b200: 2020 2a6e 6f74 6520 4765 745f 5065 6572 *note Get_Peer\n+0000b210: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000b220: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+0000b230: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000b240: 6f64 653a 2047 6574 5f53 6f63 6b5f 4164 ode: Get_Sock_Ad\n+0000b250: 6472 2028 6675 6e63 7469 6f6e 292c 2020 dr (function), \n+0000b260: 4e65 7874 3a20 4765 745f 536f 636b 5f50 Next: Get_Sock_P\n+0000b270: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), \n+0000b280: 2050 7265 763a 2047 6574 5f50 6565 725f Prev: Get_Peer_\n+0000b290: 506f 7274 2028 6675 6e63 7469 6f6e 292c Port (function),\n+0000b2a0: 2020 5570 3a20 4164 6472 6573 735f 4f66 Up: Address_Of\n+0000b2b0: 2028 6675 6e63 7469 6f6e 290a 0a47 6574 (function)..Get\n+0000b2c0: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000b2d0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000b2e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+0000b2f0: 5055 5250 4f53 450a 2020 2020 2052 6574 PURPOSE. Ret\n+0000b300: 7269 6576 6520 4950 2061 6464 7265 7373 rieve IP address\n+0000b310: 206f 6620 6c6f 6361 6c20 686f 7374 0a50 of local host.P\n+0000b320: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+0000b330: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming\n+0000b340: 2e47 6574 5f53 6f63 6b5f 4164 6472 3a20 .Get_Sock_Addr: \n+0000b350: 6675 6e63 7469 6f6e 2047 6574 5f53 6f63 function Get_Soc\n+0000b360: 6b5f 4164 6472 0a20 2020 2020 2020 2020 k_Addr. \n+0000b370: 2020 2020 2020 2853 4f43 4b45 5420 3a20 (SOCKET : \n+0000b380: 536f 636b 6574 5f46 4429 0a20 2020 2020 Socket_FD). \n+0000b390: 2020 2020 2020 2020 2020 7265 7475 726e return\n+0000b3a0: 2041 6464 7265 7373 3b0a 0a50 4152 414d Address;..PARAM\n+0000b3b0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+0000b3c0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+0000b3d0: 2043 6f6e 6e65 6374 6564 2073 6f63 6b65 Connected socke\n+0000b3e0: 7420 6f62 6a65 6374 0a0a 5245 5455 524e t object..RETURN\n+0000b3f0: 2056 414c 5545 0a20 2020 2020 4164 6472 VALUE. Addr\n+0000b400: 6573 7320 6f66 206c 6f63 616c 2069 6e74 ess of local int\n+0000b410: 6572 6661 6365 2075 7365 640a 0a53 4545 erface used..SEE\n+0000b420: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+0000b430: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n+0000b440: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+0000b450: 2020 2a6e 6f74 6520 4765 745f 5065 6572 *note Get_Peer\n+0000b460: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000b470: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+0000b480: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000b490: 6f64 653a 2047 6574 5f53 6f63 6b5f 506f ode: Get_Sock_Po\n+0000b4a0: 7274 2028 6675 6e63 7469 6f6e 292c 2020 rt (function), \n+0000b4b0: 4e65 7874 3a20 486f 7374 5f4e 616d 6520 Next: Host_Name \n+0000b4c0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+0000b4d0: 763a 2047 6574 5f53 6f63 6b5f 4164 6472 v: Get_Sock_Addr\n+0000b4e0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+0000b4f0: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+0000b500: 6e63 7469 6f6e 290a 0a47 6574 5f53 6f63 nction)..Get_Soc\n+0000b510: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000b520: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+0000b530: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+0000b540: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n+0000b550: 6520 706f 7274 2075 7365 6420 6279 206c e port used by l\n+0000b560: 6f63 616c 2068 6f73 740a 5052 4f54 4f54 ocal host.PROTOT\n+0000b570: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+0000b580: 6b65 7473 2e4e 616d 696e 672e 4765 745f kets.Naming.Get_\n+0000b590: 536f 636b 5f50 6f72 743a 2066 756e 6374 Sock_Port: funct\n+0000b5a0: 696f 6e20 4765 745f 536f 636b 5f50 6f72 ion Get_Sock_Por\n+0000b5b0: 740a 2020 2020 2020 2020 2020 2020 2020 t. \n+0000b5c0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n+0000b5d0: 745f 4644 290a 2020 2020 2020 2020 2020 t_FD). \n+0000b5e0: 2020 2020 2072 6574 7572 6e20 506f 7369 return Posi\n+0000b5f0: 7469 7665 3b0a 0a50 4152 414d 4554 4552 tive;..PARAMETER\n+0000b600: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+0000b610: 2020 696e 2020 2020 2020 2020 2043 6f6e in Con\n+0000b620: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+0000b630: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n+0000b640: 5545 0a20 2020 2020 506f 7274 2075 7365 UE. Port use\n+0000b650: 6420 6f6e 2074 6865 206c 6f63 616c 2068 d on the local h\n+0000b660: 6f73 740a 0a53 4545 2041 4c53 4f0a 2020 ost..SEE ALSO. \n+0000b670: 2020 202a 6e6f 7465 2047 6574 5f50 6565 *note Get_Pee\n+0000b680: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n+0000b690: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+0000b6a0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+0000b6b0: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n+0000b6c0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000b6d0: 696e 666f 2c20 204e 6f64 653a 2048 6f73 info, Node: Hos\n+0000b6e0: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function\n+0000b6f0: 292c 2020 4e65 7874 3a20 496d 6167 6520 ), Next: Image \n+0000b700: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+0000b710: 763a 2047 6574 5f53 6f63 6b5f 506f 7274 v: Get_Sock_Port\n+0000b720: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+0000b730: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+0000b740: 6e63 7469 6f6e 290a 0a48 6f73 745f 4e61 nction)..Host_Na\n+0000b750: 6d65 2028 6675 6e63 7469 6f6e 290a 2d2d me (function).--\n+0000b760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b770: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000b780: 2047 6574 2074 6865 206e 616d 6520 6f66 Get the name of\n+0000b790: 2074 6865 2063 7572 7265 6e74 2068 6f73 the current hos\n+0000b7a0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000b7b0: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000b7c0: 696e 672e 486f 7374 5f4e 616d 653a 2066 ing.Host_Name: f\n+0000b7d0: 756e 6374 696f 6e20 486f 7374 5f4e 616d unction Host_Nam\n+0000b7e0: 650a 0a52 4554 5552 4e20 5641 4c55 450a e..RETURN VALUE.\n+0000b7f0: 2020 2020 204e 616d 6520 6f66 2074 6865 Name of the\n+0000b800: 2063 7572 7265 6e74 2068 6f73 740a 0a44 current host..D\n+0000b810: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+0000b820: 5468 6973 2066 756e 6374 696f 6e20 7265 This function re\n+0000b830: 7475 726e 7320 7468 6520 6e61 6d65 206f turns the name o\n+0000b840: 6620 7468 6520 6375 7272 656e 7420 686f f the current ho\n+0000b850: 7374 2e20 2044 6570 656e 6469 6e67 206f st. Depending o\n+0000b860: 6e0a 2020 2020 2074 6865 206c 6f63 616c n. the local\n+0000b870: 2063 6f6e 6669 6775 7261 7469 6f6e 2c20 configuration, \n+0000b880: 6974 206d 6179 206f 7220 6d61 7920 6e6f it may or may no\n+0000b890: 7420 6265 2061 2066 756c 6c79 2071 7561 t be a fully qua\n+0000b8a0: 6c69 6669 6564 0a20 2020 2020 646f 6d61 lified. doma\n+0000b8b0: 696e 206e 616d 6520 2846 5144 4e29 2e0a in name (FQDN)..\n+0000b8c0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+0000b8d0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+0000b8e0: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n+0000b8f0: 292c 2020 4e65 7874 3a20 496e 666f 5f4f ), Next: Info_O\n+0000b900: 665f 4e61 6d65 5f4f 725f 4950 2028 6675 f_Name_Or_IP (fu\n+0000b910: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000b920: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n+0000b930: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000b940: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000b950: 0a0a 496d 6167 6520 2866 756e 6374 696f ..Image (functio\n+0000b960: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+0000b970: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000b980: 2020 4d61 6b65 2061 2073 7472 696e 6720 Make a string \n+0000b990: 6672 6f6d 2061 6e20 6164 6472 6573 730a from an address.\n+0000b9a0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+0000b9b0: 2d2d 2053 6f63 6b65 7473 2e4e 616d 696e -- Sockets.Namin\n+0000b9c0: 672e 496d 6167 653a 2066 756e 6374 696f g.Image: functio\n+0000b9d0: 6e20 496d 6167 6520 2841 4444 203a 2041 n Image (ADD : A\n+0000b9e0: 6464 7265 7373 290a 2020 2020 2020 2020 ddress). \n+0000b9f0: 2020 2020 2020 2072 6574 7572 6e20 5374 return St\n+0000ba00: 7269 6e67 3b0a 0a50 4152 414d 4554 4552 ring;..PARAMETER\n+0000ba10: 530a 2020 2020 2041 4444 2020 2020 2020 S. ADD \n+0000ba20: 2020 696e 2020 2020 2020 2020 2049 5020 in IP \n+0000ba30: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN \n+0000ba40: 5641 4c55 450a 2020 2020 2053 7472 696e VALUE. Strin\n+0000ba50: 6720 7265 7072 6573 656e 7461 7469 6f6e g representation\n+0000ba60: 206f 6620 7468 6520 4950 2061 6464 7265 of the IP addre\n+0000ba70: 7373 0a0a 5345 4520 414c 534f 0a20 2020 ss..SEE ALSO. \n+0000ba80: 2020 2a6e 6f74 6520 5661 6c75 6520 2866 *note Value (f\n+0000ba90: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n+0000baa0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000bab0: 696e 666f 2c20 204e 6f64 653a 2049 6e66 info, Node: Inf\n+0000bac0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000bad0: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n+0000bae0: 743a 2049 735f 4950 5f41 6464 7265 7373 t: Is_IP_Address\n+0000baf0: 2028 6675 6e63 7469 6f6e 292c 2020 5072 (function), Pr\n+0000bb00: 6576 3a20 496d 6167 6520 2866 756e 6374 ev: Image (funct\n+0000bb10: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000bb20: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000bb30: 0a0a 496e 666f 5f4f 665f 4e61 6d65 5f4f ..Info_Of_Name_O\n+0000bb40: 725f 4950 2028 6675 6e63 7469 6f6e 290a r_IP (function).\n+0000bb50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000bb60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+0000bb70: 5552 504f 5345 0a20 2020 2020 4765 7420 URPOSE. Get \n+0000bb80: 6164 6472 6573 7365 7320 616e 6420 6e61 addresses and na\n+0000bb90: 6d65 7320 6f66 2061 2068 6f73 740a 5052 mes of a host.PR\n+0000bba0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+0000bbb0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+0000bbc0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000bbd0: 4950 3a20 6675 6e63 7469 6f6e 2049 6e66 IP: function Inf\n+0000bbe0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 500a o_Of_Name_Or_IP.\n+0000bbf0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000bc00: 534f 4d45 5448 494e 4720 3a20 5374 7269 SOMETHING : Stri\n+0000bc10: 6e67 290a 2020 2020 2020 2020 2020 2020 ng). \n+0000bc20: 2020 2072 6574 7572 6e20 486f 7374 5f45 return Host_E\n+0000bc30: 6e74 7279 3b0a 0a50 4152 414d 4554 4552 ntry;..PARAMETER\n+0000bc40: 530a 2020 2020 2053 4f4d 4554 4849 4e47 S. SOMETHING\n+0000bc50: 2020 696e 2020 2020 2020 2020 2048 6f73 in Hos\n+0000bc60: 7420 6e61 6d65 206f 7220 4950 2061 6464 t name or IP add\n+0000bc70: 7265 7373 0a0a 5245 5455 524e 2056 414c ress..RETURN VAL\n+0000bc80: 5545 0a20 2020 2020 436f 7272 6573 706f UE. Correspo\n+0000bc90: 6e64 696e 6720 686f 7374 2065 6e74 7279 nding host entry\n+0000bca0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+0000bcb0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+0000bcc0: 2065 7874 7261 6374 7320 616c 6c20 7468 extracts all th\n+0000bcd0: 6520 6e61 6d65 7320 616e 6420 6164 6472 e names and addr\n+0000bce0: 6573 7365 7320 6672 6f6d 2074 6865 206e esses from the n\n+0000bcf0: 616d 696e 670a 2020 2020 2073 6572 7669 aming. servi\n+0000bd00: 6365 2e0a 0a45 5843 4550 5449 4f4e 530a ce...EXCEPTIONS.\n+0000bd10: 2020 2020 2027 4e61 6d69 6e67 5f45 7272 'Naming_Err\n+0000bd20: 6f72 2720 2020 2020 4e6f 2069 6e66 6f72 or' No infor\n+0000bd30: 6d61 7469 6f6e 2061 7661 696c 6162 6c65 mation available\n+0000bd40: 2066 6f72 2074 6869 7320 6e61 6d65 206f for this name o\n+0000bd50: 720a 2020 2020 2020 2020 2020 2020 2020 r. \n+0000bd60: 2020 2020 2020 2020 2020 6164 6472 6573 addres\n+0000bd70: 730a 0a1f 0a46 696c 653a 2061 6461 736f s....File: adaso\n+0000bd80: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+0000bd90: 653a 2049 735f 4950 5f41 6464 7265 7373 e: Is_IP_Address\n+0000bda0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+0000bdb0: 7874 3a20 4e61 6d65 5f4f 6620 2866 756e xt: Name_Of (fun\n+0000bdc0: 6374 696f 6e29 2c20 2050 7265 763a 2049 ction), Prev: I\n+0000bdd0: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I\n+0000bde0: 5020 2866 756e 6374 696f 6e29 2c20 2055 P (function), U\n+0000bdf0: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n+0000be00: 756e 6374 696f 6e29 0a0a 4973 5f49 505f unction)..Is_IP_\n+0000be10: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+0000be20: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+0000be30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+0000be40: 504f 5345 0a20 2020 2020 4368 6563 6b20 POSE. Check \n+0000be50: 6966 2067 6976 656e 2073 7472 696e 6720 if given string \n+0000be60: 6973 2061 2076 616c 6964 2049 5020 6164 is a valid IP ad\n+0000be70: 6472 6573 730a 5052 4f54 4f54 5950 450a dress.PROTOTYPE.\n+0000be80: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+0000be90: 2e4e 616d 696e 672e 4973 5f49 505f 4164 .Naming.Is_IP_Ad\n+0000bea0: 6472 6573 733a 2066 756e 6374 696f 6e20 dress: function \n+0000beb0: 4973 5f49 505f 4164 6472 6573 730a 2020 Is_IP_Address. \n+0000bec0: 2020 2020 2020 2020 2020 2020 2028 534f (SO\n+0000bed0: 4d45 5448 494e 4720 3a20 5374 7269 6e67 METHING : String\n+0000bee0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+0000bef0: 2072 6574 7572 6e20 426f 6f6c 6561 6e3b return Boolean;\n+0000bf00: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+0000bf10: 2020 534f 4d45 5448 494e 4720 2069 6e20 SOMETHING in \n+0000bf20: 2020 2020 2020 2020 5374 7269 6e67 2074 String t\n+0000bf30: 6f20 6368 6563 6b0a 0a52 4554 5552 4e20 o check..RETURN \n+0000bf40: 5641 4c55 450a 2020 2020 2027 5472 7565 VALUE. 'True\n+0000bf50: 2720 6966 2053 4f4d 4554 4849 4e47 2069 ' if SOMETHING i\n+0000bf60: 7320 616e 2049 5020 6164 6472 6573 730a s an IP address.\n+0000bf70: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+0000bf80: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+0000bf90: 204e 616d 655f 4f66 2028 6675 6e63 7469 Name_Of (functi\n+0000bfa0: 6f6e 292c 2020 4e65 7874 3a20 5661 6c75 on), Next: Valu\n+0000bfb0: 6520 2866 756e 6374 696f 6e29 2c20 2050 e (function), P\n+0000bfc0: 7265 763a 2049 735f 4950 5f41 6464 7265 rev: Is_IP_Addre\n+0000bfd0: 7373 2028 6675 6e63 7469 6f6e 292c 2020 ss (function), \n+0000bfe0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n+0000bff0: 6675 6e63 7469 6f6e 290a 0a4e 616d 655f function)..Name_\n+0000c000: 4f66 2028 6675 6e63 7469 6f6e 290a 2d2d Of (function).--\n+0000c010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000c020: 0a0a 5055 5250 4f53 450a 2020 2020 204f ..PURPOSE. O\n+0000c030: 6666 6963 6961 6c20 6e61 6d65 206f 6620 fficial name of \n+0000c040: 7468 6520 686f 7374 0a50 524f 544f 5459 the host.PROTOTY\n+0000c050: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+0000c060: 6574 732e 4e61 6d69 6e67 2e4e 616d 655f ets.Naming.Name_\n+0000c070: 4f66 3a20 6675 6e63 7469 6f6e 204e 616d Of: function Nam\n+0000c080: 655f 4f66 2028 534f 4d45 5448 494e 4720 e_Of (SOMETHING \n+0000c090: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n+0000c0a0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+0000c0b0: 5374 7269 6e67 3b0a 0a50 4152 414d 4554 String;..PARAMET\n+0000c0c0: 4552 530a 2020 2020 2053 4f4d 4554 4849 ERS. SOMETHI\n+0000c0d0: 4e47 2020 696e 2020 2020 2020 2020 2048 NG in H\n+0000c0e0: 6f73 7420 6e61 6d65 206f 7220 4950 2061 ost name or IP a\n+0000c0f0: 6464 7265 7373 0a0a 5245 5455 524e 2056 ddress..RETURN V\n+0000c100: 414c 5545 0a20 2020 2020 4e61 6d65 206f ALUE. Name o\n+0000c110: 6620 7468 6520 686f 7374 0a0a 4558 4345 f the host..EXCE\n+0000c120: 5054 494f 4e53 0a20 2020 2020 274e 616d PTIONS. 'Nam\n+0000c130: 696e 675f 4572 726f 7227 2020 2020 204e ing_Error' N\n+0000c140: 6f20 696e 666f 726d 6174 696f 6e20 6176 o information av\n+0000c150: 6169 6c61 626c 6520 666f 7220 7468 6973 ailable for this\n+0000c160: 206e 616d 6520 6f72 0a20 2020 2020 2020 name or. \n+0000c170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c180: 2061 6464 7265 7373 0a0a 5345 4520 414c address..SEE AL\n+0000c190: 534f 0a20 2020 2020 2a6e 6f74 6520 4164 SO. *note Ad\n+0000c1a0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000c1b0: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000c1c0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000c1d0: 2020 4e6f 6465 3a20 5661 6c75 6520 2866 Node: Value (f\n+0000c1e0: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+0000c1f0: 204e 616d 655f 4f66 2028 6675 6e63 7469 Name_Of (functi\n+0000c200: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000c210: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000c220: 0a56 616c 7565 2028 6675 6e63 7469 6f6e .Value (function\n+0000c230: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+0000c240: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000c250: 2054 7261 6e73 666f 726d 2061 2073 7472 Transform a str\n+0000c260: 696e 6720 696e 746f 2061 6e20 6164 6472 ing into an addr\n+0000c270: 6573 730a 5052 4f54 4f54 5950 450a 2020 ess.PROTOTYPE. \n+0000c280: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000c290: 616d 696e 672e 5661 6c75 653a 2066 756e aming.Value: fun\n+0000c2a0: 6374 696f 6e20 5661 6c75 6520 2841 4444 ction Value (ADD\n+0000c2b0: 203a 2053 7472 696e 6729 0a20 2020 2020 : String). \n+0000c2c0: 2020 2020 2020 2020 2020 7265 7475 726e return\n+0000c2d0: 2041 6464 7265 7373 3b0a 0a50 4152 414d Address;..PARAM\n+0000c2e0: 4554 4552 530a 2020 2020 2041 4444 2020 ETERS. ADD \n+0000c2f0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+0000c300: 2054 6578 7475 616c 2072 6570 7265 7365 Textual represe\n+0000c310: 6e74 6174 696f 6e20 6f66 2061 6e20 4950 ntation of an IP\n+0000c320: 2061 6464 7265 7373 0a0a 5245 5455 524e address..RETURN\n+0000c330: 2056 414c 5545 0a20 2020 2020 436f 7272 VALUE. Corr\n+0000c340: 6573 706f 6e64 696e 6720 4164 6472 6573 esponding Addres\n+0000c350: 730a 0a53 4545 2041 4c53 4f0a 2020 2020 s..SEE ALSO. \n+0000c360: 202a 6e6f 7465 2049 6d61 6765 2028 6675 *note Image (fu\n+0000c370: 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 nction)::.....Fi\n+0000c380: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+0000c390: 6e66 6f2c 2020 4e6f 6465 3a20 436f 6e74 nfo, Node: Cont\n+0000c3a0: 7269 6275 746f 7273 2c20 204e 6578 743a ributors, Next:\n+0000c3b0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000c3c0: 6520 496e 7465 726e 6574 2c20 2050 7265 e Internet, Pre\n+0000c3d0: 763a 2053 6f63 6b65 7473 2e4e 616d 696e v: Sockets.Namin\n+0000c3e0: 6720 7061 636b 6167 652c 2020 5570 3a20 g package, Up: \n+0000c3f0: 546f 700a 0a41 7070 656e 6469 7820 4120 Top..Appendix A \n+0000c400: 436f 6e74 7269 6275 746f 7273 0a2a 2a2a Contributors.***\n+0000c410: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c420: 2a2a 2a2a 0a0a 4164 6153 6f63 6b65 7473 ****..AdaSockets\n+0000c430: 2068 6173 2062 6565 6e20 6f72 6967 696e has been origin\n+0000c440: 616c 6c79 2064 6576 656c 6f70 7065 6420 ally developped \n+0000c450: 6279 2053 616d 7565 6c20 5461 7264 6965 by Samuel Tardie\n+0000c460: 7520 7768 6f20 7374 696c 6c0a 6d61 696e u who still.main\n+0000c470: 7461 696e 7320 6974 2e20 2048 6f77 6576 tains it. Howev\n+0000c480: 6572 2c20 7468 6520 666f 6c6c 6f77 696e er, the followin\n+0000c490: 6720 7065 6f70 6c65 2068 6176 6520 6d61 g people have ma\n+0000c4a0: 6465 2063 7275 6369 616c 0a63 6f6e 7472 de crucial.contr\n+0000c4b0: 6962 7574 696f 6e73 2074 6f20 4164 6153 ibutions to AdaS\n+0000c4c0: 6f63 6b65 7473 2c20 6265 2074 6865 7920 ockets, be they \n+0000c4d0: 6e65 7720 636f 6465 2c20 6275 6720 6669 new code, bug fi\n+0000c4e0: 7865 7320 6f72 2070 6f72 7469 6e67 2074 xes or porting t\n+0000c4f0: 6f0a 6e65 7720 6f70 6572 6174 696e 6720 o.new operating \n+0000c500: 7379 7374 656d 733a 0a0a 2020 202a 2044 systems:.. * D\n+0000c510: 6d69 7472 6979 2041 6e69 7369 6d6b 6f76 mitriy Anisimkov\n+0000c520: 2028 3c61 6e69 7369 6d6b 6f76 4079 6168 (). * Al\n+0000c540: 616e 2042 6172 6e65 7320 283c 6261 726e an Barnes (\n+0000c560: 290a 2020 202a 204a 7561 6e6d 6120 4261 ). * Juanma Ba\n+0000c570: 7272 616e 7175 6572 6f20 283c 6c65 6b74 rranquero (). \n+0000c590: 2a20 426f 6262 7920 442e 2042 7279 616e * Bobby D. Bryan\n+0000c5a0: 7420 283c 6264 6272 7961 6e74 406d 6169 t (). \n+0000c5c0: 2020 2a20 5361 6e64 6572 2043 6f78 2028 * Sander Cox (\n+0000c5d0: 3c73 616e 6465 722e 636f 7840 7068 696c ). * S\n+0000c5f0: 756e 6520 4661 6c6b 2028 3c73 756e 652e une Falk (\n+0000c610: 290a 2020 202a 2047 7569 6c6c 6175 6d65 ). * Guillaume\n+0000c620: 2046 6f6c 6961 7264 2028 3c67 7569 666f Foliard (). \n+0000c640: 202a 204c 6175 7265 6e74 2047 7565 7262 * Laurent Guerb\n+0000c650: 7920 283c 6775 6572 6279 4063 6c75 622d y (). \n+0000c670: 202a 2044 6176 6964 204a 2e20 4b72 6973 * David J. Kris\n+0000c680: 746f 6c61 2028 3c44 6176 6964 3935 3033 tola (). *\n+0000c6a0: 2044 6f6d 696e 696b 204d 6164 6f6e 2028 Dominik Madon (\n+0000c6b0: 3c64 6f6d 696e 696b 4061 636d 2e6f 7267 ). * Pascal O\n+0000c6d0: 6272 7920 283c 702e 6f62 7279 4077 616e bry (). * N\n+0000c6f0: 6963 6f6c 6173 204f 6c6c 696e 6765 7220 icolas Ollinger \n+0000c700: 283c 4e69 636f 6c61 732e 4f6c 6c69 6e67 ()\n+0000c720: 0a20 2020 2a20 5374 7068 616e 6520 5061 . * Stphane Pa\n+0000c730: 7475 7265 6175 2028 3c73 7061 7475 7265 tureau ().\n+0000c760: 2020 202a 2054 686f 6d61 7320 5175 696e * Thomas Quin\n+0000c770: 6f74 2028 3c74 686f 6d61 7340 6375 6976 ot (). \n+0000c790: 2020 2a20 5072 6562 656e 2052 616e 6468 * Preben Randh\n+0000c7a0: 6f6c 2028 3c72 616e 6468 6f6c 4070 7676 ol (). * Maxi\n+0000c7c0: 6d20 5265 7a6e 696b 2028 3c6d 6178 3140 m Reznik (). \n+0000c7e0: 2020 2a20 4a6f 656c 2053 6865 7272 696c * Joel Sherril\n+0000c7f0: 6c20 283c 6a6f 656c 2e73 6865 7272 696c l ().\n+0000c810: 2020 202a 2053 616d 7565 6c20 5461 7264 * Samuel Tard\n+0000c820: 6965 7520 283c 7361 6d40 7266 6331 3134 ieu ().. If y\n+0000c840: 6f75 2066 6565 6c20 7468 6174 2079 6f75 ou feel that you\n+0000c850: 2068 6176 6520 6265 656e 2066 6f72 676f have been forgo\n+0000c860: 7474 656e 2c20 706c 6561 7365 2073 656e tten, please sen\n+0000c870: 6420 6d65 2061 206d 6169 6c20 736f 0a74 d me a mail so.t\n+0000c880: 6861 7420 4920 6361 6e20 6669 7820 6974 hat I can fix it\n+0000c890: 2069 6e20 7468 6520 6e65 7874 2076 6572 in the next ver\n+0000c8a0: 7369 6f6e 2e0a 0a20 2020 2a4e 6f74 6520 sion... *Note \n+0000c8b0: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+0000c8c0: 2049 6e74 6572 6e65 743a 3a2c 2066 6f72 Internet::, for\n+0000c8d0: 2068 6f77 2074 6f20 636f 6e74 7269 6275 how to contribu\n+0000c8e0: 7465 2e0a 0a1f 0a46 696c 653a 2061 6461 te.....File: ada\n+0000c8f0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000c900: 6f64 653a 2052 6573 6f75 7263 6573 206f ode: Resources o\n+0000c910: 6e20 7468 6520 496e 7465 726e 6574 2c20 n the Internet, \n+0000c920: 204e 6578 743a 2049 6e64 6578 2c20 2050 Next: Index, P\n+0000c930: 7265 763a 2043 6f6e 7472 6962 7574 6f72 rev: Contributor\n+0000c940: 732c 2020 5570 3a20 546f 700a 0a41 7070 s, Up: Top..App\n+0000c950: 656e 6469 7820 4220 5265 736f 7572 6365 endix B Resource\n+0000c960: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n+0000c970: 740a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a t.**************\n+0000c980: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c990: 2a2a 2a2a 2a2a 0a0a 5468 6520 6c61 7465 ******..The late\n+0000c9a0: 7374 2076 6572 7369 6f6e 206f 6620 4164 st version of Ad\n+0000c9b0: 6153 6f63 6b65 7473 2063 616e 2061 6c77 aSockets can alw\n+0000c9c0: 6179 7320 6265 2066 6f75 6e64 2061 743a ays be found at:\n+0000c9d0: 0a0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000c9e0: 203c 6874 7470 3a2f 2f77 7777 2e72 6663 .. Y\n+0000ca10: 6f75 2063 616e 2072 6570 6f72 7420 6973 ou can report is\n+0000ca20: 7375 6573 206f 7220 7375 626d 6974 2071 sues or submit q\n+0000ca30: 7565 7374 696f 6e73 206f 6e20 4769 7448 uestions on GitH\n+0000ca40: 7562 2773 2069 7373 7565 2074 7261 636b ub's issue track\n+0000ca50: 6572 0a61 743a 0a0a 2020 2020 2020 2020 er.at:.. \n+0000ca60: 203c 6874 7470 733a 2f2f 6769 7468 7562 ....File: a\n+0000caa0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+0000cab0: 204e 6f64 653a 2049 6e64 6578 2c20 2050 Node: Index, P\n+0000cac0: 7265 763a 2052 6573 6f75 7263 6573 206f rev: Resources o\n+0000cad0: 6e20 7468 6520 496e 7465 726e 6574 2c20 n the Internet, \n+0000cae0: 2055 703a 2054 6f70 0a0a 496e 6465 780a Up: Top..Index.\n+0000caf0: 2a2a 2a2a 2a0a 0a00 085b 696e 6465 7800 *****....[index.\n+0000cb00: 085d 0a2a 204d 656e 753a 0a0a 2a20 4163 .].* Menu:..* Ac\n+0000cb10: 6365 7074 696e 6720 6120 6e65 7720 636f cepting a new co\n+0000cb20: 6e6e 6563 7469 6f6e 3a20 2020 2020 2020 nnection: \n+0000cb30: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock\n+0000cb40: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure)..\n+0000cb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb80: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000cb90: 6c69 6e65 2020 3629 0a2a 2041 6363 6570 line 6).* Accep\n+0000cba0: 745f 536f 636b 6574 3a20 2020 2020 2020 t_Socket: \n+0000cbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbc0: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket \n+0000cbd0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cc00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc30: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000cc40: 3629 0a2a 2043 523a 2020 2020 2020 2020 6).* CR: \n-0000cc50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc60: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000cc70: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e Line (function).\n-0000cc80: 2020 286c 696e 6520 3231 290a 2a20 4352 (line 21).* CR\n-0000cc90: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000cca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccb0: 2020 2020 2047 6574 5f4c 696e 6520 2870 Get_Line (p\n-0000ccc0: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-0000ccd0: 2031 3829 0a2a 2043 5220 3c32 3e3a 2020 18).* CR <2>: \n-0000cce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccf0: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n-0000cd00: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n-0000cd10: 6529 2e20 286c 696e 6520 3137 290a 2a20 e). (line 17).* \n-0000cd20: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-0000cd30: 5f53 6f63 6b65 743a 2020 2020 2020 2020 _Socket: \n-0000cd40: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-0000cd50: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n-0000cd60: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n-0000cd70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc10: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000cc20: 6520 2039 290a 2a20 4164 612e 5374 7265 e 9).* Ada.Stre\n+0000cc30: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n+0000cc40: 6e74 5f41 7272 6179 3a20 2020 2020 2052 nt_Array: R\n+0000cc50: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n+0000cc60: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n+0000cc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cca0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000ccb0: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n+0000ccc0: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n+0000ccd0: 7920 3c31 3e3a 2020 5265 6365 6976 6520 y <1>: Receive \n+0000cce0: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n+0000ccf0: 696e 6520 3232 290a 2a20 4164 612e 5374 ine 22).* Ada.St\n+0000cd00: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n+0000cd10: 6d65 6e74 5f41 7272 6179 203c 323e 3a20 ment_Array <2>: \n+0000cd20: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n+0000cd30: 7572 6529 2e20 2028 6c69 6e65 2031 3829 ure). (line 18)\n+0000cd40: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n+0000cd50: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+0000cd60: 7261 7920 3c33 3e3a 2020 5265 6365 6976 ray <3>: Receiv\n+0000cd70: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+0000cd80: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 0000cd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cda0: 2020 2020 286c 696e 6520 3136 290a 2a20 (line 16).* \n-0000cdb0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-0000cdc0: 5f53 6f63 6b65 7420 3c31 3e3a 2020 2020 _Socket <1>: \n-0000cdd0: 2020 2020 2020 2043 7265 6174 655f 4d75 Create_Mu\n-0000cde0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-0000cdf0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n-0000ce00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce30: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000ce40: 2039 290a 2a20 4372 6561 7469 6e67 2061 9).* Creating a\n-0000ce50: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-0000ce60: 743a 2020 2020 2020 2020 2020 2053 6574 t: Set\n-0000ce70: 7469 6e67 2075 7020 6d75 6c74 6963 6173 ting up multicas\n-0000ce80: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n-0000ce90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdc0: 2020 2028 6c69 6e65 2032 3129 0a2a 2041 (line 21).* A\n+0000cdd0: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n+0000cde0: 6d5f 456c 656d 656e 745f 4172 7261 7920 m_Element_Array \n+0000cdf0: 3c34 3e3a 2020 5365 6e64 2028 7072 6f63 <4>: Send (proc\n+0000ce00: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+0000ce10: 6520 3137 290a 2a20 4164 612e 5374 7265 e 17).* Ada.Stre\n+0000ce20: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n+0000ce30: 6e74 5f43 6f75 6e74 3a20 2020 2020 2052 nt_Count: R\n+0000ce40: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+0000ce50: 292e 2020 2028 6c69 6e65 2032 3229 0a2a ). (line 22).*\n+0000ce60: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n+0000ce70: 6561 6d5f 456c 656d 656e 745f 436f 756e eam_Element_Coun\n+0000ce80: 7420 3c31 3e3a 2020 5265 6365 6976 655f t <1>: Receive_\n+0000ce90: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+0000cea0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000ceb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cec0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000ced0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n-0000cee0: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-0000cef0: 7420 3c31 3e3a 2020 2020 2020 2043 7265 t <1>: Cre\n-0000cf00: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-0000cf10: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n-0000cf20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000cf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ced0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cee0: 2028 6c69 6e65 2032 3129 0a2a 2041 6461 (line 21).* Ada\n+0000cef0: 536f 636b 6574 7320 7072 6573 656e 7461 Sockets presenta\n+0000cf00: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n+0000cf10: 2020 2020 5768 6174 2069 7320 4164 6153 What is AdaS\n+0000cf20: 6f63 6b65 7473 3f2e 2020 286c 696e 6520 ockets?. (line \n+0000cf30: 2036 290a 2a20 4164 6472 6573 733a 2020 6).* Address: \n 0000cf40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf60: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n-0000cf70: 7469 6e67 2061 2073 6572 7665 723a 2020 ting a server: \n+0000cf50: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+0000cf60: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+0000cf70: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \n 0000cf80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cf90: 2020 2042 696e 6420 2870 726f 6365 6475 Bind (procedu\n-0000cfa0: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n-0000cfb0: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n-0000cfc0: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n-0000cfd0: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n-0000cfe0: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n-0000cff0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n+0000cf90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfb0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000cfc0: 4164 6472 6573 735f 4172 7261 793a 2020 Address_Array: \n+0000cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfe0: 2020 2020 2020 2053 6f63 6b65 7473 2e4e Sockets.N\n+0000cff0: 616d 696e 6720 7061 636b 6167 652e 0a20 aming package.. \n 0000d000: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d010: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d030: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000d040: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so\n-0000d050: 636b 6574 203c 313e 3a20 2020 2020 2020 cket <1>: \n-0000d060: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-0000d070: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000d080: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n-0000d090: 7469 6e67 2061 2073 6f63 6b65 7420 3c32 ting a socket <2\n-0000d0a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000d0b0: 2020 2043 7265 6174 655f 4d75 6c74 6963 Create_Multic\n-0000d0c0: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-0000d0d0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+0000d030: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000d040: 696e 6520 3136 290a 2a20 4164 6472 6573 ine 16).* Addres\n+0000d050: 735f 436f 6d70 6f6e 656e 743a 2020 2020 s_Component: \n+0000d060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d070: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000d080: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \n+0000d090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0c0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+0000d0d0: 290a 2a20 4164 6472 6573 735f 4f66 3a20 ).* Address_Of: \n 0000d0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d110: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000d120: 2a20 4372 6561 7469 6e67 2061 2054 4350 * Creating a TCP\n-0000d130: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n-0000d140: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-0000d150: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n-0000d160: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000d0f0: 2020 2020 2020 2020 2020 2041 6464 7265 Addre\n+0000d100: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000d110: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000d120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d150: 2028 6c69 6e65 2020 3929 0a2a 2041 465f (line 9).* AF_\n+0000d160: 494e 4554 3a20 2020 2020 2020 2020 2020 INET: \n 0000d170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1a0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000d1b0: 4372 6561 7469 6e67 2061 2055 4450 2073 Creating a UDP s\n-0000d1c0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-0000d1d0: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-0000d1e0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-0000d1f0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000d180: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n+0000d190: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n+0000d1a0: 3139 290a 2a20 416e 795f 4164 6472 6573 19).* Any_Addres\n+0000d1b0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+0000d1c0: 2020 2020 2020 2020 2020 2020 2041 6e79 Any\n+0000d1d0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000d1e0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+0000d1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d200: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d230: 2020 286c 696e 6520 2036 290a 2a20 4372 (line 6).* Cr\n-0000d240: 6561 7469 6e67 2061 2075 6e69 6361 7374 eating a unicast\n-0000d250: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n-0000d260: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-0000d270: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n-0000d280: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000d220: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000d230: 4173 7369 676e 696e 6720 6120 6c6f 6361 Assigning a loca\n+0000d240: 6c20 706f 7274 3a20 2020 2020 2020 2020 l port: \n+0000d250: 2020 2020 2020 2042 696e 6420 2870 726f Bind (pro\n+0000d260: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n+0000d270: 6e65 2020 3629 0a2a 2042 696e 643a 2020 ne 6).* Bind: \n+0000d280: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2c0: 286c 696e 6520 2036 290a 2a20 4573 7461 (line 6).* Esta\n-0000d2d0: 626c 6973 6869 6e67 2061 206c 6973 7465 blishing a liste\n-0000d2e0: 6e20 7175 6575 653a 2020 2020 2020 2020 n queue: \n-0000d2f0: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce\n-0000d300: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n-0000d310: 3629 0a2a 2046 696e 6469 6e67 2041 6461 6).* Finding Ada\n-0000d320: 536f 636b 6574 7320 6f6e 2074 6865 2049 Sockets on the I\n-0000d330: 6e74 6572 6e65 743a 2020 2020 5265 736f nternet: Reso\n-0000d340: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n-0000d350: 6572 6e65 742e 0a20 2020 2020 2020 2020 ernet.. \n-0000d360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d390: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000d3a0: 2a20 4765 743a 2020 2020 2020 2020 2020 * Get: \n-0000d3b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d3c0: 2020 2020 2020 2020 2047 6574 2028 6675 Get (fu\n-0000d3d0: 6e63 7469 6f6e 292e 2020 2020 2020 2028 nction). (\n-0000d3e0: 6c69 6e65 2020 3929 0a2a 2047 6574 736f line 9).* Getso\n-0000d3f0: 636b 6f70 743a 2020 2020 2020 2020 2020 ckopt: \n-0000d400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d410: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-0000d420: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000d430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d460: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000d470: 3929 0a2a 2047 6574 5f43 6861 723a 2020 9).* Get_Char: \n-0000d480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d490: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000d4a0: 4368 6172 2028 6675 6e63 7469 6f6e 292e Char (function).\n-0000d4b0: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n-0000d4c0: 745f 4c69 6e65 3a20 2020 2020 2020 2020 t_Line: \n-0000d4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d4e0: 2020 2020 2047 6574 5f4c 696e 6520 2866 Get_Line (f\n-0000d4f0: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n-0000d500: 2020 3929 0a2a 2047 6574 5f4c 696e 6520 9).* Get_Line \n-0000d510: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000d520: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000d530: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-0000d540: 6529 2e20 286c 696e 6520 2039 290a 2a20 e). (line 9).* \n-0000d550: 4765 745f 5065 6572 5f41 6464 723a 2020 Get_Peer_Addr: \n-0000d560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d570: 2020 2020 2020 2047 6574 5f50 6565 725f Get_Peer_\n-0000d580: 4164 6472 2028 6675 6e63 7469 6f6e 292e Addr (function).\n-0000d590: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000d5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d5d0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n-0000d5e0: 5065 6572 5f50 6f72 743a 2020 2020 2020 Peer_Port: \n-0000d5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d600: 2020 2047 6574 5f50 6565 725f 506f 7274 Get_Peer_Port\n-0000d610: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-0000d620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d650: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000d660: 6520 2039 290a 2a20 4765 745f 5265 6365 e 9).* Get_Rece\n-0000d670: 6976 655f 5175 6575 655f 5369 7a65 3a20 ive_Queue_Size: \n-0000d680: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000d690: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-0000d6a0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-0000d6b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000d6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6f0: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get\n-0000d700: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size\n-0000d710: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d720: 2020 2020 4765 745f 5365 6e64 5f51 7565 Get_Send_Que\n-0000d730: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n-0000d740: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+0000d2a0: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n+0000d2b0: 2e20 2020 2020 286c 696e 6520 2039 290a . (line 9).\n+0000d2c0: 2a20 4269 6e64 696e 6720 6120 736f 636b * Binding a sock\n+0000d2d0: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n+0000d2e0: 2020 2020 2020 2020 2042 696e 6420 2870 Bind (p\n+0000d2f0: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n+0000d300: 6c69 6e65 2020 3629 0a2a 2042 6f74 683a line 6).* Both:\n+0000d310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d330: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n+0000d340: 6564 7572 6529 2e20 286c 696e 6520 3137 edure). (line 17\n+0000d350: 290a 2a20 436c 6f73 696e 6720 6120 736f ).* Closing a so\n+0000d360: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n+0000d370: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+0000d380: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+0000d390: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6d (line 6).* Com\n+0000d3a0: 7061 7261 6973 6f6e 2077 6974 6820 474e paraison with GN\n+0000d3b0: 4154 2e53 6f63 6b65 7473 3a20 2020 2020 AT.Sockets: \n+0000d3c0: 2020 2020 5768 6174 2069 7320 4164 6153 What is AdaS\n+0000d3d0: 6f63 6b65 7473 3f2e 2020 286c 696e 6520 ockets?. (line \n+0000d3e0: 2036 290a 2a20 436f 6e6e 6563 743a 2020 6).* Connect: \n+0000d3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d400: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n+0000d410: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n+0000d420: 2e20 2028 6c69 6e65 2020 3929 0a2a 2043 . (line 9).* C\n+0000d430: 6f6e 6e65 6374 696e 6720 6120 736f 636b onnecting a sock\n+0000d440: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n+0000d450: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n+0000d460: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+0000d470: 6520 2036 290a 2a20 436f 6e6e 6563 7469 e 6).* Connecti\n+0000d480: 6f6e 5f43 6c6f 7365 643a 2020 2020 2020 on_Closed: \n+0000d490: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000d4a0: 6574 2028 6675 6e63 7469 6f6e 292e 2020 et (function). \n+0000d4b0: 2020 2020 2028 6c69 6e65 2033 3429 0a2a (line 34).*\n+0000d4c0: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n+0000d4d0: 6564 203c 313e 3a20 2020 2020 2020 2020 ed <1>: \n+0000d4e0: 2020 2020 2020 2020 4765 745f 4368 6172 Get_Char\n+0000d4f0: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000d500: 696e 6520 3233 290a 2a20 436f 6e6e 6563 ine 23).* Connec\n+0000d510: 7469 6f6e 5f43 6c6f 7365 6420 3c32 3e3a tion_Closed <2>:\n+0000d520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d530: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+0000d540: 696f 6e29 2e20 2028 6c69 6e65 2033 3229 ion). (line 32)\n+0000d550: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n+0000d560: 6f73 6564 203c 333e 3a20 2020 2020 2020 osed <3>: \n+0000d570: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n+0000d580: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000d590: 286c 696e 6520 3237 290a 2a20 436f 6e6e (line 27).* Conn\n+0000d5a0: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c34 ection_Closed <4\n+0000d5b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000d5c0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n+0000d5d0: 6365 6475 7265 292e 2028 6c69 6e65 2032 cedure). (line 2\n+0000d5e0: 3029 0a2a 2043 6f6e 6e65 6374 696f 6e5f 0).* Connection_\n+0000d5f0: 436c 6f73 6564 203c 353e 3a20 2020 2020 Closed <5>: \n+0000d600: 2020 2020 2020 2020 2020 2020 5075 7420 Put \n+0000d610: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+0000d620: 2020 286c 696e 6520 3231 290a 2a20 436f (line 21).* Co\n+0000d630: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d640: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n+0000d650: 2020 2020 2050 7574 5f4c 696e 6520 2870 Put_Line (p\n+0000d660: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n+0000d670: 2032 3129 0a2a 2043 6f6e 6e65 6374 696f 21).* Connectio\n+0000d680: 6e5f 436c 6f73 6564 203c 373e 3a20 2020 n_Closed <7>: \n+0000d690: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+0000d6a0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+0000d6b0: 2e20 2020 286c 696e 6520 3330 290a 2a20 . (line 30).* \n+0000d6c0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d6d0: 6420 3c38 3e3a 2020 2020 2020 2020 2020 d <8>: \n+0000d6e0: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+0000d6f0: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n+0000d700: 6e65 2032 3529 0a2a 2043 6f6e 6e65 6374 ne 25).* Connect\n+0000d710: 696f 6e5f 436c 6f73 6564 203c 393e 3a20 ion_Closed <9>: \n+0000d720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d730: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+0000d740: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 0000d750: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d760: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d780: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n-0000d790: 6574 5f53 6f63 6b5f 4164 6472 3a20 2020 et_Sock_Addr: \n-0000d7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7b0: 2020 2020 2020 4765 745f 536f 636b 5f41 Get_Sock_A\n-0000d7c0: 6464 7220 2866 756e 6374 696f 6e29 2e0a ddr (function)..\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 2020 2020 2020 2020 2020 2028 (\n-0000d810: 6c69 6e65 2020 3929 0a2a 2047 6574 5f53 line 9).* Get_S\n-0000d820: 6f63 6b5f 506f 7274 3a20 2020 2020 2020 ock_Port: \n-0000d830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d840: 2020 4765 745f 536f 636b 5f50 6f72 7420 Get_Sock_Port \n-0000d850: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n-0000d860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d890: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000d8a0: 2020 3929 0a2a 2047 726f 7570 2063 6f6d 9).* Group com\n-0000d8b0: 6d75 6e69 6361 7469 6f6e 3a20 2020 2020 munication: \n-0000d8c0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000d8d0: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n-0000d8e0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d780: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000d790: 3729 0a2a 2043 6f6e 6e65 6374 696f 6e5f 7).* Connection_\n+0000d7a0: 436c 6f73 6564 203c 3130 3e3a 2020 2020 Closed <10>: \n+0000d7b0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+0000d7c0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000d7d0: 2020 286c 696e 6520 3231 290a 2a20 436f (line 21).* Co\n+0000d7e0: 6e6e 6563 7469 6f6e 5f52 6566 7573 6564 nnection_Refused\n+0000d7f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d800: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr\n+0000d810: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n+0000d820: 2032 3529 0a2a 2043 6f6e 7472 6962 7574 25).* Contribut\n+0000d830: 696e 673a 2020 2020 2020 2020 2020 2020 ing: \n+0000d840: 2020 2020 2020 2020 2020 2020 2020 436f Co\n+0000d850: 6e74 7269 6275 746f 7273 2e20 2020 2020 ntributors. \n+0000d860: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000d870: 436f 6e74 7269 6275 7469 6e67 203c 313e Contributing <1>\n+0000d880: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d890: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources\n+0000d8a0: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n+0000d8b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8f0: 2028 6c69 6e65 2020 3629 0a2a 2043 523a (line 6).* CR:\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 2028 6c69 6e65 (line\n-0000d930: 2020 3629 0a2a 2048 616e 646c 696e 6720 6).* Handling \n-0000d940: 6120 6e65 7720 636f 6e6e 6563 7469 6f6e a new connection\n-0000d950: 3a20 2020 2020 2020 2020 2020 2020 4163 : Ac\n-0000d960: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n-0000d970: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000d980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d920: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n+0000d930: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n+0000d940: 3231 290a 2a20 4352 203c 313e 3a20 2020 21).* CR <1>: \n+0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d960: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000d970: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+0000d980: 292e 2028 6c69 6e65 2031 3829 0a2a 2043 ). (line 18).* C\n+0000d990: 5220 3c32 3e3a 2020 2020 2020 2020 2020 R <2>: \n 0000d9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9b0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000d9c0: 290a 2a20 486f 7374 5f45 6e74 7279 3a20 ).* Host_Entry: \n-0000d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9e0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-0000d9f0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n-0000da00: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n-0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d9b0: 2020 2020 2020 4e65 775f 4c69 6e65 2028 New_Line (\n+0000d9c0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000d9d0: 6520 3137 290a 2a20 4372 6561 7465 5f4d e 17).* Create_M\n+0000d9e0: 756c 7469 6361 7374 5f53 6f63 6b65 743a ulticast_Socket:\n+0000d9f0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000da00: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n+0000da10: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n 0000da20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000da30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da40: 2020 286c 696e 6520 3234 290a 2a20 486f (line 24).* Ho\n-0000da50: 7374 5f4e 616d 653a 2020 2020 2020 2020 st_Name: \n-0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da70: 2020 2020 2048 6f73 745f 4e61 6d65 2028 Host_Name (\n-0000da80: 6675 6e63 7469 6f6e 292e 2028 6c69 6e65 function). (line\n-0000da90: 2020 3929 0a2a 2049 6d61 6765 3a20 2020 9).* Image: \n-0000daa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dab0: 2020 2020 2020 2020 2020 2020 2020 496d Im\n-0000dac0: 6167 6520 2866 756e 6374 696f 6e29 2e20 age (function). \n-0000dad0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000dae0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n-0000daf0: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: \n-0000db00: 2020 2020 2020 2049 6e66 6f5f 4f66 5f4e Info_Of_N\n-0000db10: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n-0000db20: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n-0000db30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db60: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000db70: 2049 6e73 7461 6c6c 696e 6720 4164 6153 Installing AdaS\n-0000db80: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n-0000db90: 2020 2020 2020 2020 496e 7374 616c 6c69 Installi\n-0000dba0: 6e67 2041 6461 536f 636b 6574 732e 0a20 ng AdaSockets.. \n+0000da40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da50: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000da60: 6520 3136 290a 2a20 4372 6561 7465 5f4d e 16).* Create_M\n+0000da70: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+0000da80: 3c31 3e3a 2020 2020 2020 2020 2020 2043 <1>: C\n+0000da90: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n+0000daa0: 536f 636b 6574 2028 6675 6e63 7469 6f6e Socket (function\n+0000dab0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000daf0: 2020 286c 696e 6520 2039 290a 2a20 4372 (line 9).* Cr\n+0000db00: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+0000db10: 6f63 6b65 7420 3c32 3e3a 2020 2020 2020 ocket <2>: \n+0000db20: 2020 2020 202e 2020 2020 2020 2020 2020 . \n+0000db30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000db40: 2037 3329 0a2a 2043 7265 6174 696e 6720 73).* Creating \n+0000db50: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock\n+0000db60: 6574 3a20 2020 2020 2020 2020 2020 5365 et: Se\n+0000db70: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+0000db80: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+0000db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbe0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000dbf0: 696e 6520 2036 290a 2a20 4950 5052 4f54 ine 6).* IPPROT\n-0000dc00: 4f5f 4950 3a20 2020 2020 2020 2020 2020 O_IP: \n-0000dc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc20: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000dc30: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000dbc0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000dbd0: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating \n+0000dbe0: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock\n+0000dbf0: 6574 203c 313e 3a20 2020 2020 2020 4372 et <1>: Cr\n+0000dc00: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+0000dc10: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+0000dc20: 2e0a 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 2020 2020 2020 2020 \n-0000dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc70: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000dc80: 290a 2a20 4950 5052 4f54 4f5f 4950 203c ).* IPPROTO_IP <\n-0000dc90: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000dca0: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-0000dcb0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000dcc0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000dcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd00: 2020 286c 696e 6520 3230 290a 2a20 4950 (line 20).* IP\n-0000dd10: 5f41 4444 5f4d 454d 4245 5253 4849 503a _ADD_MEMBERSHIP:\n-0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd30: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-0000dd40: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000dc60: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n+0000dc70: 6174 696e 6720 6120 6d75 6c74 6963 6173 ating a multicas\n+0000dc80: 7420 736f 636b 6574 203c 323e 3a20 2020 t socket <2>: \n+0000dc90: 2020 2020 2e20 2020 2020 2020 2020 2020 . \n+0000dca0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000dcb0: 3730 290a 2a20 4372 6561 7469 6e67 2061 70).* Creating a\n+0000dcc0: 2073 6572 7665 723a 2020 2020 2020 2020 server: \n+0000dcd0: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n+0000dce0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+0000dcf0: 2020 2028 6c69 6e65 2020 3629 0a2a 2043 (line 6).* C\n+0000dd00: 7265 6174 696e 6720 6120 736f 636b 6574 reating a socket\n+0000dd10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000dd20: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n+0000dd30: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets\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: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000dd90: 6520 3230 290a 2a20 4950 5f41 4444 5f4d e 20).* IP_ADD_M\n-0000dda0: 454d 4245 5253 4849 5020 3c31 3e3a 2020 EMBERSHIP <1>: \n-0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000ddc0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000ddd0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 2020 \n-0000de10: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000de20: 2a20 4950 5f44 524f 505f 4d45 4d42 4552 * IP_DROP_MEMBER\n-0000de30: 5348 4950 3a20 2020 2020 2020 2020 2020 SHIP: \n-0000de40: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-0000de50: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000de60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000de70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dea0: 286c 696e 6520 3230 290a 2a20 4950 5f44 (line 20).* IP_D\n-0000deb0: 524f 505f 4d45 4d42 4552 5348 4950 203c ROP_MEMBERSHIP <\n-0000dec0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000ded0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-0000dee0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd80: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n+0000dd90: 6174 696e 6720 6120 736f 636b 6574 203c ating a socket <\n+0000dda0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0000ddb0: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n+0000ddc0: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n+0000ddd0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000dde0: 2073 6f63 6b65 7420 3c32 3e3a 2020 2020 socket <2>: \n+0000ddf0: 2020 2020 2020 2020 2020 2020 2043 7265 Cre\n+0000de00: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+0000de10: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n+0000de20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000de30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de60: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n+0000de70: 7469 6e67 2061 2073 6f63 6b65 7420 3c33 ting a socket <3\n+0000de80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000de90: 2020 202e 2020 2020 2020 2020 2020 2020 . \n+0000dea0: 2020 2020 2020 2020 2028 6c69 6e65 2037 (line 7\n+0000deb0: 3029 0a2a 2043 7265 6174 696e 6720 6120 0).* Creating a \n+0000dec0: 5443 5020 736f 636b 6574 3a20 2020 2020 TCP socket: \n+0000ded0: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000dee0: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+0000def0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \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 286c 696e 6520 (line \n-0000df30: 3230 290a 2a20 4950 5f4d 554c 5449 4341 20).* IP_MULTICA\n-0000df40: 5354 5f4c 4f4f 503a 2020 2020 2020 2020 ST_LOOP: \n-0000df50: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000df60: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000df70: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000df80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df20: 2020 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 5544 .* Creating a UD\n+0000df50: 5020 736f 636b 6574 3a20 2020 2020 2020 P socket: \n+0000df60: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+0000df70: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n+0000df80: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n 0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfb0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-0000dfc0: 4950 5f4d 554c 5449 4341 5354 5f4c 4f4f IP_MULTICAST_LOO\n-0000dfd0: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: \n-0000dfe0: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-0000dff0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-0000e000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfc0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000dfd0: 2043 7265 6174 696e 6720 6120 756e 6963 Creating a unic\n+0000dfe0: 6173 7420 736f 636b 6574 3a20 2020 2020 ast socket: \n+0000dff0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000e000: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n+0000e010: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n 0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e030: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000e040: 696e 6520 3230 290a 2a20 4950 5f4d 554c ine 20).* IP_MUL\n-0000e050: 5449 4341 5354 5f54 544c 3a20 2020 2020 TICAST_TTL: \n-0000e060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e070: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000e080: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000e090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0c0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000e0d0: 290a 2a20 4950 5f4d 554c 5449 4341 5354 ).* IP_MULTICAST\n-0000e0e0: 5f54 544c 203c 313e 3a20 2020 2020 2020 _TTL <1>: \n-0000e0f0: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-0000e100: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000e110: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000e120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e050: 2020 2028 6c69 6e65 2020 3629 0a2a 2045 (line 6).* E\n+0000e060: 7374 6162 6c69 7368 696e 6720 6120 6c69 stablishing a li\n+0000e070: 7374 656e 2071 7565 7565 3a20 2020 2020 sten queue: \n+0000e080: 2020 2020 2020 4c69 7374 656e 2028 7072 Listen (pr\n+0000e090: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n+0000e0a0: 6520 2036 290a 2a20 4669 6e64 696e 6720 e 6).* Finding \n+0000e0b0: 4164 6153 6f63 6b65 7473 206f 6e20 7468 AdaSockets on th\n+0000e0c0: 6520 496e 7465 726e 6574 3a20 2020 2052 e Internet: R\n+0000e0d0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n+0000e0e0: 496e 7465 726e 6574 2e0a 2020 2020 2020 Internet.. \n+0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e120: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000e130: 3629 0a2a 2047 6574 3a20 2020 2020 2020 6).* Get: \n 0000e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e150: 2020 286c 696e 6520 3230 290a 2a20 4973 (line 20).* Is\n-0000e160: 5f49 505f 4164 6472 6573 733a 2020 2020 _IP_Address: \n-0000e170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e180: 2020 2020 2049 735f 4950 5f41 6464 7265 Is_IP_Addre\n-0000e190: 7373 2028 6675 6e63 7469 6f6e 292e 0a20 ss (function).. \n-0000e1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e150: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n+0000e160: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+0000e170: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n+0000e180: 7473 6f63 6b6f 7074 3a20 2020 2020 2020 tsockopt: \n+0000e190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1a0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+0000e1b0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n 0000e1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e1d0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000e1e0: 696e 6520 2039 290a 2a20 4c46 3a20 2020 ine 9).* LF: \n-0000e1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e210: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n-0000e220: 696f 6e29 2e20 2028 6c69 6e65 2032 3129 ion). (line 21)\n-0000e230: 0a2a 204c 4620 3c31 3e3a 2020 2020 2020 .* LF <1>: \n-0000e240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e250: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n-0000e260: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000e270: 286c 696e 6520 3138 290a 2a20 4c46 203c (line 18).* LF <\n-0000e280: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0000e290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2a0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro\n-0000e2b0: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n-0000e2c0: 3729 0a2a 204c 6973 7465 6e3a 2020 2020 7).* Listen: \n-0000e2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2e0: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n-0000e2f0: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). \n-0000e300: 2020 286c 696e 6520 2039 290a 2a20 4c69 (line 9).* Li\n-0000e310: 7374 656e 2071 7565 7565 3a20 2020 2020 sten queue: \n-0000e320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e330: 2020 2020 204c 6973 7465 6e20 2870 726f Listen (pro\n-0000e340: 6365 6475 7265 292e 2020 2028 6c69 6e65 cedure). (line\n-0000e350: 2020 3629 0a2a 204d 616e 6970 756c 6174 6).* Manipulat\n-0000e360: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n-0000e370: 6e73 3a20 2020 2020 2020 2020 2020 4765 ns: Ge\n-0000e380: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000e390: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000e3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e200: 6520 2039 290a 2a20 4765 745f 4368 6172 e 9).* Get_Char\n+0000e210: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e220: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e230: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+0000e240: 6e29 2e20 2028 6c69 6e65 2020 3929 0a2a n). (line 9).*\n+0000e250: 2047 6574 5f4c 696e 653a 2020 2020 2020 Get_Line: \n+0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e270: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+0000e280: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000e290: 696e 6520 2039 290a 2a20 4765 745f 4c69 ine 9).* Get_Li\n+0000e2a0: 6e65 203c 313e 3a20 2020 2020 2020 2020 ne <1>: \n+0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e2c0: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+0000e2d0: 6475 7265 292e 2028 6c69 6e65 2020 3929 dure). (line 9)\n+0000e2e0: 0a2a 2047 6574 5f50 6565 725f 4164 6472 .* Get_Peer_Addr\n+0000e2f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e300: 2020 2020 2020 2020 2020 4765 745f 5065 Get_Pe\n+0000e310: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio\n+0000e320: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \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: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n+0000e370: 6574 5f50 6565 725f 506f 7274 3a20 2020 et_Peer_Port: \n+0000e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e390: 2020 2020 2020 4765 745f 5065 6572 5f50 Get_Peer_P\n+0000e3a0: 6f72 7420 2866 756e 6374 696f 6e29 2e0a ort (function)..\n 0000e3b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e3d0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000e3e0: 204d 616e 6970 756c 6174 696e 6720 736f Manipulating so\n-0000e3f0: 636b 6574 206f 7074 696f 6e73 203c 313e cket options <1>\n-0000e400: 3a20 2020 2020 2020 5365 7473 6f63 6b6f : Setsocko\n-0000e410: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e450: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e460: 6c69 6e65 2020 3629 0a2a 204d 626f 6e65 line 6).* Mbone\n-0000e470: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e490: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000e4a0: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n-0000e4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e4e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e4f0: 6c69 6e65 2020 3629 0a2a 204d 756c 7469 line 6).* Multi\n-0000e500: 6361 7374 2073 6f63 6b65 7473 3a20 2020 cast sockets: \n-0000e510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e520: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000e530: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n-0000e540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e570: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e580: 6c69 6e65 2020 3629 0a2a 204d 756c 7469 line 6).* Multi\n-0000e590: 6361 7374 5f53 6f63 6b65 745f 4644 3a20 cast_Socket_FD: \n-0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e5b0: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n-0000e5c0: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n-0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e5e0: 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 2028 (\n+0000e3f0: 6c69 6e65 2020 3929 0a2a 2047 6574 5f52 line 9).* Get_R\n+0000e400: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n+0000e410: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0000e420: 2020 4765 745f 5265 6365 6976 655f 5175 Get_Receive_Qu\n+0000e430: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n+0000e440: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \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 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000e490: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+0000e4a0: 697a 653a 2020 2020 2020 2020 2020 2020 ize: \n+0000e4b0: 2020 2020 2020 2047 6574 5f53 656e 645f Get_Send_\n+0000e4c0: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n+0000e4d0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+0000e4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e510: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000e520: 2a20 4765 745f 536f 636b 5f41 6464 723a * Get_Sock_Addr:\n+0000e530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e540: 2020 2020 2020 2020 2047 6574 5f53 6f63 Get_Soc\n+0000e550: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function\n+0000e560: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000e570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5a0: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n+0000e5b0: 745f 536f 636b 5f50 6f72 743a 2020 2020 t_Sock_Port: \n+0000e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5d0: 2020 2020 2047 6574 5f53 6f63 6b5f 506f Get_Sock_Po\n+0000e5e0: 7274 2028 6675 6e63 7469 6f6e 292e 0a20 rt (function).. \n 0000e5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e600: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e610: 6c69 6e65 2031 3629 0a2a 204d 756c 7469 line 16).* Multi\n-0000e620: 6361 7374 5f53 6f63 6b65 745f 4644 203c cast_Socket_FD <\n-0000e630: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000e640: 2020 536f 636b 6574 732e 4d75 6c74 6963 Sockets.Multic\n-0000e650: 6173 7420 7061 636b 6167 652e 0a20 2020 ast package.. \n-0000e660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e620: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000e630: 696e 6520 2039 290a 2a20 4772 6f75 7020 ine 9).* Group \n+0000e640: 636f 6d6d 756e 6963 6174 696f 6e3a 2020 communication: \n+0000e650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e660: 2053 6574 7469 6e67 2075 7020 6d75 6c74 Setting up mult\n+0000e670: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n 0000e680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e690: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000e6a0: 6520 2038 290a 2a20 4e61 6d65 5f4f 663a e 8).* Name_Of:\n-0000e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6c0: 2020 2020 2020 2020 2020 2020 2020 204e N\n-0000e6d0: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n-0000e6e0: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n-0000e6f0: 204e 616d 696e 675f 4572 726f 723a 2020 Naming_Error: \n-0000e700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e710: 2020 2020 2020 2020 4164 6472 6573 735f Address_\n-0000e720: 4f66 2028 6675 6e63 7469 6f6e 292e 0a20 Of (function).. \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 2020 2020 2020 286c (l\n+0000e6c0: 696e 6520 2036 290a 2a20 4861 6e64 6c69 ine 6).* Handli\n+0000e6d0: 6e67 2061 206e 6577 2063 6f6e 6e65 6374 ng a new connect\n+0000e6e0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+0000e6f0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+0000e700: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000e710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e720: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e760: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000e770: 696e 6520 3231 290a 2a20 4e61 6d69 6e67 ine 21).* Naming\n-0000e780: 5f45 7272 6f72 203c 313e 3a20 2020 2020 _Error <1>: \n-0000e790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7a0: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72 Info_Of_Name_Or\n-0000e7b0: 5f49 5020 2866 756e 6374 696f 6e29 2e0a _IP (function)..\n+0000e740: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e750: 2020 3629 0a2a 2048 6f73 745f 456e 7472 6).* Host_Entr\n+0000e760: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n+0000e770: 2020 2020 2020 2020 2020 2020 2020 536f So\n+0000e780: 636b 6574 732e 4e61 6d69 6e67 2070 6163 ckets.Naming pac\n+0000e790: 6b61 6765 2e0a 2020 2020 2020 2020 2020 kage.. \n+0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7f0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000e800: 6c69 6e65 2032 3529 0a2a 204e 616d 696e line 25).* Namin\n-0000e810: 675f 4572 726f 7220 3c32 3e3a 2020 2020 g_Error <2>: \n-0000e820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e830: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct\n-0000e840: 696f 6e29 2e20 2020 286c 696e 6520 3230 ion). (line 20\n-0000e850: 290a 2a20 4e65 775f 4c69 6e65 3a20 2020 ).* New_Line: \n-0000e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e870: 2020 2020 2020 2020 2020 204e 6577 5f4c New_L\n-0000e880: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000e890: 2028 6c69 6e65 2020 3929 0a2a 2050 465f (line 9).* PF_\n-0000e8a0: 494e 4554 3a20 2020 2020 2020 2020 2020 INET: \n-0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e8c0: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-0000e8d0: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-0000e8e0: 3139 290a 2a20 5075 743a 2020 2020 2020 19).* Put: \n-0000e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e900: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n-0000e910: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n-0000e920: 2020 2028 6c69 6e65 2020 3929 0a2a 2050 (line 9).* P\n-0000e930: 7574 5f4c 696e 653a 2020 2020 2020 2020 ut_Line: \n-0000e940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e950: 2020 2020 2020 5075 745f 4c69 6e65 2028 Put_Line (\n-0000e960: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n-0000e970: 6520 2039 290a 2a20 5261 7720 6461 7461 e 9).* Raw data\n-0000e980: 206d 616e 6970 756c 6174 696f 6e3a 2020 manipulation: \n-0000e990: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000e9a0: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n-0000e9b0: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n-0000e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7d0: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).*\n+0000e7e0: 2048 6f73 745f 4e61 6d65 3a20 2020 2020 Host_Name: \n+0000e7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e800: 2020 2020 2020 2020 486f 7374 5f4e 616d Host_Nam\n+0000e810: 6520 2866 756e 6374 696f 6e29 2e20 286c e (function). (l\n+0000e820: 696e 6520 2039 290a 2a20 496d 6167 653a ine 9).* Image:\n+0000e830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e850: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n+0000e860: 292e 2020 2020 2028 6c69 6e65 2020 3929 ). (line 9)\n+0000e870: 0a2a 2049 6e66 6f5f 4f66 5f4e 616d 655f .* Info_Of_Name_\n+0000e880: 4f72 5f49 503a 2020 2020 2020 2020 2020 Or_IP: \n+0000e890: 2020 2020 2020 2020 2020 496e 666f 5f4f Info_O\n+0000e8a0: 665f 4e61 6d65 5f4f 725f 4950 2028 6675 f_Name_Or_IP (fu\n+0000e8b0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \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 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000e900: 290a 2a20 496e 7374 616c 6c69 6e67 2041 ).* Installing A\n+0000e910: 6461 536f 636b 6574 733a 2020 2020 2020 daSockets: \n+0000e920: 2020 2020 2020 2020 2020 2049 6e73 7461 Insta\n+0000e930: 6c6c 696e 6720 4164 6153 6f63 6b65 7473 lling AdaSockets\n+0000e940: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000e950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e980: 2028 6c69 6e65 2020 3629 0a2a 2049 5050 (line 6).* IPP\n+0000e990: 524f 544f 5f49 503a 2020 2020 2020 2020 ROTO_IP: \n+0000e9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e9b0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+0000e9c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n 0000e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e9f0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000ea00: 2052 6563 6569 7665 3a20 2020 2020 2020 Receive: \n-0000ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea20: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n-0000ea30: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n-0000ea40: 696e 6520 2039 290a 2a20 5265 6365 6976 ine 9).* Receiv\n-0000ea50: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000ea10: 2032 3029 0a2a 2049 5050 524f 544f 5f49 20).* IPPROTO_I\n+0000ea20: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: \n+0000ea30: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000ea40: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000ea50: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 0000ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ea70: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-0000ea80: 7572 6529 2e20 2028 6c69 6e65 2020 3929 ure). (line 9)\n-0000ea90: 0a2a 2052 6563 6569 7665 203c 323e 3a20 .* Receive <2>: \n-0000eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eab0: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n-0000eac0: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n-0000ead0: 286c 696e 6520 3137 290a 2a20 5265 6365 (line 17).* Rece\n-0000eae0: 6976 655f 536f 6d65 3a20 2020 2020 2020 ive_Some: \n+0000ea70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea90: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+0000eaa0: 2049 505f 4144 445f 4d45 4d42 4552 5348 IP_ADD_MEMBERSH\n+0000eab0: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: \n+0000eac0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+0000ead0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb00: 2020 2052 6563 6569 7665 5f53 6f6d 6520 Receive_Some \n-0000eb10: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000eb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eb50: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000eb60: 6520 2039 290a 2a20 5265 6365 6976 696e e 9).* Receivin\n-0000eb70: 6720 6461 7461 3a20 2020 2020 2020 2020 g data: \n-0000eb80: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000eb90: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei\n-0000eba0: 7669 6e67 2064 6174 612e 0a20 2020 2020 ving data.. \n-0000ebb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebe0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000ebf0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000ec00: 6461 7461 203c 313e 3a20 2020 2020 2020 data <1>: \n-0000ec10: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000ec20: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n-0000ec30: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-0000ec40: 6563 6569 7669 6e67 2064 6174 6120 3c32 eceiving data <2\n-0000ec50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000ec60: 2020 2020 2020 4765 745f 4368 6172 2028 Get_Char (\n-0000ec70: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n-0000ec80: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n-0000ec90: 6720 6461 7461 203c 333e 3a20 2020 2020 g data <3>: \n-0000eca0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000ecb0: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-0000ecc0: 6e29 2e20 2028 6c69 6e65 2020 3629 0a2a n). (line 6).*\n-0000ecd0: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n-0000ece0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-0000ecf0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000ed00: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000ed10: 696e 6520 2036 290a 2a20 5265 6365 6976 ine 6).* Receiv\n-0000ed20: 696e 6720 6461 7461 203c 353e 3a20 2020 ing data <5>: \n+0000eb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000eb20: 6c69 6e65 2032 3029 0a2a 2049 505f 4144 line 20).* IP_AD\n+0000eb30: 445f 4d45 4d42 4552 5348 4950 203c 313e D_MEMBERSHIP <1>\n+0000eb40: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000eb50: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+0000eb60: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000eb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eba0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000ebb0: 3029 0a2a 2049 505f 4452 4f50 5f4d 454d 0).* IP_DROP_MEM\n+0000ebc0: 4245 5253 4849 503a 2020 2020 2020 2020 BERSHIP: \n+0000ebd0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+0000ebe0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+0000ebf0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+0000ec00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec30: 2020 2028 6c69 6e65 2032 3029 0a2a 2049 (line 20).* I\n+0000ec40: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI\n+0000ec50: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: \n+0000ec60: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+0000ec70: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000ec80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecb0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000ecc0: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54 ne 20).* IP_MULT\n+0000ecd0: 4943 4153 545f 4c4f 4f50 3a20 2020 2020 ICAST_LOOP: \n+0000ece0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecf0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+0000ed00: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed40: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n-0000ed50: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n-0000ed60: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-0000ed70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ed90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eda0: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-0000edb0: 6563 6569 7669 6e67 2064 6174 6120 3c36 eceiving data <6\n-0000edc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000edd0: 2020 2020 2020 5265 6365 6976 6520 2866 Receive (f\n-0000ede0: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-0000edf0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n-0000ee00: 6720 6461 7461 203c 373e 3a20 2020 2020 g data <7>: \n-0000ee10: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000ee20: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-0000ee30: 6529 2e20 2028 6c69 6e65 2020 3629 0a2a e). (line 6).*\n-0000ee40: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n-0000ee50: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: \n-0000ee60: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n-0000ee70: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-0000ee80: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000ee90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed40: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+0000ed50: 0a2a 2049 505f 4d55 4c54 4943 4153 545f .* IP_MULTICAST_\n+0000ed60: 4c4f 4f50 203c 313e 3a20 2020 2020 2020 LOOP <1>: \n+0000ed70: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n+0000ed80: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000ed90: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000eda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edd0: 2028 6c69 6e65 2032 3029 0a2a 2049 505f (line 20).* IP_\n+0000ede0: 4d55 4c54 4943 4153 545f 5454 4c3a 2020 MULTICAST_TTL: \n+0000edf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee00: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+0000ee10: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000ee20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee50: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000ee60: 2032 3029 0a2a 2049 505f 4d55 4c54 4943 20).* IP_MULTIC\n+0000ee70: 4153 545f 5454 4c20 3c31 3e3a 2020 2020 AST_TTL <1>: \n+0000ee80: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000ee90: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000eea0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eec0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-0000eed0: 6569 7669 6e67 2064 6174 6120 3c39 3e3a eiving data <9>:\n-0000eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eef0: 2020 2020 5365 745f 4275 6666 6572 2028 Set_Buffer (\n-0000ef00: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000ef10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000ef50: 2020 3629 0a2a 2052 6570 6f72 7469 6e67 6).* Reporting\n-0000ef60: 2061 2062 7567 3a20 2020 2020 2020 2020 a bug: \n-0000ef70: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-0000ef80: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n-0000ef90: 6e74 6572 6e65 742e 0a20 2020 2020 2020 nternet.. \n-0000efa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000efb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000efc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000efd0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000efe0: 290a 2a20 5265 7072 6573 656e 7469 6e67 ).* Representing\n-0000eff0: 2049 5020 6164 6472 6573 7365 733a 2020 IP addresses: \n-0000f000: 2020 2020 2020 2020 2020 2049 6d61 6765 Image\n-0000f010: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n-0000f020: 2028 6c69 6e65 2020 3629 0a2a 2052 6570 (line 6).* Rep\n-0000f030: 7265 7365 6e74 696e 6720 4950 2061 6464 resenting IP add\n-0000f040: 7265 7373 6573 203c 313e 3a20 2020 2020 resses <1>: \n-0000f050: 2020 2020 5661 6c75 6520 2866 756e 6374 Value (funct\n-0000f060: 696f 6e29 2e20 2020 2020 286c 696e 6520 ion). (line \n-0000f070: 2036 290a 2a20 5265 7472 6965 7669 6e67 6).* Retrieving\n-0000f080: 2073 6f63 6b65 7420 6f70 7469 6f6e 733a socket options:\n-0000f090: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000f0a0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000f0b0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000f0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f0f0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000f100: 5365 6e64 3a20 2020 2020 2020 2020 2020 Send: \n-0000f110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f120: 2020 2020 2020 2053 656e 6420 2870 726f Send (pro\n-0000f130: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n-0000f140: 6e65 2020 3929 0a2a 2053 656e 6420 3c31 ne 9).* Send <1\n-0000f150: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000f160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f170: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n-0000f180: 7572 6529 2e20 286c 696e 6520 3137 290a ure). (line 17).\n-0000f190: 2a20 5365 6e64 696e 6720 6461 7461 3a20 * Sending data: \n-0000f1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1b0: 2020 2020 2020 2020 2053 656e 6469 6e67 Sending\n-0000f1c0: 2061 6e64 2072 6563 6569 7669 6e67 2064 and receiving d\n-0000f1d0: 6174 612e 0a20 2020 2020 2020 2020 2020 ata.. \n+0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eee0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+0000eef0: 2049 735f 4950 5f41 6464 7265 7373 3a20 Is_IP_Address: \n+0000ef00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef10: 2020 2020 2020 2020 4973 5f49 505f 4164 Is_IP_Ad\n+0000ef20: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n+0000ef30: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef70: 2028 6c69 6e65 2020 3929 0a2a 204c 463a (line 9).* LF:\n+0000ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000efa0: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n+0000efb0: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n+0000efc0: 3231 290a 2a20 4c46 203c 313e 3a20 2020 21).* LF <1>: \n+0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000efe0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000eff0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+0000f000: 292e 2028 6c69 6e65 2031 3829 0a2a 204c ). (line 18).* L\n+0000f010: 4620 3c32 3e3a 2020 2020 2020 2020 2020 F <2>: \n+0000f020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f030: 2020 2020 2020 4e65 775f 4c69 6e65 2028 New_Line (\n+0000f040: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000f050: 6520 3137 290a 2a20 4c69 7374 656e 3a20 e 17).* Listen: \n+0000f060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f070: 2020 2020 2020 2020 2020 2020 2020 204c L\n+0000f080: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+0000f090: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n+0000f0a0: 204c 6973 7465 6e20 7175 6575 653a 2020 Listen queue: \n+0000f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f0c0: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n+0000f0d0: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+0000f0e0: 696e 6520 2036 290a 2a20 4d61 6e69 7075 ine 6).* Manipu\n+0000f0f0: 6c61 7469 6e67 2073 6f63 6b65 7420 6f70 lating socket op\n+0000f100: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n+0000f110: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+0000f120: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000f130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f160: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000f170: 290a 2a20 4d61 6e69 7075 6c61 7469 6e67 ).* Manipulating\n+0000f180: 2073 6f63 6b65 7420 6f70 7469 6f6e 7320 socket options \n+0000f190: 3c31 3e3a 2020 2020 2020 2053 6574 736f <1>: Setso\n+0000f1a0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+0000f1b0: 292e 0a20 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 2020 2020 \n-0000f1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f210: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000f220: 5365 6e64 696e 6720 6461 7461 203c 313e Sending data <1>\n-0000f230: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f240: 2020 2020 2020 2047 6574 5f53 656e 645f Get_Send_\n-0000f250: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n-0000f260: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+0000f1f0: 2020 286c 696e 6520 2036 290a 2a20 4d62 (line 6).* Mb\n+0000f200: 6f6e 653a 2020 2020 2020 2020 2020 2020 one: \n+0000f210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f220: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000f230: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000f240: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000f2b0: 2a20 5365 6e64 696e 6720 6461 7461 203c * Sending data <\n-0000f2c0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0000f2d0: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin\n-0000f2e0: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n-0000f2f0: 6c69 6e65 2020 3629 0a2a 2053 656e 6469 line 6).* Sendi\n-0000f300: 6e67 2064 6174 6120 3c33 3e3a 2020 2020 ng data <3>: \n-0000f310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f320: 2020 5075 7420 2870 726f 6365 6475 7265 Put (procedure\n-0000f330: 292e 2020 2020 2020 286c 696e 6520 2036 ). (line 6\n-0000f340: 290a 2a20 5365 6e64 696e 6720 6461 7461 ).* Sending data\n-0000f350: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0000f360: 2020 2020 2020 2020 2020 2050 7574 5f4c Put_L\n-0000f370: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000f380: 2028 6c69 6e65 2020 3629 0a2a 2053 656e (line 6).* Sen\n-0000f390: 6469 6e67 2064 6174 6120 3c35 3e3a 2020 ding data <5>: \n-0000f3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f3b0: 2020 2020 5365 6e64 2028 7072 6f63 6564 Send (proced\n-0000f3c0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n-0000f3d0: 2036 290a 2a20 5365 6e64 696e 6720 7061 6).* Sending pa\n-0000f3e0: 7463 6865 733a 2020 2020 2020 2020 2020 tches: \n-0000f3f0: 2020 2020 2020 2020 2020 2020 2052 6573 Res\n-0000f400: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000f410: 7465 726e 6574 2e0a 2020 2020 2020 2020 ternet.. \n-0000f420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f450: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000f460: 0a2a 2053 6574 736f 636b 6f70 743a 2020 .* Setsockopt: \n-0000f470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f480: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n-0000f490: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-0000f4a0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f280: 2020 286c 696e 6520 2036 290a 2a20 4d75 (line 6).* Mu\n+0000f290: 6c74 6963 6173 7420 736f 636b 6574 733a lticast sockets:\n+0000f2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2b0: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000f2c0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000f2d0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f310: 2020 286c 696e 6520 2036 290a 2a20 4d75 (line 6).* Mu\n+0000f320: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n+0000f330: 443a 2020 2020 2020 2020 2020 2020 2020 D: \n+0000f340: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000f350: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000f360: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3a0: 2020 286c 696e 6520 3136 290a 2a20 4d75 (line 16).* Mu\n+0000f3b0: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n+0000f3c0: 4420 3c31 3e3a 2020 2020 2020 2020 2020 D <1>: \n+0000f3d0: 2020 2020 2053 6f63 6b65 7473 2e4d 756c Sockets.Mul\n+0000f3e0: 7469 6361 7374 2070 6163 6b61 6765 2e0a ticast package..\n+0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f420: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000f430: 6c69 6e65 2020 3829 0a2a 204e 616d 655f line 8).* Name_\n+0000f440: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: \n+0000f450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f460: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct\n+0000f470: 696f 6e29 2e20 2020 286c 696e 6520 2039 ion). (line 9\n+0000f480: 290a 2a20 4e61 6d69 6e67 5f45 7272 6f72 ).* Naming_Error\n+0000f490: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f4a0: 2020 2020 2020 2020 2020 2041 6464 7265 Addre\n+0000f4b0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000f4c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0000f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4e0: 2028 6c69 6e65 2020 3929 0a2a 2053 6574 (line 9).* Set\n-0000f4f0: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti\n-0000f500: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: \n-0000f510: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-0000f520: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000f530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f560: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000f570: 2020 3629 0a2a 2053 6574 5f42 7566 6665 6).* Set_Buffe\n-0000f580: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-0000f590: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000f5a0: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-0000f5b0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000f5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f5f0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000f600: 2053 6875 7464 6f77 6e3a 2020 2020 2020 Shutdown: \n-0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f620: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n-0000f630: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000f640: 696e 6520 2039 290a 2a20 536f 636b 6574 ine 9).* Socket\n-0000f650: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f670: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-0000f680: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+0000f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f500: 2028 6c69 6e65 2032 3129 0a2a 204e 616d (line 21).* Nam\n+0000f510: 696e 675f 4572 726f 7220 3c31 3e3a 2020 ing_Error <1>: \n+0000f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f530: 2020 2020 496e 666f 5f4f 665f 4e61 6d65 Info_Of_Name\n+0000f540: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+0000f550: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f590: 2020 286c 696e 6520 3235 290a 2a20 4e61 (line 25).* Na\n+0000f5a0: 6d69 6e67 5f45 7272 6f72 203c 323e 3a20 ming_Error <2>: \n+0000f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f5c0: 2020 2020 204e 616d 655f 4f66 2028 6675 Name_Of (fu\n+0000f5d0: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n+0000f5e0: 2032 3029 0a2a 204e 6577 5f4c 696e 653a 20).* New_Line:\n+0000f5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f600: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n+0000f610: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n+0000f620: 6529 2e20 286c 696e 6520 2039 290a 2a20 e). (line 9).* \n+0000f630: 5046 5f49 4e45 543a 2020 2020 2020 2020 PF_INET: \n+0000f640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f650: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p\n+0000f660: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li\n+0000f670: 6e65 2031 3929 0a2a 2050 7574 3a20 2020 ne 19).* Put: \n+0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f6c0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000f6d0: 6520 2036 290a 2a20 536f 636b 6574 203c e 6).* Socket <\n-0000f6e0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000f6f0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000f700: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-0000f710: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n-0000f720: 2053 6f63 6b65 7420 7368 7574 646f 776e Socket shutdown\n-0000f730: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000f740: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n-0000f750: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000f760: 696e 6520 2036 290a 2a20 536f 636b 6574 ine 6).* Socket\n-0000f770: 732e 4163 6365 7074 5f53 6f63 6b65 743a s.Accept_Socket:\n-0000f780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f790: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n-0000f7a0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000f7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7e0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000f7f0: 2031 3129 0a2a 2053 6f63 6b65 7473 2e42 11).* Sockets.B\n-0000f800: 696e 643a 2020 2020 2020 2020 2020 2020 ind: \n-0000f810: 2020 2020 2020 2020 2020 2020 2020 4269 Bi\n-0000f820: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-0000f830: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* \n-0000f840: 536f 636b 6574 732e 436f 6e6e 6563 743a Sockets.Connect:\n-0000f850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f860: 2020 2020 2020 2043 6f6e 6e65 6374 2028 Connect (\n-0000f870: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n-0000f880: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n-0000f890: 2e47 6574 3a20 2020 2020 2020 2020 2020 .Get: \n-0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f8b0: 4765 7420 2866 756e 6374 696f 6e29 2e20 Get (function). \n-0000f8c0: 2020 2020 2020 286c 696e 6520 3131 290a (line 11).\n-0000f8d0: 2a20 536f 636b 6574 732e 4765 7473 6f63 * Sockets.Getsoc\n-0000f8e0: 6b6f 7074 3a20 2020 2020 2020 2020 2020 kopt: \n-0000f8f0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-0000f900: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000f910: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000f920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6a0: 5075 7420 2870 726f 6365 6475 7265 292e Put (procedure).\n+0000f6b0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000f6c0: 2a20 5075 745f 4c69 6e65 3a20 2020 2020 * Put_Line: \n+0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6e0: 2020 2020 2020 2020 2050 7574 5f4c 696e Put_Lin\n+0000f6f0: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+0000f700: 6c69 6e65 2020 3929 0a2a 2052 6177 2064 line 9).* Raw d\n+0000f710: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e ata manipulation\n+0000f720: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f730: 2020 5261 7720 6461 7461 206d 616e 6970 Raw data manip\n+0000f740: 756c 6174 696f 6e2e 0a20 2020 2020 2020 ulation.. \n+0000f750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f780: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000f790: 290a 2a20 5265 6365 6976 653a 2020 2020 ).* Receive: \n+0000f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f7b0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000f7c0: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n+0000f7d0: 2028 6c69 6e65 2020 3929 0a2a 2052 6563 (line 9).* Rec\n+0000f7e0: 6569 7665 203c 313e 3a20 2020 2020 2020 eive <1>: \n+0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f800: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro\n+0000f810: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n+0000f820: 2039 290a 2a20 5265 6365 6976 6520 3c32 9).* Receive <2\n+0000f830: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f840: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+0000f850: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n+0000f860: 292e 2028 6c69 6e65 2031 3729 0a2a 2052 ). (line 17).* R\n+0000f870: 6563 6569 7665 5f53 6f6d 653a 2020 2020 eceive_Some: \n+0000f880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f890: 2020 2020 2020 5265 6365 6976 655f 536f Receive_So\n+0000f8a0: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\n+0000f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000f8f0: 6c69 6e65 2020 3929 0a2a 2052 6563 6569 line 9).* Recei\n+0000f900: 7669 6e67 2064 6174 613a 2020 2020 2020 ving data: \n+0000f910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f920: 2020 5365 6e64 696e 6720 616e 6420 7265 Sending and re\n+0000f930: 6365 6976 696e 6720 6461 7461 2e0a 2020 ceiving data.. \n 0000f940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f950: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n-0000f960: 6574 732e 4765 745f 4368 6172 3a20 2020 ets.Get_Char: \n-0000f970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f980: 2020 2047 6574 5f43 6861 7220 2866 756e Get_Char (fun\n-0000f990: 6374 696f 6e29 2e20 2028 6c69 6e65 2031 ction). (line 1\n-0000f9a0: 3129 0a2a 2053 6f63 6b65 7473 2e47 6574 1).* Sockets.Get\n-0000f9b0: 5f4c 696e 653a 2020 2020 2020 2020 2020 _Line: \n-0000f9c0: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n-0000f9d0: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e Line (function).\n-0000f9e0: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n-0000f9f0: 636b 6574 732e 4765 745f 4c69 6e65 203c ckets.Get_Line <\n-0000fa00: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000fa10: 2020 2020 2047 6574 5f4c 696e 6520 2870 Get_Line (p\n-0000fa20: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n-0000fa30: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47 11).* Sockets.G\n-0000fa40: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-0000fa50: 5f53 697a 653a 2020 2020 2020 2020 4765 _Size: Ge\n-0000fa60: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n-0000fa70: 5369 7a65 2028 6675 6e63 7469 6f6e 292e Size (function).\n-0000fa80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000fa90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000faa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fac0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n-0000fad0: 6574 732e 4765 745f 5365 6e64 5f51 7565 ets.Get_Send_Que\n-0000fae0: 7565 5f53 697a 653a 2020 2020 2020 2020 ue_Size: \n-0000faf0: 2020 2047 6574 5f53 656e 645f 5175 6575 Get_Send_Queu\n-0000fb00: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n-0000fb10: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000f950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f970: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000f980: 6e65 2020 3629 0a2a 2052 6563 6569 7669 ne 6).* Receivi\n+0000f990: 6e67 2064 6174 6120 3c31 3e3a 2020 2020 ng data <1>: \n+0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9b0: 4765 7420 2866 756e 6374 696f 6e29 2e20 Get (function). \n+0000f9c0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000f9d0: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n+0000f9e0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0000f9f0: 2020 2020 2020 2020 2047 6574 5f43 6861 Get_Cha\n+0000fa00: 7220 2866 756e 6374 696f 6e29 2e20 2028 r (function). (\n+0000fa10: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n+0000fa20: 7669 6e67 2064 6174 6120 3c33 3e3a 2020 ving data <3>: \n+0000fa30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa40: 2020 4765 745f 4c69 6e65 2028 6675 6e63 Get_Line (func\n+0000fa50: 7469 6f6e 292e 2020 286c 696e 6520 2036 tion). (line 6\n+0000fa60: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fa70: 7461 203c 343e 3a20 2020 2020 2020 2020 ta <4>: \n+0000fa80: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n+0000fa90: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n+0000faa0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fab0: 6569 7669 6e67 2064 6174 6120 3c35 3e3a eiving data <5>:\n+0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fad0: 2020 2020 4765 745f 5265 6365 6976 655f Get_Receive_\n+0000fae0: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func\n+0000faf0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \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: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fb50: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n-0000fb60: 636b 6574 732e 4950 5052 4f54 4f5f 4950 ckets.IPPROTO_IP\n-0000fb70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000fb80: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-0000fb90: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000fb30: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000fb40: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n+0000fb50: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: \n+0000fb60: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+0000fb70: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n+0000fb80: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n+0000fb90: 7669 6e67 2064 6174 6120 3c37 3e3a 2020 ving data <7>: \n 0000fba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fbc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fbd0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000fbe0: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n-0000fbf0: 4950 5052 4f54 4f5f 4950 203c 313e 3a20 IPPROTO_IP <1>: \n-0000fc00: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000fc10: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000fc20: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000fbb0: 2020 5265 6365 6976 6520 2870 726f 6365 Receive (proce\n+0000fbc0: 6475 7265 292e 2020 286c 696e 6520 2036 dure). (line 6\n+0000fbd0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fbe0: 7461 203c 383e 3a20 2020 2020 2020 2020 ta <8>: \n+0000fbf0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000fc00: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n+0000fc10: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000fc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fc60: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-0000fc70: 2a20 536f 636b 6574 732e 4950 5f41 4444 * Sockets.IP_ADD\n-0000fc80: 5f4d 454d 4245 5253 4849 503a 2020 2020 _MEMBERSHIP: \n-0000fc90: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-0000fca0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000fcb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000fc50: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000fc60: 5265 6365 6976 696e 6720 6461 7461 203c Receiving data <\n+0000fc70: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: \n+0000fc80: 2020 2020 2020 2053 6574 5f42 7566 6665 Set_Buffe\n+0000fc90: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n+0000fca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fcf0: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock\n-0000fd00: 6574 732e 4950 5f41 4444 5f4d 454d 4245 ets.IP_ADD_MEMBE\n-0000fd10: 5253 4849 5020 3c31 3e3a 2020 2020 2020 RSHIP <1>: \n-0000fd20: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-0000fd30: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000fcd0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000fce0: 696e 6520 2036 290a 2a20 5265 6365 6976 ine 6).* Receiv\n+0000fcf0: 696e 6720 6461 7461 203c 3130 3e3a 2020 ing data <10>: \n+0000fd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd10: 2055 6e73 6574 5f42 7566 6665 7220 2870 Unset_Buffer (p\n+0000fd20: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000fd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fd70: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000fd80: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP\n-0000fd90: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n-0000fda0: 3a20 2020 2020 2020 2020 2020 2047 6574 : Get\n-0000fdb0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000fdc0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000fd60: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000fd70: 2036 290a 2a20 5265 706f 7274 696e 6720 6).* Reporting \n+0000fd80: 6120 6275 673a 2020 2020 2020 2020 2020 a bug: \n+0000fd90: 2020 2020 2020 2020 2020 2020 2052 6573 Res\n+0000fda0: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n+0000fdb0: 7465 726e 6574 2e0a 2020 2020 2020 2020 ternet.. \n+0000fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fdf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fe00: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-0000fe10: 536f 636b 6574 732e 4950 5f44 524f 505f Sockets.IP_DROP_\n-0000fe20: 4d45 4d42 4552 5348 4950 203c 313e 3a20 MEMBERSHIP <1>: \n-0000fe30: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-0000fe40: 7420 2870 726f 6365 6475 7265 292e 0a20 t (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 3230 290a 2a20 536f 636b 6574 ine 20).* Socket\n-0000fea0: 732e 4950 5f4d 554c 5449 4341 5354 5f4c s.IP_MULTICAST_L\n-0000feb0: 4f4f 503a 2020 2020 2020 2020 2020 2020 OOP: \n-0000fec0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000fed0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000fdf0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000fe00: 0a2a 2052 6570 7265 7365 6e74 696e 6720 .* Representing \n+0000fe10: 4950 2061 6464 7265 7373 6573 3a20 2020 IP addresses: \n+0000fe20: 2020 2020 2020 2020 2020 496d 6167 6520 Image \n+0000fe30: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+0000fe40: 286c 696e 6520 2036 290a 2a20 5265 7072 (line 6).* Repr\n+0000fe50: 6573 656e 7469 6e67 2049 5020 6164 6472 esenting IP addr\n+0000fe60: 6573 7365 7320 3c31 3e3a 2020 2020 2020 esses <1>: \n+0000fe70: 2020 2056 616c 7565 2028 6675 6e63 7469 Value (functi\n+0000fe80: 6f6e 292e 2020 2020 2028 6c69 6e65 2020 on). (line \n+0000fe90: 3629 0a2a 2052 6574 7269 6576 696e 6720 6).* Retrieving \n+0000fea0: 736f 636b 6574 206f 7074 696f 6e73 3a20 socket options: \n+0000feb0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+0000fec0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+0000fed0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2020 \n-0000ff10: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-0000ff20: 290a 2a20 536f 636b 6574 732e 4950 5f4d ).* Sockets.IP_M\n-0000ff30: 554c 5449 4341 5354 5f4c 4f4f 5020 3c31 ULTICAST_LOOP <1\n-0000ff40: 3e3a 2020 2020 2020 2020 2053 6574 736f >: Setso\n-0000ff50: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000ff60: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000ff70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ff90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ffa0: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So\n-0000ffb0: 636b 6574 732e 4950 5f4d 554c 5449 4341 ckets.IP_MULTICA\n-0000ffc0: 5354 5f54 544c 3a20 2020 2020 2020 2020 ST_TTL: \n-0000ffd0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-0000ffe0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000fff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff10: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+0000ff20: 656e 643a 2020 2020 2020 2020 2020 2020 end: \n+0000ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff40: 2020 2020 2020 5365 6e64 2028 7072 6f63 Send (proc\n+0000ff50: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+0000ff60: 6520 2039 290a 2a20 5365 6e64 203c 313e e 9).* Send <1>\n+0000ff70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000ff80: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000ff90: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+0000ffa0: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).*\n+0000ffb0: 2053 656e 6469 6e67 2064 6174 613a 2020 Sending data: \n+0000ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ffd0: 2020 2020 2020 2020 5365 6e64 696e 6720 Sending \n+0000ffe0: 616e 6420 7265 6365 6976 696e 6720 6461 and receiving da\n+0000fff0: 7461 2e0a 2020 2020 2020 2020 2020 2020 ta.. \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 286c 696e (lin\n-00010030: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets.\n-00010040: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n-00010050: 203c 313e 3a20 2020 2020 2020 2020 2053 <1>: S\n-00010060: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-00010070: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-00010080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010030: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+00010040: 656e 6469 6e67 2064 6174 6120 3c31 3e3a ending data <1>:\n+00010050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010060: 2020 2020 2020 4765 745f 5365 6e64 5f51 Get_Send_Q\n+00010070: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00010080: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n 00010090: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000100b0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-000100c0: 2a20 536f 636b 6574 732e 4c69 7374 656e * Sockets.Listen\n-000100d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000100e0: 2020 2020 2020 2020 204c 6973 7465 6e20 Listen \n-000100f0: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n-00010100: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n-00010110: 7473 2e4d 756c 7469 6361 7374 2e43 7265 ts.Multicast.Cre\n-00010120: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-00010130: 636b 6574 3a20 5365 7474 696e 6720 7570 cket: Setting up\n-00010140: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-00010150: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n-00010160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010190: 2020 2028 6c69 6e65 2031 3629 0a2a 2053 (line 16).* S\n-000101a0: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n-000101b0: 2e43 7265 6174 655f 4d75 6c74 6963 6173 .Create_Multicas\n-000101c0: 745f 536f 636b 6574 203c 313e 3a20 4372 t_Socket <1>: Cr\n-000101d0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-000101e0: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n-000101f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00010200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010230: 2028 6c69 6e65 2031 3429 0a2a 2053 6f63 (line 14).* Soc\n-00010240: 6b65 7473 2e4e 616d 696e 672e 4164 6472 kets.Naming.Addr\n-00010250: 6573 735f 4f66 3a20 2020 2020 2020 2020 ess_Of: \n-00010260: 2020 2020 4164 6472 6573 735f 4f66 2028 Address_Of (\n-00010270: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n-00010280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100c0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+000100d0: 2053 656e 6469 6e67 2064 6174 6120 3c32 Sending data <2\n+000100e0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+000100f0: 2020 2020 2020 2020 4e65 775f 4c69 6e65 New_Line\n+00010100: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+00010110: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n+00010120: 6720 6461 7461 203c 333e 3a20 2020 2020 g data <3>: \n+00010130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010140: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+00010150: 2e20 2020 2020 2028 6c69 6e65 2020 3629 . (line 6)\n+00010160: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n+00010170: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n+00010180: 2020 2020 2020 2020 2020 5075 745f 4c69 Put_Li\n+00010190: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+000101a0: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n+000101b0: 696e 6720 6461 7461 203c 353e 3a20 2020 ing data <5>: \n+000101c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101d0: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu\n+000101e0: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n+000101f0: 3629 0a2a 2053 656e 6469 6e67 2070 6174 6).* Sending pat\n+00010200: 6368 6573 3a20 2020 2020 2020 2020 2020 ches: \n+00010210: 2020 2020 2020 2020 2020 2020 5265 736f Reso\n+00010220: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n+00010230: 6572 6e65 742e 0a20 2020 2020 2020 2020 ernet.. \n+00010240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010270: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+00010280: 2a20 5365 7473 6f63 6b6f 7074 3a20 2020 * Setsockopt: \n 00010290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000102b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000102c0: 3132 290a 2a20 536f 636b 6574 732e 4e61 12).* Sockets.Na\n-000102d0: 6d69 6e67 2e41 6e79 5f41 6464 7265 7373 ming.Any_Address\n-000102e0: 3a20 2020 2020 2020 2020 2020 2041 6e79 : Any\n-000102f0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n-00010300: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n-00010310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010340: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n-00010350: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n-00010360: 6574 5f50 6565 725f 4164 6472 3a20 2020 et_Peer_Addr: \n-00010370: 2020 2020 2020 2047 6574 5f50 6565 725f Get_Peer_\n-00010380: 4164 6472 2028 6675 6e63 7469 6f6e 292e Addr (function).\n-00010390: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000103a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000103d0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n-000103e0: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P\n-000103f0: 6565 725f 506f 7274 3a20 2020 2020 2020 eer_Port: \n-00010400: 2020 2047 6574 5f50 6565 725f 506f 7274 Get_Peer_Port\n-00010410: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n-00010420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000102a0: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+000102b0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+000102c0: 0a20 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 2020 2020 2020 \n+00010300: 286c 696e 6520 2039 290a 2a20 5365 7474 (line 9).* Sett\n+00010310: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n+00010320: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n+00010330: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00010340: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00010350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010380: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00010390: 2036 290a 2a20 5365 745f 4275 6666 6572 6).* Set_Buffer\n+000103a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000103b0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000103c0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+000103d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+000103e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000103f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010410: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+00010420: 5368 7574 646f 776e 3a20 2020 2020 2020 Shutdown: \n 00010430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010450: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00010460: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n-00010470: 4e61 6d69 6e67 2e47 6574 5f53 6f63 6b5f Naming.Get_Sock_\n-00010480: 4164 6472 3a20 2020 2020 2020 2020 2047 Addr: G\n-00010490: 6574 5f53 6f63 6b5f 4164 6472 2028 6675 et_Sock_Addr (fu\n-000104a0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+00010440: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n+00010450: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+00010460: 6e65 2020 3929 0a2a 2053 6f63 6b65 743a ne 9).* Socket:\n+00010470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010490: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+000104a0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \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 2020 2020 2020 286c 696e 6520 3132 (line 12\n-000104f0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n-00010500: 6e67 2e47 6574 5f53 6f63 6b5f 506f 7274 ng.Get_Sock_Port\n-00010510: 3a20 2020 2020 2020 2020 2047 6574 5f53 : Get_S\n-00010520: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n-00010530: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n-00010540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104e0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000104f0: 2020 3629 0a2a 2053 6f63 6b65 7420 3c31 6).* Socket <1\n+00010500: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00010510: 2020 2020 2020 2020 2020 2020 2020 536f So\n+00010520: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00010530: 2e20 2020 286c 696e 6520 2039 290a 2a20 . (line 9).* \n+00010540: 536f 636b 6574 2073 6875 7464 6f77 6e3a Socket shutdown:\n 00010550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010570: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n-00010580: 536f 636b 6574 732e 4e61 6d69 6e67 2e48 Sockets.Naming.H\n-00010590: 6f73 745f 4e61 6d65 3a20 2020 2020 2020 ost_Name: \n-000105a0: 2020 2020 2020 2048 6f73 745f 4e61 6d65 Host_Name\n-000105b0: 2028 6675 6e63 7469 6f6e 292e 2028 6c69 (function). (li\n-000105c0: 6e65 2031 3029 0a2a 2053 6f63 6b65 7473 ne 10).* Sockets\n-000105d0: 2e4e 616d 696e 672e 496d 6167 653a 2020 .Naming.Image: \n+00010560: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n+00010570: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+00010580: 6e65 2020 3629 0a2a 2053 6f63 6b65 7473 ne 6).* Sockets\n+00010590: 2e41 6363 6570 745f 536f 636b 6574 3a20 .Accept_Socket: \n+000105a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105b0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+000105c0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+000105d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000105e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000105f0: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function)\n-00010600: 2e20 2020 2020 286c 696e 6520 3131 290a . (line 11).\n-00010610: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n-00010620: 2e49 6e66 6f5f 4f66 5f4e 616d 655f 4f72 .Info_Of_Name_Or\n-00010630: 5f49 503a 2020 2020 2049 6e66 6f5f 4f66 _IP: Info_Of\n-00010640: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n-00010650: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-00010660: 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 286c 696e 6520 (line \n+00010610: 3131 290a 2a20 536f 636b 6574 732e 4269 11).* Sockets.Bi\n+00010620: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: \n+00010630: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n+00010640: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+00010650: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00010660: 6f63 6b65 7473 2e43 6f6e 6e65 6374 3a20 ockets.Connect: \n 00010670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010690: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n-000106a0: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n-000106b0: 672e 4973 5f49 505f 4164 6472 6573 733a g.Is_IP_Address:\n-000106c0: 2020 2020 2020 2020 2020 4973 5f49 505f Is_IP_\n-000106d0: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n-000106e0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-000106f0: 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 2020 \n-00010720: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n-00010730: 6f63 6b65 7473 2e4e 616d 696e 672e 4e61 ockets.Naming.Na\n-00010740: 6d65 5f4f 663a 2020 2020 2020 2020 2020 me_Of: \n-00010750: 2020 2020 2020 4e61 6d65 5f4f 6620 2866 Name_Of (f\n-00010760: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n-00010770: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n-00010780: 4e61 6d69 6e67 2e56 616c 7565 3a20 2020 Naming.Value: \n-00010790: 2020 2020 2020 2020 2020 2020 2020 2056 V\n-000107a0: 616c 7565 2028 6675 6e63 7469 6f6e 292e alue (function).\n-000107b0: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n-000107c0: 2053 6f63 6b65 7473 2e4e 6577 5f4c 696e Sockets.New_Lin\n-000107d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-000107e0: 2020 2020 2020 2020 4e65 775f 4c69 6e65 New_Line\n-000107f0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-00010800: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n-00010810: 732e 5075 743a 2020 2020 2020 2020 2020 s.Put: \n-00010820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010830: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n-00010840: 2e20 2020 2020 2028 6c69 6e65 2031 3129 . (line 11)\n-00010850: 0a2a 2053 6f63 6b65 7473 2e50 7574 5f4c .* Sockets.Put_L\n-00010860: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n-00010870: 2020 2020 2020 2020 2020 5075 745f 4c69 Put_Li\n-00010880: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-00010890: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n-000108a0: 6574 732e 5265 6365 6976 653a 2020 2020 ets.Receive: \n+00010680: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n+00010690: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+000106a0: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+000106b0: 4765 743a 2020 2020 2020 2020 2020 2020 Get: \n+000106c0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+000106d0: 6574 2028 6675 6e63 7469 6f6e 292e 2020 et (function). \n+000106e0: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n+000106f0: 2053 6f63 6b65 7473 2e47 6574 736f 636b Sockets.Getsock\n+00010700: 6f70 743a 2020 2020 2020 2020 2020 2020 opt: \n+00010710: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+00010720: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00010730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010760: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010770: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00010780: 7473 2e47 6574 5f43 6861 723a 2020 2020 ts.Get_Char: \n+00010790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107a0: 2020 4765 745f 4368 6172 2028 6675 6e63 Get_Char (func\n+000107b0: 7469 6f6e 292e 2020 286c 696e 6520 3131 tion). (line 11\n+000107c0: 290a 2a20 536f 636b 6574 732e 4765 745f ).* Sockets.Get_\n+000107d0: 4c69 6e65 3a20 2020 2020 2020 2020 2020 Line: \n+000107e0: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n+000107f0: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n+00010800: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00010810: 6b65 7473 2e47 6574 5f4c 696e 6520 3c31 kets.Get_Line <1\n+00010820: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00010830: 2020 2020 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n+00010840: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+00010850: 3131 290a 2a20 536f 636b 6574 732e 4765 11).* Sockets.Ge\n+00010860: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n+00010870: 5369 7a65 3a20 2020 2020 2020 2047 6574 Size: Get\n+00010880: 5f52 6563 6569 7665 5f51 7565 7565 5f53 _Receive_Queue_S\n+00010890: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n+000108a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000108b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000108c0: 2020 2052 6563 6569 7665 2028 6675 6e63 Receive (func\n-000108d0: 7469 6f6e 292e 2020 2028 6c69 6e65 2031 tion). (line 1\n-000108e0: 3229 0a2a 2053 6f63 6b65 7473 2e52 6563 2).* Sockets.Rec\n-000108f0: 6569 7665 203c 313e 3a20 2020 2020 2020 eive <1>: \n-00010900: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n-00010910: 6976 6520 2870 726f 6365 6475 7265 292e ive (procedure).\n-00010920: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n-00010930: 636b 6574 732e 5265 6365 6976 655f 536f ckets.Receive_So\n-00010940: 6d65 3a20 2020 2020 2020 2020 2020 2020 me: \n-00010950: 2020 2020 2052 6563 6569 7665 5f53 6f6d Receive_Som\n-00010960: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. \n-00010970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108d0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000108e0: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+000108f0: 7473 2e47 6574 5f53 656e 645f 5175 6575 ts.Get_Send_Queu\n+00010900: 655f 5369 7a65 3a20 2020 2020 2020 2020 e_Size: \n+00010910: 2020 4765 745f 5365 6e64 5f51 7565 7565 Get_Send_Queue\n+00010920: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+00010930: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00010940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010970: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00010980: 6b65 7473 2e49 5050 524f 544f 5f49 503a kets.IPPROTO_IP:\n 00010990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109a0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000109b0: 696e 6520 3133 290a 2a20 536f 636b 6574 ine 13).* Socket\n-000109c0: 732e 5365 6e64 3a20 2020 2020 2020 2020 s.Send: \n+000109a0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+000109b0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+000109c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000109d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000109e0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-000109f0: 292e 2020 2020 2028 6c69 6e65 2031 3129 ). (line 11)\n-00010a00: 0a2a 2053 6f63 6b65 7473 2e53 6574 736f .* Sockets.Setso\n-00010a10: 636b 6f70 743a 2020 2020 2020 2020 2020 ckopt: \n-00010a20: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n-00010a30: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00010a40: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000109e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00010a00: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n+00010a10: 5050 524f 544f 5f49 5020 3c31 3e3a 2020 PPROTO_IP <1>: \n+00010a20: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+00010a30: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00010a40: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00010a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010a80: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n-00010a90: 6b65 7473 2e53 6574 5f42 7566 6665 723a kets.Set_Buffer:\n-00010aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ab0: 2020 2020 5365 745f 4275 6666 6572 2028 Set_Buffer (\n-00010ac0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00010a80: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+00010a90: 2053 6f63 6b65 7473 2e49 505f 4144 445f Sockets.IP_ADD_\n+00010aa0: 4d45 4d42 4552 5348 4950 3a20 2020 2020 MEMBERSHIP: \n+00010ab0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+00010ac0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n 00010ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00010b10: 2031 3129 0a2a 2053 6f63 6b65 7473 2e53 11).* Sockets.S\n-00010b20: 6875 7464 6f77 6e3a 2020 2020 2020 2020 hutdown: \n-00010b30: 2020 2020 2020 2020 2020 2020 2020 5368 Sh\n-00010b40: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n-00010b50: 6529 2e20 286c 696e 6520 3131 290a 2a20 e). (line 11).* \n-00010b60: 536f 636b 6574 732e 536f 636b 6574 3a20 Sockets.Socket: \n+00010b00: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010b10: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n+00010b20: 7473 2e49 505f 4144 445f 4d45 4d42 4552 ts.IP_ADD_MEMBER\n+00010b30: 5348 4950 203c 313e 3a20 2020 2020 2020 SHIP <1>: \n+00010b40: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00010b50: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00010b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010b80: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-00010b90: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-00010ba0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-00010bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010be0: 2020 286c 696e 6520 2036 290a 2a20 536f (line 6).* So\n-00010bf0: 636b 6574 732e 536f 636b 6574 203c 313e ckets.Socket <1>\n-00010c00: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00010c10: 2020 2020 2053 6f63 6b65 7420 2870 726f Socket (pro\n-00010c20: 6365 6475 7265 292e 2020 2028 6c69 6e65 cedure). (line\n-00010c30: 2031 3229 0a2a 2053 6f63 6b65 7473 2e53 12).* Sockets.S\n-00010c40: 4f4c 5f53 4f43 4b45 543a 2020 2020 2020 OL_SOCKET: \n-00010c50: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-00010c60: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-00010c70: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+00010b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b90: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00010ba0: 3029 0a2a 2053 6f63 6b65 7473 2e49 505f 0).* Sockets.IP_\n+00010bb0: 4452 4f50 5f4d 454d 4245 5253 4849 503a DROP_MEMBERSHIP:\n+00010bc0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+00010bd0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00010be0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00010bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c20: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+00010c30: 6f63 6b65 7473 2e49 505f 4452 4f50 5f4d ockets.IP_DROP_M\n+00010c40: 454d 4245 5253 4849 5020 3c31 3e3a 2020 EMBERSHIP <1>: \n+00010c50: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+00010c60: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00010c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010cb0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00010cc0: 2053 6f63 6b65 7473 2e53 4f4c 5f53 4f43 Sockets.SOL_SOC\n-00010cd0: 4b45 5420 3c31 3e3a 2020 2020 2020 2020 KET <1>: \n-00010ce0: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-00010cf0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00010ca0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010cb0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n+00010cc0: 2e49 505f 4d55 4c54 4943 4153 545f 4c4f .IP_MULTICAST_LO\n+00010cd0: 4f50 3a20 2020 2020 2020 2020 2020 2020 OP: \n+00010ce0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+00010cf0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 00010d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d30: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00010d40: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-00010d50: 7473 2e53 4f5f 5243 5642 5546 3a20 2020 ts.SO_RCVBUF: \n-00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010d70: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-00010d80: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00010d30: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00010d40: 0a2a 2053 6f63 6b65 7473 2e49 505f 4d55 .* Sockets.IP_MU\n+00010d50: 4c54 4943 4153 545f 4c4f 4f50 203c 313e LTICAST_LOOP <1>\n+00010d60: 3a20 2020 2020 2020 2020 5365 7473 6f63 : Setsoc\n+00010d70: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00010d80: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00010d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010dc0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-00010dd0: 3029 0a2a 2053 6f63 6b65 7473 2e53 4f5f 0).* Sockets.SO_\n-00010de0: 5243 5642 5546 203c 313e 3a20 2020 2020 RCVBUF <1>: \n-00010df0: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-00010e00: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-00010e10: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00010dc0: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n+00010dd0: 6b65 7473 2e49 505f 4d55 4c54 4943 4153 kets.IP_MULTICAS\n+00010de0: 545f 5454 4c3a 2020 2020 2020 2020 2020 T_TTL: \n+00010df0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+00010e00: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00010e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010e50: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n-00010e60: 6f63 6b65 7473 2e53 4f5f 5245 5553 4541 ockets.SO_REUSEA\n-00010e70: 4444 523a 2020 2020 2020 2020 2020 2020 DDR: \n-00010e80: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-00010e90: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00010e40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00010e50: 2032 3029 0a2a 2053 6f63 6b65 7473 2e49 20).* Sockets.I\n+00010e60: 505f 4d55 4c54 4943 4153 545f 5454 4c20 P_MULTICAST_TTL \n+00010e70: 3c31 3e3a 2020 2020 2020 2020 2020 5365 <1>: Se\n+00010e80: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00010e90: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 00010ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00010ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ed0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00010ee0: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n-00010ef0: 2e53 4f5f 5245 5553 4541 4444 5220 3c31 .SO_REUSEADDR <1\n-00010f00: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00010f10: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00010f20: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-00010f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010f60: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n-00010f70: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5245 .* Sockets.SO_RE\n-00010f80: 5553 4550 4f52 543a 2020 2020 2020 2020 USEPORT: \n-00010f90: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-00010fa0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-00010fb0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-00010fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00010ff0: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n-00011000: 6b65 7473 2e53 4f5f 5245 5553 4550 4f52 kets.SO_REUSEPOR\n-00011010: 5420 3c31 3e3a 2020 2020 2020 2020 2020 T <1>: \n-00011020: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-00011030: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00010ed0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+00010ee0: 2053 6f63 6b65 7473 2e4c 6973 7465 6e3a Sockets.Listen:\n+00010ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f00: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n+00010f10: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+00010f20: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+00010f30: 732e 4d75 6c74 6963 6173 742e 4372 6561 s.Multicast.Crea\n+00010f40: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00010f50: 6b65 743a 2053 6574 7469 6e67 2075 7020 ket: Setting up \n+00010f60: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+00010f70: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00010f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fb0: 2020 286c 696e 6520 3136 290a 2a20 536f (line 16).* So\n+00010fc0: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n+00010fd0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00010fe0: 5f53 6f63 6b65 7420 3c31 3e3a 2043 7265 _Socket <1>: Cre\n+00010ff0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00011000: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n+00011010: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011030: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011070: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00011080: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n-00011090: 4f5f 534e 4442 5546 3a20 2020 2020 2020 O_SNDBUF: \n-000110a0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-000110b0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-000110c0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-000110d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000110e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011050: 286c 696e 6520 3134 290a 2a20 536f 636b (line 14).* Sock\n+00011060: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n+00011070: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00011080: 6f63 6b65 7420 3c32 3e3a 202e 2020 2020 ocket <2>: . \n+00011090: 2020 2020 2020 2020 2028 6c69 6e65 2037 (line 7\n+000110a0: 3829 0a2a 2053 6f63 6b65 7473 2e4e 616d 8).* Sockets.Nam\n+000110b0: 696e 672e 4164 6472 6573 735f 4f66 3a20 ing.Address_Of: \n+000110c0: 2020 2020 2020 2020 2020 2020 4164 6472 Addr\n+000110d0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+000110e0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n 000110f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011100: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-00011110: 2053 6f63 6b65 7473 2e53 4f5f 534e 4442 Sockets.SO_SNDB\n-00011120: 5546 203c 313e 3a20 2020 2020 2020 2020 UF <1>: \n-00011130: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-00011140: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-00011150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011120: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n+00011130: 636b 6574 732e 4e61 6d69 6e67 2e41 6e79 ckets.Naming.Any\n+00011140: 5f41 6464 7265 7373 3a20 2020 2020 2020 _Address: \n+00011150: 2020 2020 2041 6e79 5f41 6464 7265 7373 Any_Address\n+00011160: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n 00011170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011180: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00011190: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n-000111a0: 745f 4572 726f 723a 2020 2020 2020 2020 t_Error: \n-000111b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000111c0: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur\n-000111d0: 6529 2e20 2020 2020 286c 696e 6520 3330 e). (line 30\n-000111e0: 290a 2a20 536f 636b 6574 5f45 7272 6f72 ).* Socket_Error\n-000111f0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00011200: 2020 2020 2020 2020 2020 2043 6f6e 6e65 Conne\n-00011210: 6374 2028 7072 6f63 6564 7572 6529 2e20 ct (procedure). \n-00011220: 2028 6c69 6e65 2032 3729 0a2a 2053 6f63 (line 27).* Soc\n-00011230: 6b65 745f 4644 3a20 2020 2020 2020 2020 ket_FD: \n-00011240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011250: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n-00011260: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n-00011270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111a0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000111b0: 6520 3130 290a 2a20 536f 636b 6574 732e e 10).* Sockets.\n+000111c0: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f Naming.Get_Peer_\n+000111d0: 4164 6472 3a20 2020 2020 2020 2020 2047 Addr: G\n+000111e0: 6574 5f50 6565 725f 4164 6472 2028 6675 et_Peer_Addr (fu\n+000111f0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+00011200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011230: 2020 2020 2020 2020 286c 696e 6520 3132 (line 12\n+00011240: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+00011250: 6e67 2e47 6574 5f50 6565 725f 506f 7274 ng.Get_Peer_Port\n+00011260: 3a20 2020 2020 2020 2020 2047 6574 5f50 : Get_P\n+00011270: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n+00011280: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n 00011290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000112a0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-000112b0: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65 line 6).* Socke\n-000112c0: 745f 4644 203c 313e 3a20 2020 2020 2020 t_FD <1>: \n-000112d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000112e0: 2020 536f 636b 6574 7320 7061 636b 6167 Sockets packag\n-000112f0: 652e 2020 2020 2020 286c 696e 6520 2039 e. (line 9\n-00011300: 290a 2a20 534f 434b 5f44 4752 414d 3a20 ).* SOCK_DGRAM: \n-00011310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011320: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-00011330: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-00011340: 2028 6c69 6e65 2031 3929 0a2a 2053 4f43 (line 19).* SOC\n-00011350: 4b5f 5354 5245 414d 3a20 2020 2020 2020 K_STREAM: \n-00011360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011370: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-00011380: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-00011390: 3139 290a 2a20 534f 4c5f 534f 434b 4554 19).* SOL_SOCKET\n-000113a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000113b0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-000113c0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-000113d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-000113e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000113f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011410: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-00011420: 534f 4c5f 534f 434b 4554 203c 313e 3a20 SOL_SOCKET <1>: \n-00011430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011440: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-00011450: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-00011460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011490: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000114a0: 696e 6520 3230 290a 2a20 534f 5f52 4356 ine 20).* SO_RCV\n-000114b0: 4255 463a 2020 2020 2020 2020 2020 2020 BUF: \n+000112a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112c0: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* \n+000112d0: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n+000112e0: 6574 5f53 6f63 6b5f 4164 6472 3a20 2020 et_Sock_Addr: \n+000112f0: 2020 2020 2020 2047 6574 5f53 6f63 6b5f Get_Sock_\n+00011300: 4164 6472 2028 6675 6e63 7469 6f6e 292e Addr (function).\n+00011310: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011350: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n+00011360: 6574 732e 4e61 6d69 6e67 2e47 6574 5f53 ets.Naming.Get_S\n+00011370: 6f63 6b5f 506f 7274 3a20 2020 2020 2020 ock_Port: \n+00011380: 2020 2047 6574 5f53 6f63 6b5f 506f 7274 Get_Sock_Port\n+00011390: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+000113a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000113e0: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+000113f0: 4e61 6d69 6e67 2e48 6f73 745f 4e61 6d65 Naming.Host_Name\n+00011400: 3a20 2020 2020 2020 2020 2020 2020 2048 : H\n+00011410: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi\n+00011420: 6f6e 292e 2028 6c69 6e65 2031 3029 0a2a on). (line 10).*\n+00011430: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00011440: 496d 6167 653a 2020 2020 2020 2020 2020 Image: \n+00011450: 2020 2020 2020 2020 496d 6167 6520 2866 Image (f\n+00011460: 756e 6374 696f 6e29 2e20 2020 2020 286c unction). (l\n+00011470: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+00011480: 732e 4e61 6d69 6e67 2e49 6e66 6f5f 4f66 s.Naming.Info_Of\n+00011490: 5f4e 616d 655f 4f72 5f49 503a 2020 2020 _Name_Or_IP: \n+000114a0: 2049 6e66 6f5f 4f66 5f4e 616d 655f 4f72 Info_Of_Name_Or\n+000114b0: 5f49 5020 2866 756e 6374 696f 6e29 2e0a _IP (function)..\n 000114c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000114d0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-000114e0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-000114f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011520: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n-00011530: 290a 2a20 534f 5f52 4356 4255 4620 3c31 ).* SO_RCVBUF <1\n-00011540: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00011550: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-00011560: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-00011570: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-00011580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115b0: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n-000115c0: 5f52 4555 5345 4144 4452 3a20 2020 2020 _REUSEADDR: \n-000115d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000115e0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-000115f0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-00011600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011630: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00011640: 6520 3230 290a 2a20 534f 5f52 4555 5345 e 20).* SO_REUSE\n-00011650: 4144 4452 203c 313e 3a20 2020 2020 2020 ADDR <1>: \n-00011660: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00011670: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-00011680: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-00011690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116c0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n-000116d0: 2a20 534f 5f52 4555 5345 504f 5254 3a20 * SO_REUSEPORT: \n-000116e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000116f0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-00011700: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-00011710: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00011720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011750: 286c 696e 6520 3230 290a 2a20 534f 5f52 (line 20).* SO_R\n-00011760: 4555 5345 504f 5254 203c 313e 3a20 2020 EUSEPORT <1>: \n-00011770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011780: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-00011790: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-000117a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000117d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000117e0: 3230 290a 2a20 534f 5f53 4e44 4255 463a 20).* SO_SNDBUF:\n+000114d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114f0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011500: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00011510: 7473 2e4e 616d 696e 672e 4973 5f49 505f ts.Naming.Is_IP_\n+00011520: 4164 6472 6573 733a 2020 2020 2020 2020 Address: \n+00011530: 2020 4973 5f49 505f 4164 6472 6573 7320 Is_IP_Address \n+00011540: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+00011550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011580: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011590: 2031 3229 0a2a 2053 6f63 6b65 7473 2e4e 12).* Sockets.N\n+000115a0: 616d 696e 672e 4e61 6d65 5f4f 663a 2020 aming.Name_Of: \n+000115b0: 2020 2020 2020 2020 2020 2020 2020 4e61 Na\n+000115c0: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n+000115d0: 2e20 2020 286c 696e 6520 3131 290a 2a20 . (line 11).* \n+000115e0: 536f 636b 6574 732e 4e61 6d69 6e67 2e56 Sockets.Naming.V\n+000115f0: 616c 7565 3a20 2020 2020 2020 2020 2020 alue: \n+00011600: 2020 2020 2020 2056 616c 7565 2028 6675 Value (fu\n+00011610: 6e63 7469 6f6e 292e 2020 2020 2028 6c69 nction). (li\n+00011620: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets\n+00011630: 2e4e 6577 5f4c 696e 653a 2020 2020 2020 .New_Line: \n+00011640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011650: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+00011660: 7572 6529 2e20 286c 696e 6520 3131 290a ure). (line 11).\n+00011670: 2a20 536f 636b 6574 732e 5075 743a 2020 * Sockets.Put: \n+00011680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011690: 2020 2020 2020 2020 2050 7574 2028 7072 Put (pr\n+000116a0: 6f63 6564 7572 6529 2e20 2020 2020 2028 ocedure). (\n+000116b0: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n+000116c0: 7473 2e50 7574 5f4c 696e 653a 2020 2020 ts.Put_Line: \n+000116d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116e0: 2020 5075 745f 4c69 6e65 2028 7072 6f63 Put_Line (proc\n+000116f0: 6564 7572 6529 2e20 286c 696e 6520 3131 edure). (line 11\n+00011700: 290a 2a20 536f 636b 6574 732e 5265 6365 ).* Sockets.Rece\n+00011710: 6976 653a 2020 2020 2020 2020 2020 2020 ive: \n+00011720: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+00011730: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n+00011740: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00011750: 6b65 7473 2e52 6563 6569 7665 203c 313e kets.Receive <1>\n+00011760: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011770: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro\n+00011780: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n+00011790: 3131 290a 2a20 536f 636b 6574 732e 5265 11).* Sockets.Re\n+000117a0: 6365 6976 655f 536f 6d65 3a20 2020 2020 ceive_Some: \n+000117b0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+000117c0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+000117d0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+000117e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000117f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011800: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-00011810: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-00011820: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00011800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011810: 2020 2020 2020 286c 696e 6520 3133 290a (line 13).\n+00011820: 2a20 536f 636b 6574 732e 5365 6e64 3a20 * Sockets.Send: \n 00011830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011860: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n-00011870: 534f 5f53 4e44 4255 4620 3c31 3e3a 2020 SO_SNDBUF <1>: \n+00011840: 2020 2020 2020 2020 2053 656e 6420 2870 Send (p\n+00011850: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n+00011860: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke\n+00011870: 7473 2e53 6574 736f 636b 6f70 743a 2020 ts.Setsockopt: \n 00011880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011890: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-000118a0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00011890: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+000118a0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n 000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000118c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000118d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000118e0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000118f0: 696e 6520 3230 290a 2a20 5374 7265 616d ine 20).* Stream\n-00011900: 5f45 6c65 6d65 6e74 5f41 7272 6179 3a20 _Element_Array: \n-00011910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011920: 2052 6177 2064 6174 6120 6d61 6e69 7075 Raw data manipu\n-00011930: 6c61 7469 6f6e 2e0a 2020 2020 2020 2020 lation.. \n+000118e0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+000118f0: 3229 0a2a 2053 6f63 6b65 7473 2e53 6574 2).* Sockets.Set\n+00011900: 5f42 7566 6665 723a 2020 2020 2020 2020 _Buffer: \n+00011910: 2020 2020 2020 2020 2020 2020 5365 745f Set_\n+00011920: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00011930: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 00011940: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011950: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011970: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-00011980: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-00011990: 745f 4172 7261 7920 3c31 3e3a 2020 2020 t_Array <1>: \n-000119a0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-000119b0: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n-000119c0: 286c 696e 6520 3232 290a 2a20 5374 7265 (line 22).* Stre\n-000119d0: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-000119e0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-000119f0: 2020 2052 6563 6569 7665 2028 7072 6f63 Receive (proc\n-00011a00: 6564 7572 6529 2e20 2028 6c69 6e65 2031 edure). (line 1\n-00011a10: 3829 0a2a 2053 7472 6561 6d5f 456c 656d 8).* Stream_Elem\n-00011a20: 656e 745f 4172 7261 7920 3c33 3e3a 2020 ent_Array <3>: \n-00011a30: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n-00011a40: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-00011a50: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-00011a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011a90: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-00011aa0: 2053 7472 6561 6d5f 456c 656d 656e 745f Stream_Element_\n-00011ab0: 4172 7261 7920 3c34 3e3a 2020 2020 2020 Array <4>: \n-00011ac0: 2020 2020 2020 2020 5365 6e64 2028 7072 Send (pr\n-00011ad0: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n-00011ae0: 696e 6520 3137 290a 2a20 5374 7265 616d ine 17).* Stream\n-00011af0: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 3a20 _Element_Count: \n+00011970: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00011980: 6f63 6b65 7473 2e53 6875 7464 6f77 6e3a ockets.Shutdown:\n+00011990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119a0: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n+000119b0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+000119c0: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets.\n+000119d0: 536f 636b 6574 3a20 2020 2020 2020 2020 Socket: \n+000119e0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+000119f0: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+00011a00: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n+00011a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a40: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011a50: 2036 290a 2a20 536f 636b 6574 732e 536f 6).* Sockets.So\n+00011a60: 636b 6574 203c 313e 3a20 2020 2020 2020 cket <1>: \n+00011a70: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00011a80: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n+00011a90: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011aa0: 6f63 6b65 7473 2e53 4f4c 5f53 4f43 4b45 ockets.SOL_SOCKE\n+00011ab0: 543a 2020 2020 2020 2020 2020 2020 2020 T: \n+00011ac0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+00011ad0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \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: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00011b20: 6f6e 292e 2020 2028 6c69 6e65 2032 3229 on). (line 22)\n-00011b30: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-00011b40: 745f 436f 756e 7420 3c31 3e3a 2020 2020 t_Count <1>: \n-00011b50: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-00011b60: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-00011b70: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00011b10: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011b20: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n+00011b30: 2e53 4f4c 5f53 4f43 4b45 5420 3c31 3e3a .SOL_SOCKET <1>:\n+00011b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b50: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00011b60: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \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 2020 2020 2020 \n-00011ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011bb0: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n-00011bc0: 7472 696e 675f 4163 6365 7373 3a20 2020 tring_Access: \n-00011bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011be0: 2020 2020 2020 536f 636b 6574 732e 4e61 Sockets.Na\n-00011bf0: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020 ming package.. \n+00011ba0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00011bb0: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5243 .* Sockets.SO_RC\n+00011bc0: 5642 5546 3a20 2020 2020 2020 2020 2020 VBUF: \n+00011bd0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+00011be0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00011bf0: 2e0a 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 2020 2020 2020 2020 2020 \n-00011c30: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00011c40: 6e65 2033 3429 0a2a 2053 7472 696e 675f ne 34).* String_\n-00011c50: 4172 7261 793a 2020 2020 2020 2020 2020 Array: \n-00011c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011c70: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n-00011c80: 6163 6b61 6765 2e0a 2020 2020 2020 2020 ackage.. \n+00011c30: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc\n+00011c40: 6b65 7473 2e53 4f5f 5243 5642 5546 203c kets.SO_RCVBUF <\n+00011c50: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00011c60: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00011c70: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00011c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011cc0: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37)\n-00011cd0: 0a2a 2053 7567 6765 7374 696e 6720 6120 .* Suggesting a \n-00011ce0: 6665 6174 7572 653a 2020 2020 2020 2020 feature: \n-00011cf0: 2020 2020 2020 2020 2020 5265 736f 7572 Resour\n-00011d00: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter\n-00011d10: 6e65 742e 0a20 2020 2020 2020 2020 2020 net.. \n+00011cb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011cc0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e53 20).* Sockets.S\n+00011cd0: 4f5f 5245 5553 4541 4444 523a 2020 2020 O_REUSEADDR: \n+00011ce0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+00011cf0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00011d00: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+00011d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d50: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-00011d60: 5443 5020 736f 636b 6574 3a20 2020 2020 TCP socket: \n-00011d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011d80: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n-00011d90: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-00011da0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00011d40: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n+00011d50: 2053 6f63 6b65 7473 2e53 4f5f 5245 5553 Sockets.SO_REUS\n+00011d60: 4541 4444 5220 3c31 3e3a 2020 2020 2020 EADDR <1>: \n+00011d70: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00011d80: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00011d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011dc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011de0: 2020 286c 696e 6520 2036 290a 2a20 5544 (line 6).* UD\n-00011df0: 5020 736f 636b 6574 3a20 2020 2020 2020 P socket: \n-00011e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e10: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-00011e20: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n-00011e30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011dc0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011dd0: 6c69 6e65 2032 3029 0a2a 2053 6f63 6b65 line 20).* Socke\n+00011de0: 7473 2e53 4f5f 5245 5553 4550 4f52 543a ts.SO_REUSEPORT:\n+00011df0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e00: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+00011e10: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00011e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011e70: 286c 696e 6520 2036 290a 2a20 556e 6963 (line 6).* Unic\n-00011e80: 6173 7420 736f 636b 6574 733a 2020 2020 ast sockets: \n-00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ea0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-00011eb0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+00011e50: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00011e60: 3029 0a2a 2053 6f63 6b65 7473 2e53 4f5f 0).* Sockets.SO_\n+00011e70: 5245 5553 4550 4f52 5420 3c31 3e3a 2020 REUSEPORT <1>: \n+00011e80: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00011e90: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00011ea0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00011eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00011ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011ef0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00011f00: 696e 6520 2036 290a 2a20 5661 6c75 653a ine 6).* Value:\n-00011f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00011f30: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function\n-00011f40: 292e 2020 2020 2028 6c69 6e65 2020 3929 ). (line 9)\n-00011f50: 0a0a 0a1f 0a54 6167 2054 6162 6c65 3a0a .....Tag Table:.\n-00011f60: 4e6f 6465 3a20 546f 707f 3831 370a 4e6f Node: Top.817.No\n-00011f70: 6465 3a20 5768 6174 2069 7320 4164 6153 de: What is AdaS\n-00011f80: 6f63 6b65 7473 3f7f 3133 3930 0a4e 6f64 ockets?.1390.Nod\n-00011f90: 653a 2049 6e73 7461 6c6c 696e 6720 4164 e: Installing Ad\n-00011fa0: 6153 6f63 6b65 7473 7f32 3238 330a 4e6f aSockets.2283.No\n-00011fb0: 6465 3a20 5573 696e 6720 4164 6153 6f63 de: Using AdaSoc\n-00011fc0: 6b65 7473 7f33 3237 300a 4e6f 6465 3a20 kets.3270.Node: \n-00011fd0: 436f 6d70 696c 696e 6720 616e 2041 6461 Compiling an Ada\n-00011fe0: 2061 7070 6c69 6361 7469 6f6e 7f33 3536 application.356\n-00011ff0: 310a 4e6f 6465 3a20 5365 7474 696e 6720 1.Node: Setting \n-00012000: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n-00012010: 7473 7f34 3138 380a 4e6f 6465 3a20 5365 ts.4188.Node: Se\n-00012020: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n-00012030: 7374 2073 6f63 6b65 7473 7f35 3439 340a st sockets.5494.\n-00012040: 4e6f 6465 3a20 5365 6e64 696e 6720 616e Node: Sending an\n-00012050: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data\n-00012060: 7f36 3832 330a 4e6f 6465 3a20 5261 7720 .6823.Node: Raw \n-00012070: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n-00012080: 6e7f 3731 3835 0a4e 6f64 653a 2053 7472 n.7185.Node: Str\n-00012090: 696e 672d 6f72 6965 6e74 6564 2065 7863 ing-oriented exc\n-000120a0: 6861 6e67 6573 7f37 3538 350a 4e6f 6465 hanges.7585.Node\n-000120b0: 3a20 536f 636b 6574 7320 7061 636b 6167 : Sockets packag\n-000120c0: 657f 3836 3832 0a4e 6f64 653a 2041 6363 e.8682.Node: Acc\n-000120d0: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-000120e0: 6564 7572 6529 7f31 3039 3439 0a4e 6f64 edure).10949.Nod\n-000120f0: 653a 2042 696e 6420 2870 726f 6365 6475 e: Bind (procedu\n-00012100: 7265 297f 3133 3331 390a 4e6f 6465 3a20 re).13319.Node: \n-00012110: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n-00012120: 7265 297f 3134 3539 320a 4e6f 6465 3a20 re).14592.Node: \n-00012130: 4765 7420 2866 756e 6374 696f 6e29 7f31 Get (function).1\n-00012140: 3539 3737 0a4e 6f64 653a 2047 6574 5f43 5977.Node: Get_C\n-00012150: 6861 7220 2866 756e 6374 696f 6e29 7f31 har (function).1\n-00012160: 3731 3734 0a4e 6f64 653a 2047 6574 5f4c 7174.Node: Get_L\n-00012170: 696e 6520 2866 756e 6374 696f 6e29 7f31 ine (function).1\n-00012180: 3830 3335 0a4e 6f64 653a 2047 6574 5f4c 8035.Node: Get_L\n-00012190: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n-000121a0: 3139 3334 320a 4e6f 6465 3a20 4765 745f 19342.Node: Get_\n-000121b0: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n-000121c0: 7a65 2028 6675 6e63 7469 6f6e 297f 3230 ze (function).20\n-000121d0: 3530 370a 4e6f 6465 3a20 4765 745f 5365 507.Node: Get_Se\n-000121e0: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n-000121f0: 756e 6374 696f 6e29 7f32 3133 3735 0a4e unction).21375.N\n-00012200: 6f64 653a 2047 6574 736f 636b 6f70 7420 ode: Getsockopt \n-00012210: 2870 726f 6365 6475 7265 297f 3232 3233 (procedure).2223\n-00012220: 320a 4e6f 6465 3a20 4c69 7374 656e 2028 2.Node: Listen (\n-00012230: 7072 6f63 6564 7572 6529 7f32 3335 3530 procedure).23550\n-00012240: 0a4e 6f64 653a 204e 6577 5f4c 696e 6520 .Node: New_Line \n-00012250: 2870 726f 6365 6475 7265 297f 3234 3432 (procedure).2442\n-00012260: 360a 4e6f 6465 3a20 5075 7420 2870 726f 6.Node: Put (pro\n-00012270: 6365 6475 7265 297f 3235 3134 380a 4e6f cedure).25148.No\n-00012280: 6465 3a20 5075 745f 4c69 6e65 2028 7072 de: Put_Line (pr\n-00012290: 6f63 6564 7572 6529 7f32 3538 3739 0a4e ocedure).25879.N\n-000122a0: 6f64 653a 2052 6563 6569 7665 2028 6675 ode: Receive (fu\n-000122b0: 6e63 7469 6f6e 297f 3236 3636 350a 4e6f nction).26665.No\n-000122c0: 6465 3a20 5265 6365 6976 6520 2870 726f de: Receive (pro\n-000122d0: 6365 6475 7265 297f 3237 3837 340a 4e6f cedure).27874.No\n-000122e0: 6465 3a20 5265 6365 6976 655f 536f 6d65 de: Receive_Some\n-000122f0: 2028 7072 6f63 6564 7572 6529 7f32 3838 (procedure).288\n-00012300: 3937 0a4e 6f64 653a 2053 656e 6420 2870 97.Node: Send (p\n-00012310: 726f 6365 6475 7265 297f 3330 3038 340a rocedure).30084.\n-00012320: 4e6f 6465 3a20 5365 745f 4275 6666 6572 Node: Set_Buffer\n-00012330: 2028 7072 6f63 6564 7572 6529 7f33 3038 (procedure).308\n-00012340: 3233 0a4e 6f64 653a 2053 6574 736f 636b 23.Node: Setsock\n-00012350: 6f70 7420 2870 726f 6365 6475 7265 297f opt (procedure).\n-00012360: 3332 3033 360a 4e6f 6465 3a20 5368 7574 32036.Node: Shut\n-00012370: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n-00012380: 7f33 3333 3334 0a4e 6f64 653a 2053 6f63 .33334.Node: Soc\n-00012390: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure).\n-000123a0: 3333 3937 320a 4e6f 6465 3a20 536f 636b 33972.Node: Sock\n-000123b0: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa\n-000123c0: 636b 6167 657f 3334 3934 330a 4e6f 6465 ckage.34943.Node\n-000123d0: 3a20 4372 6561 7465 5f4d 756c 7469 6361 : Create_Multica\n-000123e0: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n-000123f0: 696f 6e29 7f33 3537 3638 0a4e 6f64 653a ion).35768.Node:\n-00012400: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n-00012410: 7061 636b 6167 657f 3337 3337 350a 4e6f package.37375.No\n-00012420: 6465 3a20 4164 6472 6573 735f 4f66 2028 de: Address_Of (\n-00012430: 6675 6e63 7469 6f6e 297f 3339 3838 360a function).39886.\n-00012440: 4e6f 6465 3a20 416e 795f 4164 6472 6573 Node: Any_Addres\n-00012450: 7320 2866 756e 6374 696f 6e29 7f34 3037 s (function).407\n-00012460: 3736 0a4e 6f64 653a 2047 6574 5f50 6565 76.Node: Get_Pee\n-00012470: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n-00012480: 297f 3431 3138 370a 4e6f 6465 3a20 4765 ).41187.Node: Ge\n-00012490: 745f 5065 6572 5f50 6f72 7420 2866 756e t_Peer_Port (fun\n-000124a0: 6374 696f 6e29 7f34 3137 3539 0a4e 6f64 ction).41759.Nod\n-000124b0: 653a 2047 6574 5f53 6f63 6b5f 4164 6472 e: Get_Sock_Addr\n-000124c0: 2028 6675 6e63 7469 6f6e 297f 3432 3334 (function).4234\n-000124d0: 390a 4e6f 6465 3a20 4765 745f 536f 636b 9.Node: Get_Sock\n-000124e0: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n-000124f0: 7f34 3239 3431 0a4e 6f64 653a 2048 6f73 .42941.Node: Hos\n-00012500: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function\n-00012510: 297f 3433 3532 350a 4e6f 6465 3a20 496d ).43525.Node: Im\n-00012520: 6167 6520 2866 756e 6374 696f 6e29 7f34 age (function).4\n-00012530: 3430 3431 0a4e 6f64 653a 2049 6e66 6f5f 4041.Node: Info_\n-00012540: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f\n-00012550: 756e 6374 696f 6e29 7f34 3435 3137 0a4e unction).44517.N\n-00012560: 6f64 653a 2049 735f 4950 5f41 6464 7265 ode: Is_IP_Addre\n-00012570: 7373 2028 6675 6e63 7469 6f6e 297f 3435 ss (function).45\n-00012580: 3234 330a 4e6f 6465 3a20 4e61 6d65 5f4f 243.Node: Name_O\n-00012590: 6620 2866 756e 6374 696f 6e29 7f34 3537 f (function).457\n-000125a0: 3533 0a4e 6f64 653a 2056 616c 7565 2028 53.Node: Value (\n-000125b0: 6675 6e63 7469 6f6e 297f 3436 3333 360a function).46336.\n-000125c0: 4e6f 6465 3a20 436f 6e74 7269 6275 746f Node: Contributo\n-000125d0: 7273 7f34 3637 3838 0a4e 6f64 653a 2052 rs.46788.Node: R\n-000125e0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n-000125f0: 496e 7465 726e 6574 7f34 3831 3733 0a4e Internet.48173.N\n-00012600: 6f64 653a 2049 6e64 6578 7f34 3836 3037 ode: Index.48607\n-00012610: 0a1f 0a45 6e64 2054 6167 2054 6162 6c65 ...End Tag Table\n-00012620: 0a0a 1f0a 4c6f 6361 6c20 5661 7269 6162 ....Local Variab\n-00012630: 6c65 733a 0a63 6f64 696e 673a 2075 7466 les:.coding: utf\n-00012640: 2d38 0a45 6e64 3a0a -8.End:.\n+00011ee0: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S\n+00011ef0: 6f63 6b65 7473 2e53 4f5f 534e 4442 5546 ockets.SO_SNDBUF\n+00011f00: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011f10: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+00011f20: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00011f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011f70: 6e65 2032 3029 0a2a 2053 6f63 6b65 7473 ne 20).* Sockets\n+00011f80: 2e53 4f5f 534e 4442 5546 203c 313e 3a20 .SO_SNDBUF <1>: \n+00011f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fa0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00011fb0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ff0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20)\n+00012000: 0a2a 2053 6f63 6b65 7473 2e55 6e73 6574 .* Sockets.Unset\n+00012010: 5f42 7566 6665 723a 2020 2020 2020 2020 _Buffer: \n+00012020: 2020 2020 2020 2020 2020 556e 7365 745f Unset_\n+00012030: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00012040: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00012050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012080: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S\n+00012090: 6f63 6b65 745f 4572 726f 723a 2020 2020 ocket_Error: \n+000120a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120b0: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n+000120c0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+000120d0: 6520 3330 290a 2a20 536f 636b 6574 5f45 e 30).* Socket_E\n+000120e0: 7272 6f72 203c 313e 3a20 2020 2020 2020 rror <1>: \n+000120f0: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00012100: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+00012110: 6529 2e20 2028 6c69 6e65 2032 3729 0a2a e). (line 27).*\n+00012120: 2053 6f63 6b65 745f 4644 3a20 2020 2020 Socket_FD: \n+00012130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012140: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+00012150: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n+00012160: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n+00012170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121a0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+000121b0: 6f63 6b65 745f 4644 203c 313e 3a20 2020 ocket_FD <1>: \n+000121c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121d0: 2020 2020 2020 536f 636b 6574 7320 7061 Sockets pa\n+000121e0: 636b 6167 652e 2020 2020 2020 286c 696e ckage. (lin\n+000121f0: 6520 2039 290a 2a20 534f 434b 5f44 4752 e 9).* SOCK_DGR\n+00012200: 414d 3a20 2020 2020 2020 2020 2020 2020 AM: \n+00012210: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012220: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00012230: 292e 2020 2028 6c69 6e65 2031 3929 0a2a ). (line 19).*\n+00012240: 2053 4f43 4b5f 5354 5245 414d 3a20 2020 SOCK_STREAM: \n+00012250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012260: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n+00012270: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+00012280: 696e 6520 3139 290a 2a20 534f 4c5f 534f ine 19).* SOL_SO\n+00012290: 434b 4554 3a20 2020 2020 2020 2020 2020 CKET: \n+000122a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122b0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+000122c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+000122d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012300: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00012310: 290a 2a20 534f 4c5f 534f 434b 4554 203c ).* SOL_SOCKET <\n+00012320: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00012330: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+00012340: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00012350: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00012360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012390: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n+000123a0: 5f52 4356 4255 463a 2020 2020 2020 2020 _RCVBUF: \n+000123b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123c0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+000123d0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+000123e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012410: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012420: 6520 3230 290a 2a20 534f 5f52 4356 4255 e 20).* SO_RCVBU\n+00012430: 4620 3c31 3e3a 2020 2020 2020 2020 2020 F <1>: \n+00012440: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012450: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00012460: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00012470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124a0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20).\n+000124b0: 2a20 534f 5f52 4555 5345 4144 4452 3a20 * SO_REUSEADDR: \n+000124c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124d0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+000124e0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+000124f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00012500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012530: 286c 696e 6520 3230 290a 2a20 534f 5f52 (line 20).* SO_R\n+00012540: 4555 5345 4144 4452 203c 313e 3a20 2020 EUSEADDR <1>: \n+00012550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012560: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00012570: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00012580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000125c0: 3230 290a 2a20 534f 5f52 4555 5345 504f 20).* SO_REUSEPO\n+000125d0: 5254 3a20 2020 2020 2020 2020 2020 2020 RT: \n+000125e0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+000125f0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00012600: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00012610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012640: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* \n+00012650: 534f 5f52 4555 5345 504f 5254 203c 313e SO_REUSEPORT <1>\n+00012660: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012670: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00012680: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00012690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000126d0: 696e 6520 3230 290a 2a20 534f 5f53 4e44 ine 20).* SO_SND\n+000126e0: 4255 463a 2020 2020 2020 2020 2020 2020 BUF: \n+000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012700: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+00012710: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00012720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012750: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20\n+00012760: 290a 2a20 534f 5f53 4e44 4255 4620 3c31 ).* SO_SNDBUF <1\n+00012770: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00012780: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+00012790: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+000127a0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+000127b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127e0: 2020 286c 696e 6520 3230 290a 2a20 5374 (line 20).* St\n+000127f0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n+00012800: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: \n+00012810: 2020 2020 2052 6177 2064 6174 6120 6d61 Raw data ma\n+00012820: 6e69 7075 6c61 7469 6f6e 2e0a 2020 2020 nipulation.. \n+00012830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012860: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012870: 2020 3629 0a2a 2053 7472 6561 6d5f 456c 6).* Stream_El\n+00012880: 656d 656e 745f 4172 7261 7920 3c31 3e3a ement_Array <1>:\n+00012890: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+000128a0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+000128b0: 2e20 2020 286c 696e 6520 3232 290a 2a20 . (line 22).* \n+000128c0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+000128d0: 7272 6179 203c 323e 3a20 2020 2020 2020 rray <2>: \n+000128e0: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+000128f0: 7072 6f63 6564 7572 6529 2e20 2028 6c69 procedure). (li\n+00012900: 6e65 2031 3829 0a2a 2053 7472 6561 6d5f ne 18).* Stream_\n+00012910: 456c 656d 656e 745f 4172 7261 7920 3c33 Element_Array <3\n+00012920: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00012930: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+00012940: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00012950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012980: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00012990: 3129 0a2a 2053 7472 6561 6d5f 456c 656d 1).* Stream_Elem\n+000129a0: 656e 745f 4172 7261 7920 3c34 3e3a 2020 ent_Array <4>: \n+000129b0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+000129c0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+000129d0: 2020 286c 696e 6520 3137 290a 2a20 5374 (line 17).* St\n+000129e0: 7265 616d 5f45 6c65 6d65 6e74 5f43 6f75 ream_Element_Cou\n+000129f0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n+00012a00: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu\n+00012a10: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n+00012a20: 2032 3229 0a2a 2053 7472 6561 6d5f 456c 22).* Stream_El\n+00012a30: 656d 656e 745f 436f 756e 7420 3c31 3e3a ement_Count <1>:\n+00012a40: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00012a50: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n+00012a60: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012aa0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n+00012ab0: 0a2a 2053 7472 696e 675f 4163 6365 7373 .* String_Access\n+00012ac0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012ad0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+00012ae0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+00012af0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00012b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b30: 2028 6c69 6e65 2033 3429 0a2a 2053 7472 (line 34).* Str\n+00012b40: 696e 675f 4172 7261 793a 2020 2020 2020 ing_Array: \n+00012b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b60: 2020 2020 536f 636b 6574 732e 4e61 6d69 Sockets.Nami\n+00012b70: 6e67 2070 6163 6b61 6765 2e0a 2020 2020 ng package.. \n+00012b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012bb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012bc0: 2033 3729 0a2a 2053 7567 6765 7374 696e 37).* Suggestin\n+00012bd0: 6720 6120 6665 6174 7572 653a 2020 2020 g a feature: \n+00012be0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00012bf0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n+00012c00: 6e74 6572 6e65 742e 0a20 2020 2020 2020 nternet.. \n+00012c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c40: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+00012c50: 290a 2a20 5443 5020 736f 636b 6574 3a20 ).* TCP socket: \n+00012c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c70: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n+00012c80: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n+00012c90: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+00012ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012cd0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+00012ce0: 2a20 5544 5020 736f 636b 6574 3a20 2020 * UDP socket: \n+00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d00: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+00012d10: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n+00012d20: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+00012d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d60: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+00012d70: 556e 6963 6173 7420 736f 636b 6574 733a Unicast sockets:\n+00012d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d90: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+00012da0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n+00012db0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00012dc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012df0: 2020 286c 696e 6520 2036 290a 2a20 556e (line 6).* Un\n+00012e00: 7365 745f 4275 6666 6572 3a20 2020 2020 set_Buffer: \n+00012e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e20: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe\n+00012e30: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n+00012e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e70: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00012e80: 696e 6520 2039 290a 2a20 5661 6c75 653a ine 9).* Value:\n+00012e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012eb0: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function\n+00012ec0: 292e 2020 2020 2028 6c69 6e65 2020 3929 ). (line 9)\n+00012ed0: 0a0a 0a1f 0a54 6167 2054 6162 6c65 3a0a .....Tag Table:.\n+00012ee0: 4e6f 6465 3a20 546f 707f 3831 370a 4e6f Node: Top.817.No\n+00012ef0: 6465 3a20 5768 6174 2069 7320 4164 6153 de: What is AdaS\n+00012f00: 6f63 6b65 7473 3f7f 3133 3930 0a4e 6f64 ockets?.1390.Nod\n+00012f10: 653a 2049 6e73 7461 6c6c 696e 6720 4164 e: Installing Ad\n+00012f20: 6153 6f63 6b65 7473 7f32 3238 330a 4e6f aSockets.2283.No\n+00012f30: 6465 3a20 5573 696e 6720 4164 6153 6f63 de: Using AdaSoc\n+00012f40: 6b65 7473 7f33 3237 300a 4e6f 6465 3a20 kets.3270.Node: \n+00012f50: 436f 6d70 696c 696e 6720 616e 2041 6461 Compiling an Ada\n+00012f60: 2061 7070 6c69 6361 7469 6f6e 7f33 3536 application.356\n+00012f70: 310a 4e6f 6465 3a20 5365 7474 696e 6720 1.Node: Setting \n+00012f80: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n+00012f90: 7473 7f34 3138 380a 4e6f 6465 3a20 5365 ts.4188.Node: Se\n+00012fa0: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+00012fb0: 7374 2073 6f63 6b65 7473 7f35 3439 340a st sockets.5494.\n+00012fc0: 4e6f 6465 3a20 5365 6e64 696e 6720 616e Node: Sending an\n+00012fd0: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data\n+00012fe0: 7f36 3832 330a 4e6f 6465 3a20 5261 7720 .6823.Node: Raw \n+00012ff0: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n+00013000: 6e7f 3731 3835 0a4e 6f64 653a 2053 7472 n.7185.Node: Str\n+00013010: 696e 672d 6f72 6965 6e74 6564 2065 7863 ing-oriented exc\n+00013020: 6861 6e67 6573 7f37 3538 350a 4e6f 6465 hanges.7585.Node\n+00013030: 3a20 536f 636b 6574 7320 7061 636b 6167 : Sockets packag\n+00013040: 657f 3836 3832 0a4e 6f64 653a 2041 6363 e.8682.Node: Acc\n+00013050: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00013060: 6564 7572 6529 7f31 3039 3439 0a4e 6f64 edure).10949.Nod\n+00013070: 653a 2042 696e 6420 2870 726f 6365 6475 e: Bind (procedu\n+00013080: 7265 297f 3133 3031 380a 4e6f 6465 3a20 re).13018.Node: \n+00013090: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n+000130a0: 7265 297f 3134 3239 310a 4e6f 6465 3a20 re).14291.Node: \n+000130b0: 4765 7420 2866 756e 6374 696f 6e29 7f31 Get (function).1\n+000130c0: 3536 3736 0a4e 6f64 653a 2047 6574 5f43 5676.Node: Get_C\n+000130d0: 6861 7220 2866 756e 6374 696f 6e29 7f31 har (function).1\n+000130e0: 3638 3733 0a4e 6f64 653a 2047 6574 5f4c 6873.Node: Get_L\n+000130f0: 696e 6520 2866 756e 6374 696f 6e29 7f31 ine (function).1\n+00013100: 3737 3334 0a4e 6f64 653a 2047 6574 5f4c 7734.Node: Get_L\n+00013110: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n+00013120: 3139 3034 310a 4e6f 6465 3a20 4765 745f 19041.Node: Get_\n+00013130: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si\n+00013140: 7a65 2028 6675 6e63 7469 6f6e 297f 3230 ze (function).20\n+00013150: 3230 360a 4e6f 6465 3a20 4765 745f 5365 206.Node: Get_Se\n+00013160: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n+00013170: 756e 6374 696f 6e29 7f32 3130 3734 0a4e unction).21074.N\n+00013180: 6f64 653a 2047 6574 736f 636b 6f70 7420 ode: Getsockopt \n+00013190: 2870 726f 6365 6475 7265 297f 3231 3933 (procedure).2193\n+000131a0: 310a 4e6f 6465 3a20 4c69 7374 656e 2028 1.Node: Listen (\n+000131b0: 7072 6f63 6564 7572 6529 7f32 3332 3439 procedure).23249\n+000131c0: 0a4e 6f64 653a 204e 6577 5f4c 696e 6520 .Node: New_Line \n+000131d0: 2870 726f 6365 6475 7265 297f 3234 3132 (procedure).2412\n+000131e0: 350a 4e6f 6465 3a20 5075 7420 2870 726f 5.Node: Put (pro\n+000131f0: 6365 6475 7265 297f 3234 3834 370a 4e6f cedure).24847.No\n+00013200: 6465 3a20 5075 745f 4c69 6e65 2028 7072 de: Put_Line (pr\n+00013210: 6f63 6564 7572 6529 7f32 3535 3738 0a4e ocedure).25578.N\n+00013220: 6f64 653a 2052 6563 6569 7665 2028 6675 ode: Receive (fu\n+00013230: 6e63 7469 6f6e 297f 3236 3336 340a 4e6f nction).26364.No\n+00013240: 6465 3a20 5265 6365 6976 6520 2870 726f de: Receive (pro\n+00013250: 6365 6475 7265 297f 3237 3537 330a 4e6f cedure).27573.No\n+00013260: 6465 3a20 5265 6365 6976 655f 536f 6d65 de: Receive_Some\n+00013270: 2028 7072 6f63 6564 7572 6529 7f32 3835 (procedure).285\n+00013280: 3936 0a4e 6f64 653a 2053 656e 6420 2870 96.Node: Send (p\n+00013290: 726f 6365 6475 7265 297f 3239 3738 330a rocedure).29783.\n+000132a0: 4e6f 6465 3a20 5365 745f 4275 6666 6572 Node: Set_Buffer\n+000132b0: 2028 7072 6f63 6564 7572 6529 7f33 3035 (procedure).305\n+000132c0: 3232 0a4e 6f64 653a 2053 6574 736f 636b 22.Node: Setsock\n+000132d0: 6f70 7420 2870 726f 6365 6475 7265 297f opt (procedure).\n+000132e0: 3331 3733 350a 4e6f 6465 3a20 5368 7574 31735.Node: Shut\n+000132f0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+00013300: 7f33 3330 3333 0a4e 6f64 653a 2053 6f63 .33033.Node: Soc\n+00013310: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure).\n+00013320: 3333 3637 310a 4e6f 6465 3a20 556e 7365 33671.Node: Unse\n+00013330: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00013340: 7572 6529 7f33 3530 3435 0a4e 6f64 653a ure).35045.Node:\n+00013350: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n+00013360: 7374 2070 6163 6b61 6765 7f33 3537 3434 st package.35744\n+00013370: 0a4e 6f64 653a 2043 7265 6174 655f 4d75 .Node: Create_Mu\n+00013380: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+00013390: 6675 6e63 7469 6f6e 297f 3336 3536 390a function).36569.\n+000133a0: 4e6f 6465 3a20 536f 636b 6574 732e 4e61 Node: Sockets.Na\n+000133b0: 6d69 6e67 2070 6163 6b61 6765 7f34 3036 ming package.406\n+000133c0: 3331 0a4e 6f64 653a 2041 6464 7265 7373 31.Node: Address\n+000133d0: 5f4f 6620 2866 756e 6374 696f 6e29 7f34 _Of (function).4\n+000133e0: 3331 3432 0a4e 6f64 653a 2041 6e79 5f41 3142.Node: Any_A\n+000133f0: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n+00013400: 297f 3434 3033 320a 4e6f 6465 3a20 4765 ).44032.Node: Ge\n+00013410: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n+00013420: 6374 696f 6e29 7f34 3434 3433 0a4e 6f64 ction).44443.Nod\n+00013430: 653a 2047 6574 5f50 6565 725f 506f 7274 e: Get_Peer_Port\n+00013440: 2028 6675 6e63 7469 6f6e 297f 3435 3031 (function).4501\n+00013450: 350a 4e6f 6465 3a20 4765 745f 536f 636b 5.Node: Get_Sock\n+00013460: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+00013470: 7f34 3536 3035 0a4e 6f64 653a 2047 6574 .45605.Node: Get\n+00013480: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n+00013490: 7469 6f6e 297f 3436 3139 370a 4e6f 6465 tion).46197.Node\n+000134a0: 3a20 486f 7374 5f4e 616d 6520 2866 756e : Host_Name (fun\n+000134b0: 6374 696f 6e29 7f34 3637 3831 0a4e 6f64 ction).46781.Nod\n+000134c0: 653a 2049 6d61 6765 2028 6675 6e63 7469 e: Image (functi\n+000134d0: 6f6e 297f 3437 3239 370a 4e6f 6465 3a20 on).47297.Node: \n+000134e0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+000134f0: 4950 2028 6675 6e63 7469 6f6e 297f 3437 IP (function).47\n+00013500: 3737 330a 4e6f 6465 3a20 4973 5f49 505f 773.Node: Is_IP_\n+00013510: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+00013520: 6e29 7f34 3834 3939 0a4e 6f64 653a 204e n).48499.Node: N\n+00013530: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n+00013540: 297f 3439 3030 390a 4e6f 6465 3a20 5661 ).49009.Node: Va\n+00013550: 6c75 6520 2866 756e 6374 696f 6e29 7f34 lue (function).4\n+00013560: 3935 3932 0a4e 6f64 653a 2043 6f6e 7472 9592.Node: Contr\n+00013570: 6962 7574 6f72 737f 3530 3034 340a 4e6f ibutors.50044.No\n+00013580: 6465 3a20 5265 736f 7572 6365 7320 6f6e de: Resources on\n+00013590: 2074 6865 2049 6e74 6572 6e65 747f 3531 the Internet.51\n+000135a0: 3432 390a 4e6f 6465 3a20 496e 6465 787f 429.Node: Index.\n+000135b0: 3531 3836 330a 1f0a 456e 6420 5461 6720 51863...End Tag \n+000135c0: 5461 626c 650a 0a1f 0a4c 6f63 616c 2056 Table....Local V\n+000135d0: 6172 6961 626c 6573 3a0a 636f 6469 6e67 ariables:.coding\n+000135e0: 3a20 7574 662d 380a 456e 643a 0a : utf-8.End:.\n"}]}]}]}]}]}