{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.zfQTWs0U/b1/adasockets_1.12-2_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.zfQTWs0U/b2/adasockets_1.12-2_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n 0bbb084ccc6ff62716157429f55c278d 55496 debug optional libadasockets10-dbgsym_1.12-2_amd64.deb\n- 996cdda1a9d8eaf77dc7a265075299f7 324016 libdevel optional libadasockets10-dev_1.12-2_amd64.deb\n+ ce04e95a1c4ffe0ac8264a6d59378fbc 332508 libdevel optional libadasockets10-dev_1.12-2_amd64.deb\n 40a92872903b2600488c1275682b2c87 32896 libs optional libadasockets10_1.12-2_amd64.deb\n"}, {"source1": "libadasockets10-dev_1.12-2_amd64.deb", "source2": "libadasockets10-dev_1.12-2_amd64.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 2020-12-16 23:17:13.000000 debian-binary\n -rw-r--r-- 0 0 0 1808 2020-12-16 23:17:13.000000 control.tar.xz\n--rw-r--r-- 0 0 0 322016 2020-12-16 23:17:13.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 330508 2020-12-16 23:17:13.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: libadasockets10-dev\n Source: adasockets\n Version: 1.12-2\n Architecture: amd64\n Maintainer: Phil Brooke \n-Installed-Size: 651\n+Installed-Size: 659\n Depends: gnat, gnat-10, libadasockets10 (= 1.12-2)\n Section: libdevel\n Priority: optional\n Homepage: https://www.rfc1149.net/devel/adasockets.html\n Description: bindings for socket services in Ada: development files\n This package provides a binding for socket services to be used with GNAT\n (the GNU Ada compiler). One can use it to write clients and servers that\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -37,27 +37,27 @@\n -rw-r--r-- 0 root (0) root (0) 3766 2020-12-16 23:17:13.000000 ./usr/share/ada/adainclude/adasockets/sockets-utils.ads\n -rw-r--r-- 0 root (0) root (0) 23300 2020-12-16 23:17:13.000000 ./usr/share/ada/adainclude/adasockets/sockets.adb\n -rw-r--r-- 0 root (0) root (0) 10598 2020-12-16 23:17:13.000000 ./usr/share/ada/adainclude/adasockets/sockets.ads\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/\n -rw-r--r-- 0 root (0) root (0) 768 2020-06-28 10:08:23.000000 ./usr/share/doc/libadasockets10-dev/README.Debian\n -rw-r--r-- 0 root (0) root (0) 1940 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets10-dev/README.md\n--rw-r--r-- 0 root (0) root (0) 251317 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 250236 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/adasockets.pdf.gz\n -rw-r--r-- 0 root (0) root (0) 4890 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 3541 2020-06-28 11:37:04.000000 ./usr/share/doc/libadasockets10-dev/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/examples/\n -rw-r--r-- 0 root (0) root (0) 233 2020-06-28 10:08:23.000000 ./usr/share/doc/libadasockets10-dev/examples/examples.gpr\n -rw-r--r-- 0 root (0) root (0) 4956 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets10-dev/examples/listener.adb\n -rw-r--r-- 0 root (0) root (0) 3980 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets10-dev/examples/multi.adb\n -rw-r--r-- 0 root (0) root (0) 4591 2020-06-18 13:33:07.000000 ./usr/share/doc/libadasockets10-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/libadasockets10-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/libadasockets10-dev/examples/tcprelay.adb\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 477 2020-12-16 23:17:13.000000 ./usr/share/doc-base/adasockets\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/gpr/\n -rw-r--r-- 0 root (0) root (0) 354 2020-12-16 23:17:13.000000 ./usr/share/gpr/adasockets.gpr\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/info/\n--rw-r--r-- 0 root (0) root (0) 4510 2020-12-16 23:17:13.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 13968 2020-12-16 23:17:13.000000 ./usr/share/info/adasockets.info.gz\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/man/\n drwxr-xr-x 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/share/man/man1/\n -rw-r--r-- 0 root (0) root (0) 299 2020-12-16 23:17:13.000000 ./usr/share/man/man1/adasockets-config.1.gz\n lrwxrwxrwx 0 root (0) root (0) 0 2020-12-16 23:17:13.000000 ./usr/lib/x86_64-linux-gnu/libadasockets.so -> libadasockets.so.10.0.0\n"}, {"source1": "./usr/share/doc/libadasockets10-dev/adasockets.pdf.gz", "source2": "./usr/share/doc/libadasockets10-dev/adasockets.pdf.gz", "unified_diff": null, "details": [{"source1": "adasockets.pdf", "source2": "adasockets.pdf", "unified_diff": null, "details": [{"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -50,19 +50,19 @@\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@@ -352,24 +352,14 @@\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--- 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 Get (function)\n Purpose\n \n Get a string from a remote host\n \n@@ -417,31 +407,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@@ -475,26 +465,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@@ -506,28 +492,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@@ -546,25 +536,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@@ -576,15 +562,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@@ -626,40 +617,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 [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@@ -681,15 +669,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@@ -712,20 +700,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@@ -740,25 +724,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@@ -784,23 +772,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@@ -816,14 +800,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@@ -833,17 +822,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@@ -864,19 +852,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@@ -893,21 +877,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@@ -936,18 +925,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@@ -968,14 +953,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@@ -1017,38 +1007,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 : Socket_FD;\n begin\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@@ -1149,15 +1140,15 @@\n Accept_Socket (Sock, Incoming);\n -- Do some dialog with the remote host\n Do_Some_Dialog (Incoming);\n -- Close incoming socket and wait for next connection\n Shutdown (Incoming);\n end loop;\n end;\n-See also [Send (procedure)], page 16,\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@@ -1205,15 +1196,15 @@\n Connect (Sock, \"mail.rfc1149.net\", 25);\n \n \fChapter 5: Sockets.Multicast package\n \n -- Do a mail transaction then close the socket\n [...]\n end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n 21\n \n \f\f23\n \n 6 Sockets.Naming package\n@@ -1594,32 +1585,32 @@\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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n-AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\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_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@@ -1648,19 +1639,19 @@\n Creating a UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Creating a unicast socket . . . . . . . . . . . . . . . . . . . . . . . . 5\n CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n \n Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25\n Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 26\n Installing AdaSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\n-IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . . 12, 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+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@@ -1701,80 +1692,80 @@\n Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 25\n Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 26\n Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 26\n Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 26\n Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 27\n Sockets.New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Sockets.Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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+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"}]}]}, {"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": "@@ -546,446 +546,4408 @@\n 00002210: 7320 7061 636b 6167 652c 2020 4e65 7874 s package, Next\n 00002220: 3a20 536f 636b 6574 732e 4d75 6c74 6963 : Sockets.Multic\n 00002230: 6173 7420 7061 636b 6167 652c 2020 5072 ast package, Pr\n 00002240: 6576 3a20 5573 696e 6720 4164 6153 6f63 ev: Using AdaSoc\n 00002250: 6b65 7473 2c20 2055 703a 2054 6f70 0a0a kets, Up: Top..\n 00002260: 3420 536f 636b 6574 7320 7061 636b 6167 4 Sockets packag\n 00002270: 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a e.**************\n-00002280: 2a2a 2a0a 0a1f 0a46 696c 653a 2061 6461 ***....File: ada\n-00002290: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-000022a0: 6f64 653a 2053 6f63 6b65 7473 2e4d 756c ode: Sockets.Mul\n-000022b0: 7469 6361 7374 2070 6163 6b61 6765 2c20 ticast package, \n-000022c0: 204e 6578 743a 2053 6f63 6b65 7473 2e4e Next: Sockets.N\n-000022d0: 616d 696e 6720 7061 636b 6167 652c 2020 aming package, \n-000022e0: 5072 6576 3a20 536f 636b 6574 7320 7061 Prev: Sockets pa\n-000022f0: 636b 6167 652c 2020 5570 3a20 546f 700a ckage, Up: Top.\n-00002300: 0a35 2053 6f63 6b65 7473 2e4d 756c 7469 .5 Sockets.Multi\n-00002310: 6361 7374 2070 6163 6b61 6765 0a2a 2a2a cast package.***\n-00002320: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00002330: 2a2a 2a2a 2a2a 2a2a 0a0a 1f0a 4669 6c65 ********....File\n-00002340: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00002350: 6f2c 2020 4e6f 6465 3a20 536f 636b 6574 o, Node: Socket\n-00002360: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n-00002370: 2c20 204e 6578 743a 2043 6f6e 7472 6962 , Next: Contrib\n-00002380: 7574 6f72 732c 2020 5072 6576 3a20 536f utors, Prev: So\n-00002390: 636b 6574 732e 4d75 6c74 6963 6173 7420 ckets.Multicast \n-000023a0: 7061 636b 6167 652c 2020 5570 3a20 546f package, Up: To\n-000023b0: 700a 0a36 2053 6f63 6b65 7473 2e4e 616d p..6 Sockets.Nam\n-000023c0: 696e 6720 7061 636b 6167 650a 2a2a 2a2a ing package.****\n-000023d0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-000023e0: 2a2a 2a2a 0a0a 1f0a 4669 6c65 3a20 6164 ****....File: ad\n-000023f0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00002400: 4e6f 6465 3a20 436f 6e74 7269 6275 746f Node: Contributo\n-00002410: 7273 2c20 204e 6578 743a 2052 6573 6f75 rs, Next: Resou\n-00002420: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n-00002430: 726e 6574 2c20 2050 7265 763a 2053 6f63 rnet, Prev: Soc\n-00002440: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n-00002450: 6167 652c 2020 5570 3a20 546f 700a 0a41 age, Up: Top..A\n-00002460: 7070 656e 6469 7820 4120 436f 6e74 7269 ppendix A Contri\n-00002470: 6275 746f 7273 0a2a 2a2a 2a2a 2a2a 2a2a butors.*********\n-00002480: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n-00002490: 4164 6153 6f63 6b65 7473 2068 6173 2062 AdaSockets has b\n-000024a0: 6565 6e20 6f72 6967 696e 616c 6c79 2064 een originally d\n-000024b0: 6576 656c 6f70 7065 6420 6279 2053 616d evelopped by Sam\n-000024c0: 7565 6c20 5461 7264 6965 7520 7768 6f20 uel Tardieu who \n-000024d0: 7374 696c 6c0a 6d61 696e 7461 696e 7320 still.maintains \n-000024e0: 6974 2e20 2048 6f77 6576 6572 2c20 7468 it. However, th\n-000024f0: 6520 666f 6c6c 6f77 696e 6720 7065 6f70 e following peop\n-00002500: 6c65 2068 6176 6520 6d61 6465 2063 7275 le have made cru\n-00002510: 6369 616c 0a63 6f6e 7472 6962 7574 696f cial.contributio\n-00002520: 6e73 2074 6f20 4164 6153 6f63 6b65 7473 ns to AdaSockets\n-00002530: 2c20 6265 2074 6865 7920 6e65 7720 636f , be they new co\n-00002540: 6465 2c20 6275 6720 6669 7865 7320 6f72 de, bug fixes or\n-00002550: 2070 6f72 7469 6e67 2074 6f0a 6e65 7720 porting to.new \n-00002560: 6f70 6572 6174 696e 6720 7379 7374 656d operating system\n-00002570: 733a 0a0a 2020 202a 2044 6d69 7472 6979 s:.. * Dmitriy\n-00002580: 2041 6e69 7369 6d6b 6f76 2028 3c61 6e69 Anisimkov (). * Alan Bar\n-000025b0: 6e65 7320 283c 6261 726e 6573 6140 6173 nes (). *\n-000025d0: 204a 7561 6e6d 6120 4261 7272 616e 7175 Juanma Barranqu\n-000025e0: 6572 6f20 283c 6c65 6b74 7540 7465 7272 ero (). * Bobb\n-00002600: 7920 442e 2042 7279 616e 7420 283c 6264 y D. Bryant (). * Sa\n-00002630: 6e64 6572 2043 6f78 2028 3c73 616e 6465 nder Cox (). * Sune Fa\n-00002660: 6c6b 2028 3c73 756e 652e 6661 6c63 6b40 lk (). *\n-00002680: 2047 7569 6c6c 6175 6d65 2046 6f6c 6961 Guillaume Folia\n-00002690: 7264 2028 3c67 7569 666f 4077 616e 6164 rd (). * Lau\n-000026b0: 7265 6e74 2047 7565 7262 7920 283c 6775 rent Guerby (). * Dav\n-000026e0: 6964 204a 2e20 4b72 6973 746f 6c61 2028 id J. Kristola (\n-000026f0: 3c44 6176 6964 3935 3033 3740 616f 6c2e ). * Domin\n-00002710: 696b 204d 6164 6f6e 2028 3c64 6f6d 696e ik Madon (). \n-00002730: 2a20 5061 7363 616c 204f 6272 7920 283c * Pascal Obry (<\n-00002740: 702e 6f62 7279 4077 616e 6164 6f6f 2e66 p.obry@wanadoo.f\n-00002750: 723e 290a 2020 202a 204e 6963 6f6c 6173 r>). * Nicolas\n-00002760: 204f 6c6c 696e 6765 7220 283c 4e69 636f Ollinger (). * \n-00002790: 5374 e970 6861 6e65 2050 6174 7572 6561 St.phane Paturea\n-000027a0: 7520 283c 7370 6174 7572 6561 406d 656c u (). * \n-000027d0: 5468 6f6d 6173 2051 7569 6e6f 7420 283c Thomas Quinot (<\n-000027e0: 7468 6f6d 6173 4063 7569 7672 652e 6672 thomas@cuivre.fr\n-000027f0: 2e65 752e 6f72 673e 290a 2020 202a 2050 .eu.org>). * P\n-00002800: 7265 6265 6e20 5261 6e64 686f 6c20 283c reben Randhol (<\n-00002810: 7261 6e64 686f 6c40 7076 762e 6f72 673e randhol@pvv.org>\n-00002820: 290a 2020 202a 204d 6178 696d 2052 657a ). * Maxim Rez\n-00002830: 6e69 6b20 283c 6d61 7831 406d 6261 6e6b nik (). * J\n-00002850: 6f65 6c20 5368 6572 7269 6c6c 2028 3c6a oel Sherrill (). * \n-00002880: 5361 6d75 656c 2054 6172 6469 6575 2028 Samuel Tardieu (\n-00002890: 3c73 616d 4072 6663 3131 3439 2e6e 6574 ).. If you fe\n-000028b0: 656c 2074 6861 7420 796f 7520 6861 7665 el that you have\n-000028c0: 2062 6565 6e20 666f 7267 6f74 7465 6e2c been forgotten,\n-000028d0: 2070 6c65 6173 6520 7365 6e64 206d 6520 please send me \n-000028e0: 6120 6d61 696c 2073 6f0a 7468 6174 2049 a mail so.that I\n-000028f0: 2063 616e 2066 6978 2069 7420 696e 2074 can fix it in t\n-00002900: 6865 206e 6578 7420 7665 7273 696f 6e2e he next version.\n-00002910: 0a0a 2020 202a 4e6f 7465 2052 6573 6f75 .. *Note Resou\n-00002920: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n-00002930: 726e 6574 3a3a 2c20 666f 7220 686f 7720 rnet::, for how \n-00002940: 746f 2063 6f6e 7472 6962 7574 652e 0a0a to contribute...\n-00002950: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-00002960: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-00002970: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n-00002980: 2049 6e74 6572 6e65 742c 2020 4e65 7874 Internet, Next\n-00002990: 3a20 496e 6465 782c 2020 5072 6576 3a20 : Index, Prev: \n-000029a0: 436f 6e74 7269 6275 746f 7273 2c20 2055 Contributors, U\n-000029b0: 703a 2054 6f70 0a0a 4170 7065 6e64 6978 p: Top..Appendix\n-000029c0: 2042 2052 6573 6f75 7263 6573 206f 6e20 B Resources on \n-000029d0: 7468 6520 496e 7465 726e 6574 0a2a 2a2a the Internet.***\n-000029e0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-000029f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00002a00: 2a0a 0a54 6865 206c 6174 6573 7420 7665 *..The latest ve\n-00002a10: 7273 696f 6e20 6f66 2041 6461 536f 636b rsion of AdaSock\n-00002a20: 6574 7320 6361 6e20 616c 7761 7973 2062 ets can always b\n-00002a30: 6520 666f 756e 6420 6174 3a0a 0a20 2020 e found at:.. \n-00002a40: 2020 2020 2020 2020 2020 2020 3c68 7474 .. You ca\n-00002a80: 6e20 7265 706f 7274 2069 7373 7565 7320 n report issues \n-00002a90: 6f72 2073 7562 6d69 7420 7175 6573 7469 or submit questi\n-00002aa0: 6f6e 7320 6f6e 2047 6974 4875 6227 7320 ons on GitHub's \n-00002ab0: 6973 7375 6520 7472 6163 6b65 720a 6174 issue tracker.at\n-00002ac0: 3a0a 0a20 2020 2020 2020 2020 3c68 7474 :.. \n-00002b00: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n-00002b10: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n-00002b20: 3a20 496e 6465 782c 2020 5072 6576 3a20 : Index, Prev: \n-00002b30: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n-00002b40: 2049 6e74 6572 6e65 742c 2020 5570 3a20 Internet, Up: \n-00002b50: 546f 700a 0a49 6e64 6578 0a2a 2a2a 2a2a Top..Index.*****\n-00002b60: 0a0a 0008 5b69 6e64 6578 0008 5d0a 2a20 ....[index..].* \n-00002b70: 4d65 6e75 3a0a 0a2a 2041 6461 2e53 7472 Menu:..* Ada.Str\n-00002b80: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-00002b90: 656e 745f 4172 7261 793a 2020 2020 2020 ent_Array: \n-00002ba0: 5261 7720 6461 7461 206d 616e 6970 756c Raw data manipul\n-00002bb0: 6174 696f 6e2e 0a20 2020 2020 2020 2020 ation.. \n-00002bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002bf0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-00002c00: 2a20 4164 6153 6f63 6b65 7473 2070 7265 * AdaSockets pre\n-00002c10: 7365 6e74 6174 696f 6e3a 2020 2020 2020 sentation: \n-00002c20: 2020 2020 2020 2020 2057 6861 7420 6973 What is\n-00002c30: 2041 6461 536f 636b 6574 733f 2e20 2028 AdaSockets?. (\n-00002c40: 6c69 6e65 2020 3629 0a2a 2043 6f6d 7061 line 6).* Compa\n-00002c50: 7261 6973 6f6e 2077 6974 6820 474e 4154 raison with GNAT\n-00002c60: 2e53 6f63 6b65 7473 3a20 2020 2020 2020 .Sockets: \n-00002c70: 2020 5768 6174 2069 7320 4164 6153 6f63 What is AdaSoc\n-00002c80: 6b65 7473 3f2e 2020 286c 696e 6520 2036 kets?. (line 6\n-00002c90: 290a 2a20 436f 6e74 7269 6275 7469 6e67 ).* Contributing\n-00002ca0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00002cb0: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr\n-00002cc0: 6962 7574 6f72 732e 2020 2020 2020 2020 ibutors. \n-00002cd0: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6e (line 6).* Con\n-00002ce0: 7472 6962 7574 696e 6720 3c31 3e3a 2020 tributing <1>: \n-00002cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002d00: 2020 2020 5265 736f 7572 6365 7320 6f6e Resources on\n-00002d10: 2074 6865 2049 6e74 6572 6e65 742e 0a20 the Internet.. \n-00002d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002d50: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00002d60: 696e 6520 2036 290a 2a20 4372 6561 7465 ine 6).* Create\n-00002d70: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n-00002d80: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-00002d90: 2053 6574 7469 6e67 2075 7020 6d75 6c74 Setting up mult\n-00002da0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n-00002db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002dc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002de0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00002df0: 696e 6520 3136 290a 2a20 4372 6561 7469 ine 16).* Creati\n-00002e00: 6e67 2061 206d 756c 7469 6361 7374 2073 ng a multicast s\n-00002e10: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-00002e20: 2053 6574 7469 6e67 2075 7020 6d75 6c74 Setting up mult\n-00002e30: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n-00002e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002e70: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00002e80: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-00002e90: 6e67 2061 2073 6f63 6b65 743a 2020 2020 ng a socket: \n-00002ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002eb0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-00002ec0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-00002ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002f00: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00002f10: 6520 2036 290a 2a20 4372 6561 7469 6e67 e 6).* Creating\n-00002f20: 2061 2054 4350 2073 6f63 6b65 743a 2020 a TCP socket: \n-00002f30: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00002f40: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-00002f50: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n-00002f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00002f90: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00002fa0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n-00002fb0: 2055 4450 2073 6f63 6b65 743a 2020 2020 UDP socket: \n-00002fc0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-00002fd0: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n-00002fe0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n-00002ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003020: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-00003030: 290a 2a20 4372 6561 7469 6e67 2061 2075 ).* Creating a u\n-00003040: 6e69 6361 7374 2073 6f63 6b65 743a 2020 nicast socket: \n-00003050: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-00003060: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n-00003070: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n-00003080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000030a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000030b0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-000030c0: 2a20 4669 6e64 696e 6720 4164 6153 6f63 * Finding AdaSoc\n-000030d0: 6b65 7473 206f 6e20 7468 6520 496e 7465 kets on the Inte\n-000030e0: 726e 6574 3a20 2020 2052 6573 6f75 7263 rnet: Resourc\n-000030f0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n-00003100: 6574 2e0a 2020 2020 2020 2020 2020 2020 et.. \n-00003110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003140: 2020 2028 6c69 6e65 2020 3629 0a2a 2047 (line 6).* G\n-00003150: 726f 7570 2063 6f6d 6d75 6e69 6361 7469 roup communicati\n-00003160: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00003170: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n-00003180: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-00003190: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n-000031a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000031b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000031c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000031d0: 2020 2028 6c69 6e65 2020 3629 0a2a 2049 (line 6).* I\n-000031e0: 6e73 7461 6c6c 696e 6720 4164 6153 6f63 nstalling AdaSoc\n-000031f0: 6b65 7473 3a20 2020 2020 2020 2020 2020 kets: \n-00003200: 2020 2020 2020 496e 7374 616c 6c69 6e67 Installing\n-00003210: 2041 6461 536f 636b 6574 732e 0a20 2020 AdaSockets.. \n-00003220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003250: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00003260: 6520 2036 290a 2a20 4d62 6f6e 653a 2020 e 6).* Mbone: \n-00003270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003280: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00003290: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n-000032a0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-000032b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000032c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000032d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000032e0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-000032f0: 6520 2036 290a 2a20 4d75 6c74 6963 6173 e 6).* Multicas\n-00003300: 7420 736f 636b 6574 733a 2020 2020 2020 t sockets: \n-00003310: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00003320: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n-00003330: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-00003340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003370: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00003380: 6520 2036 290a 2a20 4d75 6c74 6963 6173 e 6).* Multicas\n-00003390: 745f 536f 636b 6574 5f46 443a 2020 2020 t_Socket_FD: \n-000033a0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000033b0: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic\n-000033c0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-000033d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000033e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000033f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003400: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00003410: 6520 3136 290a 2a20 5261 7720 6461 7461 e 16).* Raw data\n-00003420: 206d 616e 6970 756c 6174 696f 6e3a 2020 manipulation: \n-00003430: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-00003440: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n-00003450: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n-00003460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003490: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-000034a0: 2052 6563 6569 7669 6e67 2064 6174 613a Receiving data:\n-000034b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000034c0: 2020 2020 2020 2020 5365 6e64 696e 6720 Sending \n-000034d0: 616e 6420 7265 6365 6976 696e 6720 6461 and receiving da\n-000034e0: 7461 2e0a 2020 2020 2020 2020 2020 2020 ta.. \n-000034f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003520: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n-00003530: 6570 6f72 7469 6e67 2061 2062 7567 3a20 eporting a bug: \n-00003540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003550: 2020 2020 2020 5265 736f 7572 6365 7320 Resources \n-00003560: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n-00003570: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00003580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000035a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000035b0: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-000035c0: 696e 6720 6461 7461 3a20 2020 2020 2020 ing data: \n-000035d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000035e0: 2020 2053 656e 6469 6e67 2061 6e64 2072 Sending and r\n-000035f0: 6563 6569 7669 6e67 2064 6174 612e 0a20 eceiving data.. \n-00003600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003630: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00003640: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n-00003650: 6720 7061 7463 6865 733a 2020 2020 2020 g patches: \n-00003660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003670: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n-00003680: 6520 496e 7465 726e 6574 2e0a 2020 2020 e Internet.. \n-00003690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000036a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000036b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000036c0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000036d0: 2020 3629 0a2a 2053 6f63 6b65 743a 2020 6).* Socket: \n-000036e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000036f0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00003700: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n-00003710: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-00003720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003750: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00003760: 3629 0a2a 2053 6f63 6b65 7473 2e4d 756c 6).* Sockets.Mul\n-00003770: 7469 6361 7374 2e43 7265 6174 655f 4d75 ticast.Create_Mu\n-00003780: 6c74 6963 6173 745f 536f 636b 6574 3a20 lticast_Socket: \n-00003790: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-000037a0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n-000037b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000037c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000037d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000037e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-000037f0: 6e65 2031 3629 0a2a 2053 6f63 6b65 7473 ne 16).* Sockets\n-00003800: 2e53 6f63 6b65 743a 2020 2020 2020 2020 .Socket: \n-00003810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003820: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n-00003830: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-00003840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003870: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00003880: 2020 3629 0a2a 2053 6f63 6b65 745f 4644 6).* Socket_FD\n-00003890: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000038a0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-000038b0: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n-000038c0: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-000038d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000038e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000038f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003900: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00003910: 3629 0a2a 2053 7472 6561 6d5f 456c 656d 6).* Stream_Elem\n-00003920: 656e 745f 4172 7261 793a 2020 2020 2020 ent_Array: \n-00003930: 2020 2020 2020 2020 2020 2020 5261 7720 Raw \n-00003940: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio\n-00003950: 6e2e 0a20 2020 2020 2020 2020 2020 2020 n.. \n-00003960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003990: 2020 286c 696e 6520 2036 290a 2a20 5375 (line 6).* Su\n-000039a0: 6767 6573 7469 6e67 2061 2066 6561 7475 ggesting a featu\n-000039b0: 7265 3a20 2020 2020 2020 2020 2020 2020 re: \n-000039c0: 2020 2020 2052 6573 6f75 7263 6573 206f Resources o\n-000039d0: 6e20 7468 6520 496e 7465 726e 6574 2e0a n the Internet..\n-000039e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000039f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003a10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00003a20: 6c69 6e65 2020 3629 0a2a 2054 4350 2073 line 6).* TCP s\n-00003a30: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n-00003a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003a50: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni\n-00003a60: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n-00003a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003aa0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00003ab0: 6e65 2020 3629 0a2a 2055 4450 2073 6f63 ne 6).* UDP soc\n-00003ac0: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n-00003ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003ae0: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n-00003af0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-00003b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003b30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00003b40: 2020 3629 0a2a 2055 6e69 6361 7374 2073 6).* Unicast s\n-00003b50: 6f63 6b65 7473 3a20 2020 2020 2020 2020 ockets: \n-00003b60: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00003b70: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n-00003b80: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \n-00003b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00003bc0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00003bd0: 3629 0a0a 0a1f 0a54 6167 2054 6162 6c65 6).....Tag Table\n-00003be0: 3a0a 4e6f 6465 3a20 546f 707f 3831 370a :.Node: Top.817.\n-00003bf0: 4e6f 6465 3a20 5768 6174 2069 7320 4164 Node: What is Ad\n-00003c00: 6153 6f63 6b65 7473 3f7f 3133 3930 0a4e aSockets?.1390.N\n-00003c10: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing \n-00003c20: 4164 6153 6f63 6b65 7473 7f32 3238 330a AdaSockets.2283.\n-00003c30: 4e6f 6465 3a20 5573 696e 6720 4164 6153 Node: Using AdaS\n-00003c40: 6f63 6b65 7473 7f33 3237 300a 4e6f 6465 ockets.3270.Node\n-00003c50: 3a20 436f 6d70 696c 696e 6720 616e 2041 : Compiling an A\n-00003c60: 6461 2061 7070 6c69 6361 7469 6f6e 7f33 da application.3\n-00003c70: 3536 310a 4e6f 6465 3a20 5365 7474 696e 561.Node: Settin\n-00003c80: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n-00003c90: 6b65 7473 7f34 3138 380a 4e6f 6465 3a20 kets.4188.Node: \n-00003ca0: 5365 7474 696e 6720 7570 206d 756c 7469 Setting up multi\n-00003cb0: 6361 7374 2073 6f63 6b65 7473 7f35 3439 cast sockets.549\n-00003cc0: 340a 4e6f 6465 3a20 5365 6e64 696e 6720 4.Node: Sending \n-00003cd0: 616e 6420 7265 6365 6976 696e 6720 6461 and receiving da\n-00003ce0: 7461 7f36 3832 330a 4e6f 6465 3a20 5261 ta.6823.Node: Ra\n-00003cf0: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat\n-00003d00: 696f 6e7f 3731 3835 0a4e 6f64 653a 2053 ion.7185.Node: S\n-00003d10: 7472 696e 672d 6f72 6965 6e74 6564 2065 tring-oriented e\n-00003d20: 7863 6861 6e67 6573 7f37 3538 350a 4e6f xchanges.7585.No\n-00003d30: 6465 3a20 536f 636b 6574 7320 7061 636b de: Sockets pack\n-00003d40: 6167 657f 3836 3832 0a4e 6f64 653a 2053 age.8682.Node: S\n-00003d50: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n-00003d60: 2070 6163 6b61 6765 7f38 3833 370a 4e6f package.8837.No\n-00003d70: 6465 3a20 536f 636b 6574 732e 4e61 6d69 de: Sockets.Nami\n-00003d80: 6e67 2070 6163 6b61 6765 7f39 3031 380a ng package.9018.\n-00003d90: 4e6f 6465 3a20 436f 6e74 7269 6275 746f Node: Contributo\n-00003da0: 7273 7f39 3139 300a 4e6f 6465 3a20 5265 rs.9190.Node: Re\n-00003db0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n-00003dc0: 6e74 6572 6e65 747f 3130 3537 360a 4e6f nternet.10576.No\n-00003dd0: 6465 3a20 496e 6465 787f 3131 3031 300a de: Index.11010.\n-00003de0: 1f0a 456e 6420 5461 6720 5461 626c 650a ..End Tag Table.\n+00002280: 2a2a 2a0a 0a54 6865 2027 536f 636b 6574 ***..The 'Socket\n+00002290: 7327 2070 6163 6b61 6765 2063 6f6e 7461 s' package conta\n+000022a0: 696e 7320 616c 6c20 7468 6520 6465 6669 ins all the defi\n+000022b0: 6e69 7469 6f6e 7320 616e 6420 7375 6270 nitions and subp\n+000022c0: 726f 6772 616d 730a 6e65 6564 6564 2074 rograms.needed t\n+000022d0: 6f20 6275 696c 6420 6120 7369 6d70 6c65 o build a simple\n+000022e0: 2075 6e69 6361 7374 2063 6c69 656e 7420 unicast client \n+000022f0: 6f72 2073 6572 7665 722e 0a0a 202d 2d20 or server... -- \n+00002300: 536f 636b 6574 732e 536f 636b 6574 5f46 Sockets.Socket_F\n+00002310: 443a 2074 7970 6520 536f 636b 6574 5f46 D: type Socket_F\n+00002320: 4420 6973 2074 6167 6765 6420 7072 6976 D is tagged priv\n+00002330: 6174 653b 0a20 2020 2020 5468 6520 2753 ate;. The 'S\n+00002340: 6f63 6b65 745f 4644 2720 7461 6767 6564 ocket_FD' tagged\n+00002350: 2074 7970 6520 6973 2074 6865 2072 6f6f type is the roo\n+00002360: 7420 7479 7065 206f 6620 616c 6c20 736f t type of all so\n+00002370: 636b 6574 732e 2020 4974 0a20 2020 2020 ckets. It. \n+00002380: 6765 7473 2069 6e69 7469 616c 697a 6564 gets initialized\n+00002390: 2062 7920 6361 6c6c 696e 6720 2a6e 6f74 by calling *not\n+000023a0: 6520 536f 636b 6574 2028 7072 6f63 6564 e Socket (proced\n+000023b0: 7572 6529 3a3a 2e20 2041 6e0a 2020 2020 ure)::. An. \n+000023c0: 2075 6e69 6e69 7469 616c 697a 6564 2027 uninitialized '\n+000023d0: 536f 636b 6574 5f46 4427 2063 616e 2062 Socket_FD' can b\n+000023e0: 6520 7375 6363 6573 6675 6c6c 7920 636f e succesfully co\n+000023f0: 6d70 6172 6564 2074 6f0a 2020 2020 2027 mpared to. '\n+00002400: 4e75 6c6c 5f53 6f63 6b65 745f 4644 272e Null_Socket_FD'.\n+00002410: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 6363 ..* Menu:..* Acc\n+00002420: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00002430: 6564 7572 6529 3a3a 0a20 2020 2020 2020 edure)::. \n+00002440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002450: 2041 6363 6570 7420 616e 2069 6e63 6f6d Accept an incom\n+00002460: 696e 6720 636f 6e6e 6563 7469 6f6e 0a2a ing connection.*\n+00002470: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n+00002480: 293a 3a20 2020 2041 7373 6f63 6961 7465 ):: Associate\n+00002490: 2061 206c 6f63 616c 2070 6f72 7420 746f a local port to\n+000024a0: 2061 2073 6f63 6b65 740a 2a20 436f 6e6e a socket.* Conn\n+000024b0: 6563 7420 2870 726f 6365 6475 7265 293a ect (procedure):\n+000024c0: 3a20 436f 6e6e 6563 7420 6120 736f 636b : Connect a sock\n+000024d0: 6574 206f 6e20 6120 6769 7665 6e20 686f et on a given ho\n+000024e0: 7374 2f70 6f72 740a 2a20 4765 7420 2866 st/port.* Get (f\n+000024f0: 756e 6374 696f 6e29 3a3a 2020 2020 2020 unction):: \n+00002500: 4765 7420 6120 7374 7269 6e67 2066 726f Get a string fro\n+00002510: 6d20 6120 7265 6d6f 7465 2068 6f73 740a m a remote host.\n+00002520: 2a20 4765 745f 4368 6172 2028 6675 6e63 * Get_Char (func\n+00002530: 7469 6f6e 293a 3a20 4765 7420 6120 6368 tion):: Get a ch\n+00002540: 6172 6163 7465 7220 6672 6f6d 2061 2072 aracter from a r\n+00002550: 656d 6f74 6520 686f 7374 0a2a 2047 6574 emote host.* Get\n+00002560: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+00002570: 3a3a 2047 6574 2061 2077 686f 6c65 206c :: Get a whole l\n+00002580: 696e 6520 6672 6f6d 2061 2072 656d 6f74 ine from a remot\n+00002590: 6520 686f 7374 0a2a 2047 6574 5f4c 696e e host.* Get_Lin\n+000025a0: 6520 2870 726f 6365 6475 7265 293a 3a0a e (procedure)::.\n+000025b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000025c0: 2020 2020 2020 2020 4765 7420 6120 7768 Get a wh\n+000025d0: 6f6c 6520 6c69 6e65 2066 726f 6d20 6120 ole line from a \n+000025e0: 7265 6d6f 7465 2068 6f73 740a 2a20 4765 remote host.* Ge\n+000025f0: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n+00002600: 5369 7a65 2028 6675 6e63 7469 6f6e 293a Size (function):\n+00002610: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n+00002620: 2020 2020 2020 2020 2020 5265 7475 726e Return\n+00002630: 2074 6865 2073 697a 6520 6f66 2074 6865 the size of the\n+00002640: 2075 6e72 6561 6420 6461 7461 2069 6e20 unread data in \n+00002650: 7468 6520 696e 7075 7420 7175 6575 650a the input queue.\n+00002660: 2a20 4765 745f 5365 6e64 5f51 7565 7565 * Get_Send_Queue\n+00002670: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+00002680: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+00002690: 2020 2020 2020 2020 2020 2052 6574 7572 Retur\n+000026a0: 6e20 7468 6520 7369 7a65 206f 6620 7468 n the size of th\n+000026b0: 6520 756e 7365 6e74 2064 6174 6120 696e e unsent data in\n+000026c0: 2074 6865 206f 7574 7075 7420 7175 6575 the output queu\n+000026d0: 650a 2a20 4765 7473 6f63 6b6f 7074 2028 e.* Getsockopt (\n+000026e0: 7072 6f63 6564 7572 6529 3a3a 0a20 2020 procedure)::. \n+000026f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002700: 2020 2020 2052 6574 7269 6576 6520 6120 Retrieve a \n+00002710: 736f 636b 6574 206f 7074 696f 6e0a 2a20 socket option.* \n+00002720: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur\n+00002730: 6529 3a3a 2020 4573 7461 626c 6973 6820 e):: Establish \n+00002740: 6120 6c69 7374 656e 2071 7565 7565 0a2a a listen queue.*\n+00002750: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+00002760: 6475 7265 293a 3a0a 2020 2020 2020 2020 dure)::. \n+00002770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002780: 5365 6e64 2061 2043 522f 4c46 2074 6f20 Send a CR/LF to \n+00002790: 6120 7265 6d6f 7465 2068 6f73 740a 2a20 a remote host.* \n+000027a0: 5075 7420 2870 726f 6365 6475 7265 293a Put (procedure):\n+000027b0: 3a20 2020 2020 5365 6e64 2061 2073 7472 : Send a str\n+000027c0: 696e 6720 746f 2061 2072 656d 6f74 6520 ing to a remote \n+000027d0: 686f 7374 0a2a 2050 7574 5f4c 696e 6520 host.* Put_Line \n+000027e0: 2870 726f 6365 6475 7265 293a 3a0a 2020 (procedure)::. \n+000027f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002800: 2020 2020 2020 5365 6e64 2061 2043 522f Send a CR/\n+00002810: 4c46 2074 6572 6d69 6e61 7465 6420 7374 LF terminated st\n+00002820: 7269 6e67 2074 6f20 6120 7265 6d6f 7465 ring to a remote\n+00002830: 2068 6f73 740a 2a20 5265 6365 6976 6520 host.* Receive \n+00002840: 2866 756e 6374 696f 6e29 3a3a 2020 5265 (function):: Re\n+00002850: 6365 6976 6520 7261 7720 6461 7461 206f ceive raw data o\n+00002860: 7665 7220 6120 736f 636b 6574 0a2a 2052 ver a socket.* R\n+00002870: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00002880: 6529 3a3a 2052 6563 6569 7665 2072 6177 e):: Receive raw\n+00002890: 2064 6174 6120 6f76 6572 2061 2073 6f63 data over a soc\n+000028a0: 6b65 740a 2a20 5265 6365 6976 655f 536f ket.* Receive_So\n+000028b0: 6d65 2028 7072 6f63 6564 7572 6529 3a3a me (procedure)::\n+000028c0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000028d0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+000028e0: 2072 6177 2064 6174 6120 6f76 6572 2061 raw data over a\n+000028f0: 2073 6f63 6b65 740a 2a20 5365 6e64 2028 socket.* Send (\n+00002900: 7072 6f63 6564 7572 6529 3a3a 2020 2020 procedure):: \n+00002910: 5365 6e64 2072 6177 2064 6174 6120 6f76 Send raw data ov\n+00002920: 6572 2061 2073 6f63 6b65 740a 2a20 5365 er a socket.* Se\n+00002930: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00002940: 7572 6529 3a3a 0a20 2020 2020 2020 2020 ure)::. \n+00002950: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+00002960: 6e73 7461 6c6c 2061 206c 696e 652d 6f72 nstall a line-or\n+00002970: 6965 6e74 6564 2062 7566 6665 7220 6f66 iented buffer of\n+00002980: 2074 6865 2073 6f63 6b65 7420 6f62 6a65 the socket obje\n+00002990: 6374 0a2a 2053 6574 736f 636b 6f70 7420 ct.* Setsockopt \n+000029a0: 2870 726f 6365 6475 7265 293a 3a0a 2020 (procedure)::. \n+000029b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000029c0: 2020 2020 2020 5365 7420 6120 736f 636b Set a sock\n+000029d0: 6574 206f 7074 696f 6e0a 2a20 5368 7574 et option.* Shut\n+000029e0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+000029f0: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+00002a00: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00002a10: 6f77 6e20 6120 736f 636b 6574 0a2a 2053 own a socket.* S\n+00002a20: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00002a30: 293a 3a20 2043 7265 6174 6520 6120 736f ):: Create a so\n+00002a40: 636b 6574 206f 6620 7468 6520 6769 7665 cket of the give\n+00002a50: 6e20 6d6f 6465 0a2a 2055 6e73 6574 5f42 n mode.* Unset_B\n+00002a60: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00002a70: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+00002a80: 2020 2020 2020 2020 2020 2020 4465 696e Dein\n+00002a90: 7374 616c 6c20 7468 6520 6c69 6e65 2d6f stall the line-o\n+00002aa0: 7269 656e 7465 6420 6275 6666 6572 206f riented buffer o\n+00002ab0: 6620 7468 6520 736f 636b 6574 206f 626a f the socket obj\n+00002ac0: 6563 740a 0a1f 0a46 696c 653a 2061 6461 ect....File: ada\n+00002ad0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00002ae0: 6f64 653a 2041 6363 6570 745f 536f 636b ode: Accept_Sock\n+00002af0: 6574 2028 7072 6f63 6564 7572 6529 2c20 et (procedure), \n+00002b00: 204e 6578 743a 2042 696e 6420 2870 726f Next: Bind (pro\n+00002b10: 6365 6475 7265 292c 2020 5570 3a20 536f cedure), Up: So\n+00002b20: 636b 6574 7320 7061 636b 6167 650a 0a41 ckets package..A\n+00002b30: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00002b40: 6f63 6564 7572 6529 0a3d 3d3d 3d3d 3d3d ocedure).=======\n+00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00002b60: 3d3d 0a0a 5055 5250 4f53 450a 2020 2020 ==..PURPOSE. \n+00002b70: 2041 6363 6570 7420 616e 2069 6e63 6f6d Accept an incom\n+00002b80: 696e 6720 636f 6e6e 6563 7469 6f6e 0a50 ing connection.P\n+00002b90: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00002ba0: 2d20 536f 636b 6574 732e 4163 6365 7074 - Sockets.Accept\n+00002bb0: 5f53 6f63 6b65 743a 2070 726f 6365 6475 _Socket: procedu\n+00002bc0: 7265 2041 6363 6570 745f 536f 636b 6574 re Accept_Socket\n+00002bd0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00002be0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+00002bf0: 5f46 443b 204e 4557 5f53 4f43 4b45 5420 _FD; NEW_SOCKET \n+00002c00: 3a20 6f75 7420 536f 636b 6574 5f46 4429 : out Socket_FD)\n+00002c10: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00002c20: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00002c30: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00002c40: 697a 6564 0a20 2020 2020 4e45 575f 534f ized. NEW_SO\n+00002c50: 434b 4554 206f 7574 2020 2020 2020 2020 CKET out \n+00002c60: 496e 636f 6d69 6e67 2073 6f63 6b65 7420 Incoming socket \n+00002c70: 6f62 6a65 6374 0a0a 4445 5343 5249 5054 object..DESCRIPT\n+00002c80: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+00002c90: 6f63 6564 7572 6520 6372 6561 7465 7320 ocedure creates \n+00002ca0: 6120 6e65 7720 736f 636b 6574 2063 6f72 a new socket cor\n+00002cb0: 7265 7370 6f6e 6469 6e67 2074 6f20 616e responding to an\n+00002cc0: 2069 6e63 6f6d 696e 670a 2020 2020 2063 incoming. c\n+00002cd0: 6f6e 6e65 6374 696f 6e20 6f6e 2054 4350 onnection on TCP\n+00002ce0: 2073 6f63 6b65 7420 534f 434b 4554 2e20 socket SOCKET. \n+00002cf0: 2041 6c6c 2074 6865 2063 6f6d 6d75 6e69 All the communi\n+00002d00: 6361 7469 6f6e 7320 7769 7468 2074 6865 cations with the\n+00002d10: 0a20 2020 2020 7065 6572 2077 696c 6c20 . peer will \n+00002d20: 7461 6b65 2070 6c61 6365 206f 6e20 4e45 take place on NE\n+00002d30: 575f 534f 434b 4554 2c20 7768 696c 6520 W_SOCKET, while \n+00002d40: 7468 6520 7072 6f67 7261 6d20 6361 6e20 the program can \n+00002d50: 6163 6365 7074 0a20 2020 2020 616e 6f74 accept. anot\n+00002d60: 6865 7220 636f 6e6e 6563 7469 6f6e 206f her connection o\n+00002d70: 6e20 534f 434b 4554 2e0a 0a20 2020 2020 n SOCKET... \n+00002d80: 4e45 575f 534f 434b 4554 206d 7573 7420 NEW_SOCKET must \n+00002d90: 6e6f 7420 6265 2069 6e69 7469 616c 697a not be initializ\n+00002da0: 6564 2062 6566 6f72 6520 6361 6c6c 696e ed before callin\n+00002db0: 6720 7468 6973 2070 726f 6365 6475 7265 g this procedure\n+00002dc0: 2c0a 2020 2020 206f 7220 6d75 7374 2068 ,. or must h\n+00002dd0: 6176 6520 6265 656e 2063 6c65 616e 6564 ave been cleaned\n+00002de0: 2075 7020 6279 2063 616c 6c69 6e67 2027 up by calling '\n+00002df0: 5368 7574 646f 776e 272c 2069 6e20 6f72 Shutdown', in or\n+00002e00: 6465 7220 746f 0a20 2020 2020 6176 6f69 der to. avoi\n+00002e10: 6420 6120 6669 6c65 2064 6573 6372 6970 d a file descrip\n+00002e20: 746f 7273 206c 6561 6b2e 0a0a 2020 2020 tors leak... \n+00002e30: 2027 4163 6365 7074 5f53 6f63 6b65 7427 'Accept_Socket'\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 2a20 556e 7365 745f 4275 re)::.* Unset_Bu\n+00003410: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+00003420: 3a3a 0a0a 1f0a 4669 6c65 3a20 6164 6173 ::....File: adas\n+00003430: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+00003440: 6465 3a20 4269 6e64 2028 7072 6f63 6564 de: Bind (proced\n+00003450: 7572 6529 2c20 204e 6578 743a 2043 6f6e ure), Next: Con\n+00003460: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n+00003470: 2c20 2050 7265 763a 2041 6363 6570 745f , Prev: Accept_\n+00003480: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00003490: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+000034a0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+000034b0: 6529 0a0a 4269 6e64 2028 7072 6f63 6564 e)..Bind (proced\n+000034c0: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+000034d0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+000034e0: 2020 2020 4173 736f 6369 6174 6520 6120 Associate a \n+000034f0: 6c6f 6361 6c20 706f 7274 2074 6f20 6120 local port to a \n+00003500: 736f 636b 6574 0a50 524f 544f 5459 5045 socket.PROTOTYPE\n+00003510: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00003520: 732e 4269 6e64 3a20 7072 6f63 6564 7572 s.Bind: procedur\n+00003530: 6520 4269 6e64 2028 534f 434b 4554 203a e Bind (SOCKET :\n+00003540: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+00003550: 2020 2020 2020 2020 2020 2050 4f52 5420 PORT \n+00003560: 3a20 4e61 7475 7261 6c3b 2048 4f53 5420 : Natural; HOST \n+00003570: 3a20 5374 7269 6e67 203a 3d20 2222 293b : String := \"\");\n+00003580: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+00003590: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n+000035a0: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n+000035b0: 7a65 6420 736f 636b 6574 206f 626a 6563 zed socket objec\n+000035c0: 740a 2020 2020 2050 4f52 5420 2020 2020 t. PORT \n+000035d0: 2020 696e 2020 2020 2020 2020 204c 6f63 in Loc\n+000035e0: 616c 2070 6f72 7420 746f 2062 696e 6420 al port to bind \n+000035f0: 746f 0a20 2020 2020 484f 5354 2020 2020 to. HOST \n+00003600: 2020 2069 6e20 2020 2020 2020 2020 4c6f in Lo\n+00003610: 6361 6c20 696e 7465 7266 6163 6520 746f cal interface to\n+00003620: 2062 696e 6420 746f 0a0a 4445 5343 5249 bind to..DESCRI\n+00003630: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+00003640: 7072 6f63 6564 7572 6520 7265 7175 6573 procedure reques\n+00003650: 7473 2061 206c 6f63 616c 2070 6f72 7420 ts a local port \n+00003660: 6672 6f6d 2074 6865 206f 7065 7261 7469 from the operati\n+00003670: 6e67 2073 7973 7465 6d2e 2020 4966 0a20 ng system. If. \n+00003680: 2020 2020 3020 6973 2067 6976 656e 2069 0 is given i\n+00003690: 6e20 504f 5254 2c20 7468 6520 7379 7374 n PORT, the syst\n+000036a0: 656d 2077 696c 6c20 6173 7369 676e 2061 em will assign a\n+000036b0: 2066 7265 6520 706f 7274 2077 686f 7365 free port whose\n+000036c0: 206e 756d 6265 720a 2020 2020 2063 616e number. can\n+000036d0: 206c 6174 6572 2062 6520 7265 7472 6965 later be retrie\n+000036e0: 7665 6420 7573 696e 6720 2a6e 6f74 6520 ved using *note \n+000036f0: 4765 745f 536f 636b 5f50 6f72 7420 2866 Get_Sock_Port (f\n+00003700: 756e 6374 696f 6e29 3a3a 2e0a 2020 2020 unction)::.. \n+00003710: 2041 6c73 6f2c 206d 6f73 7420 6f70 6572 Also, most oper\n+00003720: 6174 696e 6720 7379 7374 656d 7320 7265 ating systems re\n+00003730: 7175 6972 6520 7370 6563 6961 6c20 7072 quire special pr\n+00003740: 6976 696c 6567 6573 2069 6620 796f 7520 ivileges if you \n+00003750: 7761 6e74 0a20 2020 2020 746f 2062 696e want. to bin\n+00003760: 6420 746f 2070 6f72 7473 2062 656c 6f77 d to ports below\n+00003770: 2031 3032 342e 0a0a 2020 2020 2049 6620 1024... If \n+00003780: 484f 5354 2069 7320 6e6f 7420 7468 6520 HOST is not the \n+00003790: 656d 7074 7920 7374 7269 6e67 2c20 6974 empty string, it\n+000037a0: 206d 7573 7420 636f 6e74 6169 6e20 7468 must contain th\n+000037b0: 6520 4950 2061 6464 7265 7373 206f 660a e IP address of.\n+000037c0: 2020 2020 2061 206c 6f63 616c 2069 6e74 a local int\n+000037d0: 6572 6661 6365 2074 6f20 6269 6e64 2074 erface to bind t\n+000037e0: 6f2c 206f 7220 6120 6e61 6d65 2077 6869 o, or a name whi\n+000037f0: 6368 2072 6573 6f6c 7665 7320 696e 746f ch resolves into\n+00003800: 2073 7563 6820 616e 0a20 2020 2020 6164 such an. ad\n+00003810: 6472 6573 732e 2020 4966 2061 6e20 656d dress. If an em\n+00003820: 7074 7920 7374 7269 6e67 2069 7320 6769 pty string is gi\n+00003830: 7665 6e20 2874 6865 2064 6566 6175 6c74 ven (the default\n+00003840: 292c 2074 6865 2073 6f63 6b65 740a 2020 ), the socket. \n+00003850: 2020 2077 696c 6c20 6265 2062 6f75 6e64 will be bound\n+00003860: 2074 6f20 616c 6c20 7468 6520 6176 6169 to all the avai\n+00003870: 6c61 626c 6520 696e 7465 7266 6163 6573 lable interfaces\n+00003880: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00003890: 2020 2027 536f 636b 6574 5f45 7272 6f72 'Socket_Error\n+000038a0: 2720 2020 2020 5265 7175 6573 7465 6420 ' Requested \n+000038b0: 706f 7274 206f 7220 696e 7465 7266 6163 port or interfac\n+000038c0: 6520 6e6f 7420 6176 6169 6c61 626c 650a e not available.\n+000038d0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+000038e0: 6e6f 7465 204c 6973 7465 6e20 2870 726f note Listen (pro\n+000038f0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00003900: 2a6e 6f74 6520 536f 636b 6574 2028 7072 *note Socket (pr\n+00003910: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n+00003920: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+00003930: 696e 666f 2c20 204e 6f64 653a 2043 6f6e info, Node: Con\n+00003940: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n+00003950: 2c20 204e 6578 743a 2047 6574 2028 6675 , Next: Get (fu\n+00003960: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+00003970: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n+00003980: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00003990: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+000039a0: 0a0a 436f 6e6e 6563 7420 2870 726f 6365 ..Connect (proce\n+000039b0: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n+000039c0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+000039d0: 5345 0a20 2020 2020 436f 6e6e 6563 7420 SE. Connect \n+000039e0: 6120 736f 636b 6574 206f 6e20 6120 6769 a socket on a gi\n+000039f0: 7665 6e20 686f 7374 2f70 6f72 740a 5052 ven host/port.PR\n+00003a00: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00003a10: 2053 6f63 6b65 7473 2e43 6f6e 6e65 6374 Sockets.Connect\n+00003a20: 3a20 7072 6f63 6564 7572 6520 436f 6e6e : procedure Conn\n+00003a30: 6563 7420 2853 4f43 4b45 5420 3a20 536f ect (SOCKET : So\n+00003a40: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n+00003a50: 2020 2020 2020 2020 484f 5354 203a 2053 HOST : S\n+00003a60: 7472 696e 673b 2050 4f52 5420 3a20 506f tring; PORT : Po\n+00003a70: 7369 7469 7665 293b 0a0a 5041 5241 4d45 sitive);..PARAME\n+00003a80: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00003a90: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00003aa0: 496e 6974 6961 6c69 7a65 6420 736f 636b Initialized sock\n+00003ab0: 6574 206f 626a 6563 740a 2020 2020 2048 et object. H\n+00003ac0: 4f53 5420 2020 2020 2020 696e 2020 2020 OST in \n+00003ad0: 2020 2020 2048 6f73 7420 746f 2063 6f6e Host to con\n+00003ae0: 6e65 6374 2074 6f0a 2020 2020 2050 4f52 nect to. POR\n+00003af0: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n+00003b00: 2020 2050 6f72 7420 746f 2063 6f6e 6e65 Port to conne\n+00003b10: 6374 2074 6f0a 0a44 4553 4352 4950 5449 ct to..DESCRIPTI\n+00003b20: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+00003b30: 6365 6475 7265 2063 6f6e 6e65 6374 7320 cedure connects \n+00003b40: 616e 2069 6e69 7469 616c 697a 6564 2073 an initialized s\n+00003b50: 6f63 6b65 7420 746f 2061 2067 6976 656e ocket to a given\n+00003b60: 2068 6f73 7420 6f6e 2061 0a20 2020 2020 host on a. \n+00003b70: 6769 7665 6e20 706f 7274 2e20 2049 6e20 given port. In \n+00003b80: 7468 6520 6361 7365 206f 6620 6120 5443 the case of a TC\n+00003b90: 5020 736f 636b 6574 2c20 6120 7265 616c P socket, a real\n+00003ba0: 2063 6f6e 6e65 6374 696f 6e20 6973 0a20 connection is. \n+00003bb0: 2020 2020 6174 7465 6d70 7465 642e 2020 attempted. \n+00003bc0: 496e 2074 6865 2063 6173 6520 6f66 2061 In the case of a\n+00003bd0: 2055 4450 2073 6f63 6b65 742c 206e 6f20 UDP socket, no \n+00003be0: 636f 6e6e 6563 7469 6f6e 2074 616b 6573 connection takes\n+00003bf0: 2070 6c61 6365 0a20 2020 2020 6275 7420 place. but \n+00003c00: 7468 6520 656e 6470 6f69 6e74 2063 6f6f the endpoint coo\n+00003c10: 7264 696e 6174 6573 2061 7265 2072 6563 rdinates are rec\n+00003c20: 6f72 6465 642e 0a0a 4558 4345 5054 494f orded...EXCEPTIO\n+00003c30: 4e53 0a20 2020 2020 2743 6f6e 6e65 6374 NS. 'Connect\n+00003c40: 696f 6e5f 5265 6675 7365 6427 5468 6520 ion_Refused'The \n+00003c50: 636f 6e6e 6563 7469 6f6e 2068 6173 2062 connection has b\n+00003c60: 6565 6e20 7265 6675 7365 6420 6279 2074 een refused by t\n+00003c70: 6865 0a20 2020 2020 2020 2020 2020 2020 he. \n+00003c80: 2020 2020 2020 2020 2020 2073 6572 7665 serve\n+00003c90: 720a 2020 2020 2027 536f 636b 6574 5f45 r. 'Socket_E\n+00003ca0: 7272 6f72 2720 2020 2020 416e 6f74 6865 rror' Anothe\n+00003cb0: 7220 6572 726f 7220 6f63 6375 7272 6564 r error occurred\n+00003cc0: 2064 7572 696e 6720 7468 650a 2020 2020 during the. \n+00003cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00003ce0: 2020 2020 636f 6e6e 6563 7469 6f6e 0a0a connection..\n+00003cf0: 4558 414d 504c 450a 0a0a 5345 4520 414c EXAMPLE...SEE AL\n+00003d00: 534f 0a20 2020 2020 2a6e 6f74 6520 536f SO. *note So\n+00003d10: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00003d20: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+00003d30: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00003d40: 6f64 653a 2047 6574 2028 6675 6e63 7469 ode: Get (functi\n+00003d50: 6f6e 292c 2020 4e65 7874 3a20 4765 745f on), Next: Get_\n+00003d60: 4368 6172 2028 6675 6e63 7469 6f6e 292c Char (function),\n+00003d70: 2020 5072 6576 3a20 436f 6e6e 6563 7420 Prev: Connect \n+00003d80: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n+00003d90: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n+00003da0: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n+00003db0: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).----\n+00003dc0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+00003dd0: 4f53 450a 2020 2020 2047 6574 2061 2073 OSE. Get a s\n+00003de0: 7472 696e 6720 6672 6f6d 2061 2072 656d tring from a rem\n+00003df0: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n+00003e00: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+00003e10: 6574 732e 4765 743a 2066 756e 6374 696f ets.Get: functio\n+00003e20: 6e20 4765 7420 2853 4f43 4b45 5420 3a20 n Get (SOCKET : \n+00003e30: 536f 636b 6574 5f46 4427 436c 6173 7329 Socket_FD'Class)\n+00003e40: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00003e50: 7265 7475 726e 2053 7472 696e 673b 0a0a return String;..\n+00003e60: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00003e70: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00003e80: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+00003e90: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n+00003ea0: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R\n+00003eb0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. \n+00003ec0: 2053 6f6d 6520 6368 6172 6163 7465 7273 Some characters\n+00003ed0: 2074 6861 7420 6861 7665 2062 6565 6e20 that have been \n+00003ee0: 7265 6365 6976 6564 0a0a 4445 5343 5249 received..DESCRI\n+00003ef0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+00003f00: 6675 6e63 7469 6f6e 2072 6563 6569 7665 function receive\n+00003f10: 7320 736f 6d65 2063 6861 7261 6374 6572 s some character\n+00003f20: 7320 6672 6f6d 2061 2072 656d 6f74 6520 s from a remote \n+00003f30: 686f 7374 2e20 2041 7320 736f 6f6e 0a20 host. As soon. \n+00003f40: 2020 2020 7468 6174 2061 7420 6c65 6173 that at leas\n+00003f50: 7420 6f6e 6520 6368 6172 6163 7465 7220 t one character \n+00003f60: 6973 2061 7661 696c 6162 6c65 2c20 7468 is available, th\n+00003f70: 6520 6375 7272 656e 7420 7265 6365 7074 e current recept\n+00003f80: 696f 6e0a 2020 2020 2062 7566 6665 7220 ion. buffer \n+00003f90: 6973 2072 6574 7572 6e65 642e 0a0a 2020 is returned... \n+00003fa0: 2020 2054 6865 7265 2069 7320 7573 7561 There is usua\n+00003fb0: 6c6c 7920 6c69 7474 6c65 2067 6169 6e20 lly little gain \n+00003fc0: 696e 2075 7369 6e67 2074 6869 7320 6675 in using this fu\n+00003fd0: 6e63 7469 6f6e 2077 686f 7365 2062 6568 nction whose beh\n+00003fe0: 6176 696f 7572 0a20 2020 2020 6973 2063 aviour. is c\n+00003ff0: 6f6d 7061 7261 626c 6520 746f 2074 6865 omparable to the\n+00004000: 206f 6e65 206f 6620 2a6e 6f74 6520 5265 one of *note Re\n+00004010: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+00004020: 3a3a 2e20 204f 7468 6572 0a20 2020 2020 ::. Other. \n+00004030: 6675 6e63 7469 6f6e 7320 7375 6368 2061 functions such a\n+00004040: 7320 2a6e 6f74 6520 4765 745f 4368 6172 s *note Get_Char\n+00004050: 2028 6675 6e63 7469 6f6e 293a 3a2c 206f (function)::, o\n+00004060: 7220 2a6e 6f74 6520 4765 745f 4c69 6e65 r *note Get_Line\n+00004070: 0a20 2020 2020 2866 756e 6374 696f 6e29 . (function)\n+00004080: 3a3a 2c20 616c 6c6f 7720 6d6f 7265 2073 ::, allow more s\n+00004090: 7472 7563 7475 7265 6420 7072 6f67 7261 tructured progra\n+000040a0: 6d6d 696e 672e 0a0a 2020 2020 2048 6f77 mming... How\n+000040b0: 6576 6572 2c20 7468 6973 2066 756e 6374 ever, this funct\n+000040c0: 696f 6e20 6d61 7920 6265 2075 7365 6420 ion may be used \n+000040d0: 746f 2061 766f 6964 206c 6f6f 7369 6e67 to avoid loosing\n+000040e0: 2063 6861 7261 6374 6572 7320 7768 656e characters when\n+000040f0: 0a20 2020 2020 6361 6c6c 696e 6720 2a6e . calling *n\n+00004100: 6f74 6520 556e 7365 745f 4275 6666 6572 ote Unset_Buffer\n+00004110: 2028 7072 6f63 6564 7572 6529 3a3a 2c20 (procedure)::, \n+00004120: 6966 2c20 666f 7220 736f 6d65 2072 6561 if, for some rea\n+00004130: 736f 6e2c 2074 6865 0a20 2020 2020 7265 son, the. re\n+00004140: 6d6f 7465 2068 6f73 7420 6d61 7920 6861 mote host may ha\n+00004150: 7665 2073 656e 7420 736f 6d65 2e0a 0a45 ve sent some...E\n+00004160: 5843 4550 5449 4f4e 530a 2020 2020 2027 XCEPTIONS. '\n+00004170: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+00004180: 6427 5065 6572 2068 6173 2063 6c6f 7365 d'Peer has close\n+00004190: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n+000041a0: 2062 6566 6f72 650a 2020 2020 2020 2020 before. \n+000041b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000041c0: 7365 6e64 696e 6720 616e 7920 6461 7461 sending any data\n+000041d0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+000041e0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+000041f0: 3a20 4765 745f 4368 6172 2028 6675 6e63 : Get_Char (func\n+00004200: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n+00004210: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n+00004220: 292c 2020 5072 6576 3a20 4765 7420 2866 ), Prev: Get (f\n+00004230: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n+00004240: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00004250: 6f63 6564 7572 6529 0a0a 4765 745f 4368 ocedure)..Get_Ch\n+00004260: 6172 2028 6675 6e63 7469 6f6e 290a 2d2d ar (function).--\n+00004270: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004280: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00004290: 4765 7420 6120 6368 6172 6163 7465 7220 Get a character \n+000042a0: 6672 6f6d 2061 2072 656d 6f74 6520 686f from a remote ho\n+000042b0: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+000042c0: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n+000042d0: 745f 4368 6172 3a20 6675 6e63 7469 6f6e t_Char: function\n+000042e0: 2047 6574 5f43 6861 7220 2853 4f43 4b45 Get_Char (SOCKE\n+000042f0: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00004300: 6173 7329 0a20 2020 2020 2020 2020 2020 ass). \n+00004310: 2020 2020 7265 7475 726e 2043 6861 7261 return Chara\n+00004320: 6374 6572 3b0a 0a50 4152 414d 4554 4552 cter;..PARAMETER\n+00004330: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00004340: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00004350: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00004360: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00004370: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL\n+00004380: 5545 0a20 2020 2020 4f6e 6520 6368 6172 UE. One char\n+00004390: 6163 7465 7220 7365 6e74 2062 7920 7468 acter sent by th\n+000043a0: 6520 7265 6d6f 7465 2068 6f73 740a 0a44 e remote host..D\n+000043b0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+000043c0: 5468 6973 2066 756e 6374 696f 6e20 7265 This function re\n+000043d0: 6365 6976 6573 2065 7861 6374 6c79 206f ceives exactly o\n+000043e0: 6e65 2063 6861 7261 6374 6572 2066 726f ne character fro\n+000043f0: 6d20 7468 6520 7265 6d6f 7465 2068 6f73 m the remote hos\n+00004400: 742e 0a0a 4558 4345 5054 494f 4e53 0a20 t...EXCEPTIONS. \n+00004410: 2020 2020 2743 6f6e 6e65 6374 696f 6e5f 'Connection_\n+00004420: 436c 6f73 6564 2750 6565 7220 6861 7320 Closed'Peer has \n+00004430: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n+00004440: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n+00004450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004460: 2020 2020 2073 656e 6469 6e67 2074 6865 sending the\n+00004470: 2063 6861 7261 6374 6572 0a0a 5345 4520 character..SEE \n+00004480: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00004490: 4765 7420 2866 756e 6374 696f 6e29 3a3a Get (function)::\n+000044a0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+000044b0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+000044c0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2047 ::,. *note G\n+000044d0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+000044e0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+000044f0: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n+00004500: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00004510: 6f74 6520 5365 745f 4275 6666 6572 2028 ote Set_Buffer (\n+00004520: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00004530: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00004540: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n+00004550: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+00004560: 6e29 2c20 204e 6578 743a 2047 6574 5f4c n), Next: Get_L\n+00004570: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+00004580: 2020 5072 6576 3a20 4765 745f 4368 6172 Prev: Get_Char\n+00004590: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+000045a0: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n+000045b0: 2870 726f 6365 6475 7265 290a 0a47 6574 (procedure)..Get\n+000045c0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+000045d0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+000045e0: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+000045f0: 2020 2047 6574 2061 2077 686f 6c65 206c Get a whole l\n+00004600: 696e 6520 6672 6f6d 2061 2072 656d 6f74 ine from a remot\n+00004610: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n+00004620: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00004630: 732e 4765 745f 4c69 6e65 3a20 6675 6e63 s.Get_Line: func\n+00004640: 7469 6f6e 2047 6574 5f4c 696e 6520 2853 tion Get_Line (S\n+00004650: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00004660: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n+00004670: 2020 2020 2020 2020 4d41 585f 4c45 4e47 MAX_LENG\n+00004680: 5448 203a 2050 6f73 6974 6976 6520 3a3d TH : Positive :=\n+00004690: 2032 3034 3829 0a20 2020 2020 2020 2020 2048). \n+000046a0: 2020 2020 2020 7265 7475 726e 2053 7472 return Str\n+000046b0: 696e 673b 0a0a 5041 5241 4d45 5445 5253 ing;..PARAMETERS\n+000046c0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+000046d0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+000046e0: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+000046f0: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00004700: 6563 740a 2020 2020 204d 4158 5f4c 454e ect. MAX_LEN\n+00004710: 4754 4820 696e 2020 2020 2020 2020 204d GTH in M\n+00004720: 6178 696d 756d 2072 6574 7572 6e65 6420 aximum returned \n+00004730: 6c69 6e65 206c 656e 6774 680a 0a52 4554 line length..RET\n+00004740: 5552 4e20 5641 4c55 450a 2020 2020 2041 URN VALUE. A\n+00004750: 206c 696e 6520 7769 7468 6f75 7420 7468 line without th\n+00004760: 6520 4352 2061 6e64 204c 4620 7365 7061 e CR and LF sepa\n+00004770: 7261 746f 7273 0a0a 4445 5343 5249 5054 rators..DESCRIPT\n+00004780: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n+00004790: 6e63 7469 6f6e 2072 6563 6569 7665 7320 nction receives \n+000047a0: 6f6e 6520 6c69 6e65 2066 726f 6d20 7468 one line from th\n+000047b0: 6520 7265 6d6f 7465 2068 6f73 742e 2020 e remote host. \n+000047c0: 4120 6c69 6e65 0a20 2020 2020 636f 6e73 A line. cons\n+000047d0: 6973 7473 2069 6e74 6f20 7a65 726f 206f ists into zero o\n+000047e0: 7220 6d6f 7265 2063 6861 7261 6374 6572 r more character\n+000047f0: 7320 666f 6c6c 6f77 6564 2062 7920 616e s followed by an\n+00004800: 206f 7074 696f 6e61 6c20 4352 0a20 2020 optional CR. \n+00004810: 2020 616e 6420 6279 2061 204c 462e 2054 and by a LF. T\n+00004820: 686f 7365 2074 6572 6d69 6e61 746f 7273 hose terminators\n+00004830: 2061 7265 2073 7472 6970 7065 6420 6265 are stripped be\n+00004840: 666f 7265 2074 6865 206c 696e 6520 6973 fore the line is\n+00004850: 0a20 2020 2020 7265 7475 726e 6564 2e0a . returned..\n+00004860: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n+00004870: 696f 6e20 626c 6f63 6b73 2075 6e74 696c ion blocks until\n+00004880: 206f 6e65 2066 756c 6c20 6c69 6e65 2068 one full line h\n+00004890: 6173 2062 6565 6e20 7265 6365 6976 6564 as been received\n+000048a0: 2e20 2054 6865 0a20 2020 2020 6c69 6e65 . The. line\n+000048b0: 206c 656e 6774 6820 6973 206c 696d 6974 length is limit\n+000048c0: 6564 2077 6974 6820 7468 6520 7661 6c75 ed with the valu\n+000048d0: 6520 6f66 2074 6865 204d 6178 5f4c 656e e of the Max_Len\n+000048e0: 6774 6820 6172 6775 6d65 6e74 2c0a 2020 gth argument,. \n+000048f0: 2020 2074 6f20 6176 6f69 6420 6578 6861 to avoid exha\n+00004900: 7573 7469 6f6e 206f 6620 7468 6520 7365 ustion of the se\n+00004910: 636f 6e64 6172 7920 7374 6163 6b2e 0a0a condary stack...\n+00004920: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n+00004930: 2743 6f6e 6e65 6374 696f 6e5f 436c 6f73 'Connection_Clos\n+00004940: 6564 2750 6565 7220 6861 7320 636c 6f73 ed'Peer has clos\n+00004950: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n+00004960: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n+00004970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004980: 2073 656e 6469 6e67 2061 2077 686f 6c65 sending a whole\n+00004990: 206c 696e 650a 0a53 4545 2041 4c53 4f0a line..SEE ALSO.\n+000049a0: 2020 2020 202a 6e6f 7465 2047 6574 2028 *note Get (\n+000049b0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+000049c0: 2020 2a6e 6f74 6520 4765 745f 4368 6172 *note Get_Char\n+000049d0: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+000049e0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+000049f0: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00004a00: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n+00004a10: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00004a20: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00004a30: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00004a40: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00004a50: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00004a60: 6f2c 2020 4e6f 6465 3a20 4765 745f 4c69 o, Node: Get_Li\n+00004a70: 6e65 2028 7072 6f63 6564 7572 6529 2c20 ne (procedure), \n+00004a80: 204e 6578 743a 2047 6574 5f52 6563 6569 Next: Get_Recei\n+00004a90: 7665 5f51 7565 7565 5f53 697a 6520 2866 ve_Queue_Size (f\n+00004aa0: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+00004ab0: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+00004ac0: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n+00004ad0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00004ae0: 7572 6529 0a0a 4765 745f 4c69 6e65 2028 ure)..Get_Line (\n+00004af0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00004b00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00004b10: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge\n+00004b20: 7420 6120 7768 6f6c 6520 6c69 6e65 2066 t a whole line f\n+00004b30: 726f 6d20 6120 7265 6d6f 7465 2068 6f73 rom a remote hos\n+00004b40: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+00004b50: 2020 2d2d 2053 6f63 6b65 7473 2e47 6574 -- Sockets.Get\n+00004b60: 5f4c 696e 653a 2070 726f 6365 6475 7265 _Line: procedure\n+00004b70: 2047 6574 5f4c 696e 6520 2853 4f43 4b45 Get_Line (SOCKE\n+00004b80: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00004b90: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+00004ba0: 2020 2020 5354 5220 3a20 696e 206f 7574 STR : in out\n+00004bb0: 2053 7472 696e 673b 204c 4153 5420 3a20 String; LAST : \n+00004bc0: 6f75 7420 4e61 7475 7261 6c29 3b0a 0a50 out Natural);..P\n+00004bd0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00004be0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00004bf0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00004c00: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00004c10: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+00004c20: 2020 5354 5220 2020 2020 2020 2069 6e20 STR in \n+00004c30: 6f75 7420 2020 2020 5374 7269 6e67 2074 out String t\n+00004c40: 6f20 6669 6c6c 0a20 2020 2020 4c41 5354 o fill. LAST\n+00004c50: 2020 2020 2020 206f 7574 2020 2020 2020 out \n+00004c60: 2020 4c61 7374 2069 6e64 6578 2075 7365 Last index use\n+00004c70: 6420 696e 2074 6865 2073 7472 696e 670a d in the string.\n+00004c80: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+00004c90: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n+00004ca0: 2072 6563 6569 7665 7320 6f6e 6520 6c69 receives one li\n+00004cb0: 6e65 2066 726f 6d20 7468 6520 7265 6d6f ne from the remo\n+00004cc0: 7465 2068 6f73 742e 2020 4120 6c69 6e65 te host. A line\n+00004cd0: 0a20 2020 2020 636f 6e73 6973 7473 2069 . consists i\n+00004ce0: 6e74 6f20 7a65 726f 206f 7220 6d6f 7265 nto zero or more\n+00004cf0: 2063 6861 7261 6374 6572 7320 666f 6c6c characters foll\n+00004d00: 6f77 6564 2062 7920 616e 206f 7074 696f owed by an optio\n+00004d10: 6e61 6c20 4352 0a20 2020 2020 616e 6420 nal CR. and \n+00004d20: 6279 2061 204c 462e 2054 686f 7365 2074 by a LF. Those t\n+00004d30: 6572 6d69 6e61 746f 7273 2061 7265 2073 erminators are s\n+00004d40: 7472 6970 7065 6420 6265 666f 7265 2074 tripped before t\n+00004d50: 6865 206c 696e 6520 6973 0a20 2020 2020 he line is. \n+00004d60: 7265 7475 726e 6564 2e0a 0a20 2020 2020 returned... \n+00004d70: 5468 6973 2070 726f 6365 6475 7265 2062 This procedure b\n+00004d80: 6c6f 636b 7320 756e 7469 6c20 6f6e 6520 locks until one \n+00004d90: 6675 6c6c 206c 696e 6520 6861 7320 6265 full line has be\n+00004da0: 656e 2072 6563 6569 7665 642e 0a0a 4558 en received...EX\n+00004db0: 4345 5054 494f 4e53 0a20 2020 2020 2743 CEPTIONS. 'C\n+00004dc0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n+00004dd0: 2750 6565 7220 6861 7320 636c 6f73 6564 'Peer has closed\n+00004de0: 2074 6865 2063 6f6e 6e65 6374 696f 6e20 the connection \n+00004df0: 6265 666f 7265 0a20 2020 2020 2020 2020 before. \n+00004e00: 2020 2020 2020 2020 2020 2020 2020 2073 s\n+00004e10: 656e 6469 6e67 2061 2077 686f 6c65 206c ending a whole l\n+00004e20: 696e 650a 0a53 4545 2041 4c53 4f0a 2020 ine..SEE ALSO. \n+00004e30: 2020 202a 6e6f 7465 2047 6574 2028 6675 *note Get (fu\n+00004e40: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n+00004e50: 2a6e 6f74 6520 4765 745f 4368 6172 2028 *note Get_Char (\n+00004e60: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+00004e70: 2020 2a6e 6f74 6520 4765 745f 4c69 6e65 *note Get_Line\n+00004e80: 2028 6675 6e63 7469 6f6e 293a 3a2c 0a20 (function)::,. \n+00004e90: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n+00004ea0: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00004eb0: 0a20 2020 2020 2a6e 6f74 6520 5365 745f . *note Set_\n+00004ec0: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00004ed0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00004ee0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00004ef0: 204e 6f64 653a 2047 6574 5f52 6563 6569 Node: Get_Recei\n+00004f00: 7665 5f51 7565 7565 5f53 697a 6520 2866 ve_Queue_Size (f\n+00004f10: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n+00004f20: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n+00004f30: 5369 7a65 2028 6675 6e63 7469 6f6e 292c Size (function),\n+00004f40: 2020 5072 6576 3a20 4765 745f 4c69 6e65 Prev: Get_Line\n+00004f50: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n+00004f60: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00004f70: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n+00004f80: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n+00004f90: 5369 7a65 2028 6675 6e63 7469 6f6e 290a Size (function).\n+00004fa0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004fb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004fc0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00004fd0: 5265 7475 726e 2074 6865 2073 697a 6520 Return the size \n+00004fe0: 6f66 2074 6865 2075 6e72 6561 6420 6461 of the unread da\n+00004ff0: 7461 2069 6e20 7468 6520 696e 7075 7420 ta in the input \n+00005000: 7175 6575 650a 5052 4f54 4f54 5950 450a queue.PROTOTYPE.\n+00005010: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+00005020: 2e47 6574 5f52 6563 6569 7665 5f51 7565 .Get_Receive_Que\n+00005030: 7565 5f53 697a 653a 2066 756e 6374 696f ue_Size: functio\n+00005040: 6e20 4765 745f 5265 6365 6976 655f 5175 n Get_Receive_Qu\n+00005050: 6575 655f 5369 7a65 0a20 2020 2020 2020 eue_Size. \n+00005060: 2020 2020 2020 2020 2853 4f43 4b45 5420 (SOCKET \n+00005070: 3a20 536f 636b 6574 5f46 4427 436c 6173 : Socket_FD'Clas\n+00005080: 7329 0a20 2020 2020 2020 2020 2020 2020 s). \n+00005090: 2020 7265 7475 726e 2049 6e74 6567 6572 return Integer\n+000050a0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+000050b0: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+000050c0: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+000050d0: 697a 6564 2061 6e64 2063 6f6e 6e65 6374 ized and connect\n+000050e0: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+000050f0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+00005100: 2020 2020 5468 6520 6e6f 6e2d 6e65 6761 The non-nega\n+00005110: 7469 7665 2073 697a 6520 696e 2062 7974 tive size in byt\n+00005120: 6573 206f 6620 7468 6520 696e 7075 7420 es of the input \n+00005130: 7175 6575 650a 0a44 4553 4352 4950 5449 queue..DESCRIPTI\n+00005140: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+00005150: 6374 696f 6e20 6973 206f 6e6c 7920 6176 ction is only av\n+00005160: 6169 6c61 626c 6520 6f6e 204c 696e 7578 ailable on Linux\n+00005170: 2070 6c61 7466 6f72 6d73 2e20 204f 6e20 platforms. On \n+00005180: 6f74 6865 720a 2020 2020 206f 7065 7261 other. opera\n+00005190: 7469 6e67 2073 7973 7465 6d73 2c20 6974 ting systems, it\n+000051a0: 2077 696c 6c20 7265 7475 726e 202d 3220 will return -2 \n+000051b0: 746f 2069 6e64 6963 6174 6520 7468 6174 to indicate that\n+000051c0: 2074 6865 206e 6563 6573 7361 7279 0a20 the necessary. \n+000051d0: 2020 2020 6d65 6368 616e 6973 6d73 2074 mechanisms t\n+000051e0: 6f20 7265 7472 6965 7665 2074 6865 2069 o retrieve the i\n+000051f0: 6e66 6f72 6d61 7469 6f6e 2061 7265 206e nformation are n\n+00005200: 6f74 2061 7661 696c 6162 6c65 2e0a 0a53 ot available...S\n+00005210: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00005220: 7465 2052 6563 6569 7665 2028 7072 6f63 te Receive (proc\n+00005230: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00005240: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00005250: 666f 2c20 204e 6f64 653a 2047 6574 5f53 fo, Node: Get_S\n+00005260: 656e 645f 5175 6575 655f 5369 7a65 2028 end_Queue_Size (\n+00005270: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+00005280: 3a20 4765 7473 6f63 6b6f 7074 2028 7072 : Getsockopt (pr\n+00005290: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+000052a0: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n+000052b0: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+000052c0: 6e29 2c20 2055 703a 2041 6363 6570 745f n), Up: Accept_\n+000052d0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+000052e0: 6529 0a0a 4765 745f 5365 6e64 5f51 7565 e)..Get_Send_Que\n+000052f0: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+00005300: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+00005310: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005320: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00005330: 5265 7475 726e 2074 6865 2073 697a 6520 Return the size \n+00005340: 6f66 2074 6865 2075 6e73 656e 7420 6461 of the unsent da\n+00005350: 7461 2069 6e20 7468 6520 6f75 7470 7574 ta in the output\n+00005360: 2071 7565 7565 0a50 524f 544f 5459 5045 queue.PROTOTYPE\n+00005370: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00005380: 732e 4765 745f 5365 6e64 5f51 7565 7565 s.Get_Send_Queue\n+00005390: 5f53 697a 653a 2066 756e 6374 696f 6e20 _Size: function \n+000053a0: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+000053b0: 697a 650a 2020 2020 2020 2020 2020 2020 ize. \n+000053c0: 2020 2028 534f 434b 4554 203a 2053 6f63 (SOCKET : Soc\n+000053d0: 6b65 745f 4644 2743 6c61 7373 290a 2020 ket_FD'Class). \n+000053e0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+000053f0: 7572 6e20 496e 7465 6765 723b 0a0a 5041 urn Integer;..PA\n+00005400: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00005410: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00005420: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00005430: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00005440: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+00005450: 5552 4e20 5641 4c55 450a 2020 2020 2054 URN VALUE. T\n+00005460: 6865 206e 6f6e 2d6e 6567 6174 6976 6520 he non-negative \n+00005470: 7369 7a65 2069 6e20 6279 7465 7320 6f66 size in bytes of\n+00005480: 2074 6865 206f 7574 7075 7420 7175 6575 the output queu\n+00005490: 650a 0a44 4553 4352 4950 5449 4f4e 0a20 e..DESCRIPTION. \n+000054a0: 2020 2020 5468 6973 2066 756e 6374 696f This functio\n+000054b0: 6e20 6973 206f 6e6c 7920 6176 6169 6c61 n is only availa\n+000054c0: 626c 6520 6f6e 204c 696e 7578 2070 6c61 ble on Linux pla\n+000054d0: 7466 6f72 6d73 2e20 204f 6e20 6f74 6865 tforms. On othe\n+000054e0: 720a 2020 2020 206f 7065 7261 7469 6e67 r. operating\n+000054f0: 2073 7973 7465 6d73 2c20 6974 2077 696c systems, it wil\n+00005500: 6c20 7265 7475 726e 202d 3220 746f 2069 l return -2 to i\n+00005510: 6e64 6963 6174 6520 7468 6174 2074 6865 ndicate that the\n+00005520: 206e 6563 6573 7361 7279 0a20 2020 2020 necessary. \n+00005530: 6d65 6368 616e 6973 6d73 2074 6f20 7265 mechanisms to re\n+00005540: 7472 6965 7665 2074 6865 2069 6e66 6f72 trieve the infor\n+00005550: 6d61 7469 6f6e 2061 7265 206e 6f74 2061 mation are not a\n+00005560: 7661 696c 6162 6c65 2e0a 0a53 4545 2041 vailable...SEE A\n+00005570: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n+00005580: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n+00005590: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n+000055a0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+000055b0: 6465 3a20 4765 7473 6f63 6b6f 7074 2028 de: Getsockopt (\n+000055c0: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+000055d0: 743a 204c 6973 7465 6e20 2870 726f 6365 t: Listen (proce\n+000055e0: 6475 7265 292c 2020 5072 6576 3a20 4765 dure), Prev: Ge\n+000055f0: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz\n+00005600: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n+00005610: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00005620: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n+00005630: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00005640: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+00005650: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00005660: 504f 5345 0a20 2020 2020 5265 7472 6965 POSE. Retrie\n+00005670: 7665 2061 2073 6f63 6b65 7420 6f70 7469 ve a socket opti\n+00005680: 6f6e 0a50 524f 544f 5459 5045 0a20 2020 on.PROTOTYPE. \n+00005690: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n+000056a0: 7473 6f63 6b6f 7074 3a20 7072 6f63 6564 tsockopt: proced\n+000056b0: 7572 6520 4765 7473 6f63 6b6f 7074 2028 ure Getsockopt (\n+000056c0: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n+000056d0: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n+000056e0: 2020 204c 4556 454c 203a 2053 6f63 6b65 LEVEL : Socke\n+000056f0: 745f 4c65 7665 6c20 3a3d 2053 4f4c 5f53 t_Level := SOL_S\n+00005700: 4f43 4b45 543b 0a20 2020 2020 2020 2020 OCKET;. \n+00005710: 2020 2020 2020 4f50 544e 414d 4520 3a20 OPTNAME : \n+00005720: 536f 636b 6574 5f4f 7074 696f 6e3b 204f Socket_Option; O\n+00005730: 5054 5641 4c20 3a20 6f75 7420 496e 7465 PTVAL : out Inte\n+00005740: 6765 7229 3b0a 0a50 4152 414d 4554 4552 ger);..PARAMETER\n+00005750: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00005760: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00005770: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n+00005780: 6e64 2073 6f63 6b65 7420 6f62 6a65 6374 nd socket object\n+00005790: 0a20 2020 2020 4c45 5645 4c20 2020 2020 . LEVEL \n+000057a0: 2069 6e20 2020 2020 2020 2020 5072 6f74 in Prot\n+000057b0: 6f63 6f6c 206c 6576 656c 0a20 2020 2020 ocol level. \n+000057c0: 4f50 544e 414d 4520 2020 2069 6e20 2020 OPTNAME in \n+000057d0: 2020 2020 2020 4f70 7469 6f6e 206e 616d Option nam\n+000057e0: 650a 2020 2020 204f 5054 5641 4c20 2020 e. OPTVAL \n+000057f0: 2020 6f75 7420 2020 2020 2020 204f 7074 out Opt\n+00005800: 696f 6e20 7661 6c75 650a 0a44 4553 4352 ion value..DESCR\n+00005810: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00005820: 2070 726f 6365 6475 7265 2072 6574 7269 procedure retri\n+00005830: 6576 6573 206f 7074 696f 6e73 2061 7070 eves options app\n+00005840: 6c69 6361 626c 6520 746f 2061 2073 6f63 licable to a soc\n+00005850: 6b65 742e 2020 506c 6561 7365 0a20 2020 ket. Please. \n+00005860: 2020 7365 6520 796f 7572 206f 7065 7261 see your opera\n+00005870: 7469 6e67 2073 7973 7465 6d20 6d61 6e75 ting system manu\n+00005880: 616c 2066 6f72 2075 7361 626c 6520 6c65 al for usable le\n+00005890: 7665 6c73 2061 6e64 206f 7074 696f 6e73 vels and options\n+000058a0: 2e0a 0a20 2020 2020 5477 6f20 6c65 7665 ... Two leve\n+000058b0: 6c73 2061 7265 2064 6566 696e 6564 3a20 ls are defined: \n+000058c0: 2753 4f4c 5f53 4f43 4b45 5427 2028 7468 'SOL_SOCKET' (th\n+000058d0: 6520 6465 6661 756c 7429 2061 6e64 0a20 e default) and. \n+000058e0: 2020 2020 2749 5050 524f 544f 5f49 5027 'IPPROTO_IP'\n+000058f0: 2e20 2054 6865 206f 7074 696f 6e73 2061 . The options a\n+00005900: 7265 2027 534f 5f52 4555 5345 4144 4452 re 'SO_REUSEADDR\n+00005910: 272c 2027 534f 5f52 4555 5345 504f 5254 ', 'SO_REUSEPORT\n+00005920: 272c 0a20 2020 2020 2749 505f 4d55 4c54 ',. 'IP_MULT\n+00005930: 4943 4153 545f 5454 4c27 2c20 2749 505f ICAST_TTL', 'IP_\n+00005940: 4144 445f 4d45 4d42 4552 5348 4950 272c ADD_MEMBERSHIP',\n+00005950: 2027 4950 5f44 524f 505f 4d45 4d42 4552 'IP_DROP_MEMBER\n+00005960: 5348 4950 272c 0a20 2020 2020 2749 505f SHIP',. 'IP_\n+00005970: 4d55 4c54 4943 4153 545f 4c4f 4f50 272c MULTICAST_LOOP',\n+00005980: 2027 534f 5f53 4e44 4255 4627 2061 6e64 'SO_SNDBUF' and\n+00005990: 2027 4950 5f52 4356 4255 4627 2e0a 0a20 'IP_RCVBUF'... \n+000059a0: 2020 2020 4e6f 7465 2074 6861 7420 756e Note that un\n+000059b0: 6c69 6b65 2074 6865 6972 2043 206c 616e like their C lan\n+000059c0: 6775 6167 6520 636f 756e 7465 7270 6172 guage counterpar\n+000059d0: 742c 2027 4765 7473 6f63 6b6f 7074 2720 t, 'Getsockopt' \n+000059e0: 616e 640a 2020 2020 2027 5365 7473 6f63 and. 'Setsoc\n+000059f0: 6b6f 7074 2720 646f 206e 6f74 2072 6571 kopt' do not req\n+00005a00: 7569 7265 2061 6e20 6578 7472 6120 7061 uire an extra pa\n+00005a10: 7261 6d65 7465 7220 7265 7072 6573 656e rameter represen\n+00005a20: 7469 6e67 2074 6865 0a20 2020 2020 6c65 ting the. le\n+00005a30: 6e67 7468 2069 6e20 6279 7465 7320 6f66 ngth in bytes of\n+00005a40: 2074 6865 206f 7074 696f 6e20 7661 6c75 the option valu\n+00005a50: 652e 2020 4164 6153 6f63 6b65 7473 206e e. AdaSockets n\n+00005a60: 6f77 7320 7468 6520 7269 6768 740a 2020 ows the right. \n+00005a70: 2020 2073 697a 6520 666f 7220 6576 6572 size for ever\n+00005a80: 7920 6f70 7469 6f6e 2e0a 0a53 4545 2041 y option...SEE A\n+00005a90: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n+00005aa0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00005ab0: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00005ac0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00005ad0: 6f2c 2020 4e6f 6465 3a20 4c69 7374 656e o, Node: Listen\n+00005ae0: 2028 7072 6f63 6564 7572 6529 2c20 204e (procedure), N\n+00005af0: 6578 743a 204e 6577 5f4c 696e 6520 2870 ext: New_Line (p\n+00005b00: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+00005b10: 3a20 4765 7473 6f63 6b6f 7074 2028 7072 : Getsockopt (pr\n+00005b20: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00005b30: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00005b40: 6f63 6564 7572 6529 0a0a 4c69 7374 656e ocedure)..Listen\n+00005b50: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00005b60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00005b70: 0a50 5552 504f 5345 0a20 2020 2020 4573 .PURPOSE. Es\n+00005b80: 7461 626c 6973 6820 6120 6c69 7374 656e tablish a listen\n+00005b90: 2071 7565 7565 0a50 524f 544f 5459 5045 queue.PROTOTYPE\n+00005ba0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+00005bb0: 732e 4c69 7374 656e 3a20 7072 6f63 6564 s.Listen: proced\n+00005bc0: 7572 6520 4c69 7374 656e 2028 534f 434b ure Listen (SOCK\n+00005bd0: 4554 203a 2053 6f63 6b65 745f 4644 3b0a ET : Socket_FD;.\n+00005be0: 2020 2020 2020 2020 2020 2020 2020 2051 Q\n+00005bf0: 5545 5545 5f53 495a 4520 3a20 506f 7369 UEUE_SIZE : Posi\n+00005c00: 7469 7665 203a 3d20 3529 3b0a 0a50 4152 tive := 5);..PAR\n+00005c10: 414d 4554 4552 530a 2020 2020 2053 4f43 AMETERS. SOC\n+00005c20: 4b45 5420 2020 2020 696e 2020 2020 2020 KET in \n+00005c30: 2020 2049 6e69 7469 616c 697a 6564 2061 Initialized a\n+00005c40: 6e64 2062 6f75 6e64 2073 6f63 6b65 7420 nd bound socket \n+00005c50: 6f62 6a65 6374 0a20 2020 2020 5155 4555 object. QUEU\n+00005c60: 455f 5349 5a45 2069 6e20 2020 2020 2020 E_SIZE in \n+00005c70: 2020 5265 7175 6573 7465 6420 736c 6f74 Requested slot\n+00005c80: 7320 696e 2074 6865 206c 6973 7465 6e20 s in the listen \n+00005c90: 7175 6575 650a 0a44 4553 4352 4950 5449 queue..DESCRIPTI\n+00005ca0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+00005cb0: 6365 6475 7265 2065 7374 6162 6c69 7368 cedure establish\n+00005cc0: 6573 2061 206c 6973 7465 6e20 7175 6575 es a listen queu\n+00005cd0: 6520 6166 7465 7220 6120 5443 5020 736f e after a TCP so\n+00005ce0: 636b 6574 2061 730a 2020 2020 2062 6565 cket as. bee\n+00005cf0: 6e20 696e 6974 6961 6c69 7a65 6420 616e n initialized an\n+00005d00: 6420 626f 756e 642e 2020 4561 6368 2073 d bound. Each s\n+00005d10: 6c6f 7420 696e 2074 6865 2071 7565 7565 lot in the queue\n+00005d20: 2063 616e 2068 6f6c 6420 6f6e 650a 2020 can hold one. \n+00005d30: 2020 2069 6e63 6f6d 696e 6720 636f 6e6e incoming conn\n+00005d40: 6563 7469 6f6e 2074 6861 7420 6861 7320 ection that has \n+00005d50: 6e6f 7420 6265 656e 2061 6363 6570 7465 not been accepte\n+00005d60: 6420 7965 742e 2020 4e6f 7465 2074 6861 d yet. Note tha\n+00005d70: 7420 6d6f 7374 0a20 2020 2020 6f70 6572 t most. oper\n+00005d80: 6174 696e 6720 7379 7374 656d 7320 6967 ating systems ig\n+00005d90: 6e6f 7265 2071 7565 7565 2073 697a 6573 nore queue sizes\n+00005da0: 206c 6172 6765 7220 7468 616e 2066 6976 larger than fiv\n+00005db0: 652e 0a0a 5345 4520 414c 534f 0a20 2020 e...SEE ALSO. \n+00005dc0: 2020 2a6e 6f74 6520 4163 6365 7074 5f53 *note Accept_S\n+00005dd0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00005de0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00005df0: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n+00005e00: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n+00005e10: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00005e20: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+00005e30: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00005e40: 4e6f 6465 3a20 4e65 775f 4c69 6e65 2028 Node: New_Line (\n+00005e50: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+00005e60: 743a 2050 7574 2028 7072 6f63 6564 7572 t: Put (procedur\n+00005e70: 6529 2c20 2050 7265 763a 204c 6973 7465 e), Prev: Liste\n+00005e80: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n+00005e90: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n+00005ea0: 7420 2870 726f 6365 6475 7265 290a 0a4e t (procedure)..N\n+00005eb0: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+00005ec0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n+00005ed0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00005ee0: 450a 2020 2020 2053 656e 6420 6120 4352 E. Send a CR\n+00005ef0: 2f4c 4620 746f 2061 2072 656d 6f74 6520 /LF to a remote \n+00005f00: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n+00005f10: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+00005f20: 4e65 775f 4c69 6e65 3a20 7072 6f63 6564 New_Line: proced\n+00005f30: 7572 6520 4e65 775f 4c69 6e65 2028 534f ure New_Line (SO\n+00005f40: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00005f50: 2743 6c61 7373 3b0a 2020 2020 2020 2020 'Class;. \n+00005f60: 2020 2020 2020 2043 4f55 4e54 203a 204e COUNT : N\n+00005f70: 6174 7572 616c 203a 3d20 3129 3b0a 0a50 atural := 1);..P\n+00005f80: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00005f90: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00005fa0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00005fb0: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00005fc0: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+00005fd0: 2020 434f 554e 5420 2020 2020 2069 6e20 COUNT in \n+00005fe0: 2020 2020 2020 2020 4e75 6d62 6572 206f Number o\n+00005ff0: 6620 4352 2f4c 4620 7365 7175 656e 6365 f CR/LF sequence\n+00006000: 7320 746f 2073 656e 640a 0a44 4553 4352 s to send..DESCR\n+00006010: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00006020: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n+00006030: 206f 6e65 206f 7220 6d6f 7265 2043 522f one or more CR/\n+00006040: 4c46 2063 6f6d 6269 6e61 7469 6f6e 7320 LF combinations \n+00006050: 746f 2074 6865 2070 6565 722e 0a0a 4558 to the peer...EX\n+00006060: 4345 5054 494f 4e53 0a20 2020 2020 2743 CEPTIONS. 'C\n+00006070: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n+00006080: 2750 6565 7220 6861 7320 7072 656d 6174 'Peer has premat\n+00006090: 7572 656c 7920 636c 6f73 6564 2074 6865 urely closed the\n+000060a0: 2063 6f6e 6e65 6374 696f 6e0a 0a53 4545 connection..SEE\n+000060b0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+000060c0: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+000060d0: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2050 ::,. *note P\n+000060e0: 7574 5f4c 696e 6520 2870 726f 6365 6475 ut_Line (procedu\n+000060f0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00006100: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00006110: 2020 4e6f 6465 3a20 5075 7420 2870 726f Node: Put (pro\n+00006120: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n+00006130: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n+00006140: 7572 6529 2c20 2050 7265 763a 204e 6577 ure), Prev: New\n+00006150: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00006160: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00006170: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00006180: 290a 0a50 7574 2028 7072 6f63 6564 7572 )..Put (procedur\n+00006190: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+000061a0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+000061b0: 2053 656e 6420 6120 7374 7269 6e67 2074 Send a string t\n+000061c0: 6f20 6120 7265 6d6f 7465 2068 6f73 740a o a remote host.\n+000061d0: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+000061e0: 2d2d 2053 6f63 6b65 7473 2e50 7574 3a20 -- Sockets.Put: \n+000061f0: 7072 6f63 6564 7572 6520 5075 7420 2853 procedure Put (S\n+00006200: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00006210: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n+00006220: 2020 2020 2020 2020 5354 5220 3a20 5374 STR : St\n+00006230: 7269 6e67 293b 0a0a 5041 5241 4d45 5445 ring);..PARAMETE\n+00006240: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00006250: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00006260: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n+00006270: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+00006280: 626a 6563 740a 2020 2020 2053 5452 2020 bject. STR \n+00006290: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+000062a0: 2053 7472 696e 6720 746f 2073 656e 640a String to send.\n+000062b0: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n+000062c0: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n+000062d0: 2073 656e 6473 2074 6865 2063 6f6e 7465 sends the conte\n+000062e0: 6e74 206f 6620 5354 5220 6f76 6572 2061 nt of STR over a\n+000062f0: 6e20 6f75 7467 6f69 6e67 206f 720a 2020 n outgoing or. \n+00006300: 2020 2069 6e63 6f6d 696e 6720 736f 636b incoming sock\n+00006310: 6574 2e0a 0a45 5843 4550 5449 4f4e 530a et...EXCEPTIONS.\n+00006320: 2020 2020 2027 436f 6e6e 6563 7469 6f6e 'Connection\n+00006330: 5f43 6c6f 7365 6427 5065 6572 2068 6173 _Closed'Peer has\n+00006340: 2070 7265 6d61 7475 7265 6c79 2063 6c6f prematurely clo\n+00006350: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n+00006360: 6f6e 0a0a 5345 4520 414c 534f 0a20 2020 on..SEE ALSO. \n+00006370: 2020 2a6e 6f74 6520 4e65 775f 4c69 6e65 *note New_Line\n+00006380: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00006390: 2020 2020 202a 6e6f 7465 2050 7574 5f4c *note Put_L\n+000063a0: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n+000063b0: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5365 :,. *note Se\n+000063c0: 6e64 2028 7072 6f63 6564 7572 6529 3a3a nd (procedure)::\n+000063d0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+000063e0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+000063f0: 653a 2050 7574 5f4c 696e 6520 2870 726f e: Put_Line (pro\n+00006400: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n+00006410: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n+00006420: 6e29 2c20 2050 7265 763a 2050 7574 2028 n), Prev: Put (\n+00006430: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n+00006440: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00006450: 7072 6f63 6564 7572 6529 0a0a 5075 745f procedure)..Put_\n+00006460: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00006470: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00006480: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00006490: 2020 2020 5365 6e64 2061 2043 522f 4c46 Send a CR/LF\n+000064a0: 2074 6572 6d69 6e61 7465 6420 7374 7269 terminated stri\n+000064b0: 6e67 2074 6f20 6120 7265 6d6f 7465 2068 ng to a remote h\n+000064c0: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+000064d0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e50 -- Sockets.P\n+000064e0: 7574 5f4c 696e 653a 2070 726f 6365 6475 ut_Line: procedu\n+000064f0: 7265 2050 7574 5f4c 696e 6520 2853 4f43 re Put_Line (SOC\n+00006500: 4b45 5420 3a20 536f 636b 6574 5f46 4427 KET : Socket_FD'\n+00006510: 436c 6173 733b 0a20 2020 2020 2020 2020 Class;. \n+00006520: 2020 2020 2020 5354 5220 3a20 5374 7269 STR : Stri\n+00006530: 6e67 293b 0a0a 5041 5241 4d45 5445 5253 ng);..PARAMETERS\n+00006540: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00006550: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00006560: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00006570: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00006580: 6563 740a 2020 2020 2053 5452 2020 2020 ect. STR \n+00006590: 2020 2020 696e 2020 2020 2020 2020 2053 in S\n+000065a0: 7472 696e 6720 746f 2073 656e 640a 0a44 tring to send..D\n+000065b0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+000065c0: 5468 6973 2070 726f 6365 6475 7265 2073 This procedure s\n+000065d0: 656e 6473 2074 6865 2063 6f6e 7465 6e74 ends the content\n+000065e0: 206f 6620 5354 5220 706c 7573 2061 2043 of STR plus a C\n+000065f0: 522f 4c46 2063 6f6d 6269 6e61 7469 6f6e R/LF combination\n+00006600: 0a20 2020 2020 6f76 6572 2061 6e20 6f75 . over an ou\n+00006610: 7467 6f69 6e67 206f 7220 696e 636f 6d69 tgoing or incomi\n+00006620: 6e67 2073 6f63 6b65 742e 0a0a 4558 4345 ng socket...EXCE\n+00006630: 5054 494f 4e53 0a20 2020 2020 2743 6f6e PTIONS. 'Con\n+00006640: 6e65 6374 696f 6e5f 436c 6f73 6564 2750 nection_Closed'P\n+00006650: 6565 7220 6861 7320 7072 656d 6174 7572 eer has prematur\n+00006660: 656c 7920 636c 6f73 6564 2074 6865 2063 ely closed the c\n+00006670: 6f6e 6e65 6374 696f 6e0a 0a53 4545 2041 onnection..SEE A\n+00006680: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n+00006690: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+000066a0: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+000066b0: 6520 5075 7420 2870 726f 6365 6475 7265 e Put (procedure\n+000066c0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+000066d0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+000066e0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+000066f0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00006700: 6f64 653a 2052 6563 6569 7665 2028 6675 ode: Receive (fu\n+00006710: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n+00006720: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+00006730: 7265 292c 2020 5072 6576 3a20 5075 745f re), Prev: Put_\n+00006740: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00006750: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00006760: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00006770: 0a0a 5265 6365 6976 6520 2866 756e 6374 ..Receive (funct\n+00006780: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+00006790: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+000067a0: 0a20 2020 2020 5265 6365 6976 6520 7261 . Receive ra\n+000067b0: 7720 6461 7461 206f 7665 7220 6120 736f w data over a so\n+000067c0: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n+000067d0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+000067e0: 5265 6365 6976 653a 2066 756e 6374 696f Receive: functio\n+000067f0: 6e20 5265 6365 6976 6520 2853 4f43 4b45 n Receive (SOCKE\n+00006800: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n+00006810: 2020 2020 2020 2020 2020 2020 2020 4d41 MA\n+00006820: 5820 3a20 4164 612e 5374 7265 616d 732e X : Ada.Streams.\n+00006830: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n+00006840: 6f75 6e74 203a 3d20 3430 3936 290a 2020 ount := 4096). \n+00006850: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+00006860: 7572 6e20 4164 612e 5374 7265 616d 732e urn Ada.Streams.\n+00006870: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00006880: 7272 6179 3b0a 0a50 4152 414d 4554 4552 rray;..PARAMETER\n+00006890: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+000068a0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+000068b0: 7469 616c 697a 6564 2061 6e64 2062 6f75 tialized and bou\n+000068c0: 6e64 206f 7220 636f 6e6e 6563 7465 640a nd or connected.\n+000068d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000068e0: 2020 2020 2020 2020 2020 2073 6f63 6b65 socke\n+000068f0: 7420 6f62 6a65 6374 0a20 2020 2020 4d41 t object. MA\n+00006900: 5820 2020 2020 2020 2069 6e20 2020 2020 X in \n+00006910: 2020 2020 4d61 7869 6d75 6d20 6461 7461 Maximum data\n+00006920: 206c 656e 6774 680a 0a52 4554 5552 4e20 length..RETURN \n+00006930: 5641 4c55 450a 2020 2020 2052 6563 6569 VALUE. Recei\n+00006940: 7665 6420 7261 7720 6461 7461 0a0a 4445 ved raw data..DE\n+00006950: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00006960: 6869 7320 7072 6f63 6564 7572 6520 7265 his procedure re\n+00006970: 6365 6976 6573 2064 6174 6120 6672 6f6d ceives data from\n+00006980: 2061 2062 6f75 6e64 2055 4450 2073 6f63 a bound UDP soc\n+00006990: 6b65 7420 6f72 2061 2063 6f6e 6e65 6374 ket or a connect\n+000069a0: 6564 0a20 2020 2020 5443 5020 736f 636b ed. TCP sock\n+000069b0: 6574 2e20 204f 6e6c 7920 6f6e 6520 7379 et. Only one sy\n+000069c0: 7374 656d 2063 616c 6c20 7769 6c6c 2062 stem call will b\n+000069d0: 6520 7065 7266 6f72 6d65 643b 2074 6869 e performed; thi\n+000069e0: 7320 6675 6e63 7469 6f6e 0a20 2020 2020 s function. \n+000069f0: 7769 6c6c 2072 6574 7572 6e20 7768 6174 will return what\n+00006a00: 6576 6572 2064 6174 6120 6861 7320 6172 ever data has ar\n+00006a10: 7269 7665 642e 2020 4e6f 7465 2074 6861 rived. Note tha\n+00006a20: 7420 696e 2047 4e41 5420 7468 650a 2020 t in GNAT the. \n+00006a30: 2020 2073 6563 6f6e 6461 7279 2073 7461 secondary sta\n+00006a40: 636b 206d 6179 2062 6520 7573 6564 2074 ck may be used t\n+00006a50: 6f20 7374 6f72 6520 7468 6520 6461 7461 o store the data\n+00006a60: 2061 6e64 206d 6179 2072 6573 756c 7420 and may result \n+00006a70: 696e 0a20 2020 2020 7374 6163 6b20 7374 in. stack st\n+00006a80: 6f72 6167 6520 6578 6861 7573 7469 6f6e orage exhaustion\n+00006a90: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00006aa0: 2020 2027 436f 6e6e 6563 7469 6f6e 5f43 'Connection_C\n+00006ab0: 6c6f 7365 6427 5065 6572 2068 6173 2063 losed'Peer has c\n+00006ac0: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n+00006ad0: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n+00006ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006af0: 2020 2020 7365 6e64 696e 6720 616e 7920 sending any \n+00006b00: 6461 7461 0a0a 5345 4520 414c 534f 0a20 data..SEE ALSO. \n+00006b10: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n+00006b20: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00006b30: 0a20 2020 2020 2a6e 6f74 6520 5265 6365 . *note Rece\n+00006b40: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n+00006b50: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+00006b60: 7465 2047 6574 5f4c 696e 6520 2866 756e te Get_Line (fun\n+00006b70: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n+00006b80: 6e6f 7465 2047 6574 5f4c 696e 6520 2870 note Get_Line (p\n+00006b90: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+00006ba0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00006bb0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n+00006bc0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00006bd0: 292c 2020 4e65 7874 3a20 5265 6365 6976 ), Next: Receiv\n+00006be0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+00006bf0: 6529 2c20 2050 7265 763a 2052 6563 6569 e), Prev: Recei\n+00006c00: 7665 2028 6675 6e63 7469 6f6e 292c 2020 ve (function), \n+00006c10: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n+00006c20: 7420 2870 726f 6365 6475 7265 290a 0a52 t (procedure)..R\n+00006c30: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00006c40: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00006c50: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+00006c60: 2020 2020 2052 6563 6569 7665 2072 6177 Receive raw\n+00006c70: 2064 6174 6120 6f76 6572 2061 2073 6f63 data over a soc\n+00006c80: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n+00006c90: 2020 2020 2d2d 2053 6f63 6b65 7473 2e52 -- Sockets.R\n+00006ca0: 6563 6569 7665 3a20 7072 6f63 6564 7572 eceive: procedur\n+00006cb0: 6520 5265 6365 6976 6520 2853 4f43 4b45 e Receive (SOCKE\n+00006cc0: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00006cd0: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+00006ce0: 2020 2020 4441 5441 203a 206f 7574 2041 DATA : out A\n+00006cf0: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n+00006d00: 6d5f 456c 656d 656e 745f 4172 7261 7929 m_Element_Array)\n+00006d10: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+00006d20: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+00006d30: 2020 2020 2020 2020 2049 6e69 7469 616c Initial\n+00006d40: 697a 6564 2061 6e64 2062 6f75 6e64 206f ized and bound o\n+00006d50: 7220 636f 6e6e 6563 7465 640a 2020 2020 r connected. \n+00006d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006d70: 2020 2020 2020 2073 6f63 6b65 7420 6f62 socket ob\n+00006d80: 6a65 6374 0a20 2020 2020 4441 5441 2020 ject. DATA \n+00006d90: 2020 2020 206f 7574 2020 2020 2020 2020 out \n+00006da0: 496e 636f 6d69 6e67 2064 6174 6120 6275 Incoming data bu\n+00006db0: 6666 6572 0a0a 4445 5343 5249 5054 494f ffer..DESCRIPTIO\n+00006dc0: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+00006dd0: 6564 7572 6520 7265 6365 6976 6573 2064 edure receives d\n+00006de0: 6174 6120 6672 6f6d 2061 2062 6f75 6e64 ata from a bound\n+00006df0: 2055 4450 2073 6f63 6b65 7420 6f72 2061 UDP socket or a\n+00006e00: 2063 6f6e 6e65 6374 6564 0a20 2020 2020 connected. \n+00006e10: 5443 5020 736f 636b 6574 2e20 2049 7420 TCP socket. It \n+00006e20: 7769 6c6c 2062 6c6f 636b 2075 6e74 696c will block until\n+00006e30: 2074 6865 2044 4154 4120 7265 6365 7074 the DATA recept\n+00006e40: 696f 6e20 6275 6666 6572 2068 6173 2062 ion buffer has b\n+00006e50: 6565 6e0a 2020 2020 2074 6f74 616c 6c79 een. totally\n+00006e60: 2066 696c 6c65 642e 0a0a 4558 4345 5054 filled...EXCEPT\n+00006e70: 494f 4e53 0a20 2020 2020 2743 6f6e 6e65 IONS. 'Conne\n+00006e80: 6374 696f 6e5f 436c 6f73 6564 2750 6565 ction_Closed'Pee\n+00006e90: 7220 6861 7320 636c 6f73 6564 2074 6865 r has closed the\n+00006ea0: 2063 6f6e 6e65 6374 696f 6e20 6265 666f connection befo\n+00006eb0: 7265 0a20 2020 2020 2020 2020 2020 2020 re. \n+00006ec0: 2020 2020 2020 2020 2020 2027 4461 7461 'Data\n+00006ed0: 274c 656e 6774 6827 2062 7974 6573 0a20 'Length' bytes. \n+00006ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006ef0: 2020 2020 2020 2077 6572 6520 7265 6365 were rece\n+00006f00: 6976 6564 0a0a 5345 4520 414c 534f 0a20 ived..SEE ALSO. \n+00006f10: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00006f20: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c ne (function)::,\n+00006f30: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+00006f40: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00006f50: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n+00006f60: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+00006f70: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00006f80: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+00006f90: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n+00006fa0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+00006fb0: 696e 666f 2c20 204e 6f64 653a 2052 6563 info, Node: Rec\n+00006fc0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+00006fd0: 6475 7265 292c 2020 4e65 7874 3a20 5365 dure), Next: Se\n+00006fe0: 6e64 2028 7072 6f63 6564 7572 6529 2c20 nd (procedure), \n+00006ff0: 2050 7265 763a 2052 6563 6569 7665 2028 Prev: Receive (\n+00007000: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n+00007010: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00007020: 7072 6f63 6564 7572 6529 0a0a 5265 6365 procedure)..Rece\n+00007030: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n+00007040: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+00007050: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+00007060: 5552 504f 5345 0a20 2020 2020 5265 6365 URPOSE. Rece\n+00007070: 6976 6520 7261 7720 6461 7461 206f 7665 ive raw data ove\n+00007080: 7220 6120 736f 636b 6574 0a50 524f 544f r a socket.PROTO\n+00007090: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+000070a0: 636b 6574 732e 5265 6365 6976 655f 536f ckets.Receive_So\n+000070b0: 6d65 3a20 7072 6f63 6564 7572 6520 5265 me: procedure Re\n+000070c0: 6365 6976 655f 536f 6d65 0a20 2020 2020 ceive_Some. \n+000070d0: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+000070e0: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+000070f0: 6173 733b 0a20 2020 2020 2020 2020 2020 ass;. \n+00007100: 2020 2020 4441 5441 203a 206f 7574 2041 DATA : out A\n+00007110: 6461 2e53 7472 6561 6d73 2e53 7472 6561 da.Streams.Strea\n+00007120: 6d5f 456c 656d 656e 745f 4172 7261 793b m_Element_Array;\n+00007130: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00007140: 4c41 5354 203a 206f 7574 2041 6461 2e53 LAST : out Ada.S\n+00007150: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n+00007160: 656d 656e 745f 4f66 6673 6574 293b 0a0a ement_Offset);..\n+00007170: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00007180: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00007190: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+000071a0: 6420 616e 6420 626f 756e 6420 6f72 2063 d and bound or c\n+000071b0: 6f6e 6e65 6374 6564 0a20 2020 2020 2020 onnected. \n+000071c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000071d0: 2020 2020 736f 636b 6574 206f 626a 6563 socket objec\n+000071e0: 740a 2020 2020 2044 4154 4120 2020 2020 t. DATA \n+000071f0: 2020 6f75 7420 2020 2020 2020 2049 6e63 out Inc\n+00007200: 6f6d 696e 6720 6461 7461 2062 7566 6665 oming data buffe\n+00007210: 720a 2020 2020 204c 4153 5420 2020 2020 r. LAST \n+00007220: 2020 6f75 7420 2020 2020 2020 2049 6e64 out Ind\n+00007230: 6578 206f 6620 6c61 7374 2065 6c65 6d65 ex of last eleme\n+00007240: 6e74 2070 6c61 6365 6420 696e 746f 2044 nt placed into D\n+00007250: 4154 410a 0a44 4553 4352 4950 5449 4f4e ATA..DESCRIPTION\n+00007260: 0a20 2020 2020 5468 6973 2070 726f 6365 . This proce\n+00007270: 6475 7265 2072 6563 6569 7665 7320 6461 dure receives da\n+00007280: 7461 2066 726f 6d20 6120 626f 756e 6420 ta from a bound \n+00007290: 5544 5020 736f 636b 6574 206f 7220 6120 UDP socket or a \n+000072a0: 636f 6e6e 6563 7465 640a 2020 2020 2054 connected. T\n+000072b0: 4350 2073 6f63 6b65 742e 2020 4173 2073 CP socket. As s\n+000072c0: 6f6f 6e20 6173 2061 7420 6c65 6173 7420 oon as at least \n+000072d0: 6f6e 6520 6279 7465 2068 6173 2062 6565 one byte has bee\n+000072e0: 6e20 7265 6164 2c20 6974 2072 6574 7572 n read, it retur\n+000072f0: 6e73 0a20 2020 2020 7769 7468 204c 4153 ns. with LAS\n+00007300: 5420 7365 7420 746f 2074 6865 2069 6e64 T set to the ind\n+00007310: 6578 206f 6620 7468 6520 6c61 7465 7374 ex of the latest\n+00007320: 2077 7269 7474 656e 2065 6c65 6d65 6e74 written element\n+00007330: 206f 6620 4441 5441 2e0a 0a45 5843 4550 of DATA...EXCEP\n+00007340: 5449 4f4e 530a 2020 2020 2027 436f 6e6e TIONS. 'Conn\n+00007350: 6563 7469 6f6e 5f43 6c6f 7365 6427 5065 ection_Closed'Pe\n+00007360: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n+00007370: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n+00007380: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n+00007390: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n+000073a0: 696e 6720 616e 7920 6461 7461 0a0a 5345 ing any data..SE\n+000073b0: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+000073c0: 6520 4765 745f 4c69 6e65 2028 6675 6e63 e Get_Line (func\n+000073d0: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n+000073e0: 6f74 6520 4765 745f 4c69 6e65 2028 7072 ote Get_Line (pr\n+000073f0: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00007400: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n+00007410: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+00007420: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n+00007430: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00007440: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00007450: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00007460: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+00007470: 2c20 204e 6578 743a 2053 6574 5f42 7566 , Next: Set_Buf\n+00007480: 6665 7220 2870 726f 6365 6475 7265 292c fer (procedure),\n+00007490: 2020 5072 6576 3a20 5265 6365 6976 655f Prev: Receive_\n+000074a0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+000074b0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+000074c0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+000074d0: 0a0a 5365 6e64 2028 7072 6f63 6564 7572 ..Send (procedur\n+000074e0: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+000074f0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+00007500: 2020 5365 6e64 2072 6177 2064 6174 6120 Send raw data \n+00007510: 6f76 6572 2061 2073 6f63 6b65 740a 5052 over a socket.PR\n+00007520: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00007530: 2053 6f63 6b65 7473 2e53 656e 643a 2070 Sockets.Send: p\n+00007540: 726f 6365 6475 7265 2053 656e 6420 2853 rocedure Send (S\n+00007550: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00007560: 443b 0a20 2020 2020 2020 2020 2020 2020 D;. \n+00007570: 2020 4441 5441 203a 206f 7574 2041 6461 DATA : out Ada\n+00007580: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_\n+00007590: 456c 656d 656e 745f 4172 7261 7929 3b0a Element_Array);.\n+000075a0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+000075b0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+000075c0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n+000075d0: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n+000075e0: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+000075f0: 2020 2020 4441 5441 2020 2020 2020 206f DATA o\n+00007600: 7574 2020 2020 2020 2020 4461 7461 2074 ut Data t\n+00007610: 6f20 6265 2073 656e 740a 0a44 4553 4352 o be sent..DESCR\n+00007620: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+00007630: 2070 726f 6365 6475 7265 2073 656e 6473 procedure sends\n+00007640: 2064 6174 6120 6f76 6572 2061 2063 6f6e data over a con\n+00007650: 6e65 6374 6564 206f 7574 676f 696e 6720 nected outgoing \n+00007660: 736f 636b 6574 206f 7220 6f76 6572 0a20 socket or over. \n+00007670: 2020 2020 616e 2069 6e63 6f6d 696e 6720 an incoming \n+00007680: 736f 636b 6574 2e0a 0a45 5843 4550 5449 socket...EXCEPTI\n+00007690: 4f4e 530a 2020 2020 2027 436f 6e6e 6563 ONS. 'Connec\n+000076a0: 7469 6f6e 5f43 6c6f 7365 6427 5065 6572 tion_Closed'Peer\n+000076b0: 2068 6173 2070 7265 6d61 7475 7265 6c79 has prematurely\n+000076c0: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n+000076d0: 6563 7469 6f6e 0a0a 5345 4520 414c 534f ection..SEE ALSO\n+000076e0: 0a20 2020 2020 2a6e 6f74 6520 5075 7420 . *note Put \n+000076f0: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+00007700: 2020 2020 2a6e 6f74 6520 5075 745f 4c69 *note Put_Li\n+00007710: 6e65 2028 7072 6f63 6564 7572 6529 3a3a ne (procedure)::\n+00007720: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+00007730: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+00007740: 653a 2053 6574 5f42 7566 6665 7220 2870 e: Set_Buffer (p\n+00007750: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n+00007760: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr\n+00007770: 6f63 6564 7572 6529 2c20 2050 7265 763a ocedure), Prev:\n+00007780: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n+00007790: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+000077a0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+000077b0: 290a 0a53 6574 5f42 7566 6665 7220 2870 )..Set_Buffer (p\n+000077c0: 726f 6365 6475 7265 290a 2d2d 2d2d 2d2d rocedure).------\n+000077d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000077e0: 0a0a 5055 5250 4f53 450a 2020 2020 2049 ..PURPOSE. I\n+000077f0: 6e73 7461 6c6c 2061 206c 696e 652d 6f72 nstall a line-or\n+00007800: 6965 6e74 6564 2062 7566 6665 7220 6f66 iented buffer of\n+00007810: 2074 6865 2073 6f63 6b65 7420 6f62 6a65 the socket obje\n+00007820: 6374 0a50 524f 544f 5459 5045 0a20 2020 ct.PROTOTYPE. \n+00007830: 2020 202d 2d20 536f 636b 6574 732e 5365 -- Sockets.Se\n+00007840: 745f 4275 6666 6572 3a20 7072 6f63 6564 t_Buffer: proced\n+00007850: 7572 6520 5365 745f 4275 6666 6572 0a20 ure Set_Buffer. \n+00007860: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n+00007870: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00007880: 4427 436c 6173 733b 204c 454e 4754 4820 D'Class; LENGTH \n+00007890: 3a20 506f 7369 7469 7665 203a 3d20 3135 : Positive := 15\n+000078a0: 3030 293b 0a0a 5041 5241 4d45 5445 5253 00);..PARAMETERS\n+000078b0: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+000078c0: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+000078d0: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+000078e0: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+000078f0: 6563 740a 2020 2020 204c 454e 4754 4820 ect. LENGTH \n+00007900: 2020 2020 696e 2020 2020 2020 2020 2053 in S\n+00007910: 697a 6520 696e 2062 7974 6573 206f 6620 ize in bytes of \n+00007920: 7468 6520 6e65 776c 7920 696e 7374 616c the newly instal\n+00007930: 6c65 640a 2020 2020 2020 2020 2020 2020 led. \n+00007940: 2020 2020 2020 2020 2020 2020 2020 2062 b\n+00007950: 7566 6665 720a 0a44 4553 4352 4950 5449 uffer..DESCRIPTI\n+00007960: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+00007970: 6365 6475 7265 2070 7574 7320 7468 6520 cedure puts the \n+00007980: 736f 636b 6574 206f 626a 6563 7420 696e socket object in\n+00007990: 2062 7566 6665 7265 6420 6d6f 6465 2e20 buffered mode. \n+000079a0: 2049 6620 7468 650a 2020 2020 2073 6f63 If the. soc\n+000079b0: 6b65 7420 7761 7320 616c 7265 6164 7920 ket was already \n+000079c0: 6275 6666 6572 6564 2c20 7468 6520 636f buffered, the co\n+000079d0: 6e74 656e 7420 6f66 2074 6865 2070 7265 ntent of the pre\n+000079e0: 7669 6f75 7320 6275 6666 6572 0a20 2020 vious buffer. \n+000079f0: 2020 7769 6c6c 2062 6520 6c6f 7374 2e20 will be lost. \n+00007a00: 2054 6865 2062 7566 6665 7265 6420 6d6f The buffered mo\n+00007a10: 6465 206f 6e6c 7920 6166 6665 6374 7320 de only affects \n+00007a20: 6368 6172 6163 7465 722d 2061 6e64 0a20 character- and. \n+00007a30: 2020 2020 6c69 6e65 2d6f 7269 656e 7465 line-oriente\n+00007a40: 6420 7265 6164 206f 7065 7261 7469 6f6e d read operation\n+00007a50: 2073 7563 6820 6173 202a 6e6f 7465 2047 such as *note G\n+00007a60: 6574 2028 6675 6e63 7469 6f6e 293a 3a2c et (function)::,\n+00007a70: 202a 6e6f 7465 0a20 2020 2020 4765 745f *note. Get_\n+00007a80: 4368 6172 2028 6675 6e63 7469 6f6e 293a Char (function):\n+00007a90: 3a2c 2061 6e64 202a 6e6f 7465 2047 6574 :, and *note Get\n+00007aa0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+00007ab0: 3a3a 2e20 204f 7468 6572 0a20 2020 2020 ::. Other. \n+00007ac0: 7265 6365 7074 696f 6e20 7375 6270 726f reception subpro\n+00007ad0: 6772 616d 7320 7769 6c6c 206e 6f74 2066 grams will not f\n+00007ae0: 756e 6374 696f 6e20 7072 6f70 6572 6c79 unction properly\n+00007af0: 2069 6620 6275 6666 6572 6564 206d 6f64 if buffered mod\n+00007b00: 650a 2020 2020 2069 7320 7573 6564 2061 e. is used a\n+00007b10: 7420 7468 6520 7361 6d65 2074 696d 652e t the same time.\n+00007b20: 0a0a 2020 2020 2054 6865 2073 697a 6520 .. The size \n+00007b30: 6f66 2074 6865 2062 7566 6665 7220 6861 of the buffer ha\n+00007b40: 7320 746f 2062 6520 6772 6561 7465 7220 s to be greater \n+00007b50: 7468 616e 2074 6865 2062 6967 6765 7374 than the biggest\n+00007b60: 2070 6f73 7369 626c 650a 2020 2020 2070 possible. p\n+00007b70: 6163 6b65 7420 7365 6e74 2062 7920 7468 acket sent by th\n+00007b80: 6520 7265 6d6f 7465 2068 6f73 742c 206f e remote host, o\n+00007b90: 7468 6572 7769 7365 2064 6174 6120 6c6f therwise data lo\n+00007ba0: 7373 206d 6179 206f 6363 7572 2e0a 0a53 ss may occur...S\n+00007bb0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+00007bc0: 7465 2055 6e73 6574 5f42 7566 6665 7220 te Unset_Buffer \n+00007bd0: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00007be0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00007bf0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00007c00: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00007c10: 6564 7572 6529 2c20 204e 6578 743a 2053 edure), Next: S\n+00007c20: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+00007c30: 7265 292c 2020 5072 6576 3a20 5365 745f re), Prev: Set_\n+00007c40: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00007c50: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00007c60: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00007c70: 6529 0a0a 5365 7473 6f63 6b6f 7074 2028 e)..Setsockopt (\n+00007c80: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00007c90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007ca0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+00007cb0: 5365 7420 6120 736f 636b 6574 206f 7074 Set a socket opt\n+00007cc0: 696f 6e0a 5052 4f54 4f54 5950 450a 2020 ion.PROTOTYPE. \n+00007cd0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e53 -- Sockets.S\n+00007ce0: 6574 736f 636b 6f70 743a 2070 726f 6365 etsockopt: proce\n+00007cf0: 6475 7265 2053 6574 736f 636b 6f70 7420 dure Setsockopt \n+00007d00: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+00007d10: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n+00007d20: 2020 2020 4c45 5645 4c20 3a20 536f 636b LEVEL : Sock\n+00007d30: 6574 5f4c 6576 656c 203a 3d20 534f 4c5f et_Level := SOL_\n+00007d40: 534f 434b 4554 3b0a 2020 2020 2020 2020 SOCKET;. \n+00007d50: 2020 2020 2020 204f 5054 4e41 4d45 203a OPTNAME :\n+00007d60: 2053 6f63 6b65 745f 4f70 7469 6f6e 3b20 Socket_Option; \n+00007d70: 4f50 5456 414c 203a 2049 6e74 6567 6572 OPTVAL : Integer\n+00007d80: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n+00007d90: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n+00007da0: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n+00007db0: 6c69 7a65 6420 616e 6420 626f 756e 6420 lized and bound \n+00007dc0: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+00007dd0: 2020 204c 4556 454c 2020 2020 2020 696e LEVEL in\n+00007de0: 2020 2020 2020 2020 2050 726f 746f 636f Protoco\n+00007df0: 6c20 6c65 7665 6c0a 2020 2020 204f 5054 l level. OPT\n+00007e00: 4e41 4d45 2020 2020 696e 2020 2020 2020 NAME in \n+00007e10: 2020 204f 7074 696f 6e20 6e61 6d65 0a20 Option name. \n+00007e20: 2020 2020 4f50 5456 414c 2020 2020 2069 OPTVAL i\n+00007e30: 6e20 2020 2020 2020 2020 4f70 7469 6f6e n Option\n+00007e40: 2076 616c 7565 0a0a 4445 5343 5249 5054 value..DESCRIPT\n+00007e50: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+00007e60: 6f63 6564 7572 6520 7365 7473 206f 7074 ocedure sets opt\n+00007e70: 696f 6e73 2061 7070 6c69 6361 626c 6520 ions applicable \n+00007e80: 746f 2061 2073 6f63 6b65 742e 2020 506c to a socket. Pl\n+00007e90: 6561 7365 2073 6565 0a20 2020 2020 796f ease see. yo\n+00007ea0: 7572 206f 7065 7261 7469 6e67 2073 7973 ur operating sys\n+00007eb0: 7465 6d20 6d61 6e75 616c 2066 6f72 2075 tem manual for u\n+00007ec0: 7361 626c 6520 6c65 7665 6c73 2061 6e64 sable levels and\n+00007ed0: 206f 7074 696f 6e73 2e0a 0a20 2020 2020 options... \n+00007ee0: 5477 6f20 6c65 7665 6c73 2061 7265 2064 Two levels are d\n+00007ef0: 6566 696e 6564 3a20 2753 4f4c 5f53 4f43 efined: 'SOL_SOC\n+00007f00: 4b45 5427 2028 7468 6520 6465 6661 756c KET' (the defaul\n+00007f10: 7429 2061 6e64 0a20 2020 2020 2749 5050 t) and. 'IPP\n+00007f20: 524f 544f 5f49 5027 2e20 2054 6865 206f ROTO_IP'. The o\n+00007f30: 7074 696f 6e73 2061 7265 2027 534f 5f52 ptions are 'SO_R\n+00007f40: 4555 5345 4144 4452 272c 2027 534f 5f52 EUSEADDR', 'SO_R\n+00007f50: 4555 5345 504f 5254 272c 0a20 2020 2020 EUSEPORT',. \n+00007f60: 2749 505f 4d55 4c54 4943 4153 545f 5454 'IP_MULTICAST_TT\n+00007f70: 4c27 2c20 2749 505f 4144 445f 4d45 4d42 L', 'IP_ADD_MEMB\n+00007f80: 4552 5348 4950 272c 2027 4950 5f44 524f ERSHIP', 'IP_DRO\n+00007f90: 505f 4d45 4d42 4552 5348 4950 272c 0a20 P_MEMBERSHIP',. \n+00007fa0: 2020 2020 2749 505f 4d55 4c54 4943 4153 'IP_MULTICAS\n+00007fb0: 545f 4c4f 4f50 272c 2027 534f 5f53 4e44 T_LOOP', 'SO_SND\n+00007fc0: 4255 4627 2061 6e64 2027 4950 5f52 4356 BUF' and 'IP_RCV\n+00007fd0: 4255 4627 2e0a 0a20 2020 2020 4e6f 7465 BUF'... Note\n+00007fe0: 2074 6861 7420 756e 6c69 6b65 2074 6865 that unlike the\n+00007ff0: 6972 2043 206c 616e 6775 6167 6520 636f ir C language co\n+00008000: 756e 7465 7270 6172 742c 2027 4765 7473 unterpart, 'Gets\n+00008010: 6f63 6b6f 7074 2720 616e 640a 2020 2020 ockopt' and. \n+00008020: 2027 5365 7473 6f63 6b6f 7074 2720 646f 'Setsockopt' do\n+00008030: 206e 6f74 2072 6571 7569 7265 2061 6e20 not require an \n+00008040: 6578 7472 6120 7061 7261 6d65 7465 7220 extra parameter \n+00008050: 7265 7072 6573 656e 7469 6e67 2074 6865 representing the\n+00008060: 0a20 2020 2020 6c65 6e67 7468 2069 6e20 . length in \n+00008070: 6279 7465 7320 6f66 2074 6865 206f 7074 bytes of the opt\n+00008080: 696f 6e20 7661 6c75 652e 2020 4164 6153 ion value. AdaS\n+00008090: 6f63 6b65 7473 206e 6f77 7320 7468 6520 ockets nows the \n+000080a0: 7269 6768 740a 2020 2020 2073 697a 6520 right. size \n+000080b0: 666f 7220 6576 6572 7920 6f70 7469 6f6e for every option\n+000080c0: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n+000080d0: 202a 6e6f 7465 2047 6574 736f 636b 6f70 *note Getsockop\n+000080e0: 7420 2870 726f 6365 6475 7265 293a 3a2e t (procedure)::.\n+000080f0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00008100: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00008110: 3a20 5368 7574 646f 776e 2028 7072 6f63 : Shutdown (proc\n+00008120: 6564 7572 6529 2c20 204e 6578 743a 2053 edure), Next: S\n+00008130: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00008140: 292c 2020 5072 6576 3a20 5365 7473 6f63 ), Prev: Setsoc\n+00008150: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00008160: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00008170: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00008180: 0a0a 5368 7574 646f 776e 2028 7072 6f63 ..Shutdown (proc\n+00008190: 6564 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d edure).---------\n+000081a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+000081b0: 504f 5345 0a20 2020 2020 5368 7574 646f POSE. Shutdo\n+000081c0: 776e 2061 2073 6f63 6b65 740a 5052 4f54 wn a socket.PROT\n+000081d0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+000081e0: 6f63 6b65 7473 2e53 6875 7464 6f77 6e3a ockets.Shutdown:\n+000081f0: 2070 726f 6365 6475 7265 2053 6875 7464 procedure Shutd\n+00008200: 6f77 6e0a 2020 2020 2020 2020 2020 2020 own. \n+00008210: 2020 2028 534f 434b 4554 203a 2069 6e20 (SOCKET : in \n+00008220: 6f75 7420 536f 636b 6574 5f46 443b 2048 out Socket_FD; H\n+00008230: 4f57 203a 2053 6875 7464 6f77 6e5f 5479 OW : Shutdown_Ty\n+00008240: 7065 203a 3d20 426f 7468 293b 0a0a 5041 pe := Both);..PA\n+00008250: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00008260: 434b 4554 2020 2020 2069 6e20 6f75 7420 CKET in out \n+00008270: 2020 2020 536f 636b 6574 206f 626a 6563 Socket objec\n+00008280: 7420 746f 2073 6875 7464 6f77 6e0a 2020 t to shutdown. \n+00008290: 2020 2048 4f57 2020 2020 2020 2020 696e HOW in\n+000082a0: 2020 2020 2020 2020 2044 6972 6563 7469 Directi\n+000082b0: 6f6e 2074 6f20 7368 7574 646f 776e 0a0a on to shutdown..\n+000082c0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000082d0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+000082e0: 7368 7574 646f 776e 7320 6569 7468 6572 shutdowns either\n+000082f0: 2064 6972 6563 7469 6f6e 206f 6620 7468 direction of th\n+00008300: 6520 736f 636b 6574 2e20 2048 4f57 2063 e socket. HOW c\n+00008310: 616e 0a20 2020 2020 7461 6b65 2074 6865 an. take the\n+00008320: 2076 616c 7565 2027 5365 6e64 272c 2027 value 'Send', '\n+00008330: 5265 6365 6976 6527 206f 7220 2742 6f74 Receive' or 'Bot\n+00008340: 6827 2e0a 0a53 4545 2041 4c53 4f0a 2020 h'...SEE ALSO. \n+00008350: 2020 202a 6e6f 7465 2053 6f63 6b65 7420 *note Socket \n+00008360: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00008370: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00008380: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00008390: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+000083a0: 6529 2c20 204e 6578 743a 2055 6e73 6574 e), Next: Unset\n+000083b0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+000083c0: 7265 292c 2020 5072 6576 3a20 5368 7574 re), Prev: Shut\n+000083d0: 646f 776e 2028 7072 6f63 6564 7572 6529 down (procedure)\n+000083e0: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+000083f0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00008400: 0a0a 536f 636b 6574 2028 7072 6f63 6564 ..Socket (proced\n+00008410: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+00008420: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00008430: 0a20 2020 2020 4372 6561 7465 2061 2073 . Create a s\n+00008440: 6f63 6b65 7420 6f66 2074 6865 2067 6976 ocket of the giv\n+00008450: 656e 206d 6f64 650a 5052 4f54 4f54 5950 en mode.PROTOTYP\n+00008460: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00008470: 7473 2e53 6f63 6b65 743a 2070 726f 6365 ts.Socket: proce\n+00008480: 6475 7265 2053 6f63 6b65 7420 2853 4f43 dure Socket (SOC\n+00008490: 4b45 5420 3a20 6f75 7420 536f 636b 6574 KET : out Socket\n+000084a0: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n+000084b0: 2020 2020 444f 4d41 494e 203a 2053 6f63 DOMAIN : Soc\n+000084c0: 6b65 745f 446f 6d61 696e 203a 3d20 5046 ket_Domain := PF\n+000084d0: 5f49 4e45 543b 0a20 2020 2020 2020 2020 _INET;. \n+000084e0: 2020 2020 2020 5459 5020 3a20 536f 636b TYP : Sock\n+000084f0: 6574 5f54 7970 6520 3a3d 2053 4f43 4b5f et_Type := SOCK_\n+00008500: 5354 5245 414d 293b 0a0a 5041 5241 4d45 STREAM);..PARAME\n+00008510: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+00008520: 2020 2020 206f 7574 2020 2020 2020 2020 out \n+00008530: 536f 636b 6574 206f 626a 6563 7420 746f Socket object to\n+00008540: 2069 6e69 7469 616c 697a 650a 2020 2020 initialize. \n+00008550: 2044 4f4d 4149 4e20 2020 2020 696e 2020 DOMAIN in \n+00008560: 2020 2020 2020 2050 726f 746f 636f 6c20 Protocol \n+00008570: 6661 6d69 6c79 0a20 2020 2020 5459 5020 family. TYP \n+00008580: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n+00008590: 2020 4b69 6e64 206f 6620 736f 636b 6574 Kind of socket\n+000085a0: 730a 0a44 4553 4352 4950 5449 4f4e 0a20 s..DESCRIPTION. \n+000085b0: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+000085c0: 7265 2069 6e69 7469 616c 697a 6573 2061 re initializes a\n+000085d0: 206e 6577 2073 6f63 6b65 7420 6f62 6a65 new socket obje\n+000085e0: 6374 2062 7920 7265 7365 7276 696e 6720 ct by reserving \n+000085f0: 6120 6669 6c65 0a20 2020 2020 6465 7363 a file. desc\n+00008600: 7269 7074 6f72 2074 6f20 7468 6520 6f70 riptor to the op\n+00008610: 6572 6174 696e 6720 7379 7374 656d 2e20 erating system. \n+00008620: 2046 6f72 2062 6163 6b77 6172 6420 636f For backward co\n+00008630: 6d70 6174 6962 696c 6974 790a 2020 2020 mpatibility. \n+00008640: 2077 6974 6820 6f6c 6465 7220 7665 7273 with older vers\n+00008650: 696f 6e73 206f 6620 7468 6973 206c 6962 ions of this lib\n+00008660: 7261 7279 2c20 2741 465f 494e 4554 2720 rary, 'AF_INET' \n+00008670: 6973 2073 7469 6c6c 2061 6363 6570 7465 is still accepte\n+00008680: 6420 6173 0a20 2020 2020 6120 7661 6c75 d as. a valu\n+00008690: 6520 6275 7420 7368 6f75 6c64 2062 6520 e but should be \n+000086a0: 7265 706c 6163 6564 2061 7320 736f 6f6e replaced as soon\n+000086b0: 2061 7320 706f 7373 6962 6c65 2077 6974 as possible wit\n+000086c0: 6820 7468 6520 7072 6f70 6572 0a20 2020 h the proper. \n+000086d0: 2020 2750 465f 494e 4554 272e 2020 5573 'PF_INET'. Us\n+000086e0: 696e 6720 2753 4f43 4b5f 5354 5245 414d ing 'SOCK_STREAM\n+000086f0: 2720 666f 7220 7468 6520 5459 5020 6172 ' for the TYP ar\n+00008700: 6775 6d65 6e74 2077 696c 6c20 6372 6561 gument will crea\n+00008710: 7465 2061 0a20 2020 2020 5443 5020 736f te a. TCP so\n+00008720: 636b 6574 2077 6869 6c65 2061 2027 534f cket while a 'SO\n+00008730: 434b 5f44 4752 414d 2720 7769 6c6c 2063 CK_DGRAM' will c\n+00008740: 7265 6174 6520 6120 5544 5020 6f6e 652e reate a UDP one.\n+00008750: 0a0a 4558 414d 504c 450a 2020 2020 2020 ..EXAMPLE. \n+00008760: 2020 2020 6465 636c 6172 650a 2020 2020 declare. \n+00008770: 2020 2020 2020 2020 2053 6f63 6b20 3a20 Sock : \n+00008780: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+00008790: 2020 2020 2062 6567 696e 0a20 2020 2020 begin. \n+000087a0: 2020 2020 2020 2020 2d2d 2043 7265 6174 -- Creat\n+000087b0: 6520 6120 5443 5020 736f 636b 6574 0a20 e a TCP socket. \n+000087c0: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+000087d0: 6574 2028 536f 636b 2c20 5046 5f49 4e45 et (Sock, PF_INE\n+000087e0: 542c 2053 4f43 4b5f 5354 5245 414d 293b T, SOCK_STREAM);\n+000087f0: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n+00008800: 2050 6572 666f 726d 2073 6f6d 6520 6f70 Perform some op\n+00008810: 6572 6174 696f 6e73 206f 6e20 736f 636b erations on sock\n+00008820: 6574 0a20 2020 2020 2020 2020 2020 2020 et. \n+00008830: 5b2e 2e2e 5d0a 2020 2020 2020 2020 2020 [...]. \n+00008840: 2020 202d 2d20 5368 7574 646f 776e 2074 -- Shutdown t\n+00008850: 6865 2073 6f63 6b65 7420 696e 2062 6f74 he socket in bot\n+00008860: 6820 6469 7265 6374 696f 6e73 0a20 2020 h directions. \n+00008870: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n+00008880: 776e 2028 536f 636b 2c20 426f 7468 293b wn (Sock, Both);\n+00008890: 0a20 2020 2020 2020 2020 2065 6e64 3b0a . end;.\n+000088a0: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+000088b0: 6e6f 7465 2053 6875 7464 6f77 6e20 2870 note Shutdown (p\n+000088c0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+000088d0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+000088e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 556e .info, Node: Un\n+000088f0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00008900: 6564 7572 6529 2c20 2050 7265 763a 2053 edure), Prev: S\n+00008910: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00008920: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n+00008930: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n+00008940: 290a 0a55 6e73 6574 5f42 7566 6665 7220 )..Unset_Buffer \n+00008950: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00008960: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008970: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n+00008980: 2020 2044 6569 6e73 7461 6c6c 2074 6865 Deinstall the\n+00008990: 206c 696e 652d 6f72 6965 6e74 6564 2062 line-oriented b\n+000089a0: 7566 6665 7220 6f66 2074 6865 2073 6f63 uffer of the soc\n+000089b0: 6b65 7420 6f62 6a65 6374 0a50 524f 544f ket object.PROTO\n+000089c0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+000089d0: 636b 6574 732e 556e 7365 745f 4275 6666 ckets.Unset_Buff\n+000089e0: 6572 3a20 7072 6f63 6564 7572 6520 556e er: procedure Un\n+000089f0: 7365 745f 4275 6666 6572 0a20 2020 2020 set_Buffer. \n+00008a00: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE\n+00008a10: 5420 3a20 536f 636b 6574 5f46 4427 436c T : Socket_FD'Cl\n+00008a20: 6173 7329 3b0a 0a50 4152 414d 4554 4552 ass);..PARAMETER\n+00008a30: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00008a40: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00008a50: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00008a60: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00008a70: 6a65 6374 0a0a 4445 5343 5249 5054 494f ject..DESCRIPTIO\n+00008a80: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+00008a90: 6564 7572 6520 6465 696e 7374 616c 6c73 edure deinstalls\n+00008aa0: 2074 6865 2062 7566 6665 7220 7072 6576 the buffer prev\n+00008ab0: 696f 7573 6c79 2069 6e73 7461 6c6c 6564 iously installed\n+00008ac0: 2062 7920 2a6e 6f74 650a 2020 2020 2053 by *note. S\n+00008ad0: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00008ae0: 6475 7265 293a 3a2e 2020 4966 2061 6e79 dure)::. If any\n+00008af0: 2064 6174 6120 6973 2073 7469 6c6c 2070 data is still p\n+00008b00: 7265 7365 6e74 2069 6e20 7468 650a 2020 resent in the. \n+00008b10: 2020 2062 7566 6665 722c 2069 7420 7769 buffer, it wi\n+00008b20: 6c6c 2062 6520 6c6f 7374 2e20 2054 6f20 ll be lost. To \n+00008b30: 6176 6f69 6420 7468 6973 2073 6974 7561 avoid this situa\n+00008b40: 7469 6f6e 2c20 7468 6520 6275 6666 6572 tion, the buffer\n+00008b50: 2063 616e 0a20 2020 2020 6265 2066 6c75 can. be flu\n+00008b60: 7368 6564 2062 7920 6361 6c6c 696e 6720 shed by calling \n+00008b70: 2a6e 6f74 6520 4765 7420 2866 756e 6374 *note Get (funct\n+00008b80: 696f 6e29 3a3a 2e0a 0a1f 0a46 696c 653a ion)::.....File:\n+00008b90: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+00008ba0: 2c20 204e 6f64 653a 2053 6f63 6b65 7473 , Node: Sockets\n+00008bb0: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+00008bc0: 6765 2c20 204e 6578 743a 2053 6f63 6b65 ge, Next: Socke\n+00008bd0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+00008be0: 652c 2020 5072 6576 3a20 536f 636b 6574 e, Prev: Socket\n+00008bf0: 7320 7061 636b 6167 652c 2020 5570 3a20 s package, Up: \n+00008c00: 546f 700a 0a35 2053 6f63 6b65 7473 2e4d Top..5 Sockets.M\n+00008c10: 756c 7469 6361 7374 2070 6163 6b61 6765 ulticast package\n+00008c20: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n+00008c30: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th\n+00008c40: 6520 2753 6f63 6b65 7473 2e4d 756c 7469 e 'Sockets.Multi\n+00008c50: 6361 7374 2720 616c 6c6f 7773 2074 6865 cast' allows the\n+00008c60: 2063 7265 6174 696f 6e20 6f66 2049 5020 creation of IP \n+00008c70: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+00008c80: 732e 0a0a 202d 2d20 536f 636b 6574 732e s... -- Sockets.\n+00008c90: 4d75 6c74 6963 6173 742e 4d75 6c74 6963 Multicast.Multic\n+00008ca0: 6173 745f 536f 636b 6574 5f46 443a 2074 ast_Socket_FD: t\n+00008cb0: 7970 6520 4d75 6c74 6963 6173 745f 536f ype Multicast_So\n+00008cc0: 636b 6574 5f46 4420 6973 0a20 2020 2020 cket_FD is. \n+00008cd0: 2020 2020 206e 6577 2053 6f63 6b65 745f new Socket_\n+00008ce0: 4644 2077 6974 6820 7072 6976 6174 653b FD with private;\n+00008cf0: 0a20 2020 2020 5468 6520 274d 756c 7469 . The 'Multi\n+00008d00: 6361 7374 5f53 6f63 6b65 745f 4644 2720 cast_Socket_FD' \n+00008d10: 7461 6767 6564 2074 7970 6520 6465 7269 tagged type deri\n+00008d20: 7665 7320 6672 6f6d 2074 6865 2027 536f ves from the 'So\n+00008d30: 636b 6574 5f46 4427 0a20 2020 2020 7479 cket_FD'. ty\n+00008d40: 7065 2e20 2049 7420 6765 7473 2069 6e69 pe. It gets ini\n+00008d50: 7469 616c 697a 6564 2062 7920 6361 6c6c tialized by call\n+00008d60: 696e 6720 2a6e 6f74 6520 4372 6561 7465 ing *note Create\n+00008d70: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00008d80: 740a 2020 2020 2028 6675 6e63 7469 6f6e t. (function\n+00008d90: 293a 3a2e 2020 416e 2075 6e69 6e69 7469 )::. An uniniti\n+00008da0: 616c 697a 6564 2027 4d75 6c74 6963 6173 alized 'Multicas\n+00008db0: 745f 536f 636b 6574 5f46 4427 2063 616e t_Socket_FD' can\n+00008dc0: 2062 650a 2020 2020 2073 7563 6365 7366 be. succesf\n+00008dd0: 756c 6c79 2063 6f6d 7061 7265 6420 746f ully compared to\n+00008de0: 2027 4e75 6c6c 5f4d 756c 7469 6361 7374 'Null_Multicast\n+00008df0: 5f53 6f63 6b65 745f 4644 272e 0a0a 2a20 _Socket_FD'...* \n+00008e00: 4d65 6e75 3a0a 0a2a 2043 7265 6174 655f Menu:..* Create_\n+00008e10: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00008e20: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. \n+00008e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00008e40: 2020 2020 2020 4372 6561 7465 2061 6e20 Create an \n+00008e50: 4950 206d 756c 7469 6361 7374 2073 6f63 IP multicast soc\n+00008e60: 6b65 740a 2a20 4372 6561 7465 5f4d 756c ket.* Create_Mul\n+00008e70: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n+00008e80: 756e 6374 696f 6e29 3a3a 0a20 2020 2020 unction)::. \n+00008e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00008ea0: 2020 2043 7265 6174 6520 616e 2049 5020 Create an IP \n+00008eb0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+00008ec0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00008ed0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00008ee0: 3a20 4372 6561 7465 5f4d 756c 7469 6361 : Create_Multica\n+00008ef0: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+00008f00: 696f 6e29 2c20 204e 6578 743a 2043 7265 ion), Next: Cre\n+00008f10: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n+00008f20: 636b 6574 2028 6675 6e63 7469 6f6e 292c cket (function),\n+00008f30: 2020 5072 6576 3a20 4372 6561 7465 5f4d Prev: Create_M\n+00008f40: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+00008f50: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n+00008f60: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n+00008f70: 7374 2070 6163 6b61 6765 0a0a 4372 6561 st package..Crea\n+00008f80: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00008f90: 6b65 7420 2866 756e 6374 696f 6e29 0a3d ket (function).=\n+00008fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008fb0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008fc0: 3d0a 0a50 5552 504f 5345 0a20 2020 2020 =..PURPOSE. \n+00008fd0: 4372 6561 7465 2061 6e20 4950 206d 756c Create an IP mul\n+00008fe0: 7469 6361 7374 2073 6f63 6b65 740a 5052 ticast socket.PR\n+00008ff0: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00009000: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n+00009010: 7374 2e43 7265 6174 655f 4d75 6c74 6963 st.Create_Multic\n+00009020: 6173 745f 536f 636b 6574 3a20 6675 6e63 ast_Socket: func\n+00009030: 7469 6f6e 0a20 2020 2020 2020 2020 2020 tion. \n+00009040: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi\n+00009050: 6361 7374 5f53 6f63 6b65 7420 2847 524f cast_Socket (GRO\n+00009060: 5550 203a 2053 7472 696e 673b 2050 4f52 UP : String; POR\n+00009070: 5420 3a20 4e61 7475 7261 6c3b 0a20 2020 T : Natural;. \n+00009080: 2020 2020 2020 2020 2020 2020 5454 4c20 TTL \n+00009090: 3a20 506f 7369 7469 7665 203a 3d20 3136 : Positive := 16\n+000090a0: 3b20 5345 4c46 5f4c 4f4f 5020 3a20 426f ; SELF_LOOP : Bo\n+000090b0: 6f6c 6561 6e20 3a3d 2054 7275 653b 0a20 olean := True;. \n+000090c0: 2020 2020 2020 2020 2020 2020 2020 4c4f LO\n+000090d0: 4341 4c5f 4946 203a 2053 7472 696e 6720 CAL_IF : String \n+000090e0: 3a3d 2030 2e30 2e30 2e30 290a 2020 2020 := 0.0.0.0). \n+000090f0: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+00009100: 6e20 4d75 6c74 6963 6173 745f 536f 636b n Multicast_Sock\n+00009110: 6574 5f46 443b 0a0a 5041 5241 4d45 5445 et_FD;..PARAMETE\n+00009120: 5253 0a20 2020 2020 4752 4f55 5020 2020 RS. GROUP \n+00009130: 2020 2069 6e20 2020 2020 2020 2020 4950 in IP\n+00009140: 2061 6464 7265 7373 206f 6620 7468 6520 address of the \n+00009150: 6d75 6c74 6963 6173 7420 6772 6f75 7020 multicast group \n+00009160: 746f 0a20 2020 2020 2020 2020 2020 2020 to. \n+00009170: 2020 2020 2020 2020 2020 2020 2020 6a6f jo\n+00009180: 696e 0a20 2020 2020 504f 5254 2020 2020 in. PORT \n+00009190: 2020 2069 6e20 2020 2020 2020 2020 506f in Po\n+000091a0: 7274 206f 6620 7468 6520 6d75 6c74 6963 rt of the multic\n+000091b0: 6173 7420 6772 6f75 7020 746f 206a 6f69 ast group to joi\n+000091c0: 6e0a 2020 2020 2054 544c 2020 2020 2020 n. TTL \n+000091d0: 2020 696e 2020 2020 2020 2020 2054 696d in Tim\n+000091e0: 652d 746f 2d6c 6976 6520 6f66 2073 656e e-to-live of sen\n+000091f0: 7420 7061 636b 6574 730a 2020 2020 2053 t packets. S\n+00009200: 454c 465f 4c4f 4f50 2020 696e 2020 2020 ELF_LOOP in \n+00009210: 2020 2020 2053 686f 756c 6420 7468 6520 Should the \n+00009220: 736f 636b 6574 2072 6563 6569 7665 2074 socket receive t\n+00009230: 6865 2070 6163 6b65 7473 0a20 2020 2020 he packets. \n+00009240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009250: 2020 2020 2020 7365 6e74 2066 726f 6d20 sent from \n+00009260: 7468 6520 6c6f 6361 6c20 686f 7374 3f0a the local host?.\n+00009270: 2020 2020 204c 4f43 414c 5f49 4620 2020 LOCAL_IF \n+00009280: 696e 2020 2020 2020 2020 2041 6464 7265 in Addre\n+00009290: 7373 206f 6620 7468 6520 6c6f 6361 6c20 ss of the local \n+000092a0: 696e 7465 7266 6163 6520 746f 2075 7365 interface to use\n+000092b0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+000092c0: 2020 2020 5468 6520 6e65 7720 696e 6974 The new init\n+000092d0: 6961 6c69 7a65 6420 6d75 6c74 6963 6173 ialized multicas\n+000092e0: 7420 736f 636b 6574 0a0a 4445 5343 5249 t socket..DESCRI\n+000092f0: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+00009300: 6675 6e63 7469 6f6e 2063 7265 6174 6573 function creates\n+00009310: 2061 6e20 4950 206d 756c 7469 6361 7374 an IP multicast\n+00009320: 2073 6f63 6b65 7420 6174 7461 6368 6564 socket attached\n+00009330: 2074 6f20 6120 6769 7665 6e0a 2020 2020 to a given. \n+00009340: 2067 726f 7570 2c20 6964 656e 7469 6669 group, identifi\n+00009350: 6564 2062 7920 6974 7320 636c 6173 7320 ed by its class \n+00009360: 4520 4950 2061 6464 7265 7373 2061 6e64 E IP address and\n+00009370: 2070 6f72 742e 0a0a 2020 2020 2042 6520 port... Be \n+00009380: 6361 7265 6675 6c20 7768 656e 2063 686f careful when cho\n+00009390: 6f73 696e 6720 7468 6520 5454 4c20 7061 osing the TTL pa\n+000093a0: 7261 6d65 7465 7220 6f66 2079 6f75 7220 rameter of your \n+000093b0: 4950 206d 756c 7469 6361 7374 0a20 2020 IP multicast. \n+000093c0: 2020 736f 636b 6574 2e20 204d 6f73 7420 socket. Most \n+000093d0: 4950 206d 756c 7469 6361 7374 2072 6f75 IP multicast rou\n+000093e0: 7465 7273 2064 6f20 696d 706c 656d 656e ters do implemen\n+000093f0: 7420 7468 7265 7368 6f6c 642d 6261 7365 t threshold-base\n+00009400: 640a 2020 2020 2066 696c 7465 7269 6e67 d. filtering\n+00009410: 2061 6e64 2077 696c 6c20 6e6f 7420 6c65 and will not le\n+00009420: 7420 4950 206d 756c 7469 6361 7374 2070 t IP multicast p\n+00009430: 6163 6b65 7473 206c 6561 7665 2079 6f75 ackets leave you\n+00009440: 720a 2020 2020 206f 7267 616e 697a 6174 r. organizat\n+00009450: 696f 6e20 6966 2074 6865 2054 544c 206f ion if the TTL o\n+00009460: 6e20 7468 6520 6c61 7374 2072 6f75 7465 n the last route\n+00009470: 7220 6973 2073 6d61 6c6c 6572 2074 6861 r is smaller tha\n+00009480: 6e20 3136 2e0a 0a20 2020 2020 4966 2030 n 16... If 0\n+00009490: 2069 7320 6769 7665 6e20 666f 7220 7468 is given for th\n+000094a0: 6520 506f 7274 2c20 6120 6c6f 6361 6c20 e Port, a local \n+000094b0: 6f6e 6520 7769 6c6c 2062 6520 6368 6f73 one will be chos\n+000094c0: 656e 2e20 2049 7420 6361 6e0a 2020 2020 en. It can. \n+000094d0: 2074 6865 6e20 6c61 7465 7220 6265 2072 then later be r\n+000094e0: 6574 7269 6576 6564 2075 7369 6e67 2047 etrieved using G\n+000094f0: 6574 5f53 6f63 6b5f 506f 7274 2e0a 0a45 et_Sock_Port...E\n+00009500: 5841 4d50 4c45 0a20 2020 2020 2020 2020 XAMPLE. \n+00009510: 2064 6563 6c61 7265 0a20 2020 2020 2020 declare. \n+00009520: 2020 2020 2020 536f 636b 2020 2020 203a Sock :\n+00009530: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+00009540: 2020 2020 2020 2020 2049 6e63 6f6d 696e Incomin\n+00009550: 6720 3a20 536f 636b 6574 5f46 443b 0a20 g : Socket_FD;. \n+00009560: 2020 2020 2020 2020 2062 6567 696e 0a20 begin. \n+00009570: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n+00009580: 7265 6174 6520 6120 5443 5020 736f 636b reate a TCP sock\n+00009590: 6574 206c 6973 7465 6e69 6e67 206f 6e20 et listening on \n+000095a0: 6c6f 6361 6c20 706f 7274 2034 3136 310a local port 4161.\n+000095b0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+000095c0: 6b65 7420 2853 6f63 6b2c 2050 465f 494e ket (Sock, PF_IN\n+000095d0: 4554 2c20 534f 434b 5f53 5452 4541 4d29 ET, SOCK_STREAM)\n+000095e0: 3b0a 2020 2020 2020 2020 2020 2020 2042 ;. B\n+000095f0: 696e 6420 2853 6f63 6b2c 2034 3136 3129 ind (Sock, 4161)\n+00009600: 3b0a 2020 2020 2020 2020 2020 2020 204c ;. L\n+00009610: 6973 7465 6e20 2853 6f63 6b2c 2033 293b isten (Sock, 3);\n+00009620: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n+00009630: 204f 6e65 2d63 6f6e 6e65 6374 696f 6e2d One-connection-\n+00009640: 6174 2d61 2d74 696d 6520 7365 7276 6572 at-a-time server\n+00009650: 2028 3320 6d61 7920 6265 2070 656e 6469 (3 may be pendi\n+00009660: 6e67 290a 2020 2020 2020 2020 2020 2020 ng). \n+00009670: 206c 6f6f 700a 2020 2020 2020 2020 2020 loop. \n+00009680: 2020 2020 2020 2d2d 2057 6169 7420 666f -- Wait fo\n+00009690: 7220 6120 6e65 7720 636f 6e6e 6563 7469 r a new connecti\n+000096a0: 6f6e 2061 6e64 2061 6363 6570 7420 6974 on and accept it\n+000096b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000096c0: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+000096d0: 536f 636b 2c20 496e 636f 6d69 6e67 293b Sock, Incoming);\n+000096e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000096f0: 202d 2d20 446f 2073 6f6d 6520 6469 616c -- Do some dial\n+00009700: 6f67 2077 6974 6820 7468 6520 7265 6d6f og with the remo\n+00009710: 7465 2068 6f73 740a 2020 2020 2020 2020 te host. \n+00009720: 2020 2020 2020 2020 446f 5f53 6f6d 655f Do_Some_\n+00009730: 4469 616c 6f67 2028 496e 636f 6d69 6e67 Dialog (Incoming\n+00009740: 293b 0a20 2020 2020 2020 2020 2020 2020 );. \n+00009750: 2020 202d 2d20 436c 6f73 6520 696e 636f -- Close inco\n+00009760: 6d69 6e67 2073 6f63 6b65 7420 616e 6420 ming socket and \n+00009770: 7761 6974 2066 6f72 206e 6578 7420 636f wait for next co\n+00009780: 6e6e 6563 7469 6f6e 0a20 2020 2020 2020 nnection. \n+00009790: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow\n+000097a0: 6e20 2849 6e63 6f6d 696e 6729 3b0a 2020 n (Incoming);. \n+000097b0: 2020 2020 2020 2020 2020 2065 6e64 206c end l\n+000097c0: 6f6f 703b 0a20 2020 2020 2020 2020 2065 oop;. e\n+000097d0: 6e64 3b0a 0a53 4545 2041 4c53 4f0a 2020 nd;..SEE ALSO. \n+000097e0: 2020 202a 6e6f 7465 2053 656e 6420 2870 *note Send (p\n+000097f0: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00009800: 2020 2a6e 6f74 6520 5368 7574 646f 776e *note Shutdown\n+00009810: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n+00009820: 0a2a 204d 656e 753a 0a0a 2a20 3a3a 0a0a .* Menu:..* ::..\n+00009830: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00009840: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00009850: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+00009860: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00009870: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+00009880: 2020 2020 4372 6561 7465 2061 6e20 4950 Create an IP\n+00009890: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n+000098a0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+000098b0: 2020 2d2d 2053 6f63 6b65 7473 2e4d 756c -- Sockets.Mul\n+000098c0: 7469 6361 7374 2e43 7265 6174 655f 4d75 ticast.Create_Mu\n+000098d0: 6c74 6963 6173 745f 536f 636b 6574 3a20 lticast_Socket: \n+000098e0: 6675 6e63 7469 6f6e 0a20 2020 2020 2020 function. \n+000098f0: 2020 2020 2020 2020 4372 6561 7465 5f4d Create_M\n+00009900: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+00009910: 2847 524f 5550 203a 2053 7472 696e 673b (GROUP : String;\n+00009920: 2050 4f52 5420 3a20 506f 7369 7469 7665 PORT : Positive\n+00009930: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00009940: 204c 4f43 414c 5f50 4f52 5420 3a20 4e61 LOCAL_PORT : Na\n+00009950: 7475 7261 6c3b 2054 544c 203a 2050 6f73 tural; TTL : Pos\n+00009960: 6974 6976 6520 3a3d 2031 363b 0a20 2020 itive := 16;. \n+00009970: 2020 2020 2020 2020 2020 2020 4c4f 4341 LOCA\n+00009980: 4c5f 4946 203a 2053 7472 696e 6720 3a3d L_IF : String :=\n+00009990: 2030 2e30 2e30 2e30 290a 2020 2020 2020 0.0.0.0). \n+000099a0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+000099b0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+000099c0: 5f46 443b 0a0a 5041 5241 4d45 5445 5253 _FD;..PARAMETERS\n+000099d0: 0a20 2020 2020 4752 4f55 5020 2020 2020 . GROUP \n+000099e0: 2069 6e20 2020 2020 2020 2020 4950 2061 in IP a\n+000099f0: 6464 7265 7373 206f 6620 7468 6520 6d75 ddress of the mu\n+00009a00: 6c74 6963 6173 7420 6772 6f75 7020 746f lticast group to\n+00009a10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009a20: 2020 2020 2020 2020 2020 2020 6a6f 696e join\n+00009a30: 0a20 2020 2020 504f 5254 2020 2020 2020 . PORT \n+00009a40: 2069 6e20 2020 2020 2020 2020 506f 7274 in Port\n+00009a50: 206f 6620 7468 6520 6d75 6c74 6963 6173 of the multicas\n+00009a60: 7420 6772 6f75 7020 746f 206a 6f69 6e0a t group to join.\n+00009a70: 2020 2020 204c 4f43 414c 5f50 4f52 5420 LOCAL_PORT \n+00009a80: 696e 2020 2020 2020 2020 204c 6f63 616c in Local\n+00009a90: 2070 6f72 7420 6e75 6d62 6572 2074 6f20 port number to \n+00009aa0: 7573 650a 2020 2020 2054 544c 2020 2020 use. TTL \n+00009ab0: 2020 2020 696e 2020 2020 2020 2020 2054 in T\n+00009ac0: 696d 652d 746f 2d6c 6976 6520 6f66 2073 ime-to-live of s\n+00009ad0: 656e 7420 7061 636b 6574 730a 2020 2020 ent packets. \n+00009ae0: 204c 4f43 414c 5f49 4620 2020 696e 2020 LOCAL_IF in \n+00009af0: 2020 2020 2020 2041 6464 7265 7373 206f Address o\n+00009b00: 6620 7468 6520 6c6f 6361 6c20 696e 7465 f the local inte\n+00009b10: 7266 6163 6520 746f 2075 7365 0a0a 5245 rface to use..RE\n+00009b20: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+00009b30: 5468 6520 6e65 7720 696e 6974 6961 6c69 The new initiali\n+00009b40: 7a65 6420 6d75 6c74 6963 6173 7420 736f zed multicast so\n+00009b50: 636b 6574 0a0a 4445 5343 5249 5054 494f cket..DESCRIPTIO\n+00009b60: 4e0a 2020 2020 2054 6869 7320 6675 6e63 N. This func\n+00009b70: 7469 6f6e 2063 7265 6174 6573 2061 6e20 tion creates an \n+00009b80: 4950 206d 756c 7469 6361 7374 2073 6f63 IP multicast soc\n+00009b90: 6b65 7420 6174 7461 6368 6564 2074 6f20 ket attached to \n+00009ba0: 6120 6769 7665 6e0a 2020 2020 2067 726f a given. gro\n+00009bb0: 7570 2c20 6964 656e 7469 6669 6564 2062 up, identified b\n+00009bc0: 7920 6974 7320 636c 6173 7320 4520 4950 y its class E IP\n+00009bd0: 2061 6464 7265 7373 2061 6e64 2070 6f72 address and por\n+00009be0: 742e 2020 4966 0a20 2020 2020 4c6f 6361 t. If. Loca\n+00009bf0: 6c5f 506f 7274 2069 7320 302c 2061 2066 l_Port is 0, a f\n+00009c00: 7265 6520 706f 7274 2077 696c 6c20 6175 ree port will au\n+00009c10: 746f 6d61 7469 6361 6c6c 7920 6265 2063 tomatically be c\n+00009c20: 686f 7365 6e20 6279 2079 6f75 720a 2020 hosen by your. \n+00009c30: 2020 206f 7065 7261 7469 6e67 2073 7973 operating sys\n+00009c40: 7465 6d2e 0a0a 2020 2020 2054 6869 7320 tem... This \n+00009c50: 6675 6e63 7469 6f6e 2073 686f 756c 6420 function should \n+00009c60: 6265 2075 7365 6420 7768 656e 2079 6f75 be used when you\n+00009c70: 2077 616e 7420 746f 2073 656e 6420 7061 want to send pa\n+00009c80: 636b 6574 7320 746f 2061 0a20 2020 2020 ckets to a. \n+00009c90: 6d75 6c74 6963 6173 7420 6772 6f75 7020 multicast group \n+00009ca0: 7769 7468 6f75 7420 7265 6365 6976 696e without receivin\n+00009cb0: 6720 616e 7920 7061 636b 6574 2079 6f75 g any packet you\n+00009cc0: 7273 656c 662e 0a0a 4558 414d 504c 450a rself...EXAMPLE.\n+00009cd0: 2020 2020 2020 2020 2020 6465 636c 6172 declar\n+00009ce0: 650a 2020 2020 2020 2020 2020 2020 2053 e. S\n+00009cf0: 6f63 6b20 3a20 536f 636b 6574 5f46 443b ock : Socket_FD;\n+00009d00: 0a20 2020 2020 2020 2020 2062 6567 696e . begin\n+00009d10: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n+00009d20: 2043 7265 6174 6520 6120 5443 5020 736f Create a TCP so\n+00009d30: 636b 6574 0a20 2020 2020 2020 2020 2020 cket. \n+00009d40: 2020 536f 636b 6574 2028 536f 636b 2c20 Socket (Sock, \n+00009d50: 5046 5f49 4e45 542c 2053 4f43 4b5f 5354 PF_INET, SOCK_ST\n+00009d60: 5245 414d 293b 0a20 2020 2020 2020 2020 REAM);. \n+00009d70: 2020 2020 2d2d 2043 6f6e 6e65 6374 2069 -- Connect i\n+00009d80: 7420 746f 2072 6663 3131 3439 2e6e 6574 t to rfc1149.net\n+00009d90: 2773 206d 6169 6c20 7365 7276 6572 0a20 's mail server. \n+00009da0: 2020 2020 2020 2020 2020 2020 436f 6e6e Conn\n+00009db0: 6563 7420 2853 6f63 6b2c 2022 6d61 696c ect (Sock, \"mail\n+00009dc0: 2e72 6663 3131 3439 2e6e 6574 222c 2032 .rfc1149.net\", 2\n+00009dd0: 3529 3b0a 2020 2020 2020 2020 2020 2020 5);. \n+00009de0: 202d 2d20 446f 2061 206d 6169 6c20 7472 -- Do a mail tr\n+00009df0: 616e 7361 6374 696f 6e20 7468 656e 2063 ansaction then c\n+00009e00: 6c6f 7365 2074 6865 2073 6f63 6b65 740a lose the socket.\n+00009e10: 2020 2020 2020 2020 2020 2020 205b 2e2e [..\n+00009e20: 2e5d 0a20 2020 2020 2020 2020 2065 6e64 .]. end\n+00009e30: 3b0a 0a53 4545 2041 4c53 4f0a 2020 2020 ;..SEE ALSO. \n+00009e40: 202a 6e6f 7465 2053 656e 6420 2870 726f *note Send (pro\n+00009e50: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+00009e60: 2a6e 6f74 6520 5368 7574 646f 776e 2028 *note Shutdown (\n+00009e70: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00009e80: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00009e90: 732e 696e 666f 2c20 204e 6f64 653a 2053 s.info, Node: S\n+00009ea0: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n+00009eb0: 636b 6167 652c 2020 4e65 7874 3a20 436f ckage, Next: Co\n+00009ec0: 6e74 7269 6275 746f 7273 2c20 2050 7265 ntributors, Pre\n+00009ed0: 763a 2053 6f63 6b65 7473 2e4d 756c 7469 v: Sockets.Multi\n+00009ee0: 6361 7374 2070 6163 6b61 6765 2c20 2055 cast package, U\n+00009ef0: 703a 2054 6f70 0a0a 3620 536f 636b 6574 p: Top..6 Socket\n+00009f00: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+00009f10: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n+00009f20: 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 2027 *********..The '\n+00009f30: 536f 636b 6574 732e 4e61 6d69 6e67 2720 Sockets.Naming' \n+00009f40: 7061 636b 6167 6520 636f 6e74 6169 6e73 package contains\n+00009f50: 2074 7970 6573 2061 6e64 2068 656c 7065 types and helpe\n+00009f60: 7220 6675 6e63 7469 6f6e 7320 6e65 6564 r functions need\n+00009f70: 6564 0a74 6f20 6d61 6e69 7075 6c61 7465 ed.to manipulate\n+00009f80: 2049 6e74 6572 6e65 7420 686f 7374 206e Internet host n\n+00009f90: 616d 6573 2061 6e64 2061 6464 7265 7373 ames and address\n+00009fa0: 6573 2e0a 0a20 2d2d 2053 6f63 6b65 7473 es... -- Sockets\n+00009fb0: 2e4e 616d 696e 672e 4164 6472 6573 733a .Naming.Address:\n+00009fc0: 2074 7970 6520 4164 6472 6573 7320 6973 type Address is\n+00009fd0: 2072 6563 6f72 640a 2020 2020 2020 2020 record. \n+00009fe0: 2020 2020 4831 2c20 4832 2c20 4833 2c20 H1, H2, H3, \n+00009ff0: 4834 203a 2041 6464 7265 7373 5f43 6f6d H4 : Address_Com\n+0000a000: 706f 6e65 6e74 3b0a 2020 2020 2020 2020 ponent;. \n+0000a010: 2020 656e 6420 7265 636f 7264 3b0a 2020 end record;. \n+0000a020: 2020 2054 6869 7320 7479 7065 2072 6570 This type rep\n+0000a030: 7265 7365 6e74 7320 616e 2049 5076 3420 resents an IPv4 \n+0000a040: 6164 6472 6573 7320 7769 7468 2027 4831 address with 'H1\n+0000a050: 2720 6265 696e 6720 7468 6520 6669 7273 ' being the firs\n+0000a060: 740a 2020 2020 206f 6374 6574 2061 6e64 t. octet and\n+0000a070: 2027 4834 2720 7468 6520 6c61 7374 206f 'H4' the last o\n+0000a080: 6e65 2e20 2046 6f72 2065 7861 6d70 6c65 ne. For example\n+0000a090: 2c20 3133 372e 3139 342e 3136 312e 3220 , 137.194.161.2 \n+0000a0a0: 6973 0a20 2020 2020 7265 7072 6573 656e is. represen\n+0000a0b0: 7465 6420 6279 2027 4831 3d31 3337 2c20 ted by 'H1=137, \n+0000a0c0: 4832 3d31 3934 2c20 4833 3d31 3631 2c20 H2=194, H3=161, \n+0000a0d0: 4834 3d32 272e 0a0a 202d 2d20 536f 636b H4=2'... -- Sock\n+0000a0e0: 6574 732e 4e61 6d69 6e67 2e41 6464 7265 ets.Naming.Addre\n+0000a0f0: 7373 5f41 7272 6179 3a20 7479 7065 2041 ss_Array: type A\n+0000a100: 6464 7265 7373 5f41 7272 6179 2069 7320 ddress_Array is \n+0000a110: 6172 7261 7920 2850 6f73 6974 6976 650a array (Positive.\n+0000a120: 2020 2020 2020 2020 2020 7261 6e67 6520 range \n+0000a130: 3c3e 2920 6f66 2041 6464 7265 7373 3b0a <>) of Address;.\n+0000a140: 2020 2020 2048 656c 7065 7220 7479 7065 Helper type\n+0000a150: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na\n+0000a160: 6d69 6e67 2e41 6464 7265 7373 5f43 6f6d ming.Address_Com\n+0000a170: 706f 6e65 6e74 3a20 7479 7065 2041 6464 ponent: type Add\n+0000a180: 7265 7373 5f43 6f6d 706f 6e65 6e74 2069 ress_Component i\n+0000a190: 7320 4e61 7475 7261 6c0a 2020 2020 2020 s Natural. \n+0000a1a0: 2020 2020 7261 6e67 6520 3020 2e2e 2032 range 0 .. 2\n+0000a1b0: 3535 3b0a 2020 2020 2048 656c 7065 7220 55;. Helper \n+0000a1c0: 7479 7065 0a0a 202d 2d20 536f 636b 6574 type.. -- Socket\n+0000a1d0: 732e 4e61 6d69 6e67 2e48 6f73 745f 456e s.Naming.Host_En\n+0000a1e0: 7472 793a 2074 7970 6520 486f 7374 5f45 try: type Host_E\n+0000a1f0: 6e74 7279 2028 4e5f 416c 6961 7365 732c ntry (N_Aliases,\n+0000a200: 204e 5f41 6464 7265 7373 6573 203a 0a20 N_Addresses :. \n+0000a210: 2020 2020 2020 2020 204e 6174 7572 616c Natural\n+0000a220: 2920 6973 206e 6577 2041 6461 2e46 696e ) is new Ada.Fin\n+0000a230: 616c 697a 6174 696f 6e2e 436f 6e74 726f alization.Contro\n+0000a240: 6c6c 6564 2077 6974 6820 7265 636f 7264 lled with record\n+0000a250: 0a20 2020 2020 2020 2020 2020 2020 4e61 . Na\n+0000a260: 6d65 203a 2053 7472 696e 675f 4163 6365 me : String_Acce\n+0000a270: 7373 3b0a 2020 2020 2020 2020 2020 2020 ss;. \n+0000a280: 2041 6c69 6173 6573 203a 2053 7472 696e Aliases : Strin\n+0000a290: 675f 4172 7261 7920 2831 202e 2e20 4e5f g_Array (1 .. N_\n+0000a2a0: 416c 6961 7365 7329 3b0a 2020 2020 2020 Aliases);. \n+0000a2b0: 2020 2020 2020 2041 6464 7265 7373 6573 Addresses\n+0000a2c0: 203a 2041 6464 7265 7373 5f41 7272 6179 : Address_Array\n+0000a2d0: 2028 3120 2e2e 204e 5f41 6464 7265 7373 (1 .. N_Address\n+0000a2e0: 6573 293b 0a20 2020 2020 2020 2020 2065 es);. e\n+0000a2f0: 6e64 2072 6563 6f72 643b 0a20 2020 2020 nd record;. \n+0000a300: 5468 6520 2748 6f73 745f 456e 7472 7927 The 'Host_Entry'\n+0000a310: 2074 7970 6520 686f 6c64 7320 6120 7365 type holds a se\n+0000a320: 7420 6f66 206e 616d 6573 2061 6e64 2049 t of names and I\n+0000a330: 5020 6164 6472 6573 7365 730a 2020 2020 P addresses. \n+0000a340: 2061 7373 6f63 6961 7465 6420 7769 7468 associated with\n+0000a350: 2061 2068 6f73 742e 2020 4561 6368 2068 a host. Each h\n+0000a360: 6f73 7420 6361 6e20 6861 7665 2073 6576 ost can have sev\n+0000a370: 6572 616c 2049 5020 6164 6472 6573 7320 eral IP address \n+0000a380: 6173 0a20 2020 2020 7765 6c6c 2061 7320 as. well as \n+0000a390: 7365 7665 7261 6c20 616c 6961 7365 732e several aliases.\n+0000a3a0: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na\n+0000a3b0: 6d69 6e67 2e53 7472 696e 675f 4163 6365 ming.String_Acce\n+0000a3c0: 7373 3a20 7479 7065 2053 7472 696e 675f ss: type String_\n+0000a3d0: 4163 6365 7373 2069 7320 6163 6365 7373 Access is access\n+0000a3e0: 2053 7472 696e 673b 0a20 2020 2020 4865 String;. He\n+0000a3f0: 6c70 6572 2074 7970 650a 0a20 2d2d 2053 lper type.. -- S\n+0000a400: 6f63 6b65 7473 2e4e 616d 696e 672e 5374 ockets.Naming.St\n+0000a410: 7269 6e67 5f41 7272 6179 3a20 7479 7065 ring_Array: type\n+0000a420: 2053 7472 696e 675f 4172 7261 7920 6973 String_Array is\n+0000a430: 2061 7272 6179 2028 506f 7369 7469 7665 array (Positive\n+0000a440: 0a20 2020 2020 2020 2020 2072 616e 6765 . range\n+0000a450: 203c 3e29 206f 6620 5374 7269 6e67 5f41 <>) of String_A\n+0000a460: 6363 6573 733b 0a20 2020 2020 4865 6c70 ccess;. Help\n+0000a470: 6572 2074 7970 650a 0a2a 204d 656e 753a er type..* Menu:\n+0000a480: 0a0a 2a20 4164 6472 6573 735f 4f66 2028 ..* Address_Of (\n+0000a490: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a4b0: 2020 2020 4765 7420 7468 6520 4950 2061 Get the IP a\n+0000a4c0: 6464 7265 7373 206f 6620 6120 686f 7374 ddress of a host\n+0000a4d0: 0a2a 2041 6e79 5f41 6464 7265 7373 2028 .* Any_Address (\n+0000a4e0: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a500: 2020 2020 5370 6563 6961 6c20 6164 6472 Special addr\n+0000a510: 6573 7320 7265 7072 6573 656e 7469 6e67 ess representing\n+0000a520: 2061 6e79 2061 6464 7265 7373 206f 6e20 any address on \n+0000a530: 7468 6520 6c6f 6361 6c20 686f 7374 0a2a the local host.*\n+0000a540: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n+0000a550: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a570: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP \n+0000a580: 6164 6472 6573 7320 6f66 2072 656d 6f74 address of remot\n+0000a590: 6520 686f 7374 0a2a 2047 6574 5f50 6565 e host.* Get_Pee\n+0000a5a0: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n+0000a5b0: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a5c0: 2020 2020 2020 2020 2020 2020 5265 7472 Retr\n+0000a5d0: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b\n+0000a5e0: 7920 7265 6d6f 7465 2068 6f73 740a 2a20 y remote host.* \n+0000a5f0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+0000a600: 756e 6374 696f 6e29 3a3a 0a20 2020 2020 unction)::. \n+0000a610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a620: 2020 2052 6574 7269 6576 6520 4950 2061 Retrieve IP a\n+0000a630: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local \n+0000a640: 686f 7374 0a2a 2047 6574 5f53 6f63 6b5f host.* Get_Sock_\n+0000a650: 506f 7274 2028 6675 6e63 7469 6f6e 293a Port (function):\n+0000a660: 3a0a 2020 2020 2020 2020 2020 2020 2020 :. \n+0000a670: 2020 2020 2020 2020 2020 5265 7472 6965 Retrie\n+0000a680: 7665 2070 6f72 7420 7573 6564 2062 7920 ve port used by \n+0000a690: 6c6f 6361 6c20 686f 7374 0a2a 2048 6f73 local host.* Hos\n+0000a6a0: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function\n+0000a6b0: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. \n+0000a6c0: 2020 2020 2020 2020 2020 2020 4765 7420 Get \n+0000a6d0: 7468 6520 6e61 6d65 206f 6620 7468 6520 the name of the \n+0000a6e0: 6375 7272 656e 7420 686f 7374 0a2a 2049 current host.* I\n+0000a6f0: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n+0000a700: 3a20 2020 204d 616b 6520 6120 7374 7269 : Make a stri\n+0000a710: 6e67 2066 726f 6d20 616e 2061 6464 7265 ng from an addre\n+0000a720: 7373 0a2a 2049 6e66 6f5f 4f66 5f4e 616d ss.* Info_Of_Nam\n+0000a730: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000a740: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. \n+0000a750: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000a760: 2061 6464 7265 7373 6573 2061 6e64 206e addresses and n\n+0000a770: 616d 6573 206f 6620 6120 686f 7374 0a2a ames of a host.*\n+0000a780: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n+0000a790: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n+0000a7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a7b0: 2020 2020 4368 6563 6b20 6966 2067 6976 Check if giv\n+0000a7c0: 656e 2073 7472 696e 6720 6973 2061 2076 en string is a v\n+0000a7d0: 616c 6964 2049 5020 6164 6472 6573 730a alid IP address.\n+0000a7e0: 2a20 4e61 6d65 5f4f 6620 2866 756e 6374 * Name_Of (funct\n+0000a7f0: 696f 6e29 3a3a 2020 4f66 6669 6369 616c ion):: Official\n+0000a800: 206e 616d 6520 6f66 2074 6865 2068 6f73 name of the hos\n+0000a810: 740a 2a20 5661 6c75 6520 2866 756e 6374 t.* Value (funct\n+0000a820: 696f 6e29 3a3a 2020 2020 5472 616e 7366 ion):: Transf\n+0000a830: 6f72 6d20 6120 7374 7269 6e67 2069 6e74 orm a string int\n+0000a840: 6f20 616e 2061 6464 7265 7373 0a0a 1f0a o an address....\n+0000a850: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000a860: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4164 .info, Node: Ad\n+0000a870: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000a880: 6f6e 292c 2020 4e65 7874 3a20 416e 795f on), Next: Any_\n+0000a890: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+0000a8a0: 6e29 2c20 2055 703a 2053 6f63 6b65 7473 n), Up: Sockets\n+0000a8b0: 2e4e 616d 696e 6720 7061 636b 6167 650a .Naming package.\n+0000a8c0: 0a41 6464 7265 7373 5f4f 6620 2866 756e .Address_Of (fun\n+0000a8d0: 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d ction).=========\n+0000a8e0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5055 ============..PU\n+0000a8f0: 5250 4f53 450a 2020 2020 2047 6574 2074 RPOSE. Get t\n+0000a900: 6865 2049 5020 6164 6472 6573 7320 6f66 he IP address of\n+0000a910: 2061 2068 6f73 740a 5052 4f54 4f54 5950 a host.PROTOTYP\n+0000a920: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+0000a930: 7473 2e4e 616d 696e 672e 4164 6472 6573 ts.Naming.Addres\n+0000a940: 735f 4f66 3a20 6675 6e63 7469 6f6e 2041 s_Of: function A\n+0000a950: 6464 7265 7373 5f4f 660a 2020 2020 2020 ddress_Of. \n+0000a960: 2020 2020 2020 2020 2028 534f 4d45 5448 (SOMETH\n+0000a970: 494e 4720 3a20 5374 7269 6e67 290a 2020 ING : String). \n+0000a980: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000a990: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA\n+0000a9a0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+0000a9b0: 4d45 5448 494e 4720 2069 6e20 2020 2020 METHING in \n+0000a9c0: 2020 2020 486f 7374 206e 616d 6520 6f72 Host name or\n+0000a9d0: 2049 5020 6164 6472 6573 730a 0a52 4554 IP address..RET\n+0000a9e0: 5552 4e20 5641 4c55 450a 2020 2020 2049 URN VALUE. I\n+0000a9f0: 5076 3420 6164 6472 6573 730a 0a45 5843 Pv4 address..EXC\n+0000aa00: 4550 5449 4f4e 530a 2020 2020 2027 4e61 EPTIONS. 'Na\n+0000aa10: 6d69 6e67 5f45 7272 6f72 2720 2020 2020 ming_Error' \n+0000aa20: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061 No information a\n+0000aa30: 7661 696c 6162 6c65 2066 6f72 2074 6869 vailable for thi\n+0000aa40: 7320 6e61 6d65 206f 720a 2020 2020 2020 s name or. \n+0000aa50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000aa60: 2020 6164 6472 6573 730a 0a53 4545 2041 address..SEE A\n+0000aa70: 4c53 4f0a 2020 2020 202a 6e6f 7465 204e LSO. *note N\n+0000aa80: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function\n+0000aa90: 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a 0a2a )::...* Menu:..*\n+0000aaa0: 2041 6e79 5f41 6464 7265 7373 2028 6675 Any_Address (fu\n+0000aab0: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n+0000aac0: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000aad0: 696f 6e29 3a3a 0a2a 2047 6574 5f50 6565 ion)::.* Get_Pee\n+0000aae0: 725f 506f 7274 2028 6675 6e63 7469 6f6e r_Port (function\n+0000aaf0: 293a 3a0a 2a20 4765 745f 536f 636b 5f41 )::.* Get_Sock_A\n+0000ab00: 6464 7220 2866 756e 6374 696f 6e29 3a3a ddr (function)::\n+0000ab10: 0a2a 2047 6574 5f53 6f63 6b5f 506f 7274 .* Get_Sock_Port\n+0000ab20: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+0000ab30: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n+0000ab40: 696f 6e29 3a3a 0a2a 2049 6d61 6765 2028 ion)::.* Image (\n+0000ab50: 6675 6e63 7469 6f6e 293a 3a0a 2a20 496e function)::.* In\n+0000ab60: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n+0000ab70: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* \n+0000ab80: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f\n+0000ab90: 756e 6374 696f 6e29 3a3a 0a2a 204e 616d unction)::.* Nam\n+0000aba0: 655f 4f66 2028 6675 6e63 7469 6f6e 293a e_Of (function):\n+0000abb0: 3a0a 2a20 5661 6c75 6520 2866 756e 6374 :.* Value (funct\n+0000abc0: 696f 6e29 3a3a 0a0a 1f0a 4669 6c65 3a20 ion)::....File: \n+0000abd0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000abe0: 2020 4e6f 6465 3a20 416e 795f 4164 6472 Node: Any_Addr\n+0000abf0: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n+0000ac00: 204e 6578 743a 2047 6574 5f50 6565 725f Next: Get_Peer_\n+0000ac10: 4164 6472 2028 6675 6e63 7469 6f6e 292c Addr (function),\n+0000ac20: 2020 5072 6576 3a20 4164 6472 6573 735f Prev: Address_\n+0000ac30: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), \n+0000ac40: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of (\n+0000ac50: 6675 6e63 7469 6f6e 290a 0a41 6e79 5f41 function)..Any_A\n+0000ac60: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function\n+0000ac70: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+0000ac80: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+0000ac90: 450a 2020 2020 2053 7065 6369 616c 2061 E. Special a\n+0000aca0: 6464 7265 7373 2072 6570 7265 7365 6e74 ddress represent\n+0000acb0: 696e 6720 616e 7920 6164 6472 6573 7320 ing any address \n+0000acc0: 6f6e 2074 6865 206c 6f63 616c 2068 6f73 on the local hos\n+0000acd0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000ace0: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000acf0: 696e 672e 416e 795f 4164 6472 6573 733a ing.Any_Address:\n+0000ad00: 2066 756e 6374 696f 6e20 416e 795f 4164 function Any_Ad\n+0000ad10: 6472 6573 730a 0a52 4554 5552 4e20 5641 dress..RETURN VA\n+0000ad20: 4c55 450a 2020 2020 2045 7175 6976 616c LUE. Equival\n+0000ad30: 656e 7420 746f 2027 494e 4144 4452 5f41 ent to 'INADDR_A\n+0000ad40: 4e59 2720 696e 2074 6865 2043 2070 726f NY' in the C pro\n+0000ad50: 6772 616d 6d69 6e67 206c 616e 6775 6167 gramming languag\n+0000ad60: 650a 0a1f 0a46 696c 653a 2061 6461 736f e....File: adaso\n+0000ad70: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+0000ad80: 653a 2047 6574 5f50 6565 725f 4164 6472 e: Get_Peer_Addr\n+0000ad90: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+0000ada0: 7874 3a20 4765 745f 5065 6572 5f50 6f72 xt: Get_Peer_Por\n+0000adb0: 7420 2866 756e 6374 696f 6e29 2c20 2050 t (function), P\n+0000adc0: 7265 763a 2041 6e79 5f41 6464 7265 7373 rev: Any_Address\n+0000add0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+0000ade0: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+0000adf0: 6e63 7469 6f6e 290a 0a47 6574 5f50 6565 nction)..Get_Pee\n+0000ae00: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function\n+0000ae10: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+0000ae20: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+0000ae30: 4f53 450a 2020 2020 2052 6574 7269 6576 OSE. Retriev\n+0000ae40: 6520 4950 2061 6464 7265 7373 206f 6620 e IP address of \n+0000ae50: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n+0000ae60: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+0000ae70: 6f63 6b65 7473 2e4e 616d 696e 672e 4765 ockets.Naming.Ge\n+0000ae80: 745f 5065 6572 5f41 6464 723a 2066 756e t_Peer_Addr: fun\n+0000ae90: 6374 696f 6e20 4765 745f 5065 6572 5f41 ction Get_Peer_A\n+0000aea0: 6464 720a 2020 2020 2020 2020 2020 2020 ddr. \n+0000aeb0: 2020 2028 534f 434b 4554 203a 2053 6f63 (SOCKET : Soc\n+0000aec0: 6b65 745f 4644 290a 2020 2020 2020 2020 ket_FD). \n+0000aed0: 2020 2020 2020 2072 6574 7572 6e20 4164 return Ad\n+0000aee0: 6472 6573 733b 0a0a 5041 5241 4d45 5445 dress;..PARAMETE\n+0000aef0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+0000af00: 2020 2069 6e20 2020 2020 2020 2020 436f in Co\n+0000af10: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+0000af20: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n+0000af30: 4c55 450a 2020 2020 2050 6565 7220 6164 LUE. Peer ad\n+0000af40: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO.\n+0000af50: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000af60: 6565 725f 506f 7274 2028 6675 6e63 7469 eer_Port (functi\n+0000af70: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n+0000af80: 6520 4765 745f 536f 636b 5f41 6464 7220 e Get_Sock_Addr \n+0000af90: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n+0000afa0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000afb0: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n+0000afc0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000afd0: 6e63 7469 6f6e 292c 2020 4e65 7874 3a20 nction), Next: \n+0000afe0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+0000aff0: 756e 6374 696f 6e29 2c20 2050 7265 763a unction), Prev:\n+0000b000: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr (\n+0000b010: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n+0000b020: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+0000b030: 7469 6f6e 290a 0a47 6574 5f50 6565 725f tion)..Get_Peer_\n+0000b040: 506f 7274 2028 6675 6e63 7469 6f6e 290a Port (function).\n+0000b050: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b060: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+0000b070: 450a 2020 2020 2052 6574 7269 6576 6520 E. Retrieve \n+0000b080: 706f 7274 2075 7365 6420 6279 2072 656d port used by rem\n+0000b090: 6f74 6520 686f 7374 0a50 524f 544f 5459 ote host.PROTOTY\n+0000b0a0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+0000b0b0: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P\n+0000b0c0: 6565 725f 506f 7274 3a20 6675 6e63 7469 eer_Port: functi\n+0000b0d0: 6f6e 2047 6574 5f50 6565 725f 506f 7274 on Get_Peer_Port\n+0000b0e0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000b0f0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+0000b100: 5f46 4429 0a20 2020 2020 2020 2020 2020 _FD). \n+0000b110: 2020 2020 7265 7475 726e 2050 6f73 6974 return Posit\n+0000b120: 6976 653b 0a0a 5041 5241 4d45 5445 5253 ive;..PARAMETERS\n+0000b130: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+0000b140: 2069 6e20 2020 2020 2020 2020 436f 6e6e in Conn\n+0000b150: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+0000b160: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n+0000b170: 450a 2020 2020 2050 6f72 7420 7573 6564 E. Port used\n+0000b180: 206f 6e20 7468 6520 7265 6d6f 7465 2068 on the remote h\n+0000b190: 6f73 740a 0a53 4545 2041 4c53 4f0a 2020 ost..SEE ALSO. \n+0000b1a0: 2020 202a 6e6f 7465 2047 6574 5f53 6f63 *note Get_Soc\n+0000b1b0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000b1c0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+0000b1d0: 4765 745f 5065 6572 5f41 6464 7220 2866 Get_Peer_Addr (f\n+0000b1e0: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n+0000b1f0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000b200: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n+0000b210: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000b220: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge\n+0000b230: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n+0000b240: 6374 696f 6e29 2c20 2050 7265 763a 2047 ction), Prev: G\n+0000b250: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000b260: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000b270: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000b280: 6f6e 290a 0a47 6574 5f53 6f63 6b5f 4164 on)..Get_Sock_Ad\n+0000b290: 6472 2028 6675 6e63 7469 6f6e 290a 2d2d dr (function).--\n+0000b2a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b2b0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+0000b2c0: 2020 2020 2052 6574 7269 6576 6520 4950 Retrieve IP\n+0000b2d0: 2061 6464 7265 7373 206f 6620 6c6f 6361 address of loca\n+0000b2e0: 6c20 686f 7374 0a50 524f 544f 5459 5045 l host.PROTOTYPE\n+0000b2f0: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+0000b300: 732e 4e61 6d69 6e67 2e47 6574 5f53 6f63 s.Naming.Get_Soc\n+0000b310: 6b5f 4164 6472 3a20 6675 6e63 7469 6f6e k_Addr: function\n+0000b320: 2047 6574 5f53 6f63 6b5f 4164 6472 0a20 Get_Sock_Addr. \n+0000b330: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n+0000b340: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+0000b350: 4429 0a20 2020 2020 2020 2020 2020 2020 D). \n+0000b360: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n+0000b370: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+0000b380: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+0000b390: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+0000b3a0: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+0000b3b0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000b3c0: 2020 2020 4164 6472 6573 7320 6f66 206c Address of l\n+0000b3d0: 6f63 616c 2069 6e74 6572 6661 6365 2075 ocal interface u\n+0000b3e0: 7365 640a 0a53 4545 2041 4c53 4f0a 2020 sed..SEE ALSO. \n+0000b3f0: 2020 202a 6e6f 7465 2047 6574 5f53 6f63 *note Get_Soc\n+0000b400: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000b410: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+0000b420: 4765 745f 5065 6572 5f41 6464 7220 2866 Get_Peer_Addr (f\n+0000b430: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F\n+0000b440: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+0000b450: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n+0000b460: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func\n+0000b470: 7469 6f6e 292c 2020 4e65 7874 3a20 486f tion), Next: Ho\n+0000b480: 7374 5f4e 616d 6520 2866 756e 6374 696f st_Name (functio\n+0000b490: 6e29 2c20 2050 7265 763a 2047 6574 5f53 n), Prev: Get_S\n+0000b4a0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000b4b0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000b4c0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000b4d0: 0a47 6574 5f53 6f63 6b5f 506f 7274 2028 .Get_Sock_Port (\n+0000b4e0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000b4f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b500: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+0000b510: 2052 6574 7269 6576 6520 706f 7274 2075 Retrieve port u\n+0000b520: 7365 6420 6279 206c 6f63 616c 2068 6f73 sed by local hos\n+0000b530: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000b540: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000b550: 696e 672e 4765 745f 536f 636b 5f50 6f72 ing.Get_Sock_Por\n+0000b560: 743a 2066 756e 6374 696f 6e20 4765 745f t: function Get_\n+0000b570: 536f 636b 5f50 6f72 740a 2020 2020 2020 Sock_Port. \n+0000b580: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n+0000b590: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). \n+0000b5a0: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000b5b0: 7572 6e20 506f 7369 7469 7665 3b0a 0a50 urn Positive;..P\n+0000b5c0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+0000b5d0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+0000b5e0: 2020 2020 2043 6f6e 6e65 6374 6564 2073 Connected s\n+0000b5f0: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n+0000b600: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000b610: 506f 7274 2075 7365 6420 6f6e 2074 6865 Port used on the\n+0000b620: 206c 6f63 616c 2068 6f73 740a 0a53 4545 local host..SEE\n+0000b630: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+0000b640: 2047 6574 5f50 6565 725f 506f 7274 2028 Get_Peer_Port (\n+0000b650: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+0000b660: 2020 2a6e 6f74 6520 4765 745f 536f 636b *note Get_Sock\n+0000b670: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000b680: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+0000b690: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000b6a0: 6f64 653a 2048 6f73 745f 4e61 6d65 2028 ode: Host_Name (\n+0000b6b0: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+0000b6c0: 3a20 496d 6167 6520 2866 756e 6374 696f : Image (functio\n+0000b6d0: 6e29 2c20 2050 7265 763a 2047 6574 5f53 n), Prev: Get_S\n+0000b6e0: 6f63 6b5f 506f 7274 2028 6675 6e63 7469 ock_Port (functi\n+0000b6f0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres\n+0000b700: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function).\n+0000b710: 0a48 6f73 745f 4e61 6d65 2028 6675 6e63 .Host_Name (func\n+0000b720: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000b730: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+0000b740: 4f53 450a 2020 2020 2047 6574 2074 6865 OSE. Get the\n+0000b750: 206e 616d 6520 6f66 2074 6865 2063 7572 name of the cur\n+0000b760: 7265 6e74 2068 6f73 740a 5052 4f54 4f54 rent host.PROTOT\n+0000b770: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+0000b780: 6b65 7473 2e4e 616d 696e 672e 486f 7374 kets.Naming.Host\n+0000b790: 5f4e 616d 653a 2066 756e 6374 696f 6e20 _Name: function \n+0000b7a0: 486f 7374 5f4e 616d 650a 0a52 4554 5552 Host_Name..RETUR\n+0000b7b0: 4e20 5641 4c55 450a 2020 2020 204e 616d N VALUE. Nam\n+0000b7c0: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current\n+0000b7d0: 2068 6f73 740a 0a44 4553 4352 4950 5449 host..DESCRIPTI\n+0000b7e0: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+0000b7f0: 6374 696f 6e20 7265 7475 726e 7320 7468 ction returns th\n+0000b800: 6520 6e61 6d65 206f 6620 7468 6520 6375 e name of the cu\n+0000b810: 7272 656e 7420 686f 7374 2e20 2044 6570 rrent host. Dep\n+0000b820: 656e 6469 6e67 206f 6e0a 2020 2020 2074 ending on. t\n+0000b830: 6865 206c 6f63 616c 2063 6f6e 6669 6775 he local configu\n+0000b840: 7261 7469 6f6e 2c20 6974 206d 6179 206f ration, it may o\n+0000b850: 7220 6d61 7920 6e6f 7420 6265 2061 2066 r may not be a f\n+0000b860: 756c 6c79 2071 7561 6c69 6669 6564 0a20 ully qualified. \n+0000b870: 2020 2020 646f 6d61 696e 206e 616d 6520 domain name \n+0000b880: 2846 5144 4e29 2e0a 0a1f 0a46 696c 653a (FQDN).....File:\n+0000b890: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000b8a0: 2c20 204e 6f64 653a 2049 6d61 6765 2028 , Node: Image (\n+0000b8b0: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+0000b8c0: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f : Info_Of_Name_O\n+0000b8d0: 725f 4950 2028 6675 6e63 7469 6f6e 292c r_IP (function),\n+0000b8e0: 2020 5072 6576 3a20 486f 7374 5f4e 616d Prev: Host_Nam\n+0000b8f0: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n+0000b900: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n+0000b910: 756e 6374 696f 6e29 0a0a 496d 6167 6520 unction)..Image \n+0000b920: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+0000b930: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+0000b940: 504f 5345 0a20 2020 2020 4d61 6b65 2061 POSE. Make a\n+0000b950: 2073 7472 696e 6720 6672 6f6d 2061 6e20 string from an \n+0000b960: 6164 6472 6573 730a 5052 4f54 4f54 5950 address.PROTOTYP\n+0000b970: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+0000b980: 7473 2e4e 616d 696e 672e 496d 6167 653a ts.Naming.Image:\n+0000b990: 2066 756e 6374 696f 6e20 496d 6167 6520 function Image \n+0000b9a0: 2841 4444 203a 2041 6464 7265 7373 290a (ADD : Address).\n+0000b9b0: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+0000b9c0: 6574 7572 6e20 5374 7269 6e67 3b0a 0a50 eturn String;..P\n+0000b9d0: 4152 414d 4554 4552 530a 2020 2020 2041 ARAMETERS. A\n+0000b9e0: 4444 2020 2020 2020 2020 696e 2020 2020 DD in \n+0000b9f0: 2020 2020 2049 5020 6164 6472 6573 730a IP address.\n+0000ba00: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+0000ba10: 2020 2053 7472 696e 6720 7265 7072 6573 String repres\n+0000ba20: 656e 7461 7469 6f6e 206f 6620 7468 6520 entation of the \n+0000ba30: 4950 2061 6464 7265 7373 0a0a 5345 4520 IP address..SEE \n+0000ba40: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+0000ba50: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n+0000ba60: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+0000ba70: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+0000ba80: 6f64 653a 2049 6e66 6f5f 4f66 5f4e 616d ode: Info_Of_Nam\n+0000ba90: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000baa0: 6e29 2c20 204e 6578 743a 2049 735f 4950 n), Next: Is_IP\n+0000bab0: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000bac0: 6f6e 292c 2020 5072 6576 3a20 496d 6167 on), Prev: Imag\n+0000bad0: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n+0000bae0: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f\n+0000baf0: 756e 6374 696f 6e29 0a0a 496e 666f 5f4f unction)..Info_O\n+0000bb00: 665f 4e61 6d65 5f4f 725f 4950 2028 6675 f_Name_Or_IP (fu\n+0000bb10: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+0000bb20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000bb30: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000bb40: 2020 2020 4765 7420 6164 6472 6573 7365 Get addresse\n+0000bb50: 7320 616e 6420 6e61 6d65 7320 6f66 2061 s and names of a\n+0000bb60: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n+0000bb70: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+0000bb80: 2e4e 616d 696e 672e 496e 666f 5f4f 665f .Naming.Info_Of_\n+0000bb90: 4e61 6d65 5f4f 725f 4950 3a20 6675 6e63 Name_Or_IP: func\n+0000bba0: 7469 6f6e 2049 6e66 6f5f 4f66 5f4e 616d tion Info_Of_Nam\n+0000bbb0: 655f 4f72 5f49 500a 2020 2020 2020 2020 e_Or_IP. \n+0000bbc0: 2020 2020 2020 2028 534f 4d45 5448 494e (SOMETHIN\n+0000bbd0: 4720 3a20 5374 7269 6e67 290a 2020 2020 G : String). \n+0000bbe0: 2020 2020 2020 2020 2020 2072 6574 7572 retur\n+0000bbf0: 6e20 486f 7374 5f45 6e74 7279 3b0a 0a50 n Host_Entry;..P\n+0000bc00: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+0000bc10: 4f4d 4554 4849 4e47 2020 696e 2020 2020 OMETHING in \n+0000bc20: 2020 2020 2048 6f73 7420 6e61 6d65 206f Host name o\n+0000bc30: 7220 4950 2061 6464 7265 7373 0a0a 5245 r IP address..RE\n+0000bc40: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+0000bc50: 436f 7272 6573 706f 6e64 696e 6720 686f Corresponding ho\n+0000bc60: 7374 2065 6e74 7279 0a0a 4445 5343 5249 st entry..DESCRI\n+0000bc70: 5054 494f 4e0a 2020 2020 2054 6869 7320 PTION. This \n+0000bc80: 6675 6e63 7469 6f6e 2065 7874 7261 6374 function extract\n+0000bc90: 7320 616c 6c20 7468 6520 6e61 6d65 7320 s all the names \n+0000bca0: 616e 6420 6164 6472 6573 7365 7320 6672 and addresses fr\n+0000bcb0: 6f6d 2074 6865 206e 616d 696e 670a 2020 om the naming. \n+0000bcc0: 2020 2073 6572 7669 6365 2e0a 0a45 5843 service...EXC\n+0000bcd0: 4550 5449 4f4e 530a 2020 2020 2027 4e61 EPTIONS. 'Na\n+0000bce0: 6d69 6e67 5f45 7272 6f72 2720 2020 2020 ming_Error' \n+0000bcf0: 4e6f 2069 6e66 6f72 6d61 7469 6f6e 2061 No information a\n+0000bd00: 7661 696c 6162 6c65 2066 6f72 2074 6869 vailable for thi\n+0000bd10: 7320 6e61 6d65 206f 720a 2020 2020 2020 s name or. \n+0000bd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000bd30: 2020 6164 6472 6573 730a 0a1f 0a46 696c address....Fil\n+0000bd40: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000bd50: 666f 2c20 204e 6f64 653a 2049 735f 4950 fo, Node: Is_IP\n+0000bd60: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000bd70: 6f6e 292c 2020 4e65 7874 3a20 4e61 6d65 on), Next: Name\n+0000bd80: 5f4f 6620 2866 756e 6374 696f 6e29 2c20 _Of (function), \n+0000bd90: 2050 7265 763a 2049 6e66 6f5f 4f66 5f4e Prev: Info_Of_N\n+0000bda0: 616d 655f 4f72 5f49 5020 2866 756e 6374 ame_Or_IP (funct\n+0000bdb0: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000bdc0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000bdd0: 0a0a 4973 5f49 505f 4164 6472 6573 7320 ..Is_IP_Address \n+0000bde0: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+0000bdf0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000be00: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000be10: 2020 4368 6563 6b20 6966 2067 6976 656e Check if given\n+0000be20: 2073 7472 696e 6720 6973 2061 2076 616c string is a val\n+0000be30: 6964 2049 5020 6164 6472 6573 730a 5052 id IP address.PR\n+0000be40: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+0000be50: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+0000be60: 4973 5f49 505f 4164 6472 6573 733a 2066 Is_IP_Address: f\n+0000be70: 756e 6374 696f 6e20 4973 5f49 505f 4164 unction Is_IP_Ad\n+0000be80: 6472 6573 730a 2020 2020 2020 2020 2020 dress. \n+0000be90: 2020 2020 2028 534f 4d45 5448 494e 4720 (SOMETHING \n+0000bea0: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). \n+0000beb0: 2020 2020 2020 2020 2072 6574 7572 6e20 return \n+0000bec0: 426f 6f6c 6561 6e3b 0a0a 5041 5241 4d45 Boolean;..PARAME\n+0000bed0: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH\n+0000bee0: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in \n+0000bef0: 5374 7269 6e67 2074 6f20 6368 6563 6b0a String to check.\n+0000bf00: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+0000bf10: 2020 2027 5472 7565 2720 6966 2053 4f4d 'True' if SOM\n+0000bf20: 4554 4849 4e47 2069 7320 616e 2049 5020 ETHING is an IP \n+0000bf30: 6164 6472 6573 730a 0a1f 0a46 696c 653a address....File:\n+0000bf40: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000bf50: 2c20 204e 6f64 653a 204e 616d 655f 4f66 , Node: Name_Of\n+0000bf60: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+0000bf70: 7874 3a20 5661 6c75 6520 2866 756e 6374 xt: Value (funct\n+0000bf80: 696f 6e29 2c20 2050 7265 763a 2049 735f ion), Prev: Is_\n+0000bf90: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n+0000bfa0: 7469 6f6e 292c 2020 5570 3a20 4164 6472 tion), Up: Addr\n+0000bfb0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000bfc0: 290a 0a4e 616d 655f 4f66 2028 6675 6e63 )..Name_Of (func\n+0000bfd0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000bfe0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+0000bff0: 450a 2020 2020 204f 6666 6963 6961 6c20 E. Official \n+0000c000: 6e61 6d65 206f 6620 7468 6520 686f 7374 name of the host\n+0000c010: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000c020: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000c030: 6e67 2e4e 616d 655f 4f66 3a20 6675 6e63 ng.Name_Of: func\n+0000c040: 7469 6f6e 204e 616d 655f 4f66 2028 534f tion Name_Of (SO\n+0000c050: 4d45 5448 494e 4720 3a20 5374 7269 6e67 METHING : String\n+0000c060: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n+0000c070: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n+0000c080: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+0000c090: 2053 4f4d 4554 4849 4e47 2020 696e 2020 SOMETHING in \n+0000c0a0: 2020 2020 2020 2048 6f73 7420 6e61 6d65 Host name\n+0000c0b0: 206f 7220 4950 2061 6464 7265 7373 0a0a or IP address..\n+0000c0c0: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000c0d0: 2020 4e61 6d65 206f 6620 7468 6520 686f Name of the ho\n+0000c0e0: 7374 0a0a 4558 4345 5054 494f 4e53 0a20 st..EXCEPTIONS. \n+0000c0f0: 2020 2020 274e 616d 696e 675f 4572 726f 'Naming_Erro\n+0000c100: 7227 2020 2020 204e 6f20 696e 666f 726d r' No inform\n+0000c110: 6174 696f 6e20 6176 6169 6c61 626c 6520 ation available \n+0000c120: 666f 7220 7468 6973 206e 616d 6520 6f72 for this name or\n+0000c130: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000c140: 2020 2020 2020 2020 2061 6464 7265 7373 address\n+0000c150: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+0000c160: 2a6e 6f74 6520 4164 6472 6573 735f 4f66 *note Address_Of\n+0000c170: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+0000c180: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000c190: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000c1a0: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n+0000c1b0: 2c20 2050 7265 763a 204e 616d 655f 4f66 , Prev: Name_Of\n+0000c1c0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n+0000c1d0: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+0000c1e0: 6e63 7469 6f6e 290a 0a56 616c 7565 2028 nction)..Value (\n+0000c1f0: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n+0000c200: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+0000c210: 4f53 450a 2020 2020 2054 7261 6e73 666f OSE. Transfo\n+0000c220: 726d 2061 2073 7472 696e 6720 696e 746f rm a string into\n+0000c230: 2061 6e20 6164 6472 6573 730a 5052 4f54 an address.PROT\n+0000c240: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+0000c250: 6f63 6b65 7473 2e4e 616d 696e 672e 5661 ockets.Naming.Va\n+0000c260: 6c75 653a 2066 756e 6374 696f 6e20 5661 lue: function Va\n+0000c270: 6c75 6520 2841 4444 203a 2053 7472 696e lue (ADD : Strin\n+0000c280: 6729 0a20 2020 2020 2020 2020 2020 2020 g). \n+0000c290: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n+0000c2a0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+0000c2b0: 2020 2041 4444 2020 2020 2020 2020 696e ADD in\n+0000c2c0: 2020 2020 2020 2020 2054 6578 7475 616c Textual\n+0000c2d0: 2072 6570 7265 7365 6e74 6174 696f 6e20 representation \n+0000c2e0: 6f66 2061 6e20 4950 2061 6464 7265 7373 of an IP address\n+0000c2f0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000c300: 2020 2020 436f 7272 6573 706f 6e64 696e Correspondin\n+0000c310: 6720 4164 6472 6573 730a 0a53 4545 2041 g Address..SEE A\n+0000c320: 4c53 4f0a 2020 2020 202a 6e6f 7465 2049 LSO. *note I\n+0000c330: 6d61 6765 2028 6675 6e63 7469 6f6e 293a mage (function):\n+0000c340: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n+0000c350: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+0000c360: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors\n+0000c370: 2c20 204e 6578 743a 2052 6573 6f75 7263 , Next: Resourc\n+0000c380: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n+0000c390: 6574 2c20 2050 7265 763a 2053 6f63 6b65 et, Prev: Socke\n+0000c3a0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+0000c3b0: 652c 2020 5570 3a20 546f 700a 0a41 7070 e, Up: Top..App\n+0000c3c0: 656e 6469 7820 4120 436f 6e74 7269 6275 endix A Contribu\n+0000c3d0: 746f 7273 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a tors.***********\n+0000c3e0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 4164 ************..Ad\n+0000c3f0: 6153 6f63 6b65 7473 2068 6173 2062 6565 aSockets has bee\n+0000c400: 6e20 6f72 6967 696e 616c 6c79 2064 6576 n originally dev\n+0000c410: 656c 6f70 7065 6420 6279 2053 616d 7565 elopped by Samue\n+0000c420: 6c20 5461 7264 6965 7520 7768 6f20 7374 l Tardieu who st\n+0000c430: 696c 6c0a 6d61 696e 7461 696e 7320 6974 ill.maintains it\n+0000c440: 2e20 2048 6f77 6576 6572 2c20 7468 6520 . However, the \n+0000c450: 666f 6c6c 6f77 696e 6720 7065 6f70 6c65 following people\n+0000c460: 2068 6176 6520 6d61 6465 2063 7275 6369 have made cruci\n+0000c470: 616c 0a63 6f6e 7472 6962 7574 696f 6e73 al.contributions\n+0000c480: 2074 6f20 4164 6153 6f63 6b65 7473 2c20 to AdaSockets, \n+0000c490: 6265 2074 6865 7920 6e65 7720 636f 6465 be they new code\n+0000c4a0: 2c20 6275 6720 6669 7865 7320 6f72 2070 , bug fixes or p\n+0000c4b0: 6f72 7469 6e67 2074 6f0a 6e65 7720 6f70 orting to.new op\n+0000c4c0: 6572 6174 696e 6720 7379 7374 656d 733a erating systems:\n+0000c4d0: 0a0a 2020 202a 2044 6d69 7472 6979 2041 .. * Dmitriy A\n+0000c4e0: 6e69 7369 6d6b 6f76 2028 3c61 6e69 7369 nisimkov ()\n+0000c500: 0a20 2020 2a20 416c 616e 2042 6172 6e65 . * Alan Barne\n+0000c510: 7320 283c 6261 726e 6573 6140 6173 746f s (). * J\n+0000c530: 7561 6e6d 6120 4261 7272 616e 7175 6572 uanma Barranquer\n+0000c540: 6f20 283c 6c65 6b74 7540 7465 7272 612e o (). * Bobby \n+0000c560: 442e 2042 7279 616e 7420 283c 6264 6272 D. Bryant (). * Sand\n+0000c590: 6572 2043 6f78 2028 3c73 616e 6465 722e er Cox (\n+0000c5b0: 290a 2020 202a 2053 756e 6520 4661 6c6b ). * Sune Falk\n+0000c5c0: 2028 3c73 756e 652e 6661 6c63 6b40 7465 (). * G\n+0000c5e0: 7569 6c6c 6175 6d65 2046 6f6c 6961 7264 uillaume Foliard\n+0000c5f0: 2028 3c67 7569 666f 4077 616e 6164 6f6f (). * Laure\n+0000c610: 6e74 2047 7565 7262 7920 283c 6775 6572 nt Guerby (). * David\n+0000c640: 204a 2e20 4b72 6973 746f 6c61 2028 3c44 J. Kristola (). * Dominik\n+0000c670: 204d 6164 6f6e 2028 3c64 6f6d 696e 696b Madon (). * \n+0000c690: 5061 7363 616c 204f 6272 7920 283c 702e Pascal Obry (\n+0000c6b0: 290a 2020 202a 204e 6963 6f6c 6173 204f ). * Nicolas O\n+0000c6c0: 6c6c 696e 6765 7220 283c 4e69 636f 6c61 llinger (). * St\n+0000c6f0: e970 6861 6e65 2050 6174 7572 6561 7520 .phane Patureau \n+0000c700: 283c 7370 6174 7572 6561 406d 656c 6574 (). * Th\n+0000c730: 6f6d 6173 2051 7569 6e6f 7420 283c 7468 omas Quinot (). * Pre\n+0000c760: 6265 6e20 5261 6e64 686f 6c20 283c 7261 ben Randhol ().\n+0000c780: 2020 202a 204d 6178 696d 2052 657a 6e69 * Maxim Rezni\n+0000c790: 6b20 283c 6d61 7831 406d 6261 6e6b 2e63 k (). * Joe\n+0000c7b0: 6c20 5368 6572 7269 6c6c 2028 3c6a 6f65 l Sherrill (). * Sa\n+0000c7e0: 6d75 656c 2054 6172 6469 6575 2028 3c73 muel Tardieu ()\n+0000c800: 0a0a 2020 2049 6620 796f 7520 6665 656c .. If you feel\n+0000c810: 2074 6861 7420 796f 7520 6861 7665 2062 that you have b\n+0000c820: 6565 6e20 666f 7267 6f74 7465 6e2c 2070 een forgotten, p\n+0000c830: 6c65 6173 6520 7365 6e64 206d 6520 6120 lease send me a \n+0000c840: 6d61 696c 2073 6f0a 7468 6174 2049 2063 mail so.that I c\n+0000c850: 616e 2066 6978 2069 7420 696e 2074 6865 an fix it in the\n+0000c860: 206e 6578 7420 7665 7273 696f 6e2e 0a0a next version...\n+0000c870: 2020 202a 4e6f 7465 2052 6573 6f75 7263 *Note Resourc\n+0000c880: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n+0000c890: 6574 3a3a 2c20 666f 7220 686f 7720 746f et::, for how to\n+0000c8a0: 2063 6f6e 7472 6962 7574 652e 0a0a 1f0a contribute.....\n+0000c8b0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000c8c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n+0000c8d0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n+0000c8e0: 6e74 6572 6e65 742c 2020 4e65 7874 3a20 nternet, Next: \n+0000c8f0: 496e 6465 782c 2020 5072 6576 3a20 436f Index, Prev: Co\n+0000c900: 6e74 7269 6275 746f 7273 2c20 2055 703a ntributors, Up:\n+0000c910: 2054 6f70 0a0a 4170 7065 6e64 6978 2042 Top..Appendix B\n+0000c920: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000c930: 6520 496e 7465 726e 6574 0a2a 2a2a 2a2a e Internet.*****\n+0000c940: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c950: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a ***************.\n+0000c960: 0a54 6865 206c 6174 6573 7420 7665 7273 .The latest vers\n+0000c970: 696f 6e20 6f66 2041 6461 536f 636b 6574 ion of AdaSocket\n+0000c980: 7320 6361 6e20 616c 7761 7973 2062 6520 s can always be \n+0000c990: 666f 756e 6420 6174 3a0a 0a20 2020 2020 found at:.. \n+0000c9a0: 2020 2020 2020 2020 2020 3c68 7474 703a .. You can \n+0000c9e0: 7265 706f 7274 2069 7373 7565 7320 6f72 report issues or\n+0000c9f0: 2073 7562 6d69 7420 7175 6573 7469 6f6e submit question\n+0000ca00: 7320 6f6e 2047 6974 4875 6227 7320 6973 s on GitHub's is\n+0000ca10: 7375 6520 7472 6163 6b65 720a 6174 3a0a sue tracker.at:.\n+0000ca20: 0a20 2020 2020 2020 2020 3c68 7474 7073 . ..\n+0000ca60: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000ca70: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000ca80: 496e 6465 782c 2020 5072 6576 3a20 5265 Index, Prev: Re\n+0000ca90: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n+0000caa0: 6e74 6572 6e65 742c 2020 5570 3a20 546f nternet, Up: To\n+0000cab0: 700a 0a49 6e64 6578 0a2a 2a2a 2a2a 0a0a p..Index.*****..\n+0000cac0: 0008 5b69 6e64 6578 0008 5d0a 2a20 4d65 ..[index..].* Me\n+0000cad0: 6e75 3a0a 0a2a 2041 6363 6570 7469 6e67 nu:..* Accepting\n+0000cae0: 2061 206e 6577 2063 6f6e 6e65 6374 696f a new connectio\n+0000caf0: 6e3a 2020 2020 2020 2020 2020 2020 4163 n: Ac\n+0000cb00: 6365 7074 5f53 6f63 6b65 7420 2870 726f cept_Socket (pro\n+0000cb10: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000cb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb50: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000cb60: 290a 2a20 4163 6365 7074 5f53 6f63 6b65 ).* Accept_Socke\n+0000cb70: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000cb80: 2020 2020 2020 2020 2020 2041 6363 6570 Accep\n+0000cb90: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+0000cba0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000cbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cbe0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000cbf0: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n+0000cc00: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n+0000cc10: 793a 2020 2020 2020 5261 7720 6461 7461 y: Raw data\n+0000cc20: 206d 616e 6970 756c 6174 696f 6e2e 0a20 manipulation.. \n+0000cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cc60: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000cc70: 696e 6520 2036 290a 2a20 4164 612e 5374 ine 6).* Ada.St\n+0000cc80: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n+0000cc90: 6d65 6e74 5f41 7272 6179 203c 313e 3a20 ment_Array <1>: \n+0000cca0: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n+0000ccb0: 6f6e 292e 2020 2028 6c69 6e65 2032 3429 on). (line 24)\n+0000ccc0: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n+0000ccd0: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+0000cce0: 7261 7920 3c32 3e3a 2020 5265 6365 6976 ray <2>: Receiv\n+0000ccf0: 6520 2870 726f 6365 6475 7265 292e 2020 e (procedure). \n+0000cd00: 286c 696e 6520 3138 290a 2a20 4164 612e (line 18).* Ada.\n+0000cd10: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000cd20: 6c65 6d65 6e74 5f41 7272 6179 203c 333e lement_Array <3>\n+0000cd30: 3a20 2052 6563 6569 7665 5f53 6f6d 6520 : Receive_Some \n+0000cd40: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000cd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd80: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000cd90: 6520 3234 290a 2a20 4164 612e 5374 7265 e 24).* Ada.Stre\n+0000cda0: 616d 732e 5374 7265 616d 5f45 6c65 6d65 ams.Stream_Eleme\n+0000cdb0: 6e74 5f41 7272 6179 203c 343e 3a20 2053 nt_Array <4>: S\n+0000cdc0: 656e 6420 2870 726f 6365 6475 7265 292e end (procedure).\n+0000cdd0: 2020 2020 2028 6c69 6e65 2031 3829 0a2a (line 18).*\n+0000cde0: 2041 6461 2e53 7472 6561 6d73 2e53 7472 Ada.Streams.Str\n+0000cdf0: 6561 6d5f 456c 656d 656e 745f 436f 756e eam_Element_Coun\n+0000ce00: 743a 2020 2020 2020 5265 6365 6976 6520 t: Receive \n+0000ce10: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l\n+0000ce20: 696e 6520 3234 290a 2a20 4164 612e 5374 ine 24).* Ada.St\n+0000ce30: 7265 616d 732e 5374 7265 616d 5f45 6c65 reams.Stream_Ele\n+0000ce40: 6d65 6e74 5f43 6f75 6e74 203c 313e 3a20 ment_Count <1>: \n+0000ce50: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n+0000ce60: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000ce70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ce80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ce90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cea0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000ceb0: 3234 290a 2a20 4164 6153 6f63 6b65 7473 24).* AdaSockets\n+0000cec0: 2070 7265 7365 6e74 6174 696f 6e3a 2020 presentation: \n+0000ced0: 2020 2020 2020 2020 2020 2020 2057 6861 Wha\n+0000cee0: 7420 6973 2041 6461 536f 636b 6574 733f t is AdaSockets?\n+0000cef0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2041 . (line 6).* A\n+0000cf00: 6464 7265 7373 3a20 2020 2020 2020 2020 ddress: \n+0000cf10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf20: 2020 2020 2020 536f 636b 6574 732e 4e61 Sockets.Na\n+0000cf30: 6d69 6e67 2070 6163 6b61 6765 2e0a 2020 ming package.. \n+0000cf40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000cf80: 6e65 2020 3929 0a2a 2041 6464 7265 7373 ne 9).* Address\n+0000cf90: 5f41 7272 6179 3a20 2020 2020 2020 2020 _Array: \n+0000cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfb0: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p\n+0000cfc0: 6163 6b61 6765 2e0a 2020 2020 2020 2020 ackage.. \n+0000cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d000: 2020 2020 2020 2028 6c69 6e65 2031 3729 (line 17)\n+0000d010: 0a2a 2041 6464 7265 7373 5f43 6f6d 706f .* Address_Compo\n+0000d020: 6e65 6e74 3a20 2020 2020 2020 2020 2020 nent: \n+0000d030: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+0000d040: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+0000d050: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000d060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d090: 2028 6c69 6e65 2032 3129 0a2a 2041 6464 (line 21).* Add\n+0000d0a0: 7265 7373 5f4f 663a 2020 2020 2020 2020 ress_Of: \n+0000d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d0c0: 2020 2020 4164 6472 6573 735f 4f66 2028 Address_Of (\n+0000d0d0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \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 2020 2020 286c 696e 6520 (line \n+0000d120: 2039 290a 2a20 4146 5f49 4e45 543a 2020 9).* AF_INET: \n+0000d130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d140: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+0000d150: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n+0000d160: 2020 2028 6c69 6e65 2032 3029 0a2a 2041 (line 20).* A\n+0000d170: 6e79 5f41 6464 7265 7373 3a20 2020 2020 ny_Address: \n+0000d180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d190: 2020 2020 2020 416e 795f 4164 6472 6573 Any_Addres\n+0000d1a0: 7320 2866 756e 6374 696f 6e29 2e0a 2020 s (function).. \n+0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d1e0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000d1f0: 6e65 2020 3929 0a2a 2041 7373 6967 6e69 ne 9).* Assigni\n+0000d200: 6e67 2061 206c 6f63 616c 2070 6f72 743a ng a local port:\n+0000d210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d220: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n+0000d230: 2e20 2020 2020 286c 696e 6520 2036 290a . (line 6).\n+0000d240: 2a20 4269 6e64 3a20 2020 2020 2020 2020 * Bind: \n+0000d250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d260: 2020 2020 2020 2020 2042 696e 6420 2870 Bind (p\n+0000d270: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). (\n+0000d280: 6c69 6e65 2020 3929 0a2a 2042 696e 6469 line 9).* Bindi\n+0000d290: 6e67 2061 2073 6f63 6b65 743a 2020 2020 ng a socket: \n+0000d2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d2b0: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur\n+0000d2c0: 6529 2e20 2020 2020 286c 696e 6520 2036 e). (line 6\n+0000d2d0: 290a 2a20 426f 7468 3a20 2020 2020 2020 ).* Both: \n+0000d2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d2f0: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+0000d300: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+0000d310: 2028 6c69 6e65 2031 3729 0a2a 2043 6c6f (line 17).* Clo\n+0000d320: 7369 6e67 2061 2073 6f63 6b65 743a 2020 sing a socket: \n+0000d330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d340: 2020 2020 5368 7574 646f 776e 2028 7072 Shutdown (pr\n+0000d350: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+0000d360: 2036 290a 2a20 436f 6d70 6172 6169 736f 6).* Comparaiso\n+0000d370: 6e20 7769 7468 2047 4e41 542e 536f 636b n with GNAT.Sock\n+0000d380: 6574 733a 2020 2020 2020 2020 2057 6861 ets: Wha\n+0000d390: 7420 6973 2041 6461 536f 636b 6574 733f t is AdaSockets?\n+0000d3a0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2043 . (line 6).* C\n+0000d3b0: 6f6e 6e65 6374 3a20 2020 2020 2020 2020 onnect: \n+0000d3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d3d0: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n+0000d3e0: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+0000d3f0: 6520 2039 290a 2a20 436f 6e6e 6563 7469 e 9).* Connecti\n+0000d400: 6e67 2061 2073 6f63 6b65 743a 2020 2020 ng a socket: \n+0000d410: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+0000d420: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+0000d430: 6529 2e20 2028 6c69 6e65 2020 3629 0a2a e). (line 6).*\n+0000d440: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n+0000d450: 6564 3a20 2020 2020 2020 2020 2020 2020 ed: \n+0000d460: 2020 2020 2020 2020 4765 7420 2866 756e Get (fun\n+0000d470: 6374 696f 6e29 2e20 2020 2020 2020 286c ction). (l\n+0000d480: 696e 6520 3335 290a 2a20 436f 6e6e 6563 ine 35).* Connec\n+0000d490: 7469 6f6e 5f43 6c6f 7365 6420 3c31 3e3a tion_Closed <1>:\n+0000d4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4b0: 2047 6574 5f43 6861 7220 2866 756e 6374 Get_Char (funct\n+0000d4c0: 696f 6e29 2e20 2028 6c69 6e65 2032 3429 ion). (line 24)\n+0000d4d0: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n+0000d4e0: 6f73 6564 203c 323e 3a20 2020 2020 2020 osed <2>: \n+0000d4f0: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n+0000d500: 6e65 2028 6675 6e63 7469 6f6e 292e 2020 ne (function). \n+0000d510: 286c 696e 6520 3333 290a 2a20 436f 6e6e (line 33).* Conn\n+0000d520: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c33 ection_Closed <3\n+0000d530: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000d540: 2020 2047 6574 5f4c 696e 6520 2870 726f Get_Line (pro\n+0000d550: 6365 6475 7265 292e 2028 6c69 6e65 2032 cedure). (line 2\n+0000d560: 3829 0a2a 2043 6f6e 6e65 6374 696f 6e5f 8).* Connection_\n+0000d570: 436c 6f73 6564 203c 343e 3a20 2020 2020 Closed <4>: \n+0000d580: 2020 2020 2020 2020 2020 2020 4e65 775f New_\n+0000d590: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+0000d5a0: 2e20 286c 696e 6520 3231 290a 2a20 436f . (line 21).* Co\n+0000d5b0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d5c0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n+0000d5d0: 2020 2020 2050 7574 2028 7072 6f63 6564 Put (proced\n+0000d5e0: 7572 6529 2e20 2020 2020 2028 6c69 6e65 ure). (line\n+0000d5f0: 2032 3229 0a2a 2043 6f6e 6e65 6374 696f 22).* Connectio\n+0000d600: 6e5f 436c 6f73 6564 203c 363e 3a20 2020 n_Closed <6>: \n+0000d610: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n+0000d620: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+0000d630: 6529 2e20 286c 696e 6520 3232 290a 2a20 e). (line 22).* \n+0000d640: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d650: 6420 3c37 3e3a 2020 2020 2020 2020 2020 d <7>: \n+0000d660: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+0000d670: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n+0000d680: 6e65 2033 3229 0a2a 2043 6f6e 6e65 6374 ne 32).* Connect\n+0000d690: 696f 6e5f 436c 6f73 6564 203c 383e 3a20 ion_Closed <8>: \n+0000d6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d6b0: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+0000d6c0: 7265 292e 2020 286c 696e 6520 3235 290a re). (line 25).\n+0000d6d0: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n+0000d6e0: 7365 6420 3c39 3e3a 2020 2020 2020 2020 sed <9>: \n+0000d6f0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+0000d700: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+0000d710: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000d720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d750: 2020 286c 696e 6520 3330 290a 2a20 436f (line 30).* Co\n+0000d760: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d770: 3c31 303e 3a20 2020 2020 2020 2020 2020 <10>: \n+0000d780: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce\n+0000d790: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+0000d7a0: 2032 3229 0a2a 2043 6f6e 6e65 6374 696f 22).* Connectio\n+0000d7b0: 6e5f 5265 6675 7365 643a 2020 2020 2020 n_Refused: \n+0000d7c0: 2020 2020 2020 2020 2020 2020 2020 436f Co\n+0000d7d0: 6e6e 6563 7420 2870 726f 6365 6475 7265 nnect (procedure\n+0000d7e0: 292e 2020 286c 696e 6520 3236 290a 2a20 ). (line 26).* \n+0000d7f0: 436f 6e74 7269 6275 7469 6e67 3a20 2020 Contributing: \n+0000d800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d810: 2020 2020 2020 2043 6f6e 7472 6962 7574 Contribut\n+0000d820: 6f72 732e 2020 2020 2020 2020 2028 6c69 ors. (li\n+0000d830: 6e65 2020 3629 0a2a 2043 6f6e 7472 6962 ne 6).* Contrib\n+0000d840: 7574 696e 6720 3c31 3e3a 2020 2020 2020 uting <1>: \n+0000d850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d860: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+0000d870: 2049 6e74 6572 6e65 742e 0a20 2020 2020 Internet.. \n+0000d880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000d8c0: 2036 290a 2a20 4352 3a20 2020 2020 2020 6).* CR: \n+0000d8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8e0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000d8f0: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+0000d900: 2e20 2028 6c69 6e65 2032 3229 0a2a 2043 . (line 22).* C\n+0000d910: 5220 3c31 3e3a 2020 2020 2020 2020 2020 R <1>: \n+0000d920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d930: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000d940: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000d950: 6520 3139 290a 2a20 4352 203c 323e 3a20 e 19).* CR <2>: \n+0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d970: 2020 2020 2020 2020 2020 2020 2020 204e N\n+0000d980: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+0000d990: 7265 292e 2028 6c69 6e65 2031 3829 0a2a re). (line 18).*\n+0000d9a0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+0000d9b0: 745f 536f 636b 6574 3a20 2020 2020 2020 t_Socket: \n+0000d9c0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+0000d9d0: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n+0000d9e0: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000d9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da20: 2020 2020 2028 6c69 6e65 2031 3629 0a2a (line 16).*\n+0000da30: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+0000da40: 745f 536f 636b 6574 203c 313e 3a20 2020 t_Socket <1>: \n+0000da50: 2020 2020 2020 2020 4372 6561 7465 5f4d Create_M\n+0000da60: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket \n+0000da70: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000da80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000daa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dab0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000dac0: 2020 3929 0a2a 2043 7265 6174 655f 4d75 9).* Create_Mu\n+0000dad0: 6c74 6963 6173 745f 536f 636b 6574 203c lticast_Socket <\n+0000dae0: 323e 3a20 2020 2020 2020 2020 2020 2e20 2>: . \n+0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db00: 2020 2020 286c 696e 6520 3734 290a 2a20 (line 74).* \n+0000db10: 4372 6561 7469 6e67 2061 206d 756c 7469 Creating a multi\n+0000db20: 6361 7374 2073 6f63 6b65 743a 2020 2020 cast socket: \n+0000db30: 2020 2020 2020 2053 6574 7469 6e67 2075 Setting u\n+0000db40: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+0000db50: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+0000db60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db90: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000dba0: 4372 6561 7469 6e67 2061 206d 756c 7469 Creating a multi\n+0000dbb0: 6361 7374 2073 6f63 6b65 7420 3c31 3e3a cast socket <1>:\n+0000dbc0: 2020 2020 2020 2043 7265 6174 655f 4d75 Create_Mu\n+0000dbd0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+0000dbe0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+0000dbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dc00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dc20: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000dc30: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000dc40: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n+0000dc50: 7420 3c32 3e3a 2020 2020 2020 202e 2020 t <2>: . \n+0000dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dc70: 2020 2028 6c69 6e65 2037 3129 0a2a 2043 (line 71).* C\n+0000dc80: 7265 6174 696e 6720 6120 7365 7276 6572 reating a server\n+0000dc90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000dca0: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n+0000dcb0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+0000dcc0: 6520 2036 290a 2a20 4372 6561 7469 6e67 e 6).* Creating\n+0000dcd0: 2061 2073 6f63 6b65 743a 2020 2020 2020 a socket: \n+0000dce0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000dcf0: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+0000dd00: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n+0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd40: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000dd50: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n+0000dd60: 2073 6f63 6b65 7420 3c31 3e3a 2020 2020 socket <1>: \n+0000dd70: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+0000dd80: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n+0000dd90: 2020 2028 6c69 6e65 2020 3629 0a2a 2043 (line 6).* C\n+0000dda0: 7265 6174 696e 6720 6120 736f 636b 6574 reating a socket\n+0000ddb0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0000ddc0: 2020 2020 2020 4372 6561 7465 5f4d 756c Create_Mul\n+0000ddd0: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n+0000dde0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \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 2020 2020 2020 2020 2020 \n+0000de20: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000de30: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000de40: 736f 636b 6574 203c 333e 3a20 2020 2020 socket <3>: \n+0000de50: 2020 2020 2020 2020 2020 2020 2e20 2020 . \n+0000de60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de70: 2020 286c 696e 6520 3731 290a 2a20 4372 (line 71).* Cr\n+0000de80: 6561 7469 6e67 2061 2054 4350 2073 6f63 eating a TCP soc\n+0000de90: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+0000dea0: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000deb0: 756e 6963 6173 7420 736f 636b 6574 732e unicast sockets.\n+0000dec0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000ded0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df00: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea\n+0000df10: 7469 6e67 2061 2055 4450 2073 6f63 6b65 ting a UDP socke\n+0000df20: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000df30: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n+0000df40: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+0000df50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df80: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000df90: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n+0000dfa0: 6e67 2061 2075 6e69 6361 7374 2073 6f63 ng a unicast soc\n+0000dfb0: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+0000dfc0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+0000dfd0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+0000dfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e000: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e010: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e020: 6520 2036 290a 2a20 4573 7461 626c 6973 e 6).* Establis\n+0000e030: 6869 6e67 2061 206c 6973 7465 6e20 7175 hing a listen qu\n+0000e040: 6575 653a 2020 2020 2020 2020 2020 204c eue: L\n+0000e050: 6973 7465 6e20 2870 726f 6365 6475 7265 isten (procedure\n+0000e060: 292e 2020 2028 6c69 6e65 2020 3629 0a2a ). (line 6).*\n+0000e070: 2046 696e 6469 6e67 2041 6461 536f 636b Finding AdaSock\n+0000e080: 6574 7320 6f6e 2074 6865 2049 6e74 6572 ets on the Inter\n+0000e090: 6e65 743a 2020 2020 5265 736f 7572 6365 net: Resource\n+0000e0a0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n+0000e0b0: 742e 0a20 2020 2020 2020 2020 2020 2020 t.. \n+0000e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e0f0: 2020 286c 696e 6520 2036 290a 2a20 4765 (line 6).* Ge\n+0000e100: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000e110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e120: 2020 2020 2047 6574 2028 6675 6e63 7469 Get (functi\n+0000e130: 6f6e 292e 2020 2020 2020 2028 6c69 6e65 on). (line\n+0000e140: 2020 3929 0a2a 2047 6574 736f 636b 6f70 9).* Getsockop\n+0000e150: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0000e160: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000e170: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000e180: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000e190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1c0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000e1d0: 2047 6574 5f43 6861 723a 2020 2020 2020 Get_Char: \n+0000e1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1f0: 2020 2020 2020 2020 4765 745f 4368 6172 Get_Char\n+0000e200: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000e210: 696e 6520 2039 290a 2a20 4765 745f 4c69 ine 9).* Get_Li\n+0000e220: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+0000e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e240: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct\n+0000e250: 696f 6e29 2e20 2028 6c69 6e65 2020 3929 ion). (line 9)\n+0000e260: 0a2a 2047 6574 5f4c 696e 6520 3c31 3e3a .* Get_Line <1>:\n+0000e270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e280: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li\n+0000e290: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000e2a0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n+0000e2b0: 5065 6572 5f41 6464 723a 2020 2020 2020 Peer_Addr: \n+0000e2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e2d0: 2020 2047 6574 5f50 6565 725f 4164 6472 Get_Peer_Addr\n+0000e2e0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+0000e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e320: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000e330: 6520 2039 290a 2a20 4765 745f 5065 6572 e 9).* Get_Peer\n+0000e340: 5f50 6f72 743a 2020 2020 2020 2020 2020 _Port: \n+0000e350: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000e360: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000e370: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3b0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000e3c0: 290a 2a20 4765 745f 5265 6365 6976 655f ).* Get_Receive_\n+0000e3d0: 5175 6575 655f 5369 7a65 3a20 2020 2020 Queue_Size: \n+0000e3e0: 2020 2020 2020 2020 2020 2047 6574 5f52 Get_R\n+0000e3f0: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n+0000e400: 6520 2866 756e 6374 696f 6e29 2e0a 2020 e (function).. \n+0000e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e440: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e450: 6e65 2020 3929 0a2a 2047 6574 5f53 656e ne 9).* Get_Sen\n+0000e460: 645f 5175 6575 655f 5369 7a65 3a20 2020 d_Queue_Size: \n+0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e480: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S\n+0000e490: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n+0000e4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n+0000e4e0: 6c69 6e65 2020 3929 0a2a 2047 6574 5f53 line 9).* Get_S\n+0000e4f0: 6f63 6b5f 4164 6472 3a20 2020 2020 2020 ock_Addr: \n+0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e510: 2020 4765 745f 536f 636b 5f41 6464 7220 Get_Sock_Addr \n+0000e520: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000e530: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 (line\n+0000e570: 2020 3929 0a2a 2047 6574 5f53 6f63 6b5f 9).* Get_Sock_\n+0000e580: 506f 7274 3a20 2020 2020 2020 2020 2020 Port: \n+0000e590: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000e5a0: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n+0000e5b0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n+0000e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5f0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+0000e600: 0a2a 2047 726f 7570 2063 6f6d 6d75 6e69 .* Group communi\n+0000e610: 6361 7469 6f6e 3a20 2020 2020 2020 2020 cation: \n+0000e620: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+0000e630: 6720 7570 206d 756c 7469 6361 7374 2073 g up multicast s\n+0000e640: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n+0000e650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e680: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000e690: 0a2a 2048 616e 646c 696e 6720 6120 6e65 .* Handling a ne\n+0000e6a0: 7720 636f 6e6e 6563 7469 6f6e 3a20 2020 w connection: \n+0000e6b0: 2020 2020 2020 2020 2020 4163 6365 7074 Accept\n+0000e6c0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+0000e6d0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e710: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000e720: 486f 7374 5f45 6e74 7279 3a20 2020 2020 Host_Entry: \n+0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e740: 2020 2020 2020 2053 6f63 6b65 7473 2e4e Sockets.N\n+0000e750: 616d 696e 6720 7061 636b 6167 652e 0a20 aming package.. \n+0000e760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e790: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000e7a0: 696e 6520 3235 290a 2a20 486f 7374 5f4e ine 25).* Host_N\n+0000e7b0: 616d 653a 2020 2020 2020 2020 2020 2020 ame: \n+0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7d0: 2048 6f73 745f 4e61 6d65 2028 6675 6e63 Host_Name (func\n+0000e7e0: 7469 6f6e 292e 2028 6c69 6e65 2020 3929 tion). (line 9)\n+0000e7f0: 0a2a 2049 6d61 6765 3a20 2020 2020 2020 .* Image: \n+0000e800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e810: 2020 2020 2020 2020 2020 496d 6167 6520 Image \n+0000e820: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+0000e830: 286c 696e 6520 2039 290a 2a20 496e 666f (line 9).* Info\n+0000e840: 5f4f 665f 4e61 6d65 5f4f 725f 4950 3a20 _Of_Name_Or_IP: \n+0000e850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e860: 2020 2049 6e66 6f5f 4f66 5f4e 616d 655f Info_Of_Name_\n+0000e870: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function)\n+0000e880: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000e890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8c0: 2028 6c69 6e65 2020 3929 0a2a 2049 6e73 (line 9).* Ins\n+0000e8d0: 7461 6c6c 696e 6720 4164 6153 6f63 6b65 talling AdaSocke\n+0000e8e0: 7473 3a20 2020 2020 2020 2020 2020 2020 ts: \n+0000e8f0: 2020 2020 496e 7374 616c 6c69 6e67 2041 Installing A\n+0000e900: 6461 536f 636b 6574 732e 0a20 2020 2020 daSockets.. \n+0000e910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e940: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000e950: 2036 290a 2a20 4950 5052 4f54 4f5f 4950 6).* IPPROTO_IP\n+0000e960: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e970: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000e980: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+0000e990: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000e9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e9b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e9d0: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+0000e9e0: 4950 5052 4f54 4f5f 4950 203c 313e 3a20 IPPROTO_IP <1>: \n+0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea00: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+0000ea10: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000ea20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea50: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000ea60: 696e 6520 3231 290a 2a20 4950 5f41 4444 ine 21).* IP_ADD\n+0000ea70: 5f4d 454d 4245 5253 4849 503a 2020 2020 _MEMBERSHIP: \n+0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea90: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+0000eaa0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000eab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ead0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eae0: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21\n+0000eaf0: 290a 2a20 4950 5f41 4444 5f4d 454d 4245 ).* IP_ADD_MEMBE\n+0000eb00: 5253 4849 5020 3c31 3e3a 2020 2020 2020 RSHIP <1>: \n+0000eb10: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+0000eb20: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+0000eb30: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000eb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb70: 2020 286c 696e 6520 3231 290a 2a20 4950 (line 21).* IP\n+0000eb80: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP\n+0000eb90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000eba0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+0000ebb0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \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 2020 2020 2020 \n+0000ebf0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000ec00: 6520 3231 290a 2a20 4950 5f44 524f 505f e 21).* IP_DROP_\n+0000ec10: 4d45 4d42 4552 5348 4950 203c 313e 3a20 MEMBERSHIP <1>: \n+0000ec20: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000ec30: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+0000ec40: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000ec50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec80: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+0000ec90: 2a20 4950 5f4d 554c 5449 4341 5354 5f4c * IP_MULTICAST_L\n+0000eca0: 4f4f 503a 2020 2020 2020 2020 2020 2020 OOP: \n+0000ecb0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+0000ecc0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+0000ecd0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000ece0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed10: 286c 696e 6520 3231 290a 2a20 4950 5f4d (line 21).* IP_M\n+0000ed20: 554c 5449 4341 5354 5f4c 4f4f 5020 3c31 ULTICAST_LOOP <1\n+0000ed30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000ed40: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+0000ed50: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+0000ed60: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c 696e 6520 (line \n+0000eda0: 3231 290a 2a20 4950 5f4d 554c 5449 4341 21).* IP_MULTICA\n+0000edb0: 5354 5f54 544c 3a20 2020 2020 2020 2020 ST_TTL: \n+0000edc0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000edd0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+0000ede0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000edf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee20: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+0000ee30: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL\n+0000ee40: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000ee50: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+0000ee60: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000ee70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee80: 2020 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 286c (l\n+0000eeb0: 696e 6520 3231 290a 2a20 4973 5f49 505f ine 21).* Is_IP_\n+0000eec0: 4164 6472 6573 733a 2020 2020 2020 2020 Address: \n+0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eee0: 2049 735f 4950 5f41 6464 7265 7373 2028 Is_IP_Address (\n+0000eef0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+0000ef00: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c 696e 6520 (line \n+0000ef40: 2039 290a 2a20 4c46 3a20 2020 2020 2020 9).* LF: \n+0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef60: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000ef70: 5f4c 696e 6520 2866 756e 6374 696f 6e29 _Line (function)\n+0000ef80: 2e20 2028 6c69 6e65 2032 3229 0a2a 204c . (line 22).* L\n+0000ef90: 4620 3c31 3e3a 2020 2020 2020 2020 2020 F <1>: \n+0000efa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000efb0: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000efc0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000efd0: 6520 3139 290a 2a20 4c46 203c 323e 3a20 e 19).* LF <2>: \n+0000efe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eff0: 2020 2020 2020 2020 2020 2020 2020 204e N\n+0000f000: 6577 5f4c 696e 6520 2870 726f 6365 6475 ew_Line (procedu\n+0000f010: 7265 292e 2028 6c69 6e65 2031 3829 0a2a re). (line 18).*\n+0000f020: 204c 6973 7465 6e3a 2020 2020 2020 2020 Listen: \n+0000f030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f040: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n+0000f050: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+0000f060: 696e 6520 2039 290a 2a20 4c69 7374 656e ine 9).* Listen\n+0000f070: 2071 7565 7565 3a20 2020 2020 2020 2020 queue: \n+0000f080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f090: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+0000f0a0: 7265 292e 2020 2028 6c69 6e65 2020 3629 re). (line 6)\n+0000f0b0: 0a2a 204d 616e 6970 756c 6174 696e 6720 .* Manipulating \n+0000f0c0: 736f 636b 6574 206f 7074 696f 6e73 3a20 socket options: \n+0000f0d0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+0000f0e0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000f0f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000f100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f130: 2028 6c69 6e65 2020 3629 0a2a 204d 616e (line 6).* Man\n+0000f140: 6970 756c 6174 696e 6720 736f 636b 6574 ipulating socket\n+0000f150: 206f 7074 696f 6e73 203c 313e 3a20 2020 options <1>: \n+0000f160: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+0000f170: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000f180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f1c0: 2020 3629 0a2a 204d 626f 6e65 3a20 2020 6).* Mbone: \n+0000f1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1e0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000f1f0: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+0000f200: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+0000f210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f240: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f250: 2020 3629 0a2a 204d 756c 7469 6361 7374 6).* Multicast\n+0000f260: 2073 6f63 6b65 7473 3a20 2020 2020 2020 sockets: \n+0000f270: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000f280: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+0000f290: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+0000f2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f2d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f2e0: 2020 3629 0a2a 204d 756c 7469 6361 7374 6).* Multicast\n+0000f2f0: 5f53 6f63 6b65 745f 4644 3a20 2020 2020 _Socket_FD: \n+0000f300: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000f310: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+0000f320: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+0000f330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f360: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f370: 2031 3629 0a2a 204d 756c 7469 6361 7374 16).* Multicast\n+0000f380: 5f53 6f63 6b65 745f 4644 203c 313e 3a20 _Socket_FD <1>: \n+0000f390: 2020 2020 2020 2020 2020 2020 2020 536f So\n+0000f3a0: 636b 6574 732e 4d75 6c74 6963 6173 7420 ckets.Multicast \n+0000f3b0: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \n+0000f3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3f0: 2020 2020 2020 2020 286c 696e 6520 2038 (line 8\n+0000f400: 290a 2a20 4e61 6d65 5f4f 663a 2020 2020 ).* Name_Of: \n+0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f420: 2020 2020 2020 2020 2020 204e 616d 655f Name_\n+0000f430: 4f66 2028 6675 6e63 7469 6f6e 292e 2020 Of (function). \n+0000f440: 2028 6c69 6e65 2020 3929 0a2a 204e 616d (line 9).* Nam\n+0000f450: 696e 675f 4572 726f 723a 2020 2020 2020 ing_Error: \n+0000f460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f470: 2020 2020 4164 6472 6573 735f 4f66 2028 Address_Of (\n+0000f480: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+0000f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000f4d0: 3233 290a 2a20 4e61 6d69 6e67 5f45 7272 23).* Naming_Err\n+0000f4e0: 6f72 203c 313e 3a20 2020 2020 2020 2020 or <1>: \n+0000f4f0: 2020 2020 2020 2020 2020 2020 2049 6e66 Inf\n+0000f500: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000f510: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+0000f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f550: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f560: 2032 3729 0a2a 204e 616d 696e 675f 4572 27).* Naming_Er\n+0000f570: 726f 7220 3c32 3e3a 2020 2020 2020 2020 ror <2>: \n+0000f580: 2020 2020 2020 2020 2020 2020 2020 4e61 Na\n+0000f590: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n+0000f5a0: 2e20 2020 286c 696e 6520 3231 290a 2a20 . (line 21).* \n+0000f5b0: 4e65 775f 4c69 6e65 3a20 2020 2020 2020 New_Line: \n+0000f5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f5d0: 2020 2020 2020 204e 6577 5f4c 696e 6520 New_Line \n+0000f5e0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+0000f5f0: 6e65 2020 3929 0a2a 2050 465f 494e 4554 ne 9).* PF_INET\n+0000f600: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f620: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+0000f630: 6529 2e20 2020 286c 696e 6520 3230 290a e). (line 20).\n+0000f640: 2a20 5075 743a 2020 2020 2020 2020 2020 * Put: \n+0000f650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f660: 2020 2020 2020 2020 2050 7574 2028 7072 Put (pr\n+0000f670: 6f63 6564 7572 6529 2e20 2020 2020 2028 ocedure). (\n+0000f680: 6c69 6e65 2020 3929 0a2a 2050 7574 5f4c line 9).* Put_L\n+0000f690: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n+0000f6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6b0: 2020 5075 745f 4c69 6e65 2028 7072 6f63 Put_Line (proc\n+0000f6c0: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9\n+0000f6d0: 290a 2a20 5261 7720 6461 7461 206d 616e ).* Raw data man\n+0000f6e0: 6970 756c 6174 696f 6e3a 2020 2020 2020 ipulation: \n+0000f6f0: 2020 2020 2020 2020 2020 2052 6177 2064 Raw d\n+0000f700: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e ata manipulation\n+0000f710: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000f720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f750: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000f760: 6569 7665 3a20 2020 2020 2020 2020 2020 eive: \n+0000f770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f780: 2020 2020 5265 6365 6976 6520 2866 756e Receive (fun\n+0000f790: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n+0000f7a0: 2039 290a 2a20 5265 6365 6976 6520 3c31 9).* Receive <1\n+0000f7b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f7c0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000f7d0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+0000f7e0: 2e20 2028 6c69 6e65 2020 3929 0a2a 2052 . (line 9).* R\n+0000f7f0: 6563 6569 7665 203c 323e 3a20 2020 2020 eceive <2>: \n+0000f800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f810: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n+0000f820: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000f830: 6520 3137 290a 2a20 5265 6365 6976 655f e 17).* Receive_\n+0000f840: 536f 6d65 3a20 2020 2020 2020 2020 2020 Some: \n+0000f850: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000f860: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+0000f870: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000f880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f8b0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000f8c0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000f8d0: 7461 3a20 2020 2020 2020 2020 2020 2020 ta: \n+0000f8e0: 2020 2020 2020 2020 2020 2053 656e 6469 Sendi\n+0000f8f0: 6e67 2061 6e64 2072 6563 6569 7669 6e67 ng and receiving\n+0000f900: 2064 6174 612e 0a20 2020 2020 2020 2020 data.. \n+0000f910: 2020 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+0000f940: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000f950: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n+0000f960: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000f970: 2020 2020 2020 2020 2047 6574 2028 6675 Get (fu\n+0000f980: 6e63 7469 6f6e 292e 2020 2020 2020 2028 nction). (\n+0000f990: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n+0000f9a0: 7669 6e67 2064 6174 6120 3c32 3e3a 2020 ving data <2>: \n+0000f9b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9c0: 2020 4765 745f 4368 6172 2028 6675 6e63 Get_Char (func\n+0000f9d0: 7469 6f6e 292e 2020 286c 696e 6520 2036 tion). (line 6\n+0000f9e0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000f9f0: 7461 203c 333e 3a20 2020 2020 2020 2020 ta <3>: \n+0000fa00: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n+0000fa10: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n+0000fa20: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fa30: 6569 7669 6e67 2064 6174 6120 3c34 3e3a eiving data <4>:\n+0000fa40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fa50: 2020 2020 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n+0000fa60: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+0000fa70: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000fa80: 6461 7461 203c 353e 3a20 2020 2020 2020 data <5>: \n+0000fa90: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000faa0: 5f52 6563 6569 7665 5f51 7565 7565 5f53 _Receive_Queue_S\n+0000fab0: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n+0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000faf0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000fb00: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n+0000fb10: 7669 6e67 2064 6174 6120 3c36 3e3a 2020 ving data <6>: \n+0000fb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fb30: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n+0000fb40: 696f 6e29 2e20 2020 286c 696e 6520 2036 ion). (line 6\n+0000fb50: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000fb60: 7461 203c 373e 3a20 2020 2020 2020 2020 ta <7>: \n+0000fb70: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000fb80: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n+0000fb90: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000fba0: 6569 7669 6e67 2064 6174 6120 3c38 3e3a eiving data <8>:\n+0000fbb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fbc0: 2020 2020 5265 6365 6976 655f 536f 6d65 Receive_Some\n+0000fbd0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000fbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc10: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000fc20: 6e65 2020 3629 0a2a 2052 6563 6569 7669 ne 6).* Receivi\n+0000fc30: 6e67 2064 6174 6120 3c39 3e3a 2020 2020 ng data <9>: \n+0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc50: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+0000fc60: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000fc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fc90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fca0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0000fcb0: 0a2a 2052 6563 6569 7669 6e67 2064 6174 .* Receiving dat\n+0000fcc0: 6120 3c31 303e 3a20 2020 2020 2020 2020 a <10>: \n+0000fcd0: 2020 2020 2020 2020 2020 556e 7365 745f Unset_\n+0000fce0: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+0000fcf0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+0000fd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd30: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n+0000fd40: 6570 6f72 7469 6e67 2061 2062 7567 3a20 eporting a bug: \n+0000fd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd60: 2020 2020 2020 5265 736f 7572 6365 7320 Resources \n+0000fd70: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n+0000fd80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000fd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fdb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fdc0: 286c 696e 6520 2036 290a 2a20 5265 7072 (line 6).* Repr\n+0000fdd0: 6573 656e 7469 6e67 2049 5020 6164 6472 esenting IP addr\n+0000fde0: 6573 7365 733a 2020 2020 2020 2020 2020 esses: \n+0000fdf0: 2020 2049 6d61 6765 2028 6675 6e63 7469 Image (functi\n+0000fe00: 6f6e 292e 2020 2020 2028 6c69 6e65 2020 on). (line \n+0000fe10: 3629 0a2a 2052 6570 7265 7365 6e74 696e 6).* Representin\n+0000fe20: 6720 4950 2061 6464 7265 7373 6573 203c g IP addresses <\n+0000fe30: 313e 3a20 2020 2020 2020 2020 5661 6c75 1>: Valu\n+0000fe40: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+0000fe50: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000fe60: 7472 6965 7669 6e67 2073 6f63 6b65 7420 trieving socket \n+0000fe70: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n+0000fe80: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+0000fe90: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000fea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000feb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fed0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000fee0: 6520 2036 290a 2a20 5365 6e64 3a20 2020 e 6).* Send: \n+0000fef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff00: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000ff10: 656e 6420 2870 726f 6365 6475 7265 292e end (procedure).\n+0000ff20: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000ff30: 2053 656e 6420 3c31 3e3a 2020 2020 2020 Send <1>: \n+0000ff40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff50: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown\n+0000ff60: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+0000ff70: 696e 6520 3137 290a 2a20 5365 6e64 696e ine 17).* Sendin\n+0000ff80: 6720 6461 7461 3a20 2020 2020 2020 2020 g data: \n+0000ff90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ffa0: 2053 656e 6469 6e67 2061 6e64 2072 6563 Sending and rec\n+0000ffb0: 6569 7669 6e67 2064 6174 612e 0a20 2020 eiving data.. \n+0000ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ffd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ffe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fff0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00010000: 6520 2036 290a 2a20 5365 6e64 696e 6720 e 6).* Sending \n+00010010: 6461 7461 203c 313e 3a20 2020 2020 2020 data <1>: \n+00010020: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00010030: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n+00010040: 7a65 2028 6675 6e63 7469 6f6e 292e 0a20 ze (function).. \n+00010050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010080: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00010090: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n+000100a0: 6720 6461 7461 203c 323e 3a20 2020 2020 g data <2>: \n+000100b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100c0: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+000100d0: 6475 7265 292e 2028 6c69 6e65 2020 3629 dure). (line 6)\n+000100e0: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n+000100f0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n+00010100: 2020 2020 2020 2020 2020 5075 7420 2870 Put (p\n+00010110: 726f 6365 6475 7265 292e 2020 2020 2020 rocedure). \n+00010120: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n+00010130: 696e 6720 6461 7461 203c 343e 3a20 2020 ing data <4>: \n+00010140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010150: 2020 2050 7574 5f4c 696e 6520 2870 726f Put_Line (pro\n+00010160: 6365 6475 7265 292e 2028 6c69 6e65 2020 cedure). (line \n+00010170: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat\n+00010180: 6120 3c35 3e3a 2020 2020 2020 2020 2020 a <5>: \n+00010190: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+000101a0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+000101b0: 2020 286c 696e 6520 2036 290a 2a20 5365 (line 6).* Se\n+000101c0: 6e64 696e 6720 7061 7463 6865 733a 2020 nding patches: \n+000101d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101e0: 2020 2020 2052 6573 6f75 7263 6573 206f Resources o\n+000101f0: 6e20 7468 6520 496e 7465 726e 6574 2e0a n the Internet..\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: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010240: 6c69 6e65 2020 3629 0a2a 2053 6574 736f line 6).* Setso\n+00010250: 636b 6f70 743a 2020 2020 2020 2020 2020 ckopt: \n+00010260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010270: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00010280: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \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 2020 2020 2020 \n+000102c0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000102d0: 3929 0a2a 2053 6574 7469 6e67 2073 6f63 9).* Setting soc\n+000102e0: 6b65 7420 6f70 7469 6f6e 733a 2020 2020 ket options: \n+000102f0: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00010300: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00010310: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00010320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010350: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+00010360: 6574 5f42 7566 6665 723a 2020 2020 2020 et_Buffer: \n+00010370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010380: 2020 2020 2020 5365 745f 4275 6666 6572 Set_Buffer\n+00010390: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \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: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000103e0: 6e65 2020 3929 0a2a 2053 6875 7464 6f77 ne 9).* Shutdow\n+000103f0: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+00010400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010410: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+00010420: 7572 6529 2e20 286c 696e 6520 2039 290a ure). (line 9).\n+00010430: 2a20 536f 636b 6574 3a20 2020 2020 2020 * Socket: \n+00010440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010450: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+00010460: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock\n+00010470: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. \n+00010480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104b0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+000104c0: 536f 636b 6574 203c 313e 3a20 2020 2020 Socket <1>: \n+000104d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000104e0: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p\n+000104f0: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li\n+00010500: 6e65 2020 3929 0a2a 2053 6f63 6b65 7420 ne 9).* Socket \n+00010510: 7368 7574 646f 776e 3a20 2020 2020 2020 shutdown: \n+00010520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010530: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+00010540: 7572 6529 2e20 286c 696e 6520 2036 290a ure). (line 6).\n+00010550: 2a20 536f 636b 6574 732e 4163 6365 7074 * Sockets.Accept\n+00010560: 5f53 6f63 6b65 743a 2020 2020 2020 2020 _Socket: \n+00010570: 2020 2020 2020 2020 2041 6363 6570 745f Accept_\n+00010580: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00010590: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+000105a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000105d0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+000105e0: 6f63 6b65 7473 2e42 696e 643a 2020 2020 ockets.Bind: \n+000105f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010600: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc\n+00010610: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n+00010620: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+00010630: 436f 6e6e 6563 743a 2020 2020 2020 2020 Connect: \n+00010640: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00010650: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n+00010660: 6529 2e20 2028 6c69 6e65 2031 3229 0a2a e). (line 12).*\n+00010670: 2053 6f63 6b65 7473 2e47 6574 3a20 2020 Sockets.Get: \n+00010680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010690: 2020 2020 2020 2020 4765 7420 2866 756e Get (fun\n+000106a0: 6374 696f 6e29 2e20 2020 2020 2020 286c ction). (l\n+000106b0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+000106c0: 732e 4765 7473 6f63 6b6f 7074 3a20 2020 s.Getsockopt: \n+000106d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000106e0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+000106f0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00010700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010730: 2020 2020 2020 2020 286c 696e 6520 3133 (line 13\n+00010740: 290a 2a20 536f 636b 6574 732e 4765 745f ).* Sockets.Get_\n+00010750: 4368 6172 3a20 2020 2020 2020 2020 2020 Char: \n+00010760: 2020 2020 2020 2020 2020 2047 6574 5f43 Get_C\n+00010770: 6861 7220 2866 756e 6374 696f 6e29 2e20 har (function). \n+00010780: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00010790: 6b65 7473 2e47 6574 5f4c 696e 653a 2020 kets.Get_Line: \n+000107a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107b0: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n+000107c0: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n+000107d0: 3133 290a 2a20 536f 636b 6574 732e 4765 13).* Sockets.Ge\n+000107e0: 745f 4c69 6e65 203c 313e 3a20 2020 2020 t_Line <1>: \n+000107f0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+00010800: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00010810: 292e 2028 6c69 6e65 2031 3229 0a2a 2053 ). (line 12).* S\n+00010820: 6f63 6b65 7473 2e47 6574 5f52 6563 6569 ockets.Get_Recei\n+00010830: 7665 5f51 7565 7565 5f53 697a 653a 2020 ve_Queue_Size: \n+00010840: 2020 2020 2020 4765 745f 5265 6365 6976 Get_Receiv\n+00010850: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+00010860: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+00010870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108a0: 2020 2020 2020 2020 286c 696e 6520 3133 (line 13\n+000108b0: 290a 2a20 536f 636b 6574 732e 4765 745f ).* Sockets.Get_\n+000108c0: 5365 6e64 5f51 7565 7565 5f53 697a 653a Send_Queue_Size:\n+000108d0: 2020 2020 2020 2020 2020 2047 6574 5f53 Get_S\n+000108e0: 656e 645f 5175 6575 655f 5369 7a65 2028 end_Queue_Size (\n+000108f0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+00010900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010930: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00010940: 3133 290a 2a20 536f 636b 6574 732e 4950 13).* Sockets.IP\n+00010950: 5052 4f54 4f5f 4950 3a20 2020 2020 2020 PROTO_IP: \n+00010960: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+00010970: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00010980: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00010990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109c0: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+000109d0: 536f 636b 6574 732e 4950 5052 4f54 4f5f Sockets.IPPROTO_\n+000109e0: 4950 203c 313e 3a20 2020 2020 2020 2020 IP <1>: \n+000109f0: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00010a00: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00010a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a40: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00010a50: 696e 6520 3231 290a 2a20 536f 636b 6574 ine 21).* Socket\n+00010a60: 732e 4950 5f41 4444 5f4d 454d 4245 5253 s.IP_ADD_MEMBERS\n+00010a70: 4849 503a 2020 2020 2020 2020 2020 2020 HIP: \n+00010a80: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+00010a90: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00010aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ad0: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21\n+00010ae0: 290a 2a20 536f 636b 6574 732e 4950 5f41 ).* Sockets.IP_A\n+00010af0: 4444 5f4d 454d 4245 5253 4849 5020 3c31 DD_MEMBERSHIP <1\n+00010b00: 3e3a 2020 2020 2020 2020 2053 6574 736f >: Setso\n+00010b10: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00010b20: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00010b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b60: 2020 286c 696e 6520 3231 290a 2a20 536f (line 21).* So\n+00010b70: 636b 6574 732e 4950 5f44 524f 505f 4d45 ckets.IP_DROP_ME\n+00010b80: 4d42 4552 5348 4950 3a20 2020 2020 2020 MBERSHIP: \n+00010b90: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+00010ba0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \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 2020 2020 2020 2020 2020 286c 696e (lin\n+00010bf0: 6520 3231 290a 2a20 536f 636b 6574 732e e 21).* Sockets.\n+00010c00: 4950 5f44 524f 505f 4d45 4d42 4552 5348 IP_DROP_MEMBERSH\n+00010c10: 4950 203c 313e 3a20 2020 2020 2020 2053 IP <1>: S\n+00010c20: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00010c30: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00010c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c70: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+00010c80: 2a20 536f 636b 6574 732e 4950 5f4d 554c * Sockets.IP_MUL\n+00010c90: 5449 4341 5354 5f4c 4f4f 503a 2020 2020 TICAST_LOOP: \n+00010ca0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00010cb0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00010cc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00010cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d00: 286c 696e 6520 3231 290a 2a20 536f 636b (line 21).* Sock\n+00010d10: 6574 732e 4950 5f4d 554c 5449 4341 5354 ets.IP_MULTICAST\n+00010d20: 5f4c 4f4f 5020 3c31 3e3a 2020 2020 2020 _LOOP <1>: \n+00010d30: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00010d40: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00010d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d80: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00010d90: 3231 290a 2a20 536f 636b 6574 732e 4950 21).* Sockets.IP\n+00010da0: 5f4d 554c 5449 4341 5354 5f54 544c 3a20 _MULTICAST_TTL: \n+00010db0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+00010dc0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00010dd0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00010de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010df0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e10: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+00010e20: 536f 636b 6574 732e 4950 5f4d 554c 5449 Sockets.IP_MULTI\n+00010e30: 4341 5354 5f54 544c 203c 313e 3a20 2020 CAST_TTL <1>: \n+00010e40: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00010e50: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00010e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010e90: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00010ea0: 696e 6520 3231 290a 2a20 536f 636b 6574 ine 21).* Socket\n+00010eb0: 732e 4c69 7374 656e 3a20 2020 2020 2020 s.Listen: \n+00010ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ed0: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+00010ee0: 7265 292e 2020 2028 6c69 6e65 2031 3129 re). (line 11)\n+00010ef0: 0a2a 2053 6f63 6b65 7473 2e4d 756c 7469 .* Sockets.Multi\n+00010f00: 6361 7374 2e43 7265 6174 655f 4d75 6c74 cast.Create_Mult\n+00010f10: 6963 6173 745f 536f 636b 6574 3a20 5365 icast_Socket: Se\n+00010f20: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica\n+00010f30: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+00010f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00010f80: 2031 3629 0a2a 2053 6f63 6b65 7473 2e4d 16).* Sockets.M\n+00010f90: 756c 7469 6361 7374 2e43 7265 6174 655f ulticast.Create_\n+00010fa0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00010fb0: 203c 313e 3a20 4372 6561 7465 5f4d 756c <1>: Create_Mul\n+00010fc0: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n+00010fd0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n+00010fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011000: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011010: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+00011020: 3529 0a2a 2053 6f63 6b65 7473 2e4d 756c 5).* Sockets.Mul\n+00011030: 7469 6361 7374 2e43 7265 6174 655f 4d75 ticast.Create_Mu\n+00011040: 6c74 6963 6173 745f 536f 636b 6574 203c lticast_Socket <\n+00011050: 323e 3a20 2e20 2020 2020 2020 2020 2020 2>: . \n+00011060: 2020 286c 696e 6520 3832 290a 2a20 536f (line 82).* So\n+00011070: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add\n+00011080: 7265 7373 5f4f 663a 2020 2020 2020 2020 ress_Of: \n+00011090: 2020 2020 2041 6464 7265 7373 5f4f 6620 Address_Of \n+000110a0: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. \n+000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110e0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000110f0: 2031 3429 0a2a 2053 6f63 6b65 7473 2e4e 14).* Sockets.N\n+00011100: 616d 696e 672e 416e 795f 4164 6472 6573 aming.Any_Addres\n+00011110: 733a 2020 2020 2020 2020 2020 2020 416e s: An\n+00011120: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct\n+00011130: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+00011140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011170: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n+00011180: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00011190: 4765 745f 5065 6572 5f41 6464 723a 2020 Get_Peer_Addr: \n+000111a0: 2020 2020 2020 2020 4765 745f 5065 6572 Get_Peer\n+000111b0: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+000111c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000111d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000111f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011200: 2028 6c69 6e65 2031 3429 0a2a 2053 6f63 (line 14).* Soc\n+00011210: 6b65 7473 2e4e 616d 696e 672e 4765 745f kets.Naming.Get_\n+00011220: 5065 6572 5f50 6f72 743a 2020 2020 2020 Peer_Port: \n+00011230: 2020 2020 4765 745f 5065 6572 5f50 6f72 Get_Peer_Por\n+00011240: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. \n+00011250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011280: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011290: 6e65 2031 3429 0a2a 2053 6f63 6b65 7473 ne 14).* Sockets\n+000112a0: 2e4e 616d 696e 672e 4765 745f 536f 636b .Naming.Get_Sock\n+000112b0: 5f41 6464 723a 2020 2020 2020 2020 2020 _Addr: \n+000112c0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+000112d0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n+000112e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011310: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+00011320: 3429 0a2a 2053 6f63 6b65 7473 2e4e 616d 4).* Sockets.Nam\n+00011330: 696e 672e 4765 745f 536f 636b 5f50 6f72 ing.Get_Sock_Por\n+00011340: 743a 2020 2020 2020 2020 2020 4765 745f t: Get_\n+00011350: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct\n+00011360: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+00011370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113a0: 2020 2020 2028 6c69 6e65 2031 3429 0a2a (line 14).*\n+000113b0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+000113c0: 486f 7374 5f4e 616d 653a 2020 2020 2020 Host_Name: \n+000113d0: 2020 2020 2020 2020 486f 7374 5f4e 616d Host_Nam\n+000113e0: 6520 2866 756e 6374 696f 6e29 2e20 286c e (function). (l\n+000113f0: 696e 6520 3130 290a 2a20 536f 636b 6574 ine 10).* Socket\n+00011400: 732e 4e61 6d69 6e67 2e49 6d61 6765 3a20 s.Naming.Image: \n+00011410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011420: 2049 6d61 6765 2028 6675 6e63 7469 6f6e Image (function\n+00011430: 292e 2020 2020 2028 6c69 6e65 2031 3229 ). (line 12)\n+00011440: 0a2a 2053 6f63 6b65 7473 2e4e 616d 696e .* Sockets.Namin\n+00011450: 672e 496e 666f 5f4f 665f 4e61 6d65 5f4f g.Info_Of_Name_O\n+00011460: 725f 4950 3a20 2020 2020 496e 666f 5f4f r_IP: Info_O\n+00011470: 665f 4e61 6d65 5f4f 725f 4950 2028 6675 f_Name_Or_IP (fu\n+00011480: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+00011490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114c0: 2020 2020 2020 2020 286c 696e 6520 3134 (line 14\n+000114d0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+000114e0: 6e67 2e49 735f 4950 5f41 6464 7265 7373 ng.Is_IP_Address\n+000114f0: 3a20 2020 2020 2020 2020 2049 735f 4950 : Is_IP\n+00011500: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+00011510: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00011520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011550: 2020 2020 286c 696e 6520 3134 290a 2a20 (line 14).* \n+00011560: 536f 636b 6574 732e 4e61 6d69 6e67 2e4e Sockets.Naming.N\n+00011570: 616d 655f 4f66 3a20 2020 2020 2020 2020 ame_Of: \n+00011580: 2020 2020 2020 204e 616d 655f 4f66 2028 Name_Of (\n+00011590: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n+000115a0: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets\n+000115b0: 2e4e 616d 696e 672e 5661 6c75 653a 2020 .Naming.Value: \n+000115c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115d0: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function)\n+000115e0: 2e20 2020 2020 286c 696e 6520 3132 290a . (line 12).\n+000115f0: 2a20 536f 636b 6574 732e 4e65 775f 4c69 * Sockets.New_Li\n+00011600: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+00011610: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin\n+00011620: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+00011630: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n+00011640: 7473 2e50 7574 3a20 2020 2020 2020 2020 ts.Put: \n+00011650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011660: 2020 5075 7420 2870 726f 6365 6475 7265 Put (procedure\n+00011670: 292e 2020 2020 2020 286c 696e 6520 3132 ). (line 12\n+00011680: 290a 2a20 536f 636b 6574 732e 5075 745f ).* Sockets.Put_\n+00011690: 4c69 6e65 3a20 2020 2020 2020 2020 2020 Line: \n+000116a0: 2020 2020 2020 2020 2020 2050 7574 5f4c Put_L\n+000116b0: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n+000116c0: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+000116d0: 6b65 7473 2e52 6563 6569 7665 3a20 2020 kets.Receive: \n+000116e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116f0: 2020 2020 5265 6365 6976 6520 2866 756e Receive (fun\n+00011700: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line \n+00011710: 3134 290a 2a20 536f 636b 6574 732e 5265 14).* Sockets.Re\n+00011720: 6365 6976 6520 3c31 3e3a 2020 2020 2020 ceive <1>: \n+00011730: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+00011740: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00011750: 2e20 2028 6c69 6e65 2031 3129 0a2a 2053 . (line 11).* S\n+00011760: 6f63 6b65 7473 2e52 6563 6569 7665 5f53 ockets.Receive_S\n+00011770: 6f6d 653a 2020 2020 2020 2020 2020 2020 ome: \n+00011780: 2020 2020 2020 5265 6365 6976 655f 536f Receive_So\n+00011790: 6d65 2028 7072 6f63 6564 7572 6529 2e0a me (procedure)..\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 2020 2020 2028 (\n+000117e0: 6c69 6e65 2031 3629 0a2a 2053 6f63 6b65 line 16).* Socke\n+000117f0: 7473 2e53 656e 643a 2020 2020 2020 2020 ts.Send: \n+00011800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011810: 2020 5365 6e64 2028 7072 6f63 6564 7572 Send (procedur\n+00011820: 6529 2e20 2020 2020 286c 696e 6520 3132 e). (line 12\n+00011830: 290a 2a20 536f 636b 6574 732e 5365 7473 ).* Sockets.Sets\n+00011840: 6f63 6b6f 7074 3a20 2020 2020 2020 2020 ockopt: \n+00011850: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+00011860: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00011870: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00011880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118b0: 2020 286c 696e 6520 3133 290a 2a20 536f (line 13).* So\n+000118c0: 636b 6574 732e 5365 745f 4275 6666 6572 ckets.Set_Buffer\n+000118d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000118e0: 2020 2020 2053 6574 5f42 7566 6665 7220 Set_Buffer \n+000118f0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+00011900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011930: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011940: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+00011950: 5368 7574 646f 776e 3a20 2020 2020 2020 Shutdown: \n+00011960: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00011970: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+00011980: 7265 292e 2028 6c69 6e65 2031 3129 0a2a re). (line 11).*\n+00011990: 2053 6f63 6b65 7473 2e53 6f63 6b65 743a Sockets.Socket:\n+000119a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119b0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+000119c0: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke\n+000119d0: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n+000119e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a10: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n+00011a20: 6f63 6b65 7473 2e53 6f63 6b65 7420 3c31 ockets.Socket <1\n+00011a30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00011a40: 2020 2020 2020 536f 636b 6574 2028 7072 Socket (pr\n+00011a50: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n+00011a60: 6520 3133 290a 2a20 536f 636b 6574 732e e 13).* Sockets.\n+00011a70: 534f 4c5f 534f 434b 4554 3a20 2020 2020 SOL_SOCKET: \n+00011a80: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00011a90: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00011aa0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00011ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ae0: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+00011af0: 2a20 536f 636b 6574 732e 534f 4c5f 534f * Sockets.SOL_SO\n+00011b00: 434b 4554 203c 313e 3a20 2020 2020 2020 CKET <1>: \n+00011b10: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+00011b20: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00011b30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b70: 286c 696e 6520 3231 290a 2a20 536f 636b (line 21).* Sock\n+00011b80: 6574 732e 534f 5f52 4356 4255 463a 2020 ets.SO_RCVBUF: \n+00011b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ba0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p\n+00011bb0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00011bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011bf0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00011c00: 3231 290a 2a20 536f 636b 6574 732e 534f 21).* Sockets.SO\n+00011c10: 5f52 4356 4255 4620 3c31 3e3a 2020 2020 _RCVBUF <1>: \n+00011c20: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+00011c30: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00011c40: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+00011c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c80: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+00011c90: 536f 636b 6574 732e 534f 5f52 4555 5345 Sockets.SO_REUSE\n+00011ca0: 4144 4452 3a20 2020 2020 2020 2020 2020 ADDR: \n+00011cb0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop\n+00011cc0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00011cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d00: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011d10: 696e 6520 3231 290a 2a20 536f 636b 6574 ine 21).* Socket\n+00011d20: 732e 534f 5f52 4555 5345 4144 4452 203c s.SO_REUSEADDR <\n+00011d30: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00011d40: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n+00011d50: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+00011d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d90: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21\n+00011da0: 290a 2a20 536f 636b 6574 732e 534f 5f52 ).* Sockets.SO_R\n+00011db0: 4555 5345 504f 5254 3a20 2020 2020 2020 EUSEPORT: \n+00011dc0: 2020 2020 2020 2020 2020 2047 6574 736f Getso\n+00011dd0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00011de0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00011df0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e20: 2020 286c 696e 6520 3231 290a 2a20 536f (line 21).* So\n+00011e30: 636b 6574 732e 534f 5f52 4555 5345 504f ckets.SO_REUSEPO\n+00011e40: 5254 203c 313e 3a20 2020 2020 2020 2020 RT <1>: \n+00011e50: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt \n+00011e60: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+00011e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ea0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011eb0: 6520 3231 290a 2a20 536f 636b 6574 732e e 21).* Sockets.\n+00011ec0: 534f 5f53 4e44 4255 463a 2020 2020 2020 SO_SNDBUF: \n+00011ed0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00011ee0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00011ef0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00011f00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f30: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+00011f40: 2a20 536f 636b 6574 732e 534f 5f53 4e44 * Sockets.SO_SND\n+00011f50: 4255 4620 3c31 3e3a 2020 2020 2020 2020 BUF <1>: \n+00011f60: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n+00011f70: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00011f80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fc0: 286c 696e 6520 3231 290a 2a20 536f 636b (line 21).* Sock\n+00011fd0: 6574 732e 556e 7365 745f 4275 6666 6572 ets.Unset_Buffer\n+00011fe0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011ff0: 2020 2055 6e73 6574 5f42 7566 6665 7220 Unset_Buffer \n+00012000: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+00012010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012040: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012050: 6520 3132 290a 2a20 536f 636b 6574 5f45 e 12).* Socket_E\n+00012060: 7272 6f72 3a20 2020 2020 2020 2020 2020 rror: \n+00012070: 2020 2020 2020 2020 2020 2020 2020 2042 B\n+00012080: 696e 6420 2870 726f 6365 6475 7265 292e ind (procedure).\n+00012090: 2020 2020 2028 6c69 6e65 2033 3129 0a2a (line 31).*\n+000120a0: 2053 6f63 6b65 745f 4572 726f 7220 3c31 Socket_Error <1\n+000120b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+000120c0: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect \n+000120d0: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+000120e0: 696e 6520 3238 290a 2a20 536f 636b 6574 ine 28).* Socket\n+000120f0: 5f46 443a 2020 2020 2020 2020 2020 2020 _FD: \n+00012100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012110: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+00012120: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+00012130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012160: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012170: 6520 2036 290a 2a20 536f 636b 6574 5f46 e 6).* Socket_F\n+00012180: 4420 3c31 3e3a 2020 2020 2020 2020 2020 D <1>: \n+00012190: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+000121a0: 6f63 6b65 7473 2070 6163 6b61 6765 2e20 ockets package. \n+000121b0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+000121c0: 2053 4f43 4b5f 4447 5241 4d3a 2020 2020 SOCK_DGRAM: \n+000121d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121e0: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n+000121f0: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+00012200: 696e 6520 3230 290a 2a20 534f 434b 5f53 ine 20).* SOCK_S\n+00012210: 5452 4541 4d3a 2020 2020 2020 2020 2020 TREAM: \n+00012220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012230: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+00012240: 7265 292e 2020 2028 6c69 6e65 2032 3029 re). (line 20)\n+00012250: 0a2a 2053 4f4c 5f53 4f43 4b45 543a 2020 .* SOL_SOCKET: \n+00012260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012270: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+00012280: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00012290: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000122a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122d0: 2028 6c69 6e65 2032 3129 0a2a 2053 4f4c (line 21).* SOL\n+000122e0: 5f53 4f43 4b45 5420 3c31 3e3a 2020 2020 _SOCKET <1>: \n+000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012300: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00012310: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00012320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012350: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012360: 2032 3129 0a2a 2053 4f5f 5243 5642 5546 21).* SO_RCVBUF\n+00012370: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012380: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+00012390: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+000123a0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+000123b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123e0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n+000123f0: 2053 4f5f 5243 5642 5546 203c 313e 3a20 SO_RCVBUF <1>: \n+00012400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012410: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00012420: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00012430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012460: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012470: 6c69 6e65 2032 3129 0a2a 2053 4f5f 5245 line 21).* SO_RE\n+00012480: 5553 4541 4444 523a 2020 2020 2020 2020 USEADDR: \n+00012490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124a0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+000124b0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+000124c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000124f0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00012500: 3129 0a2a 2053 4f5f 5245 5553 4541 4444 1).* SO_REUSEADD\n+00012510: 5220 3c31 3e3a 2020 2020 2020 2020 2020 R <1>: \n+00012520: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00012530: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00012540: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00012550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012580: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n+00012590: 4f5f 5245 5553 4550 4f52 543a 2020 2020 O_REUSEPORT: \n+000125a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125b0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+000125c0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000125d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000125f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012600: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00012610: 6e65 2032 3129 0a2a 2053 4f5f 5245 5553 ne 21).* SO_REUS\n+00012620: 4550 4f52 5420 3c31 3e3a 2020 2020 2020 EPORT <1>: \n+00012630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012640: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00012650: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012690: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n+000126a0: 0a2a 2053 4f5f 534e 4442 5546 3a20 2020 .* SO_SNDBUF: \n+000126b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126c0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+000126d0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000126e0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012710: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012720: 2028 6c69 6e65 2032 3129 0a2a 2053 4f5f (line 21).* SO_\n+00012730: 534e 4442 5546 203c 313e 3a20 2020 2020 SNDBUF <1>: \n+00012740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012750: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00012760: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00012770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000127b0: 2032 3129 0a2a 2053 7472 6561 6d5f 456c 21).* Stream_El\n+000127c0: 656d 656e 745f 4172 7261 793a 2020 2020 ement_Array: \n+000127d0: 2020 2020 2020 2020 2020 2020 2020 5261 Ra\n+000127e0: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat\n+000127f0: 696f 6e2e 0a20 2020 2020 2020 2020 2020 ion.. \n+00012800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012830: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+00012840: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A\n+00012850: 7272 6179 203c 313e 3a20 2020 2020 2020 rray <1>: \n+00012860: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n+00012870: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n+00012880: 6e65 2032 3429 0a2a 2053 7472 6561 6d5f ne 24).* Stream_\n+00012890: 456c 656d 656e 745f 4172 7261 7920 3c32 Element_Array <2\n+000128a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+000128b0: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+000128c0: 7265 292e 2020 286c 696e 6520 3138 290a re). (line 18).\n+000128d0: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element\n+000128e0: 5f41 7272 6179 203c 333e 3a20 2020 2020 _Array <3>: \n+000128f0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+00012900: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n+00012910: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00012920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012950: 2020 286c 696e 6520 3234 290a 2a20 5374 (line 24).* St\n+00012960: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n+00012970: 6179 203c 343e 3a20 2020 2020 2020 2020 ay <4>: \n+00012980: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce\n+00012990: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n+000129a0: 2031 3829 0a2a 2053 7472 6561 6d5f 456c 18).* Stream_El\n+000129b0: 656d 656e 745f 436f 756e 743a 2020 2020 ement_Count: \n+000129c0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+000129d0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+000129e0: 2e20 2020 286c 696e 6520 3234 290a 2a20 . (line 24).* \n+000129f0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C\n+00012a00: 6f75 6e74 203c 313e 3a20 2020 2020 2020 ount <1>: \n+00012a10: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S\n+00012a20: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure).\n+00012a30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00012a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a70: 286c 696e 6520 3234 290a 2a20 5374 7269 (line 24).* Stri\n+00012a80: 6e67 5f41 6363 6573 733a 2020 2020 2020 ng_Access: \n+00012a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012aa0: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin\n+00012ab0: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. \n+00012ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012af0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00012b00: 3338 290a 2a20 5374 7269 6e67 5f41 7272 38).* String_Arr\n+00012b10: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: \n+00012b20: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00012b30: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack\n+00012b40: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. \n+00012b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012b80: 2020 2020 286c 696e 6520 3431 290a 2a20 (line 41).* \n+00012b90: 5375 6767 6573 7469 6e67 2061 2066 6561 Suggesting a fea\n+00012ba0: 7475 7265 3a20 2020 2020 2020 2020 2020 ture: \n+00012bb0: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources\n+00012bc0: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet\n+00012bd0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00012be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c10: 2028 6c69 6e65 2020 3629 0a2a 2054 4350 (line 6).* TCP\n+00012c20: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n+00012c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c40: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n+00012c50: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n+00012c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012c90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012ca0: 6c69 6e65 2020 3629 0a2a 2055 4450 2073 line 6).* UDP s\n+00012cb0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: \n+00012cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012cd0: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni\n+00012ce0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. \n+00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00012d30: 6e65 2020 3629 0a2a 2055 6e69 6361 7374 ne 6).* Unicast\n+00012d40: 2073 6f63 6b65 7473 3a20 2020 2020 2020 sockets: \n+00012d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d60: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+00012d70: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+00012d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012db0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012dc0: 2020 3629 0a2a 2055 6e73 6574 5f42 7566 6).* Unset_Buf\n+00012dd0: 6665 723a 2020 2020 2020 2020 2020 2020 fer: \n+00012de0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+00012df0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00012e00: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00012e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e40: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+00012e50: 0a2a 2056 616c 7565 3a20 2020 2020 2020 .* Value: \n+00012e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012e70: 2020 2020 2020 2020 2020 5661 6c75 6520 Value \n+00012e80: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). \n+00012e90: 286c 696e 6520 2039 290a 0a0a 1f0a 5461 (line 9).....Ta\n+00012ea0: 6720 5461 626c 653a 0a4e 6f64 653a 2054 g Table:.Node: T\n+00012eb0: 6f70 7f38 3137 0a4e 6f64 653a 2057 6861 op.817.Node: Wha\n+00012ec0: 7420 6973 2041 6461 536f 636b 6574 733f t is AdaSockets?\n+00012ed0: 7f31 3339 300a 4e6f 6465 3a20 496e 7374 .1390.Node: Inst\n+00012ee0: 616c 6c69 6e67 2041 6461 536f 636b 6574 alling AdaSocket\n+00012ef0: 737f 3232 3833 0a4e 6f64 653a 2055 7369 s.2283.Node: Usi\n+00012f00: 6e67 2041 6461 536f 636b 6574 737f 3332 ng AdaSockets.32\n+00012f10: 3730 0a4e 6f64 653a 2043 6f6d 7069 6c69 70.Node: Compili\n+00012f20: 6e67 2061 6e20 4164 6120 6170 706c 6963 ng an Ada applic\n+00012f30: 6174 696f 6e7f 3335 3631 0a4e 6f64 653a ation.3561.Node:\n+00012f40: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n+00012f50: 6173 7420 736f 636b 6574 737f 3431 3838 ast sockets.4188\n+00012f60: 0a4e 6f64 653a 2053 6574 7469 6e67 2075 .Node: Setting u\n+00012f70: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock\n+00012f80: 6574 737f 3534 3934 0a4e 6f64 653a 2053 ets.5494.Node: S\n+00012f90: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei\n+00012fa0: 7669 6e67 2064 6174 617f 3638 3233 0a4e ving data.6823.N\n+00012fb0: 6f64 653a 2052 6177 2064 6174 6120 6d61 ode: Raw data ma\n+00012fc0: 6e69 7075 6c61 7469 6f6e 7f37 3138 350a nipulation.7185.\n+00012fd0: 4e6f 6465 3a20 5374 7269 6e67 2d6f 7269 Node: String-ori\n+00012fe0: 656e 7465 6420 6578 6368 616e 6765 737f ented exchanges.\n+00012ff0: 3735 3835 0a4e 6f64 653a 2053 6f63 6b65 7585.Node: Socke\n+00013000: 7473 2070 6163 6b61 6765 7f38 3638 320a ts package.8682.\n+00013010: 4e6f 6465 3a20 4163 6365 7074 5f53 6f63 Node: Accept_Soc\n+00013020: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure).\n+00013030: 3130 3934 390a 4e6f 6465 3a20 4269 6e64 10949.Node: Bind\n+00013040: 2028 7072 6f63 6564 7572 6529 7f31 3333 (procedure).133\n+00013050: 3438 0a4e 6f64 653a 2043 6f6e 6e65 6374 48.Node: Connect\n+00013060: 2028 7072 6f63 6564 7572 6529 7f31 3436 (procedure).146\n+00013070: 3231 0a4e 6f64 653a 2047 6574 2028 6675 21.Node: Get (fu\n+00013080: 6e63 7469 6f6e 297f 3135 3635 330a 4e6f nction).15653.No\n+00013090: 6465 3a20 4765 745f 4368 6172 2028 6675 de: Get_Char (fu\n+000130a0: 6e63 7469 6f6e 297f 3136 3835 300a 4e6f nction).16850.No\n+000130b0: 6465 3a20 4765 745f 4c69 6e65 2028 6675 de: Get_Line (fu\n+000130c0: 6e63 7469 6f6e 297f 3137 3731 310a 4e6f nction).17711.No\n+000130d0: 6465 3a20 4765 745f 4c69 6e65 2028 7072 de: Get_Line (pr\n+000130e0: 6f63 6564 7572 6529 7f31 3930 3138 0a4e ocedure).19018.N\n+000130f0: 6f64 653a 2047 6574 5f52 6563 6569 7665 ode: Get_Receive\n+00013100: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun\n+00013110: 6374 696f 6e29 7f32 3031 3833 0a4e 6f64 ction).20183.Nod\n+00013120: 653a 2047 6574 5f53 656e 645f 5175 6575 e: Get_Send_Queu\n+00013130: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+00013140: 297f 3231 3035 310a 4e6f 6465 3a20 4765 ).21051.Node: Ge\n+00013150: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00013160: 7572 6529 7f32 3139 3038 0a4e 6f64 653a ure).21908.Node:\n+00013170: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu\n+00013180: 7265 297f 3233 3232 360a 4e6f 6465 3a20 re).23226.Node: \n+00013190: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+000131a0: 7572 6529 7f32 3431 3032 0a4e 6f64 653a ure).24102.Node:\n+000131b0: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n+000131c0: 7f32 3438 3234 0a4e 6f64 653a 2050 7574 .24824.Node: Put\n+000131d0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+000131e0: 297f 3235 3535 350a 4e6f 6465 3a20 5265 ).25555.Node: Re\n+000131f0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function)\n+00013200: 7f32 3633 3431 0a4e 6f64 653a 2052 6563 .26341.Node: Rec\n+00013210: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure)\n+00013220: 7f32 3735 3530 0a4e 6f64 653a 2052 6563 .27550.Node: Rec\n+00013230: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n+00013240: 6475 7265 297f 3238 3537 330a 4e6f 6465 dure).28573.Node\n+00013250: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur\n+00013260: 6529 7f32 3937 3630 0a4e 6f64 653a 2053 e).29760.Node: S\n+00013270: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n+00013280: 6475 7265 297f 3330 3439 390a 4e6f 6465 dure).30499.Node\n+00013290: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr\n+000132a0: 6f63 6564 7572 6529 7f33 3137 3132 0a4e ocedure).31712.N\n+000132b0: 6f64 653a 2053 6875 7464 6f77 6e20 2870 ode: Shutdown (p\n+000132c0: 726f 6365 6475 7265 297f 3333 3031 300a rocedure).33010.\n+000132d0: 4e6f 6465 3a20 536f 636b 6574 2028 7072 Node: Socket (pr\n+000132e0: 6f63 6564 7572 6529 7f33 3336 3438 0a4e ocedure).33648.N\n+000132f0: 6f64 653a 2055 6e73 6574 5f42 7566 6665 ode: Unset_Buffe\n+00013300: 7220 2870 726f 6365 6475 7265 297f 3335 r (procedure).35\n+00013310: 3032 320a 4e6f 6465 3a20 536f 636b 6574 022.Node: Socket\n+00013320: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack\n+00013330: 6167 657f 3335 3732 310a 4e6f 6465 3a20 age.35721.Node: \n+00013340: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00013350: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00013360: 6e29 7f33 3635 3436 0a4e 6f64 653a 2053 n).36546.Node: S\n+00013370: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa\n+00013380: 636b 6167 657f 3430 3537 350a 4e6f 6465 ckage.40575.Node\n+00013390: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu\n+000133a0: 6e63 7469 6f6e 297f 3433 3038 360a 4e6f nction).43086.No\n+000133b0: 6465 3a20 416e 795f 4164 6472 6573 7320 de: Any_Address \n+000133c0: 2866 756e 6374 696f 6e29 7f34 3339 3736 (function).43976\n+000133d0: 0a4e 6f64 653a 2047 6574 5f50 6565 725f .Node: Get_Peer_\n+000133e0: 4164 6472 2028 6675 6e63 7469 6f6e 297f Addr (function).\n+000133f0: 3434 3338 370a 4e6f 6465 3a20 4765 745f 44387.Node: Get_\n+00013400: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+00013410: 696f 6e29 7f34 3439 3539 0a4e 6f64 653a ion).44959.Node:\n+00013420: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+00013430: 6675 6e63 7469 6f6e 297f 3435 3534 390a function).45549.\n+00013440: 4e6f 6465 3a20 4765 745f 536f 636b 5f50 Node: Get_Sock_P\n+00013450: 6f72 7420 2866 756e 6374 696f 6e29 7f34 ort (function).4\n+00013460: 3631 3431 0a4e 6f64 653a 2048 6f73 745f 6141.Node: Host_\n+00013470: 4e61 6d65 2028 6675 6e63 7469 6f6e 297f Name (function).\n+00013480: 3436 3732 350a 4e6f 6465 3a20 496d 6167 46725.Node: Imag\n+00013490: 6520 2866 756e 6374 696f 6e29 7f34 3732 e (function).472\n+000134a0: 3431 0a4e 6f64 653a 2049 6e66 6f5f 4f66 41.Node: Info_Of\n+000134b0: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n+000134c0: 6374 696f 6e29 7f34 3737 3137 0a4e 6f64 ction).47717.Nod\n+000134d0: 653a 2049 735f 4950 5f41 6464 7265 7373 e: Is_IP_Address\n+000134e0: 2028 6675 6e63 7469 6f6e 297f 3438 3434 (function).4844\n+000134f0: 330a 4e6f 6465 3a20 4e61 6d65 5f4f 6620 3.Node: Name_Of \n+00013500: 2866 756e 6374 696f 6e29 7f34 3839 3533 (function).48953\n+00013510: 0a4e 6f64 653a 2056 616c 7565 2028 6675 .Node: Value (fu\n+00013520: 6e63 7469 6f6e 297f 3439 3533 360a 4e6f nction).49536.No\n+00013530: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors\n+00013540: 7f34 3939 3838 0a4e 6f64 653a 2052 6573 .49988.Node: Res\n+00013550: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n+00013560: 7465 726e 6574 7f35 3133 3734 0a4e 6f64 ternet.51374.Nod\n+00013570: 653a 2049 6e64 6578 7f35 3138 3038 0a1f e: Index.51808..\n+00013580: 0a45 6e64 2054 6167 2054 6162 6c65 0a .End Tag Table.\n"}]}]}]}]}]}