{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.Y3ljLxRe/b1/adasockets_1.12-2_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.Y3ljLxRe/b2/adasockets_1.12-2_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n 26c903f8051ce04320b40673a4af8783 56544 debug optional libadasockets10-dbgsym_1.12-2_armhf.deb\n- 7a3da0f0f7b3962ad0358a6b749aecb9 330768 libdevel optional libadasockets10-dev_1.12-2_armhf.deb\n+ 751dbfd8de04d49557b7a76f44e6cbbf 330888 libdevel optional libadasockets10-dev_1.12-2_armhf.deb\n c49a45146ffc0931a2cabc0b57c1cf82 30868 libs optional libadasockets10_1.12-2_armhf.deb\n"}, {"source1": "libadasockets10-dev_1.12-2_armhf.deb", "source2": "libadasockets10-dev_1.12-2_armhf.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 1804 2020-12-16 23:17:13.000000 control.tar.xz\n--rw-r--r-- 0 0 0 328772 2020-12-16 23:17:13.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 328892 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: armhf\n Maintainer: Phil Brooke \n-Installed-Size: 618\n+Installed-Size: 619\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) 250851 2020-12-16 23:17:13.000000 ./usr/share/doc/libadasockets10-dev/adasockets.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 249323 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) 360 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) 12142 2020-12-16 23:17:13.000000 ./usr/share/info/adasockets.info.gz\n+-rw-r--r-- 0 root (0) root (0) 13786 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/arm-linux-gnueabihf/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": "@@ -38,42 +38,42 @@\n Setting up multicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Sending and receiving data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.1 Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n 3.4.2 String-oriented exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6\n \n Sockets package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accept Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n-Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Bind (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Connect (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Get (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Char (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get Line (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get Receive Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Get Send Queue Size (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Getsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n New Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Put (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put Line (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Receive (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n+Receive (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Receive Some (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Send (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Set Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Setsockopt (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Shutdown (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Socket (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Unset Buffer (procedure) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n \n 5\n \n Sockets.Multicast package . . . . . . . . . . . . . . . . . . . . . 19\n Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19\n-Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20\n+Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19\n \n \fii\n \n 6\n \n AdaSockets reference manual\n \n@@ -221,17 +221,16 @@\n \n Accept Socket (procedure)\n Purpose\n \n Accept an incoming connection\n \n Prototype\n-\n-procedure Accept_Socket\n [Sockets.Accept Socket]\n+procedure Accept_Socket\n (Socket : Socket FD; New_Socket : out Socket FD);\n Parameters\n Socket\n New Socket\n \n in\n out\n@@ -244,47 +243,37 @@\n on TCP socket Socket. All the communications with the peer will take place\n on New Socket, while the program can accept another connection on Socket.\n New Socket must not be initialized before calling this procedure, or must have\n been cleaned up by calling Shutdown, in order to avoid a file descriptors leak.\n Accept_Socket will block until an incoming connection is ready to be accepted.\n Example\n declare\n-Sock\n-: Socket_FD;\n-Incoming : Socket_FD;\n+Sock : Multicast_Socket_FD;\n begin\n--- Create a TCP socket listening on local port 4161\n-Socket (Sock, PF_INET, SOCK_STREAM);\n-Bind (Sock, 4161);\n-Listen (Sock, 3);\n--- One-connection-at-a-time server (3 may be pending)\n-loop\n--- Wait for a new connection and accept it\n-Accept_Socket (Sock, Incoming);\n--- Do some dialog with the remote host\n-Do_Some_Dialog (Incoming);\n--- Close incoming socket and wait for next connection\n-Shutdown (Incoming);\n-end loop;\n+-- Create a multicast socket on group 224.1.2.3 port 8763\n+Sock := Create_Multicast_Socket (\"224.1.2.3\", 8763);\n+-- Perform some operations on socket\n+[...]\n+-- Shutdown the socket in both directions\n+Shutdown (Sock, Both);\n end;\n-\n-\f8\n-\n-AdaSockets reference manual\n-\n-See also [Bind (procedure)], page 8,\n+See also [Bind (procedure)], page 7,\n [Listen (procedure)], page 12,\n [Shutdown (procedure)], page 17,\n [Socket (procedure)], page 17.\n \n Bind (procedure)\n Purpose\n \n Associate a local port to a socket\n \n+\f8\n+\n+AdaSockets reference manual\n+\n Prototype\n \n procedure Bind (Socket : Socket FD;\n Port : Natural; Host : String := \"\");\n Parameters\n Socket\n Port\n@@ -347,28 +336,29 @@\n Exceptions\n Connection_Refused\n Socket_Error\n \n The connection has been refused by the server\n Another error occurred during the connection\n \n+Example\n+declare\n+Sock : Multicast_Socket_FD;\n+begin\n+-- Create a multicast socket on group 224.1.2.3 port 8763\n+Sock := Create_Multicast_Socket (\"224.1.2.3\", 8763);\n+\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+-- Perform some operations on socket\n [...]\n+-- Shutdown the socket in both directions\n+Shutdown (Sock, Both);\n end;\n See also [Socket (procedure)], page 17.\n \n Get (function)\n Purpose\n \n Get a string from a remote host\n@@ -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+[Bind (procedure)], page 7,\n [Socket (procedure)], page 17.\n \n+\fChapter 4: Sockets package\n+\n+13\n+\n New Line (procedure)\n Purpose\n \n Send a CR/LF to a remote host\n \n Prototype\n \n@@ -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@@ -1079,25 +1070,26 @@\n \n type Multicast_Socket_FD is new\n Socket FD with private;\n \n [Sockets.Multicast.Multicast Socket FD]\n \n The Multicast_Socket_FD tagged type derives from the Socket_FD type. It gets\n-initialized by calling [Create Multicast Socket (function)], page 20. An uninitialized\n+initialized by calling [Create Multicast Socket (function)], page 19. An uninitialized\n Multicast_Socket_FD can be succesfully compared to Null_Multicast_Socket_FD.\n \n Create Multicast Socket (function)\n Purpose\n \n Create an IP multicast socket\n \n Prototype\n-[Sockets.Multicast.Create Multicast Socket]\n+\n function\n+[Sockets.Multicast.Create Multicast Socket]\n Create_Multicast_Socket (Group : String; Port : Natural;\n TTL : Positive := 16; Self_Loop : Boolean := True;\n Local_If : String := 0.0.0.0)\n return Multicast Socket FD;\n Parameters\n Group\n Port\n@@ -1125,37 +1117,26 @@\n Be careful when choosing the TTL parameter of your IP multicast socket. Most\n IP multicast routers do implement threshold-based filtering and will not let IP\n multicast packets leave your organization if the TTL on the last router is smaller\n than 16.\n If 0 is given for the Port, a local one will be chosen. It can then later be retrieved\n using Get Sock Port.\n Example\n-declare\n-Sock : Multicast_Socket_FD;\n-begin\n--- Create a multicast socket on group 224.1.2.3 port 8763\n-Sock := Create_Multicast_Socket (\"224.1.2.3\", 8763);\n--- Perform some operations on socket\n-[...]\n--- Shutdown the socket in both directions\n-\n-\f20\n-\n-AdaSockets reference manual\n-\n-Shutdown (Sock, Both);\n-end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n Create Multicast Socket (function)\n Purpose\n \n Create an IP multicast socket\n \n+\f20\n+\n+AdaSockets reference manual\n+\n Prototype\n \n function\n [Sockets.Multicast.Create Multicast Socket]\n Create_Multicast_Socket (Group : String; Port : Positive;\n Local_Port : Natural; TTL : Positive := 16;\n Local_If : String := 0.0.0.0)\n@@ -1183,25 +1164,15 @@\n The new initialized multicast socket\n Description\n This function creates an IP multicast socket attached to a given group, identified by its class E IP address and port. If Local Port is 0, a free port will\n automatically be chosen by your operating system.\n This function should be used when you want to send packets to a multicast\n group without receiving any packet yourself.\n Example\n-declare\n-Sock : Multicast_Socket_FD;\n-begin\n--- Create a multicast socket on group 224.1.2.3 port 8763\n-Sock := Create_Multicast_Socket (\"224.1.2.3\", 8763);\n--- Perform some operations on socket\n-[...]\n--- Shutdown the socket in both directions\n-Shutdown (Sock, Both);\n-end;\n-See also [Send (procedure)], page 16,\n+See also [Send (procedure)], page 15,\n [Shutdown (procedure)], page 17.\n \n \f21\n \n 6 Sockets.Naming package\n The Sockets.Naming package contains types and helper functions needed to manipulate\n Internet host names and addresses.\n@@ -1580,41 +1551,41 @@\n Index\n A\n \n G\n \n Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Accepting a new connection . . . . . . . . . . . . . . . . . . . . . 7\n-Ada.Streams.Stream_Element_Array . . 6, 14, 15, 16\n+Ada.Streams.Stream_Element_Array . . . . 6, 14, 15\n Ada.Streams.Stream_Element_Count . . . . . . . 14, 15\n AdaSockets presentation . . . . . . . . . . . . . . . . . . . . . . . . 1\n Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n-AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n-Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n \n Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9\n-Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11\n+Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10\n Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11\n-Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 12\n+Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11\n Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22\n Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Group communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n \n H\n B\n Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n+Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n Both . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n \n Handling a new connection . . . . . . . . . . . . . . . . . . . . . . 7\n Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n \n I\n@@ -1623,30 +1594,30 @@\n Comparaison with GNAT.Sockets . . . . . . . . . . . . . . . . 1\n Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connecting a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Connection_Closed . . . . . . . 9, 10, 11, 13, 14, 15, 16\n Connection_Refused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 29\n Create_Multicast_Socket . . . . . . . . . . . . . . . 5, 19, 20\n-Creating a multicast socket . . . . . . . . . . . . . . 5, 19, 20\n-Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8\n-Creating a socket. . . . . . . . . . . . . . . . . . . . . 5, 17, 19, 20\n+Creating a multicast socket . . . . . . . . . . . . . . . . . . 5, 19\n+Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7\n+Creating a socket . . . . . . . . . . . . . . . . . . . . . . . . 5, 17, 19\n Creating a TCP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Creating a UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5\n Creating a unicast socket . . . . . . . . . . . . . . . . . . . . . . . . 5\n CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n \n Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\n Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24\n \n L\n LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 11, 13\n Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12\n \n@@ -1687,80 +1658,80 @@\n Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 23\n Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 24\n Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 24\n Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 24\n Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 25\n Sockets.New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n Sockets.Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n-Sockets.Receive. . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15\n+Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n+Sockets.Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n Sockets.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15\n-Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n+Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n-Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n+Sockets.Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . 16\n Sockets.Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n-Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17\n-Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n+Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18\n-SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 17\n-Stream_Element_Array . . . . . . . . . . . . . . . 6, 14, 15, 16\n+SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16\n+Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15\n Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15\n String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\n Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n \n-PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18\n+PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17\n Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n-Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14\n+Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13\n \n R\n Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6\n-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 15, 17\n+Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17\n Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15\n Receiving data . . . . . . . . . . 6, 9, 10, 11, 14, 15, 16, 18\n Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\n Representing IP addresses . . . . . . . . . . . . . . . . . . 23, 25\n 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29\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": "@@ -741,3354 +741,4150 @@\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 2020 2020 2020 2020 EXAMPLE. \n-00003d00: 2020 6465 636c 6172 650a 2020 2020 2020 declare. \n-00003d10: 2020 2020 2020 2053 6f63 6b20 3a20 536f Sock : So\n-00003d20: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n-00003d30: 2020 2062 6567 696e 0a20 2020 2020 2020 begin. \n-00003d40: 2020 2020 2020 2d2d 2043 7265 6174 6520 -- Create \n-00003d50: 6120 5443 5020 736f 636b 6574 0a20 2020 a TCP socket. \n-00003d60: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n-00003d70: 2028 536f 636b 2c20 5046 5f49 4e45 542c (Sock, PF_INET,\n-00003d80: 2053 4f43 4b5f 5354 5245 414d 293b 0a20 SOCK_STREAM);. \n-00003d90: 2020 2020 2020 2020 2020 2020 2d2d 2043 -- C\n-00003da0: 6f6e 6e65 6374 2069 7420 746f 2072 6663 onnect it to rfc\n-00003db0: 3131 3439 2e6e 6574 2773 206d 6169 6c20 1149.net's mail \n-00003dc0: 7365 7276 6572 0a20 2020 2020 2020 2020 server. \n-00003dd0: 2020 2020 436f 6e6e 6563 7420 2853 6f63 Connect (Soc\n-00003de0: 6b2c 2022 6d61 696c 2e72 6663 3131 3439 k, \"mail.rfc1149\n-00003df0: 2e6e 6574 222c 2032 3529 3b0a 2020 2020 .net\", 25);. \n-00003e00: 2020 2020 2020 2020 202d 2d20 446f 2061 -- Do a\n-00003e10: 206d 6169 6c20 7472 616e 7361 6374 696f mail transactio\n-00003e20: 6e20 7468 656e 2063 6c6f 7365 2074 6865 n then close the\n-00003e30: 2073 6f63 6b65 740a 2020 2020 2020 2020 socket. \n-00003e40: 2020 2020 205b 2e2e 2e5d 0a20 2020 2020 [...]. \n-00003e50: 2020 2020 2065 6e64 3b0a 0a53 4545 2041 end;..SEE A\n-00003e60: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n-00003e70: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00003e80: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00003e90: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00003ea0: 4e6f 6465 3a20 4765 7420 2866 756e 6374 Node: Get (funct\n-00003eb0: 696f 6e29 2c20 204e 6578 743a 2047 6574 ion), Next: Get\n-00003ec0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n-00003ed0: 2c20 2050 7265 763a 2043 6f6e 6e65 6374 , Prev: Connect\n-00003ee0: 2028 7072 6f63 6564 7572 6529 2c20 2055 (procedure), U\n-00003ef0: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00003f00: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n-00003f10: 7420 2866 756e 6374 696f 6e29 0a2d 2d2d t (function).---\n-00003f20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n-00003f30: 504f 5345 0a20 2020 2020 4765 7420 6120 POSE. Get a \n-00003f40: 7374 7269 6e67 2066 726f 6d20 6120 7265 string from a re\n-00003f50: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n-00003f60: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n-00003f70: 6b65 7473 2e47 6574 3a20 6675 6e63 7469 kets.Get: functi\n-00003f80: 6f6e 2047 6574 2028 534f 434b 4554 203a on Get (SOCKET :\n-00003f90: 2053 6f63 6b65 745f 4644 2743 6c61 7373 Socket_FD'Class\n-00003fa0: 290a 2020 2020 2020 2020 2020 2020 2020 ). \n-00003fb0: 2072 6574 7572 6e20 5374 7269 6e67 3b0a return String;.\n-00003fc0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-00003fd0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-00003fe0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-00003ff0: 6564 2061 6e64 2063 6f6e 6e65 6374 6564 ed and connected\n-00004000: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n-00004010: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n-00004020: 2020 536f 6d65 2063 6861 7261 6374 6572 Some character\n-00004030: 7320 7468 6174 2068 6176 6520 6265 656e s that have been\n-00004040: 2072 6563 6569 7665 640a 0a44 4553 4352 received..DESCR\n-00004050: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00004060: 2066 756e 6374 696f 6e20 7265 6365 6976 function receiv\n-00004070: 6573 2073 6f6d 6520 6368 6172 6163 7465 es some characte\n-00004080: 7273 2066 726f 6d20 6120 7265 6d6f 7465 rs from a remote\n-00004090: 2068 6f73 742e 2020 4173 2073 6f6f 6e0a host. As soon.\n-000040a0: 2020 2020 2074 6861 7420 6174 206c 6561 that at lea\n-000040b0: 7374 206f 6e65 2063 6861 7261 6374 6572 st one character\n-000040c0: 2069 7320 6176 6169 6c61 626c 652c 2074 is available, t\n-000040d0: 6865 2063 7572 7265 6e74 2072 6563 6570 he current recep\n-000040e0: 7469 6f6e 0a20 2020 2020 6275 6666 6572 tion. buffer\n-000040f0: 2069 7320 7265 7475 726e 6564 2e0a 0a20 is returned... \n-00004100: 2020 2020 5468 6572 6520 6973 2075 7375 There is usu\n-00004110: 616c 6c79 206c 6974 746c 6520 6761 696e ally little gain\n-00004120: 2069 6e20 7573 696e 6720 7468 6973 2066 in using this f\n-00004130: 756e 6374 696f 6e20 7768 6f73 6520 6265 unction whose be\n-00004140: 6861 7669 6f75 720a 2020 2020 2069 7320 haviour. is \n-00004150: 636f 6d70 6172 6162 6c65 2074 6f20 7468 comparable to th\n-00004160: 6520 6f6e 6520 6f66 202a 6e6f 7465 2052 e one of *note R\n-00004170: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n-00004180: 293a 3a2e 2020 4f74 6865 720a 2020 2020 )::. Other. \n-00004190: 2066 756e 6374 696f 6e73 2073 7563 6820 functions such \n-000041a0: 6173 202a 6e6f 7465 2047 6574 5f43 6861 as *note Get_Cha\n-000041b0: 7220 2866 756e 6374 696f 6e29 3a3a 2c20 r (function)::, \n-000041c0: 6f72 202a 6e6f 7465 2047 6574 5f4c 696e or *note Get_Lin\n-000041d0: 650a 2020 2020 2028 6675 6e63 7469 6f6e e. (function\n-000041e0: 293a 3a2c 2061 6c6c 6f77 206d 6f72 6520 )::, allow more \n-000041f0: 7374 7275 6374 7572 6564 2070 726f 6772 structured progr\n-00004200: 616d 6d69 6e67 2e0a 0a20 2020 2020 486f amming... Ho\n-00004210: 7765 7665 722c 2074 6869 7320 6675 6e63 wever, this func\n-00004220: 7469 6f6e 206d 6179 2062 6520 7573 6564 tion may be used\n-00004230: 2074 6f20 6176 6f69 6420 6c6f 6f73 696e to avoid loosin\n-00004240: 6720 6368 6172 6163 7465 7273 2077 6865 g characters whe\n-00004250: 6e0a 2020 2020 2063 616c 6c69 6e67 202a n. calling *\n-00004260: 6e6f 7465 2055 6e73 6574 5f42 7566 6665 note Unset_Buffe\n-00004270: 7220 2870 726f 6365 6475 7265 293a 3a2c r (procedure)::,\n-00004280: 2069 662c 2066 6f72 2073 6f6d 6520 7265 if, for some re\n-00004290: 6173 6f6e 2c20 7468 650a 2020 2020 2072 ason, the. r\n-000042a0: 656d 6f74 6520 686f 7374 206d 6179 2068 emote host may h\n-000042b0: 6176 6520 7365 6e74 2073 6f6d 652e 0a0a ave sent some...\n-000042c0: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. \n-000042d0: 2743 6f6e 6e65 6374 696f 6e5f 436c 6f73 'Connection_Clos\n-000042e0: 6564 2750 6565 7220 6861 7320 636c 6f73 ed'Peer has clos\n-000042f0: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n-00004300: 6e20 6265 666f 7265 0a20 2020 2020 2020 n before. \n-00004310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004320: 2073 656e 6469 6e67 2061 6e79 2064 6174 sending any dat\n-00004330: 610a 0a1f 0a46 696c 653a 2061 6461 736f a....File: adaso\n-00004340: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00004350: 653a 2047 6574 5f43 6861 7220 2866 756e e: Get_Char (fun\n-00004360: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G\n-00004370: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-00004380: 6e29 2c20 2050 7265 763a 2047 6574 2028 n), Prev: Get (\n-00004390: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: \n-000043a0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n-000043b0: 726f 6365 6475 7265 290a 0a47 6574 5f43 rocedure)..Get_C\n-000043c0: 6861 7220 2866 756e 6374 696f 6e29 0a2d har (function).-\n-000043d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-000043e0: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-000043f0: 2047 6574 2061 2063 6861 7261 6374 6572 Get a character\n-00004400: 2066 726f 6d20 6120 7265 6d6f 7465 2068 from a remote h\n-00004410: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n-00004420: 2020 2020 2d2d 2053 6f63 6b65 7473 2e47 -- Sockets.G\n-00004430: 6574 5f43 6861 723a 2066 756e 6374 696f et_Char: functio\n-00004440: 6e20 4765 745f 4368 6172 2028 534f 434b n Get_Char (SOCK\n-00004450: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00004460: 6c61 7373 290a 2020 2020 2020 2020 2020 lass). \n-00004470: 2020 2020 2072 6574 7572 6e20 4368 6172 return Char\n-00004480: 6163 7465 723b 0a0a 5041 5241 4d45 5445 acter;..PARAMETE\n-00004490: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-000044a0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-000044b0: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n-000044c0: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n-000044d0: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n-000044e0: 4c55 450a 2020 2020 204f 6e65 2063 6861 LUE. One cha\n-000044f0: 7261 6374 6572 2073 656e 7420 6279 2074 racter sent by t\n-00004500: 6865 2072 656d 6f74 6520 686f 7374 0a0a he remote host..\n-00004510: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00004520: 2054 6869 7320 6675 6e63 7469 6f6e 2072 This function r\n-00004530: 6563 6569 7665 7320 6578 6163 746c 7920 eceives exactly \n-00004540: 6f6e 6520 6368 6172 6163 7465 7220 6672 one character fr\n-00004550: 6f6d 2074 6865 2072 656d 6f74 6520 686f om the remote ho\n-00004560: 7374 2e0a 0a45 5843 4550 5449 4f4e 530a st...EXCEPTIONS.\n-00004570: 2020 2020 2027 436f 6e6e 6563 7469 6f6e 'Connection\n-00004580: 5f43 6c6f 7365 6427 5065 6572 2068 6173 _Closed'Peer has\n-00004590: 2063 6c6f 7365 6420 7468 6520 636f 6e6e closed the conn\n-000045a0: 6563 7469 6f6e 2062 6566 6f72 650a 2020 ection before. \n-000045b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000045c0: 2020 2020 2020 7365 6e64 696e 6720 7468 sending th\n-000045d0: 6520 6368 6172 6163 7465 720a 0a53 4545 e character..SEE\n-000045e0: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n-000045f0: 2047 6574 2028 6675 6e63 7469 6f6e 293a Get (function):\n-00004600: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n-00004610: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n-00004620: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00004630: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n-00004640: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00004650: 7465 2052 6563 6569 7665 2028 7072 6f63 te Receive (proc\n-00004660: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n-00004670: 6e6f 7465 2053 6574 5f42 7566 6665 7220 note Set_Buffer \n-00004680: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n-00004690: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n-000046a0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n-000046b0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n-000046c0: 6f6e 292c 2020 4e65 7874 3a20 4765 745f on), Next: Get_\n-000046d0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-000046e0: 2c20 2050 7265 763a 2047 6574 5f43 6861 , Prev: Get_Cha\n-000046f0: 7220 2866 756e 6374 696f 6e29 2c20 2055 r (function), U\n-00004700: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n-00004710: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n-00004720: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n-00004730: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-00004740: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00004750: 2020 2020 4765 7420 6120 7768 6f6c 6520 Get a whole \n-00004760: 6c69 6e65 2066 726f 6d20 6120 7265 6d6f line from a remo\n-00004770: 7465 2068 6f73 740a 5052 4f54 4f54 5950 te host.PROTOTYP\n-00004780: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00004790: 7473 2e47 6574 5f4c 696e 653a 2066 756e ts.Get_Line: fun\n-000047a0: 6374 696f 6e20 4765 745f 4c69 6e65 2028 ction Get_Line (\n-000047b0: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-000047c0: 4644 2743 6c61 7373 3b0a 2020 2020 2020 FD'Class;. \n-000047d0: 2020 2020 2020 2020 204d 4158 5f4c 454e MAX_LEN\n-000047e0: 4754 4820 3a20 506f 7369 7469 7665 203a GTH : Positive :\n-000047f0: 3d20 3230 3438 290a 2020 2020 2020 2020 = 2048). \n-00004800: 2020 2020 2020 2072 6574 7572 6e20 5374 return St\n-00004810: 7269 6e67 3b0a 0a50 4152 414d 4554 4552 ring;..PARAMETER\n-00004820: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00004830: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00004840: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-00004850: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-00004860: 6a65 6374 0a20 2020 2020 4d41 585f 4c45 ject. MAX_LE\n-00004870: 4e47 5448 2069 6e20 2020 2020 2020 2020 NGTH in \n-00004880: 4d61 7869 6d75 6d20 7265 7475 726e 6564 Maximum returned\n-00004890: 206c 696e 6520 6c65 6e67 7468 0a0a 5245 line length..RE\n-000048a0: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n-000048b0: 4120 6c69 6e65 2077 6974 686f 7574 2074 A line without t\n-000048c0: 6865 2043 5220 616e 6420 4c46 2073 6570 he CR and LF sep\n-000048d0: 6172 6174 6f72 730a 0a44 4553 4352 4950 arators..DESCRIP\n-000048e0: 5449 4f4e 0a20 2020 2020 5468 6973 2066 TION. This f\n-000048f0: 756e 6374 696f 6e20 7265 6365 6976 6573 unction receives\n-00004900: 206f 6e65 206c 696e 6520 6672 6f6d 2074 one line from t\n-00004910: 6865 2072 656d 6f74 6520 686f 7374 2e20 he remote host. \n-00004920: 2041 206c 696e 650a 2020 2020 2063 6f6e A line. con\n-00004930: 7369 7374 7320 696e 746f 207a 6572 6f20 sists into zero \n-00004940: 6f72 206d 6f72 6520 6368 6172 6163 7465 or more characte\n-00004950: 7273 2066 6f6c 6c6f 7765 6420 6279 2061 rs followed by a\n-00004960: 6e20 6f70 7469 6f6e 616c 2043 520a 2020 n optional CR. \n-00004970: 2020 2061 6e64 2062 7920 6120 4c46 2e20 and by a LF. \n-00004980: 5468 6f73 6520 7465 726d 696e 6174 6f72 Those terminator\n-00004990: 7320 6172 6520 7374 7269 7070 6564 2062 s are stripped b\n-000049a0: 6566 6f72 6520 7468 6520 6c69 6e65 2069 efore the line i\n-000049b0: 730a 2020 2020 2072 6574 7572 6e65 642e s. returned.\n-000049c0: 0a0a 2020 2020 2054 6869 7320 6675 6e63 .. This func\n-000049d0: 7469 6f6e 2062 6c6f 636b 7320 756e 7469 tion blocks unti\n-000049e0: 6c20 6f6e 6520 6675 6c6c 206c 696e 6520 l one full line \n-000049f0: 6861 7320 6265 656e 2072 6563 6569 7665 has been receive\n-00004a00: 642e 2020 5468 650a 2020 2020 206c 696e d. The. lin\n-00004a10: 6520 6c65 6e67 7468 2069 7320 6c69 6d69 e length is limi\n-00004a20: 7465 6420 7769 7468 2074 6865 2076 616c ted with the val\n-00004a30: 7565 206f 6620 7468 6520 4d61 785f 4c65 ue of the Max_Le\n-00004a40: 6e67 7468 2061 7267 756d 656e 742c 0a20 ngth argument,. \n-00004a50: 2020 2020 746f 2061 766f 6964 2065 7868 to avoid exh\n-00004a60: 6175 7374 696f 6e20 6f66 2074 6865 2073 austion of the s\n-00004a70: 6563 6f6e 6461 7279 2073 7461 636b 2e0a econdary stack..\n-00004a80: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n-00004a90: 2027 436f 6e6e 6563 7469 6f6e 5f43 6c6f 'Connection_Clo\n-00004aa0: 7365 6427 5065 6572 2068 6173 2063 6c6f sed'Peer has clo\n-00004ab0: 7365 6420 7468 6520 636f 6e6e 6563 7469 sed the connecti\n-00004ac0: 6f6e 2062 6566 6f72 650a 2020 2020 2020 on before. \n-00004ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004ae0: 2020 7365 6e64 696e 6720 6120 7768 6f6c sending a whol\n-00004af0: 6520 6c69 6e65 0a0a 5345 4520 414c 534f e line..SEE ALSO\n-00004b00: 0a20 2020 2020 2a6e 6f74 6520 4765 7420 . *note Get \n-00004b10: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00004b20: 2020 202a 6e6f 7465 2047 6574 5f43 6861 *note Get_Cha\n-00004b30: 7220 2866 756e 6374 696f 6e29 3a3a 2c0a r (function)::,.\n-00004b40: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n-00004b50: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n-00004b60: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5265 :,. *note Re\n-00004b70: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n-00004b80: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00004b90: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n-00004ba0: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-00004bb0: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-00004bc0: 666f 2c20 204e 6f64 653a 2047 6574 5f4c fo, Node: Get_L\n-00004bd0: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n-00004be0: 2020 4e65 7874 3a20 4765 745f 5265 6365 Next: Get_Rece\n-00004bf0: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n-00004c00: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n-00004c10: 3a20 4765 745f 4c69 6e65 2028 6675 6e63 : Get_Line (func\n-00004c20: 7469 6f6e 292c 2020 5570 3a20 4163 6365 tion), Up: Acce\n-00004c30: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-00004c40: 6475 7265 290a 0a47 6574 5f4c 696e 6520 dure)..Get_Line \n-00004c50: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n-00004c60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00004c70: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n-00004c80: 6574 2061 2077 686f 6c65 206c 696e 6520 et a whole line \n-00004c90: 6672 6f6d 2061 2072 656d 6f74 6520 686f from a remote ho\n-00004ca0: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n-00004cb0: 2020 202d 2d20 536f 636b 6574 732e 4765 -- Sockets.Ge\n-00004cc0: 745f 4c69 6e65 3a20 7072 6f63 6564 7572 t_Line: procedur\n-00004cd0: 6520 4765 745f 4c69 6e65 2028 534f 434b e Get_Line (SOCK\n-00004ce0: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00004cf0: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n-00004d00: 2020 2020 2053 5452 203a 2069 6e20 6f75 STR : in ou\n-00004d10: 7420 5374 7269 6e67 3b20 4c41 5354 203a t String; LAST :\n-00004d20: 206f 7574 204e 6174 7572 616c 293b 0a0a out Natural);..\n-00004d30: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-00004d40: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00004d50: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00004d60: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n-00004d70: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00004d80: 2020 2053 5452 2020 2020 2020 2020 696e STR in\n-00004d90: 206f 7574 2020 2020 2053 7472 696e 6720 out String \n-00004da0: 746f 2066 696c 6c0a 2020 2020 204c 4153 to fill. LAS\n-00004db0: 5420 2020 2020 2020 6f75 7420 2020 2020 T out \n-00004dc0: 2020 204c 6173 7420 696e 6465 7820 7573 Last index us\n-00004dd0: 6564 2069 6e20 7468 6520 7374 7269 6e67 ed in the string\n-00004de0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-00004df0: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n-00004e00: 6520 7265 6365 6976 6573 206f 6e65 206c e receives one l\n-00004e10: 696e 6520 6672 6f6d 2074 6865 2072 656d ine from the rem\n-00004e20: 6f74 6520 686f 7374 2e20 2041 206c 696e ote host. A lin\n-00004e30: 650a 2020 2020 2063 6f6e 7369 7374 7320 e. consists \n-00004e40: 696e 746f 207a 6572 6f20 6f72 206d 6f72 into zero or mor\n-00004e50: 6520 6368 6172 6163 7465 7273 2066 6f6c e characters fol\n-00004e60: 6c6f 7765 6420 6279 2061 6e20 6f70 7469 lowed by an opti\n-00004e70: 6f6e 616c 2043 520a 2020 2020 2061 6e64 onal CR. and\n-00004e80: 2062 7920 6120 4c46 2e20 5468 6f73 6520 by a LF. Those \n-00004e90: 7465 726d 696e 6174 6f72 7320 6172 6520 terminators are \n-00004ea0: 7374 7269 7070 6564 2062 6566 6f72 6520 stripped before \n-00004eb0: 7468 6520 6c69 6e65 2069 730a 2020 2020 the line is. \n-00004ec0: 2072 6574 7572 6e65 642e 0a0a 2020 2020 returned... \n-00004ed0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00004ee0: 626c 6f63 6b73 2075 6e74 696c 206f 6e65 blocks until one\n-00004ef0: 2066 756c 6c20 6c69 6e65 2068 6173 2062 full line has b\n-00004f00: 6565 6e20 7265 6365 6976 6564 2e0a 0a45 een received...E\n-00004f10: 5843 4550 5449 4f4e 530a 2020 2020 2027 XCEPTIONS. '\n-00004f20: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-00004f30: 6427 5065 6572 2068 6173 2063 6c6f 7365 d'Peer has close\n-00004f40: 6420 7468 6520 636f 6e6e 6563 7469 6f6e d the connection\n-00004f50: 2062 6566 6f72 650a 2020 2020 2020 2020 before. \n-00004f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00004f70: 7365 6e64 696e 6720 6120 7768 6f6c 6520 sending a whole \n-00004f80: 6c69 6e65 0a0a 5345 4520 414c 534f 0a20 line..SEE ALSO. \n-00004f90: 2020 2020 2a6e 6f74 6520 4765 7420 2866 *note Get (f\n-00004fa0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n-00004fb0: 202a 6e6f 7465 2047 6574 5f43 6861 7220 *note Get_Char \n-00004fc0: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00004fd0: 2020 202a 6e6f 7465 2047 6574 5f4c 696e *note Get_Lin\n-00004fe0: 6520 2866 756e 6374 696f 6e29 3a3a 2c0a e (function)::,.\n-00004ff0: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00005000: 7665 2028 7072 6f63 6564 7572 6529 3a3a ve (procedure)::\n-00005010: 2c0a 2020 2020 202a 6e6f 7465 2053 6574 ,. *note Set\n-00005020: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-00005030: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n-00005040: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n-00005050: 2020 4e6f 6465 3a20 4765 745f 5265 6365 Node: Get_Rece\n-00005060: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n-00005070: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n-00005080: 3a20 4765 745f 5365 6e64 5f51 7565 7565 : Get_Send_Queue\n-00005090: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-000050a0: 2c20 2050 7265 763a 2047 6574 5f4c 696e , Prev: Get_Lin\n-000050b0: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n-000050c0: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n-000050d0: 7420 2870 726f 6365 6475 7265 290a 0a47 t (procedure)..G\n-000050e0: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n-000050f0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-00005100: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00005110: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005120: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-00005130: 2052 6574 7572 6e20 7468 6520 7369 7a65 Return the size\n-00005140: 206f 6620 7468 6520 756e 7265 6164 2064 of the unread d\n-00005150: 6174 6120 696e 2074 6865 2069 6e70 7574 ata in the input\n-00005160: 2071 7565 7565 0a50 524f 544f 5459 5045 queue.PROTOTYPE\n-00005170: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n-00005180: 732e 4765 745f 5265 6365 6976 655f 5175 s.Get_Receive_Qu\n-00005190: 6575 655f 5369 7a65 3a20 6675 6e63 7469 eue_Size: functi\n-000051a0: 6f6e 2047 6574 5f52 6563 6569 7665 5f51 on Get_Receive_Q\n-000051b0: 7565 7565 5f53 697a 650a 2020 2020 2020 ueue_Size. \n-000051c0: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n-000051d0: 203a 2053 6f63 6b65 745f 4644 2743 6c61 : Socket_FD'Cla\n-000051e0: 7373 290a 2020 2020 2020 2020 2020 2020 ss). \n-000051f0: 2020 2072 6574 7572 6e20 496e 7465 6765 return Intege\n-00005200: 723b 0a0a 5041 5241 4d45 5445 5253 0a20 r;..PARAMETERS. \n-00005210: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00005220: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00005230: 6c69 7a65 6420 616e 6420 636f 6e6e 6563 lized and connec\n-00005240: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec\n-00005250: 740a 0a52 4554 5552 4e20 5641 4c55 450a t..RETURN VALUE.\n-00005260: 2020 2020 2054 6865 206e 6f6e 2d6e 6567 The non-neg\n-00005270: 6174 6976 6520 7369 7a65 2069 6e20 6279 ative size in by\n-00005280: 7465 7320 6f66 2074 6865 2069 6e70 7574 tes of the input\n-00005290: 2071 7565 7565 0a0a 4445 5343 5249 5054 queue..DESCRIPT\n-000052a0: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu\n-000052b0: 6e63 7469 6f6e 2069 7320 6f6e 6c79 2061 nction is only a\n-000052c0: 7661 696c 6162 6c65 206f 6e20 4c69 6e75 vailable on Linu\n-000052d0: 7820 706c 6174 666f 726d 732e 2020 4f6e x platforms. On\n-000052e0: 206f 7468 6572 0a20 2020 2020 6f70 6572 other. oper\n-000052f0: 6174 696e 6720 7379 7374 656d 732c 2069 ating systems, i\n-00005300: 7420 7769 6c6c 2072 6574 7572 6e20 2d32 t will return -2\n-00005310: 2074 6f20 696e 6469 6361 7465 2074 6861 to indicate tha\n-00005320: 7420 7468 6520 6e65 6365 7373 6172 790a t the necessary.\n-00005330: 2020 2020 206d 6563 6861 6e69 736d 7320 mechanisms \n-00005340: 746f 2072 6574 7269 6576 6520 7468 6520 to retrieve the \n-00005350: 696e 666f 726d 6174 696f 6e20 6172 6520 information are \n-00005360: 6e6f 7420 6176 6169 6c61 626c 652e 0a0a not available...\n-00005370: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-00005380: 6f74 6520 5265 6365 6976 6520 2870 726f ote Receive (pro\n-00005390: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n-000053a0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n-000053b0: 6e66 6f2c 2020 4e6f 6465 3a20 4765 745f nfo, Node: Get_\n-000053c0: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n-000053d0: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n-000053e0: 743a 2047 6574 736f 636b 6f70 7420 2870 t: Getsockopt (p\n-000053f0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-00005400: 3a20 4765 745f 5265 6365 6976 655f 5175 : Get_Receive_Qu\n-00005410: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-00005420: 6f6e 292c 2020 5570 3a20 4163 6365 7074 on), Up: Accept\n-00005430: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-00005440: 7265 290a 0a47 6574 5f53 656e 645f 5175 re)..Get_Send_Qu\n-00005450: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi\n-00005460: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n-00005470: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005480: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-00005490: 2052 6574 7572 6e20 7468 6520 7369 7a65 Return the size\n-000054a0: 206f 6620 7468 6520 756e 7365 6e74 2064 of the unsent d\n-000054b0: 6174 6120 696e 2074 6865 206f 7574 7075 ata in the outpu\n-000054c0: 7420 7175 6575 650a 5052 4f54 4f54 5950 t queue.PROTOTYP\n-000054d0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-000054e0: 7473 2e47 6574 5f53 656e 645f 5175 6575 ts.Get_Send_Queu\n-000054f0: 655f 5369 7a65 3a20 6675 6e63 7469 6f6e e_Size: function\n-00005500: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_\n-00005510: 5369 7a65 0a20 2020 2020 2020 2020 2020 Size. \n-00005520: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So\n-00005530: 636b 6574 5f46 4427 436c 6173 7329 0a20 cket_FD'Class). \n-00005540: 2020 2020 2020 2020 2020 2020 2020 7265 re\n-00005550: 7475 726e 2049 6e74 6567 6572 3b0a 0a50 turn Integer;..P\n-00005560: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-00005570: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n-00005580: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n-00005590: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n-000055a0: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n-000055b0: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n-000055c0: 5468 6520 6e6f 6e2d 6e65 6761 7469 7665 The non-negative\n-000055d0: 2073 697a 6520 696e 2062 7974 6573 206f size in bytes o\n-000055e0: 6620 7468 6520 6f75 7470 7574 2071 7565 f the output que\n-000055f0: 7565 0a0a 4445 5343 5249 5054 494f 4e0a ue..DESCRIPTION.\n-00005600: 2020 2020 2054 6869 7320 6675 6e63 7469 This functi\n-00005610: 6f6e 2069 7320 6f6e 6c79 2061 7661 696c on is only avail\n-00005620: 6162 6c65 206f 6e20 4c69 6e75 7820 706c able on Linux pl\n-00005630: 6174 666f 726d 732e 2020 4f6e 206f 7468 atforms. On oth\n-00005640: 6572 0a20 2020 2020 6f70 6572 6174 696e er. operatin\n-00005650: 6720 7379 7374 656d 732c 2069 7420 7769 g systems, it wi\n-00005660: 6c6c 2072 6574 7572 6e20 2d32 2074 6f20 ll return -2 to \n-00005670: 696e 6469 6361 7465 2074 6861 7420 7468 indicate that th\n-00005680: 6520 6e65 6365 7373 6172 790a 2020 2020 e necessary. \n-00005690: 206d 6563 6861 6e69 736d 7320 746f 2072 mechanisms to r\n-000056a0: 6574 7269 6576 6520 7468 6520 696e 666f etrieve the info\n-000056b0: 726d 6174 696f 6e20 6172 6520 6e6f 7420 rmation are not \n-000056c0: 6176 6169 6c61 626c 652e 0a0a 5345 4520 available...SEE \n-000056d0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-000056e0: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n-000056f0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n-00005700: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n-00005710: 6f64 653a 2047 6574 736f 636b 6f70 7420 ode: Getsockopt \n-00005720: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n-00005730: 7874 3a20 4c69 7374 656e 2028 7072 6f63 xt: Listen (proc\n-00005740: 6564 7572 6529 2c20 2050 7265 763a 2047 edure), Prev: G\n-00005750: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n-00005760: 7a65 2028 6675 6e63 7469 6f6e 292c 2020 ze (function), \n-00005770: 5570 3a20 4163 6365 7074 5f53 6f63 6b65 Up: Accept_Socke\n-00005780: 7420 2870 726f 6365 6475 7265 290a 0a47 t (procedure)..G\n-00005790: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-000057a0: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-000057b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-000057c0: 5250 4f53 450a 2020 2020 2052 6574 7269 RPOSE. Retri\n-000057d0: 6576 6520 6120 736f 636b 6574 206f 7074 eve a socket opt\n-000057e0: 696f 6e0a 5052 4f54 4f54 5950 450a 2020 ion.PROTOTYPE. \n-000057f0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e47 -- Sockets.G\n-00005800: 6574 736f 636b 6f70 743a 2070 726f 6365 etsockopt: proce\n-00005810: 6475 7265 2047 6574 736f 636b 6f70 7420 dure Getsockopt \n-00005820: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n-00005830: 5f46 443b 0a20 2020 2020 2020 2020 2020 _FD;. \n-00005840: 2020 2020 4c45 5645 4c20 3a20 536f 636b LEVEL : Sock\n-00005850: 6574 5f4c 6576 656c 203a 3d20 534f 4c5f et_Level := SOL_\n-00005860: 534f 434b 4554 3b0a 2020 2020 2020 2020 SOCKET;. \n-00005870: 2020 2020 2020 204f 5054 4e41 4d45 203a OPTNAME :\n-00005880: 2053 6f63 6b65 745f 4f70 7469 6f6e 3b20 Socket_Option; \n-00005890: 4f50 5456 414c 203a 206f 7574 2049 6e74 OPTVAL : out Int\n-000058a0: 6567 6572 293b 0a0a 5041 5241 4d45 5445 eger);..PARAMETE\n-000058b0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-000058c0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-000058d0: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n-000058e0: 756e 6420 736f 636b 6574 206f 626a 6563 und socket objec\n-000058f0: 740a 2020 2020 204c 4556 454c 2020 2020 t. LEVEL \n-00005900: 2020 696e 2020 2020 2020 2020 2050 726f in Pro\n-00005910: 746f 636f 6c20 6c65 7665 6c0a 2020 2020 tocol level. \n-00005920: 204f 5054 4e41 4d45 2020 2020 696e 2020 OPTNAME in \n-00005930: 2020 2020 2020 204f 7074 696f 6e20 6e61 Option na\n-00005940: 6d65 0a20 2020 2020 4f50 5456 414c 2020 me. OPTVAL \n-00005950: 2020 206f 7574 2020 2020 2020 2020 4f70 out Op\n-00005960: 7469 6f6e 2076 616c 7565 0a0a 4445 5343 tion value..DESC\n-00005970: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00005980: 7320 7072 6f63 6564 7572 6520 7265 7472 s procedure retr\n-00005990: 6965 7665 7320 6f70 7469 6f6e 7320 6170 ieves options ap\n-000059a0: 706c 6963 6162 6c65 2074 6f20 6120 736f plicable to a so\n-000059b0: 636b 6574 2e20 2050 6c65 6173 650a 2020 cket. Please. \n-000059c0: 2020 2073 6565 2079 6f75 7220 6f70 6572 see your oper\n-000059d0: 6174 696e 6720 7379 7374 656d 206d 616e ating system man\n-000059e0: 7561 6c20 666f 7220 7573 6162 6c65 206c ual for usable l\n-000059f0: 6576 656c 7320 616e 6420 6f70 7469 6f6e evels and option\n-00005a00: 732e 0a0a 2020 2020 2054 776f 206c 6576 s... Two lev\n-00005a10: 656c 7320 6172 6520 6465 6669 6e65 643a els are defined:\n-00005a20: 2027 534f 4c5f 534f 434b 4554 2720 2874 'SOL_SOCKET' (t\n-00005a30: 6865 2064 6566 6175 6c74 2920 616e 640a he default) and.\n-00005a40: 2020 2020 2027 4950 5052 4f54 4f5f 4950 'IPPROTO_IP\n-00005a50: 272e 2020 5468 6520 6f70 7469 6f6e 7320 '. The options \n-00005a60: 6172 6520 2753 4f5f 5245 5553 4541 4444 are 'SO_REUSEADD\n-00005a70: 5227 2c20 2753 4f5f 5245 5553 4550 4f52 R', 'SO_REUSEPOR\n-00005a80: 5427 2c0a 2020 2020 2027 4950 5f4d 554c T',. 'IP_MUL\n-00005a90: 5449 4341 5354 5f54 544c 272c 2027 4950 TICAST_TTL', 'IP\n-00005aa0: 5f41 4444 5f4d 454d 4245 5253 4849 5027 _ADD_MEMBERSHIP'\n-00005ab0: 2c20 2749 505f 4452 4f50 5f4d 454d 4245 , 'IP_DROP_MEMBE\n-00005ac0: 5253 4849 5027 2c0a 2020 2020 2027 4950 RSHIP',. 'IP\n-00005ad0: 5f4d 554c 5449 4341 5354 5f4c 4f4f 5027 _MULTICAST_LOOP'\n-00005ae0: 2c20 2753 4f5f 534e 4442 5546 2720 616e , 'SO_SNDBUF' an\n-00005af0: 6420 2749 505f 5243 5642 5546 272e 0a0a d 'IP_RCVBUF'...\n-00005b00: 2020 2020 204e 6f74 6520 7468 6174 2075 Note that u\n-00005b10: 6e6c 696b 6520 7468 6569 7220 4320 6c61 nlike their C la\n-00005b20: 6e67 7561 6765 2063 6f75 6e74 6572 7061 nguage counterpa\n-00005b30: 7274 2c20 2747 6574 736f 636b 6f70 7427 rt, 'Getsockopt'\n-00005b40: 2061 6e64 0a20 2020 2020 2753 6574 736f and. 'Setso\n-00005b50: 636b 6f70 7427 2064 6f20 6e6f 7420 7265 ckopt' do not re\n-00005b60: 7175 6972 6520 616e 2065 7874 7261 2070 quire an extra p\n-00005b70: 6172 616d 6574 6572 2072 6570 7265 7365 arameter represe\n-00005b80: 6e74 696e 6720 7468 650a 2020 2020 206c nting the. l\n-00005b90: 656e 6774 6820 696e 2062 7974 6573 206f ength in bytes o\n-00005ba0: 6620 7468 6520 6f70 7469 6f6e 2076 616c f the option val\n-00005bb0: 7565 2e20 2041 6461 536f 636b 6574 7320 ue. AdaSockets \n-00005bc0: 6e6f 7773 2074 6865 2072 6967 6874 0a20 nows the right. \n-00005bd0: 2020 2020 7369 7a65 2066 6f72 2065 7665 size for eve\n-00005be0: 7279 206f 7074 696f 6e2e 0a0a 5345 4520 ry option...SEE \n-00005bf0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-00005c00: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-00005c10: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n-00005c20: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n-00005c30: 666f 2c20 204e 6f64 653a 204c 6973 7465 fo, Node: Liste\n-00005c40: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n-00005c50: 4e65 7874 3a20 4e65 775f 4c69 6e65 2028 Next: New_Line (\n-00005c60: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n-00005c70: 763a 2047 6574 736f 636b 6f70 7420 2870 v: Getsockopt (p\n-00005c80: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n-00005c90: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n-00005ca0: 726f 6365 6475 7265 290a 0a4c 6973 7465 rocedure)..Liste\n-00005cb0: 6e20 2870 726f 6365 6475 7265 290a 2d2d n (procedure).--\n-00005cc0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00005cd0: 0a0a 5055 5250 4f53 450a 2020 2020 2045 ..PURPOSE. E\n-00005ce0: 7374 6162 6c69 7368 2061 206c 6973 7465 stablish a liste\n-00005cf0: 6e20 7175 6575 650a 5052 4f54 4f54 5950 n queue.PROTOTYP\n-00005d00: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n-00005d10: 7473 2e4c 6973 7465 6e3a 2070 726f 6365 ts.Listen: proce\n-00005d20: 6475 7265 204c 6973 7465 6e20 2853 4f43 dure Listen (SOC\n-00005d30: 4b45 5420 3a20 536f 636b 6574 5f46 443b KET : Socket_FD;\n-00005d40: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00005d50: 5155 4555 455f 5349 5a45 203a 2050 6f73 QUEUE_SIZE : Pos\n-00005d60: 6974 6976 6520 3a3d 2035 293b 0a0a 5041 itive := 5);..PA\n-00005d70: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n-00005d80: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n-00005d90: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n-00005da0: 616e 6420 626f 756e 6420 736f 636b 6574 and bound socket\n-00005db0: 206f 626a 6563 740a 2020 2020 2051 5545 object. QUE\n-00005dc0: 5545 5f53 495a 4520 696e 2020 2020 2020 UE_SIZE in \n-00005dd0: 2020 2052 6571 7565 7374 6564 2073 6c6f Requested slo\n-00005de0: 7473 2069 6e20 7468 6520 6c69 7374 656e ts in the listen\n-00005df0: 2071 7565 7565 0a0a 4445 5343 5249 5054 queue..DESCRIPT\n-00005e00: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n-00005e10: 6f63 6564 7572 6520 6573 7461 626c 6973 ocedure establis\n-00005e20: 6865 7320 6120 6c69 7374 656e 2071 7565 hes a listen que\n-00005e30: 7565 2061 6674 6572 2061 2054 4350 2073 ue after a TCP s\n-00005e40: 6f63 6b65 7420 6173 0a20 2020 2020 6265 ocket as. be\n-00005e50: 656e 2069 6e69 7469 616c 697a 6564 2061 en initialized a\n-00005e60: 6e64 2062 6f75 6e64 2e20 2045 6163 6820 nd bound. Each \n-00005e70: 736c 6f74 2069 6e20 7468 6520 7175 6575 slot in the queu\n-00005e80: 6520 6361 6e20 686f 6c64 206f 6e65 0a20 e can hold one. \n-00005e90: 2020 2020 696e 636f 6d69 6e67 2063 6f6e incoming con\n-00005ea0: 6e65 6374 696f 6e20 7468 6174 2068 6173 nection that has\n-00005eb0: 206e 6f74 2062 6565 6e20 6163 6365 7074 not been accept\n-00005ec0: 6564 2079 6574 2e20 204e 6f74 6520 7468 ed yet. Note th\n-00005ed0: 6174 206d 6f73 740a 2020 2020 206f 7065 at most. ope\n-00005ee0: 7261 7469 6e67 2073 7973 7465 6d73 2069 rating systems i\n-00005ef0: 676e 6f72 6520 7175 6575 6520 7369 7a65 gnore queue size\n-00005f00: 7320 6c61 7267 6572 2074 6861 6e20 6669 s larger than fi\n-00005f10: 7665 2e0a 0a53 4545 2041 4c53 4f0a 2020 ve...SEE ALSO. \n-00005f20: 2020 202a 6e6f 7465 2041 6363 6570 745f *note Accept_\n-00005f30: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00005f40: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00005f50: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n-00005f60: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00005f70: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00005f80: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n-00005f90: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00005fa0: 204e 6f64 653a 204e 6577 5f4c 696e 6520 Node: New_Line \n-00005fb0: 2870 726f 6365 6475 7265 292c 2020 4e65 (procedure), Ne\n-00005fc0: 7874 3a20 5075 7420 2870 726f 6365 6475 xt: Put (procedu\n-00005fd0: 7265 292c 2020 5072 6576 3a20 4c69 7374 re), Prev: List\n-00005fe0: 656e 2028 7072 6f63 6564 7572 6529 2c20 en (procedure), \n-00005ff0: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00006000: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00006010: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n-00006020: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n-00006030: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n-00006040: 5345 0a20 2020 2020 5365 6e64 2061 2043 SE. Send a C\n-00006050: 522f 4c46 2074 6f20 6120 7265 6d6f 7465 R/LF to a remote\n-00006060: 2068 6f73 740a 5052 4f54 4f54 5950 450a host.PROTOTYPE.\n-00006070: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00006080: 2e4e 6577 5f4c 696e 653a 2070 726f 6365 .New_Line: proce\n-00006090: 6475 7265 204e 6577 5f4c 696e 6520 2853 dure New_Line (S\n-000060a0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n-000060b0: 4427 436c 6173 733b 0a20 2020 2020 2020 D'Class;. \n-000060c0: 2020 2020 2020 2020 434f 554e 5420 3a20 COUNT : \n-000060d0: 4e61 7475 7261 6c20 3a3d 2031 293b 0a0a Natural := 1);..\n-000060e0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n-000060f0: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n-00006100: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n-00006110: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n-00006120: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n-00006130: 2020 2043 4f55 4e54 2020 2020 2020 696e COUNT in\n-00006140: 2020 2020 2020 2020 204e 756d 6265 7220 Number \n-00006150: 6f66 2043 522f 4c46 2073 6571 7565 6e63 of CR/LF sequenc\n-00006160: 6573 2074 6f20 7365 6e64 0a0a 4445 5343 es to send..DESC\n-00006170: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00006180: 7320 7072 6f63 6564 7572 6520 7365 6e64 s procedure send\n-00006190: 7320 6f6e 6520 6f72 206d 6f72 6520 4352 s one or more CR\n-000061a0: 2f4c 4620 636f 6d62 696e 6174 696f 6e73 /LF combinations\n-000061b0: 2074 6f20 7468 6520 7065 6572 2e0a 0a45 to the peer...E\n-000061c0: 5843 4550 5449 4f4e 530a 2020 2020 2027 XCEPTIONS. '\n-000061d0: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-000061e0: 6427 5065 6572 2068 6173 2070 7265 6d61 d'Peer has prema\n-000061f0: 7475 7265 6c79 2063 6c6f 7365 6420 7468 turely closed th\n-00006200: 6520 636f 6e6e 6563 7469 6f6e 0a0a 5345 e connection..SE\n-00006210: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n-00006220: 6520 5075 7420 2870 726f 6365 6475 7265 e Put (procedure\n-00006230: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-00006240: 5075 745f 4c69 6e65 2028 7072 6f63 6564 Put_Line (proced\n-00006250: 7572 6529 3a3a 2e0a 0a1f 0a46 696c 653a ure)::.....File:\n-00006260: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n-00006270: 2c20 204e 6f64 653a 2050 7574 2028 7072 , Node: Put (pr\n-00006280: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-00006290: 2050 7574 5f4c 696e 6520 2870 726f 6365 Put_Line (proce\n-000062a0: 6475 7265 292c 2020 5072 6576 3a20 4e65 dure), Prev: Ne\n-000062b0: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n-000062c0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-000062d0: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-000062e0: 6529 0a0a 5075 7420 2870 726f 6365 6475 e)..Put (procedu\n-000062f0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00006300: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n-00006310: 2020 5365 6e64 2061 2073 7472 696e 6720 Send a string \n-00006320: 746f 2061 2072 656d 6f74 6520 686f 7374 to a remote host\n-00006330: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n-00006340: 202d 2d20 536f 636b 6574 732e 5075 743a -- Sockets.Put:\n-00006350: 2070 726f 6365 6475 7265 2050 7574 2028 procedure Put (\n-00006360: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-00006370: 4644 2743 6c61 7373 3b0a 2020 2020 2020 FD'Class;. \n-00006380: 2020 2020 2020 2020 2053 5452 203a 2053 STR : S\n-00006390: 7472 696e 6729 3b0a 0a50 4152 414d 4554 tring);..PARAMET\n-000063a0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n-000063b0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n-000063c0: 6e69 7469 616c 697a 6564 2061 6e64 2063 nitialized and c\n-000063d0: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket \n-000063e0: 6f62 6a65 6374 0a20 2020 2020 5354 5220 object. STR \n-000063f0: 2020 2020 2020 2069 6e20 2020 2020 2020 in \n-00006400: 2020 5374 7269 6e67 2074 6f20 7365 6e64 String to send\n-00006410: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n-00006420: 2020 2054 6869 7320 7072 6f63 6564 7572 This procedur\n-00006430: 6520 7365 6e64 7320 7468 6520 636f 6e74 e sends the cont\n-00006440: 656e 7420 6f66 2053 5452 206f 7665 7220 ent of STR over \n-00006450: 616e 206f 7574 676f 696e 6720 6f72 0a20 an outgoing or. \n-00006460: 2020 2020 696e 636f 6d69 6e67 2073 6f63 incoming soc\n-00006470: 6b65 742e 0a0a 4558 4345 5054 494f 4e53 ket...EXCEPTIONS\n-00006480: 0a20 2020 2020 2743 6f6e 6e65 6374 696f . 'Connectio\n-00006490: 6e5f 436c 6f73 6564 2750 6565 7220 6861 n_Closed'Peer ha\n-000064a0: 7320 7072 656d 6174 7572 656c 7920 636c s prematurely cl\n-000064b0: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n-000064c0: 696f 6e0a 0a53 4545 2041 4c53 4f0a 2020 ion..SEE ALSO. \n-000064d0: 2020 202a 6e6f 7465 204e 6577 5f4c 696e *note New_Lin\n-000064e0: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n-000064f0: 0a20 2020 2020 2a6e 6f74 6520 5075 745f . *note Put_\n-00006500: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-00006510: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n-00006520: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n-00006530: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00006540: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-00006550: 6465 3a20 5075 745f 4c69 6e65 2028 7072 de: Put_Line (pr\n-00006560: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n-00006570: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-00006580: 6f6e 292c 2020 5072 6576 3a20 5075 7420 on), Prev: Put \n-00006590: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-000065a0: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-000065b0: 2870 726f 6365 6475 7265 290a 0a50 7574 (procedure)..Put\n-000065c0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-000065d0: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n-000065e0: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n-000065f0: 2020 2020 2053 656e 6420 6120 4352 2f4c Send a CR/L\n-00006600: 4620 7465 726d 696e 6174 6564 2073 7472 F terminated str\n-00006610: 696e 6720 746f 2061 2072 656d 6f74 6520 ing to a remote \n-00006620: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n-00006630: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00006640: 5075 745f 4c69 6e65 3a20 7072 6f63 6564 Put_Line: proced\n-00006650: 7572 6520 5075 745f 4c69 6e65 2028 534f ure Put_Line (SO\n-00006660: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n-00006670: 2743 6c61 7373 3b0a 2020 2020 2020 2020 'Class;. \n-00006680: 2020 2020 2020 2053 5452 203a 2053 7472 STR : Str\n-00006690: 696e 6729 3b0a 0a50 4152 414d 4554 4552 ing);..PARAMETER\n-000066a0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-000066b0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-000066c0: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-000066d0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-000066e0: 6a65 6374 0a20 2020 2020 5354 5220 2020 ject. STR \n-000066f0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00006700: 5374 7269 6e67 2074 6f20 7365 6e64 0a0a String to send..\n-00006710: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n-00006720: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n-00006730: 7365 6e64 7320 7468 6520 636f 6e74 656e sends the conten\n-00006740: 7420 6f66 2053 5452 2070 6c75 7320 6120 t of STR plus a \n-00006750: 4352 2f4c 4620 636f 6d62 696e 6174 696f CR/LF combinatio\n-00006760: 6e0a 2020 2020 206f 7665 7220 616e 206f n. over an o\n-00006770: 7574 676f 696e 6720 6f72 2069 6e63 6f6d utgoing or incom\n-00006780: 696e 6720 736f 636b 6574 2e0a 0a45 5843 ing socket...EXC\n-00006790: 4550 5449 4f4e 530a 2020 2020 2027 436f EPTIONS. 'Co\n-000067a0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6427 nnection_Closed'\n-000067b0: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n-000067c0: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n-000067d0: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n-000067e0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-000067f0: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n-00006800: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n-00006810: 7465 2050 7574 2028 7072 6f63 6564 7572 te Put (procedur\n-00006820: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n-00006830: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-00006840: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n-00006850: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n-00006860: 4e6f 6465 3a20 5265 6365 6976 6520 2866 Node: Receive (f\n-00006870: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next:\n-00006880: 2052 6563 6569 7665 2028 7072 6f63 6564 Receive (proced\n-00006890: 7572 6529 2c20 2050 7265 763a 2050 7574 ure), Prev: Put\n-000068a0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-000068b0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-000068c0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000068d0: 290a 0a52 6563 6569 7665 2028 6675 6e63 )..Receive (func\n-000068e0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n-000068f0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00006900: 450a 2020 2020 2052 6563 6569 7665 2072 E. Receive r\n-00006910: 6177 2064 6174 6120 6f76 6572 2061 2073 aw data over a s\n-00006920: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n-00006930: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n-00006940: 2e52 6563 6569 7665 3a20 6675 6e63 7469 .Receive: functi\n-00006950: 6f6e 2052 6563 6569 7665 2028 534f 434b on Receive (SOCK\n-00006960: 4554 203a 2053 6f63 6b65 745f 4644 3b0a ET : Socket_FD;.\n-00006970: 2020 2020 2020 2020 2020 2020 2020 204d M\n-00006980: 4158 203a 2041 6461 2e53 7472 6561 6d73 AX : Ada.Streams\n-00006990: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n-000069a0: 436f 756e 7420 3a3d 2034 3039 3629 0a20 Count := 4096). \n-000069b0: 2020 2020 2020 2020 2020 2020 2020 7265 re\n-000069c0: 7475 726e 2041 6461 2e53 7472 6561 6d73 turn Ada.Streams\n-000069d0: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n-000069e0: 4172 7261 793b 0a0a 5041 5241 4d45 5445 Array;..PARAMETE\n-000069f0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-00006a00: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-00006a10: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n-00006a20: 756e 6420 6f72 2063 6f6e 6e65 6374 6564 und or connected\n-00006a30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-00006a40: 2020 2020 2020 2020 2020 2020 736f 636b sock\n-00006a50: 6574 206f 626a 6563 740a 2020 2020 204d et object. M\n-00006a60: 4158 2020 2020 2020 2020 696e 2020 2020 AX in \n-00006a70: 2020 2020 204d 6178 696d 756d 2064 6174 Maximum dat\n-00006a80: 6120 6c65 6e67 7468 0a0a 5245 5455 524e a length..RETURN\n-00006a90: 2056 414c 5545 0a20 2020 2020 5265 6365 VALUE. Rece\n-00006aa0: 6976 6564 2072 6177 2064 6174 610a 0a44 ived raw data..D\n-00006ab0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n-00006ac0: 5468 6973 2070 726f 6365 6475 7265 2072 This procedure r\n-00006ad0: 6563 6569 7665 7320 6461 7461 2066 726f eceives data fro\n-00006ae0: 6d20 6120 626f 756e 6420 5544 5020 736f m a bound UDP so\n-00006af0: 636b 6574 206f 7220 6120 636f 6e6e 6563 cket or a connec\n-00006b00: 7465 640a 2020 2020 2054 4350 2073 6f63 ted. TCP soc\n-00006b10: 6b65 742e 2020 4f6e 6c79 206f 6e65 2073 ket. Only one s\n-00006b20: 7973 7465 6d20 6361 6c6c 2077 696c 6c20 ystem call will \n-00006b30: 6265 2070 6572 666f 726d 6564 3b20 7468 be performed; th\n-00006b40: 6973 2066 756e 6374 696f 6e0a 2020 2020 is function. \n-00006b50: 2077 696c 6c20 7265 7475 726e 2077 6861 will return wha\n-00006b60: 7465 7665 7220 6461 7461 2068 6173 2061 tever data has a\n-00006b70: 7272 6976 6564 2e20 204e 6f74 6520 7468 rrived. Note th\n-00006b80: 6174 2069 6e20 474e 4154 2074 6865 0a20 at in GNAT the. \n-00006b90: 2020 2020 7365 636f 6e64 6172 7920 7374 secondary st\n-00006ba0: 6163 6b20 6d61 7920 6265 2075 7365 6420 ack may be used \n-00006bb0: 746f 2073 746f 7265 2074 6865 2064 6174 to store the dat\n-00006bc0: 6120 616e 6420 6d61 7920 7265 7375 6c74 a and may result\n-00006bd0: 2069 6e0a 2020 2020 2073 7461 636b 2073 in. stack s\n-00006be0: 746f 7261 6765 2065 7868 6175 7374 696f torage exhaustio\n-00006bf0: 6e2e 0a0a 4558 4345 5054 494f 4e53 0a20 n...EXCEPTIONS. \n-00006c00: 2020 2020 2743 6f6e 6e65 6374 696f 6e5f 'Connection_\n-00006c10: 436c 6f73 6564 2750 6565 7220 6861 7320 Closed'Peer has \n-00006c20: 636c 6f73 6564 2074 6865 2063 6f6e 6e65 closed the conne\n-00006c30: 6374 696f 6e20 6265 666f 7265 0a20 2020 ction before. \n-00006c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006c50: 2020 2020 2073 656e 6469 6e67 2061 6e79 sending any\n-00006c60: 2064 6174 610a 0a53 4545 2041 4c53 4f0a data..SEE ALSO.\n-00006c70: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n-00006c80: 7665 2028 7072 6f63 6564 7572 6529 3a3a ve (procedure)::\n-00006c90: 2c0a 2020 2020 202a 6e6f 7465 2052 6563 ,. *note Rec\n-00006ca0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-00006cb0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n-00006cc0: 6f74 6520 4765 745f 4c69 6e65 2028 6675 ote Get_Line (fu\n-00006cd0: 6e63 7469 6f6e 293a 3a2c 0a20 2020 2020 nction)::,. \n-00006ce0: 2a6e 6f74 6520 4765 745f 4c69 6e65 2028 *note Get_Line (\n-00006cf0: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00006d00: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00006d10: 732e 696e 666f 2c20 204e 6f64 653a 2052 s.info, Node: R\n-00006d20: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n-00006d30: 6529 2c20 204e 6578 743a 2052 6563 6569 e), Next: Recei\n-00006d40: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu\n-00006d50: 7265 292c 2020 5072 6576 3a20 5265 6365 re), Prev: Rece\n-00006d60: 6976 6520 2866 756e 6374 696f 6e29 2c20 ive (function), \n-00006d70: 2055 703a 2041 6363 6570 745f 536f 636b Up: Accept_Sock\n-00006d80: 6574 2028 7072 6f63 6564 7572 6529 0a0a et (procedure)..\n-00006d90: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n-00006da0: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00006db0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n-00006dc0: 0a20 2020 2020 5265 6365 6976 6520 7261 . Receive ra\n-00006dd0: 7720 6461 7461 206f 7665 7220 6120 736f w data over a so\n-00006de0: 636b 6574 0a50 524f 544f 5459 5045 0a20 cket.PROTOTYPE. \n-00006df0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00006e00: 5265 6365 6976 653a 2070 726f 6365 6475 Receive: procedu\n-00006e10: 7265 2052 6563 6569 7665 2028 534f 434b re Receive (SOCK\n-00006e20: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00006e30: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n-00006e40: 2020 2020 2044 4154 4120 3a20 6f75 7420 DATA : out \n-00006e50: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-00006e60: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-00006e70: 293b 0a0a 5041 5241 4d45 5445 5253 0a20 );..PARAMETERS. \n-00006e80: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i\n-00006e90: 6e20 2020 2020 2020 2020 496e 6974 6961 n Initia\n-00006ea0: 6c69 7a65 6420 616e 6420 626f 756e 6420 lized and bound \n-00006eb0: 6f72 2063 6f6e 6e65 6374 6564 0a20 2020 or connected. \n-00006ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00006ed0: 2020 2020 2020 2020 736f 636b 6574 206f socket o\n-00006ee0: 626a 6563 740a 2020 2020 2044 4154 4120 bject. DATA \n-00006ef0: 2020 2020 2020 6f75 7420 2020 2020 2020 out \n-00006f00: 2049 6e63 6f6d 696e 6720 6461 7461 2062 Incoming data b\n-00006f10: 7566 6665 720a 0a44 4553 4352 4950 5449 uffer..DESCRIPTI\n-00006f20: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00006f30: 6365 6475 7265 2072 6563 6569 7665 7320 cedure receives \n-00006f40: 6461 7461 2066 726f 6d20 6120 626f 756e data from a boun\n-00006f50: 6420 5544 5020 736f 636b 6574 206f 7220 d UDP socket or \n-00006f60: 6120 636f 6e6e 6563 7465 640a 2020 2020 a connected. \n-00006f70: 2054 4350 2073 6f63 6b65 742e 2020 4974 TCP socket. It\n-00006f80: 2077 696c 6c20 626c 6f63 6b20 756e 7469 will block unti\n-00006f90: 6c20 7468 6520 4441 5441 2072 6563 6570 l the DATA recep\n-00006fa0: 7469 6f6e 2062 7566 6665 7220 6861 7320 tion buffer has \n-00006fb0: 6265 656e 0a20 2020 2020 746f 7461 6c6c been. totall\n-00006fc0: 7920 6669 6c6c 6564 2e0a 0a45 5843 4550 y filled...EXCEP\n-00006fd0: 5449 4f4e 530a 2020 2020 2027 436f 6e6e TIONS. 'Conn\n-00006fe0: 6563 7469 6f6e 5f43 6c6f 7365 6427 5065 ection_Closed'Pe\n-00006ff0: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n-00007000: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n-00007010: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n-00007020: 2020 2020 2020 2020 2020 2020 2744 6174 'Dat\n-00007030: 6127 4c65 6e67 7468 2720 6279 7465 730a a'Length' bytes.\n-00007040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007050: 2020 2020 2020 2020 7765 7265 2072 6563 were rec\n-00007060: 6569 7665 640a 0a53 4545 2041 4c53 4f0a eived..SEE ALSO.\n-00007070: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n-00007080: 696e 6520 2866 756e 6374 696f 6e29 3a3a ine (function)::\n-00007090: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n-000070a0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-000070b0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n-000070c0: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-000070d0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note\n-000070e0: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n-000070f0: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n-00007100: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n-00007110: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n-00007120: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n-00007130: 6564 7572 6529 2c20 204e 6578 743a 2053 edure), Next: S\n-00007140: 656e 6420 2870 726f 6365 6475 7265 292c end (procedure),\n-00007150: 2020 5072 6576 3a20 5265 6365 6976 6520 Prev: Receive \n-00007160: 2870 726f 6365 6475 7265 292c 2020 5570 (procedure), Up\n-00007170: 3a20 4163 6365 7074 5f53 6f63 6b65 7420 : Accept_Socket \n-00007180: 2870 726f 6365 6475 7265 290a 0a52 6563 (procedure)..Rec\n-00007190: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-000071a0: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-000071b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-000071c0: 5055 5250 4f53 450a 2020 2020 2052 6563 PURPOSE. Rec\n-000071d0: 6569 7665 2072 6177 2064 6174 6120 6f76 eive raw data ov\n-000071e0: 6572 2061 2073 6f63 6b65 740a 5052 4f54 er a socket.PROT\n-000071f0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-00007200: 6f63 6b65 7473 2e52 6563 6569 7665 5f53 ockets.Receive_S\n-00007210: 6f6d 653a 2070 726f 6365 6475 7265 2052 ome: procedure R\n-00007220: 6563 6569 7665 5f53 6f6d 650a 2020 2020 eceive_Some. \n-00007230: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n-00007240: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00007250: 6c61 7373 3b0a 2020 2020 2020 2020 2020 lass;. \n-00007260: 2020 2020 2044 4154 4120 3a20 6f75 7420 DATA : out \n-00007270: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-00007280: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-00007290: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n-000072a0: 204c 4153 5420 3a20 6f75 7420 4164 612e LAST : out Ada.\n-000072b0: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n-000072c0: 6c65 6d65 6e74 5f4f 6666 7365 7429 3b0a lement_Offset);.\n-000072d0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n-000072e0: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n-000072f0: 2020 2020 2020 2049 6e69 7469 616c 697a Initializ\n-00007300: 6564 2061 6e64 2062 6f75 6e64 206f 7220 ed and bound or \n-00007310: 636f 6e6e 6563 7465 640a 2020 2020 2020 connected. \n-00007320: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007330: 2020 2020 2073 6f63 6b65 7420 6f62 6a65 socket obje\n-00007340: 6374 0a20 2020 2020 4441 5441 2020 2020 ct. DATA \n-00007350: 2020 206f 7574 2020 2020 2020 2020 496e out In\n-00007360: 636f 6d69 6e67 2064 6174 6120 6275 6666 coming data buff\n-00007370: 6572 0a20 2020 2020 4c41 5354 2020 2020 er. LAST \n-00007380: 2020 206f 7574 2020 2020 2020 2020 496e out In\n-00007390: 6465 7820 6f66 206c 6173 7420 656c 656d dex of last elem\n-000073a0: 656e 7420 706c 6163 6564 2069 6e74 6f20 ent placed into \n-000073b0: 4441 5441 0a0a 4445 5343 5249 5054 494f DATA..DESCRIPTIO\n-000073c0: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n-000073d0: 6564 7572 6520 7265 6365 6976 6573 2064 edure receives d\n-000073e0: 6174 6120 6672 6f6d 2061 2062 6f75 6e64 ata from a bound\n-000073f0: 2055 4450 2073 6f63 6b65 7420 6f72 2061 UDP socket or a\n-00007400: 2063 6f6e 6e65 6374 6564 0a20 2020 2020 connected. \n-00007410: 5443 5020 736f 636b 6574 2e20 2041 7320 TCP socket. As \n-00007420: 736f 6f6e 2061 7320 6174 206c 6561 7374 soon as at least\n-00007430: 206f 6e65 2062 7974 6520 6861 7320 6265 one byte has be\n-00007440: 656e 2072 6561 642c 2069 7420 7265 7475 en read, it retu\n-00007450: 726e 730a 2020 2020 2077 6974 6820 4c41 rns. with LA\n-00007460: 5354 2073 6574 2074 6f20 7468 6520 696e ST set to the in\n-00007470: 6465 7820 6f66 2074 6865 206c 6174 6573 dex of the lates\n-00007480: 7420 7772 6974 7465 6e20 656c 656d 656e t written elemen\n-00007490: 7420 6f66 2044 4154 412e 0a0a 4558 4345 t of DATA...EXCE\n-000074a0: 5054 494f 4e53 0a20 2020 2020 2743 6f6e PTIONS. 'Con\n-000074b0: 6e65 6374 696f 6e5f 436c 6f73 6564 2750 nection_Closed'P\n-000074c0: 6565 7220 6861 7320 636c 6f73 6564 2074 eer has closed t\n-000074d0: 6865 2063 6f6e 6e65 6374 696f 6e20 6265 he connection be\n-000074e0: 666f 7265 0a20 2020 2020 2020 2020 2020 fore. \n-000074f0: 2020 2020 2020 2020 2020 2020 2073 656e sen\n-00007500: 6469 6e67 2061 6e79 2064 6174 610a 0a53 ding any data..S\n-00007510: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n-00007520: 7465 2047 6574 5f4c 696e 6520 2866 756e te Get_Line (fun\n-00007530: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n-00007540: 6e6f 7465 2047 6574 5f4c 696e 6520 2870 note Get_Line (p\n-00007550: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n-00007560: 2020 2a6e 6f74 6520 5265 6365 6976 6520 *note Receive \n-00007570: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. \n-00007580: 2020 202a 6e6f 7465 2052 6563 6569 7665 *note Receive\n-00007590: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-000075a0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-000075b0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-000075c0: 2053 656e 6420 2870 726f 6365 6475 7265 Send (procedure\n-000075d0: 292c 2020 4e65 7874 3a20 5365 745f 4275 ), Next: Set_Bu\n-000075e0: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n-000075f0: 2c20 2050 7265 763a 2052 6563 6569 7665 , Prev: Receive\n-00007600: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n-00007610: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00007620: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00007630: 290a 0a53 656e 6420 2870 726f 6365 6475 )..Send (procedu\n-00007640: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n-00007650: 2d2d 2d2d 0a0a 5055 5250 4f53 450a 2020 ----..PURPOSE. \n-00007660: 2020 2053 656e 6420 7261 7720 6461 7461 Send raw data\n-00007670: 206f 7665 7220 6120 736f 636b 6574 0a50 over a socket.P\n-00007680: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-00007690: 2d20 536f 636b 6574 732e 5365 6e64 3a20 - Sockets.Send: \n-000076a0: 7072 6f63 6564 7572 6520 5365 6e64 2028 procedure Send (\n-000076b0: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-000076c0: 4644 3b0a 2020 2020 2020 2020 2020 2020 FD;. \n-000076d0: 2020 2044 4154 4120 3a20 6f75 7420 4164 DATA : out Ad\n-000076e0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n-000076f0: 5f45 6c65 6d65 6e74 5f41 7272 6179 293b _Element_Array);\n-00007700: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n-00007710: 2020 534f 434b 4554 2020 2020 2069 6e20 SOCKET in \n-00007720: 2020 2020 2020 2020 496e 6974 6961 6c69 Initiali\n-00007730: 7a65 6420 616e 6420 636f 6e6e 6563 7465 zed and connecte\n-00007740: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n-00007750: 2020 2020 2044 4154 4120 2020 2020 2020 DATA \n-00007760: 6f75 7420 2020 2020 2020 2044 6174 6120 out Data \n-00007770: 746f 2062 6520 7365 6e74 0a0a 4445 5343 to be sent..DESC\n-00007780: 5249 5054 494f 4e0a 2020 2020 2054 6869 RIPTION. Thi\n-00007790: 7320 7072 6f63 6564 7572 6520 7365 6e64 s procedure send\n-000077a0: 7320 6461 7461 206f 7665 7220 6120 636f s data over a co\n-000077b0: 6e6e 6563 7465 6420 6f75 7467 6f69 6e67 nnected outgoing\n-000077c0: 2073 6f63 6b65 7420 6f72 206f 7665 720a socket or over.\n-000077d0: 2020 2020 2061 6e20 696e 636f 6d69 6e67 an incoming\n-000077e0: 2073 6f63 6b65 742e 0a0a 4558 4345 5054 socket...EXCEPT\n-000077f0: 494f 4e53 0a20 2020 2020 2743 6f6e 6e65 IONS. 'Conne\n-00007800: 6374 696f 6e5f 436c 6f73 6564 2750 6565 ction_Closed'Pee\n-00007810: 7220 6861 7320 7072 656d 6174 7572 656c r has prematurel\n-00007820: 7920 636c 6f73 6564 2074 6865 2063 6f6e y closed the con\n-00007830: 6e65 6374 696f 6e0a 0a53 4545 2041 4c53 nection..SEE ALS\n-00007840: 4f0a 2020 2020 202a 6e6f 7465 2050 7574 O. *note Put\n-00007850: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n-00007860: 2020 2020 202a 6e6f 7465 2050 7574 5f4c *note Put_L\n-00007870: 696e 6520 2870 726f 6365 6475 7265 293a ine (procedure):\n-00007880: 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 6173 :.....File: adas\n-00007890: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n-000078a0: 6465 3a20 5365 745f 4275 6666 6572 2028 de: Set_Buffer (\n-000078b0: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n-000078c0: 743a 2053 6574 736f 636b 6f70 7420 2870 t: Setsockopt (p\n-000078d0: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n-000078e0: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur\n-000078f0: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-00007900: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00007910: 6529 0a0a 5365 745f 4275 6666 6572 2028 e)..Set_Buffer (\n-00007920: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n-00007930: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007940: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n-00007950: 496e 7374 616c 6c20 6120 6c69 6e65 2d6f Install a line-o\n-00007960: 7269 656e 7465 6420 6275 6666 6572 206f riented buffer o\n-00007970: 6620 7468 6520 736f 636b 6574 206f 626a f the socket obj\n-00007980: 6563 740a 5052 4f54 4f54 5950 450a 2020 ect.PROTOTYPE. \n-00007990: 2020 2020 2d2d 2053 6f63 6b65 7473 2e53 -- Sockets.S\n-000079a0: 6574 5f42 7566 6665 723a 2070 726f 6365 et_Buffer: proce\n-000079b0: 6475 7265 2053 6574 5f42 7566 6665 720a dure Set_Buffer.\n-000079c0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-000079d0: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_\n-000079e0: 4644 2743 6c61 7373 3b20 4c45 4e47 5448 FD'Class; LENGTH\n-000079f0: 203a 2050 6f73 6974 6976 6520 3a3d 2031 : Positive := 1\n-00007a00: 3530 3029 3b0a 0a50 4152 414d 4554 4552 500);..PARAMETER\n-00007a10: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n-00007a20: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n-00007a30: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n-00007a40: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n-00007a50: 6a65 6374 0a20 2020 2020 4c45 4e47 5448 ject. LENGTH\n-00007a60: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n-00007a70: 5369 7a65 2069 6e20 6279 7465 7320 6f66 Size in bytes of\n-00007a80: 2074 6865 206e 6577 6c79 2069 6e73 7461 the newly insta\n-00007a90: 6c6c 6564 0a20 2020 2020 2020 2020 2020 lled. \n-00007aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00007ab0: 6275 6666 6572 0a0a 4445 5343 5249 5054 buffer..DESCRIPT\n-00007ac0: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n-00007ad0: 6f63 6564 7572 6520 7075 7473 2074 6865 ocedure puts the\n-00007ae0: 2073 6f63 6b65 7420 6f62 6a65 6374 2069 socket object i\n-00007af0: 6e20 6275 6666 6572 6564 206d 6f64 652e n buffered mode.\n-00007b00: 2020 4966 2074 6865 0a20 2020 2020 736f If the. so\n-00007b10: 636b 6574 2077 6173 2061 6c72 6561 6479 cket was already\n-00007b20: 2062 7566 6665 7265 642c 2074 6865 2063 buffered, the c\n-00007b30: 6f6e 7465 6e74 206f 6620 7468 6520 7072 ontent of the pr\n-00007b40: 6576 696f 7573 2062 7566 6665 720a 2020 evious buffer. \n-00007b50: 2020 2077 696c 6c20 6265 206c 6f73 742e will be lost.\n-00007b60: 2020 5468 6520 6275 6666 6572 6564 206d The buffered m\n-00007b70: 6f64 6520 6f6e 6c79 2061 6666 6563 7473 ode only affects\n-00007b80: 2063 6861 7261 6374 6572 2d20 616e 640a character- and.\n-00007b90: 2020 2020 206c 696e 652d 6f72 6965 6e74 line-orient\n-00007ba0: 6564 2072 6561 6420 6f70 6572 6174 696f ed read operatio\n-00007bb0: 6e20 7375 6368 2061 7320 2a6e 6f74 6520 n such as *note \n-00007bc0: 4765 7420 2866 756e 6374 696f 6e29 3a3a Get (function)::\n-00007bd0: 2c20 2a6e 6f74 650a 2020 2020 2047 6574 , *note. Get\n-00007be0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n-00007bf0: 3a3a 2c20 616e 6420 2a6e 6f74 6520 4765 ::, and *note Ge\n-00007c00: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function\n-00007c10: 293a 3a2e 2020 4f74 6865 720a 2020 2020 )::. Other. \n-00007c20: 2072 6563 6570 7469 6f6e 2073 7562 7072 reception subpr\n-00007c30: 6f67 7261 6d73 2077 696c 6c20 6e6f 7420 ograms will not \n-00007c40: 6675 6e63 7469 6f6e 2070 726f 7065 726c function properl\n-00007c50: 7920 6966 2062 7566 6665 7265 6420 6d6f y if buffered mo\n-00007c60: 6465 0a20 2020 2020 6973 2075 7365 6420 de. is used \n-00007c70: 6174 2074 6865 2073 616d 6520 7469 6d65 at the same time\n-00007c80: 2e0a 0a20 2020 2020 5468 6520 7369 7a65 ... The size\n-00007c90: 206f 6620 7468 6520 6275 6666 6572 2068 of the buffer h\n-00007ca0: 6173 2074 6f20 6265 2067 7265 6174 6572 as to be greater\n-00007cb0: 2074 6861 6e20 7468 6520 6269 6767 6573 than the bigges\n-00007cc0: 7420 706f 7373 6962 6c65 0a20 2020 2020 t possible. \n-00007cd0: 7061 636b 6574 2073 656e 7420 6279 2074 packet sent by t\n-00007ce0: 6865 2072 656d 6f74 6520 686f 7374 2c20 he remote host, \n-00007cf0: 6f74 6865 7277 6973 6520 6461 7461 206c otherwise data l\n-00007d00: 6f73 7320 6d61 7920 6f63 6375 722e 0a0a oss may occur...\n-00007d10: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n-00007d20: 6f74 6520 556e 7365 745f 4275 6666 6572 ote Unset_Buffer\n-00007d30: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-00007d40: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-00007d50: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-00007d60: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro\n-00007d70: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n-00007d80: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n-00007d90: 7572 6529 2c20 2050 7265 763a 2053 6574 ure), Prev: Set\n-00007da0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-00007db0: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n-00007dc0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-00007dd0: 7265 290a 0a53 6574 736f 636b 6f70 7420 re)..Setsockopt \n-00007de0: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n-00007df0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007e00: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n-00007e10: 2053 6574 2061 2073 6f63 6b65 7420 6f70 Set a socket op\n-00007e20: 7469 6f6e 0a50 524f 544f 5459 5045 0a20 tion.PROTOTYPE. \n-00007e30: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n-00007e40: 5365 7473 6f63 6b6f 7074 3a20 7072 6f63 Setsockopt: proc\n-00007e50: 6564 7572 6520 5365 7473 6f63 6b6f 7074 edure Setsockopt\n-00007e60: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke\n-00007e70: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n-00007e80: 2020 2020 204c 4556 454c 203a 2053 6f63 LEVEL : Soc\n-00007e90: 6b65 745f 4c65 7665 6c20 3a3d 2053 4f4c ket_Level := SOL\n-00007ea0: 5f53 4f43 4b45 543b 0a20 2020 2020 2020 _SOCKET;. \n-00007eb0: 2020 2020 2020 2020 4f50 544e 414d 4520 OPTNAME \n-00007ec0: 3a20 536f 636b 6574 5f4f 7074 696f 6e3b : Socket_Option;\n-00007ed0: 204f 5054 5641 4c20 3a20 496e 7465 6765 OPTVAL : Intege\n-00007ee0: 7229 3b0a 0a50 4152 414d 4554 4552 530a r);..PARAMETERS.\n-00007ef0: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n-00007f00: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n-00007f10: 616c 697a 6564 2061 6e64 2062 6f75 6e64 alized and bound\n-00007f20: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n-00007f30: 2020 2020 4c45 5645 4c20 2020 2020 2069 LEVEL i\n-00007f40: 6e20 2020 2020 2020 2020 5072 6f74 6f63 n Protoc\n-00007f50: 6f6c 206c 6576 656c 0a20 2020 2020 4f50 ol level. OP\n-00007f60: 544e 414d 4520 2020 2069 6e20 2020 2020 TNAME in \n-00007f70: 2020 2020 4f70 7469 6f6e 206e 616d 650a Option name.\n-00007f80: 2020 2020 204f 5054 5641 4c20 2020 2020 OPTVAL \n-00007f90: 696e 2020 2020 2020 2020 204f 7074 696f in Optio\n-00007fa0: 6e20 7661 6c75 650a 0a44 4553 4352 4950 n value..DESCRIP\n-00007fb0: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n-00007fc0: 726f 6365 6475 7265 2073 6574 7320 6f70 rocedure sets op\n-00007fd0: 7469 6f6e 7320 6170 706c 6963 6162 6c65 tions applicable\n-00007fe0: 2074 6f20 6120 736f 636b 6574 2e20 2050 to a socket. P\n-00007ff0: 6c65 6173 6520 7365 650a 2020 2020 2079 lease see. y\n-00008000: 6f75 7220 6f70 6572 6174 696e 6720 7379 our operating sy\n-00008010: 7374 656d 206d 616e 7561 6c20 666f 7220 stem manual for \n-00008020: 7573 6162 6c65 206c 6576 656c 7320 616e usable levels an\n-00008030: 6420 6f70 7469 6f6e 732e 0a0a 2020 2020 d options... \n-00008040: 2054 776f 206c 6576 656c 7320 6172 6520 Two levels are \n-00008050: 6465 6669 6e65 643a 2027 534f 4c5f 534f defined: 'SOL_SO\n-00008060: 434b 4554 2720 2874 6865 2064 6566 6175 CKET' (the defau\n-00008070: 6c74 2920 616e 640a 2020 2020 2027 4950 lt) and. 'IP\n-00008080: 5052 4f54 4f5f 4950 272e 2020 5468 6520 PROTO_IP'. The \n-00008090: 6f70 7469 6f6e 7320 6172 6520 2753 4f5f options are 'SO_\n-000080a0: 5245 5553 4541 4444 5227 2c20 2753 4f5f REUSEADDR', 'SO_\n-000080b0: 5245 5553 4550 4f52 5427 2c0a 2020 2020 REUSEPORT',. \n-000080c0: 2027 4950 5f4d 554c 5449 4341 5354 5f54 'IP_MULTICAST_T\n-000080d0: 544c 272c 2027 4950 5f41 4444 5f4d 454d TL', 'IP_ADD_MEM\n-000080e0: 4245 5253 4849 5027 2c20 2749 505f 4452 BERSHIP', 'IP_DR\n-000080f0: 4f50 5f4d 454d 4245 5253 4849 5027 2c0a OP_MEMBERSHIP',.\n-00008100: 2020 2020 2027 4950 5f4d 554c 5449 4341 'IP_MULTICA\n-00008110: 5354 5f4c 4f4f 5027 2c20 2753 4f5f 534e ST_LOOP', 'SO_SN\n-00008120: 4442 5546 2720 616e 6420 2749 505f 5243 DBUF' and 'IP_RC\n-00008130: 5642 5546 272e 0a0a 2020 2020 204e 6f74 VBUF'... Not\n-00008140: 6520 7468 6174 2075 6e6c 696b 6520 7468 e that unlike th\n-00008150: 6569 7220 4320 6c61 6e67 7561 6765 2063 eir C language c\n-00008160: 6f75 6e74 6572 7061 7274 2c20 2747 6574 ounterpart, 'Get\n-00008170: 736f 636b 6f70 7427 2061 6e64 0a20 2020 sockopt' and. \n-00008180: 2020 2753 6574 736f 636b 6f70 7427 2064 'Setsockopt' d\n-00008190: 6f20 6e6f 7420 7265 7175 6972 6520 616e o not require an\n-000081a0: 2065 7874 7261 2070 6172 616d 6574 6572 extra parameter\n-000081b0: 2072 6570 7265 7365 6e74 696e 6720 7468 representing th\n-000081c0: 650a 2020 2020 206c 656e 6774 6820 696e e. length in\n-000081d0: 2062 7974 6573 206f 6620 7468 6520 6f70 bytes of the op\n-000081e0: 7469 6f6e 2076 616c 7565 2e20 2041 6461 tion value. Ada\n-000081f0: 536f 636b 6574 7320 6e6f 7773 2074 6865 Sockets nows the\n-00008200: 2072 6967 6874 0a20 2020 2020 7369 7a65 right. size\n-00008210: 2066 6f72 2065 7665 7279 206f 7074 696f for every optio\n-00008220: 6e2e 0a0a 5345 4520 414c 534f 0a20 2020 n...SEE ALSO. \n-00008230: 2020 2a6e 6f74 6520 4765 7473 6f63 6b6f *note Getsocko\n-00008240: 7074 2028 7072 6f63 6564 7572 6529 3a3a pt (procedure)::\n-00008250: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n-00008260: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00008270: 653a 2053 6875 7464 6f77 6e20 2870 726f e: Shutdown (pro\n-00008280: 6365 6475 7265 292c 2020 4e65 7874 3a20 cedure), Next: \n-00008290: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-000082a0: 6529 2c20 2050 7265 763a 2053 6574 736f e), Prev: Setso\n-000082b0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-000082c0: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-000082d0: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-000082e0: 290a 0a53 6875 7464 6f77 6e20 2870 726f )..Shutdown (pro\n-000082f0: 6365 6475 7265 290a 2d2d 2d2d 2d2d 2d2d cedure).--------\n-00008300: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-00008310: 5250 4f53 450a 2020 2020 2053 6875 7464 RPOSE. Shutd\n-00008320: 6f77 6e20 6120 736f 636b 6574 0a50 524f own a socket.PRO\n-00008330: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n-00008340: 536f 636b 6574 732e 5368 7574 646f 776e Sockets.Shutdown\n-00008350: 3a20 7072 6f63 6564 7572 6520 5368 7574 : procedure Shut\n-00008360: 646f 776e 0a20 2020 2020 2020 2020 2020 down. \n-00008370: 2020 2020 2853 4f43 4b45 5420 3a20 696e (SOCKET : in\n-00008380: 206f 7574 2053 6f63 6b65 745f 4644 3b20 out Socket_FD; \n-00008390: 484f 5720 3a20 5368 7574 646f 776e 5f54 HOW : Shutdown_T\n-000083a0: 7970 6520 3a3d 2042 6f74 6829 3b0a 0a50 ype := Both);..P\n-000083b0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n-000083c0: 4f43 4b45 5420 2020 2020 696e 206f 7574 OCKET in out\n-000083d0: 2020 2020 2053 6f63 6b65 7420 6f62 6a65 Socket obje\n-000083e0: 6374 2074 6f20 7368 7574 646f 776e 0a20 ct to shutdown. \n-000083f0: 2020 2020 484f 5720 2020 2020 2020 2069 HOW i\n-00008400: 6e20 2020 2020 2020 2020 4469 7265 6374 n Direct\n-00008410: 696f 6e20 746f 2073 6875 7464 6f77 6e0a ion to shutdown.\n-00008420: 0a44 4553 4352 4950 5449 4f4e 0a20 2020 .DESCRIPTION. \n-00008430: 2020 5468 6973 2070 726f 6365 6475 7265 This procedure\n-00008440: 2073 6875 7464 6f77 6e73 2065 6974 6865 shutdowns eithe\n-00008450: 7220 6469 7265 6374 696f 6e20 6f66 2074 r direction of t\n-00008460: 6865 2073 6f63 6b65 742e 2020 484f 5720 he socket. HOW \n-00008470: 6361 6e0a 2020 2020 2074 616b 6520 7468 can. take th\n-00008480: 6520 7661 6c75 6520 2753 656e 6427 2c20 e value 'Send', \n-00008490: 2752 6563 6569 7665 2720 6f72 2027 426f 'Receive' or 'Bo\n-000084a0: 7468 272e 0a0a 5345 4520 414c 534f 0a20 th'...SEE ALSO. \n-000084b0: 2020 2020 2a6e 6f74 6520 536f 636b 6574 *note Socket\n-000084c0: 2028 7072 6f63 6564 7572 6529 3a3a 2e0a (procedure)::..\n-000084d0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n-000084e0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n-000084f0: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n-00008500: 7265 292c 2020 4e65 7874 3a20 556e 7365 re), Next: Unse\n-00008510: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n-00008520: 7572 6529 2c20 2050 7265 763a 2053 6875 ure), Prev: Shu\n-00008530: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n-00008540: 292c 2020 5570 3a20 4163 6365 7074 5f53 ), Up: Accept_S\n-00008550: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-00008560: 290a 0a53 6f63 6b65 7420 2870 726f 6365 )..Socket (proce\n-00008570: 6475 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d dure).----------\n-00008580: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n-00008590: 450a 2020 2020 2043 7265 6174 6520 6120 E. Create a \n-000085a0: 736f 636b 6574 206f 6620 7468 6520 6769 socket of the gi\n-000085b0: 7665 6e20 6d6f 6465 0a50 524f 544f 5459 ven mode.PROTOTY\n-000085c0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-000085d0: 6574 732e 536f 636b 6574 3a20 7072 6f63 ets.Socket: proc\n-000085e0: 6564 7572 6520 536f 636b 6574 2028 534f edure Socket (SO\n-000085f0: 434b 4554 203a 206f 7574 2053 6f63 6b65 CKET : out Socke\n-00008600: 745f 4644 3b0a 2020 2020 2020 2020 2020 t_FD;. \n-00008610: 2020 2020 2044 4f4d 4149 4e20 3a20 536f DOMAIN : So\n-00008620: 636b 6574 5f44 6f6d 6169 6e20 3a3d 2050 cket_Domain := P\n-00008630: 465f 494e 4554 3b0a 2020 2020 2020 2020 F_INET;. \n-00008640: 2020 2020 2020 2054 5950 203a 2053 6f63 TYP : Soc\n-00008650: 6b65 745f 5479 7065 203a 3d20 534f 434b ket_Type := SOCK\n-00008660: 5f53 5452 4541 4d29 3b0a 0a50 4152 414d _STREAM);..PARAM\n-00008670: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n-00008680: 5420 2020 2020 6f75 7420 2020 2020 2020 T out \n-00008690: 2053 6f63 6b65 7420 6f62 6a65 6374 2074 Socket object t\n-000086a0: 6f20 696e 6974 6961 6c69 7a65 0a20 2020 o initialize. \n-000086b0: 2020 444f 4d41 494e 2020 2020 2069 6e20 DOMAIN in \n-000086c0: 2020 2020 2020 2020 5072 6f74 6f63 6f6c Protocol\n-000086d0: 2066 616d 696c 790a 2020 2020 2054 5950 family. TYP\n-000086e0: 2020 2020 2020 2020 696e 2020 2020 2020 in \n-000086f0: 2020 204b 696e 6420 6f66 2073 6f63 6b65 Kind of socke\n-00008700: 7473 0a0a 4445 5343 5249 5054 494f 4e0a ts..DESCRIPTION.\n-00008710: 2020 2020 2054 6869 7320 7072 6f63 6564 This proced\n-00008720: 7572 6520 696e 6974 6961 6c69 7a65 7320 ure initializes \n-00008730: 6120 6e65 7720 736f 636b 6574 206f 626a a new socket obj\n-00008740: 6563 7420 6279 2072 6573 6572 7669 6e67 ect by reserving\n-00008750: 2061 2066 696c 650a 2020 2020 2064 6573 a file. des\n-00008760: 6372 6970 746f 7220 746f 2074 6865 206f criptor to the o\n-00008770: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n-00008780: 2020 466f 7220 6261 636b 7761 7264 2063 For backward c\n-00008790: 6f6d 7061 7469 6269 6c69 7479 0a20 2020 ompatibility. \n-000087a0: 2020 7769 7468 206f 6c64 6572 2076 6572 with older ver\n-000087b0: 7369 6f6e 7320 6f66 2074 6869 7320 6c69 sions of this li\n-000087c0: 6272 6172 792c 2027 4146 5f49 4e45 5427 brary, 'AF_INET'\n-000087d0: 2069 7320 7374 696c 6c20 6163 6365 7074 is still accept\n-000087e0: 6564 2061 730a 2020 2020 2061 2076 616c ed as. a val\n-000087f0: 7565 2062 7574 2073 686f 756c 6420 6265 ue but should be\n-00008800: 2072 6570 6c61 6365 6420 6173 2073 6f6f replaced as soo\n-00008810: 6e20 6173 2070 6f73 7369 626c 6520 7769 n as possible wi\n-00008820: 7468 2074 6865 2070 726f 7065 720a 2020 th the proper. \n-00008830: 2020 2027 5046 5f49 4e45 5427 2e20 2055 'PF_INET'. U\n-00008840: 7369 6e67 2027 534f 434b 5f53 5452 4541 sing 'SOCK_STREA\n-00008850: 4d27 2066 6f72 2074 6865 2054 5950 2061 M' for the TYP a\n-00008860: 7267 756d 656e 7420 7769 6c6c 2063 7265 rgument will cre\n-00008870: 6174 6520 610a 2020 2020 2054 4350 2073 ate a. TCP s\n-00008880: 6f63 6b65 7420 7768 696c 6520 6120 2753 ocket while a 'S\n-00008890: 4f43 4b5f 4447 5241 4d27 2077 696c 6c20 OCK_DGRAM' will \n-000088a0: 6372 6561 7465 2061 2055 4450 206f 6e65 create a UDP one\n-000088b0: 2e0a 0a45 5841 4d50 4c45 0a20 2020 2020 ...EXAMPLE. \n-000088c0: 2020 2020 2064 6563 6c61 7265 0a20 2020 declare. \n-000088d0: 2020 2020 2020 2020 2020 536f 636b 203a Sock :\n-000088e0: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n-000088f0: 2020 2020 2020 6265 6769 6e0a 2020 2020 begin. \n-00008900: 2020 2020 2020 2020 202d 2d20 4372 6561 -- Crea\n-00008910: 7465 2061 2054 4350 2073 6f63 6b65 740a te a TCP socket.\n-00008920: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n-00008930: 6b65 7420 2853 6f63 6b2c 2050 465f 494e ket (Sock, PF_IN\n-00008940: 4554 2c20 534f 434b 5f53 5452 4541 4d29 ET, SOCK_STREAM)\n-00008950: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n-00008960: 2d20 5065 7266 6f72 6d20 736f 6d65 206f - Perform some o\n-00008970: 7065 7261 7469 6f6e 7320 6f6e 2073 6f63 perations on soc\n-00008980: 6b65 740a 2020 2020 2020 2020 2020 2020 ket. \n-00008990: 205b 2e2e 2e5d 0a20 2020 2020 2020 2020 [...]. \n-000089a0: 2020 2020 2d2d 2053 6875 7464 6f77 6e20 -- Shutdown \n-000089b0: 7468 6520 736f 636b 6574 2069 6e20 626f the socket in bo\n-000089c0: 7468 2064 6972 6563 7469 6f6e 730a 2020 th directions. \n-000089d0: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n-000089e0: 6f77 6e20 2853 6f63 6b2c 2042 6f74 6829 own (Sock, Both)\n-000089f0: 3b0a 2020 2020 2020 2020 2020 656e 643b ;. end;\n-00008a00: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n-00008a10: 2a6e 6f74 6520 5368 7574 646f 776e 2028 *note Shutdown (\n-00008a20: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n-00008a30: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-00008a40: 732e 696e 666f 2c20 204e 6f64 653a 2055 s.info, Node: U\n-00008a50: 6e73 6574 5f42 7566 6665 7220 2870 726f nset_Buffer (pro\n-00008a60: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n-00008a70: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00008a80: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n-00008a90: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n-00008aa0: 6529 0a0a 556e 7365 745f 4275 6666 6572 e)..Unset_Buffer\n-00008ab0: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n-00008ac0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008ad0: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n-00008ae0: 2020 2020 4465 696e 7374 616c 6c20 7468 Deinstall th\n-00008af0: 6520 6c69 6e65 2d6f 7269 656e 7465 6420 e line-oriented \n-00008b00: 6275 6666 6572 206f 6620 7468 6520 736f buffer of the so\n-00008b10: 636b 6574 206f 626a 6563 740a 5052 4f54 cket object.PROT\n-00008b20: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n-00008b30: 6f63 6b65 7473 2e55 6e73 6574 5f42 7566 ockets.Unset_Buf\n-00008b40: 6665 723a 2070 726f 6365 6475 7265 2055 fer: procedure U\n-00008b50: 6e73 6574 5f42 7566 6665 720a 2020 2020 nset_Buffer. \n-00008b60: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n-00008b70: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n-00008b80: 6c61 7373 293b 0a0a 5041 5241 4d45 5445 lass);..PARAMETE\n-00008b90: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n-00008ba0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n-00008bb0: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n-00008bc0: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n-00008bd0: 626a 6563 740a 0a44 4553 4352 4950 5449 bject..DESCRIPTI\n-00008be0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n-00008bf0: 6365 6475 7265 2064 6569 6e73 7461 6c6c cedure deinstall\n-00008c00: 7320 7468 6520 6275 6666 6572 2070 7265 s the buffer pre\n-00008c10: 7669 6f75 736c 7920 696e 7374 616c 6c65 viously installe\n-00008c20: 6420 6279 202a 6e6f 7465 0a20 2020 2020 d by *note. \n-00008c30: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n-00008c40: 6564 7572 6529 3a3a 2e20 2049 6620 616e edure)::. If an\n-00008c50: 7920 6461 7461 2069 7320 7374 696c 6c20 y data is still \n-00008c60: 7072 6573 656e 7420 696e 2074 6865 0a20 present in the. \n-00008c70: 2020 2020 6275 6666 6572 2c20 6974 2077 buffer, it w\n-00008c80: 696c 6c20 6265 206c 6f73 742e 2020 546f ill be lost. To\n-00008c90: 2061 766f 6964 2074 6869 7320 7369 7475 avoid this situ\n-00008ca0: 6174 696f 6e2c 2074 6865 2062 7566 6665 ation, the buffe\n-00008cb0: 7220 6361 6e0a 2020 2020 2062 6520 666c r can. be fl\n-00008cc0: 7573 6865 6420 6279 2063 616c 6c69 6e67 ushed by calling\n-00008cd0: 202a 6e6f 7465 2047 6574 2028 6675 6e63 *note Get (func\n-00008ce0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n-00008cf0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n-00008d00: 6f2c 2020 4e6f 6465 3a20 536f 636b 6574 o, Node: Socket\n-00008d10: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack\n-00008d20: 6167 652c 2020 4e65 7874 3a20 536f 636b age, Next: Sock\n-00008d30: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa\n-00008d40: 6765 2c20 2050 7265 763a 2053 6f63 6b65 ge, Prev: Socke\n-00008d50: 7473 2070 6163 6b61 6765 2c20 2055 703a ts package, Up:\n-00008d60: 2054 6f70 0a0a 3520 536f 636b 6574 732e Top..5 Sockets.\n-00008d70: 4d75 6c74 6963 6173 7420 7061 636b 6167 Multicast packag\n-00008d80: 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a e.**************\n-00008d90: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 *************..T\n-00008da0: 6865 2027 536f 636b 6574 732e 4d75 6c74 he 'Sockets.Mult\n-00008db0: 6963 6173 7427 2061 6c6c 6f77 7320 7468 icast' allows th\n-00008dc0: 6520 6372 6561 7469 6f6e 206f 6620 4950 e creation of IP\n-00008dd0: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-00008de0: 7473 2e0a 0a20 2d2d 2053 6f63 6b65 7473 ts... -- Sockets\n-00008df0: 2e4d 756c 7469 6361 7374 2e4d 756c 7469 .Multicast.Multi\n-00008e00: 6361 7374 5f53 6f63 6b65 745f 4644 3a20 cast_Socket_FD: \n-00008e10: 7479 7065 204d 756c 7469 6361 7374 5f53 type Multicast_S\n-00008e20: 6f63 6b65 745f 4644 2069 730a 2020 2020 ocket_FD is. \n-00008e30: 2020 2020 2020 6e65 7720 536f 636b 6574 new Socket\n-00008e40: 5f46 4420 7769 7468 2070 7269 7661 7465 _FD with private\n-00008e50: 3b0a 2020 2020 2054 6865 2027 4d75 6c74 ;. The 'Mult\n-00008e60: 6963 6173 745f 536f 636b 6574 5f46 4427 icast_Socket_FD'\n-00008e70: 2074 6167 6765 6420 7479 7065 2064 6572 tagged type der\n-00008e80: 6976 6573 2066 726f 6d20 7468 6520 2753 ives from the 'S\n-00008e90: 6f63 6b65 745f 4644 270a 2020 2020 2074 ocket_FD'. t\n-00008ea0: 7970 652e 2020 4974 2067 6574 7320 696e ype. It gets in\n-00008eb0: 6974 6961 6c69 7a65 6420 6279 2063 616c itialized by cal\n-00008ec0: 6c69 6e67 202a 6e6f 7465 2043 7265 6174 ling *note Creat\n-00008ed0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n-00008ee0: 6574 0a20 2020 2020 2866 756e 6374 696f et. (functio\n-00008ef0: 6e29 3a3a 2e20 2041 6e20 756e 696e 6974 n)::. An uninit\n-00008f00: 6961 6c69 7a65 6420 274d 756c 7469 6361 ialized 'Multica\n-00008f10: 7374 5f53 6f63 6b65 745f 4644 2720 6361 st_Socket_FD' ca\n-00008f20: 6e20 6265 0a20 2020 2020 7375 6363 6573 n be. succes\n-00008f30: 6675 6c6c 7920 636f 6d70 6172 6564 2074 fully compared t\n-00008f40: 6f20 274e 756c 6c5f 4d75 6c74 6963 6173 o 'Null_Multicas\n-00008f50: 745f 536f 636b 6574 5f46 4427 2e0a 0a2a t_Socket_FD'...*\n-00008f60: 204d 656e 753a 0a0a 2a20 4372 6561 7465 Menu:..* Create\n-00008f70: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n-00008f80: 7420 2866 756e 6374 696f 6e29 3a3a 0a20 t (function)::. \n-00008f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008fa0: 2020 2020 2020 2043 7265 6174 6520 616e Create an\n-00008fb0: 2049 5020 6d75 6c74 6963 6173 7420 736f IP multicast so\n-00008fc0: 636b 6574 0a2a 2043 7265 6174 655f 4d75 cket.* Create_Mu\n-00008fd0: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-00008fe0: 6675 6e63 7469 6f6e 293a 3a0a 2020 2020 function)::. \n-00008ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009000: 2020 2020 4372 6561 7465 2061 6e20 4950 Create an IP\n-00009010: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-00009020: 740a 0a1f 0a46 696c 653a 2061 6461 736f t....File: adaso\n-00009030: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00009040: 653a 2043 7265 6174 655f 4d75 6c74 6963 e: Create_Multic\n-00009050: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n-00009060: 7469 6f6e 292c 2020 4e65 7874 3a20 4372 tion), Next: Cr\n-00009070: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00009080: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n-00009090: 2c20 2050 7265 763a 2043 7265 6174 655f , Prev: Create_\n-000090a0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n-000090b0: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up\n-000090c0: 3a20 536f 636b 6574 732e 4d75 6c74 6963 : Sockets.Multic\n-000090d0: 6173 7420 7061 636b 6167 650a 0a43 7265 ast package..Cre\n-000090e0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-000090f0: 636b 6574 2028 6675 6e63 7469 6f6e 290a cket (function).\n-00009100: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00009110: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00009120: 3d3d 0a0a 5055 5250 4f53 450a 2020 2020 ==..PURPOSE. \n-00009130: 2043 7265 6174 6520 616e 2049 5020 6d75 Create an IP mu\n-00009140: 6c74 6963 6173 7420 736f 636b 6574 0a50 lticast socket.P\n-00009150: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n-00009160: 2d20 536f 636b 6574 732e 4d75 6c74 6963 - Sockets.Multic\n-00009170: 6173 742e 4372 6561 7465 5f4d 756c 7469 ast.Create_Multi\n-00009180: 6361 7374 5f53 6f63 6b65 743a 2066 756e cast_Socket: fun\n-00009190: 6374 696f 6e0a 2020 2020 2020 2020 2020 ction. \n-000091a0: 2020 2020 2043 7265 6174 655f 4d75 6c74 Create_Mult\n-000091b0: 6963 6173 745f 536f 636b 6574 2028 4752 icast_Socket (GR\n-000091c0: 4f55 5020 3a20 5374 7269 6e67 3b20 504f OUP : String; PO\n-000091d0: 5254 203a 204e 6174 7572 616c 3b0a 2020 RT : Natural;. \n-000091e0: 2020 2020 2020 2020 2020 2020 2054 544c TTL\n-000091f0: 203a 2050 6f73 6974 6976 6520 3a3d 2031 : Positive := 1\n-00009200: 363b 2053 454c 465f 4c4f 4f50 203a 2042 6; SELF_LOOP : B\n-00009210: 6f6f 6c65 616e 203a 3d20 5472 7565 3b0a oolean := True;.\n-00009220: 2020 2020 2020 2020 2020 2020 2020 204c L\n-00009230: 4f43 414c 5f49 4620 3a20 5374 7269 6e67 OCAL_IF : String\n-00009240: 203a 3d20 302e 302e 302e 3029 0a20 2020 := 0.0.0.0). \n-00009250: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n-00009260: 726e 204d 756c 7469 6361 7374 5f53 6f63 rn Multicast_Soc\n-00009270: 6b65 745f 4644 3b0a 0a50 4152 414d 4554 ket_FD;..PARAMET\n-00009280: 4552 530a 2020 2020 2047 524f 5550 2020 ERS. GROUP \n-00009290: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n-000092a0: 5020 6164 6472 6573 7320 6f66 2074 6865 P address of the\n-000092b0: 206d 756c 7469 6361 7374 2067 726f 7570 multicast group\n-000092c0: 2074 6f0a 2020 2020 2020 2020 2020 2020 to. \n-000092d0: 2020 2020 2020 2020 2020 2020 2020 206a j\n-000092e0: 6f69 6e0a 2020 2020 2050 4f52 5420 2020 oin. PORT \n-000092f0: 2020 2020 696e 2020 2020 2020 2020 2050 in P\n-00009300: 6f72 7420 6f66 2074 6865 206d 756c 7469 ort of the multi\n-00009310: 6361 7374 2067 726f 7570 2074 6f20 6a6f cast group to jo\n-00009320: 696e 0a20 2020 2020 5454 4c20 2020 2020 in. TTL \n-00009330: 2020 2069 6e20 2020 2020 2020 2020 5469 in Ti\n-00009340: 6d65 2d74 6f2d 6c69 7665 206f 6620 7365 me-to-live of se\n-00009350: 6e74 2070 6163 6b65 7473 0a20 2020 2020 nt packets. \n-00009360: 5345 4c46 5f4c 4f4f 5020 2069 6e20 2020 SELF_LOOP in \n-00009370: 2020 2020 2020 5368 6f75 6c64 2074 6865 Should the\n-00009380: 2073 6f63 6b65 7420 7265 6365 6976 6520 socket receive \n-00009390: 7468 6520 7061 636b 6574 730a 2020 2020 the packets. \n-000093a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000093b0: 2020 2020 2020 2073 656e 7420 6672 6f6d sent from\n-000093c0: 2074 6865 206c 6f63 616c 2068 6f73 743f the local host?\n-000093d0: 0a20 2020 2020 4c4f 4341 4c5f 4946 2020 . LOCAL_IF \n-000093e0: 2069 6e20 2020 2020 2020 2020 4164 6472 in Addr\n-000093f0: 6573 7320 6f66 2074 6865 206c 6f63 616c ess of the local\n-00009400: 2069 6e74 6572 6661 6365 2074 6f20 7573 interface to us\n-00009410: 650a 0a52 4554 5552 4e20 5641 4c55 450a e..RETURN VALUE.\n-00009420: 2020 2020 2054 6865 206e 6577 2069 6e69 The new ini\n-00009430: 7469 616c 697a 6564 206d 756c 7469 6361 tialized multica\n-00009440: 7374 2073 6f63 6b65 740a 0a44 4553 4352 st socket..DESCR\n-00009450: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n-00009460: 2066 756e 6374 696f 6e20 6372 6561 7465 function create\n-00009470: 7320 616e 2049 5020 6d75 6c74 6963 6173 s an IP multicas\n-00009480: 7420 736f 636b 6574 2061 7474 6163 6865 t socket attache\n-00009490: 6420 746f 2061 2067 6976 656e 0a20 2020 d to a given. \n-000094a0: 2020 6772 6f75 702c 2069 6465 6e74 6966 group, identif\n-000094b0: 6965 6420 6279 2069 7473 2063 6c61 7373 ied by its class\n-000094c0: 2045 2049 5020 6164 6472 6573 7320 616e E IP address an\n-000094d0: 6420 706f 7274 2e0a 0a20 2020 2020 4265 d port... Be\n-000094e0: 2063 6172 6566 756c 2077 6865 6e20 6368 careful when ch\n-000094f0: 6f6f 7369 6e67 2074 6865 2054 544c 2070 oosing the TTL p\n-00009500: 6172 616d 6574 6572 206f 6620 796f 7572 arameter of your\n-00009510: 2049 5020 6d75 6c74 6963 6173 740a 2020 IP multicast. \n-00009520: 2020 2073 6f63 6b65 742e 2020 4d6f 7374 socket. Most\n-00009530: 2049 5020 6d75 6c74 6963 6173 7420 726f IP multicast ro\n-00009540: 7574 6572 7320 646f 2069 6d70 6c65 6d65 uters do impleme\n-00009550: 6e74 2074 6872 6573 686f 6c64 2d62 6173 nt threshold-bas\n-00009560: 6564 0a20 2020 2020 6669 6c74 6572 696e ed. filterin\n-00009570: 6720 616e 6420 7769 6c6c 206e 6f74 206c g and will not l\n-00009580: 6574 2049 5020 6d75 6c74 6963 6173 7420 et IP multicast \n-00009590: 7061 636b 6574 7320 6c65 6176 6520 796f packets leave yo\n-000095a0: 7572 0a20 2020 2020 6f72 6761 6e69 7a61 ur. organiza\n-000095b0: 7469 6f6e 2069 6620 7468 6520 5454 4c20 tion if the TTL \n-000095c0: 6f6e 2074 6865 206c 6173 7420 726f 7574 on the last rout\n-000095d0: 6572 2069 7320 736d 616c 6c65 7220 7468 er is smaller th\n-000095e0: 616e 2031 362e 0a0a 2020 2020 2049 6620 an 16... If \n-000095f0: 3020 6973 2067 6976 656e 2066 6f72 2074 0 is given for t\n-00009600: 6865 2050 6f72 742c 2061 206c 6f63 616c he Port, a local\n-00009610: 206f 6e65 2077 696c 6c20 6265 2063 686f one will be cho\n-00009620: 7365 6e2e 2020 4974 2063 616e 0a20 2020 sen. It can. \n-00009630: 2020 7468 656e 206c 6174 6572 2062 6520 then later be \n-00009640: 7265 7472 6965 7665 6420 7573 696e 6720 retrieved using \n-00009650: 4765 745f 536f 636b 5f50 6f72 742e 0a0a Get_Sock_Port...\n-00009660: 4558 414d 504c 450a 2020 2020 2020 2020 EXAMPLE. \n-00009670: 2020 6465 636c 6172 650a 2020 2020 2020 declare. \n-00009680: 2020 2020 2020 2053 6f63 6b20 3a20 4d75 Sock : Mu\n-00009690: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F\n-000096a0: 443b 0a20 2020 2020 2020 2020 2062 6567 D;. beg\n-000096b0: 696e 0a20 2020 2020 2020 2020 2020 2020 in. \n-000096c0: 2d2d 2043 7265 6174 6520 6120 6d75 6c74 -- Create a mult\n-000096d0: 6963 6173 7420 736f 636b 6574 206f 6e20 icast socket on \n-000096e0: 6772 6f75 7020 3232 342e 312e 322e 3320 group 224.1.2.3 \n-000096f0: 706f 7274 2038 3736 330a 2020 2020 2020 port 8763. \n-00009700: 2020 2020 2020 2053 6f63 6b20 3a3d 2043 Sock := C\n-00009710: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-00009720: 536f 636b 6574 2028 2232 3234 2e31 2e32 Socket (\"224.1.2\n-00009730: 2e33 222c 2038 3736 3329 3b0a 2020 2020 .3\", 8763);. \n-00009740: 2020 2020 2020 2020 202d 2d20 5065 7266 -- Perf\n-00009750: 6f72 6d20 736f 6d65 206f 7065 7261 7469 orm some operati\n-00009760: 6f6e 7320 6f6e 2073 6f63 6b65 740a 2020 ons on socket. \n-00009770: 2020 2020 2020 2020 2020 205b 2e2e 2e5d [...]\n-00009780: 0a20 2020 2020 2020 2020 2020 2020 2d2d . --\n-00009790: 2053 6875 7464 6f77 6e20 7468 6520 736f Shutdown the so\n-000097a0: 636b 6574 2069 6e20 626f 7468 2064 6972 cket in both dir\n-000097b0: 6563 7469 6f6e 730a 2020 2020 2020 2020 ections. \n-000097c0: 2020 2020 2053 6875 7464 6f77 6e20 2853 Shutdown (S\n-000097d0: 6f63 6b2c 2042 6f74 6829 3b0a 2020 2020 ock, Both);. \n-000097e0: 2020 2020 2020 656e 643b 0a0a 5345 4520 end;..SEE \n-000097f0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n-00009800: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n-00009810: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S\n-00009820: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-00009830: 7265 293a 3a2e 0a0a 2a20 4d65 6e75 3a0a re)::...* Menu:.\n-00009840: 0a2a 203a 3a0a 0a43 7265 6174 655f 4d75 .* ::..Create_Mu\n-00009850: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n-00009860: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------\n-00009870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n-00009890: 5250 4f53 450a 2020 2020 2043 7265 6174 RPOSE. Creat\n-000098a0: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n-000098b0: 7420 736f 636b 6574 0a50 524f 544f 5459 t socket.PROTOTY\n-000098c0: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n-000098d0: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n-000098e0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-000098f0: 6f63 6b65 743a 2066 756e 6374 696f 6e0a ocket: function.\n-00009900: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-00009910: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-00009920: 536f 636b 6574 2028 4752 4f55 5020 3a20 Socket (GROUP : \n-00009930: 5374 7269 6e67 3b20 504f 5254 203a 2050 String; PORT : P\n-00009940: 6f73 6974 6976 653b 0a20 2020 2020 2020 ositive;. \n-00009950: 2020 2020 2020 2020 4c4f 4341 4c5f 504f LOCAL_PO\n-00009960: 5254 203a 204e 6174 7572 616c 3b20 5454 RT : Natural; TT\n-00009970: 4c20 3a20 506f 7369 7469 7665 203a 3d20 L : Positive := \n-00009980: 3136 3b0a 2020 2020 2020 2020 2020 2020 16;. \n-00009990: 2020 204c 4f43 414c 5f49 4620 3a20 5374 LOCAL_IF : St\n-000099a0: 7269 6e67 203a 3d20 302e 302e 302e 3029 ring := 0.0.0.0)\n-000099b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-000099c0: 7265 7475 726e 204d 756c 7469 6361 7374 return Multicast\n-000099d0: 5f53 6f63 6b65 745f 4644 3b0a 0a50 4152 _Socket_FD;..PAR\n-000099e0: 414d 4554 4552 530a 2020 2020 2047 524f AMETERS. GRO\n-000099f0: 5550 2020 2020 2020 696e 2020 2020 2020 UP in \n-00009a00: 2020 2049 5020 6164 6472 6573 7320 6f66 IP address of\n-00009a10: 2074 6865 206d 756c 7469 6361 7374 2067 the multicast g\n-00009a20: 726f 7570 2074 6f0a 2020 2020 2020 2020 roup to. \n-00009a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009a40: 2020 206a 6f69 6e0a 2020 2020 2050 4f52 join. POR\n-00009a50: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n-00009a60: 2020 2050 6f72 7420 6f66 2074 6865 206d Port of the m\n-00009a70: 756c 7469 6361 7374 2067 726f 7570 2074 ulticast group t\n-00009a80: 6f20 6a6f 696e 0a20 2020 2020 4c4f 4341 o join. LOCA\n-00009a90: 4c5f 504f 5254 2069 6e20 2020 2020 2020 L_PORT in \n-00009aa0: 2020 4c6f 6361 6c20 706f 7274 206e 756d Local port num\n-00009ab0: 6265 7220 746f 2075 7365 0a20 2020 2020 ber to use. \n-00009ac0: 5454 4c20 2020 2020 2020 2069 6e20 2020 TTL in \n-00009ad0: 2020 2020 2020 5469 6d65 2d74 6f2d 6c69 Time-to-li\n-00009ae0: 7665 206f 6620 7365 6e74 2070 6163 6b65 ve of sent packe\n-00009af0: 7473 0a20 2020 2020 4c4f 4341 4c5f 4946 ts. LOCAL_IF\n-00009b00: 2020 2069 6e20 2020 2020 2020 2020 4164 in Ad\n-00009b10: 6472 6573 7320 6f66 2074 6865 206c 6f63 dress of the loc\n-00009b20: 616c 2069 6e74 6572 6661 6365 2074 6f20 al interface to \n-00009b30: 7573 650a 0a52 4554 5552 4e20 5641 4c55 use..RETURN VALU\n-00009b40: 450a 2020 2020 2054 6865 206e 6577 2069 E. The new i\n-00009b50: 6e69 7469 616c 697a 6564 206d 756c 7469 nitialized multi\n-00009b60: 6361 7374 2073 6f63 6b65 740a 0a44 4553 cast socket..DES\n-00009b70: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n-00009b80: 6973 2066 756e 6374 696f 6e20 6372 6561 is function crea\n-00009b90: 7465 7320 616e 2049 5020 6d75 6c74 6963 tes an IP multic\n-00009ba0: 6173 7420 736f 636b 6574 2061 7474 6163 ast socket attac\n-00009bb0: 6865 6420 746f 2061 2067 6976 656e 0a20 hed to a given. \n-00009bc0: 2020 2020 6772 6f75 702c 2069 6465 6e74 group, ident\n-00009bd0: 6966 6965 6420 6279 2069 7473 2063 6c61 ified by its cla\n-00009be0: 7373 2045 2049 5020 6164 6472 6573 7320 ss E IP address \n-00009bf0: 616e 6420 706f 7274 2e20 2049 660a 2020 and port. If. \n-00009c00: 2020 204c 6f63 616c 5f50 6f72 7420 6973 Local_Port is\n-00009c10: 2030 2c20 6120 6672 6565 2070 6f72 7420 0, a free port \n-00009c20: 7769 6c6c 2061 7574 6f6d 6174 6963 616c will automatical\n-00009c30: 6c79 2062 6520 6368 6f73 656e 2062 7920 ly be chosen by \n-00009c40: 796f 7572 0a20 2020 2020 6f70 6572 6174 your. operat\n-00009c50: 696e 6720 7379 7374 656d 2e0a 0a20 2020 ing system... \n-00009c60: 2020 5468 6973 2066 756e 6374 696f 6e20 This function \n-00009c70: 7368 6f75 6c64 2062 6520 7573 6564 2077 should be used w\n-00009c80: 6865 6e20 796f 7520 7761 6e74 2074 6f20 hen you want to \n-00009c90: 7365 6e64 2070 6163 6b65 7473 2074 6f20 send packets to \n-00009ca0: 610a 2020 2020 206d 756c 7469 6361 7374 a. multicast\n-00009cb0: 2067 726f 7570 2077 6974 686f 7574 2072 group without r\n-00009cc0: 6563 6569 7669 6e67 2061 6e79 2070 6163 eceiving any pac\n-00009cd0: 6b65 7420 796f 7572 7365 6c66 2e0a 0a45 ket yourself...E\n-00009ce0: 5841 4d50 4c45 0a20 2020 2020 2020 2020 XAMPLE. \n-00009cf0: 2064 6563 6c61 7265 0a20 2020 2020 2020 declare. \n-00009d00: 2020 2020 2020 536f 636b 203a 204d 756c Sock : Mul\n-00009d10: 7469 6361 7374 5f53 6f63 6b65 745f 4644 ticast_Socket_FD\n-00009d20: 3b0a 2020 2020 2020 2020 2020 6265 6769 ;. begi\n-00009d30: 6e0a 2020 2020 2020 2020 2020 2020 202d n. -\n-00009d40: 2d20 4372 6561 7465 2061 206d 756c 7469 - Create a multi\n-00009d50: 6361 7374 2073 6f63 6b65 7420 6f6e 2067 cast socket on g\n-00009d60: 726f 7570 2032 3234 2e31 2e32 2e33 2070 roup 224.1.2.3 p\n-00009d70: 6f72 7420 3837 3633 0a20 2020 2020 2020 ort 8763. \n-00009d80: 2020 2020 2020 536f 636b 203a 3d20 4372 Sock := Cr\n-00009d90: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-00009da0: 6f63 6b65 7420 2822 3232 342e 312e 322e ocket (\"224.1.2.\n-00009db0: 3322 2c20 3837 3633 293b 0a20 2020 2020 3\", 8763);. \n-00009dc0: 2020 2020 2020 2020 2d2d 2050 6572 666f -- Perfo\n-00009dd0: 726d 2073 6f6d 6520 6f70 6572 6174 696f rm some operatio\n-00009de0: 6e73 206f 6e20 736f 636b 6574 0a20 2020 ns on socket. \n-00009df0: 2020 2020 2020 2020 2020 5b2e 2e2e 5d0a [...].\n-00009e00: 2020 2020 2020 2020 2020 2020 202d 2d20 -- \n-00009e10: 5368 7574 646f 776e 2074 6865 2073 6f63 Shutdown the soc\n-00009e20: 6b65 7420 696e 2062 6f74 6820 6469 7265 ket in both dire\n-00009e30: 6374 696f 6e73 0a20 2020 2020 2020 2020 ctions. \n-00009e40: 2020 2020 5368 7574 646f 776e 2028 536f Shutdown (So\n-00009e50: 636b 2c20 426f 7468 293b 0a20 2020 2020 ck, Both);. \n-00009e60: 2020 2020 2065 6e64 3b0a 0a53 4545 2041 end;..SEE A\n-00009e70: 4c53 4f0a 2020 2020 202a 6e6f 7465 2053 LSO. *note S\n-00009e80: 656e 6420 2870 726f 6365 6475 7265 293a end (procedure):\n-00009e90: 3a2c 0a20 2020 2020 2a6e 6f74 6520 5368 :,. *note Sh\n-00009ea0: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n-00009eb0: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n-00009ec0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n-00009ed0: 204e 6f64 653a 2053 6f63 6b65 7473 2e4e Node: Sockets.N\n-00009ee0: 616d 696e 6720 7061 636b 6167 652c 2020 aming package, \n-00009ef0: 4e65 7874 3a20 436f 6e74 7269 6275 746f Next: Contributo\n-00009f00: 7273 2c20 2050 7265 763a 2053 6f63 6b65 rs, Prev: Socke\n-00009f10: 7473 2e4d 756c 7469 6361 7374 2070 6163 ts.Multicast pac\n-00009f20: 6b61 6765 2c20 2055 703a 2054 6f70 0a0a kage, Up: Top..\n-00009f30: 3620 536f 636b 6574 732e 4e61 6d69 6e67 6 Sockets.Naming\n-00009f40: 2070 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a package.*******\n-00009f50: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00009f60: 2a0a 0a1f 0a46 696c 653a 2061 6461 736f *....File: adaso\n-00009f70: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n-00009f80: 653a 2043 6f6e 7472 6962 7574 6f72 732c e: Contributors,\n-00009f90: 2020 4e65 7874 3a20 5265 736f 7572 6365 Next: Resource\n-00009fa0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-00009fb0: 742c 2020 5072 6576 3a20 536f 636b 6574 t, Prev: Socket\n-00009fc0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n-00009fd0: 2c20 2055 703a 2054 6f70 0a0a 4170 7065 , Up: Top..Appe\n-00009fe0: 6e64 6978 2041 2043 6f6e 7472 6962 7574 ndix A Contribut\n-00009ff0: 6f72 730a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ors.************\n-0000a000: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a41 6461 ***********..Ada\n-0000a010: 536f 636b 6574 7320 6861 7320 6265 656e Sockets has been\n-0000a020: 206f 7269 6769 6e61 6c6c 7920 6465 7665 originally deve\n-0000a030: 6c6f 7070 6564 2062 7920 5361 6d75 656c lopped by Samuel\n-0000a040: 2054 6172 6469 6575 2077 686f 2073 7469 Tardieu who sti\n-0000a050: 6c6c 0a6d 6169 6e74 6169 6e73 2069 742e ll.maintains it.\n-0000a060: 2020 486f 7765 7665 722c 2074 6865 2066 However, the f\n-0000a070: 6f6c 6c6f 7769 6e67 2070 656f 706c 6520 ollowing people \n-0000a080: 6861 7665 206d 6164 6520 6372 7563 6961 have made crucia\n-0000a090: 6c0a 636f 6e74 7269 6275 7469 6f6e 7320 l.contributions \n-0000a0a0: 746f 2041 6461 536f 636b 6574 732c 2062 to AdaSockets, b\n-0000a0b0: 6520 7468 6579 206e 6577 2063 6f64 652c e they new code,\n-0000a0c0: 2062 7567 2066 6978 6573 206f 7220 706f bug fixes or po\n-0000a0d0: 7274 696e 6720 746f 0a6e 6577 206f 7065 rting to.new ope\n-0000a0e0: 7261 7469 6e67 2073 7973 7465 6d73 3a0a rating systems:.\n-0000a0f0: 0a20 2020 2a20 446d 6974 7269 7920 416e . * Dmitriy An\n-0000a100: 6973 696d 6b6f 7620 283c 616e 6973 696d isimkov ().\n-0000a120: 2020 202a 2041 6c61 6e20 4261 726e 6573 * Alan Barnes\n-0000a130: 2028 3c62 6172 6e65 7361 4061 7374 6f6e (). * Ju\n-0000a150: 616e 6d61 2042 6172 7261 6e71 7565 726f anma Barranquero\n-0000a160: 2028 3c6c 656b 7475 4074 6572 7261 2e65 (). * Bobby D\n-0000a180: 2e20 4272 7961 6e74 2028 3c62 6462 7279 . Bryant (). * Sande\n-0000a1b0: 7220 436f 7820 283c 7361 6e64 6572 2e63 r Cox ()\n-0000a1d0: 0a20 2020 2a20 5375 6e65 2046 616c 6b20 . * Sune Falk \n-0000a1e0: 283c 7375 6e65 2e66 616c 636b 4074 656c (). * Gu\n-0000a200: 696c 6c61 756d 6520 466f 6c69 6172 6420 illaume Foliard \n-0000a210: 283c 6775 6966 6f40 7761 6e61 646f 6f2e (). * Lauren\n-0000a230: 7420 4775 6572 6279 2028 3c67 7565 7262 t Guerby (). * David \n-0000a260: 4a2e 204b 7269 7374 6f6c 6120 283c 4461 J. Kristola (). * Dominik \n-0000a290: 4d61 646f 6e20 283c 646f 6d69 6e69 6b40 Madon (). * P\n-0000a2b0: 6173 6361 6c20 4f62 7279 2028 3c70 2e6f ascal Obry ()\n-0000a2d0: 0a20 2020 2a20 4e69 636f 6c61 7320 4f6c . * Nicolas Ol\n-0000a2e0: 6c69 6e67 6572 2028 3c4e 6963 6f6c 6173 linger (). * St.\n-0000a310: 7068 616e 6520 5061 7475 7265 6175 2028 phane Patureau (\n-0000a320: 3c73 7061 7475 7265 6140 6d65 6c65 7475 ). * Tho\n-0000a350: 6d61 7320 5175 696e 6f74 2028 3c74 686f mas Quinot (). * Preb\n-0000a380: 656e 2052 616e 6468 6f6c 2028 3c72 616e en Randhol (). \n-0000a3a0: 2020 2a20 4d61 7869 6d20 5265 7a6e 696b * Maxim Reznik\n-0000a3b0: 2028 3c6d 6178 3140 6d62 616e 6b2e 636f (). * Joel\n-0000a3d0: 2053 6865 7272 696c 6c20 283c 6a6f 656c Sherrill (). * Sam\n-0000a400: 7565 6c20 5461 7264 6965 7520 283c 7361 uel Tardieu ().\n-0000a420: 0a20 2020 4966 2079 6f75 2066 6565 6c20 . If you feel \n-0000a430: 7468 6174 2079 6f75 2068 6176 6520 6265 that you have be\n-0000a440: 656e 2066 6f72 676f 7474 656e 2c20 706c en forgotten, pl\n-0000a450: 6561 7365 2073 656e 6420 6d65 2061 206d ease send me a m\n-0000a460: 6169 6c20 736f 0a74 6861 7420 4920 6361 ail so.that I ca\n-0000a470: 6e20 6669 7820 6974 2069 6e20 7468 6520 n fix it in the \n-0000a480: 6e65 7874 2076 6572 7369 6f6e 2e0a 0a20 next version... \n-0000a490: 2020 2a4e 6f74 6520 5265 736f 7572 6365 *Note Resource\n-0000a4a0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-0000a4b0: 743a 3a2c 2066 6f72 2068 6f77 2074 6f20 t::, for how to \n-0000a4c0: 636f 6e74 7269 6275 7465 2e0a 0a1f 0a46 contribute.....F\n-0000a4d0: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n-0000a4e0: 696e 666f 2c20 204e 6f64 653a 2052 6573 info, Node: Res\n-0000a4f0: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000a500: 7465 726e 6574 2c20 204e 6578 743a 2049 ternet, Next: I\n-0000a510: 6e64 6578 2c20 2050 7265 763a 2043 6f6e ndex, Prev: Con\n-0000a520: 7472 6962 7574 6f72 732c 2020 5570 3a20 tributors, Up: \n-0000a530: 546f 700a 0a41 7070 656e 6469 7820 4220 Top..Appendix B \n-0000a540: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n-0000a550: 2049 6e74 6572 6e65 740a 2a2a 2a2a 2a2a Internet.******\n-0000a560: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0000a570: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n-0000a580: 5468 6520 6c61 7465 7374 2076 6572 7369 The latest versi\n-0000a590: 6f6e 206f 6620 4164 6153 6f63 6b65 7473 on of AdaSockets\n-0000a5a0: 2063 616e 2061 6c77 6179 7320 6265 2066 can always be f\n-0000a5b0: 6f75 6e64 2061 743a 0a0a 2020 2020 2020 ound at:.. \n-0000a5c0: 2020 2020 2020 2020 203c 6874 7470 3a2f .. You can r\n-0000a600: 6570 6f72 7420 6973 7375 6573 206f 7220 eport issues or \n-0000a610: 7375 626d 6974 2071 7565 7374 696f 6e73 submit questions\n-0000a620: 206f 6e20 4769 7448 7562 2773 2069 7373 on GitHub's iss\n-0000a630: 7565 2074 7261 636b 6572 0a61 743a 0a0a ue tracker.at:..\n-0000a640: 2020 2020 2020 2020 203c 6874 7470 733a ...\n-0000a680: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n-0000a690: 732e 696e 666f 2c20 204e 6f64 653a 2049 s.info, Node: I\n-0000a6a0: 6e64 6578 2c20 2050 7265 763a 2052 6573 ndex, Prev: Res\n-0000a6b0: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In\n-0000a6c0: 7465 726e 6574 2c20 2055 703a 2054 6f70 ternet, Up: Top\n-0000a6d0: 0a0a 496e 6465 780a 2a2a 2a2a 2a0a 0a00 ..Index.*****...\n-0000a6e0: 085b 696e 6465 7800 085d 0a2a 204d 656e .[index..].* Men\n-0000a6f0: 753a 0a0a 2a20 4163 6365 7074 696e 6720 u:..* Accepting \n-0000a700: 6120 6e65 7720 636f 6e6e 6563 7469 6f6e a new connection\n-0000a710: 3a20 2020 2020 2020 2020 2020 2041 6363 : Acc\n-0000a720: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n-0000a730: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-0000a740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a770: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000a780: 0a2a 2041 6363 6570 745f 536f 636b 6574 .* Accept_Socket\n-0000a790: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000a7a0: 2020 2020 2020 2020 2020 4163 6365 7074 Accept\n-0000a7b0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n-0000a7c0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000a7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a800: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000a810: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-0000a820: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-0000a830: 3a20 2020 2020 2052 6177 2064 6174 6120 : Raw data \n-0000a840: 6d61 6e69 7075 6c61 7469 6f6e 2e0a 2020 manipulation.. \n-0000a850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a880: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000a890: 6e65 2020 3629 0a2a 2041 6461 2e53 7472 ne 6).* Ada.Str\n-0000a8a0: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-0000a8b0: 656e 745f 4172 7261 7920 3c31 3e3a 2020 ent_Array <1>: \n-0000a8c0: 5265 6365 6976 6520 2866 756e 6374 696f Receive (functio\n-0000a8d0: 6e29 2e20 2020 286c 696e 6520 3234 290a n). (line 24).\n-0000a8e0: 2a20 4164 612e 5374 7265 616d 732e 5374 * Ada.Streams.St\n-0000a8f0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr\n-0000a900: 6179 203c 323e 3a20 2052 6563 6569 7665 ay <2>: Receive\n-0000a910: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n-0000a920: 6c69 6e65 2031 3829 0a2a 2041 6461 2e53 line 18).* Ada.S\n-0000a930: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El\n-0000a940: 656d 656e 745f 4172 7261 7920 3c33 3e3a ement_Array <3>:\n-0000a950: 2020 5265 6365 6976 655f 536f 6d65 2028 Receive_Some (\n-0000a960: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000a970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a9a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000a9b0: 2032 3429 0a2a 2041 6461 2e53 7472 6561 24).* Ada.Strea\n-0000a9c0: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n-0000a9d0: 745f 4172 7261 7920 3c34 3e3a 2020 5365 t_Array <4>: Se\n-0000a9e0: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-0000a9f0: 2020 2020 286c 696e 6520 3138 290a 2a20 (line 18).* \n-0000aa00: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre\n-0000aa10: 616d 5f45 6c65 6d65 6e74 5f43 6f75 6e74 am_Element_Count\n-0000aa20: 3a20 2020 2020 2052 6563 6569 7665 2028 : Receive (\n-0000aa30: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n-0000aa40: 6e65 2032 3429 0a2a 2041 6461 2e53 7472 ne 24).* Ada.Str\n-0000aa50: 6561 6d73 2e53 7472 6561 6d5f 456c 656d eams.Stream_Elem\n-0000aa60: 656e 745f 436f 756e 7420 3c31 3e3a 2020 ent_Count <1>: \n-0000aa70: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n-0000aa80: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000aa90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000aaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000aab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000aac0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000aad0: 3429 0a2a 2041 6461 536f 636b 6574 7320 4).* AdaSockets \n-0000aae0: 7072 6573 656e 7461 7469 6f6e 3a20 2020 presentation: \n-0000aaf0: 2020 2020 2020 2020 2020 2020 5768 6174 What\n-0000ab00: 2069 7320 4164 6153 6f63 6b65 7473 3f2e is AdaSockets?.\n-0000ab10: 2020 286c 696e 6520 2036 290a 2a20 4146 (line 6).* AF\n-0000ab20: 5f49 4e45 543a 2020 2020 2020 2020 2020 _INET: \n-0000ab30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ab40: 2020 2020 2053 6f63 6b65 7420 2870 726f Socket (pro\n-0000ab50: 6365 6475 7265 292e 2020 2028 6c69 6e65 cedure). (line\n-0000ab60: 2032 3029 0a2a 2041 7373 6967 6e69 6e67 20).* Assigning\n-0000ab70: 2061 206c 6f63 616c 2070 6f72 743a 2020 a local port: \n-0000ab80: 2020 2020 2020 2020 2020 2020 2020 4269 Bi\n-0000ab90: 6e64 2028 7072 6f63 6564 7572 6529 2e20 nd (procedure). \n-0000aba0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0000abb0: 4269 6e64 3a20 2020 2020 2020 2020 2020 Bind: \n-0000abc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000abd0: 2020 2020 2020 2042 696e 6420 2870 726f Bind (pro\n-0000abe0: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n-0000abf0: 6e65 2020 3929 0a2a 2042 696e 6469 6e67 ne 9).* Binding\n-0000ac00: 2061 2073 6f63 6b65 743a 2020 2020 2020 a socket: \n-0000ac10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ac20: 4269 6e64 2028 7072 6f63 6564 7572 6529 Bind (procedure)\n-0000ac30: 2e20 2020 2020 286c 696e 6520 2036 290a . (line 6).\n-0000ac40: 2a20 426f 7468 3a20 2020 2020 2020 2020 * Both: \n-0000ac50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ac60: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow\n-0000ac70: 6e20 2870 726f 6365 6475 7265 292e 2028 n (procedure). (\n-0000ac80: 6c69 6e65 2031 3729 0a2a 2043 6c6f 7369 line 17).* Closi\n-0000ac90: 6e67 2061 2073 6f63 6b65 743a 2020 2020 ng a socket: \n-0000aca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000acb0: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n-0000acc0: 6564 7572 6529 2e20 286c 696e 6520 2036 edure). (line 6\n-0000acd0: 290a 2a20 436f 6d70 6172 6169 736f 6e20 ).* Comparaison \n-0000ace0: 7769 7468 2047 4e41 542e 536f 636b 6574 with GNAT.Socket\n-0000acf0: 733a 2020 2020 2020 2020 2057 6861 7420 s: What \n-0000ad00: 6973 2041 6461 536f 636b 6574 733f 2e20 is AdaSockets?. \n-0000ad10: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6e (line 6).* Con\n-0000ad20: 6e65 6374 3a20 2020 2020 2020 2020 2020 nect: \n-0000ad30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ad40: 2020 2020 436f 6e6e 6563 7420 2870 726f Connect (pro\n-0000ad50: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n-0000ad60: 2039 290a 2a20 436f 6e6e 6563 7469 6e67 9).* Connecting\n-0000ad70: 2061 2073 6f63 6b65 743a 2020 2020 2020 a socket: \n-0000ad80: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-0000ad90: 6e65 6374 2028 7072 6f63 6564 7572 6529 nect (procedure)\n-0000ada0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2043 . (line 6).* C\n-0000adb0: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed\n-0000adc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000add0: 2020 2020 2020 4765 7420 2866 756e 6374 Get (funct\n-0000ade0: 696f 6e29 2e20 2020 2020 2020 286c 696e ion). (lin\n-0000adf0: 6520 3335 290a 2a20 436f 6e6e 6563 7469 e 35).* Connecti\n-0000ae00: 6f6e 5f43 6c6f 7365 6420 3c31 3e3a 2020 on_Closed <1>: \n-0000ae10: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000ae20: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n-0000ae30: 6e29 2e20 2028 6c69 6e65 2032 3429 0a2a n). (line 24).*\n-0000ae40: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos\n-0000ae50: 6564 203c 323e 3a20 2020 2020 2020 2020 ed <2>: \n-0000ae60: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000ae70: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n-0000ae80: 696e 6520 3333 290a 2a20 436f 6e6e 6563 ine 33).* Connec\n-0000ae90: 7469 6f6e 5f43 6c6f 7365 6420 3c33 3e3a tion_Closed <3>:\n-0000aea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000aeb0: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n-0000aec0: 6475 7265 292e 2028 6c69 6e65 2032 3829 dure). (line 28)\n-0000aed0: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl\n-0000aee0: 6f73 6564 203c 343e 3a20 2020 2020 2020 osed <4>: \n-0000aef0: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n-0000af00: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000af10: 286c 696e 6520 3231 290a 2a20 436f 6e6e (line 21).* Conn\n-0000af20: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c35 ection_Closed <5\n-0000af30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000af40: 2020 2050 7574 2028 7072 6f63 6564 7572 Put (procedur\n-0000af50: 6529 2e20 2020 2020 2028 6c69 6e65 2032 e). (line 2\n-0000af60: 3229 0a2a 2043 6f6e 6e65 6374 696f 6e5f 2).* Connection_\n-0000af70: 436c 6f73 6564 203c 363e 3a20 2020 2020 Closed <6>: \n-0000af80: 2020 2020 2020 2020 2020 2020 5075 745f Put_\n-0000af90: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-0000afa0: 2e20 286c 696e 6520 3232 290a 2a20 436f . (line 22).* Co\n-0000afb0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n-0000afc0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: \n-0000afd0: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu\n-0000afe0: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line\n-0000aff0: 2033 3229 0a2a 2043 6f6e 6e65 6374 696f 32).* Connectio\n-0000b000: 6e5f 436c 6f73 6564 203c 383e 3a20 2020 n_Closed <8>: \n-0000b010: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-0000b020: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n-0000b030: 292e 2020 286c 696e 6520 3235 290a 2a20 ). (line 25).* \n-0000b040: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n-0000b050: 6420 3c39 3e3a 2020 2020 2020 2020 2020 d <9>: \n-0000b060: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S\n-0000b070: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure).\n-0000b080: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000b090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b0c0: 286c 696e 6520 3330 290a 2a20 436f 6e6e (line 30).* Conn\n-0000b0d0: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c31 ection_Closed <1\n-0000b0e0: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: \n-0000b0f0: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu\n-0000b100: 7265 292e 2020 2020 2028 6c69 6e65 2032 re). (line 2\n-0000b110: 3229 0a2a 2043 6f6e 6e65 6374 696f 6e5f 2).* Connection_\n-0000b120: 5265 6675 7365 643a 2020 2020 2020 2020 Refused: \n-0000b130: 2020 2020 2020 2020 2020 2020 436f 6e6e Conn\n-0000b140: 6563 7420 2870 726f 6365 6475 7265 292e ect (procedure).\n-0000b150: 2020 286c 696e 6520 3236 290a 2a20 436f (line 26).* Co\n-0000b160: 6e74 7269 6275 7469 6e67 3a20 2020 2020 ntributing: \n-0000b170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b180: 2020 2020 2043 6f6e 7472 6962 7574 6f72 Contributor\n-0000b190: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n-0000b1a0: 2020 3629 0a2a 2043 6f6e 7472 6962 7574 6).* Contribut\n-0000b1b0: 696e 6720 3c31 3e3a 2020 2020 2020 2020 ing <1>: \n-0000b1c0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n-0000b1d0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I\n-0000b1e0: 6e74 6572 6e65 742e 0a20 2020 2020 2020 nternet.. \n-0000b1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b220: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000b230: 290a 2a20 4352 3a20 2020 2020 2020 2020 ).* CR: \n-0000b240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b250: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n-0000b260: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n-0000b270: 2028 6c69 6e65 2032 3229 0a2a 2043 5220 (line 22).* CR \n-0000b280: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000b290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b2a0: 2020 2020 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n-0000b2b0: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000b2c0: 3139 290a 2a20 4352 203c 323e 3a20 2020 19).* CR <2>: \n-0000b2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b2e0: 2020 2020 2020 2020 2020 2020 204e 6577 New\n-0000b2f0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-0000b300: 292e 2028 6c69 6e65 2031 3829 0a2a 2043 ). (line 18).* C\n-0000b310: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-0000b320: 536f 636b 6574 3a20 2020 2020 2020 2020 Socket: \n-0000b330: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up\n-0000b340: 206d 756c 7469 6361 7374 2073 6f63 6b65 multicast socke\n-0000b350: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. \n-0000b360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b390: 2020 2028 6c69 6e65 2031 3629 0a2a 2043 (line 16).* C\n-0000b3a0: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_\n-0000b3b0: 536f 636b 6574 203c 313e 3a20 2020 2020 Socket <1>: \n-0000b3c0: 2020 2020 2020 4372 6561 7465 5f4d 756c Create_Mul\n-0000b3d0: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n-0000b3e0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n-0000b3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b420: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0000b430: 3929 0a2a 2043 7265 6174 655f 4d75 6c74 9).* Create_Mult\n-0000b440: 6963 6173 745f 536f 636b 6574 203c 323e icast_Socket <2>\n-0000b450: 3a20 2020 2020 2020 2020 2020 2e20 2020 : . \n-0000b460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b470: 2020 286c 696e 6520 3636 290a 2a20 4372 (line 66).* Cr\n-0000b480: 6561 7469 6e67 2061 206d 756c 7469 6361 eating a multica\n-0000b490: 7374 2073 6f63 6b65 743a 2020 2020 2020 st socket: \n-0000b4a0: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n-0000b4b0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n-0000b4c0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-0000b4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b500: 2020 286c 696e 6520 2036 290a 2a20 4372 (line 6).* Cr\n-0000b510: 6561 7469 6e67 2061 206d 756c 7469 6361 eating a multica\n-0000b520: 7374 2073 6f63 6b65 7420 3c31 3e3a 2020 st socket <1>: \n-0000b530: 2020 2020 2043 7265 6174 655f 4d75 6c74 Create_Mult\n-0000b540: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n-0000b550: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-0000b560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b590: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000b5a0: 290a 2a20 4372 6561 7469 6e67 2061 206d ).* Creating a m\n-0000b5b0: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n-0000b5c0: 3c32 3e3a 2020 2020 2020 202e 2020 2020 <2>: . \n-0000b5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b5e0: 2028 6c69 6e65 2036 3329 0a2a 2043 7265 (line 63).* Cre\n-0000b5f0: 6174 696e 6720 6120 7365 7276 6572 3a20 ating a server: \n-0000b600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b610: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n-0000b620: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n-0000b630: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a\n-0000b640: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: \n-0000b650: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-0000b660: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n-0000b670: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n-0000b680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b6b0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000b6c0: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s\n-0000b6d0: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020 ocket <1>: \n-0000b6e0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-0000b6f0: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-0000b700: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre\n-0000b710: 6174 696e 6720 6120 736f 636b 6574 203c ating a socket <\n-0000b720: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0000b730: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi\n-0000b740: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n-0000b750: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n-0000b760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b790: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000b7a0: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so\n-0000b7b0: 636b 6574 203c 333e 3a20 2020 2020 2020 cket <3>: \n-0000b7c0: 2020 2020 2020 2020 2020 2e20 2020 2020 . \n-0000b7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b7e0: 286c 696e 6520 3633 290a 2a20 4372 6561 (line 63).* Crea\n-0000b7f0: 7469 6e67 2061 2054 4350 2073 6f63 6b65 ting a TCP socke\n-0000b800: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0000b810: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-0000b820: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n-0000b830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b860: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000b870: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n-0000b880: 6e67 2061 2055 4450 2073 6f63 6b65 743a ng a UDP socket:\n-0000b890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b8a0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-0000b8b0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n-0000b8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b8f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000b900: 6520 2036 290a 2a20 4372 6561 7469 6e67 e 6).* Creating\n-0000b910: 2061 2075 6e69 6361 7374 2073 6f63 6b65 a unicast socke\n-0000b920: 743a 2020 2020 2020 2020 2020 2020 2053 t: S\n-0000b930: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-0000b940: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n-0000b950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b980: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000b990: 2036 290a 2a20 4573 7461 626c 6973 6869 6).* Establishi\n-0000b9a0: 6e67 2061 206c 6973 7465 6e20 7175 6575 ng a listen queu\n-0000b9b0: 653a 2020 2020 2020 2020 2020 204c 6973 e: Lis\n-0000b9c0: 7465 6e20 2870 726f 6365 6475 7265 292e ten (procedure).\n-0000b9d0: 2020 2028 6c69 6e65 2020 3629 0a2a 2046 (line 6).* F\n-0000b9e0: 696e 6469 6e67 2041 6461 536f 636b 6574 inding AdaSocket\n-0000b9f0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n-0000ba00: 743a 2020 2020 5265 736f 7572 6365 7320 t: Resources \n-0000ba10: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n-0000ba20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000ba30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ba40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ba50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ba60: 286c 696e 6520 2036 290a 2a20 4765 743a (line 6).* Get:\n-0000ba70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ba80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ba90: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n-0000baa0: 292e 2020 2020 2020 2028 6c69 6e65 2020 ). (line \n-0000bab0: 3929 0a2a 2047 6574 736f 636b 6f70 743a 9).* Getsockopt:\n-0000bac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bad0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-0000bae0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000baf0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000bb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bb30: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n-0000bb40: 6574 5f43 6861 723a 2020 2020 2020 2020 et_Char: \n-0000bb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bb60: 2020 2020 2020 4765 745f 4368 6172 2028 Get_Char (\n-0000bb70: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n-0000bb80: 6520 2039 290a 2a20 4765 745f 4c69 6e65 e 9).* Get_Line\n-0000bb90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000bba0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000bbb0: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n-0000bbc0: 6e29 2e20 2028 6c69 6e65 2020 3929 0a2a n). (line 9).*\n-0000bbd0: 2047 6574 5f4c 696e 6520 3c31 3e3a 2020 Get_Line <1>: \n-0000bbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bbf0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n-0000bc00: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000bc10: 696e 6520 2039 290a 2a20 4765 745f 5265 ine 9).* Get_Re\n-0000bc20: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n-0000bc30: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000bc40: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n-0000bc50: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n-0000bc60: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n-0000bc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bc90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bca0: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n-0000bcb0: 6574 5f53 656e 645f 5175 6575 655f 5369 et_Send_Queue_Si\n-0000bcc0: 7a65 3a20 2020 2020 2020 2020 2020 2020 ze: \n-0000bcd0: 2020 2020 2020 4765 745f 5365 6e64 5f51 Get_Send_Q\n-0000bce0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-0000bcf0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n-0000bd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bd30: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0000bd40: 2047 726f 7570 2063 6f6d 6d75 6e69 6361 Group communica\n-0000bd50: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-0000bd60: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n-0000bd70: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc\n-0000bd80: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n-0000bd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bdb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bdc0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000bdd0: 2048 616e 646c 696e 6720 6120 6e65 7720 Handling a new \n-0000bde0: 636f 6e6e 6563 7469 6f6e 3a20 2020 2020 connection: \n-0000bdf0: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S\n-0000be00: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure\n-0000be10: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000be20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000be30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000be40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000be50: 2020 286c 696e 6520 2036 290a 2a20 496e (line 6).* In\n-0000be60: 7374 616c 6c69 6e67 2041 6461 536f 636b stalling AdaSock\n-0000be70: 6574 733a 2020 2020 2020 2020 2020 2020 ets: \n-0000be80: 2020 2020 2049 6e73 7461 6c6c 696e 6720 Installing \n-0000be90: 4164 6153 6f63 6b65 7473 2e0a 2020 2020 AdaSockets.. \n-0000bea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000beb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bed0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000bee0: 2020 3629 0a2a 2049 5050 524f 544f 5f49 6).* IPPROTO_I\n-0000bef0: 503a 2020 2020 2020 2020 2020 2020 2020 P: \n-0000bf00: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000bf10: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000bf20: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000bf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf60: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000bf70: 2049 5050 524f 544f 5f49 5020 3c31 3e3a IPPROTO_IP <1>:\n-0000bf80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bf90: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-0000bfa0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-0000bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000bfe0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000bff0: 6c69 6e65 2032 3129 0a2a 2049 505f 4144 line 21).* IP_AD\n-0000c000: 445f 4d45 4d42 4552 5348 4950 3a20 2020 D_MEMBERSHIP: \n-0000c010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c020: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-0000c030: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n-0000c040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c070: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000c080: 3129 0a2a 2049 505f 4144 445f 4d45 4d42 1).* IP_ADD_MEMB\n-0000c090: 4552 5348 4950 203c 313e 3a20 2020 2020 ERSHIP <1>: \n-0000c0a0: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-0000c0b0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000c0c0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c100: 2020 2028 6c69 6e65 2032 3129 0a2a 2049 (line 21).* I\n-0000c110: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI\n-0000c120: 503a 2020 2020 2020 2020 2020 2020 2020 P: \n-0000c130: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-0000c140: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n-0000c150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c180: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000c190: 6e65 2032 3129 0a2a 2049 505f 4452 4f50 ne 21).* IP_DROP\n-0000c1a0: 5f4d 454d 4245 5253 4849 5020 3c31 3e3a _MEMBERSHIP <1>:\n-0000c1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c1c0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-0000c1d0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n-0000c1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c210: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n-0000c220: 0a2a 2049 505f 4d55 4c54 4943 4153 545f .* IP_MULTICAST_\n-0000c230: 4c4f 4f50 3a20 2020 2020 2020 2020 2020 LOOP: \n-0000c240: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-0000c250: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-0000c260: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000c270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c2a0: 2028 6c69 6e65 2032 3129 0a2a 2049 505f (line 21).* IP_\n-0000c2b0: 4d55 4c54 4943 4153 545f 4c4f 4f50 203c MULTICAST_LOOP <\n-0000c2c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0000c2d0: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-0000c2e0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000c2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c320: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000c330: 2032 3129 0a2a 2049 505f 4d55 4c54 4943 21).* IP_MULTIC\n-0000c340: 4153 545f 5454 4c3a 2020 2020 2020 2020 AST_TTL: \n-0000c350: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000c360: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000c370: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000c380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c3b0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000c3c0: 2049 505f 4d55 4c54 4943 4153 545f 5454 IP_MULTICAST_TT\n-0000c3d0: 4c20 3c31 3e3a 2020 2020 2020 2020 2020 L <1>: \n-0000c3e0: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-0000c3f0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n-0000c400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c430: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000c440: 6c69 6e65 2032 3129 0a2a 204c 463a 2020 line 21).* LF: \n-0000c450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c470: 2020 4765 745f 4c69 6e65 2028 6675 6e63 Get_Line (func\n-0000c480: 7469 6f6e 292e 2020 286c 696e 6520 3232 tion). (line 22\n-0000c490: 290a 2a20 4c46 203c 313e 3a20 2020 2020 ).* LF <1>: \n-0000c4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c4b0: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n-0000c4c0: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000c4d0: 2028 6c69 6e65 2031 3929 0a2a 204c 4620 (line 19).* LF \n-0000c4e0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0000c4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c500: 2020 2020 4e65 775f 4c69 6e65 2028 7072 New_Line (pr\n-0000c510: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000c520: 3138 290a 2a20 4c69 7374 656e 3a20 2020 18).* Listen: \n-0000c530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c540: 2020 2020 2020 2020 2020 2020 204c 6973 Lis\n-0000c550: 7465 6e20 2870 726f 6365 6475 7265 292e ten (procedure).\n-0000c560: 2020 2028 6c69 6e65 2020 3929 0a2a 204c (line 9).* L\n-0000c570: 6973 7465 6e20 7175 6575 653a 2020 2020 isten queue: \n-0000c580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c590: 2020 2020 2020 4c69 7374 656e 2028 7072 Listen (pr\n-0000c5a0: 6f63 6564 7572 6529 2e20 2020 286c 696e ocedure). (lin\n-0000c5b0: 6520 2036 290a 2a20 4d61 6e69 7075 6c61 e 6).* Manipula\n-0000c5c0: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti\n-0000c5d0: 6f6e 733a 2020 2020 2020 2020 2020 2047 ons: G\n-0000c5e0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000c5f0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000c600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c630: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000c640: 2a20 4d61 6e69 7075 6c61 7469 6e67 2073 * Manipulating s\n-0000c650: 6f63 6b65 7420 6f70 7469 6f6e 7320 3c31 ocket options <1\n-0000c660: 3e3a 2020 2020 2020 2053 6574 736f 636b >: Setsock\n-0000c670: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000c680: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c6c0: 286c 696e 6520 2036 290a 2a20 4d62 6f6e (line 6).* Mbon\n-0000c6d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0000c6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c6f0: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n-0000c700: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n-0000c710: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00002eb0: 6f63 6b20 3a20 4d75 6c74 6963 6173 745f ock : Multicast_\n+00002ec0: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+00002ed0: 2020 2020 2062 6567 696e 0a20 2020 2020 begin. \n+00002ee0: 2020 2020 2020 2020 2d2d 2043 7265 6174 -- Creat\n+00002ef0: 6520 6120 6d75 6c74 6963 6173 7420 736f e a multicast so\n+00002f00: 636b 6574 206f 6e20 6772 6f75 7020 3232 cket on group 22\n+00002f10: 342e 312e 322e 3320 706f 7274 2038 3736 4.1.2.3 port 876\n+00002f20: 330a 2020 2020 2020 2020 2020 2020 2053 3. S\n+00002f30: 6f63 6b20 3a3d 2043 7265 6174 655f 4d75 ock := Create_Mu\n+00002f40: 6c74 6963 6173 745f 536f 636b 6574 2028 lticast_Socket (\n+00002f50: 2232 3234 2e31 2e32 2e33 222c 2038 3736 \"224.1.2.3\", 876\n+00002f60: 3329 3b0a 2020 2020 2020 2020 2020 2020 3);. \n+00002f70: 202d 2d20 5065 7266 6f72 6d20 736f 6d65 -- Perform some\n+00002f80: 206f 7065 7261 7469 6f6e 7320 6f6e 2073 operations on s\n+00002f90: 6f63 6b65 740a 2020 2020 2020 2020 2020 ocket. \n+00002fa0: 2020 205b 2e2e 2e5d 0a20 2020 2020 2020 [...]. \n+00002fb0: 2020 2020 2020 2d2d 2053 6875 7464 6f77 -- Shutdow\n+00002fc0: 6e20 7468 6520 736f 636b 6574 2069 6e20 n the socket in \n+00002fd0: 626f 7468 2064 6972 6563 7469 6f6e 730a both directions.\n+00002fe0: 2020 2020 2020 2020 2020 2020 2053 6875 Shu\n+00002ff0: 7464 6f77 6e20 2853 6f63 6b2c 2042 6f74 tdown (Sock, Bot\n+00003000: 6829 3b0a 2020 2020 2020 2020 2020 656e h);. en\n+00003010: 643b 0a0a 5345 4520 414c 534f 0a20 2020 d;..SEE ALSO. \n+00003020: 2020 2a6e 6f74 6520 4269 6e64 2028 7072 *note Bind (pr\n+00003030: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00003040: 202a 6e6f 7465 204c 6973 7465 6e20 2870 *note Listen (p\n+00003050: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00003060: 2020 2a6e 6f74 6520 5368 7574 646f 776e *note Shutdown\n+00003070: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00003080: 2020 2020 202a 6e6f 7465 2053 6f63 6b65 *note Socke\n+00003090: 7420 2870 726f 6365 6475 7265 293a 3a2e t (procedure)::.\n+000030a0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2042 696e ..* Menu:..* Bin\n+000030b0: 6420 2870 726f 6365 6475 7265 293a 3a0a d (procedure)::.\n+000030c0: 2a20 436f 6e6e 6563 7420 2870 726f 6365 * Connect (proce\n+000030d0: 6475 7265 293a 3a0a 2a20 4765 7420 2866 dure)::.* Get (f\n+000030e0: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n+000030f0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+00003100: 3a3a 0a2a 2047 6574 5f4c 696e 6520 2866 ::.* Get_Line (f\n+00003110: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get\n+00003120: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00003130: 293a 3a0a 2a20 4765 745f 5265 6365 6976 )::.* Get_Receiv\n+00003140: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+00003150: 6e63 7469 6f6e 293a 3a0a 2a20 4765 745f nction)::.* Get_\n+00003160: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n+00003170: 2866 756e 6374 696f 6e29 3a3a 0a2a 2047 (function)::.* G\n+00003180: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00003190: 6475 7265 293a 3a0a 2a20 4c69 7374 656e dure)::.* Listen\n+000031a0: 2028 7072 6f63 6564 7572 6529 3a3a 0a2a (procedure)::.*\n+000031b0: 204e 6577 5f4c 696e 6520 2870 726f 6365 New_Line (proce\n+000031c0: 6475 7265 293a 3a0a 2a20 5075 7420 2870 dure)::.* Put (p\n+000031d0: 726f 6365 6475 7265 293a 3a0a 2a20 5075 rocedure)::.* Pu\n+000031e0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+000031f0: 6529 3a3a 0a2a 2052 6563 6569 7665 2028 e)::.* Receive (\n+00003200: 6675 6e63 7469 6f6e 293a 3a0a 2a20 5265 function)::.* Re\n+00003210: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure\n+00003220: 293a 3a0a 2a20 5265 6365 6976 655f 536f )::.* Receive_So\n+00003230: 6d65 2028 7072 6f63 6564 7572 6529 3a3a me (procedure)::\n+00003240: 0a2a 2053 656e 6420 2870 726f 6365 6475 .* Send (procedu\n+00003250: 7265 293a 3a0a 2a20 5365 745f 4275 6666 re)::.* Set_Buff\n+00003260: 6572 2028 7072 6f63 6564 7572 6529 3a3a er (procedure)::\n+00003270: 0a2a 2053 6574 736f 636b 6f70 7420 2870 .* Setsockopt (p\n+00003280: 726f 6365 6475 7265 293a 3a0a 2a20 5368 rocedure)::.* Sh\n+00003290: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur\n+000032a0: 6529 3a3a 0a2a 2053 6f63 6b65 7420 2870 e)::.* Socket (p\n+000032b0: 726f 6365 6475 7265 293a 3a0a 2a20 556e rocedure)::.* Un\n+000032c0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+000032d0: 6564 7572 6529 3a3a 0a0a 1f0a 4669 6c65 edure)::....File\n+000032e0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+000032f0: 6f2c 2020 4e6f 6465 3a20 4269 6e64 2028 o, Node: Bind (\n+00003300: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+00003310: 743a 2043 6f6e 6e65 6374 2028 7072 6f63 t: Connect (proc\n+00003320: 6564 7572 6529 2c20 2050 7265 763a 2041 edure), Prev: A\n+00003330: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00003340: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00003350: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00003360: 6f63 6564 7572 6529 0a0a 4269 6e64 2028 ocedure)..Bind (\n+00003370: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00003380: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00003390: 504f 5345 0a20 2020 2020 4173 736f 6369 POSE. Associ\n+000033a0: 6174 6520 6120 6c6f 6361 6c20 706f 7274 ate a local port\n+000033b0: 2074 6f20 6120 736f 636b 6574 0a50 524f to a socket.PRO\n+000033c0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+000033d0: 536f 636b 6574 732e 4269 6e64 3a20 7072 Sockets.Bind: pr\n+000033e0: 6f63 6564 7572 6520 4269 6e64 2028 534f ocedure Bind (SO\n+000033f0: 434b 4554 203a 2053 6f63 6b65 745f 4644 CKET : Socket_FD\n+00003400: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. \n+00003410: 2050 4f52 5420 3a20 4e61 7475 7261 6c3b PORT : Natural;\n+00003420: 2048 4f53 5420 3a20 5374 7269 6e67 203a HOST : String :\n+00003430: 3d20 2222 293b 0a0a 5041 5241 4d45 5445 = \"\");..PARAMETE\n+00003440: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00003450: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00003460: 6974 6961 6c69 7a65 6420 736f 636b 6574 itialized socket\n+00003470: 206f 626a 6563 740a 2020 2020 2050 4f52 object. POR\n+00003480: 5420 2020 2020 2020 696e 2020 2020 2020 T in \n+00003490: 2020 204c 6f63 616c 2070 6f72 7420 746f Local port to\n+000034a0: 2062 696e 6420 746f 0a20 2020 2020 484f bind to. HO\n+000034b0: 5354 2020 2020 2020 2069 6e20 2020 2020 ST in \n+000034c0: 2020 2020 4c6f 6361 6c20 696e 7465 7266 Local interf\n+000034d0: 6163 6520 746f 2062 696e 6420 746f 0a0a ace to bind to..\n+000034e0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000034f0: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00003500: 7265 7175 6573 7473 2061 206c 6f63 616c requests a local\n+00003510: 2070 6f72 7420 6672 6f6d 2074 6865 206f port from the o\n+00003520: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n+00003530: 2020 4966 0a20 2020 2020 3020 6973 2067 If. 0 is g\n+00003540: 6976 656e 2069 6e20 504f 5254 2c20 7468 iven in PORT, th\n+00003550: 6520 7379 7374 656d 2077 696c 6c20 6173 e system will as\n+00003560: 7369 676e 2061 2066 7265 6520 706f 7274 sign a free port\n+00003570: 2077 686f 7365 206e 756d 6265 720a 2020 whose number. \n+00003580: 2020 2063 616e 206c 6174 6572 2062 6520 can later be \n+00003590: 7265 7472 6965 7665 6420 7573 696e 6720 retrieved using \n+000035a0: 2a6e 6f74 6520 4765 745f 536f 636b 5f50 *note Get_Sock_P\n+000035b0: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function)::\n+000035c0: 2e0a 2020 2020 2041 6c73 6f2c 206d 6f73 .. Also, mos\n+000035d0: 7420 6f70 6572 6174 696e 6720 7379 7374 t operating syst\n+000035e0: 656d 7320 7265 7175 6972 6520 7370 6563 ems require spec\n+000035f0: 6961 6c20 7072 6976 696c 6567 6573 2069 ial privileges i\n+00003600: 6620 796f 7520 7761 6e74 0a20 2020 2020 f you want. \n+00003610: 746f 2062 696e 6420 746f 2070 6f72 7473 to bind to ports\n+00003620: 2062 656c 6f77 2031 3032 342e 0a0a 2020 below 1024... \n+00003630: 2020 2049 6620 484f 5354 2069 7320 6e6f If HOST is no\n+00003640: 7420 7468 6520 656d 7074 7920 7374 7269 t the empty stri\n+00003650: 6e67 2c20 6974 206d 7573 7420 636f 6e74 ng, it must cont\n+00003660: 6169 6e20 7468 6520 4950 2061 6464 7265 ain the IP addre\n+00003670: 7373 206f 660a 2020 2020 2061 206c 6f63 ss of. a loc\n+00003680: 616c 2069 6e74 6572 6661 6365 2074 6f20 al interface to \n+00003690: 6269 6e64 2074 6f2c 206f 7220 6120 6e61 bind to, or a na\n+000036a0: 6d65 2077 6869 6368 2072 6573 6f6c 7665 me which resolve\n+000036b0: 7320 696e 746f 2073 7563 6820 616e 0a20 s into such an. \n+000036c0: 2020 2020 6164 6472 6573 732e 2020 4966 address. If\n+000036d0: 2061 6e20 656d 7074 7920 7374 7269 6e67 an empty string\n+000036e0: 2069 7320 6769 7665 6e20 2874 6865 2064 is given (the d\n+000036f0: 6566 6175 6c74 292c 2074 6865 2073 6f63 efault), the soc\n+00003700: 6b65 740a 2020 2020 2077 696c 6c20 6265 ket. will be\n+00003710: 2062 6f75 6e64 2074 6f20 616c 6c20 7468 bound to all th\n+00003720: 6520 6176 6169 6c61 626c 6520 696e 7465 e available inte\n+00003730: 7266 6163 6573 2e0a 0a45 5843 4550 5449 rfaces...EXCEPTI\n+00003740: 4f4e 530a 2020 2020 2027 536f 636b 6574 ONS. 'Socket\n+00003750: 5f45 7272 6f72 2720 2020 2020 5265 7175 _Error' Requ\n+00003760: 6573 7465 6420 706f 7274 206f 7220 696e ested port or in\n+00003770: 7465 7266 6163 6520 6e6f 7420 6176 6169 terface not avai\n+00003780: 6c61 626c 650a 0a53 4545 2041 4c53 4f0a lable..SEE ALSO.\n+00003790: 2020 2020 202a 6e6f 7465 204c 6973 7465 *note Liste\n+000037a0: 6e20 2870 726f 6365 6475 7265 293a 3a2c n (procedure)::,\n+000037b0: 0a20 2020 2020 2a6e 6f74 6520 536f 636b . *note Sock\n+000037c0: 6574 2028 7072 6f63 6564 7572 6529 3a3a et (procedure)::\n+000037d0: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+000037e0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+000037f0: 653a 2043 6f6e 6e65 6374 2028 7072 6f63 e: Connect (proc\n+00003800: 6564 7572 6529 2c20 204e 6578 743a 2047 edure), Next: G\n+00003810: 6574 2028 6675 6e63 7469 6f6e 292c 2020 et (function), \n+00003820: 5072 6576 3a20 4269 6e64 2028 7072 6f63 Prev: Bind (proc\n+00003830: 6564 7572 6529 2c20 2055 703a 2041 6363 edure), Up: Acc\n+00003840: 6570 745f 536f 636b 6574 2028 7072 6f63 ept_Socket (proc\n+00003850: 6564 7572 6529 0a0a 436f 6e6e 6563 7420 edure)..Connect \n+00003860: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00003870: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00003880: 0a50 5552 504f 5345 0a20 2020 2020 436f .PURPOSE. Co\n+00003890: 6e6e 6563 7420 6120 736f 636b 6574 206f nnect a socket o\n+000038a0: 6e20 6120 6769 7665 6e20 686f 7374 2f70 n a given host/p\n+000038b0: 6f72 740a 5052 4f54 4f54 5950 450a 2020 ort.PROTOTYPE. \n+000038c0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e43 -- Sockets.C\n+000038d0: 6f6e 6e65 6374 3a20 7072 6f63 6564 7572 onnect: procedur\n+000038e0: 6520 436f 6e6e 6563 7420 2853 4f43 4b45 e Connect (SOCKE\n+000038f0: 5420 3a20 536f 636b 6574 5f46 443b 0a20 T : Socket_FD;. \n+00003900: 2020 2020 2020 2020 2020 2020 2020 484f HO\n+00003910: 5354 203a 2053 7472 696e 673b 2050 4f52 ST : String; POR\n+00003920: 5420 3a20 506f 7369 7469 7665 293b 0a0a T : Positive);..\n+00003930: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00003940: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00003950: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+00003960: 6420 736f 636b 6574 206f 626a 6563 740a d socket object.\n+00003970: 2020 2020 2048 4f53 5420 2020 2020 2020 HOST \n+00003980: 696e 2020 2020 2020 2020 2048 6f73 7420 in Host \n+00003990: 746f 2063 6f6e 6e65 6374 2074 6f0a 2020 to connect to. \n+000039a0: 2020 2050 4f52 5420 2020 2020 2020 696e PORT in\n+000039b0: 2020 2020 2020 2020 2050 6f72 7420 746f Port to\n+000039c0: 2063 6f6e 6e65 6374 2074 6f0a 0a44 4553 connect to..DES\n+000039d0: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+000039e0: 6973 2070 726f 6365 6475 7265 2063 6f6e is procedure con\n+000039f0: 6e65 6374 7320 616e 2069 6e69 7469 616c nects an initial\n+00003a00: 697a 6564 2073 6f63 6b65 7420 746f 2061 ized socket to a\n+00003a10: 2067 6976 656e 2068 6f73 7420 6f6e 2061 given host on a\n+00003a20: 0a20 2020 2020 6769 7665 6e20 706f 7274 . given port\n+00003a30: 2e20 2049 6e20 7468 6520 6361 7365 206f . In the case o\n+00003a40: 6620 6120 5443 5020 736f 636b 6574 2c20 f a TCP socket, \n+00003a50: 6120 7265 616c 2063 6f6e 6e65 6374 696f a real connectio\n+00003a60: 6e20 6973 0a20 2020 2020 6174 7465 6d70 n is. attemp\n+00003a70: 7465 642e 2020 496e 2074 6865 2063 6173 ted. In the cas\n+00003a80: 6520 6f66 2061 2055 4450 2073 6f63 6b65 e of a UDP socke\n+00003a90: 742c 206e 6f20 636f 6e6e 6563 7469 6f6e t, no connection\n+00003aa0: 2074 616b 6573 2070 6c61 6365 0a20 2020 takes place. \n+00003ab0: 2020 6275 7420 7468 6520 656e 6470 6f69 but the endpoi\n+00003ac0: 6e74 2063 6f6f 7264 696e 6174 6573 2061 nt coordinates a\n+00003ad0: 7265 2072 6563 6f72 6465 642e 0a0a 4558 re recorded...EX\n+00003ae0: 4345 5054 494f 4e53 0a20 2020 2020 2743 CEPTIONS. 'C\n+00003af0: 6f6e 6e65 6374 696f 6e5f 5265 6675 7365 onnection_Refuse\n+00003b00: 6427 5468 6520 636f 6e6e 6563 7469 6f6e d'The connection\n+00003b10: 2068 6173 2062 6565 6e20 7265 6675 7365 has been refuse\n+00003b20: 6420 6279 2074 6865 0a20 2020 2020 2020 d by the. \n+00003b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00003b40: 2073 6572 7665 720a 2020 2020 2027 536f server. 'So\n+00003b50: 636b 6574 5f45 7272 6f72 2720 2020 2020 cket_Error' \n+00003b60: 416e 6f74 6865 7220 6572 726f 7220 6f63 Another error oc\n+00003b70: 6375 7272 6564 2064 7572 696e 6720 7468 curred during th\n+00003b80: 650a 2020 2020 2020 2020 2020 2020 2020 e. \n+00003b90: 2020 2020 2020 2020 2020 636f 6e6e 6563 connec\n+00003ba0: 7469 6f6e 0a0a 4558 414d 504c 450a 2020 tion..EXAMPLE. \n+00003bb0: 2020 2020 2020 2020 6465 636c 6172 650a declare.\n+00003bc0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00003bd0: 6b20 3a20 4d75 6c74 6963 6173 745f 536f k : Multicast_So\n+00003be0: 636b 6574 5f46 443b 0a20 2020 2020 2020 cket_FD;. \n+00003bf0: 2020 2062 6567 696e 0a20 2020 2020 2020 begin. \n+00003c00: 2020 2020 2020 2d2d 2043 7265 6174 6520 -- Create \n+00003c10: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock\n+00003c20: 6574 206f 6e20 6772 6f75 7020 3232 342e et on group 224.\n+00003c30: 312e 322e 3320 706f 7274 2038 3736 330a 1.2.3 port 8763.\n+00003c40: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc\n+00003c50: 6b20 3a3d 2043 7265 6174 655f 4d75 6c74 k := Create_Mult\n+00003c60: 6963 6173 745f 536f 636b 6574 2028 2232 icast_Socket (\"2\n+00003c70: 3234 2e31 2e32 2e33 222c 2038 3736 3329 24.1.2.3\", 8763)\n+00003c80: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. -\n+00003c90: 2d20 5065 7266 6f72 6d20 736f 6d65 206f - Perform some o\n+00003ca0: 7065 7261 7469 6f6e 7320 6f6e 2073 6f63 perations on soc\n+00003cb0: 6b65 740a 2020 2020 2020 2020 2020 2020 ket. \n+00003cc0: 205b 2e2e 2e5d 0a20 2020 2020 2020 2020 [...]. \n+00003cd0: 2020 2020 2d2d 2053 6875 7464 6f77 6e20 -- Shutdown \n+00003ce0: 7468 6520 736f 636b 6574 2069 6e20 626f the socket in bo\n+00003cf0: 7468 2064 6972 6563 7469 6f6e 730a 2020 th directions. \n+00003d00: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00003d10: 6f77 6e20 2853 6f63 6b2c 2042 6f74 6829 own (Sock, Both)\n+00003d20: 3b0a 2020 2020 2020 2020 2020 656e 643b ;. end;\n+00003d30: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+00003d40: 2a6e 6f74 6520 536f 636b 6574 2028 7072 *note Socket (pr\n+00003d50: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n+00003d60: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+00003d70: 696e 666f 2c20 204e 6f64 653a 2047 6574 info, Node: Get\n+00003d80: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne\n+00003d90: 7874 3a20 4765 745f 4368 6172 2028 6675 xt: Get_Char (fu\n+00003da0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+00003db0: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu\n+00003dc0: 7265 292c 2020 5570 3a20 4163 6365 7074 re), Up: Accept\n+00003dd0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+00003de0: 7265 290a 0a47 6574 2028 6675 6e63 7469 re)..Get (functi\n+00003df0: 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on).------------\n+00003e00: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. \n+00003e10: 2047 6574 2061 2073 7472 696e 6720 6672 Get a string fr\n+00003e20: 6f6d 2061 2072 656d 6f74 6520 686f 7374 om a remote host\n+00003e30: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+00003e40: 202d 2d20 536f 636b 6574 732e 4765 743a -- Sockets.Get:\n+00003e50: 2066 756e 6374 696f 6e20 4765 7420 2853 function Get (S\n+00003e60: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+00003e70: 4427 436c 6173 7329 0a20 2020 2020 2020 D'Class). \n+00003e80: 2020 2020 2020 2020 7265 7475 726e 2053 return S\n+00003e90: 7472 696e 673b 0a0a 5041 5241 4d45 5445 tring;..PARAMETE\n+00003ea0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+00003eb0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+00003ec0: 6974 6961 6c69 7a65 6420 616e 6420 636f itialized and co\n+00003ed0: 6e6e 6563 7465 6420 736f 636b 6574 206f nnected socket o\n+00003ee0: 626a 6563 740a 0a52 4554 5552 4e20 5641 bject..RETURN VA\n+00003ef0: 4c55 450a 2020 2020 2053 6f6d 6520 6368 LUE. Some ch\n+00003f00: 6172 6163 7465 7273 2074 6861 7420 6861 aracters that ha\n+00003f10: 7665 2062 6565 6e20 7265 6365 6976 6564 ve been received\n+00003f20: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00003f30: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+00003f40: 2072 6563 6569 7665 7320 736f 6d65 2063 receives some c\n+00003f50: 6861 7261 6374 6572 7320 6672 6f6d 2061 haracters from a\n+00003f60: 2072 656d 6f74 6520 686f 7374 2e20 2041 remote host. A\n+00003f70: 7320 736f 6f6e 0a20 2020 2020 7468 6174 s soon. that\n+00003f80: 2061 7420 6c65 6173 7420 6f6e 6520 6368 at least one ch\n+00003f90: 6172 6163 7465 7220 6973 2061 7661 696c aracter is avail\n+00003fa0: 6162 6c65 2c20 7468 6520 6375 7272 656e able, the curren\n+00003fb0: 7420 7265 6365 7074 696f 6e0a 2020 2020 t reception. \n+00003fc0: 2062 7566 6665 7220 6973 2072 6574 7572 buffer is retur\n+00003fd0: 6e65 642e 0a0a 2020 2020 2054 6865 7265 ned... There\n+00003fe0: 2069 7320 7573 7561 6c6c 7920 6c69 7474 is usually litt\n+00003ff0: 6c65 2067 6169 6e20 696e 2075 7369 6e67 le gain in using\n+00004000: 2074 6869 7320 6675 6e63 7469 6f6e 2077 this function w\n+00004010: 686f 7365 2062 6568 6176 696f 7572 0a20 hose behaviour. \n+00004020: 2020 2020 6973 2063 6f6d 7061 7261 626c is comparabl\n+00004030: 6520 746f 2074 6865 206f 6e65 206f 6620 e to the one of \n+00004040: 2a6e 6f74 6520 5265 6365 6976 6520 2866 *note Receive (f\n+00004050: 756e 6374 696f 6e29 3a3a 2e20 204f 7468 unction)::. Oth\n+00004060: 6572 0a20 2020 2020 6675 6e63 7469 6f6e er. function\n+00004070: 7320 7375 6368 2061 7320 2a6e 6f74 6520 s such as *note \n+00004080: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n+00004090: 6f6e 293a 3a2c 206f 7220 2a6e 6f74 6520 on)::, or *note \n+000040a0: 4765 745f 4c69 6e65 0a20 2020 2020 2866 Get_Line. (f\n+000040b0: 756e 6374 696f 6e29 3a3a 2c20 616c 6c6f unction)::, allo\n+000040c0: 7720 6d6f 7265 2073 7472 7563 7475 7265 w more structure\n+000040d0: 6420 7072 6f67 7261 6d6d 696e 672e 0a0a d programming...\n+000040e0: 2020 2020 2048 6f77 6576 6572 2c20 7468 However, th\n+000040f0: 6973 2066 756e 6374 696f 6e20 6d61 7920 is function may \n+00004100: 6265 2075 7365 6420 746f 2061 766f 6964 be used to avoid\n+00004110: 206c 6f6f 7369 6e67 2063 6861 7261 6374 loosing charact\n+00004120: 6572 7320 7768 656e 0a20 2020 2020 6361 ers when. ca\n+00004130: 6c6c 696e 6720 2a6e 6f74 6520 556e 7365 lling *note Unse\n+00004140: 745f 4275 6666 6572 2028 7072 6f63 6564 t_Buffer (proced\n+00004150: 7572 6529 3a3a 2c20 6966 2c20 666f 7220 ure)::, if, for \n+00004160: 736f 6d65 2072 6561 736f 6e2c 2074 6865 some reason, the\n+00004170: 0a20 2020 2020 7265 6d6f 7465 2068 6f73 . remote hos\n+00004180: 7420 6d61 7920 6861 7665 2073 656e 7420 t may have sent \n+00004190: 736f 6d65 2e0a 0a45 5843 4550 5449 4f4e some...EXCEPTION\n+000041a0: 530a 2020 2020 2027 436f 6e6e 6563 7469 S. 'Connecti\n+000041b0: 6f6e 5f43 6c6f 7365 6427 5065 6572 2068 on_Closed'Peer h\n+000041c0: 6173 2063 6c6f 7365 6420 7468 6520 636f as closed the co\n+000041d0: 6e6e 6563 7469 6f6e 2062 6566 6f72 650a nnection before.\n+000041e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000041f0: 2020 2020 2020 2020 7365 6e64 696e 6720 sending \n+00004200: 616e 7920 6461 7461 0a0a 1f0a 4669 6c65 any data....File\n+00004210: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00004220: 6f2c 2020 4e6f 6465 3a20 4765 745f 4368 o, Node: Get_Ch\n+00004230: 6172 2028 6675 6e63 7469 6f6e 292c 2020 ar (function), \n+00004240: 4e65 7874 3a20 4765 745f 4c69 6e65 2028 Next: Get_Line (\n+00004250: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+00004260: 3a20 4765 7420 2866 756e 6374 696f 6e29 : Get (function)\n+00004270: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00004280: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00004290: 0a0a 4765 745f 4368 6172 2028 6675 6e63 ..Get_Char (func\n+000042a0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+000042b0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+000042c0: 5345 0a20 2020 2020 4765 7420 6120 6368 SE. Get a ch\n+000042d0: 6172 6163 7465 7220 6672 6f6d 2061 2072 aracter from a r\n+000042e0: 656d 6f74 6520 686f 7374 0a50 524f 544f emote host.PROTO\n+000042f0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00004300: 636b 6574 732e 4765 745f 4368 6172 3a20 ckets.Get_Char: \n+00004310: 6675 6e63 7469 6f6e 2047 6574 5f43 6861 function Get_Cha\n+00004320: 7220 2853 4f43 4b45 5420 3a20 536f 636b r (SOCKET : Sock\n+00004330: 6574 5f46 4427 436c 6173 7329 0a20 2020 et_FD'Class). \n+00004340: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n+00004350: 726e 2043 6861 7261 6374 6572 3b0a 0a50 rn Character;..P\n+00004360: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00004370: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00004380: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00004390: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+000043a0: 6f63 6b65 7420 6f62 6a65 6374 0a0a 5245 ocket object..RE\n+000043b0: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. \n+000043c0: 4f6e 6520 6368 6172 6163 7465 7220 7365 One character se\n+000043d0: 6e74 2062 7920 7468 6520 7265 6d6f 7465 nt by the remote\n+000043e0: 2068 6f73 740a 0a44 4553 4352 4950 5449 host..DESCRIPTI\n+000043f0: 4f4e 0a20 2020 2020 5468 6973 2066 756e ON. This fun\n+00004400: 6374 696f 6e20 7265 6365 6976 6573 2065 ction receives e\n+00004410: 7861 6374 6c79 206f 6e65 2063 6861 7261 xactly one chara\n+00004420: 6374 6572 2066 726f 6d20 7468 6520 7265 cter from the re\n+00004430: 6d6f 7465 2068 6f73 742e 0a0a 4558 4345 mote host...EXCE\n+00004440: 5054 494f 4e53 0a20 2020 2020 2743 6f6e PTIONS. 'Con\n+00004450: 6e65 6374 696f 6e5f 436c 6f73 6564 2750 nection_Closed'P\n+00004460: 6565 7220 6861 7320 636c 6f73 6564 2074 eer has closed t\n+00004470: 6865 2063 6f6e 6e65 6374 696f 6e20 6265 he connection be\n+00004480: 666f 7265 0a20 2020 2020 2020 2020 2020 fore. \n+00004490: 2020 2020 2020 2020 2020 2020 2073 656e sen\n+000044a0: 6469 6e67 2074 6865 2063 6861 7261 6374 ding the charact\n+000044b0: 6572 0a0a 5345 4520 414c 534f 0a20 2020 er..SEE ALSO. \n+000044c0: 2020 2a6e 6f74 6520 4765 7420 2866 756e *note Get (fun\n+000044d0: 6374 696f 6e29 3a3a 2c0a 2020 2020 202a ction)::,. *\n+000044e0: 6e6f 7465 2047 6574 5f4c 696e 6520 2866 note Get_Line (f\n+000044f0: 756e 6374 696f 6e29 3a3a 2c0a 2020 2020 unction)::,. \n+00004500: 202a 6e6f 7465 2047 6574 5f4c 696e 6520 *note Get_Line \n+00004510: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+00004520: 2020 2020 2a6e 6f74 6520 5265 6365 6976 *note Receiv\n+00004530: 6520 2870 726f 6365 6475 7265 293a 3a2c e (procedure)::,\n+00004540: 0a20 2020 2020 2a6e 6f74 6520 5365 745f . *note Set_\n+00004550: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur\n+00004560: 6529 3a3a 2e0a 0a1f 0a46 696c 653a 2061 e)::.....File: a\n+00004570: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, \n+00004580: 204e 6f64 653a 2047 6574 5f4c 696e 6520 Node: Get_Line \n+00004590: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex\n+000045a0: 743a 2047 6574 5f4c 696e 6520 2870 726f t: Get_Line (pro\n+000045b0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+000045c0: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n+000045d0: 6f6e 292c 2020 5570 3a20 4163 6365 7074 on), Up: Accept\n+000045e0: 5f53 6f63 6b65 7420 2870 726f 6365 6475 _Socket (procedu\n+000045f0: 7265 290a 0a47 6574 5f4c 696e 6520 2866 re)..Get_Line (f\n+00004600: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+00004610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+00004620: 5250 4f53 450a 2020 2020 2047 6574 2061 RPOSE. Get a\n+00004630: 2077 686f 6c65 206c 696e 6520 6672 6f6d whole line from\n+00004640: 2061 2072 656d 6f74 6520 686f 7374 0a50 a remote host.P\n+00004650: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00004660: 2d20 536f 636b 6574 732e 4765 745f 4c69 - Sockets.Get_Li\n+00004670: 6e65 3a20 6675 6e63 7469 6f6e 2047 6574 ne: function Get\n+00004680: 5f4c 696e 6520 2853 4f43 4b45 5420 3a20 _Line (SOCKET : \n+00004690: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n+000046a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000046b0: 4d41 585f 4c45 4e47 5448 203a 2050 6f73 MAX_LENGTH : Pos\n+000046c0: 6974 6976 6520 3a3d 2032 3034 3829 0a20 itive := 2048). \n+000046d0: 2020 2020 2020 2020 2020 2020 2020 7265 re\n+000046e0: 7475 726e 2053 7472 696e 673b 0a0a 5041 turn String;..PA\n+000046f0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00004700: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00004710: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00004720: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00004730: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00004740: 204d 4158 5f4c 454e 4754 4820 696e 2020 MAX_LENGTH in \n+00004750: 2020 2020 2020 204d 6178 696d 756d 2072 Maximum r\n+00004760: 6574 7572 6e65 6420 6c69 6e65 206c 656e eturned line len\n+00004770: 6774 680a 0a52 4554 5552 4e20 5641 4c55 gth..RETURN VALU\n+00004780: 450a 2020 2020 2041 206c 696e 6520 7769 E. A line wi\n+00004790: 7468 6f75 7420 7468 6520 4352 2061 6e64 thout the CR and\n+000047a0: 204c 4620 7365 7061 7261 746f 7273 0a0a LF separators..\n+000047b0: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+000047c0: 2054 6869 7320 6675 6e63 7469 6f6e 2072 This function r\n+000047d0: 6563 6569 7665 7320 6f6e 6520 6c69 6e65 eceives one line\n+000047e0: 2066 726f 6d20 7468 6520 7265 6d6f 7465 from the remote\n+000047f0: 2068 6f73 742e 2020 4120 6c69 6e65 0a20 host. A line. \n+00004800: 2020 2020 636f 6e73 6973 7473 2069 6e74 consists int\n+00004810: 6f20 7a65 726f 206f 7220 6d6f 7265 2063 o zero or more c\n+00004820: 6861 7261 6374 6572 7320 666f 6c6c 6f77 haracters follow\n+00004830: 6564 2062 7920 616e 206f 7074 696f 6e61 ed by an optiona\n+00004840: 6c20 4352 0a20 2020 2020 616e 6420 6279 l CR. and by\n+00004850: 2061 204c 462e 2054 686f 7365 2074 6572 a LF. Those ter\n+00004860: 6d69 6e61 746f 7273 2061 7265 2073 7472 minators are str\n+00004870: 6970 7065 6420 6265 666f 7265 2074 6865 ipped before the\n+00004880: 206c 696e 6520 6973 0a20 2020 2020 7265 line is. re\n+00004890: 7475 726e 6564 2e0a 0a20 2020 2020 5468 turned... Th\n+000048a0: 6973 2066 756e 6374 696f 6e20 626c 6f63 is function bloc\n+000048b0: 6b73 2075 6e74 696c 206f 6e65 2066 756c ks until one ful\n+000048c0: 6c20 6c69 6e65 2068 6173 2062 6565 6e20 l line has been \n+000048d0: 7265 6365 6976 6564 2e20 2054 6865 0a20 received. The. \n+000048e0: 2020 2020 6c69 6e65 206c 656e 6774 6820 line length \n+000048f0: 6973 206c 696d 6974 6564 2077 6974 6820 is limited with \n+00004900: 7468 6520 7661 6c75 6520 6f66 2074 6865 the value of the\n+00004910: 204d 6178 5f4c 656e 6774 6820 6172 6775 Max_Length argu\n+00004920: 6d65 6e74 2c0a 2020 2020 2074 6f20 6176 ment,. to av\n+00004930: 6f69 6420 6578 6861 7573 7469 6f6e 206f oid exhaustion o\n+00004940: 6620 7468 6520 7365 636f 6e64 6172 7920 f the secondary \n+00004950: 7374 6163 6b2e 0a0a 4558 4345 5054 494f stack...EXCEPTIO\n+00004960: 4e53 0a20 2020 2020 2743 6f6e 6e65 6374 NS. 'Connect\n+00004970: 696f 6e5f 436c 6f73 6564 2750 6565 7220 ion_Closed'Peer \n+00004980: 6861 7320 636c 6f73 6564 2074 6865 2063 has closed the c\n+00004990: 6f6e 6e65 6374 696f 6e20 6265 666f 7265 onnection before\n+000049a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000049b0: 2020 2020 2020 2020 2073 656e 6469 6e67 sending\n+000049c0: 2061 2077 686f 6c65 206c 696e 650a 0a53 a whole line..S\n+000049d0: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no\n+000049e0: 7465 2047 6574 2028 6675 6e63 7469 6f6e te Get (function\n+000049f0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00004a00: 4765 745f 4368 6172 2028 6675 6e63 7469 Get_Char (functi\n+00004a10: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n+00004a20: 6520 4765 745f 4c69 6e65 2028 7072 6f63 e Get_Line (proc\n+00004a30: 6564 7572 6529 3a3a 2c0a 2020 2020 202a edure)::,. *\n+00004a40: 6e6f 7465 2052 6563 6569 7665 2028 7072 note Receive (pr\n+00004a50: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00004a60: 202a 6e6f 7465 2053 6574 5f42 7566 6665 *note Set_Buffe\n+00004a70: 7220 2870 726f 6365 6475 7265 293a 3a2e r (procedure)::.\n+00004a80: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00004a90: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00004aa0: 3a20 4765 745f 4c69 6e65 2028 7072 6f63 : Get_Line (proc\n+00004ab0: 6564 7572 6529 2c20 204e 6578 743a 2047 edure), Next: G\n+00004ac0: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n+00004ad0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+00004ae0: 2c20 2050 7265 763a 2047 6574 5f4c 696e , Prev: Get_Lin\n+00004af0: 6520 2866 756e 6374 696f 6e29 2c20 2055 e (function), U\n+00004b00: 703a 2041 6363 6570 745f 536f 636b 6574 p: Accept_Socket\n+00004b10: 2028 7072 6f63 6564 7572 6529 0a0a 4765 (procedure)..Ge\n+00004b20: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+00004b30: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00004b40: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00004b50: 0a20 2020 2020 4765 7420 6120 7768 6f6c . Get a whol\n+00004b60: 6520 6c69 6e65 2066 726f 6d20 6120 7265 e line from a re\n+00004b70: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT\n+00004b80: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc\n+00004b90: 6b65 7473 2e47 6574 5f4c 696e 653a 2070 kets.Get_Line: p\n+00004ba0: 726f 6365 6475 7265 2047 6574 5f4c 696e rocedure Get_Lin\n+00004bb0: 6520 2853 4f43 4b45 5420 3a20 536f 636b e (SOCKET : Sock\n+00004bc0: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n+00004bd0: 2020 2020 2020 2020 2020 2020 5354 5220 STR \n+00004be0: 3a20 696e 206f 7574 2053 7472 696e 673b : in out String;\n+00004bf0: 204c 4153 5420 3a20 6f75 7420 4e61 7475 LAST : out Natu\n+00004c00: 7261 6c29 3b0a 0a50 4152 414d 4554 4552 ral);..PARAMETER\n+00004c10: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00004c20: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00004c30: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00004c40: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00004c50: 6a65 6374 0a20 2020 2020 5354 5220 2020 ject. STR \n+00004c60: 2020 2020 2069 6e20 6f75 7420 2020 2020 in out \n+00004c70: 5374 7269 6e67 2074 6f20 6669 6c6c 0a20 String to fill. \n+00004c80: 2020 2020 4c41 5354 2020 2020 2020 206f LAST o\n+00004c90: 7574 2020 2020 2020 2020 4c61 7374 2069 ut Last i\n+00004ca0: 6e64 6578 2075 7365 6420 696e 2074 6865 ndex used in the\n+00004cb0: 2073 7472 696e 670a 0a44 4553 4352 4950 string..DESCRIP\n+00004cc0: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n+00004cd0: 726f 6365 6475 7265 2072 6563 6569 7665 rocedure receive\n+00004ce0: 7320 6f6e 6520 6c69 6e65 2066 726f 6d20 s one line from \n+00004cf0: 7468 6520 7265 6d6f 7465 2068 6f73 742e the remote host.\n+00004d00: 2020 4120 6c69 6e65 0a20 2020 2020 636f A line. co\n+00004d10: 6e73 6973 7473 2069 6e74 6f20 7a65 726f nsists into zero\n+00004d20: 206f 7220 6d6f 7265 2063 6861 7261 6374 or more charact\n+00004d30: 6572 7320 666f 6c6c 6f77 6564 2062 7920 ers followed by \n+00004d40: 616e 206f 7074 696f 6e61 6c20 4352 0a20 an optional CR. \n+00004d50: 2020 2020 616e 6420 6279 2061 204c 462e and by a LF.\n+00004d60: 2054 686f 7365 2074 6572 6d69 6e61 746f Those terminato\n+00004d70: 7273 2061 7265 2073 7472 6970 7065 6420 rs are stripped \n+00004d80: 6265 666f 7265 2074 6865 206c 696e 6520 before the line \n+00004d90: 6973 0a20 2020 2020 7265 7475 726e 6564 is. returned\n+00004da0: 2e0a 0a20 2020 2020 5468 6973 2070 726f ... This pro\n+00004db0: 6365 6475 7265 2062 6c6f 636b 7320 756e cedure blocks un\n+00004dc0: 7469 6c20 6f6e 6520 6675 6c6c 206c 696e til one full lin\n+00004dd0: 6520 6861 7320 6265 656e 2072 6563 6569 e has been recei\n+00004de0: 7665 642e 0a0a 4558 4345 5054 494f 4e53 ved...EXCEPTIONS\n+00004df0: 0a20 2020 2020 2743 6f6e 6e65 6374 696f . 'Connectio\n+00004e00: 6e5f 436c 6f73 6564 2750 6565 7220 6861 n_Closed'Peer ha\n+00004e10: 7320 636c 6f73 6564 2074 6865 2063 6f6e s closed the con\n+00004e20: 6e65 6374 696f 6e20 6265 666f 7265 0a20 nection before. \n+00004e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00004e40: 2020 2020 2020 2073 656e 6469 6e67 2061 sending a\n+00004e50: 2077 686f 6c65 206c 696e 650a 0a53 4545 whole line..SEE\n+00004e60: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00004e70: 2047 6574 2028 6675 6e63 7469 6f6e 293a Get (function):\n+00004e80: 3a2c 0a20 2020 2020 2a6e 6f74 6520 4765 :,. *note Ge\n+00004e90: 745f 4368 6172 2028 6675 6e63 7469 6f6e t_Char (function\n+00004ea0: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00004eb0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi\n+00004ec0: 6f6e 293a 3a2c 0a20 2020 2020 2a6e 6f74 on)::,. *not\n+00004ed0: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n+00004ee0: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00004ef0: 6f74 6520 5365 745f 4275 6666 6572 2028 ote Set_Buffer (\n+00004f00: 7072 6f63 6564 7572 6529 3a3a 2e0a 0a1f procedure)::....\n+00004f10: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+00004f20: 732e 696e 666f 2c20 204e 6f64 653a 2047 s.info, Node: G\n+00004f30: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n+00004f40: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n+00004f50: 2c20 204e 6578 743a 2047 6574 5f53 656e , Next: Get_Sen\n+00004f60: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu\n+00004f70: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+00004f80: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced\n+00004f90: 7572 6529 2c20 2055 703a 2041 6363 6570 ure), Up: Accep\n+00004fa0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00004fb0: 7572 6529 0a0a 4765 745f 5265 6365 6976 ure)..Get_Receiv\n+00004fc0: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+00004fd0: 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d nction).--------\n+00004fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00004ff0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00005000: 5345 0a20 2020 2020 5265 7475 726e 2074 SE. Return t\n+00005010: 6865 2073 697a 6520 6f66 2074 6865 2075 he size of the u\n+00005020: 6e72 6561 6420 6461 7461 2069 6e20 7468 nread data in th\n+00005030: 6520 696e 7075 7420 7175 6575 650a 5052 e input queue.PR\n+00005040: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00005050: 2053 6f63 6b65 7473 2e47 6574 5f52 6563 Sockets.Get_Rec\n+00005060: 6569 7665 5f51 7565 7565 5f53 697a 653a eive_Queue_Size:\n+00005070: 2066 756e 6374 696f 6e20 4765 745f 5265 function Get_Re\n+00005080: 6365 6976 655f 5175 6575 655f 5369 7a65 ceive_Queue_Size\n+00005090: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000050a0: 2853 4f43 4b45 5420 3a20 536f 636b 6574 (SOCKET : Socket\n+000050b0: 5f46 4427 436c 6173 7329 0a20 2020 2020 _FD'Class). \n+000050c0: 2020 2020 2020 2020 2020 7265 7475 726e return\n+000050d0: 2049 6e74 6567 6572 3b0a 0a50 4152 414d Integer;..PARAM\n+000050e0: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+000050f0: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+00005100: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n+00005110: 2063 6f6e 6e65 6374 6564 2073 6f63 6b65 connected socke\n+00005120: 7420 6f62 6a65 6374 0a0a 5245 5455 524e t object..RETURN\n+00005130: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n+00005140: 6e6f 6e2d 6e65 6761 7469 7665 2073 697a non-negative siz\n+00005150: 6520 696e 2062 7974 6573 206f 6620 7468 e in bytes of th\n+00005160: 6520 696e 7075 7420 7175 6575 650a 0a44 e input queue..D\n+00005170: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00005180: 5468 6973 2066 756e 6374 696f 6e20 6973 This function is\n+00005190: 206f 6e6c 7920 6176 6169 6c61 626c 6520 only available \n+000051a0: 6f6e 204c 696e 7578 2070 6c61 7466 6f72 on Linux platfor\n+000051b0: 6d73 2e20 204f 6e20 6f74 6865 720a 2020 ms. On other. \n+000051c0: 2020 206f 7065 7261 7469 6e67 2073 7973 operating sys\n+000051d0: 7465 6d73 2c20 6974 2077 696c 6c20 7265 tems, it will re\n+000051e0: 7475 726e 202d 3220 746f 2069 6e64 6963 turn -2 to indic\n+000051f0: 6174 6520 7468 6174 2074 6865 206e 6563 ate that the nec\n+00005200: 6573 7361 7279 0a20 2020 2020 6d65 6368 essary. mech\n+00005210: 616e 6973 6d73 2074 6f20 7265 7472 6965 anisms to retrie\n+00005220: 7665 2074 6865 2069 6e66 6f72 6d61 7469 ve the informati\n+00005230: 6f6e 2061 7265 206e 6f74 2061 7661 696c on are not avail\n+00005240: 6162 6c65 2e0a 0a53 4545 2041 4c53 4f0a able...SEE ALSO.\n+00005250: 2020 2020 202a 6e6f 7465 2052 6563 6569 *note Recei\n+00005260: 7665 2028 7072 6f63 6564 7572 6529 3a3a ve (procedure)::\n+00005270: 2e0a 0a1f 0a46 696c 653a 2061 6461 736f .....File: adaso\n+00005280: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+00005290: 653a 2047 6574 5f53 656e 645f 5175 6575 e: Get_Send_Queu\n+000052a0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+000052b0: 292c 2020 4e65 7874 3a20 4765 7473 6f63 ), Next: Getsoc\n+000052c0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000052d0: 2c20 2050 7265 763a 2047 6574 5f52 6563 , Prev: Get_Rec\n+000052e0: 6569 7665 5f51 7565 7565 5f53 697a 6520 eive_Queue_Size \n+000052f0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up:\n+00005300: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00005310: 7072 6f63 6564 7572 6529 0a0a 4765 745f procedure)..Get_\n+00005320: 5365 6e64 5f51 7565 7565 5f53 697a 6520 Send_Queue_Size \n+00005330: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+00005340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005350: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00005360: 5345 0a20 2020 2020 5265 7475 726e 2074 SE. Return t\n+00005370: 6865 2073 697a 6520 6f66 2074 6865 2075 he size of the u\n+00005380: 6e73 656e 7420 6461 7461 2069 6e20 7468 nsent data in th\n+00005390: 6520 6f75 7470 7574 2071 7565 7565 0a50 e output queue.P\n+000053a0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+000053b0: 2d20 536f 636b 6574 732e 4765 745f 5365 - Sockets.Get_Se\n+000053c0: 6e64 5f51 7565 7565 5f53 697a 653a 2066 nd_Queue_Size: f\n+000053d0: 756e 6374 696f 6e20 4765 745f 5365 6e64 unction Get_Send\n+000053e0: 5f51 7565 7565 5f53 697a 650a 2020 2020 _Queue_Size. \n+000053f0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+00005400: 4554 203a 2053 6f63 6b65 745f 4644 2743 ET : Socket_FD'C\n+00005410: 6c61 7373 290a 2020 2020 2020 2020 2020 lass). \n+00005420: 2020 2020 2072 6574 7572 6e20 496e 7465 return Inte\n+00005430: 6765 723b 0a0a 5041 5241 4d45 5445 5253 ger;..PARAMETERS\n+00005440: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+00005450: 2069 6e20 2020 2020 2020 2020 496e 6974 in Init\n+00005460: 6961 6c69 7a65 6420 616e 6420 636f 6e6e ialized and conn\n+00005470: 6563 7465 6420 736f 636b 6574 206f 626a ected socket obj\n+00005480: 6563 740a 0a52 4554 5552 4e20 5641 4c55 ect..RETURN VALU\n+00005490: 450a 2020 2020 2054 6865 206e 6f6e 2d6e E. The non-n\n+000054a0: 6567 6174 6976 6520 7369 7a65 2069 6e20 egative size in \n+000054b0: 6279 7465 7320 6f66 2074 6865 206f 7574 bytes of the out\n+000054c0: 7075 7420 7175 6575 650a 0a44 4553 4352 put queue..DESCR\n+000054d0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+000054e0: 2066 756e 6374 696f 6e20 6973 206f 6e6c function is onl\n+000054f0: 7920 6176 6169 6c61 626c 6520 6f6e 204c y available on L\n+00005500: 696e 7578 2070 6c61 7466 6f72 6d73 2e20 inux platforms. \n+00005510: 204f 6e20 6f74 6865 720a 2020 2020 206f On other. o\n+00005520: 7065 7261 7469 6e67 2073 7973 7465 6d73 perating systems\n+00005530: 2c20 6974 2077 696c 6c20 7265 7475 726e , it will return\n+00005540: 202d 3220 746f 2069 6e64 6963 6174 6520 -2 to indicate \n+00005550: 7468 6174 2074 6865 206e 6563 6573 7361 that the necessa\n+00005560: 7279 0a20 2020 2020 6d65 6368 616e 6973 ry. mechanis\n+00005570: 6d73 2074 6f20 7265 7472 6965 7665 2074 ms to retrieve t\n+00005580: 6865 2069 6e66 6f72 6d61 7469 6f6e 2061 he information a\n+00005590: 7265 206e 6f74 2061 7661 696c 6162 6c65 re not available\n+000055a0: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n+000055b0: 202a 6e6f 7465 2053 656e 6420 2870 726f *note Send (pro\n+000055c0: 6365 6475 7265 293a 3a2e 0a0a 1f0a 4669 cedure)::.....Fi\n+000055d0: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i\n+000055e0: 6e66 6f2c 2020 4e6f 6465 3a20 4765 7473 nfo, Node: Gets\n+000055f0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00005600: 6529 2c20 204e 6578 743a 204c 6973 7465 e), Next: Liste\n+00005610: 6e20 2870 726f 6365 6475 7265 292c 2020 n (procedure), \n+00005620: 5072 6576 3a20 4765 745f 5365 6e64 5f51 Prev: Get_Send_Q\n+00005630: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00005640: 696f 6e29 2c20 2055 703a 2041 6363 6570 ion), Up: Accep\n+00005650: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced\n+00005660: 7572 6529 0a0a 4765 7473 6f63 6b6f 7074 ure)..Getsockopt\n+00005670: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00005680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005690: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+000056a0: 2020 5265 7472 6965 7665 2061 2073 6f63 Retrieve a soc\n+000056b0: 6b65 7420 6f70 7469 6f6e 0a50 524f 544f ket option.PROTO\n+000056c0: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+000056d0: 636b 6574 732e 4765 7473 6f63 6b6f 7074 ckets.Getsockopt\n+000056e0: 3a20 7072 6f63 6564 7572 6520 4765 7473 : procedure Gets\n+000056f0: 6f63 6b6f 7074 2028 534f 434b 4554 203a ockopt (SOCKET :\n+00005700: 2053 6f63 6b65 745f 4644 3b0a 2020 2020 Socket_FD;. \n+00005710: 2020 2020 2020 2020 2020 204c 4556 454c LEVEL\n+00005720: 203a 2053 6f63 6b65 745f 4c65 7665 6c20 : Socket_Level \n+00005730: 3a3d 2053 4f4c 5f53 4f43 4b45 543b 0a20 := SOL_SOCKET;. \n+00005740: 2020 2020 2020 2020 2020 2020 2020 4f50 OP\n+00005750: 544e 414d 4520 3a20 536f 636b 6574 5f4f TNAME : Socket_O\n+00005760: 7074 696f 6e3b 204f 5054 5641 4c20 3a20 ption; OPTVAL : \n+00005770: 6f75 7420 496e 7465 6765 7229 3b0a 0a50 out Integer);..P\n+00005780: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00005790: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+000057a0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+000057b0: 2061 6e64 2062 6f75 6e64 2073 6f63 6b65 and bound socke\n+000057c0: 7420 6f62 6a65 6374 0a20 2020 2020 4c45 t object. LE\n+000057d0: 5645 4c20 2020 2020 2069 6e20 2020 2020 VEL in \n+000057e0: 2020 2020 5072 6f74 6f63 6f6c 206c 6576 Protocol lev\n+000057f0: 656c 0a20 2020 2020 4f50 544e 414d 4520 el. OPTNAME \n+00005800: 2020 2069 6e20 2020 2020 2020 2020 4f70 in Op\n+00005810: 7469 6f6e 206e 616d 650a 2020 2020 204f tion name. O\n+00005820: 5054 5641 4c20 2020 2020 6f75 7420 2020 PTVAL out \n+00005830: 2020 2020 204f 7074 696f 6e20 7661 6c75 Option valu\n+00005840: 650a 0a44 4553 4352 4950 5449 4f4e 0a20 e..DESCRIPTION. \n+00005850: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+00005860: 7265 2072 6574 7269 6576 6573 206f 7074 re retrieves opt\n+00005870: 696f 6e73 2061 7070 6c69 6361 626c 6520 ions applicable \n+00005880: 746f 2061 2073 6f63 6b65 742e 2020 506c to a socket. Pl\n+00005890: 6561 7365 0a20 2020 2020 7365 6520 796f ease. see yo\n+000058a0: 7572 206f 7065 7261 7469 6e67 2073 7973 ur operating sys\n+000058b0: 7465 6d20 6d61 6e75 616c 2066 6f72 2075 tem manual for u\n+000058c0: 7361 626c 6520 6c65 7665 6c73 2061 6e64 sable levels and\n+000058d0: 206f 7074 696f 6e73 2e0a 0a20 2020 2020 options... \n+000058e0: 5477 6f20 6c65 7665 6c73 2061 7265 2064 Two levels are d\n+000058f0: 6566 696e 6564 3a20 2753 4f4c 5f53 4f43 efined: 'SOL_SOC\n+00005900: 4b45 5427 2028 7468 6520 6465 6661 756c KET' (the defaul\n+00005910: 7429 2061 6e64 0a20 2020 2020 2749 5050 t) and. 'IPP\n+00005920: 524f 544f 5f49 5027 2e20 2054 6865 206f ROTO_IP'. The o\n+00005930: 7074 696f 6e73 2061 7265 2027 534f 5f52 ptions are 'SO_R\n+00005940: 4555 5345 4144 4452 272c 2027 534f 5f52 EUSEADDR', 'SO_R\n+00005950: 4555 5345 504f 5254 272c 0a20 2020 2020 EUSEPORT',. \n+00005960: 2749 505f 4d55 4c54 4943 4153 545f 5454 'IP_MULTICAST_TT\n+00005970: 4c27 2c20 2749 505f 4144 445f 4d45 4d42 L', 'IP_ADD_MEMB\n+00005980: 4552 5348 4950 272c 2027 4950 5f44 524f ERSHIP', 'IP_DRO\n+00005990: 505f 4d45 4d42 4552 5348 4950 272c 0a20 P_MEMBERSHIP',. \n+000059a0: 2020 2020 2749 505f 4d55 4c54 4943 4153 'IP_MULTICAS\n+000059b0: 545f 4c4f 4f50 272c 2027 534f 5f53 4e44 T_LOOP', 'SO_SND\n+000059c0: 4255 4627 2061 6e64 2027 4950 5f52 4356 BUF' and 'IP_RCV\n+000059d0: 4255 4627 2e0a 0a20 2020 2020 4e6f 7465 BUF'... Note\n+000059e0: 2074 6861 7420 756e 6c69 6b65 2074 6865 that unlike the\n+000059f0: 6972 2043 206c 616e 6775 6167 6520 636f ir C language co\n+00005a00: 756e 7465 7270 6172 742c 2027 4765 7473 unterpart, 'Gets\n+00005a10: 6f63 6b6f 7074 2720 616e 640a 2020 2020 ockopt' and. \n+00005a20: 2027 5365 7473 6f63 6b6f 7074 2720 646f 'Setsockopt' do\n+00005a30: 206e 6f74 2072 6571 7569 7265 2061 6e20 not require an \n+00005a40: 6578 7472 6120 7061 7261 6d65 7465 7220 extra parameter \n+00005a50: 7265 7072 6573 656e 7469 6e67 2074 6865 representing the\n+00005a60: 0a20 2020 2020 6c65 6e67 7468 2069 6e20 . length in \n+00005a70: 6279 7465 7320 6f66 2074 6865 206f 7074 bytes of the opt\n+00005a80: 696f 6e20 7661 6c75 652e 2020 4164 6153 ion value. AdaS\n+00005a90: 6f63 6b65 7473 206e 6f77 7320 7468 6520 ockets nows the \n+00005aa0: 7269 6768 740a 2020 2020 2073 697a 6520 right. size \n+00005ab0: 666f 7220 6576 6572 7920 6f70 7469 6f6e for every option\n+00005ac0: 2e0a 0a53 4545 2041 4c53 4f0a 2020 2020 ...SEE ALSO. \n+00005ad0: 202a 6e6f 7465 2053 6574 736f 636b 6f70 *note Setsockop\n+00005ae0: 7420 2870 726f 6365 6475 7265 293a 3a2e t (procedure)::.\n+00005af0: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc\n+00005b00: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node\n+00005b10: 3a20 4c69 7374 656e 2028 7072 6f63 6564 : Listen (proced\n+00005b20: 7572 6529 2c20 204e 6578 743a 204e 6577 ure), Next: New\n+00005b30: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00005b40: 292c 2020 5072 6576 3a20 4765 7473 6f63 ), Prev: Getsoc\n+00005b50: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00005b60: 2c20 2055 703a 2041 6363 6570 745f 536f , Up: Accept_So\n+00005b70: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n+00005b80: 0a0a 4c69 7374 656e 2028 7072 6f63 6564 ..Listen (proced\n+00005b90: 7572 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ure).-----------\n+00005ba0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE\n+00005bb0: 0a20 2020 2020 4573 7461 626c 6973 6820 . Establish \n+00005bc0: 6120 6c69 7374 656e 2071 7565 7565 0a50 a listen queue.P\n+00005bd0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. -\n+00005be0: 2d20 536f 636b 6574 732e 4c69 7374 656e - Sockets.Listen\n+00005bf0: 3a20 7072 6f63 6564 7572 6520 4c69 7374 : procedure List\n+00005c00: 656e 2028 534f 434b 4554 203a 2053 6f63 en (SOCKET : Soc\n+00005c10: 6b65 745f 4644 3b0a 2020 2020 2020 2020 ket_FD;. \n+00005c20: 2020 2020 2020 2051 5545 5545 5f53 495a QUEUE_SIZ\n+00005c30: 4520 3a20 506f 7369 7469 7665 203a 3d20 E : Positive := \n+00005c40: 3529 3b0a 0a50 4152 414d 4554 4552 530a 5);..PARAMETERS.\n+00005c50: 2020 2020 2053 4f43 4b45 5420 2020 2020 SOCKET \n+00005c60: 696e 2020 2020 2020 2020 2049 6e69 7469 in Initi\n+00005c70: 616c 697a 6564 2061 6e64 2062 6f75 6e64 alized and bound\n+00005c80: 2073 6f63 6b65 7420 6f62 6a65 6374 0a20 socket object. \n+00005c90: 2020 2020 5155 4555 455f 5349 5a45 2069 QUEUE_SIZE i\n+00005ca0: 6e20 2020 2020 2020 2020 5265 7175 6573 n Reques\n+00005cb0: 7465 6420 736c 6f74 7320 696e 2074 6865 ted slots in the\n+00005cc0: 206c 6973 7465 6e20 7175 6575 650a 0a44 listen queue..D\n+00005cd0: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+00005ce0: 5468 6973 2070 726f 6365 6475 7265 2065 This procedure e\n+00005cf0: 7374 6162 6c69 7368 6573 2061 206c 6973 stablishes a lis\n+00005d00: 7465 6e20 7175 6575 6520 6166 7465 7220 ten queue after \n+00005d10: 6120 5443 5020 736f 636b 6574 2061 730a a TCP socket as.\n+00005d20: 2020 2020 2062 6565 6e20 696e 6974 6961 been initia\n+00005d30: 6c69 7a65 6420 616e 6420 626f 756e 642e lized and bound.\n+00005d40: 2020 4561 6368 2073 6c6f 7420 696e 2074 Each slot in t\n+00005d50: 6865 2071 7565 7565 2063 616e 2068 6f6c he queue can hol\n+00005d60: 6420 6f6e 650a 2020 2020 2069 6e63 6f6d d one. incom\n+00005d70: 696e 6720 636f 6e6e 6563 7469 6f6e 2074 ing connection t\n+00005d80: 6861 7420 6861 7320 6e6f 7420 6265 656e hat has not been\n+00005d90: 2061 6363 6570 7465 6420 7965 742e 2020 accepted yet. \n+00005da0: 4e6f 7465 2074 6861 7420 6d6f 7374 0a20 Note that most. \n+00005db0: 2020 2020 6f70 6572 6174 696e 6720 7379 operating sy\n+00005dc0: 7374 656d 7320 6967 6e6f 7265 2071 7565 stems ignore que\n+00005dd0: 7565 2073 697a 6573 206c 6172 6765 7220 ue sizes larger \n+00005de0: 7468 616e 2066 6976 652e 0a0a 5345 4520 than five...SEE \n+00005df0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+00005e00: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+00005e10: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00005e20: 2020 2a6e 6f74 6520 4269 6e64 2028 7072 *note Bind (pr\n+00005e30: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00005e40: 202a 6e6f 7465 2053 6f63 6b65 7420 2870 *note Socket (p\n+00005e50: 726f 6365 6475 7265 293a 3a2e 0a0a 1f0a rocedure)::.....\n+00005e60: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+00005e70: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4e65 .info, Node: Ne\n+00005e80: 775f 4c69 6e65 2028 7072 6f63 6564 7572 w_Line (procedur\n+00005e90: 6529 2c20 204e 6578 743a 2050 7574 2028 e), Next: Put (\n+00005ea0: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00005eb0: 763a 204c 6973 7465 6e20 2870 726f 6365 v: Listen (proce\n+00005ec0: 6475 7265 292c 2020 5570 3a20 4163 6365 dure), Up: Acce\n+00005ed0: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00005ee0: 6475 7265 290a 0a4e 6577 5f4c 696e 6520 dure)..New_Line \n+00005ef0: 2870 726f 6365 6475 7265 290a 2d2d 2d2d (procedure).----\n+00005f00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00005f10: 0a0a 5055 5250 4f53 450a 2020 2020 2053 ..PURPOSE. S\n+00005f20: 656e 6420 6120 4352 2f4c 4620 746f 2061 end a CR/LF to a\n+00005f30: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO\n+00005f40: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+00005f50: 536f 636b 6574 732e 4e65 775f 4c69 6e65 Sockets.New_Line\n+00005f60: 3a20 7072 6f63 6564 7572 6520 4e65 775f : procedure New_\n+00005f70: 4c69 6e65 2028 534f 434b 4554 203a 2053 Line (SOCKET : S\n+00005f80: 6f63 6b65 745f 4644 2743 6c61 7373 3b0a ocket_FD'Class;.\n+00005f90: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00005fa0: 4f55 4e54 203a 204e 6174 7572 616c 203a OUNT : Natural :\n+00005fb0: 3d20 3129 3b0a 0a50 4152 414d 4554 4552 = 1);..PARAMETER\n+00005fc0: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET \n+00005fd0: 2020 696e 2020 2020 2020 2020 2049 6e69 in Ini\n+00005fe0: 7469 616c 697a 6564 2061 6e64 2063 6f6e tialized and con\n+00005ff0: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob\n+00006000: 6a65 6374 0a20 2020 2020 434f 554e 5420 ject. COUNT \n+00006010: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+00006020: 4e75 6d62 6572 206f 6620 4352 2f4c 4620 Number of CR/LF \n+00006030: 7365 7175 656e 6365 7320 746f 2073 656e sequences to sen\n+00006040: 640a 0a44 4553 4352 4950 5449 4f4e 0a20 d..DESCRIPTION. \n+00006050: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+00006060: 7265 2073 656e 6473 206f 6e65 206f 7220 re sends one or \n+00006070: 6d6f 7265 2043 522f 4c46 2063 6f6d 6269 more CR/LF combi\n+00006080: 6e61 7469 6f6e 7320 746f 2074 6865 2070 nations to the p\n+00006090: 6565 722e 0a0a 4558 4345 5054 494f 4e53 eer...EXCEPTIONS\n+000060a0: 0a20 2020 2020 2743 6f6e 6e65 6374 696f . 'Connectio\n+000060b0: 6e5f 436c 6f73 6564 2750 6565 7220 6861 n_Closed'Peer ha\n+000060c0: 7320 7072 656d 6174 7572 656c 7920 636c s prematurely cl\n+000060d0: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+000060e0: 696f 6e0a 0a53 4545 2041 4c53 4f0a 2020 ion..SEE ALSO. \n+000060f0: 2020 202a 6e6f 7465 2050 7574 2028 7072 *note Put (pr\n+00006100: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00006110: 202a 6e6f 7465 2050 7574 5f4c 696e 6520 *note Put_Line \n+00006120: 2870 726f 6365 6475 7265 293a 3a2e 0a0a (procedure)::...\n+00006130: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+00006140: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+00006150: 5075 7420 2870 726f 6365 6475 7265 292c Put (procedure),\n+00006160: 2020 4e65 7874 3a20 5075 745f 4c69 6e65 Next: Put_Line\n+00006170: 2028 7072 6f63 6564 7572 6529 2c20 2050 (procedure), P\n+00006180: 7265 763a 204e 6577 5f4c 696e 6520 2870 rev: New_Line (p\n+00006190: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n+000061a0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+000061b0: 726f 6365 6475 7265 290a 0a50 7574 2028 rocedure)..Put (\n+000061c0: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+000061d0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 ----------..PURP\n+000061e0: 4f53 450a 2020 2020 2053 656e 6420 6120 OSE. Send a \n+000061f0: 7374 7269 6e67 2074 6f20 6120 7265 6d6f string to a remo\n+00006200: 7465 2068 6f73 740a 5052 4f54 4f54 5950 te host.PROTOTYP\n+00006210: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke\n+00006220: 7473 2e50 7574 3a20 7072 6f63 6564 7572 ts.Put: procedur\n+00006230: 6520 5075 7420 2853 4f43 4b45 5420 3a20 e Put (SOCKET : \n+00006240: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n+00006250: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00006260: 5354 5220 3a20 5374 7269 6e67 293b 0a0a STR : String);..\n+00006270: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00006280: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in \n+00006290: 2020 2020 2020 496e 6974 6961 6c69 7a65 Initialize\n+000062a0: 6420 616e 6420 636f 6e6e 6563 7465 6420 d and connected \n+000062b0: 736f 636b 6574 206f 626a 6563 740a 2020 socket object. \n+000062c0: 2020 2053 5452 2020 2020 2020 2020 696e STR in\n+000062d0: 2020 2020 2020 2020 2053 7472 696e 6720 String \n+000062e0: 746f 2073 656e 640a 0a44 4553 4352 4950 to send..DESCRIP\n+000062f0: 5449 4f4e 0a20 2020 2020 5468 6973 2070 TION. This p\n+00006300: 726f 6365 6475 7265 2073 656e 6473 2074 rocedure sends t\n+00006310: 6865 2063 6f6e 7465 6e74 206f 6620 5354 he content of ST\n+00006320: 5220 6f76 6572 2061 6e20 6f75 7467 6f69 R over an outgoi\n+00006330: 6e67 206f 720a 2020 2020 2069 6e63 6f6d ng or. incom\n+00006340: 696e 6720 736f 636b 6574 2e0a 0a45 5843 ing socket...EXC\n+00006350: 4550 5449 4f4e 530a 2020 2020 2027 436f EPTIONS. 'Co\n+00006360: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6427 nnection_Closed'\n+00006370: 5065 6572 2068 6173 2070 7265 6d61 7475 Peer has prematu\n+00006380: 7265 6c79 2063 6c6f 7365 6420 7468 6520 rely closed the \n+00006390: 636f 6e6e 6563 7469 6f6e 0a0a 5345 4520 connection..SEE \n+000063a0: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note \n+000063b0: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n+000063c0: 7572 6529 3a3a 2c0a 2020 2020 202a 6e6f ure)::,. *no\n+000063d0: 7465 2050 7574 5f4c 696e 6520 2870 726f te Put_Line (pro\n+000063e0: 6365 6475 7265 293a 3a2c 0a20 2020 2020 cedure)::,. \n+000063f0: 2a6e 6f74 6520 5365 6e64 2028 7072 6f63 *note Send (proc\n+00006400: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00006410: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00006420: 666f 2c20 204e 6f64 653a 2050 7574 5f4c fo, Node: Put_L\n+00006430: 696e 6520 2870 726f 6365 6475 7265 292c ine (procedure),\n+00006440: 2020 4e65 7874 3a20 5265 6365 6976 6520 Next: Receive \n+00006450: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+00006460: 763a 2050 7574 2028 7072 6f63 6564 7572 v: Put (procedur\n+00006470: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00006480: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00006490: 6529 0a0a 5075 745f 4c69 6e65 2028 7072 e)..Put_Line (pr\n+000064a0: 6f63 6564 7572 6529 0a2d 2d2d 2d2d 2d2d ocedure).-------\n+000064b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+000064c0: 5552 504f 5345 0a20 2020 2020 5365 6e64 URPOSE. Send\n+000064d0: 2061 2043 522f 4c46 2074 6572 6d69 6e61 a CR/LF termina\n+000064e0: 7465 6420 7374 7269 6e67 2074 6f20 6120 ted string to a \n+000064f0: 7265 6d6f 7465 2068 6f73 740a 5052 4f54 remote host.PROT\n+00006500: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00006510: 6f63 6b65 7473 2e50 7574 5f4c 696e 653a ockets.Put_Line:\n+00006520: 2070 726f 6365 6475 7265 2050 7574 5f4c procedure Put_L\n+00006530: 696e 6520 2853 4f43 4b45 5420 3a20 536f ine (SOCKET : So\n+00006540: 636b 6574 5f46 4427 436c 6173 733b 0a20 cket_FD'Class;. \n+00006550: 2020 2020 2020 2020 2020 2020 2020 5354 ST\n+00006560: 5220 3a20 5374 7269 6e67 293b 0a0a 5041 R : String);..PA\n+00006570: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+00006580: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00006590: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+000065a0: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+000065b0: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+000065c0: 2053 5452 2020 2020 2020 2020 696e 2020 STR in \n+000065d0: 2020 2020 2020 2053 7472 696e 6720 746f String to\n+000065e0: 2073 656e 640a 0a44 4553 4352 4950 5449 send..DESCRIPTI\n+000065f0: 4f4e 0a20 2020 2020 5468 6973 2070 726f ON. This pro\n+00006600: 6365 6475 7265 2073 656e 6473 2074 6865 cedure sends the\n+00006610: 2063 6f6e 7465 6e74 206f 6620 5354 5220 content of STR \n+00006620: 706c 7573 2061 2043 522f 4c46 2063 6f6d plus a CR/LF com\n+00006630: 6269 6e61 7469 6f6e 0a20 2020 2020 6f76 bination. ov\n+00006640: 6572 2061 6e20 6f75 7467 6f69 6e67 206f er an outgoing o\n+00006650: 7220 696e 636f 6d69 6e67 2073 6f63 6b65 r incoming socke\n+00006660: 742e 0a0a 4558 4345 5054 494f 4e53 0a20 t...EXCEPTIONS. \n+00006670: 2020 2020 2743 6f6e 6e65 6374 696f 6e5f 'Connection_\n+00006680: 436c 6f73 6564 2750 6565 7220 6861 7320 Closed'Peer has \n+00006690: 7072 656d 6174 7572 656c 7920 636c 6f73 prematurely clos\n+000066a0: 6564 2074 6865 2063 6f6e 6e65 6374 696f ed the connectio\n+000066b0: 6e0a 0a53 4545 2041 4c53 4f0a 2020 2020 n..SEE ALSO. \n+000066c0: 202a 6e6f 7465 204e 6577 5f4c 696e 6520 *note New_Line \n+000066d0: 2870 726f 6365 6475 7265 293a 3a2c 0a20 (procedure)::,. \n+000066e0: 2020 2020 2a6e 6f74 6520 5075 7420 2870 *note Put (p\n+000066f0: 726f 6365 6475 7265 293a 3a2c 0a20 2020 rocedure)::,. \n+00006700: 2020 2a6e 6f74 6520 5365 6e64 2028 7072 *note Send (pr\n+00006710: 6f63 6564 7572 6529 3a3a 2e0a 0a1f 0a46 ocedure)::.....F\n+00006720: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets.\n+00006730: 696e 666f 2c20 204e 6f64 653a 2052 6563 info, Node: Rec\n+00006740: 6569 7665 2028 6675 6e63 7469 6f6e 292c eive (function),\n+00006750: 2020 4e65 7874 3a20 5265 6365 6976 6520 Next: Receive \n+00006760: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00006770: 6576 3a20 5075 745f 4c69 6e65 2028 7072 ev: Put_Line (pr\n+00006780: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00006790: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+000067a0: 6f63 6564 7572 6529 0a0a 5265 6365 6976 ocedure)..Receiv\n+000067b0: 6520 2866 756e 6374 696f 6e29 0a2d 2d2d e (function).---\n+000067c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+000067d0: 0a50 5552 504f 5345 0a20 2020 2020 5265 .PURPOSE. Re\n+000067e0: 6365 6976 6520 7261 7720 6461 7461 206f ceive raw data o\n+000067f0: 7665 7220 6120 736f 636b 6574 0a50 524f ver a socket.PRO\n+00006800: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+00006810: 536f 636b 6574 732e 5265 6365 6976 653a Sockets.Receive:\n+00006820: 2066 756e 6374 696f 6e20 5265 6365 6976 function Receiv\n+00006830: 6520 2853 4f43 4b45 5420 3a20 536f 636b e (SOCKET : Sock\n+00006840: 6574 5f46 443b 0a20 2020 2020 2020 2020 et_FD;. \n+00006850: 2020 2020 2020 4d41 5820 3a20 4164 612e MAX : Ada.\n+00006860: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+00006870: 6c65 6d65 6e74 5f43 6f75 6e74 203a 3d20 lement_Count := \n+00006880: 3430 3936 290a 2020 2020 2020 2020 2020 4096). \n+00006890: 2020 2020 2072 6574 7572 6e20 4164 612e return Ada.\n+000068a0: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+000068b0: 6c65 6d65 6e74 5f41 7272 6179 3b0a 0a50 lement_Array;..P\n+000068c0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+000068d0: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+000068e0: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+000068f0: 2061 6e64 2062 6f75 6e64 206f 7220 636f and bound or co\n+00006900: 6e6e 6563 7465 640a 2020 2020 2020 2020 nnected. \n+00006910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006920: 2020 2073 6f63 6b65 7420 6f62 6a65 6374 socket object\n+00006930: 0a20 2020 2020 4d41 5820 2020 2020 2020 . MAX \n+00006940: 2069 6e20 2020 2020 2020 2020 4d61 7869 in Maxi\n+00006950: 6d75 6d20 6461 7461 206c 656e 6774 680a mum data length.\n+00006960: 0a52 4554 5552 4e20 5641 4c55 450a 2020 .RETURN VALUE. \n+00006970: 2020 2052 6563 6569 7665 6420 7261 7720 Received raw \n+00006980: 6461 7461 0a0a 4445 5343 5249 5054 494f data..DESCRIPTIO\n+00006990: 4e0a 2020 2020 2054 6869 7320 7072 6f63 N. This proc\n+000069a0: 6564 7572 6520 7265 6365 6976 6573 2064 edure receives d\n+000069b0: 6174 6120 6672 6f6d 2061 2062 6f75 6e64 ata from a bound\n+000069c0: 2055 4450 2073 6f63 6b65 7420 6f72 2061 UDP socket or a\n+000069d0: 2063 6f6e 6e65 6374 6564 0a20 2020 2020 connected. \n+000069e0: 5443 5020 736f 636b 6574 2e20 204f 6e6c TCP socket. Onl\n+000069f0: 7920 6f6e 6520 7379 7374 656d 2063 616c y one system cal\n+00006a00: 6c20 7769 6c6c 2062 6520 7065 7266 6f72 l will be perfor\n+00006a10: 6d65 643b 2074 6869 7320 6675 6e63 7469 med; this functi\n+00006a20: 6f6e 0a20 2020 2020 7769 6c6c 2072 6574 on. will ret\n+00006a30: 7572 6e20 7768 6174 6576 6572 2064 6174 urn whatever dat\n+00006a40: 6120 6861 7320 6172 7269 7665 642e 2020 a has arrived. \n+00006a50: 4e6f 7465 2074 6861 7420 696e 2047 4e41 Note that in GNA\n+00006a60: 5420 7468 650a 2020 2020 2073 6563 6f6e T the. secon\n+00006a70: 6461 7279 2073 7461 636b 206d 6179 2062 dary stack may b\n+00006a80: 6520 7573 6564 2074 6f20 7374 6f72 6520 e used to store \n+00006a90: 7468 6520 6461 7461 2061 6e64 206d 6179 the data and may\n+00006aa0: 2072 6573 756c 7420 696e 0a20 2020 2020 result in. \n+00006ab0: 7374 6163 6b20 7374 6f72 6167 6520 6578 stack storage ex\n+00006ac0: 6861 7573 7469 6f6e 2e0a 0a45 5843 4550 haustion...EXCEP\n+00006ad0: 5449 4f4e 530a 2020 2020 2027 436f 6e6e TIONS. 'Conn\n+00006ae0: 6563 7469 6f6e 5f43 6c6f 7365 6427 5065 ection_Closed'Pe\n+00006af0: 6572 2068 6173 2063 6c6f 7365 6420 7468 er has closed th\n+00006b00: 6520 636f 6e6e 6563 7469 6f6e 2062 6566 e connection bef\n+00006b10: 6f72 650a 2020 2020 2020 2020 2020 2020 ore. \n+00006b20: 2020 2020 2020 2020 2020 2020 7365 6e64 send\n+00006b30: 696e 6720 616e 7920 6461 7461 0a0a 5345 ing any data..SE\n+00006b40: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+00006b50: 6520 5265 6365 6976 6520 2870 726f 6365 e Receive (proce\n+00006b60: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00006b70: 6f74 6520 5265 6365 6976 655f 536f 6d65 ote Receive_Some\n+00006b80: 2028 7072 6f63 6564 7572 6529 3a3a 2c0a (procedure)::,.\n+00006b90: 2020 2020 202a 6e6f 7465 2047 6574 5f4c *note Get_L\n+00006ba0: 696e 6520 2866 756e 6374 696f 6e29 3a3a ine (function)::\n+00006bb0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+00006bc0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+00006bd0: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+00006be0: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00006bf0: 4e6f 6465 3a20 5265 6365 6976 6520 2870 Node: Receive (p\n+00006c00: 726f 6365 6475 7265 292c 2020 4e65 7874 rocedure), Next\n+00006c10: 3a20 5265 6365 6976 655f 536f 6d65 2028 : Receive_Some (\n+00006c20: 7072 6f63 6564 7572 6529 2c20 2050 7265 procedure), Pre\n+00006c30: 763a 2052 6563 6569 7665 2028 6675 6e63 v: Receive (func\n+00006c40: 7469 6f6e 292c 2020 5570 3a20 4163 6365 tion), Up: Acce\n+00006c50: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n+00006c60: 6475 7265 290a 0a52 6563 6569 7665 2028 dure)..Receive (\n+00006c70: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00006c80: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00006c90: 5055 5250 4f53 450a 2020 2020 2052 6563 PURPOSE. Rec\n+00006ca0: 6569 7665 2072 6177 2064 6174 6120 6f76 eive raw data ov\n+00006cb0: 6572 2061 2073 6f63 6b65 740a 5052 4f54 er a socket.PROT\n+00006cc0: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00006cd0: 6f63 6b65 7473 2e52 6563 6569 7665 3a20 ockets.Receive: \n+00006ce0: 7072 6f63 6564 7572 6520 5265 6365 6976 procedure Receiv\n+00006cf0: 6520 2853 4f43 4b45 5420 3a20 536f 636b e (SOCKET : Sock\n+00006d00: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n+00006d10: 2020 2020 2020 2020 2020 2020 4441 5441 DATA\n+00006d20: 203a 206f 7574 2041 6461 2e53 7472 6561 : out Ada.Strea\n+00006d30: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n+00006d40: 745f 4172 7261 7929 3b0a 0a50 4152 414d t_Array);..PARAM\n+00006d50: 4554 4552 530a 2020 2020 2053 4f43 4b45 ETERS. SOCKE\n+00006d60: 5420 2020 2020 696e 2020 2020 2020 2020 T in \n+00006d70: 2049 6e69 7469 616c 697a 6564 2061 6e64 Initialized and\n+00006d80: 2062 6f75 6e64 206f 7220 636f 6e6e 6563 bound or connec\n+00006d90: 7465 640a 2020 2020 2020 2020 2020 2020 ted. \n+00006da0: 2020 2020 2020 2020 2020 2020 2020 2073 s\n+00006db0: 6f63 6b65 7420 6f62 6a65 6374 0a20 2020 ocket object. \n+00006dc0: 2020 4441 5441 2020 2020 2020 206f 7574 DATA out\n+00006dd0: 2020 2020 2020 2020 496e 636f 6d69 6e67 Incoming\n+00006de0: 2064 6174 6120 6275 6666 6572 0a0a 4445 data buffer..DE\n+00006df0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00006e00: 6869 7320 7072 6f63 6564 7572 6520 7265 his procedure re\n+00006e10: 6365 6976 6573 2064 6174 6120 6672 6f6d ceives data from\n+00006e20: 2061 2062 6f75 6e64 2055 4450 2073 6f63 a bound UDP soc\n+00006e30: 6b65 7420 6f72 2061 2063 6f6e 6e65 6374 ket or a connect\n+00006e40: 6564 0a20 2020 2020 5443 5020 736f 636b ed. TCP sock\n+00006e50: 6574 2e20 2049 7420 7769 6c6c 2062 6c6f et. It will blo\n+00006e60: 636b 2075 6e74 696c 2074 6865 2044 4154 ck until the DAT\n+00006e70: 4120 7265 6365 7074 696f 6e20 6275 6666 A reception buff\n+00006e80: 6572 2068 6173 2062 6565 6e0a 2020 2020 er has been. \n+00006e90: 2074 6f74 616c 6c79 2066 696c 6c65 642e totally filled.\n+00006ea0: 0a0a 4558 4345 5054 494f 4e53 0a20 2020 ..EXCEPTIONS. \n+00006eb0: 2020 2743 6f6e 6e65 6374 696f 6e5f 436c 'Connection_Cl\n+00006ec0: 6f73 6564 2750 6565 7220 6861 7320 636c osed'Peer has cl\n+00006ed0: 6f73 6564 2074 6865 2063 6f6e 6e65 6374 osed the connect\n+00006ee0: 696f 6e20 6265 666f 7265 0a20 2020 2020 ion before. \n+00006ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00006f00: 2020 2027 4461 7461 274c 656e 6774 6827 'Data'Length'\n+00006f10: 2062 7974 6573 0a20 2020 2020 2020 2020 bytes. \n+00006f20: 2020 2020 2020 2020 2020 2020 2020 2077 w\n+00006f30: 6572 6520 7265 6365 6976 6564 0a0a 5345 ere received..SE\n+00006f40: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+00006f50: 6520 4765 745f 4c69 6e65 2028 6675 6e63 e Get_Line (func\n+00006f60: 7469 6f6e 293a 3a2c 0a20 2020 2020 2a6e tion)::,. *n\n+00006f70: 6f74 6520 4765 745f 4c69 6e65 2028 7072 ote Get_Line (pr\n+00006f80: 6f63 6564 7572 6529 3a3a 2c0a 2020 2020 ocedure)::,. \n+00006f90: 202a 6e6f 7465 2052 6563 6569 7665 2028 *note Receive (\n+00006fa0: 6675 6e63 7469 6f6e 293a 3a2c 0a20 2020 function)::,. \n+00006fb0: 2020 2a6e 6f74 6520 5265 6365 6976 655f *note Receive_\n+00006fc0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00006fd0: 3a3a 2e0a 0a1f 0a46 696c 653a 2061 6461 ::.....File: ada\n+00006fe0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N\n+00006ff0: 6f64 653a 2052 6563 6569 7665 5f53 6f6d ode: Receive_Som\n+00007000: 6520 2870 726f 6365 6475 7265 292c 2020 e (procedure), \n+00007010: 4e65 7874 3a20 5365 6e64 2028 7072 6f63 Next: Send (proc\n+00007020: 6564 7572 6529 2c20 2050 7265 763a 2052 edure), Prev: R\n+00007030: 6563 6569 7665 2028 7072 6f63 6564 7572 eceive (procedur\n+00007040: 6529 2c20 2055 703a 2041 6363 6570 745f e), Up: Accept_\n+00007050: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+00007060: 6529 0a0a 5265 6365 6976 655f 536f 6d65 e)..Receive_Some\n+00007070: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00007080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007090: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+000070a0: 2020 2020 5265 6365 6976 6520 7261 7720 Receive raw \n+000070b0: 6461 7461 206f 7665 7220 6120 736f 636b data over a sock\n+000070c0: 6574 0a50 524f 544f 5459 5045 0a20 2020 et.PROTOTYPE. \n+000070d0: 2020 202d 2d20 536f 636b 6574 732e 5265 -- Sockets.Re\n+000070e0: 6365 6976 655f 536f 6d65 3a20 7072 6f63 ceive_Some: proc\n+000070f0: 6564 7572 6520 5265 6365 6976 655f 536f edure Receive_So\n+00007100: 6d65 0a20 2020 2020 2020 2020 2020 2020 me. \n+00007110: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n+00007120: 6574 5f46 4427 436c 6173 733b 0a20 2020 et_FD'Class;. \n+00007130: 2020 2020 2020 2020 2020 2020 4441 5441 DATA\n+00007140: 203a 206f 7574 2041 6461 2e53 7472 6561 : out Ada.Strea\n+00007150: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n+00007160: 745f 4172 7261 793b 0a20 2020 2020 2020 t_Array;. \n+00007170: 2020 2020 2020 2020 4c41 5354 203a 206f LAST : o\n+00007180: 7574 2041 6461 2e53 7472 6561 6d73 2e53 ut Ada.Streams.S\n+00007190: 7472 6561 6d5f 456c 656d 656e 745f 4f66 tream_Element_Of\n+000071a0: 6673 6574 293b 0a0a 5041 5241 4d45 5445 fset);..PARAMETE\n+000071b0: 5253 0a20 2020 2020 534f 434b 4554 2020 RS. SOCKET \n+000071c0: 2020 2069 6e20 2020 2020 2020 2020 496e in In\n+000071d0: 6974 6961 6c69 7a65 6420 616e 6420 626f itialized and bo\n+000071e0: 756e 6420 6f72 2063 6f6e 6e65 6374 6564 und or connected\n+000071f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00007200: 2020 2020 2020 2020 2020 2020 736f 636b sock\n+00007210: 6574 206f 626a 6563 740a 2020 2020 2044 et object. D\n+00007220: 4154 4120 2020 2020 2020 6f75 7420 2020 ATA out \n+00007230: 2020 2020 2049 6e63 6f6d 696e 6720 6461 Incoming da\n+00007240: 7461 2062 7566 6665 720a 2020 2020 204c ta buffer. L\n+00007250: 4153 5420 2020 2020 2020 6f75 7420 2020 AST out \n+00007260: 2020 2020 2049 6e64 6578 206f 6620 6c61 Index of la\n+00007270: 7374 2065 6c65 6d65 6e74 2070 6c61 6365 st element place\n+00007280: 6420 696e 746f 2044 4154 410a 0a44 4553 d into DATA..DES\n+00007290: 4352 4950 5449 4f4e 0a20 2020 2020 5468 CRIPTION. Th\n+000072a0: 6973 2070 726f 6365 6475 7265 2072 6563 is procedure rec\n+000072b0: 6569 7665 7320 6461 7461 2066 726f 6d20 eives data from \n+000072c0: 6120 626f 756e 6420 5544 5020 736f 636b a bound UDP sock\n+000072d0: 6574 206f 7220 6120 636f 6e6e 6563 7465 et or a connecte\n+000072e0: 640a 2020 2020 2054 4350 2073 6f63 6b65 d. TCP socke\n+000072f0: 742e 2020 4173 2073 6f6f 6e20 6173 2061 t. As soon as a\n+00007300: 7420 6c65 6173 7420 6f6e 6520 6279 7465 t least one byte\n+00007310: 2068 6173 2062 6565 6e20 7265 6164 2c20 has been read, \n+00007320: 6974 2072 6574 7572 6e73 0a20 2020 2020 it returns. \n+00007330: 7769 7468 204c 4153 5420 7365 7420 746f with LAST set to\n+00007340: 2074 6865 2069 6e64 6578 206f 6620 7468 the index of th\n+00007350: 6520 6c61 7465 7374 2077 7269 7474 656e e latest written\n+00007360: 2065 6c65 6d65 6e74 206f 6620 4441 5441 element of DATA\n+00007370: 2e0a 0a45 5843 4550 5449 4f4e 530a 2020 ...EXCEPTIONS. \n+00007380: 2020 2027 436f 6e6e 6563 7469 6f6e 5f43 'Connection_C\n+00007390: 6c6f 7365 6427 5065 6572 2068 6173 2063 losed'Peer has c\n+000073a0: 6c6f 7365 6420 7468 6520 636f 6e6e 6563 losed the connec\n+000073b0: 7469 6f6e 2062 6566 6f72 650a 2020 2020 tion before. \n+000073c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000073d0: 2020 2020 7365 6e64 696e 6720 616e 7920 sending any \n+000073e0: 6461 7461 0a0a 5345 4520 414c 534f 0a20 data..SEE ALSO. \n+000073f0: 2020 2020 2a6e 6f74 6520 4765 745f 4c69 *note Get_Li\n+00007400: 6e65 2028 6675 6e63 7469 6f6e 293a 3a2c ne (function)::,\n+00007410: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+00007420: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+00007430: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2052 ::,. *note R\n+00007440: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+00007450: 293a 3a2c 0a20 2020 2020 2a6e 6f74 6520 )::,. *note \n+00007460: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n+00007470: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00007480: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00007490: 2020 4e6f 6465 3a20 5365 6e64 2028 7072 Node: Send (pr\n+000074a0: 6f63 6564 7572 6529 2c20 204e 6578 743a ocedure), Next:\n+000074b0: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+000074c0: 6365 6475 7265 292c 2020 5072 6576 3a20 cedure), Prev: \n+000074d0: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr\n+000074e0: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+000074f0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00007500: 6f63 6564 7572 6529 0a0a 5365 6e64 2028 ocedure)..Send (\n+00007510: 7072 6f63 6564 7572 6529 0a2d 2d2d 2d2d procedure).-----\n+00007520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR\n+00007530: 504f 5345 0a20 2020 2020 5365 6e64 2072 POSE. Send r\n+00007540: 6177 2064 6174 6120 6f76 6572 2061 2073 aw data over a s\n+00007550: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n+00007560: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+00007570: 2e53 656e 643a 2070 726f 6365 6475 7265 .Send: procedure\n+00007580: 2053 656e 6420 2853 4f43 4b45 5420 3a20 Send (SOCKET : \n+00007590: 536f 636b 6574 5f46 443b 0a20 2020 2020 Socket_FD;. \n+000075a0: 2020 2020 2020 2020 2020 4441 5441 203a DATA :\n+000075b0: 206f 7574 2041 6461 2e53 7472 6561 6d73 out Ada.Streams\n+000075c0: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+000075d0: 4172 7261 7929 3b0a 0a50 4152 414d 4554 Array);..PARAMET\n+000075e0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET \n+000075f0: 2020 2020 696e 2020 2020 2020 2020 2049 in I\n+00007600: 6e69 7469 616c 697a 6564 2061 6e64 2063 nitialized and c\n+00007610: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket \n+00007620: 6f62 6a65 6374 0a20 2020 2020 4441 5441 object. DATA\n+00007630: 2020 2020 2020 206f 7574 2020 2020 2020 out \n+00007640: 2020 4461 7461 2074 6f20 6265 2073 656e Data to be sen\n+00007650: 740a 0a44 4553 4352 4950 5449 4f4e 0a20 t..DESCRIPTION. \n+00007660: 2020 2020 5468 6973 2070 726f 6365 6475 This procedu\n+00007670: 7265 2073 656e 6473 2064 6174 6120 6f76 re sends data ov\n+00007680: 6572 2061 2063 6f6e 6e65 6374 6564 206f er a connected o\n+00007690: 7574 676f 696e 6720 736f 636b 6574 206f utgoing socket o\n+000076a0: 7220 6f76 6572 0a20 2020 2020 616e 2069 r over. an i\n+000076b0: 6e63 6f6d 696e 6720 736f 636b 6574 2e0a ncoming socket..\n+000076c0: 0a45 5843 4550 5449 4f4e 530a 2020 2020 .EXCEPTIONS. \n+000076d0: 2027 436f 6e6e 6563 7469 6f6e 5f43 6c6f 'Connection_Clo\n+000076e0: 7365 6427 5065 6572 2068 6173 2070 7265 sed'Peer has pre\n+000076f0: 6d61 7475 7265 6c79 2063 6c6f 7365 6420 maturely closed \n+00007700: 7468 6520 636f 6e6e 6563 7469 6f6e 0a0a the connection..\n+00007710: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+00007720: 6f74 6520 5075 7420 2870 726f 6365 6475 ote Put (procedu\n+00007730: 7265 293a 3a2c 0a20 2020 2020 2a6e 6f74 re)::,. *not\n+00007740: 6520 5075 745f 4c69 6e65 2028 7072 6f63 e Put_Line (proc\n+00007750: 6564 7572 6529 3a3a 2e0a 0a1f 0a46 696c edure)::.....Fil\n+00007760: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+00007770: 666f 2c20 204e 6f64 653a 2053 6574 5f42 fo, Node: Set_B\n+00007780: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00007790: 292c 2020 4e65 7874 3a20 5365 7473 6f63 ), Next: Setsoc\n+000077a0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000077b0: 2c20 2050 7265 763a 2053 656e 6420 2870 , Prev: Send (p\n+000077c0: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n+000077d0: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+000077e0: 726f 6365 6475 7265 290a 0a53 6574 5f42 rocedure)..Set_B\n+000077f0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00007800: 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ).--------------\n+00007810: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS\n+00007820: 450a 2020 2020 2049 6e73 7461 6c6c 2061 E. Install a\n+00007830: 206c 696e 652d 6f72 6965 6e74 6564 2062 line-oriented b\n+00007840: 7566 6665 7220 6f66 2074 6865 2073 6f63 uffer of the soc\n+00007850: 6b65 7420 6f62 6a65 6374 0a50 524f 544f ket object.PROTO\n+00007860: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So\n+00007870: 636b 6574 732e 5365 745f 4275 6666 6572 ckets.Set_Buffer\n+00007880: 3a20 7072 6f63 6564 7572 6520 5365 745f : procedure Set_\n+00007890: 4275 6666 6572 0a20 2020 2020 2020 2020 Buffer. \n+000078a0: 2020 2020 2020 2853 4f43 4b45 5420 3a20 (SOCKET : \n+000078b0: 536f 636b 6574 5f46 4427 436c 6173 733b Socket_FD'Class;\n+000078c0: 204c 454e 4754 4820 3a20 506f 7369 7469 LENGTH : Positi\n+000078d0: 7665 203a 3d20 3135 3030 293b 0a0a 5041 ve := 1500);..PA\n+000078e0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+000078f0: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+00007900: 2020 2020 496e 6974 6961 6c69 7a65 6420 Initialized \n+00007910: 616e 6420 636f 6e6e 6563 7465 6420 736f and connected so\n+00007920: 636b 6574 206f 626a 6563 740a 2020 2020 cket object. \n+00007930: 204c 454e 4754 4820 2020 2020 696e 2020 LENGTH in \n+00007940: 2020 2020 2020 2053 697a 6520 696e 2062 Size in b\n+00007950: 7974 6573 206f 6620 7468 6520 6e65 776c ytes of the newl\n+00007960: 7920 696e 7374 616c 6c65 640a 2020 2020 y installed. \n+00007970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00007980: 2020 2020 2020 2062 7566 6665 720a 0a44 buffer..D\n+00007990: 4553 4352 4950 5449 4f4e 0a20 2020 2020 ESCRIPTION. \n+000079a0: 5468 6973 2070 726f 6365 6475 7265 2070 This procedure p\n+000079b0: 7574 7320 7468 6520 736f 636b 6574 206f uts the socket o\n+000079c0: 626a 6563 7420 696e 2062 7566 6665 7265 bject in buffere\n+000079d0: 6420 6d6f 6465 2e20 2049 6620 7468 650a d mode. If the.\n+000079e0: 2020 2020 2073 6f63 6b65 7420 7761 7320 socket was \n+000079f0: 616c 7265 6164 7920 6275 6666 6572 6564 already buffered\n+00007a00: 2c20 7468 6520 636f 6e74 656e 7420 6f66 , the content of\n+00007a10: 2074 6865 2070 7265 7669 6f75 7320 6275 the previous bu\n+00007a20: 6666 6572 0a20 2020 2020 7769 6c6c 2062 ffer. will b\n+00007a30: 6520 6c6f 7374 2e20 2054 6865 2062 7566 e lost. The buf\n+00007a40: 6665 7265 6420 6d6f 6465 206f 6e6c 7920 fered mode only \n+00007a50: 6166 6665 6374 7320 6368 6172 6163 7465 affects characte\n+00007a60: 722d 2061 6e64 0a20 2020 2020 6c69 6e65 r- and. line\n+00007a70: 2d6f 7269 656e 7465 6420 7265 6164 206f -oriented read o\n+00007a80: 7065 7261 7469 6f6e 2073 7563 6820 6173 peration such as\n+00007a90: 202a 6e6f 7465 2047 6574 2028 6675 6e63 *note Get (func\n+00007aa0: 7469 6f6e 293a 3a2c 202a 6e6f 7465 0a20 tion)::, *note. \n+00007ab0: 2020 2020 4765 745f 4368 6172 2028 6675 Get_Char (fu\n+00007ac0: 6e63 7469 6f6e 293a 3a2c 2061 6e64 202a nction)::, and *\n+00007ad0: 6e6f 7465 2047 6574 5f4c 696e 6520 2866 note Get_Line (f\n+00007ae0: 756e 6374 696f 6e29 3a3a 2e20 204f 7468 unction)::. Oth\n+00007af0: 6572 0a20 2020 2020 7265 6365 7074 696f er. receptio\n+00007b00: 6e20 7375 6270 726f 6772 616d 7320 7769 n subprograms wi\n+00007b10: 6c6c 206e 6f74 2066 756e 6374 696f 6e20 ll not function \n+00007b20: 7072 6f70 6572 6c79 2069 6620 6275 6666 properly if buff\n+00007b30: 6572 6564 206d 6f64 650a 2020 2020 2069 ered mode. i\n+00007b40: 7320 7573 6564 2061 7420 7468 6520 7361 s used at the sa\n+00007b50: 6d65 2074 696d 652e 0a0a 2020 2020 2054 me time... T\n+00007b60: 6865 2073 697a 6520 6f66 2074 6865 2062 he size of the b\n+00007b70: 7566 6665 7220 6861 7320 746f 2062 6520 uffer has to be \n+00007b80: 6772 6561 7465 7220 7468 616e 2074 6865 greater than the\n+00007b90: 2062 6967 6765 7374 2070 6f73 7369 626c biggest possibl\n+00007ba0: 650a 2020 2020 2070 6163 6b65 7420 7365 e. packet se\n+00007bb0: 6e74 2062 7920 7468 6520 7265 6d6f 7465 nt by the remote\n+00007bc0: 2068 6f73 742c 206f 7468 6572 7769 7365 host, otherwise\n+00007bd0: 2064 6174 6120 6c6f 7373 206d 6179 206f data loss may o\n+00007be0: 6363 7572 2e0a 0a53 4545 2041 4c53 4f0a ccur...SEE ALSO.\n+00007bf0: 2020 2020 202a 6e6f 7465 2055 6e73 6574 *note Unset\n+00007c00: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+00007c10: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+00007c20: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+00007c30: 2020 4e6f 6465 3a20 5365 7473 6f63 6b6f Node: Setsocko\n+00007c40: 7074 2028 7072 6f63 6564 7572 6529 2c20 pt (procedure), \n+00007c50: 204e 6578 743a 2053 6875 7464 6f77 6e20 Next: Shutdown \n+00007c60: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00007c70: 6576 3a20 5365 745f 4275 6666 6572 2028 ev: Set_Buffer (\n+00007c80: 7072 6f63 6564 7572 6529 2c20 2055 703a procedure), Up:\n+00007c90: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00007ca0: 7072 6f63 6564 7572 6529 0a0a 5365 7473 procedure)..Sets\n+00007cb0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00007cc0: 6529 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d e).-------------\n+00007cd0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO\n+00007ce0: 5345 0a20 2020 2020 5365 7420 6120 736f SE. Set a so\n+00007cf0: 636b 6574 206f 7074 696f 6e0a 5052 4f54 cket option.PROT\n+00007d00: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+00007d10: 6f63 6b65 7473 2e53 6574 736f 636b 6f70 ockets.Setsockop\n+00007d20: 743a 2070 726f 6365 6475 7265 2053 6574 t: procedure Set\n+00007d30: 736f 636b 6f70 7420 2853 4f43 4b45 5420 sockopt (SOCKET \n+00007d40: 3a20 536f 636b 6574 5f46 443b 0a20 2020 : Socket_FD;. \n+00007d50: 2020 2020 2020 2020 2020 2020 4c45 5645 LEVE\n+00007d60: 4c20 3a20 536f 636b 6574 5f4c 6576 656c L : Socket_Level\n+00007d70: 203a 3d20 534f 4c5f 534f 434b 4554 3b0a := SOL_SOCKET;.\n+00007d80: 2020 2020 2020 2020 2020 2020 2020 204f O\n+00007d90: 5054 4e41 4d45 203a 2053 6f63 6b65 745f PTNAME : Socket_\n+00007da0: 4f70 7469 6f6e 3b20 4f50 5456 414c 203a Option; OPTVAL :\n+00007db0: 2049 6e74 6567 6572 293b 0a0a 5041 5241 Integer);..PARA\n+00007dc0: 4d45 5445 5253 0a20 2020 2020 534f 434b METERS. SOCK\n+00007dd0: 4554 2020 2020 2069 6e20 2020 2020 2020 ET in \n+00007de0: 2020 496e 6974 6961 6c69 7a65 6420 616e Initialized an\n+00007df0: 6420 626f 756e 6420 736f 636b 6574 206f d bound socket o\n+00007e00: 626a 6563 740a 2020 2020 204c 4556 454c bject. LEVEL\n+00007e10: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+00007e20: 2050 726f 746f 636f 6c20 6c65 7665 6c0a Protocol level.\n+00007e30: 2020 2020 204f 5054 4e41 4d45 2020 2020 OPTNAME \n+00007e40: 696e 2020 2020 2020 2020 204f 7074 696f in Optio\n+00007e50: 6e20 6e61 6d65 0a20 2020 2020 4f50 5456 n name. OPTV\n+00007e60: 414c 2020 2020 2069 6e20 2020 2020 2020 AL in \n+00007e70: 2020 4f70 7469 6f6e 2076 616c 7565 0a0a Option value..\n+00007e80: 4445 5343 5249 5054 494f 4e0a 2020 2020 DESCRIPTION. \n+00007e90: 2054 6869 7320 7072 6f63 6564 7572 6520 This procedure \n+00007ea0: 7365 7473 206f 7074 696f 6e73 2061 7070 sets options app\n+00007eb0: 6c69 6361 626c 6520 746f 2061 2073 6f63 licable to a soc\n+00007ec0: 6b65 742e 2020 506c 6561 7365 2073 6565 ket. Please see\n+00007ed0: 0a20 2020 2020 796f 7572 206f 7065 7261 . your opera\n+00007ee0: 7469 6e67 2073 7973 7465 6d20 6d61 6e75 ting system manu\n+00007ef0: 616c 2066 6f72 2075 7361 626c 6520 6c65 al for usable le\n+00007f00: 7665 6c73 2061 6e64 206f 7074 696f 6e73 vels and options\n+00007f10: 2e0a 0a20 2020 2020 5477 6f20 6c65 7665 ... Two leve\n+00007f20: 6c73 2061 7265 2064 6566 696e 6564 3a20 ls are defined: \n+00007f30: 2753 4f4c 5f53 4f43 4b45 5427 2028 7468 'SOL_SOCKET' (th\n+00007f40: 6520 6465 6661 756c 7429 2061 6e64 0a20 e default) and. \n+00007f50: 2020 2020 2749 5050 524f 544f 5f49 5027 'IPPROTO_IP'\n+00007f60: 2e20 2054 6865 206f 7074 696f 6e73 2061 . The options a\n+00007f70: 7265 2027 534f 5f52 4555 5345 4144 4452 re 'SO_REUSEADDR\n+00007f80: 272c 2027 534f 5f52 4555 5345 504f 5254 ', 'SO_REUSEPORT\n+00007f90: 272c 0a20 2020 2020 2749 505f 4d55 4c54 ',. 'IP_MULT\n+00007fa0: 4943 4153 545f 5454 4c27 2c20 2749 505f ICAST_TTL', 'IP_\n+00007fb0: 4144 445f 4d45 4d42 4552 5348 4950 272c ADD_MEMBERSHIP',\n+00007fc0: 2027 4950 5f44 524f 505f 4d45 4d42 4552 'IP_DROP_MEMBER\n+00007fd0: 5348 4950 272c 0a20 2020 2020 2749 505f SHIP',. 'IP_\n+00007fe0: 4d55 4c54 4943 4153 545f 4c4f 4f50 272c MULTICAST_LOOP',\n+00007ff0: 2027 534f 5f53 4e44 4255 4627 2061 6e64 'SO_SNDBUF' and\n+00008000: 2027 4950 5f52 4356 4255 4627 2e0a 0a20 'IP_RCVBUF'... \n+00008010: 2020 2020 4e6f 7465 2074 6861 7420 756e Note that un\n+00008020: 6c69 6b65 2074 6865 6972 2043 206c 616e like their C lan\n+00008030: 6775 6167 6520 636f 756e 7465 7270 6172 guage counterpar\n+00008040: 742c 2027 4765 7473 6f63 6b6f 7074 2720 t, 'Getsockopt' \n+00008050: 616e 640a 2020 2020 2027 5365 7473 6f63 and. 'Setsoc\n+00008060: 6b6f 7074 2720 646f 206e 6f74 2072 6571 kopt' do not req\n+00008070: 7569 7265 2061 6e20 6578 7472 6120 7061 uire an extra pa\n+00008080: 7261 6d65 7465 7220 7265 7072 6573 656e rameter represen\n+00008090: 7469 6e67 2074 6865 0a20 2020 2020 6c65 ting the. le\n+000080a0: 6e67 7468 2069 6e20 6279 7465 7320 6f66 ngth in bytes of\n+000080b0: 2074 6865 206f 7074 696f 6e20 7661 6c75 the option valu\n+000080c0: 652e 2020 4164 6153 6f63 6b65 7473 206e e. AdaSockets n\n+000080d0: 6f77 7320 7468 6520 7269 6768 740a 2020 ows the right. \n+000080e0: 2020 2073 697a 6520 666f 7220 6576 6572 size for ever\n+000080f0: 7920 6f70 7469 6f6e 2e0a 0a53 4545 2041 y option...SEE A\n+00008100: 4c53 4f0a 2020 2020 202a 6e6f 7465 2047 LSO. *note G\n+00008110: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00008120: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00008130: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00008140: 6f2c 2020 4e6f 6465 3a20 5368 7574 646f o, Node: Shutdo\n+00008150: 776e 2028 7072 6f63 6564 7572 6529 2c20 wn (procedure), \n+00008160: 204e 6578 743a 2053 6f63 6b65 7420 2870 Next: Socket (p\n+00008170: 726f 6365 6475 7265 292c 2020 5072 6576 rocedure), Prev\n+00008180: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr\n+00008190: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+000081a0: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+000081b0: 6f63 6564 7572 6529 0a0a 5368 7574 646f ocedure)..Shutdo\n+000081c0: 776e 2028 7072 6f63 6564 7572 6529 0a2d wn (procedure).-\n+000081d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000081e0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+000081f0: 2020 5368 7574 646f 776e 2061 2073 6f63 Shutdown a soc\n+00008200: 6b65 740a 5052 4f54 4f54 5950 450a 2020 ket.PROTOTYPE. \n+00008210: 2020 2020 2d2d 2053 6f63 6b65 7473 2e53 -- Sockets.S\n+00008220: 6875 7464 6f77 6e3a 2070 726f 6365 6475 hutdown: procedu\n+00008230: 7265 2053 6875 7464 6f77 6e0a 2020 2020 re Shutdown. \n+00008240: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+00008250: 4554 203a 2069 6e20 6f75 7420 536f 636b ET : in out Sock\n+00008260: 6574 5f46 443b 2048 4f57 203a 2053 6875 et_FD; HOW : Shu\n+00008270: 7464 6f77 6e5f 5479 7065 203a 3d20 426f tdown_Type := Bo\n+00008280: 7468 293b 0a0a 5041 5241 4d45 5445 5253 th);..PARAMETERS\n+00008290: 0a20 2020 2020 534f 434b 4554 2020 2020 . SOCKET \n+000082a0: 2069 6e20 6f75 7420 2020 2020 536f 636b in out Sock\n+000082b0: 6574 206f 626a 6563 7420 746f 2073 6875 et object to shu\n+000082c0: 7464 6f77 6e0a 2020 2020 2048 4f57 2020 tdown. HOW \n+000082d0: 2020 2020 2020 696e 2020 2020 2020 2020 in \n+000082e0: 2044 6972 6563 7469 6f6e 2074 6f20 7368 Direction to sh\n+000082f0: 7574 646f 776e 0a0a 4445 5343 5249 5054 utdown..DESCRIPT\n+00008300: 494f 4e0a 2020 2020 2054 6869 7320 7072 ION. This pr\n+00008310: 6f63 6564 7572 6520 7368 7574 646f 776e ocedure shutdown\n+00008320: 7320 6569 7468 6572 2064 6972 6563 7469 s either directi\n+00008330: 6f6e 206f 6620 7468 6520 736f 636b 6574 on of the socket\n+00008340: 2e20 2048 4f57 2063 616e 0a20 2020 2020 . HOW can. \n+00008350: 7461 6b65 2074 6865 2076 616c 7565 2027 take the value '\n+00008360: 5365 6e64 272c 2027 5265 6365 6976 6527 Send', 'Receive'\n+00008370: 206f 7220 2742 6f74 6827 2e0a 0a53 4545 or 'Both'...SEE\n+00008380: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+00008390: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+000083a0: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: \n+000083b0: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+000083c0: 2020 4e6f 6465 3a20 536f 636b 6574 2028 Node: Socket (\n+000083d0: 7072 6f63 6564 7572 6529 2c20 204e 6578 procedure), Nex\n+000083e0: 743a 2055 6e73 6574 5f42 7566 6665 7220 t: Unset_Buffer \n+000083f0: 2870 726f 6365 6475 7265 292c 2020 5072 (procedure), Pr\n+00008400: 6576 3a20 5368 7574 646f 776e 2028 7072 ev: Shutdown (pr\n+00008410: 6f63 6564 7572 6529 2c20 2055 703a 2041 ocedure), Up: A\n+00008420: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr\n+00008430: 6f63 6564 7572 6529 0a0a 536f 636b 6574 ocedure)..Socket\n+00008440: 2028 7072 6f63 6564 7572 6529 0a2d 2d2d (procedure).---\n+00008450: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00008460: 0a50 5552 504f 5345 0a20 2020 2020 4372 .PURPOSE. Cr\n+00008470: 6561 7465 2061 2073 6f63 6b65 7420 6f66 eate a socket of\n+00008480: 2074 6865 2067 6976 656e 206d 6f64 650a the given mode.\n+00008490: 5052 4f54 4f54 5950 450a 2020 2020 2020 PROTOTYPE. \n+000084a0: 2d2d 2053 6f63 6b65 7473 2e53 6f63 6b65 -- Sockets.Socke\n+000084b0: 743a 2070 726f 6365 6475 7265 2053 6f63 t: procedure Soc\n+000084c0: 6b65 7420 2853 4f43 4b45 5420 3a20 6f75 ket (SOCKET : ou\n+000084d0: 7420 536f 636b 6574 5f46 443b 0a20 2020 t Socket_FD;. \n+000084e0: 2020 2020 2020 2020 2020 2020 444f 4d41 DOMA\n+000084f0: 494e 203a 2053 6f63 6b65 745f 446f 6d61 IN : Socket_Doma\n+00008500: 696e 203a 3d20 5046 5f49 4e45 543b 0a20 in := PF_INET;. \n+00008510: 2020 2020 2020 2020 2020 2020 2020 5459 TY\n+00008520: 5020 3a20 536f 636b 6574 5f54 7970 6520 P : Socket_Type \n+00008530: 3a3d 2053 4f43 4b5f 5354 5245 414d 293b := SOCK_STREAM);\n+00008540: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+00008550: 2020 534f 434b 4554 2020 2020 206f 7574 SOCKET out\n+00008560: 2020 2020 2020 2020 536f 636b 6574 206f Socket o\n+00008570: 626a 6563 7420 746f 2069 6e69 7469 616c bject to initial\n+00008580: 697a 650a 2020 2020 2044 4f4d 4149 4e20 ize. DOMAIN \n+00008590: 2020 2020 696e 2020 2020 2020 2020 2050 in P\n+000085a0: 726f 746f 636f 6c20 6661 6d69 6c79 0a20 rotocol family. \n+000085b0: 2020 2020 5459 5020 2020 2020 2020 2069 TYP i\n+000085c0: 6e20 2020 2020 2020 2020 4b69 6e64 206f n Kind o\n+000085d0: 6620 736f 636b 6574 730a 0a44 4553 4352 f sockets..DESCR\n+000085e0: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This\n+000085f0: 2070 726f 6365 6475 7265 2069 6e69 7469 procedure initi\n+00008600: 616c 697a 6573 2061 206e 6577 2073 6f63 alizes a new soc\n+00008610: 6b65 7420 6f62 6a65 6374 2062 7920 7265 ket object by re\n+00008620: 7365 7276 696e 6720 6120 6669 6c65 0a20 serving a file. \n+00008630: 2020 2020 6465 7363 7269 7074 6f72 2074 descriptor t\n+00008640: 6f20 7468 6520 6f70 6572 6174 696e 6720 o the operating \n+00008650: 7379 7374 656d 2e20 2046 6f72 2062 6163 system. For bac\n+00008660: 6b77 6172 6420 636f 6d70 6174 6962 696c kward compatibil\n+00008670: 6974 790a 2020 2020 2077 6974 6820 6f6c ity. with ol\n+00008680: 6465 7220 7665 7273 696f 6e73 206f 6620 der versions of \n+00008690: 7468 6973 206c 6962 7261 7279 2c20 2741 this library, 'A\n+000086a0: 465f 494e 4554 2720 6973 2073 7469 6c6c F_INET' is still\n+000086b0: 2061 6363 6570 7465 6420 6173 0a20 2020 accepted as. \n+000086c0: 2020 6120 7661 6c75 6520 6275 7420 7368 a value but sh\n+000086d0: 6f75 6c64 2062 6520 7265 706c 6163 6564 ould be replaced\n+000086e0: 2061 7320 736f 6f6e 2061 7320 706f 7373 as soon as poss\n+000086f0: 6962 6c65 2077 6974 6820 7468 6520 7072 ible with the pr\n+00008700: 6f70 6572 0a20 2020 2020 2750 465f 494e oper. 'PF_IN\n+00008710: 4554 272e 2020 5573 696e 6720 2753 4f43 ET'. Using 'SOC\n+00008720: 4b5f 5354 5245 414d 2720 666f 7220 7468 K_STREAM' for th\n+00008730: 6520 5459 5020 6172 6775 6d65 6e74 2077 e TYP argument w\n+00008740: 696c 6c20 6372 6561 7465 2061 0a20 2020 ill create a. \n+00008750: 2020 5443 5020 736f 636b 6574 2077 6869 TCP socket whi\n+00008760: 6c65 2061 2027 534f 434b 5f44 4752 414d le a 'SOCK_DGRAM\n+00008770: 2720 7769 6c6c 2063 7265 6174 6520 6120 ' will create a \n+00008780: 5544 5020 6f6e 652e 0a0a 4558 414d 504c UDP one...EXAMPL\n+00008790: 450a 2020 2020 2020 2020 2020 6465 636c E. decl\n+000087a0: 6172 650a 2020 2020 2020 2020 2020 2020 are. \n+000087b0: 2053 6f63 6b20 3a20 536f 636b 6574 5f46 Sock : Socket_F\n+000087c0: 443b 0a20 2020 2020 2020 2020 2062 6567 D;. beg\n+000087d0: 696e 0a20 2020 2020 2020 2020 2020 2020 in. \n+000087e0: 2d2d 2043 7265 6174 6520 6120 5443 5020 -- Create a TCP \n+000087f0: 736f 636b 6574 0a20 2020 2020 2020 2020 socket. \n+00008800: 2020 2020 536f 636b 6574 2028 536f 636b Socket (Sock\n+00008810: 2c20 5046 5f49 4e45 542c 2053 4f43 4b5f , PF_INET, SOCK_\n+00008820: 5354 5245 414d 293b 0a20 2020 2020 2020 STREAM);. \n+00008830: 2020 2020 2020 2d2d 2050 6572 666f 726d -- Perform\n+00008840: 2073 6f6d 6520 6f70 6572 6174 696f 6e73 some operations\n+00008850: 206f 6e20 736f 636b 6574 0a20 2020 2020 on socket. \n+00008860: 2020 2020 2020 2020 5b2e 2e2e 5d0a 2020 [...]. \n+00008870: 2020 2020 2020 2020 2020 202d 2d20 5368 -- Sh\n+00008880: 7574 646f 776e 2074 6865 2073 6f63 6b65 utdown the socke\n+00008890: 7420 696e 2062 6f74 6820 6469 7265 6374 t in both direct\n+000088a0: 696f 6e73 0a20 2020 2020 2020 2020 2020 ions. \n+000088b0: 2020 5368 7574 646f 776e 2028 536f 636b Shutdown (Sock\n+000088c0: 2c20 426f 7468 293b 0a20 2020 2020 2020 , Both);. \n+000088d0: 2020 2065 6e64 3b0a 0a53 4545 2041 4c53 end;..SEE ALS\n+000088e0: 4f0a 2020 2020 202a 6e6f 7465 2053 6875 O. *note Shu\n+000088f0: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure\n+00008900: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad\n+00008910: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+00008920: 4e6f 6465 3a20 556e 7365 745f 4275 6666 Node: Unset_Buff\n+00008930: 6572 2028 7072 6f63 6564 7572 6529 2c20 er (procedure), \n+00008940: 2050 7265 763a 2053 6f63 6b65 7420 2870 Prev: Socket (p\n+00008950: 726f 6365 6475 7265 292c 2020 5570 3a20 rocedure), Up: \n+00008960: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n+00008970: 726f 6365 6475 7265 290a 0a55 6e73 6574 rocedure)..Unset\n+00008980: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n+00008990: 7265 290a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d re).------------\n+000089a0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU\n+000089b0: 5250 4f53 450a 2020 2020 2044 6569 6e73 RPOSE. Deins\n+000089c0: 7461 6c6c 2074 6865 206c 696e 652d 6f72 tall the line-or\n+000089d0: 6965 6e74 6564 2062 7566 6665 7220 6f66 iented buffer of\n+000089e0: 2074 6865 2073 6f63 6b65 7420 6f62 6a65 the socket obje\n+000089f0: 6374 0a50 524f 544f 5459 5045 0a20 2020 ct.PROTOTYPE. \n+00008a00: 2020 202d 2d20 536f 636b 6574 732e 556e -- Sockets.Un\n+00008a10: 7365 745f 4275 6666 6572 3a20 7072 6f63 set_Buffer: proc\n+00008a20: 6564 7572 6520 556e 7365 745f 4275 6666 edure Unset_Buff\n+00008a30: 6572 0a20 2020 2020 2020 2020 2020 2020 er. \n+00008a40: 2020 2853 4f43 4b45 5420 3a20 536f 636b (SOCKET : Sock\n+00008a50: 6574 5f46 4427 436c 6173 7329 3b0a 0a50 et_FD'Class);..P\n+00008a60: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S\n+00008a70: 4f43 4b45 5420 2020 2020 696e 2020 2020 OCKET in \n+00008a80: 2020 2020 2049 6e69 7469 616c 697a 6564 Initialized\n+00008a90: 2061 6e64 2063 6f6e 6e65 6374 6564 2073 and connected s\n+00008aa0: 6f63 6b65 7420 6f62 6a65 6374 0a0a 4445 ocket object..DE\n+00008ab0: 5343 5249 5054 494f 4e0a 2020 2020 2054 SCRIPTION. T\n+00008ac0: 6869 7320 7072 6f63 6564 7572 6520 6465 his procedure de\n+00008ad0: 696e 7374 616c 6c73 2074 6865 2062 7566 installs the buf\n+00008ae0: 6665 7220 7072 6576 696f 7573 6c79 2069 fer previously i\n+00008af0: 6e73 7461 6c6c 6564 2062 7920 2a6e 6f74 nstalled by *not\n+00008b00: 650a 2020 2020 2053 6574 5f42 7566 6665 e. Set_Buffe\n+00008b10: 7220 2870 726f 6365 6475 7265 293a 3a2e r (procedure)::.\n+00008b20: 2020 4966 2061 6e79 2064 6174 6120 6973 If any data is\n+00008b30: 2073 7469 6c6c 2070 7265 7365 6e74 2069 still present i\n+00008b40: 6e20 7468 650a 2020 2020 2062 7566 6665 n the. buffe\n+00008b50: 722c 2069 7420 7769 6c6c 2062 6520 6c6f r, it will be lo\n+00008b60: 7374 2e20 2054 6f20 6176 6f69 6420 7468 st. To avoid th\n+00008b70: 6973 2073 6974 7561 7469 6f6e 2c20 7468 is situation, th\n+00008b80: 6520 6275 6666 6572 2063 616e 0a20 2020 e buffer can. \n+00008b90: 2020 6265 2066 6c75 7368 6564 2062 7920 be flushed by \n+00008ba0: 6361 6c6c 696e 6720 2a6e 6f74 6520 4765 calling *note Ge\n+00008bb0: 7420 2866 756e 6374 696f 6e29 3a3a 2e0a t (function)::..\n+00008bc0: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock\n+00008bd0: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node:\n+00008be0: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n+00008bf0: 7374 2070 6163 6b61 6765 2c20 204e 6578 st package, Nex\n+00008c00: 743a 2053 6f63 6b65 7473 2e4e 616d 696e t: Sockets.Namin\n+00008c10: 6720 7061 636b 6167 652c 2020 5072 6576 g package, Prev\n+00008c20: 3a20 536f 636b 6574 7320 7061 636b 6167 : Sockets packag\n+00008c30: 652c 2020 5570 3a20 546f 700a 0a35 2053 e, Up: Top..5 S\n+00008c40: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast\n+00008c50: 2070 6163 6b61 6765 0a2a 2a2a 2a2a 2a2a package.*******\n+00008c60: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00008c70: 2a2a 2a2a 0a0a 5468 6520 2753 6f63 6b65 ****..The 'Socke\n+00008c80: 7473 2e4d 756c 7469 6361 7374 2720 616c ts.Multicast' al\n+00008c90: 6c6f 7773 2074 6865 2063 7265 6174 696f lows the creatio\n+00008ca0: 6e20 6f66 2049 5020 6d75 6c74 6963 6173 n of IP multicas\n+00008cb0: 7420 736f 636b 6574 732e 0a0a 202d 2d20 t sockets... -- \n+00008cc0: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n+00008cd0: 742e 4d75 6c74 6963 6173 745f 536f 636b t.Multicast_Sock\n+00008ce0: 6574 5f46 443a 2074 7970 6520 4d75 6c74 et_FD: type Mult\n+00008cf0: 6963 6173 745f 536f 636b 6574 5f46 4420 icast_Socket_FD \n+00008d00: 6973 0a20 2020 2020 2020 2020 206e 6577 is. new\n+00008d10: 2053 6f63 6b65 745f 4644 2077 6974 6820 Socket_FD with \n+00008d20: 7072 6976 6174 653b 0a20 2020 2020 5468 private;. Th\n+00008d30: 6520 274d 756c 7469 6361 7374 5f53 6f63 e 'Multicast_Soc\n+00008d40: 6b65 745f 4644 2720 7461 6767 6564 2074 ket_FD' tagged t\n+00008d50: 7970 6520 6465 7269 7665 7320 6672 6f6d ype derives from\n+00008d60: 2074 6865 2027 536f 636b 6574 5f46 4427 the 'Socket_FD'\n+00008d70: 0a20 2020 2020 7479 7065 2e20 2049 7420 . type. It \n+00008d80: 6765 7473 2069 6e69 7469 616c 697a 6564 gets initialized\n+00008d90: 2062 7920 6361 6c6c 696e 6720 2a6e 6f74 by calling *not\n+00008da0: 6520 4372 6561 7465 5f4d 756c 7469 6361 e Create_Multica\n+00008db0: 7374 5f53 6f63 6b65 740a 2020 2020 2028 st_Socket. (\n+00008dc0: 6675 6e63 7469 6f6e 293a 3a2e 2020 416e function)::. An\n+00008dd0: 2075 6e69 6e69 7469 616c 697a 6564 2027 uninitialized '\n+00008de0: 4d75 6c74 6963 6173 745f 536f 636b 6574 Multicast_Socket\n+00008df0: 5f46 4427 2063 616e 2062 650a 2020 2020 _FD' can be. \n+00008e00: 2073 7563 6365 7366 756c 6c79 2063 6f6d succesfully com\n+00008e10: 7061 7265 6420 746f 2027 4e75 6c6c 5f4d pared to 'Null_M\n+00008e20: 756c 7469 6361 7374 5f53 6f63 6b65 745f ulticast_Socket_\n+00008e30: 4644 272e 0a0a 2a20 4d65 6e75 3a0a 0a2a FD'...* Menu:..*\n+00008e40: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+00008e50: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+00008e60: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+00008e70: 2020 2020 2020 2020 2020 2020 2020 4372 Cr\n+00008e80: 6561 7465 2061 6e20 4950 206d 756c 7469 eate an IP multi\n+00008e90: 6361 7374 2073 6f63 6b65 740a 2a20 4372 cast socket.* Cr\n+00008ea0: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n+00008eb0: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function)\n+00008ec0: 3a3a 0a20 2020 2020 2020 2020 2020 2020 ::. \n+00008ed0: 2020 2020 2020 2020 2020 2043 7265 6174 Creat\n+00008ee0: 6520 616e 2049 5020 6d75 6c74 6963 6173 e an IP multicas\n+00008ef0: 7420 736f 636b 6574 0a0a 1f0a 4669 6c65 t socket....File\n+00008f00: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00008f10: 6f2c 2020 4e6f 6465 3a20 4372 6561 7465 o, Node: Create\n+00008f20: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke\n+00008f30: 7420 2866 756e 6374 696f 6e29 2c20 204e t (function), N\n+00008f40: 6578 743a 2043 7265 6174 655f 4d75 6c74 ext: Create_Mult\n+00008f50: 6963 6173 745f 536f 636b 6574 2028 6675 icast_Socket (fu\n+00008f60: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+00008f70: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00008f80: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio\n+00008f90: 6e29 2c20 2055 703a 2053 6f63 6b65 7473 n), Up: Sockets\n+00008fa0: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+00008fb0: 6765 0a0a 4372 6561 7465 5f4d 756c 7469 ge..Create_Multi\n+00008fc0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun\n+00008fd0: 6374 696f 6e29 0a3d 3d3d 3d3d 3d3d 3d3d ction).=========\n+00008fe0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00008ff0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a50 5552 504f =========..PURPO\n+00009000: 5345 0a20 2020 2020 4372 6561 7465 2061 SE. Create a\n+00009010: 6e20 4950 206d 756c 7469 6361 7374 2073 n IP multicast s\n+00009020: 6f63 6b65 740a 5052 4f54 4f54 5950 450a ocket.PROTOTYPE.\n+00009030: 2020 2020 2020 2d2d 2053 6f63 6b65 7473 -- Sockets\n+00009040: 2e4d 756c 7469 6361 7374 2e43 7265 6174 .Multicast.Creat\n+00009050: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+00009060: 6574 3a20 6675 6e63 7469 6f6e 0a20 2020 et: function. \n+00009070: 2020 2020 2020 2020 2020 2020 4372 6561 Crea\n+00009080: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+00009090: 6b65 7420 2847 524f 5550 203a 2053 7472 ket (GROUP : Str\n+000090a0: 696e 673b 2050 4f52 5420 3a20 4e61 7475 ing; PORT : Natu\n+000090b0: 7261 6c3b 0a20 2020 2020 2020 2020 2020 ral;. \n+000090c0: 2020 2020 5454 4c20 3a20 506f 7369 7469 TTL : Positi\n+000090d0: 7665 203a 3d20 3136 3b20 5345 4c46 5f4c ve := 16; SELF_L\n+000090e0: 4f4f 5020 3a20 426f 6f6c 6561 6e20 3a3d OOP : Boolean :=\n+000090f0: 2054 7275 653b 0a20 2020 2020 2020 2020 True;. \n+00009100: 2020 2020 2020 4c4f 4341 4c5f 4946 203a LOCAL_IF :\n+00009110: 2053 7472 696e 6720 3a3d 2030 2e30 2e30 String := 0.0.0\n+00009120: 2e30 290a 2020 2020 2020 2020 2020 2020 .0). \n+00009130: 2020 2072 6574 7572 6e20 4d75 6c74 6963 return Multic\n+00009140: 6173 745f 536f 636b 6574 5f46 443b 0a0a ast_Socket_FD;..\n+00009150: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. \n+00009160: 4752 4f55 5020 2020 2020 2069 6e20 2020 GROUP in \n+00009170: 2020 2020 2020 4950 2061 6464 7265 7373 IP address\n+00009180: 206f 6620 7468 6520 6d75 6c74 6963 6173 of the multicas\n+00009190: 7420 6772 6f75 7020 746f 0a20 2020 2020 t group to. \n+000091a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000091b0: 2020 2020 2020 6a6f 696e 0a20 2020 2020 join. \n+000091c0: 504f 5254 2020 2020 2020 2069 6e20 2020 PORT in \n+000091d0: 2020 2020 2020 506f 7274 206f 6620 7468 Port of th\n+000091e0: 6520 6d75 6c74 6963 6173 7420 6772 6f75 e multicast grou\n+000091f0: 7020 746f 206a 6f69 6e0a 2020 2020 2054 p to join. T\n+00009200: 544c 2020 2020 2020 2020 696e 2020 2020 TL in \n+00009210: 2020 2020 2054 696d 652d 746f 2d6c 6976 Time-to-liv\n+00009220: 6520 6f66 2073 656e 7420 7061 636b 6574 e of sent packet\n+00009230: 730a 2020 2020 2053 454c 465f 4c4f 4f50 s. SELF_LOOP\n+00009240: 2020 696e 2020 2020 2020 2020 2053 686f in Sho\n+00009250: 756c 6420 7468 6520 736f 636b 6574 2072 uld the socket r\n+00009260: 6563 6569 7665 2074 6865 2070 6163 6b65 eceive the packe\n+00009270: 7473 0a20 2020 2020 2020 2020 2020 2020 ts. \n+00009280: 2020 2020 2020 2020 2020 2020 2020 7365 se\n+00009290: 6e74 2066 726f 6d20 7468 6520 6c6f 6361 nt from the loca\n+000092a0: 6c20 686f 7374 3f0a 2020 2020 204c 4f43 l host?. LOC\n+000092b0: 414c 5f49 4620 2020 696e 2020 2020 2020 AL_IF in \n+000092c0: 2020 2041 6464 7265 7373 206f 6620 7468 Address of th\n+000092d0: 6520 6c6f 6361 6c20 696e 7465 7266 6163 e local interfac\n+000092e0: 6520 746f 2075 7365 0a0a 5245 5455 524e e to use..RETURN\n+000092f0: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n+00009300: 6e65 7720 696e 6974 6961 6c69 7a65 6420 new initialized \n+00009310: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+00009320: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+00009330: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+00009340: 2063 7265 6174 6573 2061 6e20 4950 206d creates an IP m\n+00009350: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n+00009360: 6174 7461 6368 6564 2074 6f20 6120 6769 attached to a gi\n+00009370: 7665 6e0a 2020 2020 2067 726f 7570 2c20 ven. group, \n+00009380: 6964 656e 7469 6669 6564 2062 7920 6974 identified by it\n+00009390: 7320 636c 6173 7320 4520 4950 2061 6464 s class E IP add\n+000093a0: 7265 7373 2061 6e64 2070 6f72 742e 0a0a ress and port...\n+000093b0: 2020 2020 2042 6520 6361 7265 6675 6c20 Be careful \n+000093c0: 7768 656e 2063 686f 6f73 696e 6720 7468 when choosing th\n+000093d0: 6520 5454 4c20 7061 7261 6d65 7465 7220 e TTL parameter \n+000093e0: 6f66 2079 6f75 7220 4950 206d 756c 7469 of your IP multi\n+000093f0: 6361 7374 0a20 2020 2020 736f 636b 6574 cast. socket\n+00009400: 2e20 204d 6f73 7420 4950 206d 756c 7469 . Most IP multi\n+00009410: 6361 7374 2072 6f75 7465 7273 2064 6f20 cast routers do \n+00009420: 696d 706c 656d 656e 7420 7468 7265 7368 implement thresh\n+00009430: 6f6c 642d 6261 7365 640a 2020 2020 2066 old-based. f\n+00009440: 696c 7465 7269 6e67 2061 6e64 2077 696c iltering and wil\n+00009450: 6c20 6e6f 7420 6c65 7420 4950 206d 756c l not let IP mul\n+00009460: 7469 6361 7374 2070 6163 6b65 7473 206c ticast packets l\n+00009470: 6561 7665 2079 6f75 720a 2020 2020 206f eave your. o\n+00009480: 7267 616e 697a 6174 696f 6e20 6966 2074 rganization if t\n+00009490: 6865 2054 544c 206f 6e20 7468 6520 6c61 he TTL on the la\n+000094a0: 7374 2072 6f75 7465 7220 6973 2073 6d61 st router is sma\n+000094b0: 6c6c 6572 2074 6861 6e20 3136 2e0a 0a20 ller than 16... \n+000094c0: 2020 2020 4966 2030 2069 7320 6769 7665 If 0 is give\n+000094d0: 6e20 666f 7220 7468 6520 506f 7274 2c20 n for the Port, \n+000094e0: 6120 6c6f 6361 6c20 6f6e 6520 7769 6c6c a local one will\n+000094f0: 2062 6520 6368 6f73 656e 2e20 2049 7420 be chosen. It \n+00009500: 6361 6e0a 2020 2020 2074 6865 6e20 6c61 can. then la\n+00009510: 7465 7220 6265 2072 6574 7269 6576 6564 ter be retrieved\n+00009520: 2075 7369 6e67 2047 6574 5f53 6f63 6b5f using Get_Sock_\n+00009530: 506f 7274 2e0a 0a45 5841 4d50 4c45 0a0a Port...EXAMPLE..\n+00009540: 0a53 4545 2041 4c53 4f0a 2020 2020 202a .SEE ALSO. *\n+00009550: 6e6f 7465 2053 656e 6420 2870 726f 6365 note Send (proce\n+00009560: 6475 7265 293a 3a2c 0a20 2020 2020 2a6e dure)::,. *n\n+00009570: 6f74 6520 5368 7574 646f 776e 2028 7072 ote Shutdown (pr\n+00009580: 6f63 6564 7572 6529 3a3a 2e0a 0a2a 204d ocedure)::...* M\n+00009590: 656e 753a 0a0a 2a20 3a3a 0a0a 4372 6561 enu:..* ::..Crea\n+000095a0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+000095b0: 6b65 7420 2866 756e 6374 696f 6e29 0a2d ket (function).-\n+000095c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000095d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000095e0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+000095f0: 4372 6561 7465 2061 6e20 4950 206d 756c Create an IP mul\n+00009600: 7469 6361 7374 2073 6f63 6b65 740a 5052 ticast socket.PR\n+00009610: 4f54 4f54 5950 450a 2020 2020 2020 2d2d OTOTYPE. --\n+00009620: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica\n+00009630: 7374 2e43 7265 6174 655f 4d75 6c74 6963 st.Create_Multic\n+00009640: 6173 745f 536f 636b 6574 3a20 6675 6e63 ast_Socket: func\n+00009650: 7469 6f6e 0a20 2020 2020 2020 2020 2020 tion. \n+00009660: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi\n+00009670: 6361 7374 5f53 6f63 6b65 7420 2847 524f cast_Socket (GRO\n+00009680: 5550 203a 2053 7472 696e 673b 2050 4f52 UP : String; POR\n+00009690: 5420 3a20 506f 7369 7469 7665 3b0a 2020 T : Positive;. \n+000096a0: 2020 2020 2020 2020 2020 2020 204c 4f43 LOC\n+000096b0: 414c 5f50 4f52 5420 3a20 4e61 7475 7261 AL_PORT : Natura\n+000096c0: 6c3b 2054 544c 203a 2050 6f73 6974 6976 l; TTL : Positiv\n+000096d0: 6520 3a3d 2031 363b 0a20 2020 2020 2020 e := 16;. \n+000096e0: 2020 2020 2020 2020 4c4f 4341 4c5f 4946 LOCAL_IF\n+000096f0: 203a 2053 7472 696e 6720 3a3d 2030 2e30 : String := 0.0\n+00009700: 2e30 2e30 290a 2020 2020 2020 2020 2020 .0.0). \n+00009710: 2020 2020 2072 6574 7572 6e20 4d75 6c74 return Mult\n+00009720: 6963 6173 745f 536f 636b 6574 5f46 443b icast_Socket_FD;\n+00009730: 0a0a 5041 5241 4d45 5445 5253 0a20 2020 ..PARAMETERS. \n+00009740: 2020 4752 4f55 5020 2020 2020 2069 6e20 GROUP in \n+00009750: 2020 2020 2020 2020 4950 2061 6464 7265 IP addre\n+00009760: 7373 206f 6620 7468 6520 6d75 6c74 6963 ss of the multic\n+00009770: 6173 7420 6772 6f75 7020 746f 0a20 2020 ast group to. \n+00009780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009790: 2020 2020 2020 2020 6a6f 696e 0a20 2020 join. \n+000097a0: 2020 504f 5254 2020 2020 2020 2069 6e20 PORT in \n+000097b0: 2020 2020 2020 2020 506f 7274 206f 6620 Port of \n+000097c0: 7468 6520 6d75 6c74 6963 6173 7420 6772 the multicast gr\n+000097d0: 6f75 7020 746f 206a 6f69 6e0a 2020 2020 oup to join. \n+000097e0: 204c 4f43 414c 5f50 4f52 5420 696e 2020 LOCAL_PORT in \n+000097f0: 2020 2020 2020 204c 6f63 616c 2070 6f72 Local por\n+00009800: 7420 6e75 6d62 6572 2074 6f20 7573 650a t number to use.\n+00009810: 2020 2020 2054 544c 2020 2020 2020 2020 TTL \n+00009820: 696e 2020 2020 2020 2020 2054 696d 652d in Time-\n+00009830: 746f 2d6c 6976 6520 6f66 2073 656e 7420 to-live of sent \n+00009840: 7061 636b 6574 730a 2020 2020 204c 4f43 packets. LOC\n+00009850: 414c 5f49 4620 2020 696e 2020 2020 2020 AL_IF in \n+00009860: 2020 2041 6464 7265 7373 206f 6620 7468 Address of th\n+00009870: 6520 6c6f 6361 6c20 696e 7465 7266 6163 e local interfac\n+00009880: 6520 746f 2075 7365 0a0a 5245 5455 524e e to use..RETURN\n+00009890: 2056 414c 5545 0a20 2020 2020 5468 6520 VALUE. The \n+000098a0: 6e65 7720 696e 6974 6961 6c69 7a65 6420 new initialized \n+000098b0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+000098c0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+000098d0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+000098e0: 2063 7265 6174 6573 2061 6e20 4950 206d creates an IP m\n+000098f0: 756c 7469 6361 7374 2073 6f63 6b65 7420 ulticast socket \n+00009900: 6174 7461 6368 6564 2074 6f20 6120 6769 attached to a gi\n+00009910: 7665 6e0a 2020 2020 2067 726f 7570 2c20 ven. group, \n+00009920: 6964 656e 7469 6669 6564 2062 7920 6974 identified by it\n+00009930: 7320 636c 6173 7320 4520 4950 2061 6464 s class E IP add\n+00009940: 7265 7373 2061 6e64 2070 6f72 742e 2020 ress and port. \n+00009950: 4966 0a20 2020 2020 4c6f 6361 6c5f 506f If. Local_Po\n+00009960: 7274 2069 7320 302c 2061 2066 7265 6520 rt is 0, a free \n+00009970: 706f 7274 2077 696c 6c20 6175 746f 6d61 port will automa\n+00009980: 7469 6361 6c6c 7920 6265 2063 686f 7365 tically be chose\n+00009990: 6e20 6279 2079 6f75 720a 2020 2020 206f n by your. o\n+000099a0: 7065 7261 7469 6e67 2073 7973 7465 6d2e perating system.\n+000099b0: 0a0a 2020 2020 2054 6869 7320 6675 6e63 .. This func\n+000099c0: 7469 6f6e 2073 686f 756c 6420 6265 2075 tion should be u\n+000099d0: 7365 6420 7768 656e 2079 6f75 2077 616e sed when you wan\n+000099e0: 7420 746f 2073 656e 6420 7061 636b 6574 t to send packet\n+000099f0: 7320 746f 2061 0a20 2020 2020 6d75 6c74 s to a. mult\n+00009a00: 6963 6173 7420 6772 6f75 7020 7769 7468 icast group with\n+00009a10: 6f75 7420 7265 6365 6976 696e 6720 616e out receiving an\n+00009a20: 7920 7061 636b 6574 2079 6f75 7273 656c y packet yoursel\n+00009a30: 662e 0a0a 4558 414d 504c 450a 0a0a 5345 f...EXAMPLE...SE\n+00009a40: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not\n+00009a50: 6520 5365 6e64 2028 7072 6f63 6564 7572 e Send (procedur\n+00009a60: 6529 3a3a 2c0a 2020 2020 202a 6e6f 7465 e)::,. *note\n+00009a70: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n+00009a80: 6475 7265 293a 3a2e 0a0a 1f0a 4669 6c65 dure)::.....File\n+00009a90: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+00009aa0: 6f2c 2020 4e6f 6465 3a20 536f 636b 6574 o, Node: Socket\n+00009ab0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+00009ac0: 2c20 204e 6578 743a 2043 6f6e 7472 6962 , Next: Contrib\n+00009ad0: 7574 6f72 732c 2020 5072 6576 3a20 536f utors, Prev: So\n+00009ae0: 636b 6574 732e 4d75 6c74 6963 6173 7420 ckets.Multicast \n+00009af0: 7061 636b 6167 652c 2020 5570 3a20 546f package, Up: To\n+00009b00: 700a 0a36 2053 6f63 6b65 7473 2e4e 616d p..6 Sockets.Nam\n+00009b10: 696e 6720 7061 636b 6167 650a 2a2a 2a2a ing package.****\n+00009b20: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00009b30: 2a2a 2a2a 0a0a 5468 6520 2753 6f63 6b65 ****..The 'Socke\n+00009b40: 7473 2e4e 616d 696e 6727 2070 6163 6b61 ts.Naming' packa\n+00009b50: 6765 2063 6f6e 7461 696e 7320 7479 7065 ge contains type\n+00009b60: 7320 616e 6420 6865 6c70 6572 2066 756e s and helper fun\n+00009b70: 6374 696f 6e73 206e 6565 6465 640a 746f ctions needed.to\n+00009b80: 206d 616e 6970 756c 6174 6520 496e 7465 manipulate Inte\n+00009b90: 726e 6574 2068 6f73 7420 6e61 6d65 7320 rnet host names \n+00009ba0: 616e 6420 6164 6472 6573 7365 732e 0a0a and addresses...\n+00009bb0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+00009bc0: 6e67 2e41 6464 7265 7373 3a20 7479 7065 ng.Address: type\n+00009bd0: 2041 6464 7265 7373 2069 7320 7265 636f Address is reco\n+00009be0: 7264 0a20 2020 2020 2020 2020 2020 2048 rd. H\n+00009bf0: 312c 2048 322c 2048 332c 2048 3420 3a20 1, H2, H3, H4 : \n+00009c00: 4164 6472 6573 735f 436f 6d70 6f6e 656e Address_Componen\n+00009c10: 743b 0a20 2020 2020 2020 2020 2065 6e64 t;. end\n+00009c20: 2072 6563 6f72 643b 0a20 2020 2020 5468 record;. Th\n+00009c30: 6973 2074 7970 6520 7265 7072 6573 656e is type represen\n+00009c40: 7473 2061 6e20 4950 7634 2061 6464 7265 ts an IPv4 addre\n+00009c50: 7373 2077 6974 6820 2748 3127 2062 6569 ss with 'H1' bei\n+00009c60: 6e67 2074 6865 2066 6972 7374 0a20 2020 ng the first. \n+00009c70: 2020 6f63 7465 7420 616e 6420 2748 3427 octet and 'H4'\n+00009c80: 2074 6865 206c 6173 7420 6f6e 652e 2020 the last one. \n+00009c90: 466f 7220 6578 616d 706c 652c 2031 3337 For example, 137\n+00009ca0: 2e31 3934 2e31 3631 2e32 2069 730a 2020 .194.161.2 is. \n+00009cb0: 2020 2072 6570 7265 7365 6e74 6564 2062 represented b\n+00009cc0: 7920 2748 313d 3133 372c 2048 323d 3139 y 'H1=137, H2=19\n+00009cd0: 342c 2048 333d 3136 312c 2048 343d 3227 4, H3=161, H4=2'\n+00009ce0: 2e0a 0a20 2d2d 2053 6f63 6b65 7473 2e4e ... -- Sockets.N\n+00009cf0: 616d 696e 672e 4164 6472 6573 735f 4172 aming.Address_Ar\n+00009d00: 7261 793a 2074 7970 6520 4164 6472 6573 ray: type Addres\n+00009d10: 735f 4172 7261 7920 6973 2061 7272 6179 s_Array is array\n+00009d20: 2028 506f 7369 7469 7665 0a20 2020 2020 (Positive. \n+00009d30: 2020 2020 2072 616e 6765 203c 3e29 206f range <>) o\n+00009d40: 6620 4164 6472 6573 733b 0a20 2020 2020 f Address;. \n+00009d50: 4865 6c70 6572 2074 7970 650a 0a20 2d2d Helper type.. --\n+00009d60: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00009d70: 4164 6472 6573 735f 436f 6d70 6f6e 656e Address_Componen\n+00009d80: 743a 2074 7970 6520 4164 6472 6573 735f t: type Address_\n+00009d90: 436f 6d70 6f6e 656e 7420 6973 204e 6174 Component is Nat\n+00009da0: 7572 616c 0a20 2020 2020 2020 2020 2072 ural. r\n+00009db0: 616e 6765 2030 202e 2e20 3235 353b 0a20 ange 0 .. 255;. \n+00009dc0: 2020 2020 4865 6c70 6572 2074 7970 650a Helper type.\n+00009dd0: 0a20 2d2d 2053 6f63 6b65 7473 2e4e 616d . -- Sockets.Nam\n+00009de0: 696e 672e 486f 7374 5f45 6e74 7279 3a20 ing.Host_Entry: \n+00009df0: 7479 7065 2048 6f73 745f 456e 7472 7920 type Host_Entry \n+00009e00: 284e 5f41 6c69 6173 6573 2c20 4e5f 4164 (N_Aliases, N_Ad\n+00009e10: 6472 6573 7365 7320 3a0a 2020 2020 2020 dresses :. \n+00009e20: 2020 2020 4e61 7475 7261 6c29 2069 7320 Natural) is \n+00009e30: 6e65 7720 4164 612e 4669 6e61 6c69 7a61 new Ada.Finaliza\n+00009e40: 7469 6f6e 2e43 6f6e 7472 6f6c 6c65 6420 tion.Controlled \n+00009e50: 7769 7468 2072 6563 6f72 640a 2020 2020 with record. \n+00009e60: 2020 2020 2020 2020 204e 616d 6520 3a20 Name : \n+00009e70: 5374 7269 6e67 5f41 6363 6573 733b 0a20 String_Access;. \n+00009e80: 2020 2020 2020 2020 2020 2020 416c 6961 Alia\n+00009e90: 7365 7320 3a20 5374 7269 6e67 5f41 7272 ses : String_Arr\n+00009ea0: 6179 2028 3120 2e2e 204e 5f41 6c69 6173 ay (1 .. N_Alias\n+00009eb0: 6573 293b 0a20 2020 2020 2020 2020 2020 es);. \n+00009ec0: 2020 4164 6472 6573 7365 7320 3a20 4164 Addresses : Ad\n+00009ed0: 6472 6573 735f 4172 7261 7920 2831 202e dress_Array (1 .\n+00009ee0: 2e20 4e5f 4164 6472 6573 7365 7329 3b0a . N_Addresses);.\n+00009ef0: 2020 2020 2020 2020 2020 656e 6420 7265 end re\n+00009f00: 636f 7264 3b0a 2020 2020 2054 6865 2027 cord;. The '\n+00009f10: 486f 7374 5f45 6e74 7279 2720 7479 7065 Host_Entry' type\n+00009f20: 2068 6f6c 6473 2061 2073 6574 206f 6620 holds a set of \n+00009f30: 6e61 6d65 7320 616e 6420 4950 2061 6464 names and IP add\n+00009f40: 7265 7373 6573 0a20 2020 2020 6173 736f resses. asso\n+00009f50: 6369 6174 6564 2077 6974 6820 6120 686f ciated with a ho\n+00009f60: 7374 2e20 2045 6163 6820 686f 7374 2063 st. Each host c\n+00009f70: 616e 2068 6176 6520 7365 7665 7261 6c20 an have several \n+00009f80: 4950 2061 6464 7265 7373 2061 730a 2020 IP address as. \n+00009f90: 2020 2077 656c 6c20 6173 2073 6576 6572 well as sever\n+00009fa0: 616c 2061 6c69 6173 6573 2e0a 0a20 2d2d al aliases... --\n+00009fb0: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming.\n+00009fc0: 5374 7269 6e67 5f41 6363 6573 733a 2074 String_Access: t\n+00009fd0: 7970 6520 5374 7269 6e67 5f41 6363 6573 ype String_Acces\n+00009fe0: 7320 6973 2061 6363 6573 7320 5374 7269 s is access Stri\n+00009ff0: 6e67 3b0a 2020 2020 2048 656c 7065 7220 ng;. Helper \n+0000a000: 7479 7065 0a0a 202d 2d20 536f 636b 6574 type.. -- Socket\n+0000a010: 732e 4e61 6d69 6e67 2e53 7472 696e 675f s.Naming.String_\n+0000a020: 4172 7261 793a 2074 7970 6520 5374 7269 Array: type Stri\n+0000a030: 6e67 5f41 7272 6179 2069 7320 6172 7261 ng_Array is arra\n+0000a040: 7920 2850 6f73 6974 6976 650a 2020 2020 y (Positive. \n+0000a050: 2020 2020 2020 7261 6e67 6520 3c3e 2920 range <>) \n+0000a060: 6f66 2053 7472 696e 675f 4163 6365 7373 of String_Access\n+0000a070: 3b0a 2020 2020 2048 656c 7065 7220 7479 ;. Helper ty\n+0000a080: 7065 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 pe..* Menu:..* A\n+0000a090: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000a0a0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000a0c0: 6574 2074 6865 2049 5020 6164 6472 6573 et the IP addres\n+0000a0d0: 7320 6f66 2061 2068 6f73 740a 2a20 416e s of a host.* An\n+0000a0e0: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct\n+0000a0f0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a100: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000a110: 7065 6369 616c 2061 6464 7265 7373 2072 pecial address r\n+0000a120: 6570 7265 7365 6e74 696e 6720 616e 7920 epresenting any \n+0000a130: 6164 6472 6573 7320 6f6e 2074 6865 206c address on the l\n+0000a140: 6f63 616c 2068 6f73 740a 2a20 4765 745f ocal host.* Get_\n+0000a150: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000a160: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a170: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000a180: 6574 7269 6576 6520 4950 2061 6464 7265 etrieve IP addre\n+0000a190: 7373 206f 6620 7265 6d6f 7465 2068 6f73 ss of remote hos\n+0000a1a0: 740a 2a20 4765 745f 5065 6572 5f50 6f72 t.* Get_Peer_Por\n+0000a1b0: 7420 2866 756e 6374 696f 6e29 3a3a 0a20 t (function)::. \n+0000a1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a1d0: 2020 2020 2020 2052 6574 7269 6576 6520 Retrieve \n+0000a1e0: 706f 7274 2075 7365 6420 6279 2072 656d port used by rem\n+0000a1f0: 6f74 6520 686f 7374 0a2a 2047 6574 5f53 ote host.* Get_S\n+0000a200: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000a210: 6f6e 293a 3a0a 2020 2020 2020 2020 2020 on)::. \n+0000a220: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+0000a230: 7472 6965 7665 2049 5020 6164 6472 6573 trieve IP addres\n+0000a240: 7320 6f66 206c 6f63 616c 2068 6f73 740a s of local host.\n+0000a250: 2a20 4765 745f 536f 636b 5f50 6f72 7420 * Get_Sock_Port \n+0000a260: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. \n+0000a270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a280: 2020 2020 2052 6574 7269 6576 6520 706f Retrieve po\n+0000a290: 7274 2075 7365 6420 6279 206c 6f63 616c rt used by local\n+0000a2a0: 2068 6f73 740a 2a20 486f 7374 5f4e 616d host.* Host_Nam\n+0000a2b0: 6520 2866 756e 6374 696f 6e29 3a3a 0a20 e (function)::. \n+0000a2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a2d0: 2020 2020 2020 2047 6574 2074 6865 206e Get the n\n+0000a2e0: 616d 6520 6f66 2074 6865 2063 7572 7265 ame of the curre\n+0000a2f0: 6e74 2068 6f73 740a 2a20 496d 6167 6520 nt host.* Image \n+0000a300: 2866 756e 6374 696f 6e29 3a3a 2020 2020 (function):: \n+0000a310: 4d61 6b65 2061 2073 7472 696e 6720 6672 Make a string fr\n+0000a320: 6f6d 2061 6e20 6164 6472 6573 730a 2a20 om an address.* \n+0000a330: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000a340: 4950 2028 6675 6e63 7469 6f6e 293a 3a0a IP (function)::.\n+0000a350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a360: 2020 2020 2020 2020 4765 7420 6164 6472 Get addr\n+0000a370: 6573 7365 7320 616e 6420 6e61 6d65 7320 esses and names \n+0000a380: 6f66 2061 2068 6f73 740a 2a20 4973 5f49 of a host.* Is_I\n+0000a390: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct\n+0000a3a0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. \n+0000a3b0: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+0000a3c0: 6865 636b 2069 6620 6769 7665 6e20 7374 heck if given st\n+0000a3d0: 7269 6e67 2069 7320 6120 7661 6c69 6420 ring is a valid \n+0000a3e0: 4950 2061 6464 7265 7373 0a2a 204e 616d IP address.* Nam\n+0000a3f0: 655f 4f66 2028 6675 6e63 7469 6f6e 293a e_Of (function):\n+0000a400: 3a20 204f 6666 6963 6961 6c20 6e61 6d65 : Official name\n+0000a410: 206f 6620 7468 6520 686f 7374 0a2a 2056 of the host.* V\n+0000a420: 616c 7565 2028 6675 6e63 7469 6f6e 293a alue (function):\n+0000a430: 3a20 2020 2054 7261 6e73 666f 726d 2061 : Transform a\n+0000a440: 2073 7472 696e 6720 696e 746f 2061 6e20 string into an \n+0000a450: 6164 6472 6573 730a 0a1f 0a46 696c 653a address....File:\n+0000a460: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000a470: 2c20 204e 6f64 653a 2041 6464 7265 7373 , Node: Address\n+0000a480: 5f4f 6620 2866 756e 6374 696f 6e29 2c20 _Of (function), \n+0000a490: 204e 6578 743a 2041 6e79 5f41 6464 7265 Next: Any_Addre\n+0000a4a0: 7373 2028 6675 6e63 7469 6f6e 292c 2020 ss (function), \n+0000a4b0: 5570 3a20 536f 636b 6574 732e 4e61 6d69 Up: Sockets.Nami\n+0000a4c0: 6e67 2070 6163 6b61 6765 0a0a 4164 6472 ng package..Addr\n+0000a4d0: 6573 735f 4f66 2028 6675 6e63 7469 6f6e ess_Of (function\n+0000a4e0: 290a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ).==============\n+0000a4f0: 3d3d 3d3d 3d3d 3d0a 0a50 5552 504f 5345 =======..PURPOSE\n+0000a500: 0a20 2020 2020 4765 7420 7468 6520 4950 . Get the IP\n+0000a510: 2061 6464 7265 7373 206f 6620 6120 686f address of a ho\n+0000a520: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. \n+0000a530: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000a540: 6d69 6e67 2e41 6464 7265 7373 5f4f 663a ming.Address_Of:\n+0000a550: 2066 756e 6374 696f 6e20 4164 6472 6573 function Addres\n+0000a560: 735f 4f66 0a20 2020 2020 2020 2020 2020 s_Of. \n+0000a570: 2020 2020 2853 4f4d 4554 4849 4e47 203a (SOMETHING :\n+0000a580: 2053 7472 696e 6729 0a20 2020 2020 2020 String). \n+0000a590: 2020 2020 2020 2020 7265 7475 726e 2041 return A\n+0000a5a0: 6464 7265 7373 3b0a 0a50 4152 414d 4554 ddress;..PARAMET\n+0000a5b0: 4552 530a 2020 2020 2053 4f4d 4554 4849 ERS. SOMETHI\n+0000a5c0: 4e47 2020 696e 2020 2020 2020 2020 2048 NG in H\n+0000a5d0: 6f73 7420 6e61 6d65 206f 7220 4950 2061 ost name or IP a\n+0000a5e0: 6464 7265 7373 0a0a 5245 5455 524e 2056 ddress..RETURN V\n+0000a5f0: 414c 5545 0a20 2020 2020 4950 7634 2061 ALUE. IPv4 a\n+0000a600: 6464 7265 7373 0a0a 4558 4345 5054 494f ddress..EXCEPTIO\n+0000a610: 4e53 0a20 2020 2020 274e 616d 696e 675f NS. 'Naming_\n+0000a620: 4572 726f 7227 2020 2020 204e 6f20 696e Error' No in\n+0000a630: 666f 726d 6174 696f 6e20 6176 6169 6c61 formation availa\n+0000a640: 626c 6520 666f 7220 7468 6973 206e 616d ble for this nam\n+0000a650: 6520 6f72 0a20 2020 2020 2020 2020 2020 e or. \n+0000a660: 2020 2020 2020 2020 2020 2020 2061 6464 add\n+0000a670: 7265 7373 0a0a 5345 4520 414c 534f 0a20 ress..SEE ALSO. \n+0000a680: 2020 2020 2a6e 6f74 6520 4e61 6d65 5f4f *note Name_O\n+0000a690: 6620 2866 756e 6374 696f 6e29 3a3a 2e0a f (function)::..\n+0000a6a0: 0a2a 204d 656e 753a 0a0a 2a20 416e 795f .* Menu:..* Any_\n+0000a6b0: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio\n+0000a6c0: 6e29 3a3a 0a2a 2047 6574 5f50 6565 725f n)::.* Get_Peer_\n+0000a6d0: 4164 6472 2028 6675 6e63 7469 6f6e 293a Addr (function):\n+0000a6e0: 3a0a 2a20 4765 745f 5065 6572 5f50 6f72 :.* Get_Peer_Por\n+0000a6f0: 7420 2866 756e 6374 696f 6e29 3a3a 0a2a t (function)::.*\n+0000a700: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr (\n+0000a710: 6675 6e63 7469 6f6e 293a 3a0a 2a20 4765 function)::.* Ge\n+0000a720: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun\n+0000a730: 6374 696f 6e29 3a3a 0a2a 2048 6f73 745f ction)::.* Host_\n+0000a740: 4e61 6d65 2028 6675 6e63 7469 6f6e 293a Name (function):\n+0000a750: 3a0a 2a20 496d 6167 6520 2866 756e 6374 :.* Image (funct\n+0000a760: 696f 6e29 3a3a 0a2a 2049 6e66 6f5f 4f66 ion)::.* Info_Of\n+0000a770: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun\n+0000a780: 6374 696f 6e29 3a3a 0a2a 2049 735f 4950 ction)::.* Is_IP\n+0000a790: 5f41 6464 7265 7373 2028 6675 6e63 7469 _Address (functi\n+0000a7a0: 6f6e 293a 3a0a 2a20 4e61 6d65 5f4f 6620 on)::.* Name_Of \n+0000a7b0: 2866 756e 6374 696f 6e29 3a3a 0a2a 2056 (function)::.* V\n+0000a7c0: 616c 7565 2028 6675 6e63 7469 6f6e 293a alue (function):\n+0000a7d0: 3a0a 0a1f 0a46 696c 653a 2061 6461 736f :....File: adaso\n+0000a7e0: 636b 6574 732e 696e 666f 2c20 204e 6f64 ckets.info, Nod\n+0000a7f0: 653a 2041 6e79 5f41 6464 7265 7373 2028 e: Any_Address (\n+0000a800: 6675 6e63 7469 6f6e 292c 2020 4e65 7874 function), Next\n+0000a810: 3a20 4765 745f 5065 6572 5f41 6464 7220 : Get_Peer_Addr \n+0000a820: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+0000a830: 763a 2041 6464 7265 7373 5f4f 6620 2866 v: Address_Of (f\n+0000a840: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A\n+0000a850: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000a860: 696f 6e29 0a0a 416e 795f 4164 6472 6573 ion)..Any_Addres\n+0000a870: 7320 2866 756e 6374 696f 6e29 0a2d 2d2d s (function).---\n+0000a880: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000a890: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000a8a0: 2020 5370 6563 6961 6c20 6164 6472 6573 Special addres\n+0000a8b0: 7320 7265 7072 6573 656e 7469 6e67 2061 s representing a\n+0000a8c0: 6e79 2061 6464 7265 7373 206f 6e20 7468 ny address on th\n+0000a8d0: 6520 6c6f 6361 6c20 686f 7374 0a50 524f e local host.PRO\n+0000a8e0: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+0000a8f0: 536f 636b 6574 732e 4e61 6d69 6e67 2e41 Sockets.Naming.A\n+0000a900: 6e79 5f41 6464 7265 7373 3a20 6675 6e63 ny_Address: func\n+0000a910: 7469 6f6e 2041 6e79 5f41 6464 7265 7373 tion Any_Address\n+0000a920: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000a930: 2020 2020 4571 7569 7661 6c65 6e74 2074 Equivalent t\n+0000a940: 6f20 2749 4e41 4444 525f 414e 5927 2069 o 'INADDR_ANY' i\n+0000a950: 6e20 7468 6520 4320 7072 6f67 7261 6d6d n the C programm\n+0000a960: 696e 6720 6c61 6e67 7561 6765 0a0a 1f0a ing language....\n+0000a970: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets\n+0000a980: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge\n+0000a990: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n+0000a9a0: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G\n+0000a9b0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+0000a9c0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: \n+0000a9d0: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun\n+0000a9e0: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000a9f0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000aa00: 6e29 0a0a 4765 745f 5065 6572 5f41 6464 n)..Get_Peer_Add\n+0000aa10: 7220 2866 756e 6374 696f 6e29 0a2d 2d2d r (function).---\n+0000aa20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000aa30: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000aa40: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP \n+0000aa50: 6164 6472 6573 7320 6f66 2072 656d 6f74 address of remot\n+0000aa60: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE\n+0000aa70: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+0000aa80: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565 s.Naming.Get_Pee\n+0000aa90: 725f 4164 6472 3a20 6675 6e63 7469 6f6e r_Addr: function\n+0000aaa0: 2047 6574 5f50 6565 725f 4164 6472 0a20 Get_Peer_Addr. \n+0000aab0: 2020 2020 2020 2020 2020 2020 2020 2853 (S\n+0000aac0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F\n+0000aad0: 4429 0a20 2020 2020 2020 2020 2020 2020 D). \n+0000aae0: 2020 7265 7475 726e 2041 6464 7265 7373 return Address\n+0000aaf0: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. \n+0000ab00: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in\n+0000ab10: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+0000ab20: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object\n+0000ab30: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. \n+0000ab40: 2020 2020 5065 6572 2061 6464 7265 7373 Peer address\n+0000ab50: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. \n+0000ab60: 2a6e 6f74 6520 4765 745f 5065 6572 5f50 *note Get_Peer_P\n+0000ab70: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function)::\n+0000ab80: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get\n+0000ab90: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000aba0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File\n+0000abb0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf\n+0000abc0: 6f2c 2020 4e6f 6465 3a20 4765 745f 5065 o, Node: Get_Pe\n+0000abd0: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000abe0: 6e29 2c20 204e 6578 743a 2047 6574 5f53 n), Next: Get_S\n+0000abf0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+0000ac00: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_\n+0000ac10: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct\n+0000ac20: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre\n+0000ac30: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function)\n+0000ac40: 0a0a 4765 745f 5065 6572 5f50 6f72 7420 ..Get_Peer_Port \n+0000ac50: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).-----\n+0000ac60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000ac70: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000ac80: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port \n+0000ac90: 7573 6564 2062 7920 7265 6d6f 7465 2068 used by remote h\n+0000aca0: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. \n+0000acb0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N\n+0000acc0: 616d 696e 672e 4765 745f 5065 6572 5f50 aming.Get_Peer_P\n+0000acd0: 6f72 743a 2066 756e 6374 696f 6e20 4765 ort: function Ge\n+0000ace0: 745f 5065 6572 5f50 6f72 740a 2020 2020 t_Peer_Port. \n+0000acf0: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK\n+0000ad00: 4554 203a 2053 6f63 6b65 745f 4644 290a ET : Socket_FD).\n+0000ad10: 2020 2020 2020 2020 2020 2020 2020 2072 r\n+0000ad20: 6574 7572 6e20 506f 7369 7469 7665 3b0a eturn Positive;.\n+0000ad30: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. \n+0000ad40: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in \n+0000ad50: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected\n+0000ad60: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object..\n+0000ad70: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. \n+0000ad80: 2020 506f 7274 2075 7365 6420 6f6e 2074 Port used on t\n+0000ad90: 6865 2072 656d 6f74 6520 686f 7374 0a0a he remote host..\n+0000ada0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000adb0: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por\n+0000adc0: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+0000add0: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000ade0: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000adf0: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000ae00: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000ae10: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock\n+0000ae20: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function)\n+0000ae30: 2c20 204e 6578 743a 2047 6574 5f53 6f63 , Next: Get_Soc\n+0000ae40: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000ae50: 292c 2020 5072 6576 3a20 4765 745f 5065 ), Prev: Get_Pe\n+0000ae60: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000ae70: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address\n+0000ae80: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function)..\n+0000ae90: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f\n+0000aea0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).-------\n+0000aeb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000aec0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. \n+0000aed0: 5265 7472 6965 7665 2049 5020 6164 6472 Retrieve IP addr\n+0000aee0: 6573 7320 6f66 206c 6f63 616c 2068 6f73 ess of local hos\n+0000aef0: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. \n+0000af00: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam\n+0000af10: 696e 672e 4765 745f 536f 636b 5f41 6464 ing.Get_Sock_Add\n+0000af20: 723a 2066 756e 6374 696f 6e20 4765 745f r: function Get_\n+0000af30: 536f 636b 5f41 6464 720a 2020 2020 2020 Sock_Addr. \n+0000af40: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET\n+0000af50: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). \n+0000af60: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000af70: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA\n+0000af80: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO\n+0000af90: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in \n+0000afa0: 2020 2020 436f 6e6e 6563 7465 6420 736f Connected so\n+0000afb0: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET\n+0000afc0: 5552 4e20 5641 4c55 450a 2020 2020 2041 URN VALUE. A\n+0000afd0: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local \n+0000afe0: 696e 7465 7266 6163 6520 7573 6564 0a0a interface used..\n+0000aff0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n\n+0000b000: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por\n+0000b010: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,.\n+0000b020: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P\n+0000b030: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi\n+0000b040: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: \n+0000b050: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info,\n+0000b060: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock\n+0000b070: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function)\n+0000b080: 2c20 204e 6578 743a 2048 6f73 745f 4e61 , Next: Host_Na\n+0000b090: 6d65 2028 6675 6e63 7469 6f6e 292c 2020 me (function), \n+0000b0a0: 5072 6576 3a20 4765 745f 536f 636b 5f41 Prev: Get_Sock_A\n+0000b0b0: 6464 7220 2866 756e 6374 696f 6e29 2c20 ddr (function), \n+0000b0c0: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n+0000b0d0: 2866 756e 6374 696f 6e29 0a0a 4765 745f (function)..Get_\n+0000b0e0: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct\n+0000b0f0: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+0000b100: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P\n+0000b110: 5552 504f 5345 0a20 2020 2020 5265 7472 URPOSE. Retr\n+0000b120: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b\n+0000b130: 7920 6c6f 6361 6c20 686f 7374 0a50 524f y local host.PRO\n+0000b140: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- \n+0000b150: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n+0000b160: 6574 5f53 6f63 6b5f 506f 7274 3a20 6675 et_Sock_Port: fu\n+0000b170: 6e63 7469 6f6e 2047 6574 5f53 6f63 6b5f nction Get_Sock_\n+0000b180: 506f 7274 0a20 2020 2020 2020 2020 2020 Port. \n+0000b190: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So\n+0000b1a0: 636b 6574 5f46 4429 0a20 2020 2020 2020 cket_FD). \n+0000b1b0: 2020 2020 2020 2020 7265 7475 726e 2050 return P\n+0000b1c0: 6f73 6974 6976 653b 0a0a 5041 5241 4d45 ositive;..PARAME\n+0000b1d0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET\n+0000b1e0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+0000b1f0: 436f 6e6e 6563 7465 6420 736f 636b 6574 Connected socket\n+0000b200: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN \n+0000b210: 5641 4c55 450a 2020 2020 2050 6f72 7420 VALUE. Port \n+0000b220: 7573 6564 206f 6e20 7468 6520 6c6f 6361 used on the loca\n+0000b230: 6c20 686f 7374 0a0a 5345 4520 414c 534f l host..SEE ALSO\n+0000b240: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_\n+0000b250: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct\n+0000b260: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no\n+0000b270: 7465 2047 6574 5f53 6f63 6b5f 4164 6472 te Get_Sock_Addr\n+0000b280: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+0000b290: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000b2a0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000b2b0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct\n+0000b2c0: 696f 6e29 2c20 204e 6578 743a 2049 6d61 ion), Next: Ima\n+0000b2d0: 6765 2028 6675 6e63 7469 6f6e 292c 2020 ge (function), \n+0000b2e0: 5072 6576 3a20 4765 745f 536f 636b 5f50 Prev: Get_Sock_P\n+0000b2f0: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), \n+0000b300: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of \n+0000b310: 2866 756e 6374 696f 6e29 0a0a 486f 7374 (function)..Host\n+0000b320: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n+0000b330: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000b340: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000b350: 2020 2020 4765 7420 7468 6520 6e61 6d65 Get the name\n+0000b360: 206f 6620 7468 6520 6375 7272 656e 7420 of the current \n+0000b370: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. \n+0000b380: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets.\n+0000b390: 4e61 6d69 6e67 2e48 6f73 745f 4e61 6d65 Naming.Host_Name\n+0000b3a0: 3a20 6675 6e63 7469 6f6e 2048 6f73 745f : function Host_\n+0000b3b0: 4e61 6d65 0a0a 5245 5455 524e 2056 414c Name..RETURN VAL\n+0000b3c0: 5545 0a20 2020 2020 4e61 6d65 206f 6620 UE. Name of \n+0000b3d0: 7468 6520 6375 7272 656e 7420 686f 7374 the current host\n+0000b3e0: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. \n+0000b3f0: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function\n+0000b400: 2072 6574 7572 6e73 2074 6865 206e 616d returns the nam\n+0000b410: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current\n+0000b420: 2068 6f73 742e 2020 4465 7065 6e64 696e host. Dependin\n+0000b430: 6720 6f6e 0a20 2020 2020 7468 6520 6c6f g on. the lo\n+0000b440: 6361 6c20 636f 6e66 6967 7572 6174 696f cal configuratio\n+0000b450: 6e2c 2069 7420 6d61 7920 6f72 206d 6179 n, it may or may\n+0000b460: 206e 6f74 2062 6520 6120 6675 6c6c 7920 not be a fully \n+0000b470: 7175 616c 6966 6965 640a 2020 2020 2064 qualified. d\n+0000b480: 6f6d 6169 6e20 6e61 6d65 2028 4651 444e omain name (FQDN\n+0000b490: 292e 0a0a 1f0a 4669 6c65 3a20 6164 6173 ).....File: adas\n+0000b4a0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+0000b4b0: 6465 3a20 496d 6167 6520 2866 756e 6374 de: Image (funct\n+0000b4c0: 696f 6e29 2c20 204e 6578 743a 2049 6e66 ion), Next: Inf\n+0000b4d0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP \n+0000b4e0: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre\n+0000b4f0: 763a 2048 6f73 745f 4e61 6d65 2028 6675 v: Host_Name (fu\n+0000b500: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000b510: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000b520: 6f6e 290a 0a49 6d61 6765 2028 6675 6e63 on)..Image (func\n+0000b530: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000b540: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE.\n+0000b550: 2020 2020 204d 616b 6520 6120 7374 7269 Make a stri\n+0000b560: 6e67 2066 726f 6d20 616e 2061 6464 7265 ng from an addre\n+0000b570: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. \n+0000b580: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na\n+0000b590: 6d69 6e67 2e49 6d61 6765 3a20 6675 6e63 ming.Image: func\n+0000b5a0: 7469 6f6e 2049 6d61 6765 2028 4144 4420 tion Image (ADD \n+0000b5b0: 3a20 4164 6472 6573 7329 0a20 2020 2020 : Address). \n+0000b5c0: 2020 2020 2020 2020 2020 7265 7475 726e return\n+0000b5d0: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME\n+0000b5e0: 5445 5253 0a20 2020 2020 4144 4420 2020 TERS. ADD \n+0000b5f0: 2020 2020 2069 6e20 2020 2020 2020 2020 in \n+0000b600: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU\n+0000b610: 524e 2056 414c 5545 0a20 2020 2020 5374 RN VALUE. St\n+0000b620: 7269 6e67 2072 6570 7265 7365 6e74 6174 ring representat\n+0000b630: 696f 6e20 6f66 2074 6865 2049 5020 6164 ion of the IP ad\n+0000b640: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO.\n+0000b650: 2020 2020 202a 6e6f 7465 2056 616c 7565 *note Value\n+0000b660: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::...\n+0000b670: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke\n+0000b680: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: \n+0000b690: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000b6a0: 4950 2028 6675 6e63 7469 6f6e 292c 2020 IP (function), \n+0000b6b0: 4e65 7874 3a20 4973 5f49 505f 4164 6472 Next: Is_IP_Addr\n+0000b6c0: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n+0000b6d0: 2050 7265 763a 2049 6d61 6765 2028 6675 Prev: Image (fu\n+0000b6e0: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad\n+0000b6f0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi\n+0000b700: 6f6e 290a 0a49 6e66 6f5f 4f66 5f4e 616d on)..Info_Of_Nam\n+0000b710: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+0000b720: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).-------------\n+0000b730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b740: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G\n+0000b750: 6574 2061 6464 7265 7373 6573 2061 6e64 et addresses and\n+0000b760: 206e 616d 6573 206f 6620 6120 686f 7374 names of a host\n+0000b770: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. \n+0000b780: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami\n+0000b790: 6e67 2e49 6e66 6f5f 4f66 5f4e 616d 655f ng.Info_Of_Name_\n+0000b7a0: 4f72 5f49 503a 2066 756e 6374 696f 6e20 Or_IP: function \n+0000b7b0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_\n+0000b7c0: 4950 0a20 2020 2020 2020 2020 2020 2020 IP. \n+0000b7d0: 2020 2853 4f4d 4554 4849 4e47 203a 2053 (SOMETHING : S\n+0000b7e0: 7472 696e 6729 0a20 2020 2020 2020 2020 tring). \n+0000b7f0: 2020 2020 2020 7265 7475 726e 2048 6f73 return Hos\n+0000b800: 745f 456e 7472 793b 0a0a 5041 5241 4d45 t_Entry;..PARAME\n+0000b810: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH\n+0000b820: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in \n+0000b830: 486f 7374 206e 616d 6520 6f72 2049 5020 Host name or IP \n+0000b840: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN \n+0000b850: 5641 4c55 450a 2020 2020 2043 6f72 7265 VALUE. Corre\n+0000b860: 7370 6f6e 6469 6e67 2068 6f73 7420 656e sponding host en\n+0000b870: 7472 790a 0a44 4553 4352 4950 5449 4f4e try..DESCRIPTION\n+0000b880: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct\n+0000b890: 696f 6e20 6578 7472 6163 7473 2061 6c6c ion extracts all\n+0000b8a0: 2074 6865 206e 616d 6573 2061 6e64 2061 the names and a\n+0000b8b0: 6464 7265 7373 6573 2066 726f 6d20 7468 ddresses from th\n+0000b8c0: 6520 6e61 6d69 6e67 0a20 2020 2020 7365 e naming. se\n+0000b8d0: 7276 6963 652e 0a0a 4558 4345 5054 494f rvice...EXCEPTIO\n+0000b8e0: 4e53 0a20 2020 2020 274e 616d 696e 675f NS. 'Naming_\n+0000b8f0: 4572 726f 7227 2020 2020 204e 6f20 696e Error' No in\n+0000b900: 666f 726d 6174 696f 6e20 6176 6169 6c61 formation availa\n+0000b910: 626c 6520 666f 7220 7468 6973 206e 616d ble for this nam\n+0000b920: 6520 6f72 0a20 2020 2020 2020 2020 2020 e or. \n+0000b930: 2020 2020 2020 2020 2020 2020 2061 6464 add\n+0000b940: 7265 7373 0a0a 1f0a 4669 6c65 3a20 6164 ress....File: ad\n+0000b950: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, \n+0000b960: 4e6f 6465 3a20 4973 5f49 505f 4164 6472 Node: Is_IP_Addr\n+0000b970: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), \n+0000b980: 204e 6578 743a 204e 616d 655f 4f66 2028 Next: Name_Of (\n+0000b990: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev\n+0000b9a0: 3a20 496e 666f 5f4f 665f 4e61 6d65 5f4f : Info_Of_Name_O\n+0000b9b0: 725f 4950 2028 6675 6e63 7469 6f6e 292c r_IP (function),\n+0000b9c0: 2020 5570 3a20 4164 6472 6573 735f 4f66 Up: Address_Of\n+0000b9d0: 2028 6675 6e63 7469 6f6e 290a 0a49 735f (function)..Is_\n+0000b9e0: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func\n+0000b9f0: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).----------\n+0000ba00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+0000ba10: 5055 5250 4f53 450a 2020 2020 2043 6865 PURPOSE. Che\n+0000ba20: 636b 2069 6620 6769 7665 6e20 7374 7269 ck if given stri\n+0000ba30: 6e67 2069 7320 6120 7661 6c69 6420 4950 ng is a valid IP\n+0000ba40: 2061 6464 7265 7373 0a50 524f 544f 5459 address.PROTOTY\n+0000ba50: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock\n+0000ba60: 6574 732e 4e61 6d69 6e67 2e49 735f 4950 ets.Naming.Is_IP\n+0000ba70: 5f41 6464 7265 7373 3a20 6675 6e63 7469 _Address: functi\n+0000ba80: 6f6e 2049 735f 4950 5f41 6464 7265 7373 on Is_IP_Address\n+0000ba90: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000baa0: 2853 4f4d 4554 4849 4e47 203a 2053 7472 (SOMETHING : Str\n+0000bab0: 696e 6729 0a20 2020 2020 2020 2020 2020 ing). \n+0000bac0: 2020 2020 7265 7475 726e 2042 6f6f 6c65 return Boole\n+0000bad0: 616e 3b0a 0a50 4152 414d 4554 4552 530a an;..PARAMETERS.\n+0000bae0: 2020 2020 2053 4f4d 4554 4849 4e47 2020 SOMETHING \n+0000baf0: 696e 2020 2020 2020 2020 2053 7472 696e in Strin\n+0000bb00: 6720 746f 2063 6865 636b 0a0a 5245 5455 g to check..RETU\n+0000bb10: 524e 2056 414c 5545 0a20 2020 2020 2754 RN VALUE. 'T\n+0000bb20: 7275 6527 2069 6620 534f 4d45 5448 494e rue' if SOMETHIN\n+0000bb30: 4720 6973 2061 6e20 4950 2061 6464 7265 G is an IP addre\n+0000bb40: 7373 0a0a 1f0a 4669 6c65 3a20 6164 6173 ss....File: adas\n+0000bb50: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No\n+0000bb60: 6465 3a20 4e61 6d65 5f4f 6620 2866 756e de: Name_Of (fun\n+0000bb70: 6374 696f 6e29 2c20 204e 6578 743a 2056 ction), Next: V\n+0000bb80: 616c 7565 2028 6675 6e63 7469 6f6e 292c alue (function),\n+0000bb90: 2020 5072 6576 3a20 4973 5f49 505f 4164 Prev: Is_IP_Ad\n+0000bba0: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function)\n+0000bbb0: 2c20 2055 703a 2041 6464 7265 7373 5f4f , Up: Address_O\n+0000bbc0: 6620 2866 756e 6374 696f 6e29 0a0a 4e61 f (function)..Na\n+0000bbd0: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function)\n+0000bbe0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000bbf0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. \n+0000bc00: 2020 4f66 6669 6369 616c 206e 616d 6520 Official name \n+0000bc10: 6f66 2074 6865 2068 6f73 740a 5052 4f54 of the host.PROT\n+0000bc20: 4f54 5950 450a 2020 2020 2020 2d2d 2053 OTYPE. -- S\n+0000bc30: 6f63 6b65 7473 2e4e 616d 696e 672e 4e61 ockets.Naming.Na\n+0000bc40: 6d65 5f4f 663a 2066 756e 6374 696f 6e20 me_Of: function \n+0000bc50: 4e61 6d65 5f4f 6620 2853 4f4d 4554 4849 Name_Of (SOMETHI\n+0000bc60: 4e47 203a 2053 7472 696e 6729 0a20 2020 NG : String). \n+0000bc70: 2020 2020 2020 2020 2020 2020 7265 7475 retu\n+0000bc80: 726e 2053 7472 696e 673b 0a0a 5041 5241 rn String;..PARA\n+0000bc90: 4d45 5445 5253 0a20 2020 2020 534f 4d45 METERS. SOME\n+0000bca0: 5448 494e 4720 2069 6e20 2020 2020 2020 THING in \n+0000bcb0: 2020 486f 7374 206e 616d 6520 6f72 2049 Host name or I\n+0000bcc0: 5020 6164 6472 6573 730a 0a52 4554 5552 P address..RETUR\n+0000bcd0: 4e20 5641 4c55 450a 2020 2020 204e 616d N VALUE. Nam\n+0000bce0: 6520 6f66 2074 6865 2068 6f73 740a 0a45 e of the host..E\n+0000bcf0: 5843 4550 5449 4f4e 530a 2020 2020 2027 XCEPTIONS. '\n+0000bd00: 4e61 6d69 6e67 5f45 7272 6f72 2720 2020 Naming_Error' \n+0000bd10: 2020 4e6f 2069 6e66 6f72 6d61 7469 6f6e No information\n+0000bd20: 2061 7661 696c 6162 6c65 2066 6f72 2074 available for t\n+0000bd30: 6869 7320 6e61 6d65 206f 720a 2020 2020 his name or. \n+0000bd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000bd50: 2020 2020 6164 6472 6573 730a 0a53 4545 address..SEE\n+0000bd60: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note\n+0000bd70: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun\n+0000bd80: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil\n+0000bd90: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000bda0: 666f 2c20 204e 6f64 653a 2056 616c 7565 fo, Node: Value\n+0000bdb0: 2028 6675 6e63 7469 6f6e 292c 2020 5072 (function), Pr\n+0000bdc0: 6576 3a20 4e61 6d65 5f4f 6620 2866 756e ev: Name_Of (fun\n+0000bdd0: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add\n+0000bde0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+0000bdf0: 6e29 0a0a 5661 6c75 6520 2866 756e 6374 n)..Value (funct\n+0000be00: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).-----------\n+0000be10: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. \n+0000be20: 2020 2020 5472 616e 7366 6f72 6d20 6120 Transform a \n+0000be30: 7374 7269 6e67 2069 6e74 6f20 616e 2061 string into an a\n+0000be40: 6464 7265 7373 0a50 524f 544f 5459 5045 ddress.PROTOTYPE\n+0000be50: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket\n+0000be60: 732e 4e61 6d69 6e67 2e56 616c 7565 3a20 s.Naming.Value: \n+0000be70: 6675 6e63 7469 6f6e 2056 616c 7565 2028 function Value (\n+0000be80: 4144 4420 3a20 5374 7269 6e67 290a 2020 ADD : String). \n+0000be90: 2020 2020 2020 2020 2020 2020 2072 6574 ret\n+0000bea0: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA\n+0000beb0: 5241 4d45 5445 5253 0a20 2020 2020 4144 RAMETERS. AD\n+0000bec0: 4420 2020 2020 2020 2069 6e20 2020 2020 D in \n+0000bed0: 2020 2020 5465 7874 7561 6c20 7265 7072 Textual repr\n+0000bee0: 6573 656e 7461 7469 6f6e 206f 6620 616e esentation of an\n+0000bef0: 2049 5020 6164 6472 6573 730a 0a52 4554 IP address..RET\n+0000bf00: 5552 4e20 5641 4c55 450a 2020 2020 2043 URN VALUE. C\n+0000bf10: 6f72 7265 7370 6f6e 6469 6e67 2041 6464 orresponding Add\n+0000bf20: 7265 7373 0a0a 5345 4520 414c 534f 0a20 ress..SEE ALSO. \n+0000bf30: 2020 2020 2a6e 6f74 6520 496d 6167 6520 *note Image \n+0000bf40: 2866 756e 6374 696f 6e29 3a3a 2e0a 0a1f (function)::....\n+0000bf50: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket\n+0000bf60: 732e 696e 666f 2c20 204e 6f64 653a 2043 s.info, Node: C\n+0000bf70: 6f6e 7472 6962 7574 6f72 732c 2020 4e65 ontributors, Ne\n+0000bf80: 7874 3a20 5265 736f 7572 6365 7320 6f6e xt: Resources on\n+0000bf90: 2074 6865 2049 6e74 6572 6e65 742c 2020 the Internet, \n+0000bfa0: 5072 6576 3a20 536f 636b 6574 732e 4e61 Prev: Sockets.Na\n+0000bfb0: 6d69 6e67 2070 6163 6b61 6765 2c20 2055 ming package, U\n+0000bfc0: 703a 2054 6f70 0a0a 4170 7065 6e64 6978 p: Top..Appendix\n+0000bfd0: 2041 2043 6f6e 7472 6962 7574 6f72 730a A Contributors.\n+0000bfe0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000bff0: 2a2a 2a2a 2a2a 2a0a 0a41 6461 536f 636b *******..AdaSock\n+0000c000: 6574 7320 6861 7320 6265 656e 206f 7269 ets has been ori\n+0000c010: 6769 6e61 6c6c 7920 6465 7665 6c6f 7070 ginally developp\n+0000c020: 6564 2062 7920 5361 6d75 656c 2054 6172 ed by Samuel Tar\n+0000c030: 6469 6575 2077 686f 2073 7469 6c6c 0a6d dieu who still.m\n+0000c040: 6169 6e74 6169 6e73 2069 742e 2020 486f aintains it. Ho\n+0000c050: 7765 7665 722c 2074 6865 2066 6f6c 6c6f wever, the follo\n+0000c060: 7769 6e67 2070 656f 706c 6520 6861 7665 wing people have\n+0000c070: 206d 6164 6520 6372 7563 6961 6c0a 636f made crucial.co\n+0000c080: 6e74 7269 6275 7469 6f6e 7320 746f 2041 ntributions to A\n+0000c090: 6461 536f 636b 6574 732c 2062 6520 7468 daSockets, be th\n+0000c0a0: 6579 206e 6577 2063 6f64 652c 2062 7567 ey new code, bug\n+0000c0b0: 2066 6978 6573 206f 7220 706f 7274 696e fixes or portin\n+0000c0c0: 6720 746f 0a6e 6577 206f 7065 7261 7469 g to.new operati\n+0000c0d0: 6e67 2073 7973 7465 6d73 3a0a 0a20 2020 ng systems:.. \n+0000c0e0: 2a20 446d 6974 7269 7920 416e 6973 696d * Dmitriy Anisim\n+0000c0f0: 6b6f 7620 283c 616e 6973 696d 6b6f 7640 kov (). *\n+0000c110: 2041 6c61 6e20 4261 726e 6573 2028 3c62 Alan Barnes (). * Juanma\n+0000c140: 2042 6172 7261 6e71 7565 726f 2028 3c6c Barranquero ().\n+0000c160: 2020 202a 2042 6f62 6279 2044 2e20 4272 * Bobby D. Br\n+0000c170: 7961 6e74 2028 3c62 6462 7279 616e 7440 yant (\n+0000c190: 290a 2020 202a 2053 616e 6465 7220 436f ). * Sander Co\n+0000c1a0: 7820 283c 7361 6e64 6572 2e63 6f78 4070 x (). \n+0000c1c0: 2a20 5375 6e65 2046 616c 6b20 283c 7375 * Sune Falk (). * Guilla\n+0000c1f0: 756d 6520 466f 6c69 6172 6420 283c 6775 ume Foliard ()\n+0000c210: 0a20 2020 2a20 4c61 7572 656e 7420 4775 . * Laurent Gu\n+0000c220: 6572 6279 2028 3c67 7565 7262 7940 636c erby ()\n+0000c240: 0a20 2020 2a20 4461 7669 6420 4a2e 204b . * David J. K\n+0000c250: 7269 7374 6f6c 6120 283c 4461 7669 6439 ristola (). \n+0000c270: 2020 2a20 446f 6d69 6e69 6b20 4d61 646f * Dominik Mado\n+0000c280: 6e20 283c 646f 6d69 6e69 6b40 6163 6d2e n (). * Pasca\n+0000c2a0: 6c20 4f62 7279 2028 3c70 2e6f 6272 7940 l Obry (). \n+0000c2c0: 2a20 4e69 636f 6c61 7320 4f6c 6c69 6e67 * Nicolas Olling\n+0000c2d0: 6572 2028 3c4e 6963 6f6c 6173 2e4f 6c6c er (). * St.phan\n+0000c300: 6520 5061 7475 7265 6175 2028 3c73 7061 e Patureau (). * Thomas \n+0000c340: 5175 696e 6f74 2028 3c74 686f 6d61 7340 Quinot (). * Preben R\n+0000c370: 616e 6468 6f6c 2028 3c72 616e 6468 6f6c andhol (). * \n+0000c390: 4d61 7869 6d20 5265 7a6e 696b 2028 3c6d Maxim Reznik (). * Joel She\n+0000c3c0: 7272 696c 6c20 283c 6a6f 656c 2e73 6865 rrill (). * Samuel \n+0000c3f0: 5461 7264 6965 7520 283c 7361 6d40 7266 Tardieu ().. \n+0000c410: 4966 2079 6f75 2066 6565 6c20 7468 6174 If you feel that\n+0000c420: 2079 6f75 2068 6176 6520 6265 656e 2066 you have been f\n+0000c430: 6f72 676f 7474 656e 2c20 706c 6561 7365 orgotten, please\n+0000c440: 2073 656e 6420 6d65 2061 206d 6169 6c20 send me a mail \n+0000c450: 736f 0a74 6861 7420 4920 6361 6e20 6669 so.that I can fi\n+0000c460: 7820 6974 2069 6e20 7468 6520 6e65 7874 x it in the next\n+0000c470: 2076 6572 7369 6f6e 2e0a 0a20 2020 2a4e version... *N\n+0000c480: 6f74 6520 5265 736f 7572 6365 7320 6f6e ote Resources on\n+0000c490: 2074 6865 2049 6e74 6572 6e65 743a 3a2c the Internet::,\n+0000c4a0: 2066 6f72 2068 6f77 2074 6f20 636f 6e74 for how to cont\n+0000c4b0: 7269 6275 7465 2e0a 0a1f 0a46 696c 653a ribute.....File:\n+0000c4c0: 2061 6461 736f 636b 6574 732e 696e 666f adasockets.info\n+0000c4d0: 2c20 204e 6f64 653a 2052 6573 6f75 7263 , Node: Resourc\n+0000c4e0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n+0000c4f0: 6574 2c20 204e 6578 743a 2049 6e64 6578 et, Next: Index\n+0000c500: 2c20 2050 7265 763a 2043 6f6e 7472 6962 , Prev: Contrib\n+0000c510: 7574 6f72 732c 2020 5570 3a20 546f 700a utors, Up: Top.\n+0000c520: 0a41 7070 656e 6469 7820 4220 5265 736f .Appendix B Reso\n+0000c530: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n+0000c540: 6572 6e65 740a 2a2a 2a2a 2a2a 2a2a 2a2a ernet.**********\n+0000c550: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+0000c560: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6520 **********..The \n+0000c570: 6c61 7465 7374 2076 6572 7369 6f6e 206f latest version o\n+0000c580: 6620 4164 6153 6f63 6b65 7473 2063 616e f AdaSockets can\n+0000c590: 2061 6c77 6179 7320 6265 2066 6f75 6e64 always be found\n+0000c5a0: 2061 743a 0a0a 2020 2020 2020 2020 2020 at:.. \n+0000c5b0: 2020 2020 203c 6874 7470 3a2f 2f77 7777 ..\n+0000c5e0: 2020 2059 6f75 2063 616e 2072 6570 6f72 You can repor\n+0000c5f0: 7420 6973 7375 6573 206f 7220 7375 626d t issues or subm\n+0000c600: 6974 2071 7565 7374 696f 6e73 206f 6e20 it questions on \n+0000c610: 4769 7448 7562 2773 2069 7373 7565 2074 GitHub's issue t\n+0000c620: 7261 636b 6572 0a61 743a 0a0a 2020 2020 racker.at:.. \n+0000c630: 2020 2020 203c 6874 7470 733a 2f2f 6769 ....Fil\n+0000c670: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in\n+0000c680: 666f 2c20 204e 6f64 653a 2049 6e64 6578 fo, Node: Index\n+0000c690: 2c20 2050 7265 763a 2052 6573 6f75 7263 , Prev: Resourc\n+0000c6a0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern\n+0000c6b0: 6574 2c20 2055 703a 2054 6f70 0a0a 496e et, Up: Top..In\n+0000c6c0: 6465 780a 2a2a 2a2a 2a0a 0a00 085b 696e dex.*****....[in\n+0000c6d0: 6465 7800 085d 0a2a 204d 656e 753a 0a0a dex..].* Menu:..\n+0000c6e0: 2a20 4163 6365 7074 696e 6720 6120 6e65 * Accepting a ne\n+0000c6f0: 7720 636f 6e6e 6563 7469 6f6e 3a20 2020 w connection: \n+0000c700: 2020 2020 2020 2020 2041 6363 6570 745f Accept_\n+0000c710: 536f 636b 6574 2028 7072 6f63 6564 7572 Socket (procedur\n+0000c720: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n 0000c730: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000c740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c750: 286c 696e 6520 2036 290a 2a20 4d75 6c74 (line 6).* Mult\n-0000c760: 6963 6173 7420 736f 636b 6574 733a 2020 icast sockets: \n-0000c770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c780: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n-0000c790: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n-0000c7a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000c7b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c760: 2020 2028 6c69 6e65 2020 3629 0a2a 2041 (line 6).* A\n+0000c770: 6363 6570 745f 536f 636b 6574 3a20 2020 ccept_Socket: \n+0000c780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c790: 2020 2020 2020 4163 6365 7074 5f53 6f63 Accept_Soc\n+0000c7a0: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure).\n+0000c7b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000c7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000c7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c7e0: 286c 696e 6520 2036 290a 2a20 4d75 6c74 (line 6).* Mult\n-0000c7f0: 6963 6173 745f 536f 636b 6574 5f46 443a icast_Socket_FD:\n-0000c800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c810: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n-0000c820: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n-0000c830: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c7f0: 286c 696e 6520 2039 290a 2a20 4164 612e (line 9).* Ada.\n+0000c800: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000c810: 6c65 6d65 6e74 5f41 7272 6179 3a20 2020 lement_Array: \n+0000c820: 2020 2052 6177 2064 6174 6120 6d61 6e69 Raw data mani\n+0000c830: 7075 6c61 7469 6f6e 2e0a 2020 2020 2020 pulation.. \n 0000c840: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000c850: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000c860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c870: 286c 696e 6520 3136 290a 2a20 4d75 6c74 (line 16).* Mult\n-0000c880: 6963 6173 745f 536f 636b 6574 5f46 4420 icast_Socket_FD \n-0000c890: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0000c8a0: 2020 2053 6f63 6b65 7473 2e4d 756c 7469 Sockets.Multi\n-0000c8b0: 6361 7374 2070 6163 6b61 6765 2e0a 2020 cast package.. \n-0000c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c8f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000c900: 6e65 2020 3829 0a2a 204e 6577 5f4c 696e ne 8).* New_Lin\n-0000c910: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0000c920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c930: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced\n-0000c940: 7572 6529 2e20 286c 696e 6520 2039 290a ure). (line 9).\n-0000c950: 2a20 5046 5f49 4e45 543a 2020 2020 2020 * PF_INET: \n+0000c870: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0000c880: 3629 0a2a 2041 6461 2e53 7472 6561 6d73 6).* Ada.Streams\n+0000c890: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+0000c8a0: 4172 7261 7920 3c31 3e3a 2020 5265 6365 Array <1>: Rece\n+0000c8b0: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). \n+0000c8c0: 2020 286c 696e 6520 3234 290a 2a20 4164 (line 24).* Ad\n+0000c8d0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream\n+0000c8e0: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c _Element_Array <\n+0000c8f0: 323e 3a20 2052 6563 6569 7665 2028 7072 2>: Receive (pr\n+0000c900: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line\n+0000c910: 2031 3829 0a2a 2041 6461 2e53 7472 6561 18).* Ada.Strea\n+0000c920: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen\n+0000c930: 745f 4172 7261 7920 3c33 3e3a 2020 5265 t_Array <3>: Re\n+0000c940: 6365 6976 655f 536f 6d65 2028 7072 6f63 ceive_Some (proc\n+0000c950: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n 0000c960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c970: 2020 2020 2020 2020 2053 6f63 6b65 7420 Socket \n-0000c980: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n-0000c990: 6c69 6e65 2032 3029 0a2a 2050 7574 3a20 line 20).* Put: \n-0000c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c9b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000c9c0: 2020 5075 7420 2870 726f 6365 6475 7265 Put (procedure\n-0000c9d0: 292e 2020 2020 2020 286c 696e 6520 2039 ). (line 9\n-0000c9e0: 290a 2a20 5075 745f 4c69 6e65 3a20 2020 ).* Put_Line: \n-0000c9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ca00: 2020 2020 2020 2020 2020 2050 7574 5f4c Put_L\n-0000ca10: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure).\n-0000ca20: 2028 6c69 6e65 2020 3929 0a2a 2052 6177 (line 9).* Raw\n-0000ca30: 2064 6174 6120 6d61 6e69 7075 6c61 7469 data manipulati\n-0000ca40: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-0000ca50: 2020 2020 5261 7720 6461 7461 206d 616e Raw data man\n-0000ca60: 6970 756c 6174 696f 6e2e 0a20 2020 2020 ipulation.. \n-0000ca70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000c990: 2020 2020 2020 2028 6c69 6e65 2032 3429 (line 24)\n+0000c9a0: 0a2a 2041 6461 2e53 7472 6561 6d73 2e53 .* Ada.Streams.S\n+0000c9b0: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar\n+0000c9c0: 7261 7920 3c34 3e3a 2020 5365 6e64 2028 ray <4>: Send (\n+0000c9d0: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+0000c9e0: 286c 696e 6520 3138 290a 2a20 4164 612e (line 18).* Ada.\n+0000c9f0: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E\n+0000ca00: 6c65 6d65 6e74 5f43 6f75 6e74 3a20 2020 lement_Count: \n+0000ca10: 2020 2052 6563 6569 7665 2028 6675 6e63 Receive (func\n+0000ca20: 7469 6f6e 292e 2020 2028 6c69 6e65 2032 tion). (line 2\n+0000ca30: 3429 0a2a 2041 6461 2e53 7472 6561 6d73 4).* Ada.Streams\n+0000ca40: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_\n+0000ca50: 436f 756e 7420 3c31 3e3a 2020 5265 6365 Count <1>: Rece\n+0000ca60: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n+0000ca70: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n 0000ca80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ca90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000caa0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000cab0: 2036 290a 2a20 5265 6365 6976 653a 2020 6).* Receive: \n-0000cac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cad0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n-0000cae0: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n-0000caf0: 2020 2028 6c69 6e65 2020 3929 0a2a 2052 (line 9).* R\n-0000cb00: 6563 6569 7665 203c 313e 3a20 2020 2020 eceive <1>: \n-0000cb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cb20: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p\n-0000cb30: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n-0000cb40: 6520 2039 290a 2a20 5265 6365 6976 6520 e 9).* Receive \n-0000cb50: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0000cb60: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000cb70: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-0000cb80: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).*\n-0000cb90: 2052 6563 6569 7665 5f53 6f6d 653a 2020 Receive_Some: \n-0000cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cbb0: 2020 2020 2020 2020 5265 6365 6976 655f Receive_\n-0000cbc0: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n-0000cbd0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000caa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cab0: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).*\n+0000cac0: 2041 6461 536f 636b 6574 7320 7072 6573 AdaSockets pres\n+0000cad0: 656e 7461 7469 6f6e 3a20 2020 2020 2020 entation: \n+0000cae0: 2020 2020 2020 2020 5768 6174 2069 7320 What is \n+0000caf0: 4164 6153 6f63 6b65 7473 3f2e 2020 286c AdaSockets?. (l\n+0000cb00: 696e 6520 2036 290a 2a20 4164 6472 6573 ine 6).* Addres\n+0000cb10: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+0000cb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb30: 2053 6f63 6b65 7473 2e4e 616d 696e 6720 Sockets.Naming \n+0000cb40: 7061 636b 6167 652e 0a20 2020 2020 2020 package.. \n+0000cb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cb80: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000cb90: 290a 2a20 4164 6472 6573 735f 4172 7261 ).* Address_Arra\n+0000cba0: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n+0000cbb0: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+0000cbc0: 7473 2e4e 616d 696e 6720 7061 636b 6167 ts.Naming packag\n+0000cbd0: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n 0000cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cc00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc10: 2028 6c69 6e65 2020 3929 0a2a 2052 6563 (line 9).* Rec\n-0000cc20: 6569 7669 6e67 2064 6174 613a 2020 2020 eiving data: \n+0000cc10: 2020 286c 696e 6520 3137 290a 2a20 4164 (line 17).* Ad\n+0000cc20: 6472 6573 735f 436f 6d70 6f6e 656e 743a dress_Component:\n 0000cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc40: 2020 2020 5365 6e64 696e 6720 616e 6420 Sending and \n-0000cc50: 7265 6365 6976 696e 6720 6461 7461 2e0a receiving data..\n+0000cc40: 2020 2020 2053 6f63 6b65 7473 2e4e 616d Sockets.Nam\n+0000cc50: 696e 6720 7061 636b 6167 652e 0a20 2020 ing package.. \n 0000cc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000cc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cc90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000cca0: 6c69 6e65 2020 3629 0a2a 2052 6563 6569 line 6).* Recei\n-0000ccb0: 7669 6e67 2064 6174 6120 3c31 3e3a 2020 ving data <1>: \n-0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ccd0: 2020 4765 7420 2866 756e 6374 696f 6e29 Get (function)\n-0000cce0: 2e20 2020 2020 2020 286c 696e 6520 2036 . (line 6\n-0000ccf0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n-0000cd00: 7461 203c 323e 3a20 2020 2020 2020 2020 ta <2>: \n-0000cd10: 2020 2020 2020 2020 2020 2047 6574 5f43 Get_C\n-0000cd20: 6861 7220 2866 756e 6374 696f 6e29 2e20 har (function). \n-0000cd30: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-0000cd40: 6569 7669 6e67 2064 6174 6120 3c33 3e3a eiving data <3>:\n-0000cd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000cd60: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu\n-0000cd70: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line \n-0000cd80: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000cd90: 6461 7461 203c 343e 3a20 2020 2020 2020 data <4>: \n-0000cda0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000cdb0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n-0000cdc0: 292e 2028 6c69 6e65 2020 3629 0a2a 2052 ). (line 6).* R\n-0000cdd0: 6563 6569 7669 6e67 2064 6174 6120 3c35 eceiving data <5\n-0000cde0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000cdf0: 2020 2020 2020 4765 745f 5265 6365 6976 Get_Receiv\n-0000ce00: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n-0000ce10: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n-0000ce20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ce50: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0000ce60: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n-0000ce70: 7461 203c 363e 3a20 2020 2020 2020 2020 ta <6>: \n-0000ce80: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n-0000ce90: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). \n-0000cea0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n-0000ceb0: 6569 7669 6e67 2064 6174 6120 3c37 3e3a eiving data <7>:\n-0000cec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ced0: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro\n-0000cee0: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line \n-0000cef0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n-0000cf00: 6461 7461 203c 383e 3a20 2020 2020 2020 data <8>: \n-0000cf10: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n-0000cf20: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce\n-0000cf30: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \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 286c 696e 6520 2036 290a (line 6).\n-0000cf80: 2a20 5265 6365 6976 696e 6720 6461 7461 * Receiving data\n-0000cf90: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: \n-0000cfa0: 2020 2020 2020 2020 2053 6574 5f42 7566 Set_Buf\n-0000cfb0: 6665 7220 2870 726f 6365 6475 7265 292e fer (procedure).\n-0000cfc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000cc90: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000cca0: 6520 3231 290a 2a20 4164 6472 6573 735f e 21).* Address_\n+0000ccb0: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: \n+0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0000ccd0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000cce0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000ccf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd20: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000cd30: 2041 465f 494e 4554 3a20 2020 2020 2020 AF_INET: \n+0000cd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cd50: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n+0000cd60: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+0000cd70: 696e 6520 3230 290a 2a20 416e 795f 4164 ine 20).* Any_Ad\n+0000cd80: 6472 6573 733a 2020 2020 2020 2020 2020 dress: \n+0000cd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cda0: 2041 6e79 5f41 6464 7265 7373 2028 6675 Any_Address (fu\n+0000cdb0: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n+0000cdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cdf0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000ce00: 290a 2a20 4173 7369 676e 696e 6720 6120 ).* Assigning a \n+0000ce10: 6c6f 6361 6c20 706f 7274 3a20 2020 2020 local port: \n+0000ce20: 2020 2020 2020 2020 2020 2042 696e 6420 Bind \n+0000ce30: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). \n+0000ce40: 2028 6c69 6e65 2020 3629 0a2a 2042 696e (line 6).* Bin\n+0000ce50: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n+0000ce60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ce70: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced\n+0000ce80: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line \n+0000ce90: 2039 290a 2a20 4269 6e64 696e 6720 6120 9).* Binding a \n+0000cea0: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n+0000ceb0: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n+0000cec0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+0000ced0: 2020 2028 6c69 6e65 2020 3629 0a2a 2042 (line 6).* B\n+0000cee0: 6f74 683a 2020 2020 2020 2020 2020 2020 oth: \n+0000cef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cf00: 2020 2020 2020 5368 7574 646f 776e 2028 Shutdown (\n+0000cf10: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+0000cf20: 6520 3137 290a 2a20 436c 6f73 696e 6720 e 17).* Closing \n+0000cf30: 6120 736f 636b 6574 3a20 2020 2020 2020 a socket: \n+0000cf40: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0000cf50: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n+0000cf60: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).*\n+0000cf70: 2043 6f6d 7061 7261 6973 6f6e 2077 6974 Comparaison wit\n+0000cf80: 6820 474e 4154 2e53 6f63 6b65 7473 3a20 h GNAT.Sockets: \n+0000cf90: 2020 2020 2020 2020 5768 6174 2069 7320 What is \n+0000cfa0: 4164 6153 6f63 6b65 7473 3f2e 2020 286c AdaSockets?. (l\n+0000cfb0: 696e 6520 2036 290a 2a20 436f 6e6e 6563 ine 6).* Connec\n+0000cfc0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \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: 286c 696e 6520 2036 290a 2a20 5265 6365 (line 6).* Rece\n-0000d010: 6976 696e 6720 6461 7461 203c 3130 3e3a iving data <10>:\n-0000d020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d030: 2020 2055 6e73 6574 5f42 7566 6665 7220 Unset_Buffer \n-0000d040: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000d050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000cfe0: 2043 6f6e 6e65 6374 2028 7072 6f63 6564 Connect (proced\n+0000cff0: 7572 6529 2e20 2028 6c69 6e65 2020 3929 ure). (line 9)\n+0000d000: 0a2a 2043 6f6e 6e65 6374 696e 6720 6120 .* Connecting a \n+0000d010: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n+0000d020: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n+0000d030: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+0000d040: 286c 696e 6520 2036 290a 2a20 436f 6e6e (line 6).* Conn\n+0000d050: 6563 7469 6f6e 5f43 6c6f 7365 643a 2020 ection_Closed: \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 286c 696e (lin\n-0000d090: 6520 2036 290a 2a20 5265 706f 7274 696e e 6).* Reportin\n-0000d0a0: 6720 6120 6275 673a 2020 2020 2020 2020 g a bug: \n-0000d0b0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0000d0c0: 6573 6f75 7263 6573 206f 6e20 7468 6520 esources on the \n-0000d0d0: 496e 7465 726e 6574 2e0a 2020 2020 2020 Internet.. \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 2028 6c69 6e65 2020 (line \n-0000d120: 3629 0a2a 2052 6574 7269 6576 696e 6720 6).* Retrieving \n-0000d130: 736f 636b 6574 206f 7074 696f 6e73 3a20 socket options: \n-0000d140: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-0000d150: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000d160: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000d170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1a0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n-0000d1b0: 656e 643a 2020 2020 2020 2020 2020 2020 end: \n-0000d1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d1d0: 2020 2020 2020 5365 6e64 2028 7072 6f63 Send (proc\n-0000d1e0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin\n-0000d1f0: 6520 2039 290a 2a20 5365 6e64 203c 313e e 9).* Send <1>\n-0000d200: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d210: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000d220: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu\n-0000d230: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).*\n-0000d240: 2053 656e 6469 6e67 2064 6174 613a 2020 Sending data: \n-0000d250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d260: 2020 2020 2020 2020 5365 6e64 696e 6720 Sending \n-0000d270: 616e 6420 7265 6365 6976 696e 6720 6461 and receiving da\n-0000d280: 7461 2e0a 2020 2020 2020 2020 2020 2020 ta.. \n-0000d290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2c0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S\n-0000d2d0: 656e 6469 6e67 2064 6174 6120 3c31 3e3a ending data <1>:\n-0000d2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d2f0: 2020 2020 2020 4765 745f 5365 6e64 5f51 Get_Send_Q\n-0000d300: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n-0000d310: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000d070: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n+0000d080: 292e 2020 2020 2020 2028 6c69 6e65 2033 ). (line 3\n+0000d090: 3529 0a2a 2043 6f6e 6e65 6374 696f 6e5f 5).* Connection_\n+0000d0a0: 436c 6f73 6564 203c 313e 3a20 2020 2020 Closed <1>: \n+0000d0b0: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n+0000d0c0: 4368 6172 2028 6675 6e63 7469 6f6e 292e Char (function).\n+0000d0d0: 2020 286c 696e 6520 3234 290a 2a20 436f (line 24).* Co\n+0000d0e0: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed \n+0000d0f0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+0000d100: 2020 2020 2047 6574 5f4c 696e 6520 2866 Get_Line (f\n+0000d110: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line\n+0000d120: 2033 3329 0a2a 2043 6f6e 6e65 6374 696f 33).* Connectio\n+0000d130: 6e5f 436c 6f73 6564 203c 333e 3a20 2020 n_Closed <3>: \n+0000d140: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000d150: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+0000d160: 6529 2e20 286c 696e 6520 3238 290a 2a20 e). (line 28).* \n+0000d170: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close\n+0000d180: 6420 3c34 3e3a 2020 2020 2020 2020 2020 d <4>: \n+0000d190: 2020 2020 2020 204e 6577 5f4c 696e 6520 New_Line \n+0000d1a0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n+0000d1b0: 6e65 2032 3129 0a2a 2043 6f6e 6e65 6374 ne 21).* Connect\n+0000d1c0: 696f 6e5f 436c 6f73 6564 203c 353e 3a20 ion_Closed <5>: \n+0000d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d1e0: 5075 7420 2870 726f 6365 6475 7265 292e Put (procedure).\n+0000d1f0: 2020 2020 2020 286c 696e 6520 3232 290a (line 22).\n+0000d200: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo\n+0000d210: 7365 6420 3c36 3e3a 2020 2020 2020 2020 sed <6>: \n+0000d220: 2020 2020 2020 2020 2050 7574 5f4c 696e Put_Lin\n+0000d230: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). (\n+0000d240: 6c69 6e65 2032 3229 0a2a 2043 6f6e 6e65 line 22).* Conne\n+0000d250: 6374 696f 6e5f 436c 6f73 6564 203c 373e ction_Closed <7>\n+0000d260: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d270: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n+0000d280: 696f 6e29 2e20 2020 286c 696e 6520 3332 ion). (line 32\n+0000d290: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C\n+0000d2a0: 6c6f 7365 6420 3c38 3e3a 2020 2020 2020 losed <8>: \n+0000d2b0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+0000d2c0: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n+0000d2d0: 2028 6c69 6e65 2032 3529 0a2a 2043 6f6e (line 25).* Con\n+0000d2e0: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed <\n+0000d2f0: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: \n+0000d300: 2020 2020 5265 6365 6976 655f 536f 6d65 Receive_Some\n+0000d310: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000d320: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d330: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d350: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0000d360: 2053 656e 6469 6e67 2064 6174 6120 3c32 Sending data <2\n-0000d370: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000d380: 2020 2020 2020 2020 4e65 775f 4c69 6e65 New_Line\n-0000d390: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n-0000d3a0: 696e 6520 2036 290a 2a20 5365 6e64 696e ine 6).* Sendin\n-0000d3b0: 6720 6461 7461 203c 333e 3a20 2020 2020 g data <3>: \n-0000d3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d3d0: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure)\n-0000d3e0: 2e20 2020 2020 2028 6c69 6e65 2020 3629 . (line 6)\n-0000d3f0: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n-0000d400: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-0000d410: 2020 2020 2020 2020 2020 5075 745f 4c69 Put_Li\n-0000d420: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n-0000d430: 286c 696e 6520 2036 290a 2a20 5365 6e64 (line 6).* Send\n-0000d440: 696e 6720 6461 7461 203c 353e 3a20 2020 ing data <5>: \n-0000d450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d460: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu\n-0000d470: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line \n-0000d480: 3629 0a2a 2053 656e 6469 6e67 2070 6174 6).* Sending pat\n-0000d490: 6368 6573 3a20 2020 2020 2020 2020 2020 ches: \n-0000d4a0: 2020 2020 2020 2020 2020 2020 5265 736f Reso\n-0000d4b0: 7572 6365 7320 6f6e 2074 6865 2049 6e74 urces on the Int\n-0000d4c0: 6572 6e65 742e 0a20 2020 2020 2020 2020 ernet.. \n-0000d4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d350: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000d360: 6e65 2033 3029 0a2a 2043 6f6e 6e65 6374 ne 30).* Connect\n+0000d370: 696f 6e5f 436c 6f73 6564 203c 3130 3e3a ion_Closed <10>:\n+0000d380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d390: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+0000d3a0: 2e20 2020 2020 286c 696e 6520 3232 290a . (line 22).\n+0000d3b0: 2a20 436f 6e6e 6563 7469 6f6e 5f52 6566 * Connection_Ref\n+0000d3c0: 7573 6564 3a20 2020 2020 2020 2020 2020 used: \n+0000d3d0: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect\n+0000d3e0: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). (\n+0000d3f0: 6c69 6e65 2032 3629 0a2a 2043 6f6e 7472 line 26).* Contr\n+0000d400: 6962 7574 696e 673a 2020 2020 2020 2020 ibuting: \n+0000d410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d420: 2020 436f 6e74 7269 6275 746f 7273 2e20 Contributors. \n+0000d430: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000d440: 290a 2a20 436f 6e74 7269 6275 7469 6e67 ).* Contributing\n+0000d450: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000d460: 2020 2020 2020 2020 2020 2052 6573 6f75 Resou\n+0000d470: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte\n+0000d480: 726e 6574 2e0a 2020 2020 2020 2020 2020 rnet.. \n+0000d490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4c0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000d4d0: 2043 523a 2020 2020 2020 2020 2020 2020 CR: \n 0000d4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d500: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000d510: 2a20 5365 7473 6f63 6b6f 7074 3a20 2020 * Setsockopt: \n-0000d520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d530: 2020 2020 2020 2020 2053 6574 736f 636b Setsock\n-0000d540: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000d550: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000d560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d4f0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+0000d500: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000d510: 696e 6520 3232 290a 2a20 4352 203c 313e ine 22).* CR <1>\n+0000d520: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000d530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d540: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+0000d550: 6475 7265 292e 2028 6c69 6e65 2031 3929 dure). (line 19)\n+0000d560: 0a2a 2043 5220 3c32 3e3a 2020 2020 2020 .* CR <2>: \n 0000d570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d590: 286c 696e 6520 2039 290a 2a20 5365 7474 (line 9).* Sett\n-0000d5a0: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n-0000d5b0: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n-0000d5c0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-0000d5d0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d580: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n+0000d590: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000d5a0: 286c 696e 6520 3138 290a 2a20 4372 6561 (line 18).* Crea\n+0000d5b0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+0000d5c0: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+0000d5d0: 2020 2053 6574 7469 6e67 2075 7020 6d75 Setting up mu\n+0000d5e0: 6c74 6963 6173 7420 736f 636b 6574 732e lticast sockets.\n+0000d5f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000d600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d610: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000d620: 2036 290a 2a20 5365 745f 4275 6666 6572 6).* Set_Buffer\n-0000d630: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000d640: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-0000d650: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-0000d660: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000d670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d630: 286c 696e 6520 3136 290a 2a20 4372 6561 (line 16).* Crea\n+0000d640: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n+0000d650: 6b65 7420 3c31 3e3a 2020 2020 2020 2020 ket <1>: \n+0000d660: 2020 2043 7265 6174 655f 4d75 6c74 6963 Create_Multic\n+0000d670: 6173 745f 536f 636b 6574 2028 6675 6e63 ast_Socket (func\n+0000d680: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 0000d690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6a0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0000d6b0: 5368 7574 646f 776e 3a20 2020 2020 2020 Shutdown: \n-0000d6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d6d0: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n-0000d6e0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n-0000d6f0: 6e65 2020 3929 0a2a 2053 6f63 6b65 743a ne 9).* Socket:\n-0000d700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d720: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n-0000d730: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n-0000d740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d6c0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000d6d0: 2a20 4372 6561 7465 5f4d 756c 7469 6361 * Create_Multica\n+0000d6e0: 7374 5f53 6f63 6b65 7420 3c32 3e3a 2020 st_Socket <2>: \n+0000d6f0: 2020 2020 2020 2020 202e 2020 2020 2020 . \n+0000d700: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000d710: 6c69 6e65 2035 3729 0a2a 2043 7265 6174 line 57).* Creat\n+0000d720: 696e 6720 6120 6d75 6c74 6963 6173 7420 ing a multicast \n+0000d730: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n+0000d740: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul\n+0000d750: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets..\n 0000d760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d770: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000d780: 2020 3629 0a2a 2053 6f63 6b65 7420 3c31 6).* Socket <1\n-0000d790: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000d7a0: 2020 2020 2020 2020 2020 2020 2020 536f So\n-0000d7b0: 636b 6574 2028 7072 6f63 6564 7572 6529 cket (procedure)\n-0000d7c0: 2e20 2020 286c 696e 6520 2039 290a 2a20 . (line 9).* \n-0000d7d0: 536f 636b 6574 2073 6875 7464 6f77 6e3a Socket shutdown:\n-0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7f0: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown \n-0000d800: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li\n-0000d810: 6e65 2020 3629 0a2a 2053 6f63 6b65 7473 ne 6).* Sockets\n-0000d820: 2e41 6363 6570 745f 536f 636b 6574 3a20 .Accept_Socket: \n-0000d830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d840: 4163 6365 7074 5f53 6f63 6b65 7420 2870 Accept_Socket (p\n-0000d850: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000d860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d890: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000d8a0: 3132 290a 2a20 536f 636b 6574 732e 4269 12).* Sockets.Bi\n-0000d8b0: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: \n-0000d8c0: 2020 2020 2020 2020 2020 2020 2042 696e Bin\n-0000d8d0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n-0000d8e0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n-0000d8f0: 6f63 6b65 7473 2e43 6f6e 6e65 6374 3a20 ockets.Connect: \n-0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d910: 2020 2020 2020 436f 6e6e 6563 7420 2870 Connect (p\n-0000d920: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n-0000d930: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n-0000d940: 4765 743a 2020 2020 2020 2020 2020 2020 Get: \n-0000d950: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000d960: 6574 2028 6675 6e63 7469 6f6e 292e 2020 et (function). \n-0000d970: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n-0000d980: 2053 6f63 6b65 7473 2e47 6574 736f 636b Sockets.Getsock\n-0000d990: 6f70 743a 2020 2020 2020 2020 2020 2020 opt: \n-0000d9a0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n-0000d9b0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000d770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d780: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d790: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000d7a0: 6c69 6e65 2020 3629 0a2a 2043 7265 6174 line 6).* Creat\n+0000d7b0: 696e 6720 6120 6d75 6c74 6963 6173 7420 ing a multicast \n+0000d7c0: 736f 636b 6574 203c 313e 3a20 2020 2020 socket <1>: \n+0000d7d0: 2020 4372 6561 7465 5f4d 756c 7469 6361 Create_Multica\n+0000d7e0: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct\n+0000d7f0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000d800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d810: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d830: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000d840: 2043 7265 6174 696e 6720 6120 6d75 6c74 Creating a mult\n+0000d850: 6963 6173 7420 736f 636b 6574 203c 323e icast socket <2>\n+0000d860: 3a20 2020 2020 2020 2e20 2020 2020 2020 : . \n+0000d870: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000d880: 696e 6520 3534 290a 2a20 4372 6561 7469 ine 54).* Creati\n+0000d890: 6e67 2061 2073 6572 7665 723a 2020 2020 ng a server: \n+0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d8b0: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n+0000d8c0: 292e 2020 2020 2028 6c69 6e65 2020 3629 ). (line 6)\n+0000d8d0: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so\n+0000d8e0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n+0000d8f0: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+0000d900: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc\n+0000d910: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000d920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d930: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d950: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000d960: 2043 7265 6174 696e 6720 6120 736f 636b Creating a sock\n+0000d970: 6574 203c 313e 3a20 2020 2020 2020 2020 et <1>: \n+0000d980: 2020 2020 2020 2020 536f 636b 6574 2028 Socket (\n+0000d990: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n+0000d9a0: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati\n+0000d9b0: 6e67 2061 2073 6f63 6b65 7420 3c32 3e3a ng a socket <2>:\n 0000d9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d9f0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000da00: 6c69 6e65 2031 3329 0a2a 2053 6f63 6b65 line 13).* Socke\n-0000da10: 7473 2e47 6574 5f43 6861 723a 2020 2020 ts.Get_Char: \n+0000d9d0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+0000d9e0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+0000d9f0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+0000da00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000da20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da30: 2020 4765 745f 4368 6172 2028 6675 6e63 Get_Char (func\n-0000da40: 7469 6f6e 292e 2020 286c 696e 6520 3132 tion). (line 12\n-0000da50: 290a 2a20 536f 636b 6574 732e 4765 745f ).* Sockets.Get_\n-0000da60: 4c69 6e65 3a20 2020 2020 2020 2020 2020 Line: \n-0000da70: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L\n-0000da80: 696e 6520 2866 756e 6374 696f 6e29 2e20 ine (function). \n-0000da90: 2028 6c69 6e65 2031 3329 0a2a 2053 6f63 (line 13).* Soc\n-0000daa0: 6b65 7473 2e47 6574 5f4c 696e 6520 3c31 kets.Get_Line <1\n-0000dab0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000dac0: 2020 2020 4765 745f 4c69 6e65 2028 7072 Get_Line (pr\n-0000dad0: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n-0000dae0: 3132 290a 2a20 536f 636b 6574 732e 4765 12).* Sockets.Ge\n-0000daf0: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_\n-0000db00: 5369 7a65 3a20 2020 2020 2020 2047 6574 Size: Get\n-0000db10: 5f52 6563 6569 7665 5f51 7565 7565 5f53 _Receive_Queue_S\n-0000db20: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function)..\n-0000db30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000db60: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000db70: 6c69 6e65 2031 3329 0a2a 2053 6f63 6b65 line 13).* Socke\n-0000db80: 7473 2e47 6574 5f53 656e 645f 5175 6575 ts.Get_Send_Queu\n-0000db90: 655f 5369 7a65 3a20 2020 2020 2020 2020 e_Size: \n-0000dba0: 2020 4765 745f 5365 6e64 5f51 7565 7565 Get_Send_Queue\n-0000dbb0: 5f53 697a 6520 2866 756e 6374 696f 6e29 _Size (function)\n-0000dbc0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n-0000dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da30: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000da40: 4372 6561 7469 6e67 2061 2073 6f63 6b65 Creating a socke\n+0000da50: 7420 3c33 3e3a 2020 2020 2020 2020 2020 t <3>: \n+0000da60: 2020 2020 2020 202e 2020 2020 2020 2020 . \n+0000da70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000da80: 6e65 2035 3429 0a2a 2043 7265 6174 696e ne 54).* Creatin\n+0000da90: 6720 6120 5443 5020 736f 636b 6574 3a20 g a TCP socket: \n+0000daa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dab0: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica\n+0000dac0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. \n+0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000db00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000db10: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating \n+0000db20: 6120 5544 5020 736f 636b 6574 3a20 2020 a UDP socket: \n+0000db30: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000db40: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast\n+0000db50: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. \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 2020 2020 2028 6c69 6e65 2020 (line \n+0000dba0: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a \n+0000dbb0: 756e 6963 6173 7420 736f 636b 6574 3a20 unicast socket: \n+0000dbc0: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+0000dbd0: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+0000dbe0: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n 0000dbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc00: 2028 6c69 6e65 2031 3329 0a2a 2053 6f63 (line 13).* Soc\n-0000dc10: 6b65 7473 2e49 5050 524f 544f 5f49 503a kets.IPPROTO_IP:\n-0000dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc30: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n-0000dc40: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000dc50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dc80: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000dc90: 2032 3129 0a2a 2053 6f63 6b65 7473 2e49 21).* Sockets.I\n-0000dca0: 5050 524f 544f 5f49 5020 3c31 3e3a 2020 PPROTO_IP <1>: \n-0000dcb0: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000dcc0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000dcd0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \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 2028 6c69 6e65 2020 3629 (line 6)\n+0000dc30: 0a2a 2045 7374 6162 6c69 7368 696e 6720 .* Establishing \n+0000dc40: 6120 6c69 7374 656e 2071 7565 7565 3a20 a listen queue: \n+0000dc50: 2020 2020 2020 2020 2020 4c69 7374 656e Listen\n+0000dc60: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+0000dc70: 286c 696e 6520 2036 290a 2a20 4669 6e64 (line 6).* Find\n+0000dc80: 696e 6720 4164 6153 6f63 6b65 7473 206f ing AdaSockets o\n+0000dc90: 6e20 7468 6520 496e 7465 726e 6574 3a20 n the Internet: \n+0000dca0: 2020 2052 6573 6f75 7263 6573 206f 6e20 Resources on \n+0000dcb0: 7468 6520 496e 7465 726e 6574 2e0a 2020 the Internet.. \n+0000dcc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd10: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000dd20: 2053 6f63 6b65 7473 2e49 505f 4144 445f Sockets.IP_ADD_\n-0000dd30: 4d45 4d42 4552 5348 4950 3a20 2020 2020 MEMBERSHIP: \n-0000dd40: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n-0000dd50: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000dcf0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000dd00: 6e65 2020 3629 0a2a 2047 6574 3a20 2020 ne 6).* Get: \n+0000dd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dd30: 4765 7420 2866 756e 6374 696f 6e29 2e20 Get (function). \n+0000dd40: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000dd50: 2a20 4765 7473 6f63 6b6f 7074 3a20 2020 * Getsockopt: \n 0000dd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dd90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000dda0: 6c69 6e65 2032 3129 0a2a 2053 6f63 6b65 line 21).* Socke\n-0000ddb0: 7473 2e49 505f 4144 445f 4d45 4d42 4552 ts.IP_ADD_MEMBER\n-0000ddc0: 5348 4950 203c 313e 3a20 2020 2020 2020 SHIP <1>: \n-0000ddd0: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n-0000dde0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000dd70: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+0000dd80: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+0000dd90: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ddd0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_\n+0000dde0: 4368 6172 3a20 2020 2020 2020 2020 2020 Char: \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 2032 (line 2\n-0000de30: 3129 0a2a 2053 6f63 6b65 7473 2e49 505f 1).* Sockets.IP_\n-0000de40: 4452 4f50 5f4d 454d 4245 5253 4849 503a DROP_MEMBERSHIP:\n-0000de50: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n-0000de60: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000de70: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+0000de00: 2020 2047 6574 5f43 6861 7220 2866 756e Get_Char (fun\n+0000de10: 6374 696f 6e29 2e20 2028 6c69 6e65 2020 ction). (line \n+0000de20: 3929 0a2a 2047 6574 5f4c 696e 653a 2020 9).* Get_Line: \n+0000de30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000de40: 2020 2020 2020 2020 2020 2020 4765 745f Get_\n+0000de50: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e Line (function).\n+0000de60: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge\n+0000de70: 745f 4c69 6e65 203c 313e 3a20 2020 2020 t_Line <1>: \n 0000de80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000de90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000deb0: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n-0000dec0: 6f63 6b65 7473 2e49 505f 4452 4f50 5f4d ockets.IP_DROP_M\n-0000ded0: 454d 4245 5253 4849 5020 3c31 3e3a 2020 EMBERSHIP <1>: \n-0000dee0: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n-0000def0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000de90: 2020 2020 2047 6574 5f4c 696e 6520 2870 Get_Line (p\n+0000dea0: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line\n+0000deb0: 2020 3929 0a2a 2047 6574 5f50 6565 725f 9).* Get_Peer_\n+0000dec0: 4164 6472 3a20 2020 2020 2020 2020 2020 Addr: \n+0000ded0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+0000dee0: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun\n+0000def0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. \n 0000df00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000df20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df30: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0000df40: 6e65 2032 3129 0a2a 2053 6f63 6b65 7473 ne 21).* Sockets\n-0000df50: 2e49 505f 4d55 4c54 4943 4153 545f 4c4f .IP_MULTICAST_LO\n-0000df60: 4f50 3a20 2020 2020 2020 2020 2020 2020 OP: \n-0000df70: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n-0000df80: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000df30: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9)\n+0000df40: 0a2a 2047 6574 5f50 6565 725f 506f 7274 .* Get_Peer_Port\n+0000df50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000df60: 2020 2020 2020 2020 2020 4765 745f 5065 Get_Pe\n+0000df70: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio\n+0000df80: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n 0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfc0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n-0000dfd0: 0a2a 2053 6f63 6b65 7473 2e49 505f 4d55 .* Sockets.IP_MU\n-0000dfe0: 4c54 4943 4153 545f 4c4f 4f50 203c 313e LTICAST_LOOP <1>\n-0000dff0: 3a20 2020 2020 2020 2020 5365 7473 6f63 : Setsoc\n-0000e000: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-0000e010: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000dfc0: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G\n+0000dfd0: 6574 5f52 6563 6569 7665 5f51 7565 7565 et_Receive_Queue\n+0000dfe0: 5f53 697a 653a 2020 2020 2020 2020 2020 _Size: \n+0000dff0: 2020 2020 2020 4765 745f 5265 6365 6976 Get_Receiv\n+0000e000: 655f 5175 6575 655f 5369 7a65 2028 6675 e_Queue_Size (fu\n+0000e010: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \n 0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e050: 2028 6c69 6e65 2032 3129 0a2a 2053 6f63 (line 21).* Soc\n-0000e060: 6b65 7473 2e49 505f 4d55 4c54 4943 4153 kets.IP_MULTICAS\n-0000e070: 545f 5454 4c3a 2020 2020 2020 2020 2020 T_TTL: \n-0000e080: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n-0000e090: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n-0000e0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e050: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9\n+0000e060: 290a 2a20 4765 745f 5365 6e64 5f51 7565 ).* Get_Send_Que\n+0000e070: 7565 5f53 697a 653a 2020 2020 2020 2020 ue_Size: \n+0000e080: 2020 2020 2020 2020 2020 2047 6574 5f53 Get_S\n+0000e090: 656e 645f 5175 6575 655f 5369 7a65 2028 end_Queue_Size (\n+0000e0a0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n 0000e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e0d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0000e0e0: 2032 3129 0a2a 2053 6f63 6b65 7473 2e49 21).* Sockets.I\n-0000e0f0: 505f 4d55 4c54 4943 4153 545f 5454 4c20 P_MULTICAST_TTL \n-0000e100: 3c31 3e3a 2020 2020 2020 2020 2020 5365 <1>: Se\n-0000e110: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000e120: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000e130: 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 286c 696e 6520 (line \n+0000e0f0: 2039 290a 2a20 4765 745f 536f 636b 5f41 9).* Get_Sock_A\n+0000e100: 6464 723a 2020 2020 2020 2020 2020 2020 ddr: \n+0000e110: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000e120: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func\n+0000e130: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n 0000e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e160: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000e170: 2053 6f63 6b65 7473 2e4c 6973 7465 6e3a Sockets.Listen:\n-0000e180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e190: 2020 2020 2020 2020 4c69 7374 656e 2028 Listen (\n-0000e1a0: 7072 6f63 6564 7572 6529 2e20 2020 286c procedure). (l\n-0000e1b0: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n-0000e1c0: 732e 4d75 6c74 6963 6173 742e 4372 6561 s.Multicast.Crea\n-0000e1d0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc\n-0000e1e0: 6b65 743a 2053 6574 7469 6e67 2075 7020 ket: Setting up \n-0000e1f0: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n-0000e200: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n-0000e210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e240: 2020 286c 696e 6520 3136 290a 2a20 536f (line 16).* So\n-0000e250: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n-0000e260: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n-0000e270: 5f53 6f63 6b65 7420 3c31 3e3a 2043 7265 _Socket <1>: Cre\n-0000e280: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So\n-0000e290: 636b 6574 2028 6675 6e63 7469 6f6e 292e cket (function).\n-0000e2a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e2e0: 286c 696e 6520 3135 290a 2a20 536f 636b (line 15).* Sock\n-0000e2f0: 6574 732e 4d75 6c74 6963 6173 742e 4372 ets.Multicast.Cr\n-0000e300: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S\n-0000e310: 6f63 6b65 7420 3c32 3e3a 202e 2020 2020 ocket <2>: . \n-0000e320: 2020 2020 2020 2020 2028 6c69 6e65 2037 (line 7\n-0000e330: 3429 0a2a 2053 6f63 6b65 7473 2e4e 6577 4).* Sockets.New\n-0000e340: 5f4c 696e 653a 2020 2020 2020 2020 2020 _Line: \n-0000e350: 2020 2020 2020 2020 2020 2020 4e65 775f New_\n-0000e360: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n-0000e370: 2e20 286c 696e 6520 3132 290a 2a20 536f . (line 12).* So\n-0000e380: 636b 6574 732e 5075 743a 2020 2020 2020 ckets.Put: \n+0000e160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e170: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0000e180: 2a20 4765 745f 536f 636b 5f50 6f72 743a * Get_Sock_Port:\n+0000e190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1a0: 2020 2020 2020 2020 2047 6574 5f53 6f63 Get_Soc\n+0000e1b0: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function\n+0000e1c0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+0000e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e200: 2020 286c 696e 6520 2039 290a 2a20 4772 (line 9).* Gr\n+0000e210: 6f75 7020 636f 6d6d 756e 6963 6174 696f oup communicatio\n+0000e220: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+0000e230: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up \n+0000e240: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket\n+0000e250: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e290: 2020 286c 696e 6520 2036 290a 2a20 4861 (line 6).* Ha\n+0000e2a0: 6e64 6c69 6e67 2061 206e 6577 2063 6f6e ndling a new con\n+0000e2b0: 6e65 6374 696f 6e3a 2020 2020 2020 2020 nection: \n+0000e2c0: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock\n+0000e2d0: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure)..\n+0000e2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n+0000e320: 6c69 6e65 2020 3629 0a2a 2048 6f73 745f line 6).* Host_\n+0000e330: 456e 7472 793a 2020 2020 2020 2020 2020 Entry: \n+0000e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e350: 2020 536f 636b 6574 732e 4e61 6d69 6e67 Sockets.Naming\n+0000e360: 2070 6163 6b61 6765 2e0a 2020 2020 2020 package.. \n+0000e370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e3a0: 2020 2020 2050 7574 2028 7072 6f63 6564 Put (proced\n-0000e3b0: 7572 6529 2e20 2020 2020 2028 6c69 6e65 ure). (line\n-0000e3c0: 2031 3229 0a2a 2053 6f63 6b65 7473 2e50 12).* Sockets.P\n-0000e3d0: 7574 5f4c 696e 653a 2020 2020 2020 2020 ut_Line: \n-0000e3e0: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n-0000e3f0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n-0000e400: 6529 2e20 286c 696e 6520 3132 290a 2a20 e). (line 12).* \n-0000e410: 536f 636b 6574 732e 5265 6365 6976 653a Sockets.Receive:\n-0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e430: 2020 2020 2020 2052 6563 6569 7665 2028 Receive (\n-0000e440: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li\n-0000e450: 6e65 2031 3429 0a2a 2053 6f63 6b65 7473 ne 14).* Sockets\n-0000e460: 2e52 6563 6569 7665 203c 313e 3a20 2020 .Receive <1>: \n-0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e480: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu\n-0000e490: 7265 292e 2020 286c 696e 6520 3131 290a re). (line 11).\n-0000e4a0: 2a20 536f 636b 6574 732e 5265 6365 6976 * Sockets.Receiv\n-0000e4b0: 655f 536f 6d65 3a20 2020 2020 2020 2020 e_Some: \n-0000e4c0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n-0000e4d0: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure\n-0000e4e0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n-0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e520: 2020 286c 696e 6520 3136 290a 2a20 536f (line 16).* So\n-0000e530: 636b 6574 732e 5365 6e64 3a20 2020 2020 ckets.Send: \n+0000e3a0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000e3b0: 3529 0a2a 2048 6f73 745f 4e61 6d65 3a20 5).* Host_Name: \n+0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e3d0: 2020 2020 2020 2020 2020 2020 486f 7374 Host\n+0000e3e0: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function)\n+0000e3f0: 2e20 286c 696e 6520 2039 290a 2a20 496d . (line 9).* Im\n+0000e400: 6167 653a 2020 2020 2020 2020 2020 2020 age: \n+0000e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e420: 2020 2020 2049 6d61 6765 2028 6675 6e63 Image (func\n+0000e430: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n+0000e440: 2020 3929 0a2a 2049 6e66 6f5f 4f66 5f4e 9).* Info_Of_N\n+0000e450: 616d 655f 4f72 5f49 503a 2020 2020 2020 ame_Or_IP: \n+0000e460: 2020 2020 2020 2020 2020 2020 2020 496e In\n+0000e470: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP\n+0000e480: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+0000e490: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c 696e (lin\n+0000e4d0: 6520 2039 290a 2a20 496e 7374 616c 6c69 e 9).* Installi\n+0000e4e0: 6e67 2041 6461 536f 636b 6574 733a 2020 ng AdaSockets: \n+0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+0000e500: 6e73 7461 6c6c 696e 6720 4164 6153 6f63 nstalling AdaSoc\n+0000e510: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. \n+0000e520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e530: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e550: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce\n-0000e560: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line\n-0000e570: 2031 3229 0a2a 2053 6f63 6b65 7473 2e53 12).* Sockets.S\n-0000e580: 6574 736f 636b 6f70 743a 2020 2020 2020 etsockopt: \n-0000e590: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-0000e5a0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000e5b0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000e550: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n+0000e560: 2049 5050 524f 544f 5f49 503a 2020 2020 IPPROTO_IP: \n+0000e570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e580: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+0000e590: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n-0000e600: 2053 6f63 6b65 7473 2e53 6574 5f42 7566 Sockets.Set_Buf\n-0000e610: 6665 723a 2020 2020 2020 2020 2020 2020 fer: \n-0000e620: 2020 2020 2020 2020 5365 745f 4275 6666 Set_Buff\n-0000e630: 6572 2028 7072 6f63 6564 7572 6529 2e0a er (procedure)..\n+0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000e5e0: 6c69 6e65 2032 3129 0a2a 2049 5050 524f line 21).* IPPRO\n+0000e5f0: 544f 5f49 5020 3c31 3e3a 2020 2020 2020 TO_IP <1>: \n+0000e600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e610: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+0000e620: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000e630: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e640: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n-0000e680: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-0000e690: 7473 2e53 6875 7464 6f77 6e3a 2020 2020 ts.Shutdown: \n-0000e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e6b0: 2020 5368 7574 646f 776e 2028 7072 6f63 Shutdown (proc\n-0000e6c0: 6564 7572 6529 2e20 286c 696e 6520 3131 edure). (line 11\n-0000e6d0: 290a 2a20 536f 636b 6574 732e 536f 636b ).* Sockets.Sock\n-0000e6e0: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n-0000e6f0: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n-0000e700: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n-0000e710: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n-0000e720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e660: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000e670: 3129 0a2a 2049 505f 4144 445f 4d45 4d42 1).* IP_ADD_MEMB\n+0000e680: 4552 5348 4950 3a20 2020 2020 2020 2020 ERSHIP: \n+0000e690: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+0000e6a0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+0000e6b0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+0000e6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e6f0: 2020 2028 6c69 6e65 2032 3129 0a2a 2049 (line 21).* I\n+0000e700: 505f 4144 445f 4d45 4d42 4552 5348 4950 P_ADD_MEMBERSHIP\n+0000e710: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000e720: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+0000e730: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n 0000e740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e750: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0000e760: 2a20 536f 636b 6574 732e 536f 636b 6574 * Sockets.Socket\n-0000e770: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000e780: 2020 2020 2020 2020 2053 6f63 6b65 7420 Socket \n-0000e790: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). (\n-0000e7a0: 6c69 6e65 2031 3329 0a2a 2053 6f63 6b65 line 13).* Socke\n-0000e7b0: 7473 2e53 4f4c 5f53 4f43 4b45 543a 2020 ts.SOL_SOCKET: \n-0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e7d0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-0000e7e0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000e750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e770: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0000e780: 6e65 2032 3129 0a2a 2049 505f 4452 4f50 ne 21).* IP_DROP\n+0000e790: 5f4d 454d 4245 5253 4849 503a 2020 2020 _MEMBERSHIP: \n+0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7b0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+0000e7c0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e820: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n-0000e830: 3129 0a2a 2053 6f63 6b65 7473 2e53 4f4c 1).* Sockets.SOL\n-0000e840: 5f53 4f43 4b45 5420 3c31 3e3a 2020 2020 _SOCKET <1>: \n-0000e850: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-0000e860: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000e870: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+0000e800: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n+0000e810: 0a2a 2049 505f 4452 4f50 5f4d 454d 4245 .* IP_DROP_MEMBE\n+0000e820: 5253 4849 5020 3c31 3e3a 2020 2020 2020 RSHIP <1>: \n+0000e830: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc\n+0000e840: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+0000e850: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0000e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e870: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e880: 2020 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 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n-0000e8c0: 6f63 6b65 7473 2e53 4f5f 5243 5642 5546 ockets.SO_RCVBUF\n-0000e8d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e8e0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n-0000e8f0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+0000e890: 2028 6c69 6e65 2032 3129 0a2a 2049 505f (line 21).* IP_\n+0000e8a0: 4d55 4c54 4943 4153 545f 4c4f 4f50 3a20 MULTICAST_LOOP: \n+0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8c0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+0000e8d0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e900: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 (li\n-0000e940: 6e65 2032 3129 0a2a 2053 6f63 6b65 7473 ne 21).* Sockets\n-0000e950: 2e53 4f5f 5243 5642 5546 203c 313e 3a20 .SO_RCVBUF <1>: \n-0000e960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e970: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n-0000e980: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000e910: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000e920: 2032 3129 0a2a 2049 505f 4d55 4c54 4943 21).* IP_MULTIC\n+0000e930: 4153 545f 4c4f 4f50 203c 313e 3a20 2020 AST_LOOP <1>: \n+0000e940: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n+0000e950: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+0000e960: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000e970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e980: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000e990: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2032 3129 (line 21)\n-0000e9d0: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 5245 .* Sockets.SO_RE\n-0000e9e0: 5553 4541 4444 523a 2020 2020 2020 2020 USEADDR: \n-0000e9f0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n-0000ea00: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n-0000ea10: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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: 2028 6c69 6e65 2032 3129 0a2a 2053 6f63 (line 21).* Soc\n-0000ea60: 6b65 7473 2e53 4f5f 5245 5553 4541 4444 kets.SO_REUSEADD\n-0000ea70: 5220 3c31 3e3a 2020 2020 2020 2020 2020 R <1>: \n-0000ea80: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n-0000ea90: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+0000e9a0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n+0000e9b0: 2049 505f 4d55 4c54 4943 4153 545f 5454 IP_MULTICAST_TT\n+0000e9c0: 4c3a 2020 2020 2020 2020 2020 2020 2020 L: \n+0000e9d0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+0000e9e0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea20: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0000ea30: 6c69 6e65 2032 3129 0a2a 2049 505f 4d55 line 21).* IP_MU\n+0000ea40: 4c54 4943 4153 545f 5454 4c20 3c31 3e3a LTICAST_TTL <1>:\n+0000ea50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea60: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+0000ea70: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ea90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 (line\n-0000eae0: 2032 3129 0a2a 2053 6f63 6b65 7473 2e53 21).* Sockets.S\n-0000eaf0: 4f5f 5245 5553 4550 4f52 543a 2020 2020 O_REUSEPORT: \n-0000eb00: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n-0000eb10: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n-0000eb20: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+0000eab0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0000eac0: 3129 0a2a 2049 735f 4950 5f41 6464 7265 1).* Is_IP_Addre\n+0000ead0: 7373 3a20 2020 2020 2020 2020 2020 2020 ss: \n+0000eae0: 2020 2020 2020 2020 2020 2020 4973 5f49 Is_I\n+0000eaf0: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct\n+0000eb00: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000eb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eb30: 2020 2020 2020 2020 2020 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 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n-0000eb70: 2053 6f63 6b65 7473 2e53 4f5f 5245 5553 Sockets.SO_REUS\n-0000eb80: 4550 4f52 5420 3c31 3e3a 2020 2020 2020 EPORT <1>: \n-0000eb90: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n-0000eba0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+0000eb40: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n+0000eb50: 204c 463a 2020 2020 2020 2020 2020 2020 LF: \n+0000eb60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eb70: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+0000eb80: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l\n+0000eb90: 696e 6520 3232 290a 2a20 4c46 203c 313e ine 22).* LF <1>\n+0000eba0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0000ebb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ebe0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0000ebf0: 6c69 6e65 2032 3129 0a2a 2053 6f63 6b65 line 21).* Socke\n-0000ec00: 7473 2e53 4f5f 534e 4442 5546 3a20 2020 ts.SO_SNDBUF: \n-0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ec20: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n-0000ec30: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+0000ebc0: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce\n+0000ebd0: 6475 7265 292e 2028 6c69 6e65 2031 3929 dure). (line 19)\n+0000ebe0: 0a2a 204c 4620 3c32 3e3a 2020 2020 2020 .* LF <2>: \n+0000ebf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ec00: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li\n+0000ec10: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). \n+0000ec20: 286c 696e 6520 3138 290a 2a20 4c69 7374 (line 18).* List\n+0000ec30: 656e 3a20 2020 2020 2020 2020 2020 2020 en: \n 0000ec40: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2032 (line 2\n-0000ec80: 3129 0a2a 2053 6f63 6b65 7473 2e53 4f5f 1).* Sockets.SO_\n-0000ec90: 534e 4442 5546 203c 313e 3a20 2020 2020 SNDBUF <1>: \n-0000eca0: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n-0000ecb0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n-0000ecc0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000ecd0: 2020 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 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n-0000ed10: 6f63 6b65 7473 2e55 6e73 6574 5f42 7566 ockets.Unset_Buf\n-0000ed20: 6665 723a 2020 2020 2020 2020 2020 2020 fer: \n-0000ed30: 2020 2020 2020 556e 7365 745f 4275 6666 Unset_Buff\n-0000ed40: 6572 2028 7072 6f63 6564 7572 6529 2e0a er (procedure)..\n-0000ed50: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n-0000ed90: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke\n-0000eda0: 745f 4572 726f 723a 2020 2020 2020 2020 t_Error: \n+0000ec50: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce\n+0000ec60: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line \n+0000ec70: 3929 0a2a 204c 6973 7465 6e20 7175 6575 9).* Listen queu\n+0000ec80: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0000ec90: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n+0000eca0: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). \n+0000ecb0: 2020 286c 696e 6520 2036 290a 2a20 4d61 (line 6).* Ma\n+0000ecc0: 6e69 7075 6c61 7469 6e67 2073 6f63 6b65 nipulating socke\n+0000ecd0: 7420 6f70 7469 6f6e 733a 2020 2020 2020 t options: \n+0000ece0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+0000ecf0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+0000ed00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ed30: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000ed40: 6520 2036 290a 2a20 4d61 6e69 7075 6c61 e 6).* Manipula\n+0000ed50: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti\n+0000ed60: 6f6e 7320 3c31 3e3a 2020 2020 2020 2053 ons <1>: S\n+0000ed70: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+0000ed80: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+0000ed90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000edc0: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur\n-0000edd0: 6529 2e20 2020 2020 286c 696e 6520 3331 e). (line 31\n-0000ede0: 290a 2a20 536f 636b 6574 5f45 7272 6f72 ).* Socket_Error\n-0000edf0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0000ee00: 2020 2020 2020 2020 2020 2043 6f6e 6e65 Conne\n-0000ee10: 6374 2028 7072 6f63 6564 7572 6529 2e20 ct (procedure). \n-0000ee20: 2028 6c69 6e65 2032 3829 0a2a 2053 6f63 (line 28).* Soc\n-0000ee30: 6b65 745f 4644 3a20 2020 2020 2020 2020 ket_FD: \n+0000edc0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000edd0: 2a20 4d62 6f6e 653a 2020 2020 2020 2020 * Mbone: \n+0000ede0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000edf0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000ee00: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000ee10: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+0000ee20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ee40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ee50: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n-0000ee60: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\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 2028 (\n-0000eeb0: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65 line 6).* Socke\n-0000eec0: 745f 4644 203c 313e 3a20 2020 2020 2020 t_FD <1>: \n+0000ee50: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000ee60: 2a20 4d75 6c74 6963 6173 7420 736f 636b * Multicast sock\n+0000ee70: 6574 733a 2020 2020 2020 2020 2020 2020 ets: \n+0000ee80: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000ee90: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000eea0: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000eee0: 2020 536f 636b 6574 7320 7061 636b 6167 Sockets packag\n-0000eef0: 652e 2020 2020 2020 286c 696e 6520 2039 e. (line 9\n-0000ef00: 290a 2a20 534f 434b 5f44 4752 414d 3a20 ).* SOCK_DGRAM: \n-0000ef10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef20: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n-0000ef30: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n-0000ef40: 2028 6c69 6e65 2032 3029 0a2a 2053 4f43 (line 20).* SOC\n-0000ef50: 4b5f 5354 5245 414d 3a20 2020 2020 2020 K_STREAM: \n+0000eee0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0000eef0: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock\n+0000ef00: 6574 5f46 443a 2020 2020 2020 2020 2020 et_FD: \n+0000ef10: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n+0000ef20: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+0000ef30: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000ef70: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc\n-0000ef80: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line \n-0000ef90: 3230 290a 2a20 534f 4c5f 534f 434b 4554 20).* SOL_SOCKET\n-0000efa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000efb0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000efc0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000efd0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+0000ef70: 2020 2020 2020 286c 696e 6520 3136 290a (line 16).\n+0000ef80: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock\n+0000ef90: 6574 5f46 4420 3c31 3e3a 2020 2020 2020 et_FD <1>: \n+0000efa0: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets\n+0000efb0: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa\n+0000efc0: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. \n+0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000efe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000eff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f010: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n-0000f020: 534f 4c5f 534f 434b 4554 203c 313e 3a20 SOL_SOCKET <1>: \n-0000f030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f040: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-0000f050: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n-0000f060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f090: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f0a0: 696e 6520 3231 290a 2a20 534f 5f52 4356 ine 21).* SO_RCV\n-0000f0b0: 4255 463a 2020 2020 2020 2020 2020 2020 BUF: \n+0000f000: 2020 2028 6c69 6e65 2020 3829 0a2a 204e (line 8).* N\n+0000f010: 616d 655f 4f66 3a20 2020 2020 2020 2020 ame_Of: \n+0000f020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f030: 2020 2020 2020 4e61 6d65 5f4f 6620 2866 Name_Of (f\n+0000f040: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin\n+0000f050: 6520 2039 290a 2a20 4e61 6d69 6e67 5f45 e 9).* Naming_E\n+0000f060: 7272 6f72 3a20 2020 2020 2020 2020 2020 rror: \n+0000f070: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0000f080: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct\n+0000f090: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+0000f0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f0d0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n-0000f0e0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n-0000f0f0: 2020 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 286c 696e 6520 3231 (line 21\n-0000f130: 290a 2a20 534f 5f52 4356 4255 4620 3c31 ).* SO_RCVBUF <1\n-0000f140: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0000f150: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n-0000f160: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n-0000f170: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \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 286c 696e 6520 3231 290a 2a20 534f (line 21).* SO\n-0000f1c0: 5f52 4555 5345 4144 4452 3a20 2020 2020 _REUSEADDR: \n+0000f0d0: 2020 2020 2028 6c69 6e65 2032 3329 0a2a (line 23).*\n+0000f0e0: 204e 616d 696e 675f 4572 726f 7220 3c31 Naming_Error <1\n+0000f0f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f100: 2020 2020 2020 2020 496e 666f 5f4f 665f Info_Of_\n+0000f110: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func\n+0000f120: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+0000f130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f160: 2020 2020 2020 286c 696e 6520 3237 290a (line 27).\n+0000f170: 2a20 4e61 6d69 6e67 5f45 7272 6f72 203c * Naming_Error <\n+0000f180: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0000f190: 2020 2020 2020 2020 204e 616d 655f 4f66 Name_Of\n+0000f1a0: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n+0000f1b0: 6c69 6e65 2032 3129 0a2a 204e 6577 5f4c line 21).* New_L\n+0000f1c0: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n 0000f1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f1e0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n-0000f1f0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n-0000f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f1e0: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc\n+0000f1f0: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9\n+0000f200: 290a 2a20 5046 5f49 4e45 543a 2020 2020 ).* PF_INET: \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 286c 696e (lin\n-0000f240: 6520 3231 290a 2a20 534f 5f52 4555 5345 e 21).* SO_REUSE\n-0000f250: 4144 4452 203c 313e 3a20 2020 2020 2020 ADDR <1>: \n-0000f260: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000f270: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n-0000f280: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f220: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke\n+0000f230: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+0000f240: 2028 6c69 6e65 2032 3029 0a2a 2050 7574 (line 20).* Put\n+0000f250: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f270: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu\n+0000f280: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line \n+0000f290: 2039 290a 2a20 5075 745f 4c69 6e65 3a20 9).* Put_Line: \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 286c 696e 6520 3231 290a (line 21).\n-0000f2d0: 2a20 534f 5f52 4555 5345 504f 5254 3a20 * SO_REUSEPORT: \n-0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2f0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n-0000f300: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n-0000f310: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000f2b0: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+0000f2c0: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure\n+0000f2d0: 292e 2028 6c69 6e65 2020 3929 0a2a 2052 ). (line 9).* R\n+0000f2e0: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula\n+0000f2f0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n+0000f300: 2020 2020 2020 5261 7720 6461 7461 206d Raw data m\n+0000f310: 616e 6970 756c 6174 696f 6e2e 0a20 2020 anipulation.. \n 0000f320: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f330: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f350: 286c 696e 6520 3231 290a 2a20 534f 5f52 (line 21).* SO_R\n-0000f360: 4555 5345 504f 5254 203c 313e 3a20 2020 EUSEPORT <1>: \n+0000f350: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0000f360: 6520 2036 290a 2a20 5265 6365 6976 653a e 6).* Receive:\n 0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f380: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n-0000f390: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n-0000f3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f380: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000f390: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+0000f3a0: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).*\n+0000f3b0: 2052 6563 6569 7665 203c 313e 3a20 2020 Receive <1>: \n 0000f3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f3d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000f3e0: 3231 290a 2a20 534f 5f53 4e44 4255 463a 21).* SO_SNDBUF:\n-0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f400: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n-0000f410: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n-0000f420: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n-0000f430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f3d0: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n+0000f3e0: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+0000f3f0: 696e 6520 2039 290a 2a20 5265 6365 6976 ine 9).* Receiv\n+0000f400: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n+0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f420: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce\n+0000f430: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17)\n+0000f440: 0a2a 2052 6563 6569 7665 5f53 6f6d 653a .* Receive_Some:\n 0000f450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f460: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n-0000f470: 534f 5f53 4e44 4255 4620 3c31 3e3a 2020 SO_SNDBUF <1>: \n-0000f480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f490: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n-0000f4a0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000f460: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n+0000f470: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n+0000f480: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \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 2020 2020 2020 \n-0000f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f4e0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f4f0: 696e 6520 3231 290a 2a20 5374 7265 616d ine 21).* Stream\n-0000f500: 5f45 6c65 6d65 6e74 5f41 7272 6179 3a20 _Element_Array: \n-0000f510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f520: 2052 6177 2064 6174 6120 6d61 6e69 7075 Raw data manipu\n-0000f530: 6c61 7469 6f6e 2e0a 2020 2020 2020 2020 lation.. \n+0000f4c0: 2020 2028 6c69 6e65 2020 3929 0a2a 2052 (line 9).* R\n+0000f4d0: 6563 6569 7669 6e67 2064 6174 613a 2020 eceiving data: \n+0000f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f4f0: 2020 2020 2020 5365 6e64 696e 6720 616e Sending an\n+0000f500: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data\n+0000f510: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \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 2020 2020 2020 \n-0000f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f570: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0000f580: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-0000f590: 745f 4172 7261 7920 3c31 3e3a 2020 2020 t_Array <1>: \n-0000f5a0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-0000f5b0: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n-0000f5c0: 286c 696e 6520 3234 290a 2a20 5374 7265 (line 24).* Stre\n-0000f5d0: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array\n-0000f5e0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-0000f5f0: 2020 2052 6563 6569 7665 2028 7072 6f63 Receive (proc\n-0000f600: 6564 7572 6529 2e20 2028 6c69 6e65 2031 edure). (line 1\n-0000f610: 3829 0a2a 2053 7472 6561 6d5f 456c 656d 8).* Stream_Elem\n-0000f620: 656e 745f 4172 7261 7920 3c33 3e3a 2020 ent_Array <3>: \n-0000f630: 2020 2020 2020 2020 2020 2020 5265 6365 Rece\n-0000f640: 6976 655f 536f 6d65 2028 7072 6f63 6564 ive_Some (proced\n-0000f650: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n-0000f660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f690: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).*\n-0000f6a0: 2053 7472 6561 6d5f 456c 656d 656e 745f Stream_Element_\n-0000f6b0: 4172 7261 7920 3c34 3e3a 2020 2020 2020 Array <4>: \n-0000f6c0: 2020 2020 2020 2020 5365 6e64 2028 7072 Send (pr\n-0000f6d0: 6f63 6564 7572 6529 2e20 2020 2020 286c ocedure). (l\n-0000f6e0: 696e 6520 3138 290a 2a20 5374 7265 616d ine 18).* Stream\n-0000f6f0: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 3a20 _Element_Count: \n-0000f700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f710: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi\n-0000f720: 6f6e 292e 2020 2028 6c69 6e65 2032 3429 on). (line 24)\n-0000f730: 0a2a 2053 7472 6561 6d5f 456c 656d 656e .* Stream_Elemen\n-0000f740: 745f 436f 756e 7420 3c31 3e3a 2020 2020 t_Count <1>: \n-0000f750: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv\n-0000f760: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur\n-0000f770: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n-0000f780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f7b0: 2020 2028 6c69 6e65 2032 3429 0a2a 2053 (line 24).* S\n-0000f7c0: 7567 6765 7374 696e 6720 6120 6665 6174 uggesting a feat\n-0000f7d0: 7572 653a 2020 2020 2020 2020 2020 2020 ure: \n-0000f7e0: 2020 2020 2020 5265 736f 7572 6365 7320 Resources \n-0000f7f0: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet.\n-0000f800: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000f550: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec\n+0000f560: 6569 7669 6e67 2064 6174 6120 3c31 3e3a eiving data <1>:\n+0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f580: 2020 2020 4765 7420 2866 756e 6374 696f Get (functio\n+0000f590: 6e29 2e20 2020 2020 2020 286c 696e 6520 n). (line \n+0000f5a0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000f5b0: 6461 7461 203c 323e 3a20 2020 2020 2020 data <2>: \n+0000f5c0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+0000f5d0: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function)\n+0000f5e0: 2e20 2028 6c69 6e65 2020 3629 0a2a 2052 . (line 6).* R\n+0000f5f0: 6563 6569 7669 6e67 2064 6174 6120 3c33 eceiving data <3\n+0000f600: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f610: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line (\n+0000f620: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n+0000f630: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n+0000f640: 6720 6461 7461 203c 343e 3a20 2020 2020 g data <4>: \n+0000f650: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0000f660: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+0000f670: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).*\n+0000f680: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data \n+0000f690: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n+0000f6a0: 2020 2020 2020 2020 4765 745f 5265 6365 Get_Rece\n+0000f6b0: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size (\n+0000f6c0: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. \n+0000f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f700: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000f710: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving \n+0000f720: 6461 7461 203c 363e 3a20 2020 2020 2020 data <6>: \n+0000f730: 2020 2020 2020 2020 2020 2020 2052 6563 Rec\n+0000f740: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function).\n+0000f750: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R\n+0000f760: 6563 6569 7669 6e67 2064 6174 6120 3c37 eceiving data <7\n+0000f770: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f780: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p\n+0000f790: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin\n+0000f7a0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin\n+0000f7b0: 6720 6461 7461 203c 383e 3a20 2020 2020 g data <8>: \n+0000f7c0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0000f7d0: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro\n+0000f7e0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f800: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f840: 286c 696e 6520 2036 290a 2a20 5443 5020 (line 6).* TCP \n-0000f850: 736f 636b 6574 3a20 2020 2020 2020 2020 socket: \n-0000f860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f870: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n-0000f880: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+0000f820: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0000f830: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da\n+0000f840: 7461 203c 393e 3a20 2020 2020 2020 2020 ta <9>: \n+0000f850: 2020 2020 2020 2020 2020 2053 6574 5f42 Set_B\n+0000f860: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+0000f870: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \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 2020 2020 2020 2020 \n-0000f8c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0000f8d0: 696e 6520 2036 290a 2a20 5544 5020 736f ine 6).* UDP so\n-0000f8e0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: \n-0000f8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f900: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic\n-0000f910: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. \n+0000f8b0: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re\n+0000f8c0: 6365 6976 696e 6720 6461 7461 203c 3130 ceiving data <10\n+0000f8d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0000f8e0: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe\n+0000f8f0: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. \n+0000f900: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2020 2020 2020 2020 2020 \n-0000f950: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0000f960: 6520 2036 290a 2a20 556e 6963 6173 7420 e 6).* Unicast \n-0000f970: 736f 636b 6574 733a 2020 2020 2020 2020 sockets: \n-0000f980: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000f990: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n-0000f9a0: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n+0000f930: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000f940: 696e 6520 2036 290a 2a20 5265 706f 7274 ine 6).* Report\n+0000f950: 696e 6720 6120 6275 673a 2020 2020 2020 ing a bug: \n+0000f960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f970: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n+0000f980: 6520 496e 7465 726e 6574 2e0a 2020 2020 e Internet.. \n+0000f990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000f9b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f9e0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0000f9f0: 2036 290a 2a20 556e 7365 745f 4275 6666 6).* Unset_Buff\n-0000fa00: 6572 3a20 2020 2020 2020 2020 2020 2020 er: \n-0000fa10: 2020 2020 2020 2020 2020 2020 2055 6e73 Uns\n-0000fa20: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce\n-0000fa30: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n-0000fa40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000fa70: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n-0000fa80: 0a0a 1f0a 5461 6720 5461 626c 653a 0a4e ....Tag Table:.N\n-0000fa90: 6f64 653a 2054 6f70 7f38 3137 0a4e 6f64 ode: Top.817.Nod\n-0000faa0: 653a 2057 6861 7420 6973 2041 6461 536f e: What is AdaSo\n-0000fab0: 636b 6574 733f 7f31 3339 300a 4e6f 6465 ckets?.1390.Node\n-0000fac0: 3a20 496e 7374 616c 6c69 6e67 2041 6461 : Installing Ada\n-0000fad0: 536f 636b 6574 737f 3232 3833 0a4e 6f64 Sockets.2283.Nod\n-0000fae0: 653a 2055 7369 6e67 2041 6461 536f 636b e: Using AdaSock\n-0000faf0: 6574 737f 3332 3730 0a4e 6f64 653a 2043 ets.3270.Node: C\n-0000fb00: 6f6d 7069 6c69 6e67 2061 6e20 4164 6120 ompiling an Ada \n-0000fb10: 6170 706c 6963 6174 696f 6e7f 3335 3631 application.3561\n-0000fb20: 0a4e 6f64 653a 2053 6574 7469 6e67 2075 .Node: Setting u\n-0000fb30: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket\n-0000fb40: 737f 3431 3838 0a4e 6f64 653a 2053 6574 s.4188.Node: Set\n-0000fb50: 7469 6e67 2075 7020 6d75 6c74 6963 6173 ting up multicas\n-0000fb60: 7420 736f 636b 6574 737f 3534 3934 0a4e t sockets.5494.N\n-0000fb70: 6f64 653a 2053 656e 6469 6e67 2061 6e64 ode: Sending and\n-0000fb80: 2072 6563 6569 7669 6e67 2064 6174 617f receiving data.\n-0000fb90: 3638 3233 0a4e 6f64 653a 2052 6177 2064 6823.Node: Raw d\n-0000fba0: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e ata manipulation\n-0000fbb0: 7f37 3138 350a 4e6f 6465 3a20 5374 7269 .7185.Node: Stri\n-0000fbc0: 6e67 2d6f 7269 656e 7465 6420 6578 6368 ng-oriented exch\n-0000fbd0: 616e 6765 737f 3735 3835 0a4e 6f64 653a anges.7585.Node:\n-0000fbe0: 2053 6f63 6b65 7473 2070 6163 6b61 6765 Sockets package\n-0000fbf0: 7f38 3638 320a 4e6f 6465 3a20 4163 6365 .8682.Node: Acce\n-0000fc00: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce\n-0000fc10: 6475 7265 297f 3130 3934 390a 4e6f 6465 dure).10949.Node\n-0000fc20: 3a20 4269 6e64 2028 7072 6f63 6564 7572 : Bind (procedur\n-0000fc30: 6529 7f31 3333 3438 0a4e 6f64 653a 2043 e).13348.Node: C\n-0000fc40: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur\n-0000fc50: 6529 7f31 3436 3231 0a4e 6f64 653a 2047 e).14621.Node: G\n-0000fc60: 6574 2028 6675 6e63 7469 6f6e 297f 3136 et (function).16\n-0000fc70: 3030 360a 4e6f 6465 3a20 4765 745f 4368 006.Node: Get_Ch\n-0000fc80: 6172 2028 6675 6e63 7469 6f6e 297f 3137 ar (function).17\n-0000fc90: 3230 330a 4e6f 6465 3a20 4765 745f 4c69 203.Node: Get_Li\n-0000fca0: 6e65 2028 6675 6e63 7469 6f6e 297f 3138 ne (function).18\n-0000fcb0: 3036 340a 4e6f 6465 3a20 4765 745f 4c69 064.Node: Get_Li\n-0000fcc0: 6e65 2028 7072 6f63 6564 7572 6529 7f31 ne (procedure).1\n-0000fcd0: 3933 3731 0a4e 6f64 653a 2047 6574 5f52 9371.Node: Get_R\n-0000fce0: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz\n-0000fcf0: 6520 2866 756e 6374 696f 6e29 7f32 3035 e (function).205\n-0000fd00: 3336 0a4e 6f64 653a 2047 6574 5f53 656e 36.Node: Get_Sen\n-0000fd10: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu\n-0000fd20: 6e63 7469 6f6e 297f 3231 3430 340a 4e6f nction).21404.No\n-0000fd30: 6465 3a20 4765 7473 6f63 6b6f 7074 2028 de: Getsockopt (\n-0000fd40: 7072 6f63 6564 7572 6529 7f32 3232 3631 procedure).22261\n-0000fd50: 0a4e 6f64 653a 204c 6973 7465 6e20 2870 .Node: Listen (p\n-0000fd60: 726f 6365 6475 7265 297f 3233 3537 390a rocedure).23579.\n-0000fd70: 4e6f 6465 3a20 4e65 775f 4c69 6e65 2028 Node: New_Line (\n-0000fd80: 7072 6f63 6564 7572 6529 7f32 3434 3535 procedure).24455\n-0000fd90: 0a4e 6f64 653a 2050 7574 2028 7072 6f63 .Node: Put (proc\n-0000fda0: 6564 7572 6529 7f32 3531 3737 0a4e 6f64 edure).25177.Nod\n-0000fdb0: 653a 2050 7574 5f4c 696e 6520 2870 726f e: Put_Line (pro\n-0000fdc0: 6365 6475 7265 297f 3235 3930 380a 4e6f cedure).25908.No\n-0000fdd0: 6465 3a20 5265 6365 6976 6520 2866 756e de: Receive (fun\n-0000fde0: 6374 696f 6e29 7f32 3636 3934 0a4e 6f64 ction).26694.Nod\n-0000fdf0: 653a 2052 6563 6569 7665 2028 7072 6f63 e: Receive (proc\n-0000fe00: 6564 7572 6529 7f32 3739 3033 0a4e 6f64 edure).27903.Nod\n-0000fe10: 653a 2052 6563 6569 7665 5f53 6f6d 6520 e: Receive_Some \n-0000fe20: 2870 726f 6365 6475 7265 297f 3238 3932 (procedure).2892\n-0000fe30: 360a 4e6f 6465 3a20 5365 6e64 2028 7072 6.Node: Send (pr\n-0000fe40: 6f63 6564 7572 6529 7f33 3031 3133 0a4e ocedure).30113.N\n-0000fe50: 6f64 653a 2053 6574 5f42 7566 6665 7220 ode: Set_Buffer \n-0000fe60: 2870 726f 6365 6475 7265 297f 3330 3835 (procedure).3085\n-0000fe70: 320a 4e6f 6465 3a20 5365 7473 6f63 6b6f 2.Node: Setsocko\n-0000fe80: 7074 2028 7072 6f63 6564 7572 6529 7f33 pt (procedure).3\n-0000fe90: 3230 3635 0a4e 6f64 653a 2053 6875 7464 2065.Node: Shutd\n-0000fea0: 6f77 6e20 2870 726f 6365 6475 7265 297f own (procedure).\n-0000feb0: 3333 3336 330a 4e6f 6465 3a20 536f 636b 33363.Node: Sock\n-0000fec0: 6574 2028 7072 6f63 6564 7572 6529 7f33 et (procedure).3\n-0000fed0: 3430 3031 0a4e 6f64 653a 2055 6e73 6574 4001.Node: Unset\n-0000fee0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu\n-0000fef0: 7265 297f 3335 3337 350a 4e6f 6465 3a20 re).35375.Node: \n-0000ff00: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n-0000ff10: 7420 7061 636b 6167 657f 3336 3037 340a t package.36074.\n-0000ff20: 4e6f 6465 3a20 4372 6561 7465 5f4d 756c Node: Create_Mul\n-0000ff30: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f\n-0000ff40: 756e 6374 696f 6e29 7f33 3638 3939 0a4e unction).36899.N\n-0000ff50: 6f64 653a 2053 6f63 6b65 7473 2e4e 616d ode: Sockets.Nam\n-0000ff60: 696e 6720 7061 636b 6167 657f 3430 3633 ing package.4063\n-0000ff70: 310a 4e6f 6465 3a20 436f 6e74 7269 6275 1.Node: Contribu\n-0000ff80: 746f 7273 7f34 3038 3033 0a4e 6f64 653a tors.40803.Node:\n-0000ff90: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th\n-0000ffa0: 6520 496e 7465 726e 6574 7f34 3231 3839 e Internet.42189\n-0000ffb0: 0a4e 6f64 653a 2049 6e64 6578 7f34 3236 .Node: Index.426\n-0000ffc0: 3233 0a1f 0a45 6e64 2054 6167 2054 6162 23...End Tag Tab\n-0000ffd0: 6c65 0a le.\n+0000f9c0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0000f9d0: 2020 3629 0a2a 2052 6570 7265 7365 6e74 6).* Represent\n+0000f9e0: 696e 6720 4950 2061 6464 7265 7373 6573 ing IP addresses\n+0000f9f0: 3a20 2020 2020 2020 2020 2020 2020 496d : Im\n+0000fa00: 6167 6520 2866 756e 6374 696f 6e29 2e20 age (function). \n+0000fa10: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0000fa20: 5265 7072 6573 656e 7469 6e67 2049 5020 Representing IP \n+0000fa30: 6164 6472 6573 7365 7320 3c31 3e3a 2020 addresses <1>: \n+0000fa40: 2020 2020 2020 2056 616c 7565 2028 6675 Value (fu\n+0000fa50: 6e63 7469 6f6e 292e 2020 2020 2028 6c69 nction). (li\n+0000fa60: 6e65 2020 3629 0a2a 2052 6574 7269 6576 ne 6).* Retriev\n+0000fa70: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio\n+0000fa80: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n+0000fa90: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+0000faa0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+0000fab0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2020 3629 (line 6)\n+0000faf0: 0a2a 2053 656e 643a 2020 2020 2020 2020 .* Send: \n+0000fb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fb10: 2020 2020 2020 2020 2020 5365 6e64 2028 Send (\n+0000fb20: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+0000fb30: 286c 696e 6520 2039 290a 2a20 5365 6e64 (line 9).* Send\n+0000fb40: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0000fb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fb60: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro\n+0000fb70: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1\n+0000fb80: 3729 0a2a 2053 656e 6469 6e67 2064 6174 7).* Sending dat\n+0000fb90: 613a 2020 2020 2020 2020 2020 2020 2020 a: \n+0000fba0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send\n+0000fbb0: 696e 6720 616e 6420 7265 6365 6976 696e ing and receivin\n+0000fbc0: 6720 6461 7461 2e0a 2020 2020 2020 2020 g data.. \n+0000fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2020 3629 (line 6)\n+0000fc10: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data \n+0000fc20: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0000fc30: 2020 2020 2020 2020 2020 4765 745f 5365 Get_Se\n+0000fc40: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f\n+0000fc50: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. \n+0000fc60: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 6c69 6e65 2020 (line \n+0000fca0: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat\n+0000fcb0: 6120 3c32 3e3a 2020 2020 2020 2020 2020 a <2>: \n+0000fcc0: 2020 2020 2020 2020 2020 2020 4e65 775f New_\n+0000fcd0: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure)\n+0000fce0: 2e20 286c 696e 6520 2036 290a 2a20 5365 . (line 6).* Se\n+0000fcf0: 6e64 696e 6720 6461 7461 203c 333e 3a20 nding data <3>: \n+0000fd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fd10: 2020 2020 2050 7574 2028 7072 6f63 6564 Put (proced\n+0000fd20: 7572 6529 2e20 2020 2020 2028 6c69 6e65 ure). (line\n+0000fd30: 2020 3629 0a2a 2053 656e 6469 6e67 2064 6).* Sending d\n+0000fd40: 6174 6120 3c34 3e3a 2020 2020 2020 2020 ata <4>: \n+0000fd50: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n+0000fd60: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur\n+0000fd70: 6529 2e20 286c 696e 6520 2036 290a 2a20 e). (line 6).* \n+0000fd80: 5365 6e64 696e 6720 6461 7461 203c 353e Sending data <5>\n+0000fd90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000fda0: 2020 2020 2020 2053 656e 6420 2870 726f Send (pro\n+0000fdb0: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li\n+0000fdc0: 6e65 2020 3629 0a2a 2053 656e 6469 6e67 ne 6).* Sending\n+0000fdd0: 2070 6174 6368 6573 3a20 2020 2020 2020 patches: \n+0000fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fdf0: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the\n+0000fe00: 2049 6e74 6572 6e65 742e 0a20 2020 2020 Internet.. \n+0000fe10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000fe40: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0000fe50: 2036 290a 2a20 5365 7473 6f63 6b6f 7074 6).* Setsockopt\n+0000fe60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000fe70: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+0000fe80: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+0000fe90: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \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 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0000fee0: 5365 7474 696e 6720 736f 636b 6574 206f Setting socket o\n+0000fef0: 7074 696f 6e73 3a20 2020 2020 2020 2020 ptions: \n+0000ff00: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+0000ff10: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+0000ff20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff50: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0000ff60: 696e 6520 2036 290a 2a20 5365 745f 4275 ine 6).* Set_Bu\n+0000ff70: 6666 6572 3a20 2020 2020 2020 2020 2020 ffer: \n+0000ff80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000ff90: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro\n+0000ffa0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+0000ffb0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c 696e 6520 2039 (line 9\n+0000fff0: 290a 2a20 5368 7574 646f 776e 3a20 2020 ).* Shutdown: \n+00010000: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010010: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00010020: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+00010030: 2028 6c69 6e65 2020 3929 0a2a 2053 6f63 (line 9).* Soc\n+00010040: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: \n+00010050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010060: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u\n+00010070: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets..\n+00010080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100b0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000100c0: 6c69 6e65 2020 3629 0a2a 2053 6f63 6b65 line 6).* Socke\n+000100d0: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+000100e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000100f0: 2020 536f 636b 6574 2028 7072 6f63 6564 Socket (proced\n+00010100: 7572 6529 2e20 2020 286c 696e 6520 2039 ure). (line 9\n+00010110: 290a 2a20 536f 636b 6574 2073 6875 7464 ).* Socket shutd\n+00010120: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: \n+00010130: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd\n+00010140: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure).\n+00010150: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc\n+00010160: 6b65 7473 2e41 6363 6570 745f 536f 636b kets.Accept_Sock\n+00010170: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n+00010180: 2020 2020 4163 6365 7074 5f53 6f63 6b65 Accept_Socke\n+00010190: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+000101a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000101d0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000101e0: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+000101f0: 732e 4269 6e64 3a20 2020 2020 2020 2020 s.Bind: \n+00010200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010210: 2042 696e 6420 2870 726f 6365 6475 7265 Bind (procedure\n+00010220: 292e 2020 2020 2028 6c69 6e65 2031 3229 ). (line 12)\n+00010230: 0a2a 2053 6f63 6b65 7473 2e43 6f6e 6e65 .* Sockets.Conne\n+00010240: 6374 3a20 2020 2020 2020 2020 2020 2020 ct: \n+00010250: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec\n+00010260: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). \n+00010270: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock\n+00010280: 6574 732e 4765 743a 2020 2020 2020 2020 ets.Get: \n+00010290: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000102a0: 2020 2047 6574 2028 6675 6e63 7469 6f6e Get (function\n+000102b0: 292e 2020 2020 2020 2028 6c69 6e65 2031 ). (line 1\n+000102c0: 3229 0a2a 2053 6f63 6b65 7473 2e47 6574 2).* Sockets.Get\n+000102d0: 736f 636b 6f70 743a 2020 2020 2020 2020 sockopt: \n+000102e0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+000102f0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00010300: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00010310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010320: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010340: 2020 2028 6c69 6e65 2031 3329 0a2a 2053 (line 13).* S\n+00010350: 6f63 6b65 7473 2e47 6574 5f43 6861 723a ockets.Get_Char:\n+00010360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010370: 2020 2020 2020 4765 745f 4368 6172 2028 Get_Char (\n+00010380: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin\n+00010390: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+000103a0: 4765 745f 4c69 6e65 3a20 2020 2020 2020 Get_Line: \n+000103b0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+000103c0: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+000103d0: 6e29 2e20 2028 6c69 6e65 2031 3329 0a2a n). (line 13).*\n+000103e0: 2053 6f63 6b65 7473 2e47 6574 5f4c 696e Sockets.Get_Lin\n+000103f0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+00010400: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line\n+00010410: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l\n+00010420: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket\n+00010430: 732e 4765 745f 5265 6365 6976 655f 5175 s.Get_Receive_Qu\n+00010440: 6575 655f 5369 7a65 3a20 2020 2020 2020 eue_Size: \n+00010450: 2047 6574 5f52 6563 6569 7665 5f51 7565 Get_Receive_Que\n+00010460: 7565 5f53 697a 6520 2866 756e 6374 696f ue_Size (functio\n+00010470: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \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 2028 6c69 6e65 2031 3329 0a2a 2053 (line 13).* S\n+000104c0: 6f63 6b65 7473 2e47 6574 5f53 656e 645f ockets.Get_Send_\n+000104d0: 5175 6575 655f 5369 7a65 3a20 2020 2020 Queue_Size: \n+000104e0: 2020 2020 2020 4765 745f 5365 6e64 5f51 Get_Send_Q\n+000104f0: 7565 7565 5f53 697a 6520 2866 756e 6374 ueue_Size (funct\n+00010500: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. \n+00010510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010540: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n+00010550: 2053 6f63 6b65 7473 2e49 5050 524f 544f Sockets.IPPROTO\n+00010560: 5f49 503a 2020 2020 2020 2020 2020 2020 _IP: \n+00010570: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+00010580: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00010590: 2020 2020 2020 2020 2020 2020 2020 2020 \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 2028 (\n+000105d0: 6c69 6e65 2032 3129 0a2a 2053 6f63 6b65 line 21).* Socke\n+000105e0: 7473 2e49 5050 524f 544f 5f49 5020 3c31 ts.IPPROTO_IP <1\n+000105f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00010600: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00010610: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00010620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010650: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00010660: 3129 0a2a 2053 6f63 6b65 7473 2e49 505f 1).* Sockets.IP_\n+00010670: 4144 445f 4d45 4d42 4552 5348 4950 3a20 ADD_MEMBERSHIP: \n+00010680: 2020 2020 2020 2020 2020 2020 4765 7473 Gets\n+00010690: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+000106a0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+000106b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000106c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000106d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000106e0: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n+000106f0: 6f63 6b65 7473 2e49 505f 4144 445f 4d45 ockets.IP_ADD_ME\n+00010700: 4d42 4552 5348 4950 203c 313e 3a20 2020 MBERSHIP <1>: \n+00010710: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+00010720: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00010730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010760: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010770: 6e65 2032 3129 0a2a 2053 6f63 6b65 7473 ne 21).* Sockets\n+00010780: 2e49 505f 4452 4f50 5f4d 454d 4245 5253 .IP_DROP_MEMBERS\n+00010790: 4849 503a 2020 2020 2020 2020 2020 2020 HIP: \n+000107a0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc\n+000107b0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+000107c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000107f0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n+00010800: 0a2a 2053 6f63 6b65 7473 2e49 505f 4452 .* Sockets.IP_DR\n+00010810: 4f50 5f4d 454d 4245 5253 4849 5020 3c31 OP_MEMBERSHIP <1\n+00010820: 3e3a 2020 2020 2020 2020 5365 7473 6f63 >: Setsoc\n+00010830: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00010840: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00010850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010880: 2028 6c69 6e65 2032 3129 0a2a 2053 6f63 (line 21).* Soc\n+00010890: 6b65 7473 2e49 505f 4d55 4c54 4943 4153 kets.IP_MULTICAS\n+000108a0: 545f 4c4f 4f50 3a20 2020 2020 2020 2020 T_LOOP: \n+000108b0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt (\n+000108c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+000108d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000108f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010900: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00010910: 2032 3129 0a2a 2053 6f63 6b65 7473 2e49 21).* Sockets.I\n+00010920: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50 P_MULTICAST_LOOP\n+00010930: 203c 313e 3a20 2020 2020 2020 2020 5365 <1>: Se\n+00010940: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+00010950: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+00010960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010990: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n+000109a0: 2053 6f63 6b65 7473 2e49 505f 4d55 4c54 Sockets.IP_MULT\n+000109b0: 4943 4153 545f 5454 4c3a 2020 2020 2020 ICAST_TTL: \n+000109c0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko\n+000109d0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+000109e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000109f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00010a20: 6c69 6e65 2032 3129 0a2a 2053 6f63 6b65 line 21).* Socke\n+00010a30: 7473 2e49 505f 4d55 4c54 4943 4153 545f ts.IP_MULTICAST_\n+00010a40: 5454 4c20 3c31 3e3a 2020 2020 2020 2020 TTL <1>: \n+00010a50: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr\n+00010a60: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+00010a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010aa0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00010ab0: 3129 0a2a 2053 6f63 6b65 7473 2e4c 6973 1).* Sockets.Lis\n+00010ac0: 7465 6e3a 2020 2020 2020 2020 2020 2020 ten: \n+00010ad0: 2020 2020 2020 2020 2020 2020 4c69 7374 List\n+00010ae0: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). \n+00010af0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So\n+00010b00: 636b 6574 732e 4d75 6c74 6963 6173 742e ckets.Multicast.\n+00010b10: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast\n+00010b20: 5f53 6f63 6b65 743a 2053 6574 7469 6e67 _Socket: Setting\n+00010b30: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so\n+00010b40: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+00010b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010b80: 2020 2020 2020 286c 696e 6520 3136 290a (line 16).\n+00010b90: 2a20 536f 636b 6574 732e 4d75 6c74 6963 * Sockets.Multic\n+00010ba0: 6173 742e 4372 6561 7465 5f4d 756c 7469 ast.Create_Multi\n+00010bb0: 6361 7374 5f53 6f63 6b65 7420 3c31 3e3a cast_Socket <1>:\n+00010bc0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas\n+00010bd0: 745f 536f 636b 6574 2028 6675 6e63 7469 t_Socket (functi\n+00010be0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00010bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010c20: 2020 2020 286c 696e 6520 3135 290a 2a20 (line 15).* \n+00010c30: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas\n+00010c40: 742e 4372 6561 7465 5f4d 756c 7469 6361 t.Create_Multica\n+00010c50: 7374 5f53 6f63 6b65 7420 3c32 3e3a 202e st_Socket <2>: .\n+00010c60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00010c70: 6e65 2036 3529 0a2a 2053 6f63 6b65 7473 ne 65).* Sockets\n+00010c80: 2e4e 616d 696e 672e 4164 6472 6573 735f .Naming.Address_\n+00010c90: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: \n+00010ca0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func\n+00010cb0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. \n+00010cc0: 2020 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 286c 696e 6520 3134 290a (line 14).\n+00010d00: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming\n+00010d10: 2e41 6e79 5f41 6464 7265 7373 3a20 2020 .Any_Address: \n+00010d20: 2020 2020 2020 2020 2041 6e79 5f41 6464 Any_Add\n+00010d30: 7265 7373 2028 6675 6e63 7469 6f6e 292e ress (function).\n+00010d40: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00010d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010d80: 286c 696e 6520 3130 290a 2a20 536f 636b (line 10).* Sock\n+00010d90: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P\n+00010da0: 6565 725f 4164 6472 3a20 2020 2020 2020 eer_Addr: \n+00010db0: 2020 2047 6574 5f50 6565 725f 4164 6472 Get_Peer_Addr\n+00010dc0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. \n+00010dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \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 286c 696e (lin\n+00010e10: 6520 3134 290a 2a20 536f 636b 6574 732e e 14).* Sockets.\n+00010e20: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f Naming.Get_Peer_\n+00010e30: 506f 7274 3a20 2020 2020 2020 2020 2047 Port: G\n+00010e40: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu\n+00010e50: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. \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 286c 696e 6520 3134 (line 14\n+00010ea0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+00010eb0: 6e67 2e47 6574 5f53 6f63 6b5f 4164 6472 ng.Get_Sock_Addr\n+00010ec0: 3a20 2020 2020 2020 2020 2047 6574 5f53 : Get_S\n+00010ed0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi\n+00010ee0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. \n+00010ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f20: 2020 2020 286c 696e 6520 3134 290a 2a20 (line 14).* \n+00010f30: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G\n+00010f40: 6574 5f53 6f63 6b5f 506f 7274 3a20 2020 et_Sock_Port: \n+00010f50: 2020 2020 2020 2047 6574 5f53 6f63 6b5f Get_Sock_\n+00010f60: 506f 7274 2028 6675 6e63 7469 6f6e 292e Port (function).\n+00010f70: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00010f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00010fb0: 286c 696e 6520 3134 290a 2a20 536f 636b (line 14).* Sock\n+00010fc0: 6574 732e 4e61 6d69 6e67 2e48 6f73 745f ets.Naming.Host_\n+00010fd0: 4e61 6d65 3a20 2020 2020 2020 2020 2020 Name: \n+00010fe0: 2020 2048 6f73 745f 4e61 6d65 2028 6675 Host_Name (fu\n+00010ff0: 6e63 7469 6f6e 292e 2028 6c69 6e65 2031 nction). (line 1\n+00011000: 3029 0a2a 2053 6f63 6b65 7473 2e4e 616d 0).* Sockets.Nam\n+00011010: 696e 672e 496d 6167 653a 2020 2020 2020 ing.Image: \n+00011020: 2020 2020 2020 2020 2020 2020 496d 6167 Imag\n+00011030: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). \n+00011040: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So\n+00011050: 636b 6574 732e 4e61 6d69 6e67 2e49 6e66 ckets.Naming.Inf\n+00011060: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 503a o_Of_Name_Or_IP:\n+00011070: 2020 2020 2049 6e66 6f5f 4f66 5f4e 616d Info_Of_Nam\n+00011080: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio\n+00011090: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. \n+000110a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000110d0: 2020 2028 6c69 6e65 2031 3429 0a2a 2053 (line 14).* S\n+000110e0: 6f63 6b65 7473 2e4e 616d 696e 672e 4973 ockets.Naming.Is\n+000110f0: 5f49 505f 4164 6472 6573 733a 2020 2020 _IP_Address: \n+00011100: 2020 2020 2020 4973 5f49 505f 4164 6472 Is_IP_Addr\n+00011110: 6573 7320 2866 756e 6374 696f 6e29 2e0a ess (function)..\n+00011120: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011150: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011160: 6c69 6e65 2031 3429 0a2a 2053 6f63 6b65 line 14).* Socke\n+00011170: 7473 2e4e 616d 696e 672e 4e61 6d65 5f4f ts.Naming.Name_O\n+00011180: 663a 2020 2020 2020 2020 2020 2020 2020 f: \n+00011190: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct\n+000111a0: 696f 6e29 2e20 2020 286c 696e 6520 3132 ion). (line 12\n+000111b0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami\n+000111c0: 6e67 2e56 616c 7565 3a20 2020 2020 2020 ng.Value: \n+000111d0: 2020 2020 2020 2020 2020 2056 616c 7565 Value\n+000111e0: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). \n+000111f0: 2028 6c69 6e65 2031 3229 0a2a 2053 6f63 (line 12).* Soc\n+00011200: 6b65 7473 2e4e 6577 5f4c 696e 653a 2020 kets.New_Line: \n+00011210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011220: 2020 2020 4e65 775f 4c69 6e65 2028 7072 New_Line (pr\n+00011230: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line \n+00011240: 3132 290a 2a20 536f 636b 6574 732e 5075 12).* Sockets.Pu\n+00011250: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00011260: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+00011270: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). \n+00011280: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011290: 6f63 6b65 7473 2e50 7574 5f4c 696e 653a ockets.Put_Line:\n+000112a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000112b0: 2020 2020 2020 5075 745f 4c69 6e65 2028 Put_Line (\n+000112c0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin\n+000112d0: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets.\n+000112e0: 5265 6365 6976 653a 2020 2020 2020 2020 Receive: \n+000112f0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+00011300: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function\n+00011310: 292e 2020 2028 6c69 6e65 2031 3429 0a2a ). (line 14).*\n+00011320: 2053 6f63 6b65 7473 2e52 6563 6569 7665 Sockets.Receive\n+00011330: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00011340: 2020 2020 2020 2020 5265 6365 6976 6520 Receive \n+00011350: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l\n+00011360: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket\n+00011370: 732e 5265 6365 6976 655f 536f 6d65 3a20 s.Receive_Some: \n+00011380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011390: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p\n+000113a0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+000113b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000113e0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000113f0: 3136 290a 2a20 536f 636b 6574 732e 5365 16).* Sockets.Se\n+00011400: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: \n+00011410: 2020 2020 2020 2020 2020 2020 2053 656e Sen\n+00011420: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). \n+00011430: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S\n+00011440: 6f63 6b65 7473 2e53 6574 736f 636b 6f70 ockets.Setsockop\n+00011450: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00011460: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt\n+00011470: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00011480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000114c0: 6e65 2031 3329 0a2a 2053 6f63 6b65 7473 ne 13).* Sockets\n+000114d0: 2e53 6574 5f42 7566 6665 723a 2020 2020 .Set_Buffer: \n+000114e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000114f0: 5365 745f 4275 6666 6572 2028 7072 6f63 Set_Buffer (proc\n+00011500: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011540: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n+00011550: 0a2a 2053 6f63 6b65 7473 2e53 6875 7464 .* Sockets.Shutd\n+00011560: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: \n+00011570: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo\n+00011580: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). \n+00011590: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock\n+000115a0: 6574 732e 536f 636b 6574 3a20 2020 2020 ets.Socket: \n+000115b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115c0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un\n+000115d0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. \n+000115e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000115f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011610: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00011620: 696e 6520 2036 290a 2a20 536f 636b 6574 ine 6).* Socket\n+00011630: 732e 536f 636b 6574 203c 313e 3a20 2020 s.Socket <1>: \n+00011640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011650: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+00011660: 7265 292e 2020 2028 6c69 6e65 2031 3329 re). (line 13)\n+00011670: 0a2a 2053 6f63 6b65 7473 2e53 4f4c 5f53 .* Sockets.SOL_S\n+00011680: 4f43 4b45 543a 2020 2020 2020 2020 2020 OCKET: \n+00011690: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+000116a0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+000116b0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000116c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000116f0: 2028 6c69 6e65 2032 3129 0a2a 2053 6f63 (line 21).* Soc\n+00011700: 6b65 7473 2e53 4f4c 5f53 4f43 4b45 5420 kets.SOL_SOCKET \n+00011710: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00011720: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00011730: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00011740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011770: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011780: 2032 3129 0a2a 2053 6f63 6b65 7473 2e53 21).* Sockets.S\n+00011790: 4f5f 5243 5642 5546 3a20 2020 2020 2020 O_RCVBUF: \n+000117a0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge\n+000117b0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced\n+000117c0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. \n+000117d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000117e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000117f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011800: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).*\n+00011810: 2053 6f63 6b65 7473 2e53 4f5f 5243 5642 Sockets.SO_RCVB\n+00011820: 5546 203c 313e 3a20 2020 2020 2020 2020 UF <1>: \n+00011830: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko\n+00011840: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure)..\n+00011850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011880: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00011890: 6c69 6e65 2032 3129 0a2a 2053 6f63 6b65 line 21).* Socke\n+000118a0: 7473 2e53 4f5f 5245 5553 4541 4444 523a ts.SO_REUSEADDR:\n+000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118c0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr\n+000118d0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. \n+000118e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000118f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011910: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+00011920: 3129 0a2a 2053 6f63 6b65 7473 2e53 4f5f 1).* Sockets.SO_\n+00011930: 5245 5553 4541 4444 5220 3c31 3e3a 2020 REUSEADDR <1>: \n+00011940: 2020 2020 2020 2020 2020 2020 5365 7473 Sets\n+00011950: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur\n+00011960: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. \n+00011970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000119a0: 2020 2028 6c69 6e65 2032 3129 0a2a 2053 (line 21).* S\n+000119b0: 6f63 6b65 7473 2e53 4f5f 5245 5553 4550 ockets.SO_REUSEP\n+000119c0: 4f52 543a 2020 2020 2020 2020 2020 2020 ORT: \n+000119d0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt\n+000119e0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+000119f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00011a30: 6e65 2032 3129 0a2a 2053 6f63 6b65 7473 ne 21).* Sockets\n+00011a40: 2e53 4f5f 5245 5553 4550 4f52 5420 3c31 .SO_REUSEPORT <1\n+00011a50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00011a60: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc\n+00011a70: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ab0: 2020 2020 2020 2028 6c69 6e65 2032 3129 (line 21)\n+00011ac0: 0a2a 2053 6f63 6b65 7473 2e53 4f5f 534e .* Sockets.SO_SN\n+00011ad0: 4442 5546 3a20 2020 2020 2020 2020 2020 DBUF: \n+00011ae0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc\n+00011af0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure)\n+00011b00: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00011b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011b40: 2028 6c69 6e65 2032 3129 0a2a 2053 6f63 (line 21).* Soc\n+00011b50: 6b65 7473 2e53 4f5f 534e 4442 5546 203c kets.SO_SNDBUF <\n+00011b60: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00011b70: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt (\n+00011b80: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00011b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011bc0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00011bd0: 2032 3129 0a2a 2053 6f63 6b65 7473 2e55 21).* Sockets.U\n+00011be0: 6e73 6574 5f42 7566 6665 723a 2020 2020 nset_Buffer: \n+00011bf0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+00011c00: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc\n+00011c10: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. \n+00011c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c50: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12)\n+00011c60: 0a2a 2053 6f63 6b65 745f 4572 726f 723a .* Socket_Error:\n+00011c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011c80: 2020 2020 2020 2020 2020 4269 6e64 2028 Bind (\n+00011c90: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). \n+00011ca0: 286c 696e 6520 3331 290a 2a20 536f 636b (line 31).* Sock\n+00011cb0: 6574 5f45 7272 6f72 203c 313e 3a20 2020 et_Error <1>: \n+00011cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011cd0: 2020 2043 6f6e 6e65 6374 2028 7072 6f63 Connect (proc\n+00011ce0: 6564 7572 6529 2e20 2028 6c69 6e65 2032 edure). (line 2\n+00011cf0: 3829 0a2a 2053 6f63 6b65 745f 4644 3a20 8).* Socket_FD: \n+00011d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d10: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+00011d20: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+00011d30: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. \n+00011d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011d70: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+00011d80: 0a2a 2053 6f63 6b65 745f 4644 203c 313e .* Socket_FD <1>\n+00011d90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011da0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket\n+00011db0: 7320 7061 636b 6167 652e 2020 2020 2020 s package. \n+00011dc0: 286c 696e 6520 2039 290a 2a20 534f 434b (line 9).* SOCK\n+00011dd0: 5f44 4752 414d 3a20 2020 2020 2020 2020 _DGRAM: \n+00011de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011df0: 2020 2053 6f63 6b65 7420 2870 726f 6365 Socket (proce\n+00011e00: 6475 7265 292e 2020 2028 6c69 6e65 2032 dure). (line 2\n+00011e10: 3029 0a2a 2053 4f43 4b5f 5354 5245 414d 0).* SOCK_STREAM\n+00011e20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00011e30: 2020 2020 2020 2020 2020 2020 536f 636b Sock\n+00011e40: 6574 2028 7072 6f63 6564 7572 6529 2e20 et (procedure). \n+00011e50: 2020 286c 696e 6520 3230 290a 2a20 534f (line 20).* SO\n+00011e60: 4c5f 534f 434b 4554 3a20 2020 2020 2020 L_SOCKET: \n+00011e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011e80: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+00011e90: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+00011ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ed0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00011ee0: 6520 3231 290a 2a20 534f 4c5f 534f 434b e 21).* SOL_SOCK\n+00011ef0: 4554 203c 313e 3a20 2020 2020 2020 2020 ET <1>: \n+00011f00: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00011f10: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00011f20: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00011f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f60: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+00011f70: 2a20 534f 5f52 4356 4255 463a 2020 2020 * SO_RCVBUF: \n+00011f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011f90: 2020 2020 2020 2020 2047 6574 736f 636b Getsock\n+00011fa0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure).\n+00011fb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00011fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00011ff0: 286c 696e 6520 3231 290a 2a20 534f 5f52 (line 21).* SO_R\n+00012000: 4356 4255 4620 3c31 3e3a 2020 2020 2020 CVBUF <1>: \n+00012010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012020: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p\n+00012030: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. \n+00012040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012070: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00012080: 3231 290a 2a20 534f 5f52 4555 5345 4144 21).* SO_REUSEAD\n+00012090: 4452 3a20 2020 2020 2020 2020 2020 2020 DR: \n+000120a0: 2020 2020 2020 2020 2020 2020 2047 6574 Get\n+000120b0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+000120c0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. \n+000120d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000120f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012100: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n+00012110: 534f 5f52 4555 5345 4144 4452 203c 313e SO_REUSEADDR <1>\n+00012120: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00012130: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop\n+00012140: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. \n+00012150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012170: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012180: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00012190: 696e 6520 3231 290a 2a20 534f 5f52 4555 ine 21).* SO_REU\n+000121a0: 5345 504f 5254 3a20 2020 2020 2020 2020 SEPORT: \n+000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121c0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro\n+000121d0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. \n+000121e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012210: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21\n+00012220: 290a 2a20 534f 5f52 4555 5345 504f 5254 ).* SO_REUSEPORT\n+00012230: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00012240: 2020 2020 2020 2020 2020 2053 6574 736f Setso\n+00012250: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure\n+00012260: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00012270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012290: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122a0: 2020 286c 696e 6520 3231 290a 2a20 534f (line 21).* SO\n+000122b0: 5f53 4e44 4255 463a 2020 2020 2020 2020 _SNDBUF: \n+000122c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000122d0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt \n+000122e0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. \n+000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012300: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012320: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012330: 6520 3231 290a 2a20 534f 5f53 4e44 4255 e 21).* SO_SNDBU\n+00012340: 4620 3c31 3e3a 2020 2020 2020 2020 2020 F <1>: \n+00012350: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012360: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce\n+00012370: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. \n+00012380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000123b0: 2020 2020 2020 286c 696e 6520 3231 290a (line 21).\n+000123c0: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element\n+000123d0: 5f41 7272 6179 3a20 2020 2020 2020 2020 _Array: \n+000123e0: 2020 2020 2020 2020 2052 6177 2064 6174 Raw dat\n+000123f0: 6120 6d61 6e69 7075 6c61 7469 6f6e 2e0a a manipulation..\n+00012400: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012430: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012440: 6c69 6e65 2020 3629 0a2a 2053 7472 6561 line 6).* Strea\n+00012450: 6d5f 456c 656d 656e 745f 4172 7261 7920 m_Element_Array \n+00012460: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00012470: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct\n+00012480: 696f 6e29 2e20 2020 286c 696e 6520 3234 ion). (line 24\n+00012490: 290a 2a20 5374 7265 616d 5f45 6c65 6d65 ).* Stream_Eleme\n+000124a0: 6e74 5f41 7272 6179 203c 323e 3a20 2020 nt_Array <2>: \n+000124b0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei\n+000124c0: 7665 2028 7072 6f63 6564 7572 6529 2e20 ve (procedure). \n+000124d0: 2028 6c69 6e65 2031 3829 0a2a 2053 7472 (line 18).* Str\n+000124e0: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra\n+000124f0: 7920 3c33 3e3a 2020 2020 2020 2020 2020 y <3>: \n+00012500: 2020 2020 5265 6365 6976 655f 536f 6d65 Receive_Some\n+00012510: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. \n+00012520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012540: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012550: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00012560: 6e65 2032 3429 0a2a 2053 7472 6561 6d5f ne 24).* Stream_\n+00012570: 456c 656d 656e 745f 4172 7261 7920 3c34 Element_Array <4\n+00012580: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00012590: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure)\n+000125a0: 2e20 2020 2020 286c 696e 6520 3138 290a . (line 18).\n+000125b0: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element\n+000125c0: 5f43 6f75 6e74 3a20 2020 2020 2020 2020 _Count: \n+000125d0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive\n+000125e0: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). (\n+000125f0: 6c69 6e65 2032 3429 0a2a 2053 7472 6561 line 24).* Strea\n+00012600: 6d5f 456c 656d 656e 745f 436f 756e 7420 m_Element_Count \n+00012610: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00012620: 2020 5265 6365 6976 655f 536f 6d65 2028 Receive_Some (\n+00012630: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. \n+00012640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012650: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012670: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00012680: 2032 3429 0a2a 2053 7472 696e 675f 4163 24).* String_Ac\n+00012690: 6365 7373 3a20 2020 2020 2020 2020 2020 cess: \n+000126a0: 2020 2020 2020 2020 2020 2020 2020 536f So\n+000126b0: 636b 6574 732e 4e61 6d69 6e67 2070 6163 ckets.Naming pac\n+000126c0: 6b61 6765 2e0a 2020 2020 2020 2020 2020 kage.. \n+000126d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000126f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012700: 2020 2020 2028 6c69 6e65 2033 3829 0a2a (line 38).*\n+00012710: 2053 7472 696e 675f 4172 7261 793a 2020 String_Array: \n+00012720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012730: 2020 2020 2020 2020 536f 636b 6574 732e Sockets.\n+00012740: 4e61 6d69 6e67 2070 6163 6b61 6765 2e0a Naming package..\n+00012750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012780: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00012790: 6c69 6e65 2034 3129 0a2a 2053 7567 6765 line 41).* Sugge\n+000127a0: 7374 696e 6720 6120 6665 6174 7572 653a sting a feature:\n+000127b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127c0: 2020 5265 736f 7572 6365 7320 6f6e 2074 Resources on t\n+000127d0: 6865 2049 6e74 6572 6e65 742e 0a20 2020 he Internet.. \n+000127e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000127f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012810: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00012820: 6520 2036 290a 2a20 5443 5020 736f 636b e 6).* TCP sock\n+00012830: 6574 3a20 2020 2020 2020 2020 2020 2020 et: \n+00012840: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012850: 6574 7469 6e67 2075 7020 756e 6963 6173 etting up unicas\n+00012860: 7420 736f 636b 6574 732e 0a20 2020 2020 t sockets.. \n+00012870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000128a0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000128b0: 2036 290a 2a20 5544 5020 736f 636b 6574 6).* UDP socket\n+000128c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000128d0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000128e0: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast \n+000128f0: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. \n+00012900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012930: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+00012940: 290a 2a20 556e 6963 6173 7420 736f 636b ).* Unicast sock\n+00012950: 6574 733a 2020 2020 2020 2020 2020 2020 ets: \n+00012960: 2020 2020 2020 2020 2020 2053 6574 7469 Setti\n+00012970: 6e67 2075 7020 756e 6963 6173 7420 736f ng up unicast so\n+00012980: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. \n+00012990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129c0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+000129d0: 2a20 556e 7365 745f 4275 6666 6572 3a20 * Unset_Buffer: \n+000129e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000129f0: 2020 2020 2020 2020 2055 6e73 6574 5f42 Unset_B\n+00012a00: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure\n+00012a10: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. \n+00012a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a50: 2020 286c 696e 6520 2039 290a 2a20 5661 (line 9).* Va\n+00012a60: 6c75 653a 2020 2020 2020 2020 2020 2020 lue: \n+00012a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012a80: 2020 2020 2056 616c 7565 2028 6675 6e63 Value (func\n+00012a90: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line\n+00012aa0: 2020 3929 0a0a 0a1f 0a54 6167 2054 6162 9).....Tag Tab\n+00012ab0: 6c65 3a0a 4e6f 6465 3a20 546f 707f 3831 le:.Node: Top.81\n+00012ac0: 370a 4e6f 6465 3a20 5768 6174 2069 7320 7.Node: What is \n+00012ad0: 4164 6153 6f63 6b65 7473 3f7f 3133 3930 AdaSockets?.1390\n+00012ae0: 0a4e 6f64 653a 2049 6e73 7461 6c6c 696e .Node: Installin\n+00012af0: 6720 4164 6153 6f63 6b65 7473 7f32 3238 g AdaSockets.228\n+00012b00: 330a 4e6f 6465 3a20 5573 696e 6720 4164 3.Node: Using Ad\n+00012b10: 6153 6f63 6b65 7473 7f33 3237 300a 4e6f aSockets.3270.No\n+00012b20: 6465 3a20 436f 6d70 696c 696e 6720 616e de: Compiling an\n+00012b30: 2041 6461 2061 7070 6c69 6361 7469 6f6e Ada application\n+00012b40: 7f33 3536 310a 4e6f 6465 3a20 5365 7474 .3561.Node: Sett\n+00012b50: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s\n+00012b60: 6f63 6b65 7473 7f34 3138 380a 4e6f 6465 ockets.4188.Node\n+00012b70: 3a20 5365 7474 696e 6720 7570 206d 756c : Setting up mul\n+00012b80: 7469 6361 7374 2073 6f63 6b65 7473 7f35 ticast sockets.5\n+00012b90: 3439 340a 4e6f 6465 3a20 5365 6e64 696e 494.Node: Sendin\n+00012ba0: 6720 616e 6420 7265 6365 6976 696e 6720 g and receiving \n+00012bb0: 6461 7461 7f36 3832 330a 4e6f 6465 3a20 data.6823.Node: \n+00012bc0: 5261 7720 6461 7461 206d 616e 6970 756c Raw data manipul\n+00012bd0: 6174 696f 6e7f 3731 3835 0a4e 6f64 653a ation.7185.Node:\n+00012be0: 2053 7472 696e 672d 6f72 6965 6e74 6564 String-oriented\n+00012bf0: 2065 7863 6861 6e67 6573 7f37 3538 350a exchanges.7585.\n+00012c00: 4e6f 6465 3a20 536f 636b 6574 7320 7061 Node: Sockets pa\n+00012c10: 636b 6167 657f 3836 3832 0a4e 6f64 653a ckage.8682.Node:\n+00012c20: 2041 6363 6570 745f 536f 636b 6574 2028 Accept_Socket (\n+00012c30: 7072 6f63 6564 7572 6529 7f31 3039 3439 procedure).10949\n+00012c40: 0a4e 6f64 653a 2042 696e 6420 2870 726f .Node: Bind (pro\n+00012c50: 6365 6475 7265 297f 3133 3031 380a 4e6f cedure).13018.No\n+00012c60: 6465 3a20 436f 6e6e 6563 7420 2870 726f de: Connect (pro\n+00012c70: 6365 6475 7265 297f 3134 3239 310a 4e6f cedure).14291.No\n+00012c80: 6465 3a20 4765 7420 2866 756e 6374 696f de: Get (functio\n+00012c90: 6e29 7f31 3537 3039 0a4e 6f64 653a 2047 n).15709.Node: G\n+00012ca0: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio\n+00012cb0: 6e29 7f31 3639 3036 0a4e 6f64 653a 2047 n).16906.Node: G\n+00012cc0: 6574 5f4c 696e 6520 2866 756e 6374 696f et_Line (functio\n+00012cd0: 6e29 7f31 3737 3637 0a4e 6f64 653a 2047 n).17767.Node: G\n+00012ce0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu\n+00012cf0: 7265 297f 3139 3037 340a 4e6f 6465 3a20 re).19074.Node: \n+00012d00: 4765 745f 5265 6365 6976 655f 5175 6575 Get_Receive_Queu\n+00012d10: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function\n+00012d20: 297f 3230 3233 390a 4e6f 6465 3a20 4765 ).20239.Node: Ge\n+00012d30: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz\n+00012d40: 6520 2866 756e 6374 696f 6e29 7f32 3131 e (function).211\n+00012d50: 3037 0a4e 6f64 653a 2047 6574 736f 636b 07.Node: Getsock\n+00012d60: 6f70 7420 2870 726f 6365 6475 7265 297f opt (procedure).\n+00012d70: 3231 3936 340a 4e6f 6465 3a20 4c69 7374 21964.Node: List\n+00012d80: 656e 2028 7072 6f63 6564 7572 6529 7f32 en (procedure).2\n+00012d90: 3332 3832 0a4e 6f64 653a 204e 6577 5f4c 3282.Node: New_L\n+00012da0: 696e 6520 2870 726f 6365 6475 7265 297f ine (procedure).\n+00012db0: 3234 3135 380a 4e6f 6465 3a20 5075 7420 24158.Node: Put \n+00012dc0: 2870 726f 6365 6475 7265 297f 3234 3838 (procedure).2488\n+00012dd0: 300a 4e6f 6465 3a20 5075 745f 4c69 6e65 0.Node: Put_Line\n+00012de0: 2028 7072 6f63 6564 7572 6529 7f32 3536 (procedure).256\n+00012df0: 3131 0a4e 6f64 653a 2052 6563 6569 7665 11.Node: Receive\n+00012e00: 2028 6675 6e63 7469 6f6e 297f 3236 3339 (function).2639\n+00012e10: 370a 4e6f 6465 3a20 5265 6365 6976 6520 7.Node: Receive \n+00012e20: 2870 726f 6365 6475 7265 297f 3237 3630 (procedure).2760\n+00012e30: 360a 4e6f 6465 3a20 5265 6365 6976 655f 6.Node: Receive_\n+00012e40: 536f 6d65 2028 7072 6f63 6564 7572 6529 Some (procedure)\n+00012e50: 7f32 3836 3239 0a4e 6f64 653a 2053 656e .28629.Node: Sen\n+00012e60: 6420 2870 726f 6365 6475 7265 297f 3239 d (procedure).29\n+00012e70: 3831 360a 4e6f 6465 3a20 5365 745f 4275 816.Node: Set_Bu\n+00012e80: 6666 6572 2028 7072 6f63 6564 7572 6529 ffer (procedure)\n+00012e90: 7f33 3035 3535 0a4e 6f64 653a 2053 6574 .30555.Node: Set\n+00012ea0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu\n+00012eb0: 7265 297f 3331 3736 380a 4e6f 6465 3a20 re).31768.Node: \n+00012ec0: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced\n+00012ed0: 7572 6529 7f33 3330 3636 0a4e 6f64 653a ure).33066.Node:\n+00012ee0: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu\n+00012ef0: 7265 297f 3333 3730 340a 4e6f 6465 3a20 re).33704.Node: \n+00012f00: 556e 7365 745f 4275 6666 6572 2028 7072 Unset_Buffer (pr\n+00012f10: 6f63 6564 7572 6529 7f33 3530 3738 0a4e ocedure).35078.N\n+00012f20: 6f64 653a 2053 6f63 6b65 7473 2e4d 756c ode: Sockets.Mul\n+00012f30: 7469 6361 7374 2070 6163 6b61 6765 7f33 ticast package.3\n+00012f40: 3537 3737 0a4e 6f64 653a 2043 7265 6174 5777.Node: Creat\n+00012f50: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock\n+00012f60: 6574 2028 6675 6e63 7469 6f6e 297f 3336 et (function).36\n+00012f70: 3630 320a 4e6f 6465 3a20 536f 636b 6574 602.Node: Socket\n+00012f80: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package\n+00012f90: 7f33 3935 3632 0a4e 6f64 653a 2041 6464 .39562.Node: Add\n+00012fa0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio\n+00012fb0: 6e29 7f34 3230 3733 0a4e 6f64 653a 2041 n).42073.Node: A\n+00012fc0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func\n+00012fd0: 7469 6f6e 297f 3432 3936 330a 4e6f 6465 tion).42963.Node\n+00012fe0: 3a20 4765 745f 5065 6572 5f41 6464 7220 : Get_Peer_Addr \n+00012ff0: 2866 756e 6374 696f 6e29 7f34 3333 3734 (function).43374\n+00013000: 0a4e 6f64 653a 2047 6574 5f50 6565 725f .Node: Get_Peer_\n+00013010: 506f 7274 2028 6675 6e63 7469 6f6e 297f Port (function).\n+00013020: 3433 3934 360a 4e6f 6465 3a20 4765 745f 43946.Node: Get_\n+00013030: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct\n+00013040: 696f 6e29 7f34 3435 3336 0a4e 6f64 653a ion).44536.Node:\n+00013050: 2047 6574 5f53 6f63 6b5f 506f 7274 2028 Get_Sock_Port (\n+00013060: 6675 6e63 7469 6f6e 297f 3435 3132 380a function).45128.\n+00013070: 4e6f 6465 3a20 486f 7374 5f4e 616d 6520 Node: Host_Name \n+00013080: 2866 756e 6374 696f 6e29 7f34 3537 3132 (function).45712\n+00013090: 0a4e 6f64 653a 2049 6d61 6765 2028 6675 .Node: Image (fu\n+000130a0: 6e63 7469 6f6e 297f 3436 3232 380a 4e6f nction).46228.No\n+000130b0: 6465 3a20 496e 666f 5f4f 665f 4e61 6d65 de: Info_Of_Name\n+000130c0: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function\n+000130d0: 297f 3436 3730 340a 4e6f 6465 3a20 4973 ).46704.Node: Is\n+000130e0: 5f49 505f 4164 6472 6573 7320 2866 756e _IP_Address (fun\n+000130f0: 6374 696f 6e29 7f34 3734 3330 0a4e 6f64 ction).47430.Nod\n+00013100: 653a 204e 616d 655f 4f66 2028 6675 6e63 e: Name_Of (func\n+00013110: 7469 6f6e 297f 3437 3934 300a 4e6f 6465 tion).47940.Node\n+00013120: 3a20 5661 6c75 6520 2866 756e 6374 696f : Value (functio\n+00013130: 6e29 7f34 3835 3233 0a4e 6f64 653a 2043 n).48523.Node: C\n+00013140: 6f6e 7472 6962 7574 6f72 737f 3438 3937 ontributors.4897\n+00013150: 350a 4e6f 6465 3a20 5265 736f 7572 6365 5.Node: Resource\n+00013160: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne\n+00013170: 747f 3530 3336 310a 4e6f 6465 3a20 496e t.50361.Node: In\n+00013180: 6465 787f 3530 3739 350a 1f0a 456e 6420 dex.50795...End \n+00013190: 5461 6720 5461 626c 650a Tag Table.\n"}]}]}]}]}]}