--- /srv/reproducible-results/rbuild-debian/r-b-build.GRy3nLWk/b1/adasockets_1.14-3_armhf.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.GRy3nLWk/b2/adasockets_1.14-3_armhf.changes ├── Files │ @@ -1,5 +1,5 @@ │ │ 98369710c8508775e6eb3dba1719638e 62080 libdevel optional libadasockets-dev_1.14-3_armhf.deb │ - 8da450e824c65f26045b77dfbe41efc3 260688 doc optional libadasockets-doc_1.14-3_all.deb │ + a7f58e7acbfde29ed518ae9cf34c53d7 261476 doc optional libadasockets-doc_1.14-3_all.deb │ 5e745255064efd5ba4c79f63eff988cb 52204 debug optional libadasockets11-dbgsym_1.14-3_armhf.deb │ 342bf21a5fde8fd36fabd2fd5a328630 27996 libs optional libadasockets11_1.14-3_armhf.deb ├── libadasockets-doc_1.14-3_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2025-03-19 15:40:14.000000 debian-binary │ │ -rw-r--r-- 0 0 0 1060 2025-03-19 15:40:14.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 259436 2025-03-19 15:40:14.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 260224 2025-03-19 15:40:14.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: libadasockets-doc │ │ │ │ Source: adasockets │ │ │ │ Version: 1.14-3 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Phil Brooke │ │ │ │ -Installed-Size: 289 │ │ │ │ +Installed-Size: 290 │ │ │ │ Suggests: gnat │ │ │ │ Breaks: libadasockets10-dev, libadasockets11-dev, libadasockets12-dev, libadasockets8-dev, libadasockets9-dev │ │ │ │ Replaces: libadasockets10-dev, libadasockets11-dev, libadasockets12-dev, libadasockets8-dev, libadasockets9-dev │ │ │ │ Section: doc │ │ │ │ Priority: optional │ │ │ │ Multi-Arch: foreign │ │ │ │ Homepage: https://www.rfc1149.net/devel/adasockets.html │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -1,21 +1,21 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/doc/ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2311 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/README.md │ │ │ │ --rw-r--r-- 0 root (0) root (0) 237080 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 237722 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/examples/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 233 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-dev/examples/examples.gpr │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4958 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/listener.adb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3982 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/multi.adb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4593 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/stream_listener.adb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3906 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/stream_sender.adb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4921 2023-12-28 23:42:12.000000 ./usr/share/doc/libadasockets-dev/examples/tcprelay.adb │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1698 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/changelog.Debian.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3026 2025-03-19 15:40:14.000000 ./usr/share/doc/libadasockets-doc/copyright │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 475 2025-03-19 15:40:14.000000 ./usr/share/doc-base/libadasockets-doc.adasockets │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-03-19 15:40:14.000000 ./usr/share/info/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13958 2025-03-19 15:40:14.000000 ./usr/share/info/adasockets.info.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 14106 2025-03-19 15:40:14.000000 ./usr/share/info/adasockets.info.gz │ │ │ ├── ./usr/share/doc/libadasockets-dev/adasockets.pdf.gz │ │ │ │ ├── adasockets.pdf │ │ │ │ │ ├── pdftotext {} - │ │ │ │ │ │ @@ -52,37 +52,37 @@ │ │ │ │ │ │ │ │ │ │ │ │ 5 Sockets.Multicast package . . . . . . . . . . . . . . . . . . . . . 19 │ │ │ │ │ │ Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 │ │ │ │ │ │ Create Multicast Socket (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 │ │ │ │ │ │ │ │ │ │ │ │ ii │ │ │ │ │ │ │ │ │ │ │ │ -6 Sockets.Naming package . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Address Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Any Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get Peer Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get Peer Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get Sock Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get Sock Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Host Name (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Image (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Info Of Name Or IP (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Is IP Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Name Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Value (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +6 Sockets.Naming package . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Address Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Any Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get Peer Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get Peer Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get Sock Addr (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get Sock Port (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Host Name (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Image (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Info Of Name Or IP (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Is IP Address (function). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Name Of (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Value (function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 │ │ │ │ │ │ │ │ │ │ │ │ Appendix A │ │ │ │ │ │ │ │ │ │ │ │ -Contributors. . . . . . . . . . . . . . . . . . . . . . . . 27 │ │ │ │ │ │ +Contributors. . . . . . . . . . . . . . . . . . . . . . . . 29 │ │ │ │ │ │ │ │ │ │ │ │ Appendix B │ │ │ │ │ │ │ │ │ │ │ │ -Resources on the Internet . . . . . . . . . 29 │ │ │ │ │ │ +Resources on the Internet . . . . . . . . . 31 │ │ │ │ │ │ │ │ │ │ │ │ -Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 │ │ │ │ │ │ +Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 │ │ │ │ │ │ │ │ │ │ │ │ 1 │ │ │ │ │ │ │ │ │ │ │ │ 1 What is AdaSockets? │ │ │ │ │ │ AdaSockets is a set of free software Ada packages allowing Ada programmers to use the │ │ │ │ │ │ so-called BSD sockets from their favourite programming language. AdaSockets has been │ │ │ │ │ │ designed and tested with the GNAT free software Ada compiler, but should be portable to │ │ │ │ │ │ @@ -94,15 +94,15 @@ │ │ │ │ │ │ AdaSockets philosophy is to help the Ada programmer by providing easy-to-use objects. │ │ │ │ │ │ Special care has been taken to ensure that performances do however remain good. │ │ │ │ │ │ │ │ │ │ │ │ 3 │ │ │ │ │ │ │ │ │ │ │ │ 2 Installing AdaSockets │ │ │ │ │ │ Installing AdaSockets on a Unix or OpenVMS machine is as simple as typing a few commands. Once you got the latest version of AdaSockets (see Appendix B [Resources on │ │ │ │ │ │ -the Internet], page 29), uncompress and untar it and go to the top-level directory of the │ │ │ │ │ │ +the Internet], page 31), uncompress and untar it and go to the top-level directory of the │ │ │ │ │ │ distribution. │ │ │ │ │ │ You must configure the AdaSockets distribution by using the configure command, such │ │ │ │ │ │ as in: │ │ │ │ │ │ ./configure --prefix=/users/sam/adasockets │ │ │ │ │ │ If you want to install AdaSockets under the /usr/local hierarchy, you do not need to │ │ │ │ │ │ specify the --prefix option. Make sure you have write permission on the target directories. │ │ │ │ │ │ Once AdaSockets is configured, you can compile and install it by using the make command: │ │ │ │ │ │ @@ -257,15 +257,15 @@ │ │ │ │ │ │ 8 │ │ │ │ │ │ │ │ │ │ │ │ AdaSockets reference manual │ │ │ │ │ │ │ │ │ │ │ │ Description │ │ │ │ │ │ This procedure requests a local port from the operating system. If 0 is given │ │ │ │ │ │ in Port, the system will assign a free port whose number can later be retrieved │ │ │ │ │ │ -using [Get Sock Port (function)], page 23. Also, most operating systems require │ │ │ │ │ │ +using [Get Sock Port (function)], page 25. Also, most operating systems require │ │ │ │ │ │ special privileges if you want to bind to ports below 1024. │ │ │ │ │ │ If Host is not the empty string, it must contain the IP address of a local interface │ │ │ │ │ │ to bind to, or a name which resolves into such an address. If an empty string │ │ │ │ │ │ is given (the default), the socket will be bound to all the available interfaces. │ │ │ │ │ │ Exceptions │ │ │ │ │ │ Socket_Error │ │ │ │ │ │ │ │ │ │ │ │ @@ -1142,27 +1142,41 @@ │ │ │ │ │ │ Description │ │ │ │ │ │ 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 │ │ │ │ │ │ automatically be chosen by your operating system. │ │ │ │ │ │ This function should be used when you want to send packets to a multicast │ │ │ │ │ │ group without receiving any packet yourself. │ │ │ │ │ │ Example │ │ │ │ │ │ declare │ │ │ │ │ │ -Sock : Multicast_Socket_FD; │ │ │ │ │ │ +Sock │ │ │ │ │ │ +: Socket_FD; │ │ │ │ │ │ +Incoming : Socket_FD; │ │ │ │ │ │ begin │ │ │ │ │ │ --- Create a multicast socket on group 224.1.2.3 port 8763 │ │ │ │ │ │ -Sock := Create_Multicast_Socket ("224.1.2.3", 8763); │ │ │ │ │ │ --- Perform some operations on socket │ │ │ │ │ │ -[...] │ │ │ │ │ │ --- Shutdown the socket in both directions │ │ │ │ │ │ -Shutdown (Sock, Both); │ │ │ │ │ │ +-- Create a TCP socket listening on local port 4161 │ │ │ │ │ │ +Socket (Sock, PF_INET, SOCK_STREAM); │ │ │ │ │ │ +Bind (Sock, 4161); │ │ │ │ │ │ +Listen (Sock, 3); │ │ │ │ │ │ +-- One-connection-at-a-time server (3 may be pending) │ │ │ │ │ │ +loop │ │ │ │ │ │ +-- Wait for a new connection and accept it │ │ │ │ │ │ +Accept_Socket (Sock, Incoming); │ │ │ │ │ │ +-- Do some dialog with the remote host │ │ │ │ │ │ +Do_Some_Dialog (Incoming); │ │ │ │ │ │ + │ │ │ │ │ │ + Chapter 5: Sockets.Multicast package │ │ │ │ │ │ + │ │ │ │ │ │ +21 │ │ │ │ │ │ + │ │ │ │ │ │ +-- Close incoming socket and wait for next connection │ │ │ │ │ │ +Shutdown (Incoming); │ │ │ │ │ │ +end loop; │ │ │ │ │ │ end; │ │ │ │ │ │ See also [Send (procedure)], page 15, │ │ │ │ │ │ [Shutdown (procedure)], page 17. │ │ │ │ │ │ │ │ │ │ │ │ - 21 │ │ │ │ │ │ + 23 │ │ │ │ │ │ │ │ │ │ │ │ 6 Sockets.Naming package │ │ │ │ │ │ The Sockets.Naming package contains types and helper functions needed to manipulate │ │ │ │ │ │ Internet host names and addresses. │ │ │ │ │ │ │ │ │ │ │ │ type Address is record │ │ │ │ │ │ H1, H2, H3, H4 : Address_Component; │ │ │ │ │ │ @@ -1231,17 +1245,17 @@ │ │ │ │ │ │ Return value │ │ │ │ │ │ IPv4 address │ │ │ │ │ │ Exceptions │ │ │ │ │ │ Naming_Error │ │ │ │ │ │ │ │ │ │ │ │ No information available for this name or address │ │ │ │ │ │ │ │ │ │ │ │ -See also [Name Of (function)], page 24. │ │ │ │ │ │ +See also [Name Of (function)], page 26. │ │ │ │ │ │ │ │ │ │ │ │ - 22 │ │ │ │ │ │ + 24 │ │ │ │ │ │ │ │ │ │ │ │ AdaSockets reference manual │ │ │ │ │ │ │ │ │ │ │ │ Any Address (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Special address representing any address on the local host │ │ │ │ │ │ @@ -1270,16 +1284,16 @@ │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Get Peer Addr] │ │ │ │ │ │ │ │ │ │ │ │ Connected socket object │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ Peer address │ │ │ │ │ │ -See also [Get Peer Port (function)], page 22, │ │ │ │ │ │ -[Get Sock Addr (function)], page 22. │ │ │ │ │ │ +See also [Get Peer Port (function)], page 24, │ │ │ │ │ │ +[Get Sock Addr (function)], page 24. │ │ │ │ │ │ │ │ │ │ │ │ Get Peer Port (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Retrieve port used by remote host │ │ │ │ │ │ │ │ │ │ │ │ Prototype │ │ │ │ │ │ @@ -1294,16 +1308,16 @@ │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Get Peer Port] │ │ │ │ │ │ │ │ │ │ │ │ Connected socket object │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ Port used on the remote host │ │ │ │ │ │ -See also [Get Sock Port (function)], page 23, │ │ │ │ │ │ -[Get Peer Addr (function)], page 22. │ │ │ │ │ │ +See also [Get Sock Port (function)], page 25, │ │ │ │ │ │ +[Get Peer Addr (function)], page 24. │ │ │ │ │ │ │ │ │ │ │ │ Get Sock Addr (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Retrieve IP address of local host │ │ │ │ │ │ │ │ │ │ │ │ Prototype │ │ │ │ │ │ @@ -1318,20 +1332,20 @@ │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Get Sock Addr] │ │ │ │ │ │ │ │ │ │ │ │ Connected socket object │ │ │ │ │ │ │ │ │ │ │ │ Chapter 6: Sockets.Naming package │ │ │ │ │ │ │ │ │ │ │ │ -23 │ │ │ │ │ │ +25 │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ Address of local interface used │ │ │ │ │ │ -See also [Get Sock Port (function)], page 23, │ │ │ │ │ │ -[Get Peer Addr (function)], page 22. │ │ │ │ │ │ +See also [Get Sock Port (function)], page 25, │ │ │ │ │ │ +[Get Peer Addr (function)], page 24. │ │ │ │ │ │ │ │ │ │ │ │ Get Sock Port (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Retrieve port used by local host │ │ │ │ │ │ │ │ │ │ │ │ Prototype │ │ │ │ │ │ @@ -1346,16 +1360,16 @@ │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Get Sock Port] │ │ │ │ │ │ │ │ │ │ │ │ Connected socket object │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ Port used on the local host │ │ │ │ │ │ -See also [Get Peer Port (function)], page 22, │ │ │ │ │ │ -[Get Sock Addr (function)], page 22. │ │ │ │ │ │ +See also [Get Peer Port (function)], page 24, │ │ │ │ │ │ +[Get Sock Addr (function)], page 24. │ │ │ │ │ │ │ │ │ │ │ │ Host Name (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Get the name of the current host │ │ │ │ │ │ │ │ │ │ │ │ Prototype │ │ │ │ │ │ @@ -1383,19 +1397,19 @@ │ │ │ │ │ │ │ │ │ │ │ │ in │ │ │ │ │ │ │ │ │ │ │ │ IP address │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ String representation of the IP address │ │ │ │ │ │ -See also [Value (function)], page 25. │ │ │ │ │ │ +See also [Value (function)], page 27. │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Image] │ │ │ │ │ │ │ │ │ │ │ │ - 24 │ │ │ │ │ │ + 26 │ │ │ │ │ │ │ │ │ │ │ │ AdaSockets reference manual │ │ │ │ │ │ │ │ │ │ │ │ Info Of Name Or IP (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Get addresses and names of a host │ │ │ │ │ │ @@ -1467,19 +1481,19 @@ │ │ │ │ │ │ Return value │ │ │ │ │ │ Name of the host │ │ │ │ │ │ Exceptions │ │ │ │ │ │ Naming_Error │ │ │ │ │ │ │ │ │ │ │ │ No information available for this name or address │ │ │ │ │ │ │ │ │ │ │ │ -See also [Address Of (function)], page 21. │ │ │ │ │ │ +See also [Address Of (function)], page 23. │ │ │ │ │ │ │ │ │ │ │ │ Chapter 6: Sockets.Naming package │ │ │ │ │ │ │ │ │ │ │ │ -25 │ │ │ │ │ │ +27 │ │ │ │ │ │ │ │ │ │ │ │ Value (function) │ │ │ │ │ │ Purpose │ │ │ │ │ │ │ │ │ │ │ │ Transform a string into an address │ │ │ │ │ │ │ │ │ │ │ │ Prototype │ │ │ │ │ │ @@ -1489,21 +1503,21 @@ │ │ │ │ │ │ Parameters │ │ │ │ │ │ Add │ │ │ │ │ │ │ │ │ │ │ │ in │ │ │ │ │ │ │ │ │ │ │ │ Return value │ │ │ │ │ │ Corresponding Address │ │ │ │ │ │ -See also [Image (function)], page 23. │ │ │ │ │ │ +See also [Image (function)], page 25. │ │ │ │ │ │ │ │ │ │ │ │ [Sockets.Naming.Value] │ │ │ │ │ │ │ │ │ │ │ │ Textual representation of an IP address │ │ │ │ │ │ │ │ │ │ │ │ - 27 │ │ │ │ │ │ + 29 │ │ │ │ │ │ │ │ │ │ │ │ Appendix A Contributors │ │ │ │ │ │ AdaSockets has been originally developped by Samuel Tardieu who still maintains it. However, the following people have made crucial contributions to AdaSockets, be they new code, │ │ │ │ │ │ bug fixes or porting to new operating systems: │ │ │ │ │ │ • Dmitriy Anisimkov (anisimkov@yahoo.com) │ │ │ │ │ │ • Alan Barnes (barnesa@aston.ac.uk) │ │ │ │ │ │ • Juanma Barranquero (lektu@terra.es) │ │ │ │ │ │ @@ -1520,94 +1534,94 @@ │ │ │ │ │ │ • Thomas Quinot (thomas@cuivre.fr.eu.org) │ │ │ │ │ │ • Preben Randhol (randhol@pvv.org) │ │ │ │ │ │ • Maxim Reznik (max1@mbank.com.ua) │ │ │ │ │ │ • Joel Sherrill (joel.sherrill@oarcorp.com) │ │ │ │ │ │ • Samuel Tardieu (sam@rfc1149.net) │ │ │ │ │ │ If you feel that you have been forgotten, please send me a mail so that I can fix it in the │ │ │ │ │ │ next version. │ │ │ │ │ │ -See Appendix B [Resources on the Internet], page 29, for how to contribute. │ │ │ │ │ │ +See Appendix B [Resources on the Internet], page 31, for how to contribute. │ │ │ │ │ │ │ │ │ │ │ │ - 29 │ │ │ │ │ │ + 31 │ │ │ │ │ │ │ │ │ │ │ │ Appendix B Resources on the Internet │ │ │ │ │ │ The latest version of AdaSockets can always be found at: │ │ │ │ │ │ https://www.rfc1149.net/devel/adasockets │ │ │ │ │ │ You can report issues or the AdaSockets mailing-list at │ │ │ │ │ │ https://lists.sr.ht/~rfc1149/adasockets-devel │ │ │ │ │ │ Contributions and patches are welcomed. │ │ │ │ │ │ │ │ │ │ │ │ - 31 │ │ │ │ │ │ + 33 │ │ │ │ │ │ │ │ │ │ │ │ Index │ │ │ │ │ │ A │ │ │ │ │ │ │ │ │ │ │ │ G │ │ │ │ │ │ │ │ │ │ │ │ Accept_Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ Accepting a new connection . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ Ada.Streams.Stream_Element_Array . . . . 6, 14, 15 │ │ │ │ │ │ Ada.Streams.Stream_Element_Count . . . . . . . 14, 15 │ │ │ │ │ │ AdaSockets presentation . . . . . . . . . . . . . . . . . . . . . . . . 1 │ │ │ │ │ │ -Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ +Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Address_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Address_Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Address_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ AF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 │ │ │ │ │ │ -Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ +Any_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ Assigning a local port . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ │ │ │ │ │ │ Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 │ │ │ │ │ │ Get_Char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 │ │ │ │ │ │ Get_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 │ │ │ │ │ │ -Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ +Get_Peer_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get_Peer_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ Get_Receive_Queue_Size . . . . . . . . . . . . . . . . . . . . . . 11 │ │ │ │ │ │ Get_Send_Queue_Size. . . . . . . . . . . . . . . . . . . . . . . . . . 11 │ │ │ │ │ │ -Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Get_Sock_Addr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Get_Sock_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ Getsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 │ │ │ │ │ │ Group communication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ │ │ │ │ │ │ H │ │ │ │ │ │ B │ │ │ │ │ │ Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ Binding a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ Both . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 │ │ │ │ │ │ │ │ │ │ │ │ Handling a new connection . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ -Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Host_Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Host_Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ │ │ │ │ │ │ I │ │ │ │ │ │ C │ │ │ │ │ │ Closing a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 │ │ │ │ │ │ Comparaison with GNAT.Sockets . . . . . . . . . . . . . . . . 1 │ │ │ │ │ │ Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 │ │ │ │ │ │ Connecting a socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 │ │ │ │ │ │ Connection_Closed . . . . . . . . . . . 9, 10, 11, 13, 14, 15 │ │ │ │ │ │ Connection_Refused . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 │ │ │ │ │ │ -Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 29 │ │ │ │ │ │ +Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 31 │ │ │ │ │ │ Create_Multicast_Socket . . . . . . . . . . . . . . . 5, 19, 20 │ │ │ │ │ │ Creating a multicast socket . . . . . . . . . . . . . . 5, 19, 20 │ │ │ │ │ │ Creating a server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 │ │ │ │ │ │ Creating a socket. . . . . . . . . . . . . . . . . . . . . 5, 17, 19, 20 │ │ │ │ │ │ Creating a TCP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ Creating a UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ Creating a unicast socket . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ CR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13 │ │ │ │ │ │ │ │ │ │ │ │ -Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Info_Of_Name_Or_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ Installing AdaSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 │ │ │ │ │ │ IP_ADD_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ IP_DROP_MEMBERSHIP . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ IP_MULTICAST_LOOP . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ IP_MULTICAST_TTL . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ IPPROTO_IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ -Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Is_IP_Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ │ │ │ │ │ │ L │ │ │ │ │ │ LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 13 │ │ │ │ │ │ Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 │ │ │ │ │ │ Listen queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 │ │ │ │ │ │ │ │ │ │ │ │ M │ │ │ │ │ │ @@ -1619,40 +1633,40 @@ │ │ │ │ │ │ Multicast sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ Multicast_Socket_FD . . . . . . . . . . . . . . . . . . . . . . . 5, 19 │ │ │ │ │ │ │ │ │ │ │ │ F │ │ │ │ │ │ │ │ │ │ │ │ N │ │ │ │ │ │ │ │ │ │ │ │ -Finding AdaSockets on the Internet . . . . . . . . . . . . 29 │ │ │ │ │ │ +Finding AdaSockets on the Internet . . . . . . . . . . . . 31 │ │ │ │ │ │ │ │ │ │ │ │ -Name_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Naming_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 24 │ │ │ │ │ │ +Name_Of . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Naming_Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 26 │ │ │ │ │ │ New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ │ │ │ │ │ │ - 32 │ │ │ │ │ │ + 34 │ │ │ │ │ │ │ │ │ │ │ │ AdaSockets reference manual │ │ │ │ │ │ │ │ │ │ │ │ P │ │ │ │ │ │ │ │ │ │ │ │ Sockets.Multicast.Create_Multicast_ │ │ │ │ │ │ Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 19, 20 │ │ │ │ │ │ -Sockets.Naming.Address_Of . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Sockets.Naming.Any_Address. . . . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Sockets.Naming.Get_Peer_Addr . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Sockets.Naming.Get_Peer_Port . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Sockets.Naming.Get_Sock_Addr . . . . . . . . . . . . . . . 22 │ │ │ │ │ │ -Sockets.Naming.Get_Sock_Port . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Sockets.Naming.Host_Name . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ -Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 24 │ │ │ │ │ │ -Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ -Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Sockets.Naming.Address_Of . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Sockets.Naming.Any_Address. . . . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Sockets.Naming.Get_Peer_Addr . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Sockets.Naming.Get_Peer_Port . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Sockets.Naming.Get_Sock_Addr . . . . . . . . . . . . . . . 24 │ │ │ │ │ │ +Sockets.Naming.Get_Sock_Port . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Sockets.Naming.Host_Name . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Sockets.Naming.Image . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Sockets.Naming.Info_Of_Name_Or_IP . . . . . . . . . 26 │ │ │ │ │ │ +Sockets.Naming.Is_IP_Address . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Sockets.Naming.Name_Of . . . . . . . . . . . . . . . . . . . . . . 26 │ │ │ │ │ │ +Sockets.Naming.Value . . . . . . . . . . . . . . . . . . . . . . . . 27 │ │ │ │ │ │ Sockets.New_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ Sockets.Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ Sockets.Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ Sockets.Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 │ │ │ │ │ │ Sockets.Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . 15 │ │ │ │ │ │ Sockets.Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 │ │ │ │ │ │ Sockets.Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 │ │ │ │ │ │ @@ -1664,35 +1678,35 @@ │ │ │ │ │ │ Sockets.SO_SNDBUF . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ Sockets.Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 17 │ │ │ │ │ │ Sockets.SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ Sockets.Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . 18 │ │ │ │ │ │ SOL_SOCKET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ Stream_Element_Array . . . . . . . . . . . . . . . . . . 6, 14, 15 │ │ │ │ │ │ Stream_Element_Count . . . . . . . . . . . . . . . . . . . . . 14, 15 │ │ │ │ │ │ -String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 │ │ │ │ │ │ -Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 │ │ │ │ │ │ +String_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +String_Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 │ │ │ │ │ │ +Suggesting a feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 │ │ │ │ │ │ │ │ │ │ │ │ PF_INET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 │ │ │ │ │ │ Put . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ Put_Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 │ │ │ │ │ │ │ │ │ │ │ │ R │ │ │ │ │ │ Raw data manipulation . . . . . . . . . . . . . . . . . . . . . . . . . 6 │ │ │ │ │ │ Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17 │ │ │ │ │ │ Receive_Some . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 │ │ │ │ │ │ Receiving data . . . . . . . . . . 6, 9, 10, 11, 14, 15, 16, 18 │ │ │ │ │ │ -Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 │ │ │ │ │ │ -Representing IP addresses . . . . . . . . . . . . . . . . . . 23, 25 │ │ │ │ │ │ +Reporting a bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 │ │ │ │ │ │ +Representing IP addresses . . . . . . . . . . . . . . . . . . 25, 27 │ │ │ │ │ │ Retrieving socket options. . . . . . . . . . . . . . . . . . . . . . . 12 │ │ │ │ │ │ │ │ │ │ │ │ S │ │ │ │ │ │ Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15, 17 │ │ │ │ │ │ Sending data . . . . . . . . . . . . . . . . . . . . . 6, 11, 12, 13, 15 │ │ │ │ │ │ -Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 │ │ │ │ │ │ +Sending patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 │ │ │ │ │ │ Set_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 │ │ │ │ │ │ Setsockopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 │ │ │ │ │ │ Setting socket options . . . . . . . . . . . . . . . . . . . . . . . . . . 16 │ │ │ │ │ │ Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 │ │ │ │ │ │ SO_RCVBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ SO_REUSEADDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ SO_REUSEPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 16 │ │ │ │ │ │ @@ -1724,10 +1738,10 @@ │ │ │ │ │ │ │ │ │ │ │ │ U │ │ │ │ │ │ UDP socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ Unicast sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 │ │ │ │ │ │ Unset_Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 │ │ │ │ │ │ │ │ │ │ │ │ V │ │ │ │ │ │ -Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 │ │ │ │ │ │ +Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 │ │ │ ├── ./usr/share/info/adasockets.info.gz │ │ │ │ ├── adasockets.info │ │ │ │ │ @@ -2483,2480 +2483,2501 @@ │ │ │ │ │ 00009b20: 2073 656e 6420 7061 636b 6574 7320 746f send packets to │ │ │ │ │ 00009b30: 2061 0a20 2020 2020 6d75 6c74 6963 6173 a. multicas │ │ │ │ │ 00009b40: 7420 6772 6f75 7020 7769 7468 6f75 7420 t group without │ │ │ │ │ 00009b50: 7265 6365 6976 696e 6720 616e 7920 7061 receiving any pa │ │ │ │ │ 00009b60: 636b 6574 2079 6f75 7273 656c 662e 0a0a cket yourself... │ │ │ │ │ 00009b70: 4558 414d 504c 450a 2020 2020 2020 2020 EXAMPLE. │ │ │ │ │ 00009b80: 2020 6465 636c 6172 650a 2020 2020 2020 declare. │ │ │ │ │ -00009b90: 2020 2020 2020 2053 6f63 6b20 3a20 4d75 Sock : Mu │ │ │ │ │ -00009ba0: 6c74 6963 6173 745f 536f 636b 6574 5f46 lticast_Socket_F │ │ │ │ │ -00009bb0: 443b 0a20 2020 2020 2020 2020 2062 6567 D;. beg │ │ │ │ │ -00009bc0: 696e 0a20 2020 2020 2020 2020 2020 2020 in. │ │ │ │ │ -00009bd0: 2d2d 2043 7265 6174 6520 6120 6d75 6c74 -- Create a mult │ │ │ │ │ -00009be0: 6963 6173 7420 736f 636b 6574 206f 6e20 icast socket on │ │ │ │ │ -00009bf0: 6772 6f75 7020 3232 342e 312e 322e 3320 group 224.1.2.3 │ │ │ │ │ -00009c00: 706f 7274 2038 3736 330a 2020 2020 2020 port 8763. │ │ │ │ │ -00009c10: 2020 2020 2020 2053 6f63 6b20 3a3d 2043 Sock := C │ │ │ │ │ -00009c20: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_ │ │ │ │ │ -00009c30: 536f 636b 6574 2028 2232 3234 2e31 2e32 Socket ("224.1.2 │ │ │ │ │ -00009c40: 2e33 222c 2038 3736 3329 3b0a 2020 2020 .3", 8763);. │ │ │ │ │ -00009c50: 2020 2020 2020 2020 202d 2d20 5065 7266 -- Perf │ │ │ │ │ -00009c60: 6f72 6d20 736f 6d65 206f 7065 7261 7469 orm some operati │ │ │ │ │ -00009c70: 6f6e 7320 6f6e 2073 6f63 6b65 740a 2020 ons on socket. │ │ │ │ │ -00009c80: 2020 2020 2020 2020 2020 205b 2e2e 2e5d [...] │ │ │ │ │ -00009c90: 0a20 2020 2020 2020 2020 2020 2020 2d2d . -- │ │ │ │ │ -00009ca0: 2053 6875 7464 6f77 6e20 7468 6520 736f Shutdown the so │ │ │ │ │ -00009cb0: 636b 6574 2069 6e20 626f 7468 2064 6972 cket in both dir │ │ │ │ │ -00009cc0: 6563 7469 6f6e 730a 2020 2020 2020 2020 ections. │ │ │ │ │ -00009cd0: 2020 2020 2053 6875 7464 6f77 6e20 2853 Shutdown (S │ │ │ │ │ -00009ce0: 6f63 6b2c 2042 6f74 6829 3b0a 2020 2020 ock, Both);. │ │ │ │ │ -00009cf0: 2020 2020 2020 656e 643b 0a0a 5345 4520 end;..SEE │ │ │ │ │ -00009d00: 414c 534f 0a20 2020 2020 2a6e 6f74 6520 ALSO. *note │ │ │ │ │ -00009d10: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure) │ │ │ │ │ -00009d20: 3a3a 2c0a 2020 2020 202a 6e6f 7465 2053 ::,. *note S │ │ │ │ │ -00009d30: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu │ │ │ │ │ -00009d40: 7265 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 re)::.....File: │ │ │ │ │ -00009d50: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info, │ │ │ │ │ -00009d60: 2020 4e6f 6465 3a20 536f 636b 6574 732e Node: Sockets. │ │ │ │ │ -00009d70: 4e61 6d69 6e67 2070 6163 6b61 6765 2c20 Naming package, │ │ │ │ │ -00009d80: 204e 6578 743a 2043 6f6e 7472 6962 7574 Next: Contribut │ │ │ │ │ -00009d90: 6f72 732c 2020 5072 6576 3a20 536f 636b ors, Prev: Sock │ │ │ │ │ -00009da0: 6574 732e 4d75 6c74 6963 6173 7420 7061 ets.Multicast pa │ │ │ │ │ -00009db0: 636b 6167 652c 2020 5570 3a20 546f 700a ckage, Up: Top. │ │ │ │ │ -00009dc0: 0a36 2053 6f63 6b65 7473 2e4e 616d 696e .6 Sockets.Namin │ │ │ │ │ -00009dd0: 6720 7061 636b 6167 650a 2a2a 2a2a 2a2a g package.****** │ │ │ │ │ -00009de0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -00009df0: 2a2a 0a0a 5468 6520 e280 9853 6f63 6b65 **..The ...Socke │ │ │ │ │ -00009e00: 7473 2e4e 616d 696e 67e2 8099 2070 6163 ts.Naming... pac │ │ │ │ │ -00009e10: 6b61 6765 2063 6f6e 7461 696e 7320 7479 kage contains ty │ │ │ │ │ -00009e20: 7065 7320 616e 6420 6865 6c70 6572 2066 pes and helper f │ │ │ │ │ -00009e30: 756e 6374 696f 6e73 206e 6565 6465 640a unctions needed. │ │ │ │ │ -00009e40: 746f 206d 616e 6970 756c 6174 6520 496e to manipulate In │ │ │ │ │ -00009e50: 7465 726e 6574 2068 6f73 7420 6e61 6d65 ternet host name │ │ │ │ │ -00009e60: 7320 616e 6420 6164 6472 6573 7365 732e s and addresses. │ │ │ │ │ -00009e70: 0a0a 202d 2d20 536f 636b 6574 732e 4e61 .. -- Sockets.Na │ │ │ │ │ -00009e80: 6d69 6e67 2e41 6464 7265 7373 3a20 7479 ming.Address: ty │ │ │ │ │ -00009e90: 7065 2041 6464 7265 7373 2069 7320 7265 pe Address is re │ │ │ │ │ -00009ea0: 636f 7264 0a20 2020 2020 2020 2020 2020 cord. │ │ │ │ │ -00009eb0: 4831 2c20 4832 2c20 4833 2c20 4834 203a H1, H2, H3, H4 : │ │ │ │ │ -00009ec0: 2041 6464 7265 7373 5f43 6f6d 706f 6e65 Address_Compone │ │ │ │ │ -00009ed0: 6e74 3b0a 2020 2020 2020 2020 2020 656e nt;. en │ │ │ │ │ -00009ee0: 6420 7265 636f 7264 3b0a 2020 2020 2054 d record;. T │ │ │ │ │ -00009ef0: 6869 7320 7479 7065 2072 6570 7265 7365 his type represe │ │ │ │ │ -00009f00: 6e74 7320 616e 2049 5076 3420 6164 6472 nts an IPv4 addr │ │ │ │ │ -00009f10: 6573 7320 7769 7468 20e2 8098 4831 e280 ess with ...H1.. │ │ │ │ │ -00009f20: 9920 6265 696e 6720 7468 6520 6669 7273 . being the firs │ │ │ │ │ -00009f30: 740a 2020 2020 206f 6374 6574 2061 6e64 t. octet and │ │ │ │ │ -00009f40: 20e2 8098 4834 e280 9920 7468 6520 6c61 ...H4... the la │ │ │ │ │ -00009f50: 7374 206f 6e65 2e20 2046 6f72 2065 7861 st one. For exa │ │ │ │ │ -00009f60: 6d70 6c65 2c20 3133 372e 3139 342e 3136 mple, 137.194.16 │ │ │ │ │ -00009f70: 312e 3220 6973 0a20 2020 2020 7265 7072 1.2 is. repr │ │ │ │ │ -00009f80: 6573 656e 7465 6420 6279 20e2 8098 4831 esented by ...H1 │ │ │ │ │ -00009f90: 3d31 3337 2c20 4832 3d31 3934 2c20 4833 =137, H2=194, H3 │ │ │ │ │ -00009fa0: 3d31 3631 2c20 4834 3d32 e280 992e 0a0a =161, H4=2...... │ │ │ │ │ -00009fb0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami │ │ │ │ │ -00009fc0: 6e67 2e41 6464 7265 7373 5f41 7272 6179 ng.Address_Array │ │ │ │ │ -00009fd0: 3a20 7479 7065 2041 6464 7265 7373 5f41 : type Address_A │ │ │ │ │ -00009fe0: 7272 6179 2069 7320 6172 7261 7920 2850 rray is array (P │ │ │ │ │ -00009ff0: 6f73 6974 6976 650a 2020 2020 2020 2020 ositive. │ │ │ │ │ -0000a000: 2020 7261 6e67 6520 3c3e 2920 6f66 2041 range <>) of A │ │ │ │ │ -0000a010: 6464 7265 7373 3b0a 2020 2020 2048 656c ddress;. Hel │ │ │ │ │ -0000a020: 7065 7220 7479 7065 0a0a 202d 2d20 536f per type.. -- So │ │ │ │ │ -0000a030: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add │ │ │ │ │ -0000a040: 7265 7373 5f43 6f6d 706f 6e65 6e74 3a20 ress_Component: │ │ │ │ │ -0000a050: 7479 7065 2041 6464 7265 7373 5f43 6f6d type Address_Com │ │ │ │ │ -0000a060: 706f 6e65 6e74 2069 7320 4e61 7475 7261 ponent is Natura │ │ │ │ │ -0000a070: 6c0a 2020 2020 2020 2020 2020 7261 6e67 l. rang │ │ │ │ │ -0000a080: 6520 3020 2e2e 2032 3535 3b0a 2020 2020 e 0 .. 255;. │ │ │ │ │ -0000a090: 2048 656c 7065 7220 7479 7065 0a0a 202d Helper type.. - │ │ │ │ │ -0000a0a0: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming │ │ │ │ │ -0000a0b0: 2e48 6f73 745f 456e 7472 793a 2074 7970 .Host_Entry: typ │ │ │ │ │ -0000a0c0: 6520 486f 7374 5f45 6e74 7279 2028 4e5f e Host_Entry (N_ │ │ │ │ │ -0000a0d0: 416c 6961 7365 732c 204e 5f41 6464 7265 Aliases, N_Addre │ │ │ │ │ -0000a0e0: 7373 6573 203a 0a20 2020 2020 2020 2020 sses :. │ │ │ │ │ -0000a0f0: 204e 6174 7572 616c 2920 6973 206e 6577 Natural) is new │ │ │ │ │ -0000a100: 2041 6461 2e46 696e 616c 697a 6174 696f Ada.Finalizatio │ │ │ │ │ -0000a110: 6e2e 436f 6e74 726f 6c6c 6564 2077 6974 n.Controlled wit │ │ │ │ │ -0000a120: 6820 7265 636f 7264 0a20 2020 2020 2020 h record. │ │ │ │ │ -0000a130: 2020 2020 204e 616d 6520 3a20 5374 7269 Name : Stri │ │ │ │ │ -0000a140: 6e67 5f41 6363 6573 733b 0a20 2020 2020 ng_Access;. │ │ │ │ │ -0000a150: 2020 2020 2020 2041 6c69 6173 6573 203a Aliases : │ │ │ │ │ -0000a160: 2053 7472 696e 675f 4172 7261 7920 2831 String_Array (1 │ │ │ │ │ -0000a170: 202e 2e20 4e5f 416c 6961 7365 7329 3b0a .. N_Aliases);. │ │ │ │ │ -0000a180: 2020 2020 2020 2020 2020 2020 4164 6472 Addr │ │ │ │ │ -0000a190: 6573 7365 7320 3a20 4164 6472 6573 735f esses : Address_ │ │ │ │ │ -0000a1a0: 4172 7261 7920 2831 202e 2e20 4e5f 4164 Array (1 .. N_Ad │ │ │ │ │ -0000a1b0: 6472 6573 7365 7329 3b0a 2020 2020 2020 dresses);. │ │ │ │ │ -0000a1c0: 2020 2020 656e 6420 7265 636f 7264 3b0a end record;. │ │ │ │ │ -0000a1d0: 2020 2020 2054 6865 20e2 8098 486f 7374 The ...Host │ │ │ │ │ -0000a1e0: 5f45 6e74 7279 e280 9920 7479 7065 2068 _Entry... type h │ │ │ │ │ -0000a1f0: 6f6c 6473 2061 2073 6574 206f 6620 6e61 olds a set of na │ │ │ │ │ -0000a200: 6d65 7320 616e 6420 4950 2061 6464 7265 mes and IP addre │ │ │ │ │ -0000a210: 7373 6573 0a20 2020 2020 6173 736f 6369 sses. associ │ │ │ │ │ -0000a220: 6174 6564 2077 6974 6820 6120 686f 7374 ated with a host │ │ │ │ │ -0000a230: 2e20 2045 6163 6820 686f 7374 2063 616e . Each host can │ │ │ │ │ -0000a240: 2068 6176 6520 7365 7665 7261 6c20 4950 have several IP │ │ │ │ │ -0000a250: 2061 6464 7265 7373 2061 730a 2020 2020 address as. │ │ │ │ │ -0000a260: 2077 656c 6c20 6173 2073 6576 6572 616c well as several │ │ │ │ │ -0000a270: 2061 6c69 6173 6573 2e0a 0a20 2d2d 2053 aliases... -- S │ │ │ │ │ -0000a280: 6f63 6b65 7473 2e4e 616d 696e 672e 5374 ockets.Naming.St │ │ │ │ │ -0000a290: 7269 6e67 5f41 6363 6573 733a 2074 7970 ring_Access: typ │ │ │ │ │ -0000a2a0: 6520 5374 7269 6e67 5f41 6363 6573 7320 e String_Access │ │ │ │ │ -0000a2b0: 6973 2061 6363 6573 7320 5374 7269 6e67 is access String │ │ │ │ │ -0000a2c0: 3b0a 2020 2020 2048 656c 7065 7220 7479 ;. Helper ty │ │ │ │ │ -0000a2d0: 7065 0a0a 202d 2d20 536f 636b 6574 732e pe.. -- Sockets. │ │ │ │ │ -0000a2e0: 4e61 6d69 6e67 2e53 7472 696e 675f 4172 Naming.String_Ar │ │ │ │ │ -0000a2f0: 7261 793a 2074 7970 6520 5374 7269 6e67 ray: type String │ │ │ │ │ -0000a300: 5f41 7272 6179 2069 7320 6172 7261 7920 _Array is array │ │ │ │ │ -0000a310: 2850 6f73 6974 6976 650a 2020 2020 2020 (Positive. │ │ │ │ │ -0000a320: 2020 2020 7261 6e67 6520 3c3e 2920 6f66 range <>) of │ │ │ │ │ -0000a330: 2053 7472 696e 675f 4163 6365 7373 3b0a String_Access;. │ │ │ │ │ -0000a340: 2020 2020 2048 656c 7065 7220 7479 7065 Helper type │ │ │ │ │ -0000a350: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 6464 ..* Menu:..* Add │ │ │ │ │ -0000a360: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio │ │ │ │ │ -0000a370: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. │ │ │ │ │ -0000a380: 2020 2020 2020 2020 2020 2020 2047 6574 Get │ │ │ │ │ -0000a390: 2074 6865 2049 5020 6164 6472 6573 7320 the IP address │ │ │ │ │ -0000a3a0: 6f66 2061 2068 6f73 740a 2a20 416e 795f of a host.* Any_ │ │ │ │ │ -0000a3b0: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio │ │ │ │ │ -0000a3c0: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. │ │ │ │ │ -0000a3d0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe │ │ │ │ │ -0000a3e0: 6369 616c 2061 6464 7265 7373 2072 6570 cial address rep │ │ │ │ │ -0000a3f0: 7265 7365 6e74 696e 6720 616e 7920 6164 resenting any ad │ │ │ │ │ -0000a400: 6472 6573 7320 6f6e 2074 6865 206c 6f63 dress on the loc │ │ │ │ │ -0000a410: 616c 2068 6f73 740a 2a20 4765 745f 5065 al host.* Get_Pe │ │ │ │ │ -0000a420: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio │ │ │ │ │ -0000a430: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. │ │ │ │ │ -0000a440: 2020 2020 2020 2020 2020 2020 2052 6574 Ret │ │ │ │ │ -0000a450: 7269 6576 6520 4950 2061 6464 7265 7373 rieve IP address │ │ │ │ │ -0000a460: 206f 6620 7265 6d6f 7465 2068 6f73 740a of remote host. │ │ │ │ │ -0000a470: 2a20 4765 745f 5065 6572 5f50 6f72 7420 * Get_Peer_Port │ │ │ │ │ -0000a480: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. │ │ │ │ │ -0000a490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a4a0: 2020 2020 2052 6574 7269 6576 6520 706f Retrieve po │ │ │ │ │ -0000a4b0: 7274 2075 7365 6420 6279 2072 656d 6f74 rt used by remot │ │ │ │ │ -0000a4c0: 6520 686f 7374 0a2a 2047 6574 5f53 6f63 e host.* Get_Soc │ │ │ │ │ -0000a4d0: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function │ │ │ │ │ -0000a4e0: 293a 3a0a 2020 2020 2020 2020 2020 2020 )::. │ │ │ │ │ -0000a4f0: 2020 2020 2020 2020 2020 2020 5265 7472 Retr │ │ │ │ │ -0000a500: 6965 7665 2049 5020 6164 6472 6573 7320 ieve IP address │ │ │ │ │ -0000a510: 6f66 206c 6f63 616c 2068 6f73 740a 2a20 of local host.* │ │ │ │ │ -0000a520: 4765 745f 536f 636b 5f50 6f72 7420 2866 Get_Sock_Port (f │ │ │ │ │ -0000a530: 756e 6374 696f 6e29 3a3a 0a20 2020 2020 unction)::. │ │ │ │ │ -0000a540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a550: 2020 2052 6574 7269 6576 6520 706f 7274 Retrieve port │ │ │ │ │ -0000a560: 2075 7365 6420 6279 206c 6f63 616c 2068 used by local h │ │ │ │ │ -0000a570: 6f73 740a 2a20 486f 7374 5f4e 616d 6520 ost.* Host_Name │ │ │ │ │ -0000a580: 2866 756e 6374 696f 6e29 3a3a 0a20 2020 (function)::. │ │ │ │ │ -0000a590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a5a0: 2020 2020 2047 6574 2074 6865 206e 616d Get the nam │ │ │ │ │ -0000a5b0: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current │ │ │ │ │ -0000a5c0: 2068 6f73 740a 2a20 496d 6167 6520 2866 host.* Image (f │ │ │ │ │ -0000a5d0: 756e 6374 696f 6e29 3a3a 2020 2020 4d61 unction):: Ma │ │ │ │ │ -0000a5e0: 6b65 2061 2073 7472 696e 6720 6672 6f6d ke a string from │ │ │ │ │ -0000a5f0: 2061 6e20 6164 6472 6573 730a 2a20 496e an address.* In │ │ │ │ │ -0000a600: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP │ │ │ │ │ -0000a610: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. │ │ │ │ │ -0000a620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000a630: 2020 2020 2020 4765 7420 6164 6472 6573 Get addres │ │ │ │ │ -0000a640: 7365 7320 616e 6420 6e61 6d65 7320 6f66 ses and names of │ │ │ │ │ -0000a650: 2061 2068 6f73 740a 2a20 4973 5f49 505f a host.* Is_IP_ │ │ │ │ │ -0000a660: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio │ │ │ │ │ -0000a670: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. │ │ │ │ │ -0000a680: 2020 2020 2020 2020 2020 2020 2043 6865 Che │ │ │ │ │ -0000a690: 636b 2069 6620 6769 7665 6e20 7374 7269 ck if given stri │ │ │ │ │ -0000a6a0: 6e67 2069 7320 6120 7661 6c69 6420 4950 ng is a valid IP │ │ │ │ │ -0000a6b0: 2061 6464 7265 7373 0a2a 204e 616d 655f address.* Name_ │ │ │ │ │ -0000a6c0: 4f66 2028 6675 6e63 7469 6f6e 293a 3a20 Of (function):: │ │ │ │ │ -0000a6d0: 204f 6666 6963 6961 6c20 6e61 6d65 206f Official name o │ │ │ │ │ -0000a6e0: 6620 7468 6520 686f 7374 0a2a 2056 616c f the host.* Val │ │ │ │ │ -0000a6f0: 7565 2028 6675 6e63 7469 6f6e 293a 3a20 ue (function):: │ │ │ │ │ -0000a700: 2020 2054 7261 6e73 666f 726d 2061 2073 Transform a s │ │ │ │ │ -0000a710: 7472 696e 6720 696e 746f 2061 6e20 6164 tring into an ad │ │ │ │ │ -0000a720: 6472 6573 730a 0a1f 0a46 696c 653a 2061 dress....File: a │ │ │ │ │ -0000a730: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, │ │ │ │ │ -0000a740: 204e 6f64 653a 2041 6464 7265 7373 5f4f Node: Address_O │ │ │ │ │ -0000a750: 6620 2866 756e 6374 696f 6e29 2c20 204e f (function), N │ │ │ │ │ -0000a760: 6578 743a 2041 6e79 5f41 6464 7265 7373 ext: Any_Address │ │ │ │ │ -0000a770: 2028 6675 6e63 7469 6f6e 292c 2020 5570 (function), Up │ │ │ │ │ -0000a780: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming │ │ │ │ │ -0000a790: 2070 6163 6b61 6765 0a0a 4164 6472 6573 package..Addres │ │ │ │ │ -0000a7a0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function). │ │ │ │ │ -0000a7b0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================ │ │ │ │ │ -0000a7c0: 3d3d 3d3d 3d0a 0a50 5552 504f 5345 0a20 =====..PURPOSE. │ │ │ │ │ -0000a7d0: 2020 2020 4765 7420 7468 6520 4950 2061 Get the IP a │ │ │ │ │ -0000a7e0: 6464 7265 7373 206f 6620 6120 686f 7374 ddress of a host │ │ │ │ │ -0000a7f0: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. │ │ │ │ │ -0000a800: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami │ │ │ │ │ -0000a810: 6e67 2e41 6464 7265 7373 5f4f 663a 2066 ng.Address_Of: f │ │ │ │ │ -0000a820: 756e 6374 696f 6e20 4164 6472 6573 735f unction Address_ │ │ │ │ │ -0000a830: 4f66 0a20 2020 2020 2020 2020 2020 2020 Of. │ │ │ │ │ -0000a840: 2020 2853 4f4d 4554 4849 4e47 203a 2053 (SOMETHING : S │ │ │ │ │ -0000a850: 7472 696e 6729 0a20 2020 2020 2020 2020 tring). │ │ │ │ │ -0000a860: 2020 2020 2020 7265 7475 726e 2041 6464 return Add │ │ │ │ │ -0000a870: 7265 7373 3b0a 0a50 4152 414d 4554 4552 ress;..PARAMETER │ │ │ │ │ -0000a880: 530a 2020 2020 2053 4f4d 4554 4849 4e47 S. SOMETHING │ │ │ │ │ -0000a890: 2020 696e 2020 2020 2020 2020 2048 6f73 in Hos │ │ │ │ │ -0000a8a0: 7420 6e61 6d65 206f 7220 4950 2061 6464 t name or IP add │ │ │ │ │ -0000a8b0: 7265 7373 0a0a 5245 5455 524e 2056 414c ress..RETURN VAL │ │ │ │ │ -0000a8c0: 5545 0a20 2020 2020 4950 7634 2061 6464 UE. IPv4 add │ │ │ │ │ -0000a8d0: 7265 7373 0a0a 4558 4345 5054 494f 4e53 ress..EXCEPTIONS │ │ │ │ │ -0000a8e0: 0a20 2020 2020 e280 984e 616d 696e 675f . ...Naming_ │ │ │ │ │ -0000a8f0: 4572 726f 72e2 8099 2020 2020 204e 6f20 Error... No │ │ │ │ │ -0000a900: 696e 666f 726d 6174 696f 6e20 6176 6169 information avai │ │ │ │ │ -0000a910: 6c61 626c 6520 666f 7220 7468 6973 206e lable for this n │ │ │ │ │ -0000a920: 616d 6520 6f72 0a20 2020 2020 2020 2020 ame or. │ │ │ │ │ -0000a930: 2020 2020 2020 2020 2020 2020 2020 2061 a │ │ │ │ │ -0000a940: 6464 7265 7373 0a0a 5345 4520 414c 534f ddress..SEE ALSO │ │ │ │ │ -0000a950: 0a20 2020 2020 2a6e 6f74 6520 4e61 6d65 . *note Name │ │ │ │ │ -0000a960: 5f4f 6620 2866 756e 6374 696f 6e29 3a3a _Of (function):: │ │ │ │ │ -0000a970: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 416e ...* Menu:..* An │ │ │ │ │ -0000a980: 795f 4164 6472 6573 7320 2866 756e 6374 y_Address (funct │ │ │ │ │ -0000a990: 696f 6e29 3a3a 0a2a 2047 6574 5f50 6565 ion)::.* Get_Pee │ │ │ │ │ -0000a9a0: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function │ │ │ │ │ -0000a9b0: 293a 3a0a 2a20 4765 745f 5065 6572 5f50 )::.* Get_Peer_P │ │ │ │ │ -0000a9c0: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function):: │ │ │ │ │ -0000a9d0: 0a2a 2047 6574 5f53 6f63 6b5f 4164 6472 .* Get_Sock_Addr │ │ │ │ │ -0000a9e0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* │ │ │ │ │ -0000a9f0: 4765 745f 536f 636b 5f50 6f72 7420 2866 Get_Sock_Port (f │ │ │ │ │ -0000aa00: 756e 6374 696f 6e29 3a3a 0a2a 2048 6f73 unction)::.* Hos │ │ │ │ │ -0000aa10: 745f 4e61 6d65 2028 6675 6e63 7469 6f6e t_Name (function │ │ │ │ │ -0000aa20: 293a 3a0a 2a20 496d 6167 6520 2866 756e )::.* Image (fun │ │ │ │ │ -0000aa30: 6374 696f 6e29 3a3a 0a2a 2049 6e66 6f5f ction)::.* Info_ │ │ │ │ │ -0000aa40: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f │ │ │ │ │ -0000aa50: 756e 6374 696f 6e29 3a3a 0a2a 2049 735f unction)::.* Is_ │ │ │ │ │ -0000aa60: 4950 5f41 6464 7265 7373 2028 6675 6e63 IP_Address (func │ │ │ │ │ -0000aa70: 7469 6f6e 293a 3a0a 2a20 4e61 6d65 5f4f tion)::.* Name_O │ │ │ │ │ -0000aa80: 6620 2866 756e 6374 696f 6e29 3a3a 0a2a f (function)::.* │ │ │ │ │ -0000aa90: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function │ │ │ │ │ -0000aaa0: 293a 3a0a 0a1f 0a46 696c 653a 2061 6461 )::....File: ada │ │ │ │ │ -0000aab0: 736f 636b 6574 732e 696e 666f 2c20 204e sockets.info, N │ │ │ │ │ -0000aac0: 6f64 653a 2041 6e79 5f41 6464 7265 7373 ode: Any_Address │ │ │ │ │ -0000aad0: 2028 6675 6e63 7469 6f6e 292c 2020 4e65 (function), Ne │ │ │ │ │ -0000aae0: 7874 3a20 4765 745f 5065 6572 5f41 6464 xt: Get_Peer_Add │ │ │ │ │ -0000aaf0: 7220 2866 756e 6374 696f 6e29 2c20 2050 r (function), P │ │ │ │ │ -0000ab00: 7265 763a 2041 6464 7265 7373 5f4f 6620 rev: Address_Of │ │ │ │ │ -0000ab10: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up: │ │ │ │ │ -0000ab20: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun │ │ │ │ │ -0000ab30: 6374 696f 6e29 0a0a 416e 795f 4164 6472 ction)..Any_Addr │ │ │ │ │ -0000ab40: 6573 7320 2866 756e 6374 696f 6e29 0a2d ess (function).- │ │ │ │ │ -0000ab50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000ab60: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. │ │ │ │ │ -0000ab70: 2020 2020 5370 6563 6961 6c20 6164 6472 Special addr │ │ │ │ │ -0000ab80: 6573 7320 7265 7072 6573 656e 7469 6e67 ess representing │ │ │ │ │ -0000ab90: 2061 6e79 2061 6464 7265 7373 206f 6e20 any address on │ │ │ │ │ -0000aba0: 7468 6520 6c6f 6361 6c20 686f 7374 0a50 the local host.P │ │ │ │ │ -0000abb0: 524f 544f 5459 5045 0a20 2020 2020 202d ROTOTYPE. - │ │ │ │ │ -0000abc0: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming │ │ │ │ │ -0000abd0: 2e41 6e79 5f41 6464 7265 7373 3a20 6675 .Any_Address: fu │ │ │ │ │ -0000abe0: 6e63 7469 6f6e 2041 6e79 5f41 6464 7265 nction Any_Addre │ │ │ │ │ -0000abf0: 7373 0a0a 5245 5455 524e 2056 414c 5545 ss..RETURN VALUE │ │ │ │ │ -0000ac00: 0a20 2020 2020 4571 7569 7661 6c65 6e74 . Equivalent │ │ │ │ │ -0000ac10: 2074 6f20 e280 9849 4e41 4444 525f 414e to ...INADDR_AN │ │ │ │ │ -0000ac20: 59e2 8099 2069 6e20 7468 6520 4320 7072 Y... in the C pr │ │ │ │ │ -0000ac30: 6f67 7261 6d6d 696e 6720 6c61 6e67 7561 ogramming langua │ │ │ │ │ -0000ac40: 6765 0a0a 1f0a 4669 6c65 3a20 6164 6173 ge....File: adas │ │ │ │ │ -0000ac50: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No │ │ │ │ │ -0000ac60: 6465 3a20 4765 745f 5065 6572 5f41 6464 de: Get_Peer_Add │ │ │ │ │ -0000ac70: 7220 2866 756e 6374 696f 6e29 2c20 204e r (function), N │ │ │ │ │ -0000ac80: 6578 743a 2047 6574 5f50 6565 725f 506f ext: Get_Peer_Po │ │ │ │ │ -0000ac90: 7274 2028 6675 6e63 7469 6f6e 292c 2020 rt (function), │ │ │ │ │ -0000aca0: 5072 6576 3a20 416e 795f 4164 6472 6573 Prev: Any_Addres │ │ │ │ │ -0000acb0: 7320 2866 756e 6374 696f 6e29 2c20 2055 s (function), U │ │ │ │ │ -0000acc0: 703a 2041 6464 7265 7373 5f4f 6620 2866 p: Address_Of (f │ │ │ │ │ -0000acd0: 756e 6374 696f 6e29 0a0a 4765 745f 5065 unction)..Get_Pe │ │ │ │ │ -0000ace0: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio │ │ │ │ │ -0000acf0: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).------------- │ │ │ │ │ -0000ad00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR │ │ │ │ │ -0000ad10: 504f 5345 0a20 2020 2020 5265 7472 6965 POSE. Retrie │ │ │ │ │ -0000ad20: 7665 2049 5020 6164 6472 6573 7320 6f66 ve IP address of │ │ │ │ │ -0000ad30: 2072 656d 6f74 6520 686f 7374 0a50 524f remote host.PRO │ │ │ │ │ -0000ad40: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- │ │ │ │ │ -0000ad50: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G │ │ │ │ │ -0000ad60: 6574 5f50 6565 725f 4164 6472 3a20 6675 et_Peer_Addr: fu │ │ │ │ │ -0000ad70: 6e63 7469 6f6e 2047 6574 5f50 6565 725f nction Get_Peer_ │ │ │ │ │ -0000ad80: 4164 6472 0a20 2020 2020 2020 2020 2020 Addr. │ │ │ │ │ -0000ad90: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So │ │ │ │ │ -0000ada0: 636b 6574 5f46 4429 0a20 2020 2020 2020 cket_FD). │ │ │ │ │ -0000adb0: 2020 2020 2020 2020 7265 7475 726e 2041 return A │ │ │ │ │ -0000adc0: 6464 7265 7373 3b0a 0a50 4152 414d 4554 ddress;..PARAMET │ │ │ │ │ -0000add0: 4552 530a 2020 2020 2053 4f43 4b45 5420 ERS. SOCKET │ │ │ │ │ -0000ade0: 2020 2020 696e 2020 2020 2020 2020 2043 in C │ │ │ │ │ -0000adf0: 6f6e 6e65 6374 6564 2073 6f63 6b65 7420 onnected socket │ │ │ │ │ -0000ae00: 6f62 6a65 6374 0a0a 5245 5455 524e 2056 object..RETURN V │ │ │ │ │ -0000ae10: 414c 5545 0a20 2020 2020 5065 6572 2061 ALUE. Peer a │ │ │ │ │ -0000ae20: 6464 7265 7373 0a0a 5345 4520 414c 534f ddress..SEE ALSO │ │ │ │ │ -0000ae30: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_ │ │ │ │ │ -0000ae40: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct │ │ │ │ │ -0000ae50: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no │ │ │ │ │ -0000ae60: 7465 2047 6574 5f53 6f63 6b5f 4164 6472 te Get_Sock_Addr │ │ │ │ │ -0000ae70: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::... │ │ │ │ │ -0000ae80: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke │ │ │ │ │ -0000ae90: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: │ │ │ │ │ -0000aea0: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f │ │ │ │ │ -0000aeb0: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next: │ │ │ │ │ -0000aec0: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr ( │ │ │ │ │ -0000aed0: 6675 6e63 7469 6f6e 292c 2020 5072 6576 function), Prev │ │ │ │ │ -0000aee0: 3a20 4765 745f 5065 6572 5f41 6464 7220 : Get_Peer_Addr │ │ │ │ │ -0000aef0: 2866 756e 6374 696f 6e29 2c20 2055 703a (function), Up: │ │ │ │ │ -0000af00: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun │ │ │ │ │ -0000af10: 6374 696f 6e29 0a0a 4765 745f 5065 6572 ction)..Get_Peer │ │ │ │ │ -0000af20: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function) │ │ │ │ │ -0000af30: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ -0000af40: 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f ---------..PURPO │ │ │ │ │ -0000af50: 5345 0a20 2020 2020 5265 7472 6965 7665 SE. Retrieve │ │ │ │ │ -0000af60: 2070 6f72 7420 7573 6564 2062 7920 7265 port used by re │ │ │ │ │ -0000af70: 6d6f 7465 2068 6f73 740a 5052 4f54 4f54 mote host.PROTOT │ │ │ │ │ -0000af80: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc │ │ │ │ │ -0000af90: 6b65 7473 2e4e 616d 696e 672e 4765 745f kets.Naming.Get_ │ │ │ │ │ -0000afa0: 5065 6572 5f50 6f72 743a 2066 756e 6374 Peer_Port: funct │ │ │ │ │ -0000afb0: 696f 6e20 4765 745f 5065 6572 5f50 6f72 ion Get_Peer_Por │ │ │ │ │ -0000afc0: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ │ │ -0000afd0: 2028 534f 434b 4554 203a 2053 6f63 6b65 (SOCKET : Socke │ │ │ │ │ -0000afe0: 745f 4644 290a 2020 2020 2020 2020 2020 t_FD). │ │ │ │ │ -0000aff0: 2020 2020 2072 6574 7572 6e20 506f 7369 return Posi │ │ │ │ │ -0000b000: 7469 7665 3b0a 0a50 4152 414d 4554 4552 tive;..PARAMETER │ │ │ │ │ -0000b010: 530a 2020 2020 2053 4f43 4b45 5420 2020 S. SOCKET │ │ │ │ │ -0000b020: 2020 696e 2020 2020 2020 2020 2043 6f6e in Con │ │ │ │ │ -0000b030: 6e65 6374 6564 2073 6f63 6b65 7420 6f62 nected socket ob │ │ │ │ │ -0000b040: 6a65 6374 0a0a 5245 5455 524e 2056 414c ject..RETURN VAL │ │ │ │ │ -0000b050: 5545 0a20 2020 2020 506f 7274 2075 7365 UE. Port use │ │ │ │ │ -0000b060: 6420 6f6e 2074 6865 2072 656d 6f74 6520 d on the remote │ │ │ │ │ -0000b070: 686f 7374 0a0a 5345 4520 414c 534f 0a20 host..SEE ALSO. │ │ │ │ │ -0000b080: 2020 2020 2a6e 6f74 6520 4765 745f 536f *note Get_So │ │ │ │ │ -0000b090: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio │ │ │ │ │ -0000b0a0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note │ │ │ │ │ -0000b0b0: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr ( │ │ │ │ │ -0000b0c0: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::..... │ │ │ │ │ -0000b0d0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets │ │ │ │ │ -0000b0e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge │ │ │ │ │ -0000b0f0: 745f 536f 636b 5f41 6464 7220 2866 756e t_Sock_Addr (fun │ │ │ │ │ -0000b100: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G │ │ │ │ │ -0000b110: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu │ │ │ │ │ -0000b120: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: │ │ │ │ │ -0000b130: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f │ │ │ │ │ -0000b140: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A │ │ │ │ │ -0000b150: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct │ │ │ │ │ -0000b160: 696f 6e29 0a0a 4765 745f 536f 636b 5f41 ion)..Get_Sock_A │ │ │ │ │ -0000b170: 6464 7220 2866 756e 6374 696f 6e29 0a2d ddr (function).- │ │ │ │ │ -0000b180: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b190: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE │ │ │ │ │ -0000b1a0: 0a20 2020 2020 5265 7472 6965 7665 2049 . Retrieve I │ │ │ │ │ -0000b1b0: 5020 6164 6472 6573 7320 6f66 206c 6f63 P address of loc │ │ │ │ │ -0000b1c0: 616c 2068 6f73 740a 5052 4f54 4f54 5950 al host.PROTOTYP │ │ │ │ │ -0000b1d0: 450a 2020 2020 2020 2d2d 2053 6f63 6b65 E. -- Socke │ │ │ │ │ -0000b1e0: 7473 2e4e 616d 696e 672e 4765 745f 536f ts.Naming.Get_So │ │ │ │ │ -0000b1f0: 636b 5f41 6464 723a 2066 756e 6374 696f ck_Addr: functio │ │ │ │ │ -0000b200: 6e20 4765 745f 536f 636b 5f41 6464 720a n Get_Sock_Addr. │ │ │ │ │ -0000b210: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000b220: 534f 434b 4554 203a 2053 6f63 6b65 745f SOCKET : Socket_ │ │ │ │ │ -0000b230: 4644 290a 2020 2020 2020 2020 2020 2020 FD). │ │ │ │ │ -0000b240: 2020 2072 6574 7572 6e20 4164 6472 6573 return Addres │ │ │ │ │ -0000b250: 733b 0a0a 5041 5241 4d45 5445 5253 0a20 s;..PARAMETERS. │ │ │ │ │ -0000b260: 2020 2020 534f 434b 4554 2020 2020 2069 SOCKET i │ │ │ │ │ -0000b270: 6e20 2020 2020 2020 2020 436f 6e6e 6563 n Connec │ │ │ │ │ -0000b280: 7465 6420 736f 636b 6574 206f 626a 6563 ted socket objec │ │ │ │ │ -0000b290: 740a 0a52 4554 5552 4e20 5641 4c55 450a t..RETURN VALUE. │ │ │ │ │ -0000b2a0: 2020 2020 2041 6464 7265 7373 206f 6620 Address of │ │ │ │ │ -0000b2b0: 6c6f 6361 6c20 696e 7465 7266 6163 6520 local interface │ │ │ │ │ -0000b2c0: 7573 6564 0a0a 5345 4520 414c 534f 0a20 used..SEE ALSO. │ │ │ │ │ -0000b2d0: 2020 2020 2a6e 6f74 6520 4765 745f 536f *note Get_So │ │ │ │ │ -0000b2e0: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio │ │ │ │ │ -0000b2f0: 6e29 3a3a 2c0a 2020 2020 202a 6e6f 7465 n)::,. *note │ │ │ │ │ -0000b300: 2047 6574 5f50 6565 725f 4164 6472 2028 Get_Peer_Addr ( │ │ │ │ │ -0000b310: 6675 6e63 7469 6f6e 293a 3a2e 0a0a 1f0a function)::..... │ │ │ │ │ -0000b320: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets │ │ │ │ │ -0000b330: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge │ │ │ │ │ -0000b340: 745f 536f 636b 5f50 6f72 7420 2866 756e t_Sock_Port (fun │ │ │ │ │ -0000b350: 6374 696f 6e29 2c20 204e 6578 743a 2048 ction), Next: H │ │ │ │ │ -0000b360: 6f73 745f 4e61 6d65 2028 6675 6e63 7469 ost_Name (functi │ │ │ │ │ -0000b370: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_ │ │ │ │ │ -0000b380: 536f 636b 5f41 6464 7220 2866 756e 6374 Sock_Addr (funct │ │ │ │ │ -0000b390: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre │ │ │ │ │ -0000b3a0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function) │ │ │ │ │ -0000b3b0: 0a0a 4765 745f 536f 636b 5f50 6f72 7420 ..Get_Sock_Port │ │ │ │ │ -0000b3c0: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).----- │ │ │ │ │ -0000b3d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000b3e0: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. │ │ │ │ │ -0000b3f0: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port │ │ │ │ │ -0000b400: 7573 6564 2062 7920 6c6f 6361 6c20 686f used by local ho │ │ │ │ │ -0000b410: 7374 0a50 524f 544f 5459 5045 0a20 2020 st.PROTOTYPE. │ │ │ │ │ -0000b420: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na │ │ │ │ │ -0000b430: 6d69 6e67 2e47 6574 5f53 6f63 6b5f 506f ming.Get_Sock_Po │ │ │ │ │ -0000b440: 7274 3a20 6675 6e63 7469 6f6e 2047 6574 rt: function Get │ │ │ │ │ -0000b450: 5f53 6f63 6b5f 506f 7274 0a20 2020 2020 _Sock_Port. │ │ │ │ │ -0000b460: 2020 2020 2020 2020 2020 2853 4f43 4b45 (SOCKE │ │ │ │ │ -0000b470: 5420 3a20 536f 636b 6574 5f46 4429 0a20 T : Socket_FD). │ │ │ │ │ -0000b480: 2020 2020 2020 2020 2020 2020 2020 7265 re │ │ │ │ │ -0000b490: 7475 726e 2050 6f73 6974 6976 653b 0a0a turn Positive;.. │ │ │ │ │ -0000b4a0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. │ │ │ │ │ -0000b4b0: 534f 434b 4554 2020 2020 2069 6e20 2020 SOCKET in │ │ │ │ │ -0000b4c0: 2020 2020 2020 436f 6e6e 6563 7465 6420 Connected │ │ │ │ │ -0000b4d0: 736f 636b 6574 206f 626a 6563 740a 0a52 socket object..R │ │ │ │ │ -0000b4e0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. │ │ │ │ │ -0000b4f0: 2050 6f72 7420 7573 6564 206f 6e20 7468 Port used on th │ │ │ │ │ -0000b500: 6520 6c6f 6361 6c20 686f 7374 0a0a 5345 e local host..SE │ │ │ │ │ -0000b510: 4520 414c 534f 0a20 2020 2020 2a6e 6f74 E ALSO. *not │ │ │ │ │ -0000b520: 6520 4765 745f 5065 6572 5f50 6f72 7420 e Get_Peer_Port │ │ │ │ │ -0000b530: 2866 756e 6374 696f 6e29 3a3a 2c0a 2020 (function)::,. │ │ │ │ │ -0000b540: 2020 202a 6e6f 7465 2047 6574 5f53 6f63 *note Get_Soc │ │ │ │ │ -0000b550: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function │ │ │ │ │ -0000b560: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad │ │ │ │ │ -0000b570: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, │ │ │ │ │ -0000b580: 4e6f 6465 3a20 486f 7374 5f4e 616d 6520 Node: Host_Name │ │ │ │ │ -0000b590: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex │ │ │ │ │ -0000b5a0: 743a 2049 6d61 6765 2028 6675 6e63 7469 t: Image (functi │ │ │ │ │ -0000b5b0: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_ │ │ │ │ │ -0000b5c0: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct │ │ │ │ │ -0000b5d0: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre │ │ │ │ │ -0000b5e0: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function) │ │ │ │ │ -0000b5f0: 0a0a 486f 7374 5f4e 616d 6520 2866 756e ..Host_Name (fun │ │ │ │ │ -0000b600: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).--------- │ │ │ │ │ -0000b610: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR │ │ │ │ │ -0000b620: 504f 5345 0a20 2020 2020 4765 7420 7468 POSE. Get th │ │ │ │ │ -0000b630: 6520 6e61 6d65 206f 6620 7468 6520 6375 e name of the cu │ │ │ │ │ -0000b640: 7272 656e 7420 686f 7374 0a50 524f 544f rrent host.PROTO │ │ │ │ │ -0000b650: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So │ │ │ │ │ -0000b660: 636b 6574 732e 4e61 6d69 6e67 2e48 6f73 ckets.Naming.Hos │ │ │ │ │ -0000b670: 745f 4e61 6d65 3a20 6675 6e63 7469 6f6e t_Name: function │ │ │ │ │ -0000b680: 2048 6f73 745f 4e61 6d65 0a0a 5245 5455 Host_Name..RETU │ │ │ │ │ -0000b690: 524e 2056 414c 5545 0a20 2020 2020 4e61 RN VALUE. Na │ │ │ │ │ -0000b6a0: 6d65 206f 6620 7468 6520 6375 7272 656e me of the curren │ │ │ │ │ -0000b6b0: 7420 686f 7374 0a0a 4445 5343 5249 5054 t host..DESCRIPT │ │ │ │ │ -0000b6c0: 494f 4e0a 2020 2020 2054 6869 7320 6675 ION. This fu │ │ │ │ │ -0000b6d0: 6e63 7469 6f6e 2072 6574 7572 6e73 2074 nction returns t │ │ │ │ │ -0000b6e0: 6865 206e 616d 6520 6f66 2074 6865 2063 he name of the c │ │ │ │ │ -0000b6f0: 7572 7265 6e74 2068 6f73 742e 2020 4465 urrent host. De │ │ │ │ │ -0000b700: 7065 6e64 696e 6720 6f6e 0a20 2020 2020 pending on. │ │ │ │ │ -0000b710: 7468 6520 6c6f 6361 6c20 636f 6e66 6967 the local config │ │ │ │ │ -0000b720: 7572 6174 696f 6e2c 2069 7420 6d61 7920 uration, it may │ │ │ │ │ -0000b730: 6f72 206d 6179 206e 6f74 2062 6520 6120 or may not be a │ │ │ │ │ -0000b740: 6675 6c6c 7920 7175 616c 6966 6965 640a fully qualified. │ │ │ │ │ -0000b750: 2020 2020 2064 6f6d 6169 6e20 6e61 6d65 domain name │ │ │ │ │ -0000b760: 2028 4651 444e 292e 0a0a 1f0a 4669 6c65 (FQDN).....File │ │ │ │ │ -0000b770: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf │ │ │ │ │ -0000b780: 6f2c 2020 4e6f 6465 3a20 496d 6167 6520 o, Node: Image │ │ │ │ │ -0000b790: 2866 756e 6374 696f 6e29 2c20 204e 6578 (function), Nex │ │ │ │ │ -0000b7a0: 743a 2049 6e66 6f5f 4f66 5f4e 616d 655f t: Info_Of_Name_ │ │ │ │ │ -0000b7b0: 4f72 5f49 5020 2866 756e 6374 696f 6e29 Or_IP (function) │ │ │ │ │ -0000b7c0: 2c20 2050 7265 763a 2048 6f73 745f 4e61 , Prev: Host_Na │ │ │ │ │ -0000b7d0: 6d65 2028 6675 6e63 7469 6f6e 292c 2020 me (function), │ │ │ │ │ -0000b7e0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of ( │ │ │ │ │ -0000b7f0: 6675 6e63 7469 6f6e 290a 0a49 6d61 6765 function)..Image │ │ │ │ │ -0000b800: 2028 6675 6e63 7469 6f6e 290a 2d2d 2d2d (function).---- │ │ │ │ │ -0000b810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5055 ------------..PU │ │ │ │ │ -0000b820: 5250 4f53 450a 2020 2020 204d 616b 6520 RPOSE. Make │ │ │ │ │ -0000b830: 6120 7374 7269 6e67 2066 726f 6d20 616e a string from an │ │ │ │ │ -0000b840: 2061 6464 7265 7373 0a50 524f 544f 5459 address.PROTOTY │ │ │ │ │ -0000b850: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock │ │ │ │ │ -0000b860: 6574 732e 4e61 6d69 6e67 2e49 6d61 6765 ets.Naming.Image │ │ │ │ │ -0000b870: 3a20 6675 6e63 7469 6f6e 2049 6d61 6765 : function Image │ │ │ │ │ -0000b880: 2028 4144 4420 3a20 4164 6472 6573 7329 (ADD : Address) │ │ │ │ │ -0000b890: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -0000b8a0: 7265 7475 726e 2053 7472 696e 673b 0a0a return String;.. │ │ │ │ │ -0000b8b0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. │ │ │ │ │ -0000b8c0: 4144 4420 2020 2020 2020 2069 6e20 2020 ADD in │ │ │ │ │ -0000b8d0: 2020 2020 2020 4950 2061 6464 7265 7373 IP address │ │ │ │ │ -0000b8e0: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. │ │ │ │ │ -0000b8f0: 2020 2020 5374 7269 6e67 2072 6570 7265 String repre │ │ │ │ │ -0000b900: 7365 6e74 6174 696f 6e20 6f66 2074 6865 sentation of the │ │ │ │ │ -0000b910: 2049 5020 6164 6472 6573 730a 0a53 4545 IP address..SEE │ │ │ │ │ -0000b920: 2041 4c53 4f0a 2020 2020 202a 6e6f 7465 ALSO. *note │ │ │ │ │ -0000b930: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function │ │ │ │ │ -0000b940: 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 6164 )::.....File: ad │ │ │ │ │ -0000b950: 6173 6f63 6b65 7473 2e69 6e66 6f2c 2020 asockets.info, │ │ │ │ │ -0000b960: 4e6f 6465 3a20 496e 666f 5f4f 665f 4e61 Node: Info_Of_Na │ │ │ │ │ -0000b970: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi │ │ │ │ │ -0000b980: 6f6e 292c 2020 4e65 7874 3a20 4973 5f49 on), Next: Is_I │ │ │ │ │ -0000b990: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct │ │ │ │ │ -0000b9a0: 696f 6e29 2c20 2050 7265 763a 2049 6d61 ion), Prev: Ima │ │ │ │ │ -0000b9b0: 6765 2028 6675 6e63 7469 6f6e 292c 2020 ge (function), │ │ │ │ │ -0000b9c0: 5570 3a20 4164 6472 6573 735f 4f66 2028 Up: Address_Of ( │ │ │ │ │ -0000b9d0: 6675 6e63 7469 6f6e 290a 0a49 6e66 6f5f function)..Info_ │ │ │ │ │ -0000b9e0: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f │ │ │ │ │ -0000b9f0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).------- │ │ │ │ │ -0000ba00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000ba10: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE. │ │ │ │ │ -0000ba20: 2020 2020 2047 6574 2061 6464 7265 7373 Get address │ │ │ │ │ -0000ba30: 6573 2061 6e64 206e 616d 6573 206f 6620 es and names of │ │ │ │ │ -0000ba40: 6120 686f 7374 0a50 524f 544f 5459 5045 a host.PROTOTYPE │ │ │ │ │ -0000ba50: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket │ │ │ │ │ -0000ba60: 732e 4e61 6d69 6e67 2e49 6e66 6f5f 4f66 s.Naming.Info_Of │ │ │ │ │ -0000ba70: 5f4e 616d 655f 4f72 5f49 503a 2066 756e _Name_Or_IP: fun │ │ │ │ │ -0000ba80: 6374 696f 6e20 496e 666f 5f4f 665f 4e61 ction Info_Of_Na │ │ │ │ │ -0000ba90: 6d65 5f4f 725f 4950 0a20 2020 2020 2020 me_Or_IP. │ │ │ │ │ -0000baa0: 2020 2020 2020 2020 2853 4f4d 4554 4849 (SOMETHI │ │ │ │ │ -0000bab0: 4e47 203a 2053 7472 696e 6729 0a20 2020 NG : String). │ │ │ │ │ -0000bac0: 2020 2020 2020 2020 2020 2020 7265 7475 retu │ │ │ │ │ -0000bad0: 726e 2048 6f73 745f 456e 7472 793b 0a0a rn Host_Entry;.. │ │ │ │ │ -0000bae0: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. │ │ │ │ │ -0000baf0: 534f 4d45 5448 494e 4720 2069 6e20 2020 SOMETHING in │ │ │ │ │ -0000bb00: 2020 2020 2020 486f 7374 206e 616d 6520 Host name │ │ │ │ │ -0000bb10: 6f72 2049 5020 6164 6472 6573 730a 0a52 or IP address..R │ │ │ │ │ -0000bb20: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. │ │ │ │ │ -0000bb30: 2043 6f72 7265 7370 6f6e 6469 6e67 2068 Corresponding h │ │ │ │ │ -0000bb40: 6f73 7420 656e 7472 790a 0a44 4553 4352 ost entry..DESCR │ │ │ │ │ -0000bb50: 4950 5449 4f4e 0a20 2020 2020 5468 6973 IPTION. This │ │ │ │ │ -0000bb60: 2066 756e 6374 696f 6e20 6578 7472 6163 function extrac │ │ │ │ │ -0000bb70: 7473 2061 6c6c 2074 6865 206e 616d 6573 ts all the names │ │ │ │ │ -0000bb80: 2061 6e64 2061 6464 7265 7373 6573 2066 and addresses f │ │ │ │ │ -0000bb90: 726f 6d20 7468 6520 6e61 6d69 6e67 0a20 rom the naming. │ │ │ │ │ -0000bba0: 2020 2020 7365 7276 6963 652e 0a0a 4558 service...EX │ │ │ │ │ -0000bbb0: 4345 5054 494f 4e53 0a20 2020 2020 e280 CEPTIONS. .. │ │ │ │ │ -0000bbc0: 984e 616d 696e 675f 4572 726f 72e2 8099 .Naming_Error... │ │ │ │ │ -0000bbd0: 2020 2020 204e 6f20 696e 666f 726d 6174 No informat │ │ │ │ │ -0000bbe0: 696f 6e20 6176 6169 6c61 626c 6520 666f ion available fo │ │ │ │ │ -0000bbf0: 7220 7468 6973 206e 616d 6520 6f72 0a20 r this name or. │ │ │ │ │ -0000bc00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000bc10: 2020 2020 2020 2061 6464 7265 7373 0a0a address.. │ │ │ │ │ -0000bc20: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke │ │ │ │ │ -0000bc30: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: │ │ │ │ │ -0000bc40: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f │ │ │ │ │ -0000bc50: 756e 6374 696f 6e29 2c20 204e 6578 743a unction), Next: │ │ │ │ │ -0000bc60: 204e 616d 655f 4f66 2028 6675 6e63 7469 Name_Of (functi │ │ │ │ │ -0000bc70: 6f6e 292c 2020 5072 6576 3a20 496e 666f on), Prev: Info │ │ │ │ │ -0000bc80: 5f4f 665f 4e61 6d65 5f4f 725f 4950 2028 _Of_Name_Or_IP ( │ │ │ │ │ -0000bc90: 6675 6e63 7469 6f6e 292c 2020 5570 3a20 function), Up: │ │ │ │ │ -0000bca0: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func │ │ │ │ │ -0000bcb0: 7469 6f6e 290a 0a49 735f 4950 5f41 6464 tion)..Is_IP_Add │ │ │ │ │ -0000bcc0: 7265 7373 2028 6675 6e63 7469 6f6e 290a ress (function). │ │ │ │ │ -0000bcd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000bce0: 2d2d 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 --------..PURPOS │ │ │ │ │ -0000bcf0: 450a 2020 2020 2043 6865 636b 2069 6620 E. Check if │ │ │ │ │ -0000bd00: 6769 7665 6e20 7374 7269 6e67 2069 7320 given string is │ │ │ │ │ -0000bd10: 6120 7661 6c69 6420 4950 2061 6464 7265 a valid IP addre │ │ │ │ │ -0000bd20: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. │ │ │ │ │ -0000bd30: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na │ │ │ │ │ -0000bd40: 6d69 6e67 2e49 735f 4950 5f41 6464 7265 ming.Is_IP_Addre │ │ │ │ │ -0000bd50: 7373 3a20 6675 6e63 7469 6f6e 2049 735f ss: function Is_ │ │ │ │ │ -0000bd60: 4950 5f41 6464 7265 7373 0a20 2020 2020 IP_Address. │ │ │ │ │ -0000bd70: 2020 2020 2020 2020 2020 2853 4f4d 4554 (SOMET │ │ │ │ │ -0000bd80: 4849 4e47 203a 2053 7472 696e 6729 0a20 HING : String). │ │ │ │ │ -0000bd90: 2020 2020 2020 2020 2020 2020 2020 7265 re │ │ │ │ │ -0000bda0: 7475 726e 2042 6f6f 6c65 616e 3b0a 0a50 turn Boolean;..P │ │ │ │ │ -0000bdb0: 4152 414d 4554 4552 530a 2020 2020 2053 ARAMETERS. S │ │ │ │ │ -0000bdc0: 4f4d 4554 4849 4e47 2020 696e 2020 2020 OMETHING in │ │ │ │ │ -0000bdd0: 2020 2020 2053 7472 696e 6720 746f 2063 String to c │ │ │ │ │ -0000bde0: 6865 636b 0a0a 5245 5455 524e 2056 414c heck..RETURN VAL │ │ │ │ │ -0000bdf0: 5545 0a20 2020 2020 e280 9854 7275 65e2 UE. ...True. │ │ │ │ │ -0000be00: 8099 2069 6620 534f 4d45 5448 494e 4720 .. if SOMETHING │ │ │ │ │ -0000be10: 6973 2061 6e20 4950 2061 6464 7265 7373 is an IP address │ │ │ │ │ -0000be20: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc │ │ │ │ │ -0000be30: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node │ │ │ │ │ -0000be40: 3a20 4e61 6d65 5f4f 6620 2866 756e 6374 : Name_Of (funct │ │ │ │ │ -0000be50: 696f 6e29 2c20 204e 6578 743a 2056 616c ion), Next: Val │ │ │ │ │ -0000be60: 7565 2028 6675 6e63 7469 6f6e 292c 2020 ue (function), │ │ │ │ │ -0000be70: 5072 6576 3a20 4973 5f49 505f 4164 6472 Prev: Is_IP_Addr │ │ │ │ │ -0000be80: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), │ │ │ │ │ -0000be90: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of │ │ │ │ │ -0000bea0: 2866 756e 6374 696f 6e29 0a0a 4e61 6d65 (function)..Name │ │ │ │ │ -0000beb0: 5f4f 6620 2866 756e 6374 696f 6e29 0a2d _Of (function).- │ │ │ │ │ -0000bec0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ -0000bed0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. │ │ │ │ │ -0000bee0: 4f66 6669 6369 616c 206e 616d 6520 6f66 Official name of │ │ │ │ │ -0000bef0: 2074 6865 2068 6f73 740a 5052 4f54 4f54 the host.PROTOT │ │ │ │ │ -0000bf00: 5950 450a 2020 2020 2020 2d2d 2053 6f63 YPE. -- Soc │ │ │ │ │ -0000bf10: 6b65 7473 2e4e 616d 696e 672e 4e61 6d65 kets.Naming.Name │ │ │ │ │ -0000bf20: 5f4f 663a 2066 756e 6374 696f 6e20 4e61 _Of: function Na │ │ │ │ │ -0000bf30: 6d65 5f4f 6620 2853 4f4d 4554 4849 4e47 me_Of (SOMETHING │ │ │ │ │ -0000bf40: 203a 2053 7472 696e 6729 0a20 2020 2020 : String). │ │ │ │ │ -0000bf50: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ │ │ -0000bf60: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME │ │ │ │ │ -0000bf70: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH │ │ │ │ │ -0000bf80: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in │ │ │ │ │ -0000bf90: 486f 7374 206e 616d 6520 6f72 2049 5020 Host name or IP │ │ │ │ │ -0000bfa0: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN │ │ │ │ │ -0000bfb0: 5641 4c55 450a 2020 2020 204e 616d 6520 VALUE. Name │ │ │ │ │ -0000bfc0: 6f66 2074 6865 2068 6f73 740a 0a45 5843 of the host..EXC │ │ │ │ │ -0000bfd0: 4550 5449 4f4e 530a 2020 2020 20e2 8098 EPTIONS. ... │ │ │ │ │ -0000bfe0: 4e61 6d69 6e67 5f45 7272 6f72 e280 9920 Naming_Error... │ │ │ │ │ -0000bff0: 2020 2020 4e6f 2069 6e66 6f72 6d61 7469 No informati │ │ │ │ │ -0000c000: 6f6e 2061 7661 696c 6162 6c65 2066 6f72 on available for │ │ │ │ │ -0000c010: 2074 6869 7320 6e61 6d65 206f 720a 2020 this name or. │ │ │ │ │ -0000c020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000c030: 2020 2020 2020 6164 6472 6573 730a 0a53 address..S │ │ │ │ │ -0000c040: 4545 2041 4c53 4f0a 2020 2020 202a 6e6f EE ALSO. *no │ │ │ │ │ -0000c050: 7465 2041 6464 7265 7373 5f4f 6620 2866 te Address_Of (f │ │ │ │ │ -0000c060: 756e 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 unction)::.....F │ │ │ │ │ -0000c070: 696c 653a 2061 6461 736f 636b 6574 732e ile: adasockets. │ │ │ │ │ -0000c080: 696e 666f 2c20 204e 6f64 653a 2056 616c info, Node: Val │ │ │ │ │ -0000c090: 7565 2028 6675 6e63 7469 6f6e 292c 2020 ue (function), │ │ │ │ │ -0000c0a0: 5072 6576 3a20 4e61 6d65 5f4f 6620 2866 Prev: Name_Of (f │ │ │ │ │ -0000c0b0: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A │ │ │ │ │ -0000c0c0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct │ │ │ │ │ -0000c0d0: 696f 6e29 0a0a 5661 6c75 6520 2866 756e ion)..Value (fun │ │ │ │ │ -0000c0e0: 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d ction).--------- │ │ │ │ │ -0000c0f0: 2d2d 2d2d 2d2d 2d0a 0a50 5552 504f 5345 -------..PURPOSE │ │ │ │ │ -0000c100: 0a20 2020 2020 5472 616e 7366 6f72 6d20 . Transform │ │ │ │ │ -0000c110: 6120 7374 7269 6e67 2069 6e74 6f20 616e a string into an │ │ │ │ │ -0000c120: 2061 6464 7265 7373 0a50 524f 544f 5459 address.PROTOTY │ │ │ │ │ -0000c130: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock │ │ │ │ │ -0000c140: 6574 732e 4e61 6d69 6e67 2e56 616c 7565 ets.Naming.Value │ │ │ │ │ -0000c150: 3a20 6675 6e63 7469 6f6e 2056 616c 7565 : function Value │ │ │ │ │ -0000c160: 2028 4144 4420 3a20 5374 7269 6e67 290a (ADD : String). │ │ │ │ │ -0000c170: 2020 2020 2020 2020 2020 2020 2020 2072 r │ │ │ │ │ -0000c180: 6574 7572 6e20 4164 6472 6573 733b 0a0a eturn Address;.. │ │ │ │ │ -0000c190: 5041 5241 4d45 5445 5253 0a20 2020 2020 PARAMETERS. │ │ │ │ │ -0000c1a0: 4144 4420 2020 2020 2020 2069 6e20 2020 ADD in │ │ │ │ │ -0000c1b0: 2020 2020 2020 5465 7874 7561 6c20 7265 Textual re │ │ │ │ │ -0000c1c0: 7072 6573 656e 7461 7469 6f6e 206f 6620 presentation of │ │ │ │ │ -0000c1d0: 616e 2049 5020 6164 6472 6573 730a 0a52 an IP address..R │ │ │ │ │ -0000c1e0: 4554 5552 4e20 5641 4c55 450a 2020 2020 ETURN VALUE. │ │ │ │ │ -0000c1f0: 2043 6f72 7265 7370 6f6e 6469 6e67 2041 Corresponding A │ │ │ │ │ -0000c200: 6464 7265 7373 0a0a 5345 4520 414c 534f ddress..SEE ALSO │ │ │ │ │ -0000c210: 0a20 2020 2020 2a6e 6f74 6520 496d 6167 . *note Imag │ │ │ │ │ -0000c220: 6520 2866 756e 6374 696f 6e29 3a3a 2e0a e (function)::.. │ │ │ │ │ -0000c230: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock │ │ │ │ │ -0000c240: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node: │ │ │ │ │ -0000c250: 2043 6f6e 7472 6962 7574 6f72 732c 2020 Contributors, │ │ │ │ │ -0000c260: 4e65 7874 3a20 5265 736f 7572 6365 7320 Next: Resources │ │ │ │ │ -0000c270: 6f6e 2074 6865 2049 6e74 6572 6e65 742c on the Internet, │ │ │ │ │ -0000c280: 2020 5072 6576 3a20 536f 636b 6574 732e Prev: Sockets. │ │ │ │ │ -0000c290: 4e61 6d69 6e67 2070 6163 6b61 6765 2c20 Naming package, │ │ │ │ │ -0000c2a0: 2055 703a 2054 6f70 0a0a 4170 7065 6e64 Up: Top..Append │ │ │ │ │ -0000c2b0: 6978 2041 2043 6f6e 7472 6962 7574 6f72 ix A Contributor │ │ │ │ │ -0000c2c0: 730a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a s.************** │ │ │ │ │ -0000c2d0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a41 6461 536f *********..AdaSo │ │ │ │ │ -0000c2e0: 636b 6574 7320 6861 7320 6265 656e 206f ckets has been o │ │ │ │ │ -0000c2f0: 7269 6769 6e61 6c6c 7920 6465 7665 6c6f riginally develo │ │ │ │ │ -0000c300: 7070 6564 2062 7920 5361 6d75 656c 2054 pped by Samuel T │ │ │ │ │ -0000c310: 6172 6469 6575 2077 686f 2073 7469 6c6c ardieu who still │ │ │ │ │ -0000c320: 0a6d 6169 6e74 6169 6e73 2069 742e 2020 .maintains it. │ │ │ │ │ -0000c330: 486f 7765 7665 722c 2074 6865 2066 6f6c However, the fol │ │ │ │ │ -0000c340: 6c6f 7769 6e67 2070 656f 706c 6520 6861 lowing people ha │ │ │ │ │ -0000c350: 7665 206d 6164 6520 6372 7563 6961 6c0a ve made crucial. │ │ │ │ │ -0000c360: 636f 6e74 7269 6275 7469 6f6e 7320 746f contributions to │ │ │ │ │ -0000c370: 2041 6461 536f 636b 6574 732c 2062 6520 AdaSockets, be │ │ │ │ │ -0000c380: 7468 6579 206e 6577 2063 6f64 652c 2062 they new code, b │ │ │ │ │ -0000c390: 7567 2066 6978 6573 206f 7220 706f 7274 ug fixes or port │ │ │ │ │ -0000c3a0: 696e 6720 746f 0a6e 6577 206f 7065 7261 ing to.new opera │ │ │ │ │ -0000c3b0: 7469 6e67 2073 7973 7465 6d73 3a0a 0a20 ting systems:.. │ │ │ │ │ -0000c3c0: 2020 e280 a220 446d 6974 7269 7920 416e ... Dmitriy An │ │ │ │ │ -0000c3d0: 6973 696d 6b6f 7620 283c 616e 6973 696d isimkov (). │ │ │ │ │ -0000c3f0: 2020 20e2 80a2 2041 6c61 6e20 4261 726e ... Alan Barn │ │ │ │ │ -0000c400: 6573 2028 3c62 6172 6e65 7361 4061 7374 es (). .. │ │ │ │ │ -0000c420: a220 4a75 616e 6d61 2042 6172 7261 6e71 . Juanma Barranq │ │ │ │ │ -0000c430: 7565 726f 2028 3c6c 656b 7475 4074 6572 uero (). ... B │ │ │ │ │ -0000c450: 6f62 6279 2044 2e20 4272 7961 6e74 2028 obby D. Bryant ( │ │ │ │ │ -0000c460: 3c62 6462 7279 616e 7440 6d61 696c 2e75 ). . │ │ │ │ │ -0000c480: 80a2 2053 616e 6465 7220 436f 7820 283c .. Sander Cox (< │ │ │ │ │ -0000c490: 7361 6e64 6572 2e63 6f78 4070 6869 6c69 sander.cox@phili │ │ │ │ │ -0000c4a0: 7073 2e63 6f6d 3e29 0a20 2020 e280 a220 ps.com>). ... │ │ │ │ │ -0000c4b0: 5375 6e65 2046 616c 6b20 283c 7375 6e65 Sune Falk (). ... Guilla │ │ │ │ │ -0000c4e0: 756d 6520 466f 6c69 6172 6420 283c 6775 ume Foliard () │ │ │ │ │ -0000c500: 0a20 2020 e280 a220 4c61 7572 656e 7420 . ... Laurent │ │ │ │ │ -0000c510: 4775 6572 6279 2028 3c67 7565 7262 7940 Guerby (). ... David │ │ │ │ │ -0000c540: 4a2e 204b 7269 7374 6f6c 6120 283c 4461 J. Kristola (). ... Domini │ │ │ │ │ -0000c570: 6b20 4d61 646f 6e20 283c 646f 6d69 6e69 k Madon (). . │ │ │ │ │ -0000c590: 80a2 2050 6173 6361 6c20 4f62 7279 2028 .. Pascal Obry ( │ │ │ │ │ -0000c5a0: 3c70 2e6f 6272 7940 7761 6e61 646f 6f2e ). ... Nico │ │ │ │ │ -0000c5c0: 6c61 7320 4f6c 6c69 6e67 6572 2028 3c4e las Ollinger (). │ │ │ │ │ -0000c5f0: 20e2 80a2 2053 7470 6861 6e65 2050 6174 ... Stphane Pat │ │ │ │ │ -0000c600: 7572 6561 7520 283c 7370 6174 7572 6561 ureau (). │ │ │ │ │ -0000c630: 2020 e280 a220 5468 6f6d 6173 2051 7569 ... Thomas Qui │ │ │ │ │ -0000c640: 6e6f 7420 283c 7468 6f6d 6173 4063 7569 not (). │ │ │ │ │ -0000c660: 2020 20e2 80a2 2050 7265 6265 6e20 5261 ... Preben Ra │ │ │ │ │ -0000c670: 6e64 686f 6c20 283c 7261 6e64 686f 6c40 ndhol (). ... │ │ │ │ │ -0000c690: 204d 6178 696d 2052 657a 6e69 6b20 283c Maxim Reznik (< │ │ │ │ │ -0000c6a0: 6d61 7831 406d 6261 6e6b 2e63 6f6d 2e75 max1@mbank.com.u │ │ │ │ │ -0000c6b0: 613e 290a 2020 20e2 80a2 204a 6f65 6c20 a>). ... Joel │ │ │ │ │ -0000c6c0: 5368 6572 7269 6c6c 2028 3c6a 6f65 6c2e Sherrill (). ... Sa │ │ │ │ │ -0000c6f0: 6d75 656c 2054 6172 6469 6575 2028 3c73 muel Tardieu () │ │ │ │ │ -0000c710: 0a0a 2020 2049 6620 796f 7520 6665 656c .. If you feel │ │ │ │ │ -0000c720: 2074 6861 7420 796f 7520 6861 7665 2062 that you have b │ │ │ │ │ -0000c730: 6565 6e20 666f 7267 6f74 7465 6e2c 2070 een forgotten, p │ │ │ │ │ -0000c740: 6c65 6173 6520 7365 6e64 206d 6520 6120 lease send me a │ │ │ │ │ -0000c750: 6d61 696c 2073 6f0a 7468 6174 2049 2063 mail so.that I c │ │ │ │ │ -0000c760: 616e 2066 6978 2069 7420 696e 2074 6865 an fix it in the │ │ │ │ │ -0000c770: 206e 6578 7420 7665 7273 696f 6e2e 0a0a next version... │ │ │ │ │ -0000c780: 2020 202a 4e6f 7465 2052 6573 6f75 7263 *Note Resourc │ │ │ │ │ -0000c790: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern │ │ │ │ │ -0000c7a0: 6574 3a3a 2c20 666f 7220 686f 7720 746f et::, for how to │ │ │ │ │ -0000c7b0: 2063 6f6e 7472 6962 7574 652e 0a0a 1f0a contribute..... │ │ │ │ │ -0000c7c0: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets │ │ │ │ │ -0000c7d0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re │ │ │ │ │ -0000c7e0: 736f 7572 6365 7320 6f6e 2074 6865 2049 sources on the I │ │ │ │ │ -0000c7f0: 6e74 6572 6e65 742c 2020 4e65 7874 3a20 nternet, Next: │ │ │ │ │ -0000c800: 496e 6465 782c 2020 5072 6576 3a20 436f Index, Prev: Co │ │ │ │ │ -0000c810: 6e74 7269 6275 746f 7273 2c20 2055 703a ntributors, Up: │ │ │ │ │ -0000c820: 2054 6f70 0a0a 4170 7065 6e64 6978 2042 Top..Appendix B │ │ │ │ │ -0000c830: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th │ │ │ │ │ -0000c840: 6520 496e 7465 726e 6574 0a2a 2a2a 2a2a e Internet.***** │ │ │ │ │ -0000c850: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ -0000c860: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a ***************. │ │ │ │ │ -0000c870: 0a54 6865 206c 6174 6573 7420 7665 7273 .The latest vers │ │ │ │ │ -0000c880: 696f 6e20 6f66 2041 6461 536f 636b 6574 ion of AdaSocket │ │ │ │ │ -0000c890: 7320 6361 6e20 616c 7761 7973 2062 6520 s can always be │ │ │ │ │ -0000c8a0: 666f 756e 6420 6174 3a0a 0a20 2020 2020 found at:.. │ │ │ │ │ -0000c8b0: 2020 2020 2020 2020 203c 6874 7470 733a .. You can │ │ │ │ │ -0000c8f0: 7265 706f 7274 2069 7373 7565 7320 6f72 report issues or │ │ │ │ │ -0000c900: 2074 6865 2041 6461 536f 636b 6574 7320 the AdaSockets │ │ │ │ │ -0000c910: 6d61 696c 696e 672d 6c69 7374 2061 740a mailing-list at. │ │ │ │ │ -0000c920: 0a20 2020 2020 2020 2020 2020 203c 6874 . .. │ │ │ │ │ -0000c960: 2043 6f6e 7472 6962 7574 696f 6e73 2061 Contributions a │ │ │ │ │ -0000c970: 6e64 2070 6174 6368 6573 2061 7265 2077 nd patches are w │ │ │ │ │ -0000c980: 656c 636f 6d65 642e 0a0a 1f0a 4669 6c65 elcomed.....File │ │ │ │ │ -0000c990: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf │ │ │ │ │ -0000c9a0: 6f2c 2020 4e6f 6465 3a20 496e 6465 782c o, Node: Index, │ │ │ │ │ -0000c9b0: 2020 5072 6576 3a20 5265 736f 7572 6365 Prev: Resource │ │ │ │ │ -0000c9c0: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne │ │ │ │ │ -0000c9d0: 742c 2020 5570 3a20 546f 700a 0a49 6e64 t, Up: Top..Ind │ │ │ │ │ -0000c9e0: 6578 0a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 ex.*****....[ind │ │ │ │ │ -0000c9f0: 6578 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a ex..].* Menu:..* │ │ │ │ │ -0000ca00: 2041 6363 6570 745f 536f 636b 6574 3a20 Accept_Socket: │ │ │ │ │ -0000ca10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ca20: 2020 2020 2020 2020 4163 6365 7074 5f53 Accept_S │ │ │ │ │ -0000ca30: 6f63 6b65 7420 2870 726f 6365 6475 7265 ocket (procedure │ │ │ │ │ -0000ca40: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -0000ca50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ca60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ca70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ca80: 2020 286c 696e 6520 2039 290a 2a20 4163 (line 9).* Ac │ │ │ │ │ -0000ca90: 6365 7074 696e 6720 6120 6e65 7720 636f cepting a new co │ │ │ │ │ -0000caa0: 6e6e 6563 7469 6f6e 3a20 2020 2020 2020 nnection: │ │ │ │ │ -0000cab0: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock │ │ │ │ │ -0000cac0: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure).. │ │ │ │ │ -0000cad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000caf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cb00: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000cb10: 6c69 6e65 2020 3629 0a2a 2041 6461 2e53 line 6).* Ada.S │ │ │ │ │ -0000cb20: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El │ │ │ │ │ -0000cb30: 656d 656e 745f 4172 7261 793a 2020 2020 ement_Array: │ │ │ │ │ -0000cb40: 2020 5261 7720 6461 7461 206d 616e 6970 Raw data manip │ │ │ │ │ -0000cb50: 756c 6174 696f 6e2e 0a20 2020 2020 2020 ulation.. │ │ │ │ │ +00009b90: 2020 2020 2020 2053 6f63 6b20 2020 2020 Sock │ │ │ │ │ +00009ba0: 3a20 536f 636b 6574 5f46 443b 0a20 2020 : Socket_FD;. │ │ │ │ │ +00009bb0: 2020 2020 2020 2020 2020 496e 636f 6d69 Incomi │ │ │ │ │ +00009bc0: 6e67 203a 2053 6f63 6b65 745f 4644 3b0a ng : Socket_FD;. │ │ │ │ │ +00009bd0: 2020 2020 2020 2020 2020 6265 6769 6e0a begin. │ │ │ │ │ +00009be0: 2020 2020 2020 2020 2020 2020 202d 2d20 -- │ │ │ │ │ +00009bf0: 4372 6561 7465 2061 2054 4350 2073 6f63 Create a TCP soc │ │ │ │ │ +00009c00: 6b65 7420 6c69 7374 656e 696e 6720 6f6e ket listening on │ │ │ │ │ +00009c10: 206c 6f63 616c 2070 6f72 7420 3431 3631 local port 4161 │ │ │ │ │ +00009c20: 0a20 2020 2020 2020 2020 2020 2020 536f . So │ │ │ │ │ +00009c30: 636b 6574 2028 536f 636b 2c20 5046 5f49 cket (Sock, PF_I │ │ │ │ │ +00009c40: 4e45 542c 2053 4f43 4b5f 5354 5245 414d NET, SOCK_STREAM │ │ │ │ │ +00009c50: 293b 0a20 2020 2020 2020 2020 2020 2020 );. │ │ │ │ │ +00009c60: 4269 6e64 2028 536f 636b 2c20 3431 3631 Bind (Sock, 4161 │ │ │ │ │ +00009c70: 293b 0a20 2020 2020 2020 2020 2020 2020 );. │ │ │ │ │ +00009c80: 4c69 7374 656e 2028 536f 636b 2c20 3329 Listen (Sock, 3) │ │ │ │ │ +00009c90: 3b0a 2020 2020 2020 2020 2020 2020 202d ;. - │ │ │ │ │ +00009ca0: 2d20 4f6e 652d 636f 6e6e 6563 7469 6f6e - One-connection │ │ │ │ │ +00009cb0: 2d61 742d 612d 7469 6d65 2073 6572 7665 -at-a-time serve │ │ │ │ │ +00009cc0: 7220 2833 206d 6179 2062 6520 7065 6e64 r (3 may be pend │ │ │ │ │ +00009cd0: 696e 6729 0a20 2020 2020 2020 2020 2020 ing). │ │ │ │ │ +00009ce0: 2020 6c6f 6f70 0a20 2020 2020 2020 2020 loop. │ │ │ │ │ +00009cf0: 2020 2020 2020 202d 2d20 5761 6974 2066 -- Wait f │ │ │ │ │ +00009d00: 6f72 2061 206e 6577 2063 6f6e 6e65 6374 or a new connect │ │ │ │ │ +00009d10: 696f 6e20 616e 6420 6163 6365 7074 2069 ion and accept i │ │ │ │ │ +00009d20: 740a 2020 2020 2020 2020 2020 2020 2020 t. │ │ │ │ │ +00009d30: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket │ │ │ │ │ +00009d40: 2853 6f63 6b2c 2049 6e63 6f6d 696e 6729 (Sock, Incoming) │ │ │ │ │ +00009d50: 3b0a 2020 2020 2020 2020 2020 2020 2020 ;. │ │ │ │ │ +00009d60: 2020 2d2d 2044 6f20 736f 6d65 2064 6961 -- Do some dia │ │ │ │ │ +00009d70: 6c6f 6720 7769 7468 2074 6865 2072 656d log with the rem │ │ │ │ │ +00009d80: 6f74 6520 686f 7374 0a20 2020 2020 2020 ote host. │ │ │ │ │ +00009d90: 2020 2020 2020 2020 2044 6f5f 536f 6d65 Do_Some │ │ │ │ │ +00009da0: 5f44 6961 6c6f 6720 2849 6e63 6f6d 696e _Dialog (Incomin │ │ │ │ │ +00009db0: 6729 3b0a 2020 2020 2020 2020 2020 2020 g);. │ │ │ │ │ +00009dc0: 2020 2020 2d2d 2043 6c6f 7365 2069 6e63 -- Close inc │ │ │ │ │ +00009dd0: 6f6d 696e 6720 736f 636b 6574 2061 6e64 oming socket and │ │ │ │ │ +00009de0: 2077 6169 7420 666f 7220 6e65 7874 2063 wait for next c │ │ │ │ │ +00009df0: 6f6e 6e65 6374 696f 6e0a 2020 2020 2020 onnection. │ │ │ │ │ +00009e00: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo │ │ │ │ │ +00009e10: 776e 2028 496e 636f 6d69 6e67 293b 0a20 wn (Incoming);. │ │ │ │ │ +00009e20: 2020 2020 2020 2020 2020 2020 656e 6420 end │ │ │ │ │ +00009e30: 6c6f 6f70 3b0a 2020 2020 2020 2020 2020 loop;. │ │ │ │ │ +00009e40: 656e 643b 0a0a 5345 4520 414c 534f 0a20 end;..SEE ALSO. │ │ │ │ │ +00009e50: 2020 2020 2a6e 6f74 6520 5365 6e64 2028 *note Send ( │ │ │ │ │ +00009e60: 7072 6f63 6564 7572 6529 3a3a 2c0a 2020 procedure)::,. │ │ │ │ │ +00009e70: 2020 202a 6e6f 7465 2053 6875 7464 6f77 *note Shutdow │ │ │ │ │ +00009e80: 6e20 2870 726f 6365 6475 7265 293a 3a2e n (procedure)::. │ │ │ │ │ +00009e90: 0a0a 1f0a 4669 6c65 3a20 6164 6173 6f63 ....File: adasoc │ │ │ │ │ +00009ea0: 6b65 7473 2e69 6e66 6f2c 2020 4e6f 6465 kets.info, Node │ │ │ │ │ +00009eb0: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming │ │ │ │ │ +00009ec0: 2070 6163 6b61 6765 2c20 204e 6578 743a package, Next: │ │ │ │ │ +00009ed0: 2043 6f6e 7472 6962 7574 6f72 732c 2020 Contributors, │ │ │ │ │ +00009ee0: 5072 6576 3a20 536f 636b 6574 732e 4d75 Prev: Sockets.Mu │ │ │ │ │ +00009ef0: 6c74 6963 6173 7420 7061 636b 6167 652c lticast package, │ │ │ │ │ +00009f00: 2020 5570 3a20 546f 700a 0a36 2053 6f63 Up: Top..6 Soc │ │ │ │ │ +00009f10: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack │ │ │ │ │ +00009f20: 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a age.************ │ │ │ │ │ +00009f30: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th │ │ │ │ │ +00009f40: 6520 e280 9853 6f63 6b65 7473 2e4e 616d e ...Sockets.Nam │ │ │ │ │ +00009f50: 696e 67e2 8099 2070 6163 6b61 6765 2063 ing... package c │ │ │ │ │ +00009f60: 6f6e 7461 696e 7320 7479 7065 7320 616e ontains types an │ │ │ │ │ +00009f70: 6420 6865 6c70 6572 2066 756e 6374 696f d helper functio │ │ │ │ │ +00009f80: 6e73 206e 6565 6465 640a 746f 206d 616e ns needed.to man │ │ │ │ │ +00009f90: 6970 756c 6174 6520 496e 7465 726e 6574 ipulate Internet │ │ │ │ │ +00009fa0: 2068 6f73 7420 6e61 6d65 7320 616e 6420 host names and │ │ │ │ │ +00009fb0: 6164 6472 6573 7365 732e 0a0a 202d 2d20 addresses... -- │ │ │ │ │ +00009fc0: 536f 636b 6574 732e 4e61 6d69 6e67 2e41 Sockets.Naming.A │ │ │ │ │ +00009fd0: 6464 7265 7373 3a20 7479 7065 2041 6464 ddress: type Add │ │ │ │ │ +00009fe0: 7265 7373 2069 7320 7265 636f 7264 0a20 ress is record. │ │ │ │ │ +00009ff0: 2020 2020 2020 2020 2020 4831 2c20 4832 H1, H2 │ │ │ │ │ +0000a000: 2c20 4833 2c20 4834 203a 2041 6464 7265 , H3, H4 : Addre │ │ │ │ │ +0000a010: 7373 5f43 6f6d 706f 6e65 6e74 3b0a 2020 ss_Component;. │ │ │ │ │ +0000a020: 2020 2020 2020 2020 656e 6420 7265 636f end reco │ │ │ │ │ +0000a030: 7264 3b0a 2020 2020 2054 6869 7320 7479 rd;. This ty │ │ │ │ │ +0000a040: 7065 2072 6570 7265 7365 6e74 7320 616e pe represents an │ │ │ │ │ +0000a050: 2049 5076 3420 6164 6472 6573 7320 7769 IPv4 address wi │ │ │ │ │ +0000a060: 7468 20e2 8098 4831 e280 9920 6265 696e th ...H1... bein │ │ │ │ │ +0000a070: 6720 7468 6520 6669 7273 740a 2020 2020 g the first. │ │ │ │ │ +0000a080: 206f 6374 6574 2061 6e64 20e2 8098 4834 octet and ...H4 │ │ │ │ │ +0000a090: e280 9920 7468 6520 6c61 7374 206f 6e65 ... the last one │ │ │ │ │ +0000a0a0: 2e20 2046 6f72 2065 7861 6d70 6c65 2c20 . For example, │ │ │ │ │ +0000a0b0: 3133 372e 3139 342e 3136 312e 3220 6973 137.194.161.2 is │ │ │ │ │ +0000a0c0: 0a20 2020 2020 7265 7072 6573 656e 7465 . represente │ │ │ │ │ +0000a0d0: 6420 6279 20e2 8098 4831 3d31 3337 2c20 d by ...H1=137, │ │ │ │ │ +0000a0e0: 4832 3d31 3934 2c20 4833 3d31 3631 2c20 H2=194, H3=161, │ │ │ │ │ +0000a0f0: 4834 3d32 e280 992e 0a0a 202d 2d20 536f H4=2...... -- So │ │ │ │ │ +0000a100: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add │ │ │ │ │ +0000a110: 7265 7373 5f41 7272 6179 3a20 7479 7065 ress_Array: type │ │ │ │ │ +0000a120: 2041 6464 7265 7373 5f41 7272 6179 2069 Address_Array i │ │ │ │ │ +0000a130: 7320 6172 7261 7920 2850 6f73 6974 6976 s array (Positiv │ │ │ │ │ +0000a140: 650a 2020 2020 2020 2020 2020 7261 6e67 e. rang │ │ │ │ │ +0000a150: 6520 3c3e 2920 6f66 2041 6464 7265 7373 e <>) of Address │ │ │ │ │ +0000a160: 3b0a 2020 2020 2048 656c 7065 7220 7479 ;. Helper ty │ │ │ │ │ +0000a170: 7065 0a0a 202d 2d20 536f 636b 6574 732e pe.. -- Sockets. │ │ │ │ │ +0000a180: 4e61 6d69 6e67 2e41 6464 7265 7373 5f43 Naming.Address_C │ │ │ │ │ +0000a190: 6f6d 706f 6e65 6e74 3a20 7479 7065 2041 omponent: type A │ │ │ │ │ +0000a1a0: 6464 7265 7373 5f43 6f6d 706f 6e65 6e74 ddress_Component │ │ │ │ │ +0000a1b0: 2069 7320 4e61 7475 7261 6c0a 2020 2020 is Natural. │ │ │ │ │ +0000a1c0: 2020 2020 2020 7261 6e67 6520 3020 2e2e range 0 .. │ │ │ │ │ +0000a1d0: 2032 3535 3b0a 2020 2020 2048 656c 7065 255;. Helpe │ │ │ │ │ +0000a1e0: 7220 7479 7065 0a0a 202d 2d20 536f 636b r type.. -- Sock │ │ │ │ │ +0000a1f0: 6574 732e 4e61 6d69 6e67 2e48 6f73 745f ets.Naming.Host_ │ │ │ │ │ +0000a200: 456e 7472 793a 2074 7970 6520 486f 7374 Entry: type Host │ │ │ │ │ +0000a210: 5f45 6e74 7279 2028 4e5f 416c 6961 7365 _Entry (N_Aliase │ │ │ │ │ +0000a220: 732c 204e 5f41 6464 7265 7373 6573 203a s, N_Addresses : │ │ │ │ │ +0000a230: 0a20 2020 2020 2020 2020 204e 6174 7572 . Natur │ │ │ │ │ +0000a240: 616c 2920 6973 206e 6577 2041 6461 2e46 al) is new Ada.F │ │ │ │ │ +0000a250: 696e 616c 697a 6174 696f 6e2e 436f 6e74 inalization.Cont │ │ │ │ │ +0000a260: 726f 6c6c 6564 2077 6974 6820 7265 636f rolled with reco │ │ │ │ │ +0000a270: 7264 0a20 2020 2020 2020 2020 2020 204e rd. N │ │ │ │ │ +0000a280: 616d 6520 3a20 5374 7269 6e67 5f41 6363 ame : String_Acc │ │ │ │ │ +0000a290: 6573 733b 0a20 2020 2020 2020 2020 2020 ess;. │ │ │ │ │ +0000a2a0: 2041 6c69 6173 6573 203a 2053 7472 696e Aliases : Strin │ │ │ │ │ +0000a2b0: 675f 4172 7261 7920 2831 202e 2e20 4e5f g_Array (1 .. N_ │ │ │ │ │ +0000a2c0: 416c 6961 7365 7329 3b0a 2020 2020 2020 Aliases);. │ │ │ │ │ +0000a2d0: 2020 2020 2020 4164 6472 6573 7365 7320 Addresses │ │ │ │ │ +0000a2e0: 3a20 4164 6472 6573 735f 4172 7261 7920 : Address_Array │ │ │ │ │ +0000a2f0: 2831 202e 2e20 4e5f 4164 6472 6573 7365 (1 .. N_Addresse │ │ │ │ │ +0000a300: 7329 3b0a 2020 2020 2020 2020 2020 656e s);. en │ │ │ │ │ +0000a310: 6420 7265 636f 7264 3b0a 2020 2020 2054 d record;. T │ │ │ │ │ +0000a320: 6865 20e2 8098 486f 7374 5f45 6e74 7279 he ...Host_Entry │ │ │ │ │ +0000a330: e280 9920 7479 7065 2068 6f6c 6473 2061 ... type holds a │ │ │ │ │ +0000a340: 2073 6574 206f 6620 6e61 6d65 7320 616e set of names an │ │ │ │ │ +0000a350: 6420 4950 2061 6464 7265 7373 6573 0a20 d IP addresses. │ │ │ │ │ +0000a360: 2020 2020 6173 736f 6369 6174 6564 2077 associated w │ │ │ │ │ +0000a370: 6974 6820 6120 686f 7374 2e20 2045 6163 ith a host. Eac │ │ │ │ │ +0000a380: 6820 686f 7374 2063 616e 2068 6176 6520 h host can have │ │ │ │ │ +0000a390: 7365 7665 7261 6c20 4950 2061 6464 7265 several IP addre │ │ │ │ │ +0000a3a0: 7373 2061 730a 2020 2020 2077 656c 6c20 ss as. well │ │ │ │ │ +0000a3b0: 6173 2073 6576 6572 616c 2061 6c69 6173 as several alias │ │ │ │ │ +0000a3c0: 6573 2e0a 0a20 2d2d 2053 6f63 6b65 7473 es... -- Sockets │ │ │ │ │ +0000a3d0: 2e4e 616d 696e 672e 5374 7269 6e67 5f41 .Naming.String_A │ │ │ │ │ +0000a3e0: 6363 6573 733a 2074 7970 6520 5374 7269 ccess: type Stri │ │ │ │ │ +0000a3f0: 6e67 5f41 6363 6573 7320 6973 2061 6363 ng_Access is acc │ │ │ │ │ +0000a400: 6573 7320 5374 7269 6e67 3b0a 2020 2020 ess String;. │ │ │ │ │ +0000a410: 2048 656c 7065 7220 7479 7065 0a0a 202d Helper type.. - │ │ │ │ │ +0000a420: 2d20 536f 636b 6574 732e 4e61 6d69 6e67 - Sockets.Naming │ │ │ │ │ +0000a430: 2e53 7472 696e 675f 4172 7261 793a 2074 .String_Array: t │ │ │ │ │ +0000a440: 7970 6520 5374 7269 6e67 5f41 7272 6179 ype String_Array │ │ │ │ │ +0000a450: 2069 7320 6172 7261 7920 2850 6f73 6974 is array (Posit │ │ │ │ │ +0000a460: 6976 650a 2020 2020 2020 2020 2020 7261 ive. ra │ │ │ │ │ +0000a470: 6e67 6520 3c3e 2920 6f66 2053 7472 696e nge <>) of Strin │ │ │ │ │ +0000a480: 675f 4163 6365 7373 3b0a 2020 2020 2048 g_Access;. H │ │ │ │ │ +0000a490: 656c 7065 7220 7479 7065 0a0a 2a20 4d65 elper type..* Me │ │ │ │ │ +0000a4a0: 6e75 3a0a 0a2a 2041 6464 7265 7373 5f4f nu:..* Address_O │ │ │ │ │ +0000a4b0: 6620 2866 756e 6374 696f 6e29 3a3a 0a20 f (function)::. │ │ │ │ │ +0000a4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a4d0: 2020 2020 2020 2047 6574 2074 6865 2049 Get the I │ │ │ │ │ +0000a4e0: 5020 6164 6472 6573 7320 6f66 2061 2068 P address of a h │ │ │ │ │ +0000a4f0: 6f73 740a 2a20 416e 795f 4164 6472 6573 ost.* Any_Addres │ │ │ │ │ +0000a500: 7320 2866 756e 6374 696f 6e29 3a3a 0a20 s (function)::. │ │ │ │ │ +0000a510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a520: 2020 2020 2020 2053 7065 6369 616c 2061 Special a │ │ │ │ │ +0000a530: 6464 7265 7373 2072 6570 7265 7365 6e74 ddress represent │ │ │ │ │ +0000a540: 696e 6720 616e 7920 6164 6472 6573 7320 ing any address │ │ │ │ │ +0000a550: 6f6e 2074 6865 206c 6f63 616c 2068 6f73 on the local hos │ │ │ │ │ +0000a560: 740a 2a20 4765 745f 5065 6572 5f41 6464 t.* Get_Peer_Add │ │ │ │ │ +0000a570: 7220 2866 756e 6374 696f 6e29 3a3a 0a20 r (function)::. │ │ │ │ │ +0000a580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a590: 2020 2020 2020 2052 6574 7269 6576 6520 Retrieve │ │ │ │ │ +0000a5a0: 4950 2061 6464 7265 7373 206f 6620 7265 IP address of re │ │ │ │ │ +0000a5b0: 6d6f 7465 2068 6f73 740a 2a20 4765 745f mote host.* Get_ │ │ │ │ │ +0000a5c0: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct │ │ │ │ │ +0000a5d0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. │ │ │ │ │ +0000a5e0: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ +0000a5f0: 6574 7269 6576 6520 706f 7274 2075 7365 etrieve port use │ │ │ │ │ +0000a600: 6420 6279 2072 656d 6f74 6520 686f 7374 d by remote host │ │ │ │ │ +0000a610: 0a2a 2047 6574 5f53 6f63 6b5f 4164 6472 .* Get_Sock_Addr │ │ │ │ │ +0000a620: 2028 6675 6e63 7469 6f6e 293a 3a0a 2020 (function)::. │ │ │ │ │ +0000a630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a640: 2020 2020 2020 5265 7472 6965 7665 2049 Retrieve I │ │ │ │ │ +0000a650: 5020 6164 6472 6573 7320 6f66 206c 6f63 P address of loc │ │ │ │ │ +0000a660: 616c 2068 6f73 740a 2a20 4765 745f 536f al host.* Get_So │ │ │ │ │ +0000a670: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio │ │ │ │ │ +0000a680: 6e29 3a3a 0a20 2020 2020 2020 2020 2020 n)::. │ │ │ │ │ +0000a690: 2020 2020 2020 2020 2020 2020 2052 6574 Ret │ │ │ │ │ +0000a6a0: 7269 6576 6520 706f 7274 2075 7365 6420 rieve port used │ │ │ │ │ +0000a6b0: 6279 206c 6f63 616c 2068 6f73 740a 2a20 by local host.* │ │ │ │ │ +0000a6c0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct │ │ │ │ │ +0000a6d0: 696f 6e29 3a3a 0a20 2020 2020 2020 2020 ion)::. │ │ │ │ │ +0000a6e0: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ +0000a6f0: 6574 2074 6865 206e 616d 6520 6f66 2074 et the name of t │ │ │ │ │ +0000a700: 6865 2063 7572 7265 6e74 2068 6f73 740a he current host. │ │ │ │ │ +0000a710: 2a20 496d 6167 6520 2866 756e 6374 696f * Image (functio │ │ │ │ │ +0000a720: 6e29 3a3a 2020 2020 4d61 6b65 2061 2073 n):: Make a s │ │ │ │ │ +0000a730: 7472 696e 6720 6672 6f6d 2061 6e20 6164 tring from an ad │ │ │ │ │ +0000a740: 6472 6573 730a 2a20 496e 666f 5f4f 665f dress.* Info_Of_ │ │ │ │ │ +0000a750: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func │ │ │ │ │ +0000a760: 7469 6f6e 293a 3a0a 2020 2020 2020 2020 tion)::. │ │ │ │ │ +0000a770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a780: 4765 7420 6164 6472 6573 7365 7320 616e Get addresses an │ │ │ │ │ +0000a790: 6420 6e61 6d65 7320 6f66 2061 2068 6f73 d names of a hos │ │ │ │ │ +0000a7a0: 740a 2a20 4973 5f49 505f 4164 6472 6573 t.* Is_IP_Addres │ │ │ │ │ +0000a7b0: 7320 2866 756e 6374 696f 6e29 3a3a 0a20 s (function)::. │ │ │ │ │ +0000a7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000a7d0: 2020 2020 2020 2043 6865 636b 2069 6620 Check if │ │ │ │ │ +0000a7e0: 6769 7665 6e20 7374 7269 6e67 2069 7320 given string is │ │ │ │ │ +0000a7f0: 6120 7661 6c69 6420 4950 2061 6464 7265 a valid IP addre │ │ │ │ │ +0000a800: 7373 0a2a 204e 616d 655f 4f66 2028 6675 ss.* Name_Of (fu │ │ │ │ │ +0000a810: 6e63 7469 6f6e 293a 3a20 204f 6666 6963 nction):: Offic │ │ │ │ │ +0000a820: 6961 6c20 6e61 6d65 206f 6620 7468 6520 ial name of the │ │ │ │ │ +0000a830: 686f 7374 0a2a 2056 616c 7565 2028 6675 host.* Value (fu │ │ │ │ │ +0000a840: 6e63 7469 6f6e 293a 3a20 2020 2054 7261 nction):: Tra │ │ │ │ │ +0000a850: 6e73 666f 726d 2061 2073 7472 696e 6720 nsform a string │ │ │ │ │ +0000a860: 696e 746f 2061 6e20 6164 6472 6573 730a into an address. │ │ │ │ │ +0000a870: 0a1f 0a46 696c 653a 2061 6461 736f 636b ...File: adasock │ │ │ │ │ +0000a880: 6574 732e 696e 666f 2c20 204e 6f64 653a ets.info, Node: │ │ │ │ │ +0000a890: 2041 6464 7265 7373 5f4f 6620 2866 756e Address_Of (fun │ │ │ │ │ +0000a8a0: 6374 696f 6e29 2c20 204e 6578 743a 2041 ction), Next: A │ │ │ │ │ +0000a8b0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func │ │ │ │ │ +0000a8c0: 7469 6f6e 292c 2020 5570 3a20 536f 636b tion), Up: Sock │ │ │ │ │ +0000a8d0: 6574 732e 4e61 6d69 6e67 2070 6163 6b61 ets.Naming packa │ │ │ │ │ +0000a8e0: 6765 0a0a 4164 6472 6573 735f 4f66 2028 ge..Address_Of ( │ │ │ │ │ +0000a8f0: 6675 6e63 7469 6f6e 290a 3d3d 3d3d 3d3d function).====== │ │ │ │ │ +0000a900: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============. │ │ │ │ │ +0000a910: 0a50 5552 504f 5345 0a20 2020 2020 4765 .PURPOSE. Ge │ │ │ │ │ +0000a920: 7420 7468 6520 4950 2061 6464 7265 7373 t the IP address │ │ │ │ │ +0000a930: 206f 6620 6120 686f 7374 0a50 524f 544f of a host.PROTO │ │ │ │ │ +0000a940: 5459 5045 0a20 2020 2020 202d 2d20 536f TYPE. -- So │ │ │ │ │ +0000a950: 636b 6574 732e 4e61 6d69 6e67 2e41 6464 ckets.Naming.Add │ │ │ │ │ +0000a960: 7265 7373 5f4f 663a 2066 756e 6374 696f ress_Of: functio │ │ │ │ │ +0000a970: 6e20 4164 6472 6573 735f 4f66 0a20 2020 n Address_Of. │ │ │ │ │ +0000a980: 2020 2020 2020 2020 2020 2020 2853 4f4d (SOM │ │ │ │ │ +0000a990: 4554 4849 4e47 203a 2053 7472 696e 6729 ETHING : String) │ │ │ │ │ +0000a9a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0000a9b0: 7265 7475 726e 2041 6464 7265 7373 3b0a return Address;. │ │ │ │ │ +0000a9c0: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. │ │ │ │ │ +0000a9d0: 2053 4f4d 4554 4849 4e47 2020 696e 2020 SOMETHING in │ │ │ │ │ +0000a9e0: 2020 2020 2020 2048 6f73 7420 6e61 6d65 Host name │ │ │ │ │ +0000a9f0: 206f 7220 4950 2061 6464 7265 7373 0a0a or IP address.. │ │ │ │ │ +0000aa00: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. │ │ │ │ │ +0000aa10: 2020 4950 7634 2061 6464 7265 7373 0a0a IPv4 address.. │ │ │ │ │ +0000aa20: 4558 4345 5054 494f 4e53 0a20 2020 2020 EXCEPTIONS. │ │ │ │ │ +0000aa30: e280 984e 616d 696e 675f 4572 726f 72e2 ...Naming_Error. │ │ │ │ │ +0000aa40: 8099 2020 2020 204e 6f20 696e 666f 726d .. No inform │ │ │ │ │ +0000aa50: 6174 696f 6e20 6176 6169 6c61 626c 6520 ation available │ │ │ │ │ +0000aa60: 666f 7220 7468 6973 206e 616d 6520 6f72 for this name or │ │ │ │ │ +0000aa70: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0000aa80: 2020 2020 2020 2020 2061 6464 7265 7373 address │ │ │ │ │ +0000aa90: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. │ │ │ │ │ +0000aaa0: 2a6e 6f74 6520 4e61 6d65 5f4f 6620 2866 *note Name_Of (f │ │ │ │ │ +0000aab0: 756e 6374 696f 6e29 3a3a 2e0a 0a2a 204d unction)::...* M │ │ │ │ │ +0000aac0: 656e 753a 0a0a 2a20 416e 795f 4164 6472 enu:..* Any_Addr │ │ │ │ │ +0000aad0: 6573 7320 2866 756e 6374 696f 6e29 3a3a ess (function):: │ │ │ │ │ +0000aae0: 0a2a 2047 6574 5f50 6565 725f 4164 6472 .* Get_Peer_Addr │ │ │ │ │ +0000aaf0: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* │ │ │ │ │ +0000ab00: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f │ │ │ │ │ +0000ab10: 756e 6374 696f 6e29 3a3a 0a2a 2047 6574 unction)::.* Get │ │ │ │ │ +0000ab20: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func │ │ │ │ │ +0000ab30: 7469 6f6e 293a 3a0a 2a20 4765 745f 536f tion)::.* Get_So │ │ │ │ │ +0000ab40: 636b 5f50 6f72 7420 2866 756e 6374 696f ck_Port (functio │ │ │ │ │ +0000ab50: 6e29 3a3a 0a2a 2048 6f73 745f 4e61 6d65 n)::.* Host_Name │ │ │ │ │ +0000ab60: 2028 6675 6e63 7469 6f6e 293a 3a0a 2a20 (function)::.* │ │ │ │ │ +0000ab70: 496d 6167 6520 2866 756e 6374 696f 6e29 Image (function) │ │ │ │ │ +0000ab80: 3a3a 0a2a 2049 6e66 6f5f 4f66 5f4e 616d ::.* Info_Of_Nam │ │ │ │ │ +0000ab90: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio │ │ │ │ │ +0000aba0: 6e29 3a3a 0a2a 2049 735f 4950 5f41 6464 n)::.* Is_IP_Add │ │ │ │ │ +0000abb0: 7265 7373 2028 6675 6e63 7469 6f6e 293a ress (function): │ │ │ │ │ +0000abc0: 3a0a 2a20 4e61 6d65 5f4f 6620 2866 756e :.* Name_Of (fun │ │ │ │ │ +0000abd0: 6374 696f 6e29 3a3a 0a2a 2056 616c 7565 ction)::.* Value │ │ │ │ │ +0000abe0: 2028 6675 6e63 7469 6f6e 293a 3a0a 0a1f (function)::... │ │ │ │ │ +0000abf0: 0a46 696c 653a 2061 6461 736f 636b 6574 .File: adasocket │ │ │ │ │ +0000ac00: 732e 696e 666f 2c20 204e 6f64 653a 2041 s.info, Node: A │ │ │ │ │ +0000ac10: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func │ │ │ │ │ +0000ac20: 7469 6f6e 292c 2020 4e65 7874 3a20 4765 tion), Next: Ge │ │ │ │ │ +0000ac30: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun │ │ │ │ │ +0000ac40: 6374 696f 6e29 2c20 2050 7265 763a 2041 ction), Prev: A │ │ │ │ │ +0000ac50: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct │ │ │ │ │ +0000ac60: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre │ │ │ │ │ +0000ac70: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function) │ │ │ │ │ +0000ac80: 0a0a 416e 795f 4164 6472 6573 7320 2866 ..Any_Address (f │ │ │ │ │ +0000ac90: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).------- │ │ │ │ │ +0000aca0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------. │ │ │ │ │ +0000acb0: 0a50 5552 504f 5345 0a20 2020 2020 5370 .PURPOSE. Sp │ │ │ │ │ +0000acc0: 6563 6961 6c20 6164 6472 6573 7320 7265 ecial address re │ │ │ │ │ +0000acd0: 7072 6573 656e 7469 6e67 2061 6e79 2061 presenting any a │ │ │ │ │ +0000ace0: 6464 7265 7373 206f 6e20 7468 6520 6c6f ddress on the lo │ │ │ │ │ +0000acf0: 6361 6c20 686f 7374 0a50 524f 544f 5459 cal host.PROTOTY │ │ │ │ │ +0000ad00: 5045 0a20 2020 2020 202d 2d20 536f 636b PE. -- Sock │ │ │ │ │ +0000ad10: 6574 732e 4e61 6d69 6e67 2e41 6e79 5f41 ets.Naming.Any_A │ │ │ │ │ +0000ad20: 6464 7265 7373 3a20 6675 6e63 7469 6f6e ddress: function │ │ │ │ │ +0000ad30: 2041 6e79 5f41 6464 7265 7373 0a0a 5245 Any_Address..RE │ │ │ │ │ +0000ad40: 5455 524e 2056 414c 5545 0a20 2020 2020 TURN VALUE. │ │ │ │ │ +0000ad50: 4571 7569 7661 6c65 6e74 2074 6f20 e280 Equivalent to .. │ │ │ │ │ +0000ad60: 9849 4e41 4444 525f 414e 59e2 8099 2069 .INADDR_ANY... i │ │ │ │ │ +0000ad70: 6e20 7468 6520 4320 7072 6f67 7261 6d6d n the C programm │ │ │ │ │ +0000ad80: 696e 6720 6c61 6e67 7561 6765 0a0a 1f0a ing language.... │ │ │ │ │ +0000ad90: 4669 6c65 3a20 6164 6173 6f63 6b65 7473 File: adasockets │ │ │ │ │ +0000ada0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4765 .info, Node: Ge │ │ │ │ │ +0000adb0: 745f 5065 6572 5f41 6464 7220 2866 756e t_Peer_Addr (fun │ │ │ │ │ +0000adc0: 6374 696f 6e29 2c20 204e 6578 743a 2047 ction), Next: G │ │ │ │ │ +0000add0: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu │ │ │ │ │ +0000ade0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: │ │ │ │ │ +0000adf0: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun │ │ │ │ │ +0000ae00: 6374 696f 6e29 2c20 2055 703a 2041 6464 ction), Up: Add │ │ │ │ │ +0000ae10: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio │ │ │ │ │ +0000ae20: 6e29 0a0a 4765 745f 5065 6572 5f41 6464 n)..Get_Peer_Add │ │ │ │ │ +0000ae30: 7220 2866 756e 6374 696f 6e29 0a2d 2d2d r (function).--- │ │ │ │ │ +0000ae40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000ae50: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. │ │ │ │ │ +0000ae60: 2020 2020 5265 7472 6965 7665 2049 5020 Retrieve IP │ │ │ │ │ +0000ae70: 6164 6472 6573 7320 6f66 2072 656d 6f74 address of remot │ │ │ │ │ +0000ae80: 6520 686f 7374 0a50 524f 544f 5459 5045 e host.PROTOTYPE │ │ │ │ │ +0000ae90: 0a20 2020 2020 202d 2d20 536f 636b 6574 . -- Socket │ │ │ │ │ +0000aea0: 732e 4e61 6d69 6e67 2e47 6574 5f50 6565 s.Naming.Get_Pee │ │ │ │ │ +0000aeb0: 725f 4164 6472 3a20 6675 6e63 7469 6f6e r_Addr: function │ │ │ │ │ +0000aec0: 2047 6574 5f50 6565 725f 4164 6472 0a20 Get_Peer_Addr. │ │ │ │ │ +0000aed0: 2020 2020 2020 2020 2020 2020 2020 2853 (S │ │ │ │ │ +0000aee0: 4f43 4b45 5420 3a20 536f 636b 6574 5f46 OCKET : Socket_F │ │ │ │ │ +0000aef0: 4429 0a20 2020 2020 2020 2020 2020 2020 D). │ │ │ │ │ +0000af00: 2020 7265 7475 726e 2041 6464 7265 7373 return Address │ │ │ │ │ +0000af10: 3b0a 0a50 4152 414d 4554 4552 530a 2020 ;..PARAMETERS. │ │ │ │ │ +0000af20: 2020 2053 4f43 4b45 5420 2020 2020 696e SOCKET in │ │ │ │ │ +0000af30: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect │ │ │ │ │ +0000af40: 6564 2073 6f63 6b65 7420 6f62 6a65 6374 ed socket object │ │ │ │ │ +0000af50: 0a0a 5245 5455 524e 2056 414c 5545 0a20 ..RETURN VALUE. │ │ │ │ │ +0000af60: 2020 2020 5065 6572 2061 6464 7265 7373 Peer address │ │ │ │ │ +0000af70: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. │ │ │ │ │ +0000af80: 2a6e 6f74 6520 4765 745f 5065 6572 5f50 *note Get_Peer_P │ │ │ │ │ +0000af90: 6f72 7420 2866 756e 6374 696f 6e29 3a3a ort (function):: │ │ │ │ │ +0000afa0: 2c0a 2020 2020 202a 6e6f 7465 2047 6574 ,. *note Get │ │ │ │ │ +0000afb0: 5f53 6f63 6b5f 4164 6472 2028 6675 6e63 _Sock_Addr (func │ │ │ │ │ +0000afc0: 7469 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 tion)::.....File │ │ │ │ │ +0000afd0: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf │ │ │ │ │ +0000afe0: 6f2c 2020 4e6f 6465 3a20 4765 745f 5065 o, Node: Get_Pe │ │ │ │ │ +0000aff0: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio │ │ │ │ │ +0000b000: 6e29 2c20 204e 6578 743a 2047 6574 5f53 n), Next: Get_S │ │ │ │ │ +0000b010: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi │ │ │ │ │ +0000b020: 6f6e 292c 2020 5072 6576 3a20 4765 745f on), Prev: Get_ │ │ │ │ │ +0000b030: 5065 6572 5f41 6464 7220 2866 756e 6374 Peer_Addr (funct │ │ │ │ │ +0000b040: 696f 6e29 2c20 2055 703a 2041 6464 7265 ion), Up: Addre │ │ │ │ │ +0000b050: 7373 5f4f 6620 2866 756e 6374 696f 6e29 ss_Of (function) │ │ │ │ │ +0000b060: 0a0a 4765 745f 5065 6572 5f50 6f72 7420 ..Get_Peer_Port │ │ │ │ │ +0000b070: 2866 756e 6374 696f 6e29 0a2d 2d2d 2d2d (function).----- │ │ │ │ │ +0000b080: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000b090: 2d2d 2d0a 0a50 5552 504f 5345 0a20 2020 ---..PURPOSE. │ │ │ │ │ +0000b0a0: 2020 5265 7472 6965 7665 2070 6f72 7420 Retrieve port │ │ │ │ │ +0000b0b0: 7573 6564 2062 7920 7265 6d6f 7465 2068 used by remote h │ │ │ │ │ +0000b0c0: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. │ │ │ │ │ +0000b0d0: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N │ │ │ │ │ +0000b0e0: 616d 696e 672e 4765 745f 5065 6572 5f50 aming.Get_Peer_P │ │ │ │ │ +0000b0f0: 6f72 743a 2066 756e 6374 696f 6e20 4765 ort: function Ge │ │ │ │ │ +0000b100: 745f 5065 6572 5f50 6f72 740a 2020 2020 t_Peer_Port. │ │ │ │ │ +0000b110: 2020 2020 2020 2020 2020 2028 534f 434b (SOCK │ │ │ │ │ +0000b120: 4554 203a 2053 6f63 6b65 745f 4644 290a ET : Socket_FD). │ │ │ │ │ +0000b130: 2020 2020 2020 2020 2020 2020 2020 2072 r │ │ │ │ │ +0000b140: 6574 7572 6e20 506f 7369 7469 7665 3b0a eturn Positive;. │ │ │ │ │ +0000b150: 0a50 4152 414d 4554 4552 530a 2020 2020 .PARAMETERS. │ │ │ │ │ +0000b160: 2053 4f43 4b45 5420 2020 2020 696e 2020 SOCKET in │ │ │ │ │ +0000b170: 2020 2020 2020 2043 6f6e 6e65 6374 6564 Connected │ │ │ │ │ +0000b180: 2073 6f63 6b65 7420 6f62 6a65 6374 0a0a socket object.. │ │ │ │ │ +0000b190: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. │ │ │ │ │ +0000b1a0: 2020 506f 7274 2075 7365 6420 6f6e 2074 Port used on t │ │ │ │ │ +0000b1b0: 6865 2072 656d 6f74 6520 686f 7374 0a0a he remote host.. │ │ │ │ │ +0000b1c0: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n │ │ │ │ │ +0000b1d0: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por │ │ │ │ │ +0000b1e0: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,. │ │ │ │ │ +0000b1f0: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P │ │ │ │ │ +0000b200: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi │ │ │ │ │ +0000b210: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: │ │ │ │ │ +0000b220: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info, │ │ │ │ │ +0000b230: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock │ │ │ │ │ +0000b240: 5f41 6464 7220 2866 756e 6374 696f 6e29 _Addr (function) │ │ │ │ │ +0000b250: 2c20 204e 6578 743a 2047 6574 5f53 6f63 , Next: Get_Soc │ │ │ │ │ +0000b260: 6b5f 506f 7274 2028 6675 6e63 7469 6f6e k_Port (function │ │ │ │ │ +0000b270: 292c 2020 5072 6576 3a20 4765 745f 5065 ), Prev: Get_Pe │ │ │ │ │ +0000b280: 6572 5f50 6f72 7420 2866 756e 6374 696f er_Port (functio │ │ │ │ │ +0000b290: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address │ │ │ │ │ +0000b2a0: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function).. │ │ │ │ │ +0000b2b0: 4765 745f 536f 636b 5f41 6464 7220 2866 Get_Sock_Addr (f │ │ │ │ │ +0000b2c0: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).------- │ │ │ │ │ +0000b2d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000b2e0: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. │ │ │ │ │ +0000b2f0: 5265 7472 6965 7665 2049 5020 6164 6472 Retrieve IP addr │ │ │ │ │ +0000b300: 6573 7320 6f66 206c 6f63 616c 2068 6f73 ess of local hos │ │ │ │ │ +0000b310: 740a 5052 4f54 4f54 5950 450a 2020 2020 t.PROTOTYPE. │ │ │ │ │ +0000b320: 2020 2d2d 2053 6f63 6b65 7473 2e4e 616d -- Sockets.Nam │ │ │ │ │ +0000b330: 696e 672e 4765 745f 536f 636b 5f41 6464 ing.Get_Sock_Add │ │ │ │ │ +0000b340: 723a 2066 756e 6374 696f 6e20 4765 745f r: function Get_ │ │ │ │ │ +0000b350: 536f 636b 5f41 6464 720a 2020 2020 2020 Sock_Addr. │ │ │ │ │ +0000b360: 2020 2020 2020 2020 2028 534f 434b 4554 (SOCKET │ │ │ │ │ +0000b370: 203a 2053 6f63 6b65 745f 4644 290a 2020 : Socket_FD). │ │ │ │ │ +0000b380: 2020 2020 2020 2020 2020 2020 2072 6574 ret │ │ │ │ │ +0000b390: 7572 6e20 4164 6472 6573 733b 0a0a 5041 urn Address;..PA │ │ │ │ │ +0000b3a0: 5241 4d45 5445 5253 0a20 2020 2020 534f RAMETERS. SO │ │ │ │ │ +0000b3b0: 434b 4554 2020 2020 2069 6e20 2020 2020 CKET in │ │ │ │ │ +0000b3c0: 2020 2020 436f 6e6e 6563 7465 6420 736f Connected so │ │ │ │ │ +0000b3d0: 636b 6574 206f 626a 6563 740a 0a52 4554 cket object..RET │ │ │ │ │ +0000b3e0: 5552 4e20 5641 4c55 450a 2020 2020 2041 URN VALUE. A │ │ │ │ │ +0000b3f0: 6464 7265 7373 206f 6620 6c6f 6361 6c20 ddress of local │ │ │ │ │ +0000b400: 696e 7465 7266 6163 6520 7573 6564 0a0a interface used.. │ │ │ │ │ +0000b410: 5345 4520 414c 534f 0a20 2020 2020 2a6e SEE ALSO. *n │ │ │ │ │ +0000b420: 6f74 6520 4765 745f 536f 636b 5f50 6f72 ote Get_Sock_Por │ │ │ │ │ +0000b430: 7420 2866 756e 6374 696f 6e29 3a3a 2c0a t (function)::,. │ │ │ │ │ +0000b440: 2020 2020 202a 6e6f 7465 2047 6574 5f50 *note Get_P │ │ │ │ │ +0000b450: 6565 725f 4164 6472 2028 6675 6e63 7469 eer_Addr (functi │ │ │ │ │ +0000b460: 6f6e 293a 3a2e 0a0a 1f0a 4669 6c65 3a20 on)::.....File: │ │ │ │ │ +0000b470: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info, │ │ │ │ │ +0000b480: 2020 4e6f 6465 3a20 4765 745f 536f 636b Node: Get_Sock │ │ │ │ │ +0000b490: 5f50 6f72 7420 2866 756e 6374 696f 6e29 _Port (function) │ │ │ │ │ +0000b4a0: 2c20 204e 6578 743a 2048 6f73 745f 4e61 , Next: Host_Na │ │ │ │ │ +0000b4b0: 6d65 2028 6675 6e63 7469 6f6e 292c 2020 me (function), │ │ │ │ │ +0000b4c0: 5072 6576 3a20 4765 745f 536f 636b 5f41 Prev: Get_Sock_A │ │ │ │ │ +0000b4d0: 6464 7220 2866 756e 6374 696f 6e29 2c20 ddr (function), │ │ │ │ │ +0000b4e0: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of │ │ │ │ │ +0000b4f0: 2866 756e 6374 696f 6e29 0a0a 4765 745f (function)..Get_ │ │ │ │ │ +0000b500: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct │ │ │ │ │ +0000b510: 696f 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ion).----------- │ │ │ │ │ +0000b520: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 -------------..P │ │ │ │ │ +0000b530: 5552 504f 5345 0a20 2020 2020 5265 7472 URPOSE. Retr │ │ │ │ │ +0000b540: 6965 7665 2070 6f72 7420 7573 6564 2062 ieve port used b │ │ │ │ │ +0000b550: 7920 6c6f 6361 6c20 686f 7374 0a50 524f y local host.PRO │ │ │ │ │ +0000b560: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- │ │ │ │ │ +0000b570: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G │ │ │ │ │ +0000b580: 6574 5f53 6f63 6b5f 506f 7274 3a20 6675 et_Sock_Port: fu │ │ │ │ │ +0000b590: 6e63 7469 6f6e 2047 6574 5f53 6f63 6b5f nction Get_Sock_ │ │ │ │ │ +0000b5a0: 506f 7274 0a20 2020 2020 2020 2020 2020 Port. │ │ │ │ │ +0000b5b0: 2020 2020 2853 4f43 4b45 5420 3a20 536f (SOCKET : So │ │ │ │ │ +0000b5c0: 636b 6574 5f46 4429 0a20 2020 2020 2020 cket_FD). │ │ │ │ │ +0000b5d0: 2020 2020 2020 2020 7265 7475 726e 2050 return P │ │ │ │ │ +0000b5e0: 6f73 6974 6976 653b 0a0a 5041 5241 4d45 ositive;..PARAME │ │ │ │ │ +0000b5f0: 5445 5253 0a20 2020 2020 534f 434b 4554 TERS. SOCKET │ │ │ │ │ +0000b600: 2020 2020 2069 6e20 2020 2020 2020 2020 in │ │ │ │ │ +0000b610: 436f 6e6e 6563 7465 6420 736f 636b 6574 Connected socket │ │ │ │ │ +0000b620: 206f 626a 6563 740a 0a52 4554 5552 4e20 object..RETURN │ │ │ │ │ +0000b630: 5641 4c55 450a 2020 2020 2050 6f72 7420 VALUE. Port │ │ │ │ │ +0000b640: 7573 6564 206f 6e20 7468 6520 6c6f 6361 used on the loca │ │ │ │ │ +0000b650: 6c20 686f 7374 0a0a 5345 4520 414c 534f l host..SEE ALSO │ │ │ │ │ +0000b660: 0a20 2020 2020 2a6e 6f74 6520 4765 745f . *note Get_ │ │ │ │ │ +0000b670: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct │ │ │ │ │ +0000b680: 696f 6e29 3a3a 2c0a 2020 2020 202a 6e6f ion)::,. *no │ │ │ │ │ +0000b690: 7465 2047 6574 5f53 6f63 6b5f 4164 6472 te Get_Sock_Addr │ │ │ │ │ +0000b6a0: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::... │ │ │ │ │ +0000b6b0: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke │ │ │ │ │ +0000b6c0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: │ │ │ │ │ +0000b6d0: 486f 7374 5f4e 616d 6520 2866 756e 6374 Host_Name (funct │ │ │ │ │ +0000b6e0: 696f 6e29 2c20 204e 6578 743a 2049 6d61 ion), Next: Ima │ │ │ │ │ +0000b6f0: 6765 2028 6675 6e63 7469 6f6e 292c 2020 ge (function), │ │ │ │ │ +0000b700: 5072 6576 3a20 4765 745f 536f 636b 5f50 Prev: Get_Sock_P │ │ │ │ │ +0000b710: 6f72 7420 2866 756e 6374 696f 6e29 2c20 ort (function), │ │ │ │ │ +0000b720: 2055 703a 2041 6464 7265 7373 5f4f 6620 Up: Address_Of │ │ │ │ │ +0000b730: 2866 756e 6374 696f 6e29 0a0a 486f 7374 (function)..Host │ │ │ │ │ +0000b740: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function) │ │ │ │ │ +0000b750: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +0000b760: 2d2d 2d2d 2d0a 0a50 5552 504f 5345 0a20 -----..PURPOSE. │ │ │ │ │ +0000b770: 2020 2020 4765 7420 7468 6520 6e61 6d65 Get the name │ │ │ │ │ +0000b780: 206f 6620 7468 6520 6375 7272 656e 7420 of the current │ │ │ │ │ +0000b790: 686f 7374 0a50 524f 544f 5459 5045 0a20 host.PROTOTYPE. │ │ │ │ │ +0000b7a0: 2020 2020 202d 2d20 536f 636b 6574 732e -- Sockets. │ │ │ │ │ +0000b7b0: 4e61 6d69 6e67 2e48 6f73 745f 4e61 6d65 Naming.Host_Name │ │ │ │ │ +0000b7c0: 3a20 6675 6e63 7469 6f6e 2048 6f73 745f : function Host_ │ │ │ │ │ +0000b7d0: 4e61 6d65 0a0a 5245 5455 524e 2056 414c Name..RETURN VAL │ │ │ │ │ +0000b7e0: 5545 0a20 2020 2020 4e61 6d65 206f 6620 UE. Name of │ │ │ │ │ +0000b7f0: 7468 6520 6375 7272 656e 7420 686f 7374 the current host │ │ │ │ │ +0000b800: 0a0a 4445 5343 5249 5054 494f 4e0a 2020 ..DESCRIPTION. │ │ │ │ │ +0000b810: 2020 2054 6869 7320 6675 6e63 7469 6f6e This function │ │ │ │ │ +0000b820: 2072 6574 7572 6e73 2074 6865 206e 616d returns the nam │ │ │ │ │ +0000b830: 6520 6f66 2074 6865 2063 7572 7265 6e74 e of the current │ │ │ │ │ +0000b840: 2068 6f73 742e 2020 4465 7065 6e64 696e host. Dependin │ │ │ │ │ +0000b850: 6720 6f6e 0a20 2020 2020 7468 6520 6c6f g on. the lo │ │ │ │ │ +0000b860: 6361 6c20 636f 6e66 6967 7572 6174 696f cal configuratio │ │ │ │ │ +0000b870: 6e2c 2069 7420 6d61 7920 6f72 206d 6179 n, it may or may │ │ │ │ │ +0000b880: 206e 6f74 2062 6520 6120 6675 6c6c 7920 not be a fully │ │ │ │ │ +0000b890: 7175 616c 6966 6965 640a 2020 2020 2064 qualified. d │ │ │ │ │ +0000b8a0: 6f6d 6169 6e20 6e61 6d65 2028 4651 444e omain name (FQDN │ │ │ │ │ +0000b8b0: 292e 0a0a 1f0a 4669 6c65 3a20 6164 6173 ).....File: adas │ │ │ │ │ +0000b8c0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No │ │ │ │ │ +0000b8d0: 6465 3a20 496d 6167 6520 2866 756e 6374 de: Image (funct │ │ │ │ │ +0000b8e0: 696f 6e29 2c20 204e 6578 743a 2049 6e66 ion), Next: Inf │ │ │ │ │ +0000b8f0: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 5020 o_Of_Name_Or_IP │ │ │ │ │ +0000b900: 2866 756e 6374 696f 6e29 2c20 2050 7265 (function), Pre │ │ │ │ │ +0000b910: 763a 2048 6f73 745f 4e61 6d65 2028 6675 v: Host_Name (fu │ │ │ │ │ +0000b920: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad │ │ │ │ │ +0000b930: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi │ │ │ │ │ +0000b940: 6f6e 290a 0a49 6d61 6765 2028 6675 6e63 on)..Image (func │ │ │ │ │ +0000b950: 7469 6f6e 290a 2d2d 2d2d 2d2d 2d2d 2d2d tion).---------- │ │ │ │ │ +0000b960: 2d2d 2d2d 2d2d 0a0a 5055 5250 4f53 450a ------..PURPOSE. │ │ │ │ │ +0000b970: 2020 2020 204d 616b 6520 6120 7374 7269 Make a stri │ │ │ │ │ +0000b980: 6e67 2066 726f 6d20 616e 2061 6464 7265 ng from an addre │ │ │ │ │ +0000b990: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. │ │ │ │ │ +0000b9a0: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na │ │ │ │ │ +0000b9b0: 6d69 6e67 2e49 6d61 6765 3a20 6675 6e63 ming.Image: func │ │ │ │ │ +0000b9c0: 7469 6f6e 2049 6d61 6765 2028 4144 4420 tion Image (ADD │ │ │ │ │ +0000b9d0: 3a20 4164 6472 6573 7329 0a20 2020 2020 : Address). │ │ │ │ │ +0000b9e0: 2020 2020 2020 2020 2020 7265 7475 726e return │ │ │ │ │ +0000b9f0: 2053 7472 696e 673b 0a0a 5041 5241 4d45 String;..PARAME │ │ │ │ │ +0000ba00: 5445 5253 0a20 2020 2020 4144 4420 2020 TERS. ADD │ │ │ │ │ +0000ba10: 2020 2020 2069 6e20 2020 2020 2020 2020 in │ │ │ │ │ +0000ba20: 4950 2061 6464 7265 7373 0a0a 5245 5455 IP address..RETU │ │ │ │ │ +0000ba30: 524e 2056 414c 5545 0a20 2020 2020 5374 RN VALUE. St │ │ │ │ │ +0000ba40: 7269 6e67 2072 6570 7265 7365 6e74 6174 ring representat │ │ │ │ │ +0000ba50: 696f 6e20 6f66 2074 6865 2049 5020 6164 ion of the IP ad │ │ │ │ │ +0000ba60: 6472 6573 730a 0a53 4545 2041 4c53 4f0a dress..SEE ALSO. │ │ │ │ │ +0000ba70: 2020 2020 202a 6e6f 7465 2056 616c 7565 *note Value │ │ │ │ │ +0000ba80: 2028 6675 6e63 7469 6f6e 293a 3a2e 0a0a (function)::... │ │ │ │ │ +0000ba90: 1f0a 4669 6c65 3a20 6164 6173 6f63 6b65 ..File: adasocke │ │ │ │ │ +0000baa0: 7473 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ts.info, Node: │ │ │ │ │ +0000bab0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_ │ │ │ │ │ +0000bac0: 4950 2028 6675 6e63 7469 6f6e 292c 2020 IP (function), │ │ │ │ │ +0000bad0: 4e65 7874 3a20 4973 5f49 505f 4164 6472 Next: Is_IP_Addr │ │ │ │ │ +0000bae0: 6573 7320 2866 756e 6374 696f 6e29 2c20 ess (function), │ │ │ │ │ +0000baf0: 2050 7265 763a 2049 6d61 6765 2028 6675 Prev: Image (fu │ │ │ │ │ +0000bb00: 6e63 7469 6f6e 292c 2020 5570 3a20 4164 nction), Up: Ad │ │ │ │ │ +0000bb10: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi │ │ │ │ │ +0000bb20: 6f6e 290a 0a49 6e66 6f5f 4f66 5f4e 616d on)..Info_Of_Nam │ │ │ │ │ +0000bb30: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio │ │ │ │ │ +0000bb40: 6e29 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n).------------- │ │ │ │ │ +0000bb50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000bb60: 0a0a 5055 5250 4f53 450a 2020 2020 2047 ..PURPOSE. G │ │ │ │ │ +0000bb70: 6574 2061 6464 7265 7373 6573 2061 6e64 et addresses and │ │ │ │ │ +0000bb80: 206e 616d 6573 206f 6620 6120 686f 7374 names of a host │ │ │ │ │ +0000bb90: 0a50 524f 544f 5459 5045 0a20 2020 2020 .PROTOTYPE. │ │ │ │ │ +0000bba0: 202d 2d20 536f 636b 6574 732e 4e61 6d69 -- Sockets.Nami │ │ │ │ │ +0000bbb0: 6e67 2e49 6e66 6f5f 4f66 5f4e 616d 655f ng.Info_Of_Name_ │ │ │ │ │ +0000bbc0: 4f72 5f49 503a 2066 756e 6374 696f 6e20 Or_IP: function │ │ │ │ │ +0000bbd0: 496e 666f 5f4f 665f 4e61 6d65 5f4f 725f Info_Of_Name_Or_ │ │ │ │ │ +0000bbe0: 4950 0a20 2020 2020 2020 2020 2020 2020 IP. │ │ │ │ │ +0000bbf0: 2020 2853 4f4d 4554 4849 4e47 203a 2053 (SOMETHING : S │ │ │ │ │ +0000bc00: 7472 696e 6729 0a20 2020 2020 2020 2020 tring). │ │ │ │ │ +0000bc10: 2020 2020 2020 7265 7475 726e 2048 6f73 return Hos │ │ │ │ │ +0000bc20: 745f 456e 7472 793b 0a0a 5041 5241 4d45 t_Entry;..PARAME │ │ │ │ │ +0000bc30: 5445 5253 0a20 2020 2020 534f 4d45 5448 TERS. SOMETH │ │ │ │ │ +0000bc40: 494e 4720 2069 6e20 2020 2020 2020 2020 ING in │ │ │ │ │ +0000bc50: 486f 7374 206e 616d 6520 6f72 2049 5020 Host name or IP │ │ │ │ │ +0000bc60: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN │ │ │ │ │ +0000bc70: 5641 4c55 450a 2020 2020 2043 6f72 7265 VALUE. Corre │ │ │ │ │ +0000bc80: 7370 6f6e 6469 6e67 2068 6f73 7420 656e sponding host en │ │ │ │ │ +0000bc90: 7472 790a 0a44 4553 4352 4950 5449 4f4e try..DESCRIPTION │ │ │ │ │ +0000bca0: 0a20 2020 2020 5468 6973 2066 756e 6374 . This funct │ │ │ │ │ +0000bcb0: 696f 6e20 6578 7472 6163 7473 2061 6c6c ion extracts all │ │ │ │ │ +0000bcc0: 2074 6865 206e 616d 6573 2061 6e64 2061 the names and a │ │ │ │ │ +0000bcd0: 6464 7265 7373 6573 2066 726f 6d20 7468 ddresses from th │ │ │ │ │ +0000bce0: 6520 6e61 6d69 6e67 0a20 2020 2020 7365 e naming. se │ │ │ │ │ +0000bcf0: 7276 6963 652e 0a0a 4558 4345 5054 494f rvice...EXCEPTIO │ │ │ │ │ +0000bd00: 4e53 0a20 2020 2020 e280 984e 616d 696e NS. ...Namin │ │ │ │ │ +0000bd10: 675f 4572 726f 72e2 8099 2020 2020 204e g_Error... N │ │ │ │ │ +0000bd20: 6f20 696e 666f 726d 6174 696f 6e20 6176 o information av │ │ │ │ │ +0000bd30: 6169 6c61 626c 6520 666f 7220 7468 6973 ailable for this │ │ │ │ │ +0000bd40: 206e 616d 6520 6f72 0a20 2020 2020 2020 name or. │ │ │ │ │ +0000bd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000bd60: 2061 6464 7265 7373 0a0a 1f0a 4669 6c65 address....File │ │ │ │ │ +0000bd70: 3a20 6164 6173 6f63 6b65 7473 2e69 6e66 : adasockets.inf │ │ │ │ │ +0000bd80: 6f2c 2020 4e6f 6465 3a20 4973 5f49 505f o, Node: Is_IP_ │ │ │ │ │ +0000bd90: 4164 6472 6573 7320 2866 756e 6374 696f Address (functio │ │ │ │ │ +0000bda0: 6e29 2c20 204e 6578 743a 204e 616d 655f n), Next: Name_ │ │ │ │ │ +0000bdb0: 4f66 2028 6675 6e63 7469 6f6e 292c 2020 Of (function), │ │ │ │ │ +0000bdc0: 5072 6576 3a20 496e 666f 5f4f 665f 4e61 Prev: Info_Of_Na │ │ │ │ │ +0000bdd0: 6d65 5f4f 725f 4950 2028 6675 6e63 7469 me_Or_IP (functi │ │ │ │ │ +0000bde0: 6f6e 292c 2020 5570 3a20 4164 6472 6573 on), Up: Addres │ │ │ │ │ +0000bdf0: 735f 4f66 2028 6675 6e63 7469 6f6e 290a s_Of (function). │ │ │ │ │ +0000be00: 0a49 735f 4950 5f41 6464 7265 7373 2028 .Is_IP_Address ( │ │ │ │ │ +0000be10: 6675 6e63 7469 6f6e 290a 2d2d 2d2d 2d2d function).------ │ │ │ │ │ +0000be20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ---------------- │ │ │ │ │ +0000be30: 2d2d 0a0a 5055 5250 4f53 450a 2020 2020 --..PURPOSE. │ │ │ │ │ +0000be40: 2043 6865 636b 2069 6620 6769 7665 6e20 Check if given │ │ │ │ │ +0000be50: 7374 7269 6e67 2069 7320 6120 7661 6c69 string is a vali │ │ │ │ │ +0000be60: 6420 4950 2061 6464 7265 7373 0a50 524f d IP address.PRO │ │ │ │ │ +0000be70: 544f 5459 5045 0a20 2020 2020 202d 2d20 TOTYPE. -- │ │ │ │ │ +0000be80: 536f 636b 6574 732e 4e61 6d69 6e67 2e49 Sockets.Naming.I │ │ │ │ │ +0000be90: 735f 4950 5f41 6464 7265 7373 3a20 6675 s_IP_Address: fu │ │ │ │ │ +0000bea0: 6e63 7469 6f6e 2049 735f 4950 5f41 6464 nction Is_IP_Add │ │ │ │ │ +0000beb0: 7265 7373 0a20 2020 2020 2020 2020 2020 ress. │ │ │ │ │ +0000bec0: 2020 2020 2853 4f4d 4554 4849 4e47 203a (SOMETHING : │ │ │ │ │ +0000bed0: 2053 7472 696e 6729 0a20 2020 2020 2020 String). │ │ │ │ │ +0000bee0: 2020 2020 2020 2020 7265 7475 726e 2042 return B │ │ │ │ │ +0000bef0: 6f6f 6c65 616e 3b0a 0a50 4152 414d 4554 oolean;..PARAMET │ │ │ │ │ +0000bf00: 4552 530a 2020 2020 2053 4f4d 4554 4849 ERS. SOMETHI │ │ │ │ │ +0000bf10: 4e47 2020 696e 2020 2020 2020 2020 2053 NG in S │ │ │ │ │ +0000bf20: 7472 696e 6720 746f 2063 6865 636b 0a0a tring to check.. │ │ │ │ │ +0000bf30: 5245 5455 524e 2056 414c 5545 0a20 2020 RETURN VALUE. │ │ │ │ │ +0000bf40: 2020 e280 9854 7275 65e2 8099 2069 6620 ...True... if │ │ │ │ │ +0000bf50: 534f 4d45 5448 494e 4720 6973 2061 6e20 SOMETHING is an │ │ │ │ │ +0000bf60: 4950 2061 6464 7265 7373 0a0a 1f0a 4669 IP address....Fi │ │ │ │ │ +0000bf70: 6c65 3a20 6164 6173 6f63 6b65 7473 2e69 le: adasockets.i │ │ │ │ │ +0000bf80: 6e66 6f2c 2020 4e6f 6465 3a20 4e61 6d65 nfo, Node: Name │ │ │ │ │ +0000bf90: 5f4f 6620 2866 756e 6374 696f 6e29 2c20 _Of (function), │ │ │ │ │ +0000bfa0: 204e 6578 743a 2056 616c 7565 2028 6675 Next: Value (fu │ │ │ │ │ +0000bfb0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: │ │ │ │ │ +0000bfc0: 4973 5f49 505f 4164 6472 6573 7320 2866 Is_IP_Address (f │ │ │ │ │ +0000bfd0: 756e 6374 696f 6e29 2c20 2055 703a 2041 unction), Up: A │ │ │ │ │ +0000bfe0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct │ │ │ │ │ +0000bff0: 696f 6e29 0a0a 4e61 6d65 5f4f 6620 2866 ion)..Name_Of (f │ │ │ │ │ +0000c000: 756e 6374 696f 6e29 0a2d 2d2d 2d2d 2d2d unction).------- │ │ │ │ │ +0000c010: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a50 5552 -----------..PUR │ │ │ │ │ +0000c020: 504f 5345 0a20 2020 2020 4f66 6669 6369 POSE. Offici │ │ │ │ │ +0000c030: 616c 206e 616d 6520 6f66 2074 6865 2068 al name of the h │ │ │ │ │ +0000c040: 6f73 740a 5052 4f54 4f54 5950 450a 2020 ost.PROTOTYPE. │ │ │ │ │ +0000c050: 2020 2020 2d2d 2053 6f63 6b65 7473 2e4e -- Sockets.N │ │ │ │ │ +0000c060: 616d 696e 672e 4e61 6d65 5f4f 663a 2066 aming.Name_Of: f │ │ │ │ │ +0000c070: 756e 6374 696f 6e20 4e61 6d65 5f4f 6620 unction Name_Of │ │ │ │ │ +0000c080: 2853 4f4d 4554 4849 4e47 203a 2053 7472 (SOMETHING : Str │ │ │ │ │ +0000c090: 696e 6729 0a20 2020 2020 2020 2020 2020 ing). │ │ │ │ │ +0000c0a0: 2020 2020 7265 7475 726e 2053 7472 696e return Strin │ │ │ │ │ +0000c0b0: 673b 0a0a 5041 5241 4d45 5445 5253 0a20 g;..PARAMETERS. │ │ │ │ │ +0000c0c0: 2020 2020 534f 4d45 5448 494e 4720 2069 SOMETHING i │ │ │ │ │ +0000c0d0: 6e20 2020 2020 2020 2020 486f 7374 206e n Host n │ │ │ │ │ +0000c0e0: 616d 6520 6f72 2049 5020 6164 6472 6573 ame or IP addres │ │ │ │ │ +0000c0f0: 730a 0a52 4554 5552 4e20 5641 4c55 450a s..RETURN VALUE. │ │ │ │ │ +0000c100: 2020 2020 204e 616d 6520 6f66 2074 6865 Name of the │ │ │ │ │ +0000c110: 2068 6f73 740a 0a45 5843 4550 5449 4f4e host..EXCEPTION │ │ │ │ │ +0000c120: 530a 2020 2020 20e2 8098 4e61 6d69 6e67 S. ...Naming │ │ │ │ │ +0000c130: 5f45 7272 6f72 e280 9920 2020 2020 4e6f _Error... No │ │ │ │ │ +0000c140: 2069 6e66 6f72 6d61 7469 6f6e 2061 7661 information ava │ │ │ │ │ +0000c150: 696c 6162 6c65 2066 6f72 2074 6869 7320 ilable for this │ │ │ │ │ +0000c160: 6e61 6d65 206f 720a 2020 2020 2020 2020 name or. │ │ │ │ │ +0000c170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000c180: 6164 6472 6573 730a 0a53 4545 2041 4c53 address..SEE ALS │ │ │ │ │ +0000c190: 4f0a 2020 2020 202a 6e6f 7465 2041 6464 O. *note Add │ │ │ │ │ +0000c1a0: 7265 7373 5f4f 6620 2866 756e 6374 696f ress_Of (functio │ │ │ │ │ +0000c1b0: 6e29 3a3a 2e0a 0a1f 0a46 696c 653a 2061 n)::.....File: a │ │ │ │ │ +0000c1c0: 6461 736f 636b 6574 732e 696e 666f 2c20 dasockets.info, │ │ │ │ │ +0000c1d0: 204e 6f64 653a 2056 616c 7565 2028 6675 Node: Value (fu │ │ │ │ │ +0000c1e0: 6e63 7469 6f6e 292c 2020 5072 6576 3a20 nction), Prev: │ │ │ │ │ +0000c1f0: 4e61 6d65 5f4f 6620 2866 756e 6374 696f Name_Of (functio │ │ │ │ │ +0000c200: 6e29 2c20 2055 703a 2041 6464 7265 7373 n), Up: Address │ │ │ │ │ +0000c210: 5f4f 6620 2866 756e 6374 696f 6e29 0a0a _Of (function).. │ │ │ │ │ +0000c220: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function) │ │ │ │ │ +0000c230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .--------------- │ │ │ │ │ +0000c240: 2d0a 0a50 5552 504f 5345 0a20 2020 2020 -..PURPOSE. │ │ │ │ │ +0000c250: 5472 616e 7366 6f72 6d20 6120 7374 7269 Transform a stri │ │ │ │ │ +0000c260: 6e67 2069 6e74 6f20 616e 2061 6464 7265 ng into an addre │ │ │ │ │ +0000c270: 7373 0a50 524f 544f 5459 5045 0a20 2020 ss.PROTOTYPE. │ │ │ │ │ +0000c280: 2020 202d 2d20 536f 636b 6574 732e 4e61 -- Sockets.Na │ │ │ │ │ +0000c290: 6d69 6e67 2e56 616c 7565 3a20 6675 6e63 ming.Value: func │ │ │ │ │ +0000c2a0: 7469 6f6e 2056 616c 7565 2028 4144 4420 tion Value (ADD │ │ │ │ │ +0000c2b0: 3a20 5374 7269 6e67 290a 2020 2020 2020 : String). │ │ │ │ │ +0000c2c0: 2020 2020 2020 2020 2072 6574 7572 6e20 return │ │ │ │ │ +0000c2d0: 4164 6472 6573 733b 0a0a 5041 5241 4d45 Address;..PARAME │ │ │ │ │ +0000c2e0: 5445 5253 0a20 2020 2020 4144 4420 2020 TERS. ADD │ │ │ │ │ +0000c2f0: 2020 2020 2069 6e20 2020 2020 2020 2020 in │ │ │ │ │ +0000c300: 5465 7874 7561 6c20 7265 7072 6573 656e Textual represen │ │ │ │ │ +0000c310: 7461 7469 6f6e 206f 6620 616e 2049 5020 tation of an IP │ │ │ │ │ +0000c320: 6164 6472 6573 730a 0a52 4554 5552 4e20 address..RETURN │ │ │ │ │ +0000c330: 5641 4c55 450a 2020 2020 2043 6f72 7265 VALUE. Corre │ │ │ │ │ +0000c340: 7370 6f6e 6469 6e67 2041 6464 7265 7373 sponding Address │ │ │ │ │ +0000c350: 0a0a 5345 4520 414c 534f 0a20 2020 2020 ..SEE ALSO. │ │ │ │ │ +0000c360: 2a6e 6f74 6520 496d 6167 6520 2866 756e *note Image (fun │ │ │ │ │ +0000c370: 6374 696f 6e29 3a3a 2e0a 0a1f 0a46 696c ction)::.....Fil │ │ │ │ │ +0000c380: 653a 2061 6461 736f 636b 6574 732e 696e e: adasockets.in │ │ │ │ │ +0000c390: 666f 2c20 204e 6f64 653a 2043 6f6e 7472 fo, Node: Contr │ │ │ │ │ +0000c3a0: 6962 7574 6f72 732c 2020 4e65 7874 3a20 ibutors, Next: │ │ │ │ │ +0000c3b0: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the │ │ │ │ │ +0000c3c0: 2049 6e74 6572 6e65 742c 2020 5072 6576 Internet, Prev │ │ │ │ │ +0000c3d0: 3a20 536f 636b 6574 732e 4e61 6d69 6e67 : Sockets.Naming │ │ │ │ │ +0000c3e0: 2070 6163 6b61 6765 2c20 2055 703a 2054 package, Up: T │ │ │ │ │ +0000c3f0: 6f70 0a0a 4170 7065 6e64 6978 2041 2043 op..Appendix A C │ │ │ │ │ +0000c400: 6f6e 7472 6962 7574 6f72 730a 2a2a 2a2a ontributors.**** │ │ │ │ │ +0000c410: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ +0000c420: 2a2a 2a0a 0a41 6461 536f 636b 6574 7320 ***..AdaSockets │ │ │ │ │ +0000c430: 6861 7320 6265 656e 206f 7269 6769 6e61 has been origina │ │ │ │ │ +0000c440: 6c6c 7920 6465 7665 6c6f 7070 6564 2062 lly developped b │ │ │ │ │ +0000c450: 7920 5361 6d75 656c 2054 6172 6469 6575 y Samuel Tardieu │ │ │ │ │ +0000c460: 2077 686f 2073 7469 6c6c 0a6d 6169 6e74 who still.maint │ │ │ │ │ +0000c470: 6169 6e73 2069 742e 2020 486f 7765 7665 ains it. Howeve │ │ │ │ │ +0000c480: 722c 2074 6865 2066 6f6c 6c6f 7769 6e67 r, the following │ │ │ │ │ +0000c490: 2070 656f 706c 6520 6861 7665 206d 6164 people have mad │ │ │ │ │ +0000c4a0: 6520 6372 7563 6961 6c0a 636f 6e74 7269 e crucial.contri │ │ │ │ │ +0000c4b0: 6275 7469 6f6e 7320 746f 2041 6461 536f butions to AdaSo │ │ │ │ │ +0000c4c0: 636b 6574 732c 2062 6520 7468 6579 206e ckets, be they n │ │ │ │ │ +0000c4d0: 6577 2063 6f64 652c 2062 7567 2066 6978 ew code, bug fix │ │ │ │ │ +0000c4e0: 6573 206f 7220 706f 7274 696e 6720 746f es or porting to │ │ │ │ │ +0000c4f0: 0a6e 6577 206f 7065 7261 7469 6e67 2073 .new operating s │ │ │ │ │ +0000c500: 7973 7465 6d73 3a0a 0a20 2020 e280 a220 ystems:.. ... │ │ │ │ │ +0000c510: 446d 6974 7269 7920 416e 6973 696d 6b6f Dmitriy Anisimko │ │ │ │ │ +0000c520: 7620 283c 616e 6973 696d 6b6f 7640 7961 v (). ... │ │ │ │ │ +0000c540: 2041 6c61 6e20 4261 726e 6573 2028 3c62 Alan Barnes (). ... Juan │ │ │ │ │ +0000c570: 6d61 2042 6172 7261 6e71 7565 726f 2028 ma Barranquero ( │ │ │ │ │ +0000c580: 3c6c 656b 7475 4074 6572 7261 2e65 733e │ │ │ │ │ +0000c590: 290a 2020 20e2 80a2 2042 6f62 6279 2044 ). ... Bobby D │ │ │ │ │ +0000c5a0: 2e20 4272 7961 6e74 2028 3c62 6462 7279 . Bryant (). ... San │ │ │ │ │ +0000c5d0: 6465 7220 436f 7820 283c 7361 6e64 6572 der Cox (). ... Sune F │ │ │ │ │ +0000c600: 616c 6b20 283c 7375 6e65 2e66 616c 636b alk (). │ │ │ │ │ +0000c620: e280 a220 4775 696c 6c61 756d 6520 466f ... Guillaume Fo │ │ │ │ │ +0000c630: 6c69 6172 6420 283c 6775 6966 6f40 7761 liard (). .. │ │ │ │ │ +0000c650: a220 4c61 7572 656e 7420 4775 6572 6279 . Laurent Guerby │ │ │ │ │ +0000c660: 2028 3c67 7565 7262 7940 636c 7562 2d69 (). │ │ │ │ │ +0000c680: e280 a220 4461 7669 6420 4a2e 204b 7269 ... David J. Kri │ │ │ │ │ +0000c690: 7374 6f6c 6120 283c 4461 7669 6439 3530 stola (). │ │ │ │ │ +0000c6b0: e280 a220 446f 6d69 6e69 6b20 4d61 646f ... Dominik Mado │ │ │ │ │ +0000c6c0: 6e20 283c 646f 6d69 6e69 6b40 6163 6d2e n (). ... Pas │ │ │ │ │ +0000c6e0: 6361 6c20 4f62 7279 2028 3c70 2e6f 6272 cal Obry (). │ │ │ │ │ +0000c700: 2020 e280 a220 4e69 636f 6c61 7320 4f6c ... Nicolas Ol │ │ │ │ │ +0000c710: 6c69 6e67 6572 2028 3c4e 6963 6f6c 6173 linger (). ... S │ │ │ │ │ +0000c740: 7470 6861 6e65 2050 6174 7572 6561 7520 tphane Patureau │ │ │ │ │ +0000c750: 283c 7370 6174 7572 6561 406d 656c 6574 (). ... │ │ │ │ │ +0000c780: 5468 6f6d 6173 2051 7569 6e6f 7420 283c Thomas Quinot (< │ │ │ │ │ +0000c790: 7468 6f6d 6173 4063 7569 7672 652e 6672 thomas@cuivre.fr │ │ │ │ │ +0000c7a0: 2e65 752e 6f72 673e 290a 2020 20e2 80a2 .eu.org>). ... │ │ │ │ │ +0000c7b0: 2050 7265 6265 6e20 5261 6e64 686f 6c20 Preben Randhol │ │ │ │ │ +0000c7c0: 283c 7261 6e64 686f 6c40 7076 762e 6f72 (). ... Maxim │ │ │ │ │ +0000c7e0: 2052 657a 6e69 6b20 283c 6d61 7831 406d Reznik (). │ │ │ │ │ +0000c800: 20e2 80a2 204a 6f65 6c20 5368 6572 7269 ... Joel Sherri │ │ │ │ │ +0000c810: 6c6c 2028 3c6a 6f65 6c2e 7368 6572 7269 ll () │ │ │ │ │ +0000c830: 0a20 2020 e280 a220 5361 6d75 656c 2054 . ... Samuel T │ │ │ │ │ +0000c840: 6172 6469 6575 2028 3c73 616d 4072 6663 ardieu ().. I │ │ │ │ │ +0000c860: 6620 796f 7520 6665 656c 2074 6861 7420 f you feel that │ │ │ │ │ +0000c870: 796f 7520 6861 7665 2062 6565 6e20 666f you have been fo │ │ │ │ │ +0000c880: 7267 6f74 7465 6e2c 2070 6c65 6173 6520 rgotten, please │ │ │ │ │ +0000c890: 7365 6e64 206d 6520 6120 6d61 696c 2073 send me a mail s │ │ │ │ │ +0000c8a0: 6f0a 7468 6174 2049 2063 616e 2066 6978 o.that I can fix │ │ │ │ │ +0000c8b0: 2069 7420 696e 2074 6865 206e 6578 7420 it in the next │ │ │ │ │ +0000c8c0: 7665 7273 696f 6e2e 0a0a 2020 202a 4e6f version... *No │ │ │ │ │ +0000c8d0: 7465 2052 6573 6f75 7263 6573 206f 6e20 te Resources on │ │ │ │ │ +0000c8e0: 7468 6520 496e 7465 726e 6574 3a3a 2c20 the Internet::, │ │ │ │ │ +0000c8f0: 666f 7220 686f 7720 746f 2063 6f6e 7472 for how to contr │ │ │ │ │ +0000c900: 6962 7574 652e 0a0a 1f0a 4669 6c65 3a20 ibute.....File: │ │ │ │ │ +0000c910: 6164 6173 6f63 6b65 7473 2e69 6e66 6f2c adasockets.info, │ │ │ │ │ +0000c920: 2020 4e6f 6465 3a20 5265 736f 7572 6365 Node: Resource │ │ │ │ │ +0000c930: 7320 6f6e 2074 6865 2049 6e74 6572 6e65 s on the Interne │ │ │ │ │ +0000c940: 742c 2020 4e65 7874 3a20 496e 6465 782c t, Next: Index, │ │ │ │ │ +0000c950: 2020 5072 6576 3a20 436f 6e74 7269 6275 Prev: Contribu │ │ │ │ │ +0000c960: 746f 7273 2c20 2055 703a 2054 6f70 0a0a tors, Up: Top.. │ │ │ │ │ +0000c970: 4170 7065 6e64 6978 2042 2052 6573 6f75 Appendix B Resou │ │ │ │ │ +0000c980: 7263 6573 206f 6e20 7468 6520 496e 7465 rces on the Inte │ │ │ │ │ +0000c990: 726e 6574 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a rnet.*********** │ │ │ │ │ +0000c9a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a **************** │ │ │ │ │ +0000c9b0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 6865 206c *********..The l │ │ │ │ │ +0000c9c0: 6174 6573 7420 7665 7273 696f 6e20 6f66 atest version of │ │ │ │ │ +0000c9d0: 2041 6461 536f 636b 6574 7320 6361 6e20 AdaSockets can │ │ │ │ │ +0000c9e0: 616c 7761 7973 2062 6520 666f 756e 6420 always be found │ │ │ │ │ +0000c9f0: 6174 3a0a 0a20 2020 2020 2020 2020 2020 at:.. │ │ │ │ │ +0000ca00: 2020 203c 6874 7470 733a 2f2f 7777 772e .. │ │ │ │ │ +0000ca30: 2020 596f 7520 6361 6e20 7265 706f 7274 You can report │ │ │ │ │ +0000ca40: 2069 7373 7565 7320 6f72 2074 6865 2041 issues or the A │ │ │ │ │ +0000ca50: 6461 536f 636b 6574 7320 6d61 696c 696e daSockets mailin │ │ │ │ │ +0000ca60: 672d 6c69 7374 2061 740a 0a20 2020 2020 g-list at.. │ │ │ │ │ +0000ca70: 2020 2020 2020 203c 6874 7470 733a 2f2f .. Contr │ │ │ │ │ +0000cab0: 6962 7574 696f 6e73 2061 6e64 2070 6174 ibutions and pat │ │ │ │ │ +0000cac0: 6368 6573 2061 7265 2077 656c 636f 6d65 ches are welcome │ │ │ │ │ +0000cad0: 642e 0a0a 1f0a 4669 6c65 3a20 6164 6173 d.....File: adas │ │ │ │ │ +0000cae0: 6f63 6b65 7473 2e69 6e66 6f2c 2020 4e6f ockets.info, No │ │ │ │ │ +0000caf0: 6465 3a20 496e 6465 782c 2020 5072 6576 de: Index, Prev │ │ │ │ │ +0000cb00: 3a20 5265 736f 7572 6365 7320 6f6e 2074 : Resources on t │ │ │ │ │ +0000cb10: 6865 2049 6e74 6572 6e65 742c 2020 5570 he Internet, Up │ │ │ │ │ +0000cb20: 3a20 546f 700a 0a49 6e64 6578 0a2a 2a2a : Top..Index.*** │ │ │ │ │ +0000cb30: 2a2a 0a0a 0008 5b69 6e64 6578 0008 5d0a **....[index..]. │ │ │ │ │ +0000cb40: 2a20 4d65 6e75 3a0a 0a2a 2041 6363 6570 * Menu:..* Accep │ │ │ │ │ +0000cb50: 745f 536f 636b 6574 3a20 2020 2020 2020 t_Socket: │ │ │ │ │ 0000cb60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cb70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cb90: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ -0000cba0: 290a 2a20 4164 612e 5374 7265 616d 732e ).* Ada.Streams. │ │ │ │ │ -0000cbb0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A │ │ │ │ │ -0000cbc0: 7272 6179 203c 313e 3a20 2052 6563 6569 rray <1>: Recei │ │ │ │ │ -0000cbd0: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). │ │ │ │ │ -0000cbe0: 2028 6c69 6e65 2032 3229 0a2a 2041 6461 (line 22).* Ada │ │ │ │ │ -0000cbf0: 2e53 7472 6561 6d73 2e53 7472 6561 6d5f .Streams.Stream_ │ │ │ │ │ -0000cc00: 456c 656d 656e 745f 4172 7261 7920 3c32 Element_Array <2 │ │ │ │ │ -0000cc10: 3e3a 2020 5265 6365 6976 6520 2870 726f >: Receive (pro │ │ │ │ │ -0000cc20: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line │ │ │ │ │ -0000cc30: 3138 290a 2a20 4164 612e 5374 7265 616d 18).* Ada.Stream │ │ │ │ │ -0000cc40: 732e 5374 7265 616d 5f45 6c65 6d65 6e74 s.Stream_Element │ │ │ │ │ -0000cc50: 5f41 7272 6179 203c 333e 3a20 2052 6563 _Array <3>: Rec │ │ │ │ │ -0000cc60: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce │ │ │ │ │ -0000cc70: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ -0000cc80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cc90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ccb0: 2020 2020 2020 286c 696e 6520 3231 290a (line 21). │ │ │ │ │ -0000ccc0: 2a20 4164 612e 5374 7265 616d 732e 5374 * Ada.Streams.St │ │ │ │ │ -0000ccd0: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr │ │ │ │ │ -0000cce0: 6179 203c 343e 3a20 2053 656e 6420 2870 ay <4>: Send (p │ │ │ │ │ -0000ccf0: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). ( │ │ │ │ │ -0000cd00: 6c69 6e65 2031 3729 0a2a 2041 6461 2e53 line 17).* Ada.S │ │ │ │ │ -0000cd10: 7472 6561 6d73 2e53 7472 6561 6d5f 456c treams.Stream_El │ │ │ │ │ -0000cd20: 656d 656e 745f 436f 756e 743a 2020 2020 ement_Count: │ │ │ │ │ -0000cd30: 2020 5265 6365 6976 6520 2866 756e 6374 Receive (funct │ │ │ │ │ -0000cd40: 696f 6e29 2e20 2020 286c 696e 6520 3232 ion). (line 22 │ │ │ │ │ -0000cd50: 290a 2a20 4164 612e 5374 7265 616d 732e ).* Ada.Streams. │ │ │ │ │ -0000cd60: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C │ │ │ │ │ -0000cd70: 6f75 6e74 203c 313e 3a20 2052 6563 6569 ount <1>: Recei │ │ │ │ │ -0000cd80: 7665 5f53 6f6d 6520 2870 726f 6365 6475 ve_Some (procedu │ │ │ │ │ -0000cd90: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ -0000cda0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cdc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cdd0: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* │ │ │ │ │ -0000cde0: 4164 6153 6f63 6b65 7473 2070 7265 7365 AdaSockets prese │ │ │ │ │ -0000cdf0: 6e74 6174 696f 6e3a 2020 2020 2020 2020 ntation: │ │ │ │ │ -0000ce00: 2020 2020 2020 2057 6861 7420 6973 2041 What is A │ │ │ │ │ -0000ce10: 6461 536f 636b 6574 733f 2e20 2028 6c69 daSockets?. (li │ │ │ │ │ -0000ce20: 6e65 2020 3629 0a2a 2041 6464 7265 7373 ne 6).* Address │ │ │ │ │ -0000ce30: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000ce40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ce50: 536f 636b 6574 732e 4e61 6d69 6e67 2070 Sockets.Naming p │ │ │ │ │ -0000ce60: 6163 6b61 6765 2e0a 2020 2020 2020 2020 ackage.. │ │ │ │ │ -0000ce70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ce80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ce90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cea0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9) │ │ │ │ │ -0000ceb0: 0a2a 2041 6464 7265 7373 5f41 7272 6179 .* Address_Array │ │ │ │ │ -0000cec0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000ced0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket │ │ │ │ │ -0000cee0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package │ │ │ │ │ -0000cef0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000cb70: 2020 4163 6365 7074 5f53 6f63 6b65 7420 Accept_Socket │ │ │ │ │ +0000cb80: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ +0000cb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cbb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cbc0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0000cbd0: 6520 2039 290a 2a20 4163 6365 7074 696e e 9).* Acceptin │ │ │ │ │ +0000cbe0: 6720 6120 6e65 7720 636f 6e6e 6563 7469 g a new connecti │ │ │ │ │ +0000cbf0: 6f6e 3a20 2020 2020 2020 2020 2020 2041 on: A │ │ │ │ │ +0000cc00: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr │ │ │ │ │ +0000cc10: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +0000cc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cc30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cc40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cc50: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0000cc60: 3629 0a2a 2041 6461 2e53 7472 6561 6d73 6).* Ada.Streams │ │ │ │ │ +0000cc70: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_ │ │ │ │ │ +0000cc80: 4172 7261 793a 2020 2020 2020 5261 7720 Array: Raw │ │ │ │ │ +0000cc90: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio │ │ │ │ │ +0000cca0: 6e2e 0a20 2020 2020 2020 2020 2020 2020 n.. │ │ │ │ │ +0000ccb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ccd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cce0: 2020 286c 696e 6520 2036 290a 2a20 4164 (line 6).* Ad │ │ │ │ │ +0000ccf0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream │ │ │ │ │ +0000cd00: 5f45 6c65 6d65 6e74 5f41 7272 6179 203c _Element_Array < │ │ │ │ │ +0000cd10: 313e 3a20 2052 6563 6569 7665 2028 6675 1>: Receive (fu │ │ │ │ │ +0000cd20: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line │ │ │ │ │ +0000cd30: 2032 3229 0a2a 2041 6461 2e53 7472 6561 22).* Ada.Strea │ │ │ │ │ +0000cd40: 6d73 2e53 7472 6561 6d5f 456c 656d 656e ms.Stream_Elemen │ │ │ │ │ +0000cd50: 745f 4172 7261 7920 3c32 3e3a 2020 5265 t_Array <2>: Re │ │ │ │ │ +0000cd60: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure │ │ │ │ │ +0000cd70: 292e 2020 286c 696e 6520 3138 290a 2a20 ). (line 18).* │ │ │ │ │ +0000cd80: 4164 612e 5374 7265 616d 732e 5374 7265 Ada.Streams.Stre │ │ │ │ │ +0000cd90: 616d 5f45 6c65 6d65 6e74 5f41 7272 6179 am_Element_Array │ │ │ │ │ +0000cda0: 203c 333e 3a20 2052 6563 6569 7665 5f53 <3>: Receive_S │ │ │ │ │ +0000cdb0: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure). │ │ │ │ │ +0000cdc0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0000cdd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cdf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ce00: 286c 696e 6520 3231 290a 2a20 4164 612e (line 21).* Ada. │ │ │ │ │ +0000ce10: 5374 7265 616d 732e 5374 7265 616d 5f45 Streams.Stream_E │ │ │ │ │ +0000ce20: 6c65 6d65 6e74 5f41 7272 6179 203c 343e lement_Array <4> │ │ │ │ │ +0000ce30: 3a20 2053 656e 6420 2870 726f 6365 6475 : Send (procedu │ │ │ │ │ +0000ce40: 7265 292e 2020 2020 2028 6c69 6e65 2031 re). (line 1 │ │ │ │ │ +0000ce50: 3729 0a2a 2041 6461 2e53 7472 6561 6d73 7).* Ada.Streams │ │ │ │ │ +0000ce60: 2e53 7472 6561 6d5f 456c 656d 656e 745f .Stream_Element_ │ │ │ │ │ +0000ce70: 436f 756e 743a 2020 2020 2020 5265 6365 Count: Rece │ │ │ │ │ +0000ce80: 6976 6520 2866 756e 6374 696f 6e29 2e20 ive (function). │ │ │ │ │ +0000ce90: 2020 286c 696e 6520 3232 290a 2a20 4164 (line 22).* Ad │ │ │ │ │ +0000cea0: 612e 5374 7265 616d 732e 5374 7265 616d a.Streams.Stream │ │ │ │ │ +0000ceb0: 5f45 6c65 6d65 6e74 5f43 6f75 6e74 203c _Element_Count < │ │ │ │ │ +0000cec0: 313e 3a20 2052 6563 6569 7665 5f53 6f6d 1>: Receive_Som │ │ │ │ │ +0000ced0: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. │ │ │ │ │ +0000cee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000cf00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cf10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cf20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cf30: 2028 6c69 6e65 2031 3629 0a2a 2041 6464 (line 16).* Add │ │ │ │ │ -0000cf40: 7265 7373 5f43 6f6d 706f 6e65 6e74 3a20 ress_Component: │ │ │ │ │ -0000cf50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cf60: 2020 2020 536f 636b 6574 732e 4e61 6d69 Sockets.Nami │ │ │ │ │ -0000cf70: 6e67 2070 6163 6b61 6765 2e0a 2020 2020 ng package.. │ │ │ │ │ +0000cf10: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0000cf20: 696e 6520 3231 290a 2a20 4164 6153 6f63 ine 21).* AdaSoc │ │ │ │ │ +0000cf30: 6b65 7473 2070 7265 7365 6e74 6174 696f kets presentatio │ │ │ │ │ +0000cf40: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ +0000cf50: 2057 6861 7420 6973 2041 6461 536f 636b What is AdaSock │ │ │ │ │ +0000cf60: 6574 733f 2e20 2028 6c69 6e65 2020 3629 ets?. (line 6) │ │ │ │ │ +0000cf70: 0a2a 2041 6464 7265 7373 3a20 2020 2020 .* Address: │ │ │ │ │ 0000cf80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cf90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000cfb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000cfc0: 2032 3029 0a2a 2041 6464 7265 7373 5f4f 20).* Address_O │ │ │ │ │ -0000cfd0: 663a 2020 2020 2020 2020 2020 2020 2020 f: │ │ │ │ │ -0000cfe0: 2020 2020 2020 2020 2020 2020 2020 4164 Ad │ │ │ │ │ -0000cff0: 6472 6573 735f 4f66 2028 6675 6e63 7469 dress_Of (functi │ │ │ │ │ -0000d000: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. │ │ │ │ │ +0000cf90: 2020 2020 2020 2020 2020 536f 636b 6574 Socket │ │ │ │ │ +0000cfa0: 732e 4e61 6d69 6e67 2070 6163 6b61 6765 s.Naming package │ │ │ │ │ +0000cfb0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000cfc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000cff0: 2028 6c69 6e65 2020 3929 0a2a 2041 6464 (line 9).* Add │ │ │ │ │ +0000d000: 7265 7373 5f41 7272 6179 3a20 2020 2020 ress_Array: │ │ │ │ │ 0000d010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d040: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0000d050: 4146 5f49 4e45 543a 2020 2020 2020 2020 AF_INET: │ │ │ │ │ +0000d020: 2020 2020 536f 636b 6574 732e 4e61 6d69 Sockets.Nami │ │ │ │ │ +0000d030: 6e67 2070 6163 6b61 6765 2e0a 2020 2020 ng package.. │ │ │ │ │ +0000d040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d070: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p │ │ │ │ │ -0000d080: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li │ │ │ │ │ -0000d090: 6e65 2031 3929 0a2a 2041 6e79 5f41 6464 ne 19).* Any_Add │ │ │ │ │ -0000d0a0: 7265 7373 3a20 2020 2020 2020 2020 2020 ress: │ │ │ │ │ -0000d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d0c0: 416e 795f 4164 6472 6573 7320 2866 756e Any_Address (fun │ │ │ │ │ -0000d0d0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. │ │ │ │ │ +0000d070: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0000d080: 2031 3629 0a2a 2041 6464 7265 7373 5f43 16).* Address_C │ │ │ │ │ +0000d090: 6f6d 706f 6e65 6e74 3a20 2020 2020 2020 omponent: │ │ │ │ │ +0000d0a0: 2020 2020 2020 2020 2020 2020 2020 536f So │ │ │ │ │ +0000d0b0: 636b 6574 732e 4e61 6d69 6e67 2070 6163 ckets.Naming pac │ │ │ │ │ +0000d0c0: 6b61 6765 2e0a 2020 2020 2020 2020 2020 kage.. │ │ │ │ │ +0000d0d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d0e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d0f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d110: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9) │ │ │ │ │ -0000d120: 0a2a 2041 7373 6967 6e69 6e67 2061 206c .* Assigning a l │ │ │ │ │ -0000d130: 6f63 616c 2070 6f72 743a 2020 2020 2020 ocal port: │ │ │ │ │ -0000d140: 2020 2020 2020 2020 2020 4269 6e64 2028 Bind ( │ │ │ │ │ -0000d150: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). │ │ │ │ │ -0000d160: 286c 696e 6520 2036 290a 2a20 4269 6e64 (line 6).* Bind │ │ │ │ │ -0000d170: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000d180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d190: 2020 2042 696e 6420 2870 726f 6365 6475 Bind (procedu │ │ │ │ │ -0000d1a0: 7265 292e 2020 2020 2028 6c69 6e65 2020 re). (line │ │ │ │ │ -0000d1b0: 3929 0a2a 2042 696e 6469 6e67 2061 2073 9).* Binding a s │ │ │ │ │ -0000d1c0: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: │ │ │ │ │ -0000d1d0: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind │ │ │ │ │ -0000d1e0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ -0000d1f0: 2020 286c 696e 6520 2036 290a 2a20 426f (line 6).* Bo │ │ │ │ │ -0000d200: 7468 3a20 2020 2020 2020 2020 2020 2020 th: │ │ │ │ │ -0000d210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d220: 2020 2020 2053 6875 7464 6f77 6e20 2870 Shutdown (p │ │ │ │ │ -0000d230: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line │ │ │ │ │ -0000d240: 2031 3729 0a2a 2043 6c6f 7369 6e67 2061 17).* Closing a │ │ │ │ │ -0000d250: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: │ │ │ │ │ -0000d260: 2020 2020 2020 2020 2020 2020 2020 5368 Sh │ │ │ │ │ -0000d270: 7574 646f 776e 2028 7072 6f63 6564 7572 utdown (procedur │ │ │ │ │ -0000d280: 6529 2e20 286c 696e 6520 2036 290a 2a20 e). (line 6).* │ │ │ │ │ -0000d290: 436f 6d70 6172 6169 736f 6e20 7769 7468 Comparaison with │ │ │ │ │ -0000d2a0: 2047 4e41 542e 536f 636b 6574 733a 2020 GNAT.Sockets: │ │ │ │ │ -0000d2b0: 2020 2020 2020 2057 6861 7420 6973 2041 What is A │ │ │ │ │ -0000d2c0: 6461 536f 636b 6574 733f 2e20 2028 6c69 daSockets?. (li │ │ │ │ │ -0000d2d0: 6e65 2020 3629 0a2a 2043 6f6e 6e65 6374 ne 6).* Connect │ │ │ │ │ -0000d2e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000d2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d300: 436f 6e6e 6563 7420 2870 726f 6365 6475 Connect (procedu │ │ │ │ │ -0000d310: 7265 292e 2020 286c 696e 6520 2039 290a re). (line 9). │ │ │ │ │ -0000d320: 2a20 436f 6e6e 6563 7469 6e67 2061 2073 * Connecting a s │ │ │ │ │ -0000d330: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: │ │ │ │ │ -0000d340: 2020 2020 2020 2020 2043 6f6e 6e65 6374 Connect │ │ │ │ │ -0000d350: 2028 7072 6f63 6564 7572 6529 2e20 2028 (procedure). ( │ │ │ │ │ -0000d360: 6c69 6e65 2020 3629 0a2a 2043 6f6e 6e65 line 6).* Conne │ │ │ │ │ -0000d370: 6374 696f 6e5f 436c 6f73 6564 3a20 2020 ction_Closed: │ │ │ │ │ -0000d380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d390: 2020 4765 7420 2866 756e 6374 696f 6e29 Get (function) │ │ │ │ │ -0000d3a0: 2e20 2020 2020 2020 286c 696e 6520 3334 . (line 34 │ │ │ │ │ -0000d3b0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C │ │ │ │ │ -0000d3c0: 6c6f 7365 6420 3c31 3e3a 2020 2020 2020 losed <1>: │ │ │ │ │ -0000d3d0: 2020 2020 2020 2020 2020 2047 6574 5f43 Get_C │ │ │ │ │ -0000d3e0: 6861 7220 2866 756e 6374 696f 6e29 2e20 har (function). │ │ │ │ │ -0000d3f0: 2028 6c69 6e65 2032 3329 0a2a 2043 6f6e (line 23).* Con │ │ │ │ │ -0000d400: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed < │ │ │ │ │ -0000d410: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ -0000d420: 2020 2020 4765 745f 4c69 6e65 2028 6675 Get_Line (fu │ │ │ │ │ -0000d430: 6e63 7469 6f6e 292e 2020 286c 696e 6520 nction). (line │ │ │ │ │ -0000d440: 3332 290a 2a20 436f 6e6e 6563 7469 6f6e 32).* Connection │ │ │ │ │ -0000d450: 5f43 6c6f 7365 6420 3c33 3e3a 2020 2020 _Closed <3>: │ │ │ │ │ -0000d460: 2020 2020 2020 2020 2020 2020 2047 6574 Get │ │ │ │ │ -0000d470: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure │ │ │ │ │ -0000d480: 292e 2028 6c69 6e65 2032 3729 0a2a 2043 ). (line 27).* C │ │ │ │ │ -0000d490: 6f6e 6e65 6374 696f 6e5f 436c 6f73 6564 onnection_Closed │ │ │ │ │ -0000d4a0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: │ │ │ │ │ -0000d4b0: 2020 2020 2020 4e65 775f 4c69 6e65 2028 New_Line ( │ │ │ │ │ -0000d4c0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin │ │ │ │ │ -0000d4d0: 6520 3230 290a 2a20 436f 6e6e 6563 7469 e 20).* Connecti │ │ │ │ │ -0000d4e0: 6f6e 5f43 6c6f 7365 6420 3c35 3e3a 2020 on_Closed <5>: │ │ │ │ │ -0000d4f0: 2020 2020 2020 2020 2020 2020 2020 2050 P │ │ │ │ │ -0000d500: 7574 2028 7072 6f63 6564 7572 6529 2e20 ut (procedure). │ │ │ │ │ -0000d510: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).* │ │ │ │ │ -0000d520: 2043 6f6e 6e65 6374 696f 6e5f 436c 6f73 Connection_Clos │ │ │ │ │ -0000d530: 6564 203c 363e 3a20 2020 2020 2020 2020 ed <6>: │ │ │ │ │ -0000d540: 2020 2020 2020 2020 5075 745f 4c69 6e65 Put_Line │ │ │ │ │ -0000d550: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l │ │ │ │ │ -0000d560: 696e 6520 3231 290a 2a20 436f 6e6e 6563 ine 21).* Connec │ │ │ │ │ -0000d570: 7469 6f6e 5f43 6c6f 7365 6420 3c37 3e3a tion_Closed <7>: │ │ │ │ │ -0000d580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d590: 2052 6563 6569 7665 2028 6675 6e63 7469 Receive (functi │ │ │ │ │ -0000d5a0: 6f6e 292e 2020 2028 6c69 6e65 2033 3029 on). (line 30) │ │ │ │ │ -0000d5b0: 0a2a 2043 6f6e 6e65 6374 696f 6e5f 436c .* Connection_Cl │ │ │ │ │ -0000d5c0: 6f73 6564 203c 383e 3a20 2020 2020 2020 osed <8>: │ │ │ │ │ -0000d5d0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv │ │ │ │ │ -0000d5e0: 6520 2870 726f 6365 6475 7265 292e 2020 e (procedure). │ │ │ │ │ -0000d5f0: 286c 696e 6520 3235 290a 2a20 436f 6e6e (line 25).* Conn │ │ │ │ │ -0000d600: 6563 7469 6f6e 5f43 6c6f 7365 6420 3c39 ection_Closed <9 │ │ │ │ │ -0000d610: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0000d620: 2020 2052 6563 6569 7665 5f53 6f6d 6520 Receive_Some │ │ │ │ │ -0000d630: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ -0000d640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d670: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000d680: 6520 3237 290a 2a20 436f 6e6e 6563 7469 e 27).* Connecti │ │ │ │ │ -0000d690: 6f6e 5f43 6c6f 7365 6420 3c31 303e 3a20 on_Closed <10>: │ │ │ │ │ -0000d6a0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000d6b0: 656e 6420 2870 726f 6365 6475 7265 292e end (procedure). │ │ │ │ │ -0000d6c0: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).* │ │ │ │ │ -0000d6d0: 2043 6f6e 6e65 6374 696f 6e5f 5265 6675 Connection_Refu │ │ │ │ │ -0000d6e0: 7365 643a 2020 2020 2020 2020 2020 2020 sed: │ │ │ │ │ -0000d6f0: 2020 2020 2020 2020 436f 6e6e 6563 7420 Connect │ │ │ │ │ -0000d700: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l │ │ │ │ │ -0000d710: 696e 6520 3235 290a 2a20 436f 6e74 7269 ine 25).* Contri │ │ │ │ │ -0000d720: 6275 7469 6e67 3a20 2020 2020 2020 2020 buting: │ │ │ │ │ -0000d730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d740: 2043 6f6e 7472 6962 7574 6f72 732e 2020 Contributors. │ │ │ │ │ -0000d750: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -0000d760: 0a2a 2043 6f6e 7472 6962 7574 696e 6720 .* Contributing │ │ │ │ │ -0000d770: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ -0000d780: 2020 2020 2020 2020 2020 5265 736f 7572 Resour │ │ │ │ │ -0000d790: 6365 7320 6f6e 2074 6865 2049 6e74 6572 ces on the Inter │ │ │ │ │ -0000d7a0: 6e65 742e 0a20 2020 2020 2020 2020 2020 net.. │ │ │ │ │ +0000d100: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ +0000d110: 2041 6464 7265 7373 5f4f 663a 2020 2020 Address_Of: │ │ │ │ │ +0000d120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d130: 2020 2020 2020 2020 4164 6472 6573 735f Address_ │ │ │ │ │ +0000d140: 4f66 2028 6675 6e63 7469 6f6e 292e 0a20 Of (function).. │ │ │ │ │ +0000d150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d170: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d180: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0000d190: 696e 6520 2039 290a 2a20 4146 5f49 4e45 ine 9).* AF_INE │ │ │ │ │ +0000d1a0: 543a 2020 2020 2020 2020 2020 2020 2020 T: │ │ │ │ │ +0000d1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d1c0: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu │ │ │ │ │ +0000d1d0: 7265 292e 2020 2028 6c69 6e65 2031 3929 re). (line 19) │ │ │ │ │ +0000d1e0: 0a2a 2041 6e79 5f41 6464 7265 7373 3a20 .* Any_Address: │ │ │ │ │ +0000d1f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d200: 2020 2020 2020 2020 2020 416e 795f 4164 Any_Ad │ │ │ │ │ +0000d210: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function) │ │ │ │ │ +0000d220: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000d230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d260: 2028 6c69 6e65 2020 3929 0a2a 2041 7373 (line 9).* Ass │ │ │ │ │ +0000d270: 6967 6e69 6e67 2061 206c 6f63 616c 2070 igning a local p │ │ │ │ │ +0000d280: 6f72 743a 2020 2020 2020 2020 2020 2020 ort: │ │ │ │ │ +0000d290: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced │ │ │ │ │ +0000d2a0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line │ │ │ │ │ +0000d2b0: 2036 290a 2a20 4269 6e64 3a20 2020 2020 6).* Bind: │ │ │ │ │ +0000d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d2d0: 2020 2020 2020 2020 2020 2020 2042 696e Bin │ │ │ │ │ +0000d2e0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). │ │ │ │ │ +0000d2f0: 2020 2028 6c69 6e65 2020 3929 0a2a 2042 (line 9).* B │ │ │ │ │ +0000d300: 696e 6469 6e67 2061 2073 6f63 6b65 743a inding a socket: │ │ │ │ │ +0000d310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d320: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc │ │ │ │ │ +0000d330: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin │ │ │ │ │ +0000d340: 6520 2036 290a 2a20 426f 7468 3a20 2020 e 6).* Both: │ │ │ │ │ +0000d350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d360: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ +0000d370: 6875 7464 6f77 6e20 2870 726f 6365 6475 hutdown (procedu │ │ │ │ │ +0000d380: 7265 292e 2028 6c69 6e65 2031 3729 0a2a re). (line 17).* │ │ │ │ │ +0000d390: 2043 6c6f 7369 6e67 2061 2073 6f63 6b65 Closing a socke │ │ │ │ │ +0000d3a0: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +0000d3b0: 2020 2020 2020 2020 5368 7574 646f 776e Shutdown │ │ │ │ │ +0000d3c0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l │ │ │ │ │ +0000d3d0: 696e 6520 2036 290a 2a20 436f 6d70 6172 ine 6).* Compar │ │ │ │ │ +0000d3e0: 6169 736f 6e20 7769 7468 2047 4e41 542e aison with GNAT. │ │ │ │ │ +0000d3f0: 536f 636b 6574 733a 2020 2020 2020 2020 Sockets: │ │ │ │ │ +0000d400: 2057 6861 7420 6973 2041 6461 536f 636b What is AdaSock │ │ │ │ │ +0000d410: 6574 733f 2e20 2028 6c69 6e65 2020 3629 ets?. (line 6) │ │ │ │ │ +0000d420: 0a2a 2043 6f6e 6e65 6374 3a20 2020 2020 .* Connect: │ │ │ │ │ +0000d430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d440: 2020 2020 2020 2020 2020 436f 6e6e 6563 Connec │ │ │ │ │ +0000d450: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). │ │ │ │ │ +0000d460: 286c 696e 6520 2039 290a 2a20 436f 6e6e (line 9).* Conn │ │ │ │ │ +0000d470: 6563 7469 6e67 2061 2073 6f63 6b65 743a ecting a socket: │ │ │ │ │ +0000d480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d490: 2020 2043 6f6e 6e65 6374 2028 7072 6f63 Connect (proc │ │ │ │ │ +0000d4a0: 6564 7572 6529 2e20 2028 6c69 6e65 2020 edure). (line │ │ │ │ │ +0000d4b0: 3629 0a2a 2043 6f6e 6e65 6374 696f 6e5f 6).* Connection_ │ │ │ │ │ +0000d4c0: 436c 6f73 6564 3a20 2020 2020 2020 2020 Closed: │ │ │ │ │ +0000d4d0: 2020 2020 2020 2020 2020 2020 4765 7420 Get │ │ │ │ │ +0000d4e0: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). │ │ │ │ │ +0000d4f0: 2020 286c 696e 6520 3334 290a 2a20 436f (line 34).* Co │ │ │ │ │ +0000d500: 6e6e 6563 7469 6f6e 5f43 6c6f 7365 6420 nnection_Closed │ │ │ │ │ +0000d510: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +0000d520: 2020 2020 2047 6574 5f43 6861 7220 2866 Get_Char (f │ │ │ │ │ +0000d530: 756e 6374 696f 6e29 2e20 2028 6c69 6e65 unction). (line │ │ │ │ │ +0000d540: 2032 3329 0a2a 2043 6f6e 6e65 6374 696f 23).* Connectio │ │ │ │ │ +0000d550: 6e5f 436c 6f73 6564 203c 323e 3a20 2020 n_Closed <2>: │ │ │ │ │ +0000d560: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ +0000d570: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function │ │ │ │ │ +0000d580: 292e 2020 286c 696e 6520 3332 290a 2a20 ). (line 32).* │ │ │ │ │ +0000d590: 436f 6e6e 6563 7469 6f6e 5f43 6c6f 7365 Connection_Close │ │ │ │ │ +0000d5a0: 6420 3c33 3e3a 2020 2020 2020 2020 2020 d <3>: │ │ │ │ │ +0000d5b0: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line │ │ │ │ │ +0000d5c0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li │ │ │ │ │ +0000d5d0: 6e65 2032 3729 0a2a 2043 6f6e 6e65 6374 ne 27).* Connect │ │ │ │ │ +0000d5e0: 696f 6e5f 436c 6f73 6564 203c 343e 3a20 ion_Closed <4>: │ │ │ │ │ +0000d5f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d600: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced │ │ │ │ │ +0000d610: 7572 6529 2e20 286c 696e 6520 3230 290a ure). (line 20). │ │ │ │ │ +0000d620: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo │ │ │ │ │ +0000d630: 7365 6420 3c35 3e3a 2020 2020 2020 2020 sed <5>: │ │ │ │ │ +0000d640: 2020 2020 2020 2020 2050 7574 2028 7072 Put (pr │ │ │ │ │ +0000d650: 6f63 6564 7572 6529 2e20 2020 2020 2028 ocedure). ( │ │ │ │ │ +0000d660: 6c69 6e65 2032 3129 0a2a 2043 6f6e 6e65 line 21).* Conne │ │ │ │ │ +0000d670: 6374 696f 6e5f 436c 6f73 6564 203c 363e ction_Closed <6> │ │ │ │ │ +0000d680: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000d690: 2020 5075 745f 4c69 6e65 2028 7072 6f63 Put_Line (proc │ │ │ │ │ +0000d6a0: 6564 7572 6529 2e20 286c 696e 6520 3231 edure). (line 21 │ │ │ │ │ +0000d6b0: 290a 2a20 436f 6e6e 6563 7469 6f6e 5f43 ).* Connection_C │ │ │ │ │ +0000d6c0: 6c6f 7365 6420 3c37 3e3a 2020 2020 2020 losed <7>: │ │ │ │ │ +0000d6d0: 2020 2020 2020 2020 2020 2052 6563 6569 Recei │ │ │ │ │ +0000d6e0: 7665 2028 6675 6e63 7469 6f6e 292e 2020 ve (function). │ │ │ │ │ +0000d6f0: 2028 6c69 6e65 2033 3029 0a2a 2043 6f6e (line 30).* Con │ │ │ │ │ +0000d700: 6e65 6374 696f 6e5f 436c 6f73 6564 203c nection_Closed < │ │ │ │ │ +0000d710: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: │ │ │ │ │ +0000d720: 2020 2020 5265 6365 6976 6520 2870 726f Receive (pro │ │ │ │ │ +0000d730: 6365 6475 7265 292e 2020 286c 696e 6520 cedure). (line │ │ │ │ │ +0000d740: 3235 290a 2a20 436f 6e6e 6563 7469 6f6e 25).* Connection │ │ │ │ │ +0000d750: 5f43 6c6f 7365 6420 3c39 3e3a 2020 2020 _Closed <9>: │ │ │ │ │ +0000d760: 2020 2020 2020 2020 2020 2020 2052 6563 Rec │ │ │ │ │ +0000d770: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce │ │ │ │ │ +0000d780: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ +0000d790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d7a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d7b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d7e0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0000d7f0: 4352 3a20 2020 2020 2020 2020 2020 2020 CR: │ │ │ │ │ -0000d800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d810: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line │ │ │ │ │ -0000d820: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li │ │ │ │ │ -0000d830: 6e65 2032 3129 0a2a 2043 5220 3c31 3e3a ne 21).* CR <1>: │ │ │ │ │ -0000d840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d860: 4765 745f 4c69 6e65 2028 7072 6f63 6564 Get_Line (proced │ │ │ │ │ -0000d870: 7572 6529 2e20 286c 696e 6520 3138 290a ure). (line 18). │ │ │ │ │ -0000d880: 2a20 4352 203c 323e 3a20 2020 2020 2020 * CR <2>: │ │ │ │ │ -0000d890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d8a0: 2020 2020 2020 2020 204e 6577 5f4c 696e New_Lin │ │ │ │ │ -0000d8b0: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). ( │ │ │ │ │ -0000d8c0: 6c69 6e65 2031 3729 0a2a 2043 7265 6174 line 17).* Creat │ │ │ │ │ -0000d8d0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock │ │ │ │ │ -0000d8e0: 6574 3a20 2020 2020 2020 2020 2020 2020 et: │ │ │ │ │ -0000d8f0: 2020 5365 7474 696e 6720 7570 206d 756c Setting up mul │ │ │ │ │ -0000d900: 7469 6361 7374 2073 6f63 6b65 7473 2e0a ticast sockets.. │ │ │ │ │ +0000d7c0: 2020 2020 2020 286c 696e 6520 3237 290a (line 27). │ │ │ │ │ +0000d7d0: 2a20 436f 6e6e 6563 7469 6f6e 5f43 6c6f * Connection_Clo │ │ │ │ │ +0000d7e0: 7365 6420 3c31 303e 3a20 2020 2020 2020 sed <10>: │ │ │ │ │ +0000d7f0: 2020 2020 2020 2020 2053 656e 6420 2870 Send (p │ │ │ │ │ +0000d800: 726f 6365 6475 7265 292e 2020 2020 2028 rocedure). ( │ │ │ │ │ +0000d810: 6c69 6e65 2032 3129 0a2a 2043 6f6e 6e65 line 21).* Conne │ │ │ │ │ +0000d820: 6374 696f 6e5f 5265 6675 7365 643a 2020 ction_Refused: │ │ │ │ │ +0000d830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d840: 2020 436f 6e6e 6563 7420 2870 726f 6365 Connect (proce │ │ │ │ │ +0000d850: 6475 7265 292e 2020 286c 696e 6520 3235 dure). (line 25 │ │ │ │ │ +0000d860: 290a 2a20 436f 6e74 7269 6275 7469 6e67 ).* Contributing │ │ │ │ │ +0000d870: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000d880: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr │ │ │ │ │ +0000d890: 6962 7574 6f72 732e 2020 2020 2020 2020 ibutors. │ │ │ │ │ +0000d8a0: 2028 6c69 6e65 2020 3629 0a2a 2043 6f6e (line 6).* Con │ │ │ │ │ +0000d8b0: 7472 6962 7574 696e 6720 3c31 3e3a 2020 tributing <1>: │ │ │ │ │ +0000d8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d8d0: 2020 2020 5265 736f 7572 6365 7320 6f6e Resources on │ │ │ │ │ +0000d8e0: 2074 6865 2049 6e74 6572 6e65 742e 0a20 the Internet.. │ │ │ │ │ +0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000d910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d940: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000d950: 6c69 6e65 2031 3629 0a2a 2043 7265 6174 line 16).* Creat │ │ │ │ │ -0000d960: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock │ │ │ │ │ -0000d970: 6574 203c 313e 3a20 2020 2020 2020 2020 et <1>: │ │ │ │ │ -0000d980: 2020 4372 6561 7465 5f4d 756c 7469 6361 Create_Multica │ │ │ │ │ -0000d990: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct │ │ │ │ │ -0000d9a0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ -0000d9b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000d9e0: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).* │ │ │ │ │ -0000d9f0: 2043 7265 6174 655f 4d75 6c74 6963 6173 Create_Multicas │ │ │ │ │ -0000da00: 745f 536f 636b 6574 203c 323e 3a20 2020 t_Socket <2>: │ │ │ │ │ -0000da10: 2020 2020 2020 2020 4372 6561 7465 5f4d Create_M │ │ │ │ │ -0000da20: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket │ │ │ │ │ -0000da30: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. │ │ │ │ │ -0000da40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d920: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0000d930: 696e 6520 2036 290a 2a20 4352 3a20 2020 ine 6).* CR: │ │ │ │ │ +0000d940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d960: 2047 6574 5f4c 696e 6520 2866 756e 6374 Get_Line (funct │ │ │ │ │ +0000d970: 696f 6e29 2e20 2028 6c69 6e65 2032 3129 ion). (line 21) │ │ │ │ │ +0000d980: 0a2a 2043 5220 3c31 3e3a 2020 2020 2020 .* CR <1>: │ │ │ │ │ +0000d990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d9a0: 2020 2020 2020 2020 2020 4765 745f 4c69 Get_Li │ │ │ │ │ +0000d9b0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). │ │ │ │ │ +0000d9c0: 286c 696e 6520 3138 290a 2a20 4352 203c (line 18).* CR < │ │ │ │ │ +0000d9d0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0000d9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000d9f0: 2020 204e 6577 5f4c 696e 6520 2870 726f New_Line (pro │ │ │ │ │ +0000da00: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1 │ │ │ │ │ +0000da10: 3729 0a2a 2043 7265 6174 655f 4d75 6c74 7).* Create_Mult │ │ │ │ │ +0000da20: 6963 6173 745f 536f 636b 6574 3a20 2020 icast_Socket: │ │ │ │ │ +0000da30: 2020 2020 2020 2020 2020 2020 5365 7474 Sett │ │ │ │ │ +0000da40: 696e 6720 7570 206d 756c 7469 6361 7374 ing up multicast │ │ │ │ │ +0000da50: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. │ │ │ │ │ 0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000da70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000da80: 2036 3329 0a2a 2043 7265 6174 696e 6720 63).* Creating │ │ │ │ │ -0000da90: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock │ │ │ │ │ -0000daa0: 6574 3a20 2020 2020 2020 2020 2020 5365 et: Se │ │ │ │ │ -0000dab0: 7474 696e 6720 7570 206d 756c 7469 6361 tting up multica │ │ │ │ │ -0000dac0: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. │ │ │ │ │ -0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000da80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000da90: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +0000daa0: 3629 0a2a 2043 7265 6174 655f 4d75 6c74 6).* Create_Mult │ │ │ │ │ +0000dab0: 6963 6173 745f 536f 636b 6574 203c 313e icast_Socket <1> │ │ │ │ │ +0000dac0: 3a20 2020 2020 2020 2020 2020 4372 6561 : Crea │ │ │ │ │ +0000dad0: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc │ │ │ │ │ +0000dae0: 6b65 7420 2866 756e 6374 696f 6e29 2e0a ket (function).. │ │ │ │ │ 0000daf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000db00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000db10: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating │ │ │ │ │ -0000db20: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock │ │ │ │ │ -0000db30: 6574 203c 313e 3a20 2020 2020 2020 4372 et <1>: Cr │ │ │ │ │ -0000db40: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S │ │ │ │ │ -0000db50: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function) │ │ │ │ │ -0000db60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -0000db70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000db80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000db00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000db10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000db20: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0000db30: 6c69 6e65 2020 3929 0a2a 2043 7265 6174 line 9).* Creat │ │ │ │ │ +0000db40: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock │ │ │ │ │ +0000db50: 6574 203c 323e 3a20 2020 2020 2020 2020 et <2>: │ │ │ │ │ +0000db60: 2020 4372 6561 7465 5f4d 756c 7469 6361 Create_Multica │ │ │ │ │ +0000db70: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct │ │ │ │ │ +0000db80: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ 0000db90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dba0: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre │ │ │ │ │ -0000dbb0: 6174 696e 6720 6120 6d75 6c74 6963 6173 ating a multicas │ │ │ │ │ -0000dbc0: 7420 736f 636b 6574 203c 323e 3a20 2020 t socket <2>: │ │ │ │ │ -0000dbd0: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi │ │ │ │ │ -0000dbe0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun │ │ │ │ │ -0000dbf0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. │ │ │ │ │ -0000dc00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dc10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dbb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dbc0: 2020 2020 2028 6c69 6e65 2036 3329 0a2a (line 63).* │ │ │ │ │ +0000dbd0: 2043 7265 6174 696e 6720 6120 6d75 6c74 Creating a mult │ │ │ │ │ +0000dbe0: 6963 6173 7420 736f 636b 6574 3a20 2020 icast socket: │ │ │ │ │ +0000dbf0: 2020 2020 2020 2020 5365 7474 696e 6720 Setting │ │ │ │ │ +0000dc00: 7570 206d 756c 7469 6361 7374 2073 6f63 up multicast soc │ │ │ │ │ +0000dc10: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. │ │ │ │ │ 0000dc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dc30: 2020 2020 2020 2028 6c69 6e65 2036 3029 (line 60) │ │ │ │ │ -0000dc40: 0a2a 2043 7265 6174 696e 6720 6120 7365 .* Creating a se │ │ │ │ │ -0000dc50: 7276 6572 3a20 2020 2020 2020 2020 2020 rver: │ │ │ │ │ -0000dc60: 2020 2020 2020 2020 2020 4269 6e64 2028 Bind ( │ │ │ │ │ -0000dc70: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). │ │ │ │ │ -0000dc80: 286c 696e 6520 2036 290a 2a20 4372 6561 (line 6).* Crea │ │ │ │ │ -0000dc90: 7469 6e67 2061 2073 6f63 6b65 743a 2020 ting a socket: │ │ │ │ │ -0000dca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dcb0: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un │ │ │ │ │ -0000dcc0: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. │ │ │ │ │ +0000dc30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dc40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dc50: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ +0000dc60: 2043 7265 6174 696e 6720 6120 6d75 6c74 Creating a mult │ │ │ │ │ +0000dc70: 6963 6173 7420 736f 636b 6574 203c 313e icast socket <1> │ │ │ │ │ +0000dc80: 3a20 2020 2020 2020 4372 6561 7465 5f4d : Create_M │ │ │ │ │ +0000dc90: 756c 7469 6361 7374 5f53 6f63 6b65 7420 ulticast_Socket │ │ │ │ │ +0000dca0: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. │ │ │ │ │ +0000dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dcc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000dcd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dd00: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0000dd10: 696e 6520 2036 290a 2a20 4372 6561 7469 ine 6).* Creati │ │ │ │ │ -0000dd20: 6e67 2061 2073 6f63 6b65 7420 3c31 3e3a ng a socket <1>: │ │ │ │ │ -0000dd30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dd40: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu │ │ │ │ │ -0000dd50: 7265 292e 2020 2028 6c69 6e65 2020 3629 re). (line 6) │ │ │ │ │ -0000dd60: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so │ │ │ │ │ -0000dd70: 636b 6574 203c 323e 3a20 2020 2020 2020 cket <2>: │ │ │ │ │ -0000dd80: 2020 2020 2020 2020 2020 4372 6561 7465 Create │ │ │ │ │ -0000dd90: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke │ │ │ │ │ -0000dda0: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. │ │ │ │ │ -0000ddb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ddc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000dde0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0000ddf0: 6e65 2020 3629 0a2a 2043 7265 6174 696e ne 6).* Creatin │ │ │ │ │ -0000de00: 6720 6120 736f 636b 6574 203c 333e 3a20 g a socket <3>: │ │ │ │ │ -0000de10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000de20: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast │ │ │ │ │ -0000de30: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio │ │ │ │ │ -0000de40: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. │ │ │ │ │ -0000de50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000de60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000de70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000de80: 2020 2028 6c69 6e65 2036 3029 0a2a 2043 (line 60).* C │ │ │ │ │ -0000de90: 7265 6174 696e 6720 6120 5443 5020 736f reating a TCP so │ │ │ │ │ -0000dea0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: │ │ │ │ │ -0000deb0: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up │ │ │ │ │ -0000dec0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets │ │ │ │ │ -0000ded0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000def0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dce0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0000dcf0: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating │ │ │ │ │ +0000dd00: 6120 6d75 6c74 6963 6173 7420 736f 636b a multicast sock │ │ │ │ │ +0000dd10: 6574 203c 323e 3a20 2020 2020 2020 4372 et <2>: Cr │ │ │ │ │ +0000dd20: 6561 7465 5f4d 756c 7469 6361 7374 5f53 eate_Multicast_S │ │ │ │ │ +0000dd30: 6f63 6b65 7420 2866 756e 6374 696f 6e29 ocket (function) │ │ │ │ │ +0000dd40: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000dd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dd60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dd70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dd80: 2028 6c69 6e65 2036 3029 0a2a 2043 7265 (line 60).* Cre │ │ │ │ │ +0000dd90: 6174 696e 6720 6120 7365 7276 6572 3a20 ating a server: │ │ │ │ │ +0000dda0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ddb0: 2020 2020 4269 6e64 2028 7072 6f63 6564 Bind (proced │ │ │ │ │ +0000ddc0: 7572 6529 2e20 2020 2020 286c 696e 6520 ure). (line │ │ │ │ │ +0000ddd0: 2036 290a 2a20 4372 6561 7469 6e67 2061 6).* Creating a │ │ │ │ │ +0000dde0: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: │ │ │ │ │ +0000ddf0: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ +0000de00: 7469 6e67 2075 7020 756e 6963 6173 7420 ting up unicast │ │ │ │ │ +0000de10: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. │ │ │ │ │ +0000de20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000de30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000de40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000de50: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0000de60: 290a 2a20 4372 6561 7469 6e67 2061 2073 ).* Creating a s │ │ │ │ │ +0000de70: 6f63 6b65 7420 3c31 3e3a 2020 2020 2020 ocket <1>: │ │ │ │ │ +0000de80: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke │ │ │ │ │ +0000de90: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). │ │ │ │ │ +0000dea0: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre │ │ │ │ │ +0000deb0: 6174 696e 6720 6120 736f 636b 6574 203c ating a socket < │ │ │ │ │ +0000dec0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0000ded0: 2020 2020 4372 6561 7465 5f4d 756c 7469 Create_Multi │ │ │ │ │ +0000dee0: 6361 7374 5f53 6f63 6b65 7420 2866 756e cast_Socket (fun │ │ │ │ │ +0000def0: 6374 696f 6e29 2e0a 2020 2020 2020 2020 ction).. │ │ │ │ │ 0000df00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df10: 2028 6c69 6e65 2020 3629 0a2a 2043 7265 (line 6).* Cre │ │ │ │ │ -0000df20: 6174 696e 6720 6120 5544 5020 736f 636b ating a UDP sock │ │ │ │ │ -0000df30: 6574 3a20 2020 2020 2020 2020 2020 2020 et: │ │ │ │ │ -0000df40: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u │ │ │ │ │ -0000df50: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets.. │ │ │ │ │ -0000df60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000df90: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000dfa0: 6c69 6e65 2020 3629 0a2a 2043 7265 6174 line 6).* Creat │ │ │ │ │ -0000dfb0: 696e 6720 6120 756e 6963 6173 7420 736f ing a unicast so │ │ │ │ │ -0000dfc0: 636b 6574 3a20 2020 2020 2020 2020 2020 cket: │ │ │ │ │ -0000dfd0: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni │ │ │ │ │ -0000dfe0: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. │ │ │ │ │ +0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000df20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000df30: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +0000df40: 0a2a 2043 7265 6174 696e 6720 6120 736f .* Creating a so │ │ │ │ │ +0000df50: 636b 6574 203c 333e 3a20 2020 2020 2020 cket <3>: │ │ │ │ │ +0000df60: 2020 2020 2020 2020 2020 4372 6561 7465 Create │ │ │ │ │ +0000df70: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke │ │ │ │ │ +0000df80: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. │ │ │ │ │ +0000df90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dfa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000dfc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0000dfd0: 6e65 2036 3029 0a2a 2043 7265 6174 696e ne 60).* Creatin │ │ │ │ │ +0000dfe0: 6720 6120 5443 5020 736f 636b 6574 3a20 g a TCP socket: │ │ │ │ │ 0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e020: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0000e030: 6e65 2020 3629 0a2a 2045 7374 6162 6c69 ne 6).* Establi │ │ │ │ │ -0000e040: 7368 696e 6720 6120 6c69 7374 656e 2071 shing a listen q │ │ │ │ │ -0000e050: 7565 7565 3a20 2020 2020 2020 2020 2020 ueue: │ │ │ │ │ -0000e060: 4c69 7374 656e 2028 7072 6f63 6564 7572 Listen (procedur │ │ │ │ │ -0000e070: 6529 2e20 2020 286c 696e 6520 2036 290a e). (line 6). │ │ │ │ │ -0000e080: 2a20 4669 6e64 696e 6720 4164 6153 6f63 * Finding AdaSoc │ │ │ │ │ -0000e090: 6b65 7473 206f 6e20 7468 6520 496e 7465 kets on the Inte │ │ │ │ │ -0000e0a0: 726e 6574 3a20 2020 2052 6573 6f75 7263 rnet: Resourc │ │ │ │ │ -0000e0b0: 6573 206f 6e20 7468 6520 496e 7465 726e es on the Intern │ │ │ │ │ -0000e0c0: 6574 2e0a 2020 2020 2020 2020 2020 2020 et.. │ │ │ │ │ +0000e000: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica │ │ │ │ │ +0000e010: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. │ │ │ │ │ +0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e050: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0000e060: 2020 3629 0a2a 2043 7265 6174 696e 6720 6).* Creating │ │ │ │ │ +0000e070: 6120 5544 5020 736f 636b 6574 3a20 2020 a UDP socket: │ │ │ │ │ +0000e080: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +0000e090: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast │ │ │ │ │ +0000e0a0: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. │ │ │ │ │ +0000e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e0c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000e0d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e0e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e100: 2020 2028 6c69 6e65 2020 3629 0a2a 2047 (line 6).* G │ │ │ │ │ -0000e110: 6574 3a20 2020 2020 2020 2020 2020 2020 et: │ │ │ │ │ -0000e120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e130: 2020 2020 2020 4765 7420 2866 756e 6374 Get (funct │ │ │ │ │ -0000e140: 696f 6e29 2e20 2020 2020 2020 286c 696e ion). (lin │ │ │ │ │ -0000e150: 6520 2039 290a 2a20 4765 745f 4368 6172 e 9).* Get_Char │ │ │ │ │ -0000e160: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000e170: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -0000e180: 6574 5f43 6861 7220 2866 756e 6374 696f et_Char (functio │ │ │ │ │ -0000e190: 6e29 2e20 2028 6c69 6e65 2020 3929 0a2a n). (line 9).* │ │ │ │ │ -0000e1a0: 2047 6574 5f4c 696e 653a 2020 2020 2020 Get_Line: │ │ │ │ │ -0000e1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e1c0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line │ │ │ │ │ -0000e1d0: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l │ │ │ │ │ -0000e1e0: 696e 6520 2039 290a 2a20 4765 745f 4c69 ine 9).* Get_Li │ │ │ │ │ -0000e1f0: 6e65 203c 313e 3a20 2020 2020 2020 2020 ne <1>: │ │ │ │ │ -0000e200: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e210: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce │ │ │ │ │ -0000e220: 6475 7265 292e 2028 6c69 6e65 2020 3929 dure). (line 9) │ │ │ │ │ -0000e230: 0a2a 2047 6574 5f50 6565 725f 4164 6472 .* Get_Peer_Addr │ │ │ │ │ -0000e240: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000e250: 2020 2020 2020 2020 2020 4765 745f 5065 Get_Pe │ │ │ │ │ -0000e260: 6572 5f41 6464 7220 2866 756e 6374 696f er_Addr (functio │ │ │ │ │ -0000e270: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. │ │ │ │ │ -0000e280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e290: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e2b0: 2020 2028 6c69 6e65 2020 3929 0a2a 2047 (line 9).* G │ │ │ │ │ -0000e2c0: 6574 5f50 6565 725f 506f 7274 3a20 2020 et_Peer_Port: │ │ │ │ │ -0000e2d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e2e0: 2020 2020 2020 4765 745f 5065 6572 5f50 Get_Peer_P │ │ │ │ │ -0000e2f0: 6f72 7420 2866 756e 6374 696f 6e29 2e0a ort (function).. │ │ │ │ │ +0000e0e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0000e0f0: 3629 0a2a 2043 7265 6174 696e 6720 6120 6).* Creating a │ │ │ │ │ +0000e100: 756e 6963 6173 7420 736f 636b 6574 3a20 unicast socket: │ │ │ │ │ +0000e110: 2020 2020 2020 2020 2020 2020 5365 7474 Sett │ │ │ │ │ +0000e120: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s │ │ │ │ │ +0000e130: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. │ │ │ │ │ +0000e140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e160: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e170: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +0000e180: 0a2a 2045 7374 6162 6c69 7368 696e 6720 .* Establishing │ │ │ │ │ +0000e190: 6120 6c69 7374 656e 2071 7565 7565 3a20 a listen queue: │ │ │ │ │ +0000e1a0: 2020 2020 2020 2020 2020 4c69 7374 656e Listen │ │ │ │ │ +0000e1b0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ +0000e1c0: 286c 696e 6520 2036 290a 2a20 4669 6e64 (line 6).* Find │ │ │ │ │ +0000e1d0: 696e 6720 4164 6153 6f63 6b65 7473 206f ing AdaSockets o │ │ │ │ │ +0000e1e0: 6e20 7468 6520 496e 7465 726e 6574 3a20 n the Internet: │ │ │ │ │ +0000e1f0: 2020 2052 6573 6f75 7263 6573 206f 6e20 Resources on │ │ │ │ │ +0000e200: 7468 6520 496e 7465 726e 6574 2e0a 2020 the Internet.. │ │ │ │ │ +0000e210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e240: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0000e250: 6e65 2020 3629 0a2a 2047 6574 3a20 2020 ne 6).* Get: │ │ │ │ │ +0000e260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e280: 4765 7420 2866 756e 6374 696f 6e29 2e20 Get (function). │ │ │ │ │ +0000e290: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ +0000e2a0: 2a20 4765 745f 4368 6172 3a20 2020 2020 * Get_Char: │ │ │ │ │ +0000e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e2c0: 2020 2020 2020 2020 2047 6574 5f43 6861 Get_Cha │ │ │ │ │ +0000e2d0: 7220 2866 756e 6374 696f 6e29 2e20 2028 r (function). ( │ │ │ │ │ +0000e2e0: 6c69 6e65 2020 3929 0a2a 2047 6574 5f4c line 9).* Get_L │ │ │ │ │ +0000e2f0: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ 0000e300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e310: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e330: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000e340: 6c69 6e65 2020 3929 0a2a 2047 6574 5f52 line 9).* Get_R │ │ │ │ │ -0000e350: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz │ │ │ │ │ -0000e360: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ -0000e370: 2020 4765 745f 5265 6365 6976 655f 5175 Get_Receive_Qu │ │ │ │ │ -0000e380: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi │ │ │ │ │ -0000e390: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. │ │ │ │ │ -0000e3a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e3b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e310: 2020 4765 745f 4c69 6e65 2028 6675 6e63 Get_Line (func │ │ │ │ │ +0000e320: 7469 6f6e 292e 2020 286c 696e 6520 2039 tion). (line 9 │ │ │ │ │ +0000e330: 290a 2a20 4765 745f 4c69 6e65 203c 313e ).* Get_Line <1> │ │ │ │ │ +0000e340: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000e350: 2020 2020 2020 2020 2020 2047 6574 5f4c Get_L │ │ │ │ │ +0000e360: 696e 6520 2870 726f 6365 6475 7265 292e ine (procedure). │ │ │ │ │ +0000e370: 2028 6c69 6e65 2020 3929 0a2a 2047 6574 (line 9).* Get │ │ │ │ │ +0000e380: 5f50 6565 725f 4164 6472 3a20 2020 2020 _Peer_Addr: │ │ │ │ │ +0000e390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e3a0: 2020 2020 4765 745f 5065 6572 5f41 6464 Get_Peer_Add │ │ │ │ │ +0000e3b0: 7220 2866 756e 6374 696f 6e29 2e0a 2020 r (function).. │ │ │ │ │ 0000e3c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e3d0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -0000e3e0: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S │ │ │ │ │ -0000e3f0: 697a 653a 2020 2020 2020 2020 2020 2020 ize: │ │ │ │ │ -0000e400: 2020 2020 2020 2047 6574 5f53 656e 645f Get_Send_ │ │ │ │ │ -0000e410: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func │ │ │ │ │ -0000e420: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ -0000e430: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e3f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0000e400: 6e65 2020 3929 0a2a 2047 6574 5f50 6565 ne 9).* Get_Pee │ │ │ │ │ +0000e410: 725f 506f 7274 3a20 2020 2020 2020 2020 r_Port: │ │ │ │ │ +0000e420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e430: 4765 745f 5065 6572 5f50 6f72 7420 2866 Get_Peer_Port (f │ │ │ │ │ +0000e440: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. │ │ │ │ │ 0000e450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e460: 2020 2020 2020 286c 696e 6520 2039 290a (line 9). │ │ │ │ │ -0000e470: 2a20 4765 745f 536f 636b 5f41 6464 723a * Get_Sock_Addr: │ │ │ │ │ -0000e480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e490: 2020 2020 2020 2020 2047 6574 5f53 6f63 Get_Soc │ │ │ │ │ -0000e4a0: 6b5f 4164 6472 2028 6675 6e63 7469 6f6e k_Addr (function │ │ │ │ │ -0000e4b0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -0000e4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e4d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e480: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +0000e490: 3929 0a2a 2047 6574 5f52 6563 6569 7665 9).* Get_Receive │ │ │ │ │ +0000e4a0: 5f51 7565 7565 5f53 697a 653a 2020 2020 _Queue_Size: │ │ │ │ │ +0000e4b0: 2020 2020 2020 2020 2020 2020 4765 745f Get_ │ │ │ │ │ +0000e4c0: 5265 6365 6976 655f 5175 6575 655f 5369 Receive_Queue_Si │ │ │ │ │ +0000e4d0: 7a65 2028 6675 6e63 7469 6f6e 292e 0a20 ze (function).. │ │ │ │ │ 0000e4e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e4f0: 2020 286c 696e 6520 2039 290a 2a20 4765 (line 9).* Ge │ │ │ │ │ -0000e500: 745f 536f 636b 5f50 6f72 743a 2020 2020 t_Sock_Port: │ │ │ │ │ -0000e510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e520: 2020 2020 2047 6574 5f53 6f63 6b5f 506f Get_Sock_Po │ │ │ │ │ -0000e530: 7274 2028 6675 6e63 7469 6f6e 292e 0a20 rt (function).. │ │ │ │ │ +0000e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e510: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0000e520: 696e 6520 2039 290a 2a20 4765 745f 5365 ine 9).* Get_Se │ │ │ │ │ +0000e530: 6e64 5f51 7565 7565 5f53 697a 653a 2020 nd_Queue_Size: │ │ │ │ │ 0000e540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e560: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e570: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0000e580: 696e 6520 2039 290a 2a20 4765 7473 6f63 ine 9).* Getsoc │ │ │ │ │ -0000e590: 6b6f 7074 3a20 2020 2020 2020 2020 2020 kopt: │ │ │ │ │ +0000e550: 2047 6574 5f53 656e 645f 5175 6575 655f Get_Send_Queue_ │ │ │ │ │ +0000e560: 5369 7a65 2028 6675 6e63 7469 6f6e 292e Size (function). │ │ │ │ │ +0000e570: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +0000e580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000e5a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e5b0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro │ │ │ │ │ -0000e5c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ +0000e5b0: 286c 696e 6520 2039 290a 2a20 4765 745f (line 9).* Get_ │ │ │ │ │ +0000e5c0: 536f 636b 5f41 6464 723a 2020 2020 2020 Sock_Addr: │ │ │ │ │ 0000e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e5e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e5f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e600: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9 │ │ │ │ │ -0000e610: 290a 2a20 4772 6f75 7020 636f 6d6d 756e ).* Group commun │ │ │ │ │ -0000e620: 6963 6174 696f 6e3a 2020 2020 2020 2020 ication: │ │ │ │ │ -0000e630: 2020 2020 2020 2020 2020 2053 6574 7469 Setti │ │ │ │ │ -0000e640: 6e67 2075 7020 6d75 6c74 6963 6173 7420 ng up multicast │ │ │ │ │ -0000e650: 736f 636b 6574 732e 0a20 2020 2020 2020 sockets.. │ │ │ │ │ -0000e660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e690: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ -0000e6a0: 290a 2a20 4861 6e64 6c69 6e67 2061 206e ).* Handling a n │ │ │ │ │ -0000e6b0: 6577 2063 6f6e 6e65 6374 696f 6e3a 2020 ew connection: │ │ │ │ │ -0000e6c0: 2020 2020 2020 2020 2020 2041 6363 6570 Accep │ │ │ │ │ -0000e6d0: 745f 536f 636b 6574 2028 7072 6f63 6564 t_Socket (proced │ │ │ │ │ -0000e6e0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ -0000e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e720: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ -0000e730: 2048 6f73 745f 456e 7472 793a 2020 2020 Host_Entry: │ │ │ │ │ +0000e5e0: 2020 2047 6574 5f53 6f63 6b5f 4164 6472 Get_Sock_Addr │ │ │ │ │ +0000e5f0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ +0000e600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e630: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0000e640: 6520 2039 290a 2a20 4765 745f 536f 636b e 9).* Get_Sock │ │ │ │ │ +0000e650: 5f50 6f72 743a 2020 2020 2020 2020 2020 _Port: │ │ │ │ │ +0000e660: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ +0000e670: 6574 5f53 6f63 6b5f 506f 7274 2028 6675 et_Sock_Port (fu │ │ │ │ │ +0000e680: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. │ │ │ │ │ +0000e690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e6c0: 2020 2020 2020 2020 286c 696e 6520 2039 (line 9 │ │ │ │ │ +0000e6d0: 290a 2a20 4765 7473 6f63 6b6f 7074 3a20 ).* Getsockopt: │ │ │ │ │ +0000e6e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e6f0: 2020 2020 2020 2020 2020 2047 6574 736f Getso │ │ │ │ │ +0000e700: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ +0000e710: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ +0000e720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000e740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e750: 2020 2020 2020 2020 536f 636b 6574 732e Sockets. │ │ │ │ │ -0000e760: 4e61 6d69 6e67 2070 6163 6b61 6765 2e0a Naming package.. │ │ │ │ │ -0000e770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e7a0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000e7b0: 6c69 6e65 2032 3429 0a2a 2048 6f73 745f line 24).* Host_ │ │ │ │ │ -0000e7c0: 4e61 6d65 3a20 2020 2020 2020 2020 2020 Name: │ │ │ │ │ +0000e750: 2020 286c 696e 6520 2039 290a 2a20 4772 (line 9).* Gr │ │ │ │ │ +0000e760: 6f75 7020 636f 6d6d 756e 6963 6174 696f oup communicatio │ │ │ │ │ +0000e770: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: │ │ │ │ │ +0000e780: 2020 2020 2053 6574 7469 6e67 2075 7020 Setting up │ │ │ │ │ +0000e790: 6d75 6c74 6963 6173 7420 736f 636b 6574 multicast socket │ │ │ │ │ +0000e7a0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. │ │ │ │ │ +0000e7b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e7e0: 2020 486f 7374 5f4e 616d 6520 2866 756e Host_Name (fun │ │ │ │ │ -0000e7f0: 6374 696f 6e29 2e20 286c 696e 6520 2039 ction). (line 9 │ │ │ │ │ -0000e800: 290a 2a20 496d 6167 653a 2020 2020 2020 ).* Image: │ │ │ │ │ -0000e810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e820: 2020 2020 2020 2020 2020 2049 6d61 6765 Image │ │ │ │ │ -0000e830: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). │ │ │ │ │ -0000e840: 2028 6c69 6e65 2020 3929 0a2a 2049 6e66 (line 9).* Inf │ │ │ │ │ -0000e850: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 503a o_Of_Name_Or_IP: │ │ │ │ │ -0000e860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e870: 2020 2020 496e 666f 5f4f 665f 4e61 6d65 Info_Of_Name │ │ │ │ │ -0000e880: 5f4f 725f 4950 2028 6675 6e63 7469 6f6e _Or_IP (function │ │ │ │ │ -0000e890: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -0000e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e7e0: 2020 286c 696e 6520 2036 290a 2a20 4861 (line 6).* Ha │ │ │ │ │ +0000e7f0: 6e64 6c69 6e67 2061 206e 6577 2063 6f6e ndling a new con │ │ │ │ │ +0000e800: 6e65 6374 696f 6e3a 2020 2020 2020 2020 nection: │ │ │ │ │ +0000e810: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock │ │ │ │ │ +0000e820: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure).. │ │ │ │ │ +0000e830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e860: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0000e870: 6c69 6e65 2020 3629 0a2a 2048 6f73 745f line 6).* Host_ │ │ │ │ │ +0000e880: 456e 7472 793a 2020 2020 2020 2020 2020 Entry: │ │ │ │ │ +0000e890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e8a0: 2020 536f 636b 6574 732e 4e61 6d69 6e67 Sockets.Naming │ │ │ │ │ +0000e8b0: 2070 6163 6b61 6765 2e0a 2020 2020 2020 package.. │ │ │ │ │ 0000e8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e8d0: 2020 286c 696e 6520 2039 290a 2a20 496e (line 9).* In │ │ │ │ │ -0000e8e0: 7374 616c 6c69 6e67 2041 6461 536f 636b stalling AdaSock │ │ │ │ │ -0000e8f0: 6574 733a 2020 2020 2020 2020 2020 2020 ets: │ │ │ │ │ -0000e900: 2020 2020 2049 6e73 7461 6c6c 696e 6720 Installing │ │ │ │ │ -0000e910: 4164 6153 6f63 6b65 7473 2e0a 2020 2020 AdaSockets.. │ │ │ │ │ -0000e920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e950: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000e960: 2020 3629 0a2a 2049 505f 4144 445f 4d45 6).* IP_ADD_ME │ │ │ │ │ -0000e970: 4d42 4552 5348 4950 3a20 2020 2020 2020 MBERSHIP: │ │ │ │ │ -0000e980: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ -0000e990: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ -0000e9a0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ -0000e9b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000e9e0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ -0000e9f0: 2049 505f 4144 445f 4d45 4d42 4552 5348 IP_ADD_MEMBERSH │ │ │ │ │ -0000ea00: 4950 203c 313e 3a20 2020 2020 2020 2020 IP <1>: │ │ │ │ │ -0000ea10: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko │ │ │ │ │ -0000ea20: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ -0000ea30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ea40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ea50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ea60: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000ea70: 6c69 6e65 2032 3029 0a2a 2049 505f 4452 line 20).* IP_DR │ │ │ │ │ -0000ea80: 4f50 5f4d 454d 4245 5253 4849 503a 2020 OP_MEMBERSHIP: │ │ │ │ │ +0000e8d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e8f0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +0000e900: 3429 0a2a 2048 6f73 745f 4e61 6d65 3a20 4).* Host_Name: │ │ │ │ │ +0000e910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e920: 2020 2020 2020 2020 2020 2020 486f 7374 Host │ │ │ │ │ +0000e930: 5f4e 616d 6520 2866 756e 6374 696f 6e29 _Name (function) │ │ │ │ │ +0000e940: 2e20 286c 696e 6520 2039 290a 2a20 496d . (line 9).* Im │ │ │ │ │ +0000e950: 6167 653a 2020 2020 2020 2020 2020 2020 age: │ │ │ │ │ +0000e960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e970: 2020 2020 2049 6d61 6765 2028 6675 6e63 Image (func │ │ │ │ │ +0000e980: 7469 6f6e 292e 2020 2020 2028 6c69 6e65 tion). (line │ │ │ │ │ +0000e990: 2020 3929 0a2a 2049 6e66 6f5f 4f66 5f4e 9).* Info_Of_N │ │ │ │ │ +0000e9a0: 616d 655f 4f72 5f49 503a 2020 2020 2020 ame_Or_IP: │ │ │ │ │ +0000e9b0: 2020 2020 2020 2020 2020 2020 2020 496e In │ │ │ │ │ +0000e9c0: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP │ │ │ │ │ +0000e9d0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ +0000e9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000e9f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ea00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ea10: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0000ea20: 6520 2039 290a 2a20 496e 7374 616c 6c69 e 9).* Installi │ │ │ │ │ +0000ea30: 6e67 2041 6461 536f 636b 6574 733a 2020 ng AdaSockets: │ │ │ │ │ +0000ea40: 2020 2020 2020 2020 2020 2020 2020 2049 I │ │ │ │ │ +0000ea50: 6e73 7461 6c6c 696e 6720 4164 6153 6f63 nstalling AdaSoc │ │ │ │ │ +0000ea60: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. │ │ │ │ │ +0000ea70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ea80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000ea90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eaa0: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr │ │ │ │ │ -0000eab0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ -0000eac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ead0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eaf0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ -0000eb00: 3029 0a2a 2049 505f 4452 4f50 5f4d 454d 0).* IP_DROP_MEM │ │ │ │ │ -0000eb10: 4245 5253 4849 5020 3c31 3e3a 2020 2020 BERSHIP <1>: │ │ │ │ │ -0000eb20: 2020 2020 2020 2020 2020 2020 5365 7473 Sets │ │ │ │ │ -0000eb30: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur │ │ │ │ │ -0000eb40: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ -0000eb50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eb60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eb70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eb80: 2020 2028 6c69 6e65 2032 3029 0a2a 2049 (line 20).* I │ │ │ │ │ -0000eb90: 505f 4d55 4c54 4943 4153 545f 4c4f 4f50 P_MULTICAST_LOOP │ │ │ │ │ -0000eba0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000ebb0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt │ │ │ │ │ -0000ebc0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ -0000ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ebe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ebf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ec00: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0000ec10: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54 ne 20).* IP_MULT │ │ │ │ │ -0000ec20: 4943 4153 545f 4c4f 4f50 203c 313e 3a20 ICAST_LOOP <1>: │ │ │ │ │ +0000eaa0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ +0000eab0: 2049 505f 4144 445f 4d45 4d42 4552 5348 IP_ADD_MEMBERSH │ │ │ │ │ +0000eac0: 4950 3a20 2020 2020 2020 2020 2020 2020 IP: │ │ │ │ │ +0000ead0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko │ │ │ │ │ +0000eae0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ +0000eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eb10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eb20: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0000eb30: 6c69 6e65 2032 3029 0a2a 2049 505f 4144 line 20).* IP_AD │ │ │ │ │ +0000eb40: 445f 4d45 4d42 4552 5348 4950 203c 313e D_MEMBERSHIP <1> │ │ │ │ │ +0000eb50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000eb60: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr │ │ │ │ │ +0000eb70: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +0000eb80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eb90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ebb0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +0000ebc0: 3029 0a2a 2049 505f 4452 4f50 5f4d 454d 0).* IP_DROP_MEM │ │ │ │ │ +0000ebd0: 4245 5253 4849 503a 2020 2020 2020 2020 BERSHIP: │ │ │ │ │ +0000ebe0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets │ │ │ │ │ +0000ebf0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur │ │ │ │ │ +0000ec00: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ +0000ec10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ec20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000ec30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ec40: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc │ │ │ │ │ -0000ec50: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ -0000ec60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ec70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ec80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ec90: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ -0000eca0: 0a2a 2049 505f 4d55 4c54 4943 4153 545f .* IP_MULTICAST_ │ │ │ │ │ -0000ecb0: 5454 4c3a 2020 2020 2020 2020 2020 2020 TTL: │ │ │ │ │ -0000ecc0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc │ │ │ │ │ -0000ecd0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ -0000ece0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000ec40: 2020 2028 6c69 6e65 2032 3029 0a2a 2049 (line 20).* I │ │ │ │ │ +0000ec50: 505f 4452 4f50 5f4d 454d 4245 5253 4849 P_DROP_MEMBERSHI │ │ │ │ │ +0000ec60: 5020 3c31 3e3a 2020 2020 2020 2020 2020 P <1>: │ │ │ │ │ +0000ec70: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt │ │ │ │ │ +0000ec80: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +0000ec90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ecb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ecc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +0000ecd0: 6e65 2032 3029 0a2a 2049 505f 4d55 4c54 ne 20).* IP_MULT │ │ │ │ │ +0000ece0: 4943 4153 545f 4c4f 4f50 3a20 2020 2020 ICAST_LOOP: │ │ │ │ │ 0000ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ed00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ed10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ed20: 2028 6c69 6e65 2032 3029 0a2a 2049 505f (line 20).* IP_ │ │ │ │ │ -0000ed30: 4d55 4c54 4943 4153 545f 5454 4c20 3c31 MULTICAST_TTL <1 │ │ │ │ │ -0000ed40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -0000ed50: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt ( │ │ │ │ │ -0000ed60: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ -0000ed70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ed80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ed90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eda0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000edb0: 2032 3029 0a2a 2049 5050 524f 544f 5f49 20).* IPPROTO_I │ │ │ │ │ -0000edc0: 503a 2020 2020 2020 2020 2020 2020 2020 P: │ │ │ │ │ -0000edd0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ -0000ede0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ -0000edf0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ +0000ed00: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc │ │ │ │ │ +0000ed10: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +0000ed20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ed30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ed40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ed50: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ +0000ed60: 0a2a 2049 505f 4d55 4c54 4943 4153 545f .* IP_MULTICAST_ │ │ │ │ │ +0000ed70: 4c4f 4f50 203c 313e 3a20 2020 2020 2020 LOOP <1>: │ │ │ │ │ +0000ed80: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc │ │ │ │ │ +0000ed90: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ +0000eda0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000edb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000edc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000edd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ede0: 2028 6c69 6e65 2032 3029 0a2a 2049 505f (line 20).* IP_ │ │ │ │ │ +0000edf0: 4d55 4c54 4943 4153 545f 5454 4c3a 2020 MULTICAST_TTL: │ │ │ │ │ 0000ee00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ee10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ee20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ee30: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ -0000ee40: 2049 5050 524f 544f 5f49 5020 3c31 3e3a IPPROTO_IP <1>: │ │ │ │ │ +0000ee10: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt ( │ │ │ │ │ +0000ee20: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ +0000ee30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ee40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000ee50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ee60: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko │ │ │ │ │ -0000ee70: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ -0000ee80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ee90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eeb0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -0000eec0: 6c69 6e65 2032 3029 0a2a 2049 735f 4950 line 20).* Is_IP │ │ │ │ │ -0000eed0: 5f41 6464 7265 7373 3a20 2020 2020 2020 _Address: │ │ │ │ │ +0000ee60: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0000ee70: 2032 3029 0a2a 2049 505f 4d55 4c54 4943 20).* IP_MULTIC │ │ │ │ │ +0000ee80: 4153 545f 5454 4c20 3c31 3e3a 2020 2020 AST_TTL <1>: │ │ │ │ │ +0000ee90: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +0000eea0: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ +0000eeb0: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ +0000eec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000eed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000eee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000eef0: 2020 4973 5f49 505f 4164 6472 6573 7320 Is_IP_Address │ │ │ │ │ -0000ef00: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. │ │ │ │ │ +0000eef0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ +0000ef00: 2049 5050 524f 544f 5f49 503a 2020 2020 IPPROTO_IP: │ │ │ │ │ 0000ef10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ef20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ef30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ef40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000ef50: 2020 3929 0a2a 204c 463a 2020 2020 2020 9).* LF: │ │ │ │ │ +0000ef20: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko │ │ │ │ │ +0000ef30: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ +0000ef40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000ef50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000ef60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ef70: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ -0000ef80: 745f 4c69 6e65 2028 6675 6e63 7469 6f6e t_Line (function │ │ │ │ │ -0000ef90: 292e 2020 286c 696e 6520 3231 290a 2a20 ). (line 21).* │ │ │ │ │ -0000efa0: 4c46 203c 313e 3a20 2020 2020 2020 2020 LF <1>: │ │ │ │ │ -0000efb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000efc0: 2020 2020 2020 2047 6574 5f4c 696e 6520 Get_Line │ │ │ │ │ -0000efd0: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li │ │ │ │ │ -0000efe0: 6e65 2031 3829 0a2a 204c 4620 3c32 3e3a ne 18).* LF <2>: │ │ │ │ │ +0000ef70: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +0000ef80: 6c69 6e65 2032 3029 0a2a 2049 5050 524f line 20).* IPPRO │ │ │ │ │ +0000ef90: 544f 5f49 5020 3c31 3e3a 2020 2020 2020 TO_IP <1>: │ │ │ │ │ +0000efa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000efb0: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr │ │ │ │ │ +0000efc0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +0000efd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000efe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000eff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f010: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced │ │ │ │ │ -0000f020: 7572 6529 2e20 286c 696e 6520 3137 290a ure). (line 17). │ │ │ │ │ -0000f030: 2a20 4c69 7374 656e 3a20 2020 2020 2020 * Listen: │ │ │ │ │ -0000f040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f050: 2020 2020 2020 2020 204c 6973 7465 6e20 Listen │ │ │ │ │ -0000f060: 2870 726f 6365 6475 7265 292e 2020 2028 (procedure). ( │ │ │ │ │ -0000f070: 6c69 6e65 2020 3929 0a2a 204c 6973 7465 line 9).* Liste │ │ │ │ │ -0000f080: 6e20 7175 6575 653a 2020 2020 2020 2020 n queue: │ │ │ │ │ -0000f090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f0a0: 2020 4c69 7374 656e 2028 7072 6f63 6564 Listen (proced │ │ │ │ │ -0000f0b0: 7572 6529 2e20 2020 286c 696e 6520 2036 ure). (line 6 │ │ │ │ │ -0000f0c0: 290a 2a20 4d61 6e69 7075 6c61 7469 6e67 ).* Manipulating │ │ │ │ │ -0000f0d0: 2073 6f63 6b65 7420 6f70 7469 6f6e 733a socket options: │ │ │ │ │ -0000f0e0: 2020 2020 2020 2020 2020 2047 6574 736f Getso │ │ │ │ │ -0000f0f0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ -0000f100: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -0000f110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f140: 2020 286c 696e 6520 2036 290a 2a20 4d61 (line 6).* Ma │ │ │ │ │ -0000f150: 6e69 7075 6c61 7469 6e67 2073 6f63 6b65 nipulating socke │ │ │ │ │ -0000f160: 7420 6f70 7469 6f6e 7320 3c31 3e3a 2020 t options <1>: │ │ │ │ │ -0000f170: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt │ │ │ │ │ -0000f180: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ +0000f000: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +0000f010: 3029 0a2a 2049 735f 4950 5f41 6464 7265 0).* Is_IP_Addre │ │ │ │ │ +0000f020: 7373 3a20 2020 2020 2020 2020 2020 2020 ss: │ │ │ │ │ +0000f030: 2020 2020 2020 2020 2020 2020 4973 5f49 Is_I │ │ │ │ │ +0000f040: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct │ │ │ │ │ +0000f050: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ +0000f060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f090: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).* │ │ │ │ │ +0000f0a0: 204c 463a 2020 2020 2020 2020 2020 2020 LF: │ │ │ │ │ +0000f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f0c0: 2020 2020 2020 2020 4765 745f 4c69 6e65 Get_Line │ │ │ │ │ +0000f0d0: 2028 6675 6e63 7469 6f6e 292e 2020 286c (function). (l │ │ │ │ │ +0000f0e0: 696e 6520 3231 290a 2a20 4c46 203c 313e ine 21).* LF <1> │ │ │ │ │ +0000f0f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000f100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f110: 2047 6574 5f4c 696e 6520 2870 726f 6365 Get_Line (proce │ │ │ │ │ +0000f120: 6475 7265 292e 2028 6c69 6e65 2031 3829 dure). (line 18) │ │ │ │ │ +0000f130: 0a2a 204c 4620 3c32 3e3a 2020 2020 2020 .* LF <2>: │ │ │ │ │ +0000f140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f150: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li │ │ │ │ │ +0000f160: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). │ │ │ │ │ +0000f170: 286c 696e 6520 3137 290a 2a20 4c69 7374 (line 17).* List │ │ │ │ │ +0000f180: 656e 3a20 2020 2020 2020 2020 2020 2020 en: │ │ │ │ │ 0000f190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f1a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f1c0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000f1d0: 6520 2036 290a 2a20 4d62 6f6e 653a 2020 e 6).* Mbone: │ │ │ │ │ -0000f1e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f1f0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f200: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic │ │ │ │ │ -0000f210: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. │ │ │ │ │ -0000f220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f250: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000f260: 6520 2036 290a 2a20 4d75 6c74 6963 6173 e 6).* Multicas │ │ │ │ │ -0000f270: 7420 736f 636b 6574 733a 2020 2020 2020 t sockets: │ │ │ │ │ -0000f280: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f290: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic │ │ │ │ │ -0000f2a0: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. │ │ │ │ │ -0000f2b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f2c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f2d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f2e0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000f2f0: 6520 2036 290a 2a20 4d75 6c74 6963 6173 e 6).* Multicas │ │ │ │ │ -0000f300: 745f 536f 636b 6574 5f46 443a 2020 2020 t_Socket_FD: │ │ │ │ │ -0000f310: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f320: 6574 7469 6e67 2075 7020 6d75 6c74 6963 etting up multic │ │ │ │ │ -0000f330: 6173 7420 736f 636b 6574 732e 0a20 2020 ast sockets.. │ │ │ │ │ -0000f340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f370: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000f380: 6520 3136 290a 2a20 4d75 6c74 6963 6173 e 16).* Multicas │ │ │ │ │ -0000f390: 745f 536f 636b 6574 5f46 4420 3c31 3e3a t_Socket_FD <1>: │ │ │ │ │ -0000f3a0: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -0000f3b0: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast │ │ │ │ │ -0000f3c0: 2070 6163 6b61 6765 2e0a 2020 2020 2020 package.. │ │ │ │ │ -0000f3d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f3e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f3f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f400: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0000f410: 3829 0a2a 204e 616d 655f 4f66 3a20 2020 8).* Name_Of: │ │ │ │ │ +0000f1a0: 2020 204c 6973 7465 6e20 2870 726f 6365 Listen (proce │ │ │ │ │ +0000f1b0: 6475 7265 292e 2020 2028 6c69 6e65 2020 dure). (line │ │ │ │ │ +0000f1c0: 3929 0a2a 204c 6973 7465 6e20 7175 6575 9).* Listen queu │ │ │ │ │ +0000f1d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: │ │ │ │ │ +0000f1e0: 2020 2020 2020 2020 2020 2020 4c69 7374 List │ │ │ │ │ +0000f1f0: 656e 2028 7072 6f63 6564 7572 6529 2e20 en (procedure). │ │ │ │ │ +0000f200: 2020 286c 696e 6520 2036 290a 2a20 4d61 (line 6).* Ma │ │ │ │ │ +0000f210: 6e69 7075 6c61 7469 6e67 2073 6f63 6b65 nipulating socke │ │ │ │ │ +0000f220: 7420 6f70 7469 6f6e 733a 2020 2020 2020 t options: │ │ │ │ │ +0000f230: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt │ │ │ │ │ +0000f240: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ +0000f250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f280: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0000f290: 6520 2036 290a 2a20 4d61 6e69 7075 6c61 e 6).* Manipula │ │ │ │ │ +0000f2a0: 7469 6e67 2073 6f63 6b65 7420 6f70 7469 ting socket opti │ │ │ │ │ +0000f2b0: 6f6e 7320 3c31 3e3a 2020 2020 2020 2053 ons <1>: S │ │ │ │ │ +0000f2c0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ +0000f2d0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ +0000f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f2f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f310: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0000f320: 2a20 4d62 6f6e 653a 2020 2020 2020 2020 * Mbone: │ │ │ │ │ +0000f330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f340: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ +0000f350: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so │ │ │ │ │ +0000f360: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. │ │ │ │ │ +0000f370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f3a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0000f3b0: 2a20 4d75 6c74 6963 6173 7420 736f 636b * Multicast sock │ │ │ │ │ +0000f3c0: 6574 733a 2020 2020 2020 2020 2020 2020 ets: │ │ │ │ │ +0000f3d0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ +0000f3e0: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so │ │ │ │ │ +0000f3f0: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. │ │ │ │ │ +0000f400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f430: 2020 2020 2020 2020 2020 2020 4e61 6d65 Name │ │ │ │ │ -0000f440: 5f4f 6620 2866 756e 6374 696f 6e29 2e20 _Of (function). │ │ │ │ │ -0000f450: 2020 286c 696e 6520 2039 290a 2a20 4e61 (line 9).* Na │ │ │ │ │ -0000f460: 6d69 6e67 5f45 7272 6f72 3a20 2020 2020 ming_Error: │ │ │ │ │ -0000f470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f480: 2020 2020 2041 6464 7265 7373 5f4f 6620 Address_Of │ │ │ │ │ -0000f490: 2866 756e 6374 696f 6e29 2e0a 2020 2020 (function).. │ │ │ │ │ +0000f430: 2020 2020 2020 286c 696e 6520 2036 290a (line 6). │ │ │ │ │ +0000f440: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock │ │ │ │ │ +0000f450: 6574 5f46 443a 2020 2020 2020 2020 2020 et_FD: │ │ │ │ │ +0000f460: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ +0000f470: 2075 7020 6d75 6c74 6963 6173 7420 736f up multicast so │ │ │ │ │ +0000f480: 636b 6574 732e 0a20 2020 2020 2020 2020 ckets.. │ │ │ │ │ +0000f490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f4a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f4b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f4c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f4d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -0000f4e0: 2032 3129 0a2a 204e 616d 696e 675f 4572 21).* Naming_Er │ │ │ │ │ -0000f4f0: 726f 7220 3c31 3e3a 2020 2020 2020 2020 ror <1>: │ │ │ │ │ -0000f500: 2020 2020 2020 2020 2020 2020 2020 496e In │ │ │ │ │ -0000f510: 666f 5f4f 665f 4e61 6d65 5f4f 725f 4950 fo_Of_Name_Or_IP │ │ │ │ │ -0000f520: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ +0000f4c0: 2020 2020 2020 286c 696e 6520 3136 290a (line 16). │ │ │ │ │ +0000f4d0: 2a20 4d75 6c74 6963 6173 745f 536f 636b * Multicast_Sock │ │ │ │ │ +0000f4e0: 6574 5f46 4420 3c31 3e3a 2020 2020 2020 et_FD <1>: │ │ │ │ │ +0000f4f0: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets │ │ │ │ │ +0000f500: 2e4d 756c 7469 6361 7374 2070 6163 6b61 .Multicast packa │ │ │ │ │ +0000f510: 6765 2e0a 2020 2020 2020 2020 2020 2020 ge.. │ │ │ │ │ +0000f520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f540: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f560: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -0000f570: 6520 3235 290a 2a20 4e61 6d69 6e67 5f45 e 25).* Naming_E │ │ │ │ │ -0000f580: 7272 6f72 203c 323e 3a20 2020 2020 2020 rror <2>: │ │ │ │ │ -0000f590: 2020 2020 2020 2020 2020 2020 2020 204e N │ │ │ │ │ -0000f5a0: 616d 655f 4f66 2028 6675 6e63 7469 6f6e ame_Of (function │ │ │ │ │ -0000f5b0: 292e 2020 2028 6c69 6e65 2032 3029 0a2a ). (line 20).* │ │ │ │ │ -0000f5c0: 204e 6577 5f4c 696e 653a 2020 2020 2020 New_Line: │ │ │ │ │ -0000f5d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f5e0: 2020 2020 2020 2020 4e65 775f 4c69 6e65 New_Line │ │ │ │ │ -0000f5f0: 2028 7072 6f63 6564 7572 6529 2e20 286c (procedure). (l │ │ │ │ │ -0000f600: 696e 6520 2039 290a 2a20 5046 5f49 4e45 ine 9).* PF_INE │ │ │ │ │ -0000f610: 543a 2020 2020 2020 2020 2020 2020 2020 T: │ │ │ │ │ -0000f620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f630: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu │ │ │ │ │ -0000f640: 7265 292e 2020 2028 6c69 6e65 2031 3929 re). (line 19) │ │ │ │ │ -0000f650: 0a2a 2050 7574 3a20 2020 2020 2020 2020 .* Put: │ │ │ │ │ -0000f660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f670: 2020 2020 2020 2020 2020 5075 7420 2870 Put (p │ │ │ │ │ -0000f680: 726f 6365 6475 7265 292e 2020 2020 2020 rocedure). │ │ │ │ │ -0000f690: 286c 696e 6520 2039 290a 2a20 5075 745f (line 9).* Put_ │ │ │ │ │ -0000f6a0: 4c69 6e65 3a20 2020 2020 2020 2020 2020 Line: │ │ │ │ │ -0000f6b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f6c0: 2020 2050 7574 5f4c 696e 6520 2870 726f Put_Line (pro │ │ │ │ │ -0000f6d0: 6365 6475 7265 292e 2028 6c69 6e65 2020 cedure). (line │ │ │ │ │ -0000f6e0: 3929 0a2a 2052 6177 2064 6174 6120 6d61 9).* Raw data ma │ │ │ │ │ -0000f6f0: 6e69 7075 6c61 7469 6f6e 3a20 2020 2020 nipulation: │ │ │ │ │ -0000f700: 2020 2020 2020 2020 2020 2020 5261 7720 Raw │ │ │ │ │ -0000f710: 6461 7461 206d 616e 6970 756c 6174 696f data manipulatio │ │ │ │ │ -0000f720: 6e2e 0a20 2020 2020 2020 2020 2020 2020 n.. │ │ │ │ │ -0000f730: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f760: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re │ │ │ │ │ -0000f770: 6365 6976 653a 2020 2020 2020 2020 2020 ceive: │ │ │ │ │ -0000f780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f790: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu │ │ │ │ │ -0000f7a0: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line │ │ │ │ │ -0000f7b0: 2020 3929 0a2a 2052 6563 6569 7665 203c 9).* Receive < │ │ │ │ │ -0000f7c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -0000f7d0: 2020 2020 2020 2020 2020 2020 2020 5265 Re │ │ │ │ │ -0000f7e0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure │ │ │ │ │ -0000f7f0: 292e 2020 286c 696e 6520 2039 290a 2a20 ). (line 9).* │ │ │ │ │ -0000f800: 5265 6365 6976 6520 3c32 3e3a 2020 2020 Receive <2>: │ │ │ │ │ -0000f810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f820: 2020 2020 2020 2053 6875 7464 6f77 6e20 Shutdown │ │ │ │ │ -0000f830: 2870 726f 6365 6475 7265 292e 2028 6c69 (procedure). (li │ │ │ │ │ -0000f840: 6e65 2031 3729 0a2a 2052 6563 6569 7665 ne 17).* Receive │ │ │ │ │ -0000f850: 5f53 6f6d 653a 2020 2020 2020 2020 2020 _Some: │ │ │ │ │ -0000f860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f870: 5265 6365 6976 655f 536f 6d65 2028 7072 Receive_Some (pr │ │ │ │ │ -0000f880: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +0000f550: 2020 2028 6c69 6e65 2020 3829 0a2a 204e (line 8).* N │ │ │ │ │ +0000f560: 616d 655f 4f66 3a20 2020 2020 2020 2020 ame_Of: │ │ │ │ │ +0000f570: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f580: 2020 2020 2020 4e61 6d65 5f4f 6620 2866 Name_Of (f │ │ │ │ │ +0000f590: 756e 6374 696f 6e29 2e20 2020 286c 696e unction). (lin │ │ │ │ │ +0000f5a0: 6520 2039 290a 2a20 4e61 6d69 6e67 5f45 e 9).* Naming_E │ │ │ │ │ +0000f5b0: 7272 6f72 3a20 2020 2020 2020 2020 2020 rror: │ │ │ │ │ +0000f5c0: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +0000f5d0: 6464 7265 7373 5f4f 6620 2866 756e 6374 ddress_Of (funct │ │ │ │ │ +0000f5e0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ +0000f5f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f600: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f620: 2020 2020 2028 6c69 6e65 2032 3129 0a2a (line 21).* │ │ │ │ │ +0000f630: 204e 616d 696e 675f 4572 726f 7220 3c31 Naming_Error <1 │ │ │ │ │ +0000f640: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0000f650: 2020 2020 2020 2020 496e 666f 5f4f 665f Info_Of_ │ │ │ │ │ +0000f660: 4e61 6d65 5f4f 725f 4950 2028 6675 6e63 Name_Or_IP (func │ │ │ │ │ +0000f670: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ +0000f680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f690: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f6a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f6b0: 2020 2020 2020 286c 696e 6520 3235 290a (line 25). │ │ │ │ │ +0000f6c0: 2a20 4e61 6d69 6e67 5f45 7272 6f72 203c * Naming_Error < │ │ │ │ │ +0000f6d0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: │ │ │ │ │ +0000f6e0: 2020 2020 2020 2020 204e 616d 655f 4f66 Name_Of │ │ │ │ │ +0000f6f0: 2028 6675 6e63 7469 6f6e 292e 2020 2028 (function). ( │ │ │ │ │ +0000f700: 6c69 6e65 2032 3029 0a2a 204e 6577 5f4c line 20).* New_L │ │ │ │ │ +0000f710: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ +0000f720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f730: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc │ │ │ │ │ +0000f740: 6564 7572 6529 2e20 286c 696e 6520 2039 edure). (line 9 │ │ │ │ │ +0000f750: 290a 2a20 5046 5f49 4e45 543a 2020 2020 ).* PF_INET: │ │ │ │ │ +0000f760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f770: 2020 2020 2020 2020 2020 2053 6f63 6b65 Socke │ │ │ │ │ +0000f780: 7420 2870 726f 6365 6475 7265 292e 2020 t (procedure). │ │ │ │ │ +0000f790: 2028 6c69 6e65 2031 3929 0a2a 2050 7574 (line 19).* Put │ │ │ │ │ +0000f7a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +0000f7b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f7c0: 2020 2020 5075 7420 2870 726f 6365 6475 Put (procedu │ │ │ │ │ +0000f7d0: 7265 292e 2020 2020 2020 286c 696e 6520 re). (line │ │ │ │ │ +0000f7e0: 2039 290a 2a20 5075 745f 4c69 6e65 3a20 9).* Put_Line: │ │ │ │ │ +0000f7f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f800: 2020 2020 2020 2020 2020 2020 2050 7574 Put │ │ │ │ │ +0000f810: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure │ │ │ │ │ +0000f820: 292e 2028 6c69 6e65 2020 3929 0a2a 2052 ). (line 9).* R │ │ │ │ │ +0000f830: 6177 2064 6174 6120 6d61 6e69 7075 6c61 aw data manipula │ │ │ │ │ +0000f840: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: │ │ │ │ │ +0000f850: 2020 2020 2020 5261 7720 6461 7461 206d Raw data m │ │ │ │ │ +0000f860: 616e 6970 756c 6174 696f 6e2e 0a20 2020 anipulation.. │ │ │ │ │ +0000f870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000f890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f8a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f8c0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -0000f8d0: 3929 0a2a 2052 6563 6569 7669 6e67 2064 9).* Receiving d │ │ │ │ │ -0000f8e0: 6174 613a 2020 2020 2020 2020 2020 2020 ata: │ │ │ │ │ -0000f8f0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send │ │ │ │ │ -0000f900: 696e 6720 616e 6420 7265 6365 6976 696e ing and receivin │ │ │ │ │ -0000f910: 6720 6461 7461 2e0a 2020 2020 2020 2020 g data.. │ │ │ │ │ -0000f920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f950: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -0000f960: 0a2a 2052 6563 6569 7669 6e67 2064 6174 .* Receiving dat │ │ │ │ │ -0000f970: 6120 3c31 3e3a 2020 2020 2020 2020 2020 a <1>: │ │ │ │ │ -0000f980: 2020 2020 2020 2020 2020 4765 7420 2866 Get (f │ │ │ │ │ -0000f990: 756e 6374 696f 6e29 2e20 2020 2020 2020 unction). │ │ │ │ │ -0000f9a0: 286c 696e 6520 2036 290a 2a20 5265 6365 (line 6).* Rece │ │ │ │ │ -0000f9b0: 6976 696e 6720 6461 7461 203c 323e 3a20 iving data <2>: │ │ │ │ │ -0000f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000f9d0: 2020 2047 6574 5f43 6861 7220 2866 756e Get_Char (fun │ │ │ │ │ -0000f9e0: 6374 696f 6e29 2e20 2028 6c69 6e65 2020 ction). (line │ │ │ │ │ -0000f9f0: 3629 0a2a 2052 6563 6569 7669 6e67 2064 6).* Receiving d │ │ │ │ │ -0000fa00: 6174 6120 3c33 3e3a 2020 2020 2020 2020 ata <3>: │ │ │ │ │ -0000fa10: 2020 2020 2020 2020 2020 2020 4765 745f Get_ │ │ │ │ │ -0000fa20: 4c69 6e65 2028 6675 6e63 7469 6f6e 292e Line (function). │ │ │ │ │ -0000fa30: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re │ │ │ │ │ -0000fa40: 6365 6976 696e 6720 6461 7461 203c 343e ceiving data <4> │ │ │ │ │ -0000fa50: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000fa60: 2020 2020 2047 6574 5f4c 696e 6520 2870 Get_Line (p │ │ │ │ │ -0000fa70: 726f 6365 6475 7265 292e 2028 6c69 6e65 rocedure). (line │ │ │ │ │ -0000fa80: 2020 3629 0a2a 2052 6563 6569 7669 6e67 6).* Receiving │ │ │ │ │ -0000fa90: 2064 6174 6120 3c35 3e3a 2020 2020 2020 data <5>: │ │ │ │ │ -0000faa0: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ -0000fab0: 745f 5265 6365 6976 655f 5175 6575 655f t_Receive_Queue_ │ │ │ │ │ -0000fac0: 5369 7a65 2028 6675 6e63 7469 6f6e 292e Size (function). │ │ │ │ │ -0000fad0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -0000fae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000faf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fb00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fb10: 286c 696e 6520 2036 290a 2a20 5265 6365 (line 6).* Rece │ │ │ │ │ -0000fb20: 6976 696e 6720 6461 7461 203c 363e 3a20 iving data <6>: │ │ │ │ │ -0000fb30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fb40: 2020 2052 6563 6569 7665 2028 6675 6e63 Receive (func │ │ │ │ │ -0000fb50: 7469 6f6e 292e 2020 2028 6c69 6e65 2020 tion). (line │ │ │ │ │ -0000fb60: 3629 0a2a 2052 6563 6569 7669 6e67 2064 6).* Receiving d │ │ │ │ │ -0000fb70: 6174 6120 3c37 3e3a 2020 2020 2020 2020 ata <7>: │ │ │ │ │ -0000fb80: 2020 2020 2020 2020 2020 2020 5265 6365 Rece │ │ │ │ │ -0000fb90: 6976 6520 2870 726f 6365 6475 7265 292e ive (procedure). │ │ │ │ │ -0000fba0: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re │ │ │ │ │ -0000fbb0: 6365 6976 696e 6720 6461 7461 203c 383e ceiving data <8> │ │ │ │ │ -0000fbc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -0000fbd0: 2020 2020 2052 6563 6569 7665 5f53 6f6d Receive_Som │ │ │ │ │ -0000fbe0: 6520 2870 726f 6365 6475 7265 292e 0a20 e (procedure).. │ │ │ │ │ -0000fbf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fc00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fc10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fc20: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -0000fc30: 696e 6520 2036 290a 2a20 5265 6365 6976 ine 6).* Receiv │ │ │ │ │ -0000fc40: 696e 6720 6461 7461 203c 393e 3a20 2020 ing data <9>: │ │ │ │ │ -0000fc50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fc60: 2053 6574 5f42 7566 6665 7220 2870 726f Set_Buffer (pro │ │ │ │ │ -0000fc70: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ -0000fc80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fc90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fcb0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ -0000fcc0: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da │ │ │ │ │ -0000fcd0: 7461 203c 3130 3e3a 2020 2020 2020 2020 ta <10>: │ │ │ │ │ -0000fce0: 2020 2020 2020 2020 2020 2055 6e73 6574 Unset │ │ │ │ │ -0000fcf0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu │ │ │ │ │ -0000fd00: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ -0000fd10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fd20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fd30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fd40: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -0000fd50: 5265 706f 7274 696e 6720 6120 6275 673a Reporting a bug: │ │ │ │ │ +0000f8a0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +0000f8b0: 6520 2036 290a 2a20 5265 6365 6976 653a e 6).* Receive: │ │ │ │ │ +0000f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f8d0: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ +0000f8e0: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function │ │ │ │ │ +0000f8f0: 292e 2020 2028 6c69 6e65 2020 3929 0a2a ). (line 9).* │ │ │ │ │ +0000f900: 2052 6563 6569 7665 203c 313e 3a20 2020 Receive <1>: │ │ │ │ │ +0000f910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f920: 2020 2020 2020 2020 5265 6365 6976 6520 Receive │ │ │ │ │ +0000f930: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l │ │ │ │ │ +0000f940: 696e 6520 2039 290a 2a20 5265 6365 6976 ine 9).* Receiv │ │ │ │ │ +0000f950: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: │ │ │ │ │ +0000f960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f970: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce │ │ │ │ │ +0000f980: 6475 7265 292e 2028 6c69 6e65 2031 3729 dure). (line 17) │ │ │ │ │ +0000f990: 0a2a 2052 6563 6569 7665 5f53 6f6d 653a .* Receive_Some: │ │ │ │ │ +0000f9a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f9b0: 2020 2020 2020 2020 2020 5265 6365 6976 Receiv │ │ │ │ │ +0000f9c0: 655f 536f 6d65 2028 7072 6f63 6564 7572 e_Some (procedur │ │ │ │ │ +0000f9d0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ +0000f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fa00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fa10: 2020 2028 6c69 6e65 2020 3929 0a2a 2052 (line 9).* R │ │ │ │ │ +0000fa20: 6563 6569 7669 6e67 2064 6174 613a 2020 eceiving data: │ │ │ │ │ +0000fa30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fa40: 2020 2020 2020 5365 6e64 696e 6720 616e Sending an │ │ │ │ │ +0000fa50: 6420 7265 6365 6976 696e 6720 6461 7461 d receiving data │ │ │ │ │ +0000fa60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +0000fa70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fa80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fa90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000faa0: 2028 6c69 6e65 2020 3629 0a2a 2052 6563 (line 6).* Rec │ │ │ │ │ +0000fab0: 6569 7669 6e67 2064 6174 6120 3c31 3e3a eiving data <1>: │ │ │ │ │ +0000fac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fad0: 2020 2020 4765 7420 2866 756e 6374 696f Get (functio │ │ │ │ │ +0000fae0: 6e29 2e20 2020 2020 2020 286c 696e 6520 n). (line │ │ │ │ │ +0000faf0: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving │ │ │ │ │ +0000fb00: 6461 7461 203c 323e 3a20 2020 2020 2020 data <2>: │ │ │ │ │ +0000fb10: 2020 2020 2020 2020 2020 2020 2047 6574 Get │ │ │ │ │ +0000fb20: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function) │ │ │ │ │ +0000fb30: 2e20 2028 6c69 6e65 2020 3629 0a2a 2052 . (line 6).* R │ │ │ │ │ +0000fb40: 6563 6569 7669 6e67 2064 6174 6120 3c33 eceiving data <3 │ │ │ │ │ +0000fb50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0000fb60: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line ( │ │ │ │ │ +0000fb70: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin │ │ │ │ │ +0000fb80: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin │ │ │ │ │ +0000fb90: 6720 6461 7461 203c 343e 3a20 2020 2020 g data <4>: │ │ │ │ │ +0000fba0: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ +0000fbb0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu │ │ │ │ │ +0000fbc0: 7265 292e 2028 6c69 6e65 2020 3629 0a2a re). (line 6).* │ │ │ │ │ +0000fbd0: 2052 6563 6569 7669 6e67 2064 6174 6120 Receiving data │ │ │ │ │ +0000fbe0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: │ │ │ │ │ +0000fbf0: 2020 2020 2020 2020 4765 745f 5265 6365 Get_Rece │ │ │ │ │ +0000fc00: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size ( │ │ │ │ │ +0000fc10: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. │ │ │ │ │ +0000fc20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fc30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fc40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fc50: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +0000fc60: 2036 290a 2a20 5265 6365 6976 696e 6720 6).* Receiving │ │ │ │ │ +0000fc70: 6461 7461 203c 363e 3a20 2020 2020 2020 data <6>: │ │ │ │ │ +0000fc80: 2020 2020 2020 2020 2020 2020 2052 6563 Rec │ │ │ │ │ +0000fc90: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function). │ │ │ │ │ +0000fca0: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R │ │ │ │ │ +0000fcb0: 6563 6569 7669 6e67 2064 6174 6120 3c37 eceiving data <7 │ │ │ │ │ +0000fcc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0000fcd0: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p │ │ │ │ │ +0000fce0: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin │ │ │ │ │ +0000fcf0: 6520 2036 290a 2a20 5265 6365 6976 696e e 6).* Receivin │ │ │ │ │ +0000fd00: 6720 6461 7461 203c 383e 3a20 2020 2020 g data <8>: │ │ │ │ │ +0000fd10: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ +0000fd20: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro │ │ │ │ │ +0000fd30: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ +0000fd40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fd50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000fd60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fd70: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources │ │ │ │ │ -0000fd80: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet │ │ │ │ │ -0000fd90: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -0000fda0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fdb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fdd0: 2028 6c69 6e65 2020 3629 0a2a 2052 6570 (line 6).* Rep │ │ │ │ │ -0000fde0: 7265 7365 6e74 696e 6720 4950 2061 6464 resenting IP add │ │ │ │ │ -0000fdf0: 7265 7373 6573 3a20 2020 2020 2020 2020 resses: │ │ │ │ │ -0000fe00: 2020 2020 496d 6167 6520 2866 756e 6374 Image (funct │ │ │ │ │ -0000fe10: 696f 6e29 2e20 2020 2020 286c 696e 6520 ion). (line │ │ │ │ │ -0000fe20: 2036 290a 2a20 5265 7072 6573 656e 7469 6).* Representi │ │ │ │ │ -0000fe30: 6e67 2049 5020 6164 6472 6573 7365 7320 ng IP addresses │ │ │ │ │ -0000fe40: 3c31 3e3a 2020 2020 2020 2020 2056 616c <1>: Val │ │ │ │ │ -0000fe50: 7565 2028 6675 6e63 7469 6f6e 292e 2020 ue (function). │ │ │ │ │ -0000fe60: 2020 2028 6c69 6e65 2020 3629 0a2a 2052 (line 6).* R │ │ │ │ │ -0000fe70: 6574 7269 6576 696e 6720 736f 636b 6574 etrieving socket │ │ │ │ │ -0000fe80: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: │ │ │ │ │ -0000fe90: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt │ │ │ │ │ -0000fea0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +0000fd70: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +0000fd80: 290a 2a20 5265 6365 6976 696e 6720 6461 ).* Receiving da │ │ │ │ │ +0000fd90: 7461 203c 393e 3a20 2020 2020 2020 2020 ta <9>: │ │ │ │ │ +0000fda0: 2020 2020 2020 2020 2020 2053 6574 5f42 Set_B │ │ │ │ │ +0000fdb0: 7566 6665 7220 2870 726f 6365 6475 7265 uffer (procedure │ │ │ │ │ +0000fdc0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ +0000fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fde0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fdf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fe00: 2020 286c 696e 6520 2036 290a 2a20 5265 (line 6).* Re │ │ │ │ │ +0000fe10: 6365 6976 696e 6720 6461 7461 203c 3130 ceiving data <10 │ │ │ │ │ +0000fe20: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +0000fe30: 2020 2020 2055 6e73 6574 5f42 7566 6665 Unset_Buffe │ │ │ │ │ +0000fe40: 7220 2870 726f 6365 6475 7265 292e 0a20 r (procedure).. │ │ │ │ │ +0000fe50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fe60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fe70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fe80: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +0000fe90: 696e 6520 2036 290a 2a20 5265 706f 7274 ine 6).* Report │ │ │ │ │ +0000fea0: 696e 6720 6120 6275 673a 2020 2020 2020 ing a bug: │ │ │ │ │ 0000feb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fee0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -0000fef0: 6e65 2020 3629 0a2a 2053 656e 643a 2020 ne 6).* Send: │ │ │ │ │ +0000fec0: 2052 6573 6f75 7263 6573 206f 6e20 7468 Resources on th │ │ │ │ │ +0000fed0: 6520 496e 7465 726e 6574 2e0a 2020 2020 e Internet.. │ │ │ │ │ +0000fee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +0000fef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 0000ff00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ff10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ff20: 5365 6e64 2028 7072 6f63 6564 7572 6529 Send (procedure) │ │ │ │ │ -0000ff30: 2e20 2020 2020 286c 696e 6520 2039 290a . (line 9). │ │ │ │ │ -0000ff40: 2a20 5365 6e64 203c 313e 3a20 2020 2020 * Send <1>: │ │ │ │ │ -0000ff50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ff60: 2020 2020 2020 2020 2053 6875 7464 6f77 Shutdow │ │ │ │ │ -0000ff70: 6e20 2870 726f 6365 6475 7265 292e 2028 n (procedure). ( │ │ │ │ │ -0000ff80: 6c69 6e65 2031 3729 0a2a 2053 656e 6469 line 17).* Sendi │ │ │ │ │ -0000ff90: 6e67 2064 6174 613a 2020 2020 2020 2020 ng data: │ │ │ │ │ -0000ffa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ffb0: 2020 5365 6e64 696e 6720 616e 6420 7265 Sending and re │ │ │ │ │ -0000ffc0: 6365 6976 696e 6720 6461 7461 2e0a 2020 ceiving data.. │ │ │ │ │ -0000ffd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000ffe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -0000fff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010000: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00010010: 6e65 2020 3629 0a2a 2053 656e 6469 6e67 ne 6).* Sending │ │ │ │ │ -00010020: 2064 6174 6120 3c31 3e3a 2020 2020 2020 data <1>: │ │ │ │ │ -00010030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010040: 4765 745f 5365 6e64 5f51 7565 7565 5f53 Get_Send_Queue_S │ │ │ │ │ -00010050: 697a 6520 2866 756e 6374 696f 6e29 2e0a ize (function).. │ │ │ │ │ -00010060: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010090: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -000100a0: 6c69 6e65 2020 3629 0a2a 2053 656e 6469 line 6).* Sendi │ │ │ │ │ -000100b0: 6e67 2064 6174 6120 3c32 3e3a 2020 2020 ng data <2>: │ │ │ │ │ -000100c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000100d0: 2020 4e65 775f 4c69 6e65 2028 7072 6f63 New_Line (proc │ │ │ │ │ -000100e0: 6564 7572 6529 2e20 286c 696e 6520 2036 edure). (line 6 │ │ │ │ │ -000100f0: 290a 2a20 5365 6e64 696e 6720 6461 7461 ).* Sending data │ │ │ │ │ -00010100: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: │ │ │ │ │ -00010110: 2020 2020 2020 2020 2020 2050 7574 2028 Put ( │ │ │ │ │ -00010120: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). │ │ │ │ │ -00010130: 2028 6c69 6e65 2020 3629 0a2a 2053 656e (line 6).* Sen │ │ │ │ │ -00010140: 6469 6e67 2064 6174 6120 3c34 3e3a 2020 ding data <4>: │ │ │ │ │ -00010150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010160: 2020 2020 5075 745f 4c69 6e65 2028 7072 Put_Line (pr │ │ │ │ │ -00010170: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line │ │ │ │ │ -00010180: 2036 290a 2a20 5365 6e64 696e 6720 6461 6).* Sending da │ │ │ │ │ -00010190: 7461 203c 353e 3a20 2020 2020 2020 2020 ta <5>: │ │ │ │ │ -000101a0: 2020 2020 2020 2020 2020 2020 2053 656e Sen │ │ │ │ │ -000101b0: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). │ │ │ │ │ -000101c0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S │ │ │ │ │ -000101d0: 656e 6469 6e67 2070 6174 6368 6573 3a20 ending patches: │ │ │ │ │ -000101e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000101f0: 2020 2020 2020 5265 736f 7572 6365 7320 Resources │ │ │ │ │ -00010200: 6f6e 2074 6865 2049 6e74 6572 6e65 742e on the Internet. │ │ │ │ │ -00010210: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -00010220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010250: 286c 696e 6520 2036 290a 2a20 5365 745f (line 6).* Set_ │ │ │ │ │ -00010260: 4275 6666 6572 3a20 2020 2020 2020 2020 Buffer: │ │ │ │ │ -00010270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010280: 2020 2053 6574 5f42 7566 6665 7220 2870 Set_Buffer (p │ │ │ │ │ -00010290: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ -000102a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000102b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000102c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000102d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -000102e0: 2039 290a 2a20 5365 7473 6f63 6b6f 7074 9).* Setsockopt │ │ │ │ │ -000102f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00010300: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ -00010310: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ -00010320: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +0000ff10: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +0000ff20: 2020 3629 0a2a 2052 6570 7265 7365 6e74 6).* Represent │ │ │ │ │ +0000ff30: 696e 6720 4950 2061 6464 7265 7373 6573 ing IP addresses │ │ │ │ │ +0000ff40: 3a20 2020 2020 2020 2020 2020 2020 496d : Im │ │ │ │ │ +0000ff50: 6167 6520 2866 756e 6374 696f 6e29 2e20 age (function). │ │ │ │ │ +0000ff60: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +0000ff70: 5265 7072 6573 656e 7469 6e67 2049 5020 Representing IP │ │ │ │ │ +0000ff80: 6164 6472 6573 7365 7320 3c31 3e3a 2020 addresses <1>: │ │ │ │ │ +0000ff90: 2020 2020 2020 2056 616c 7565 2028 6675 Value (fu │ │ │ │ │ +0000ffa0: 6e63 7469 6f6e 292e 2020 2020 2028 6c69 nction). (li │ │ │ │ │ +0000ffb0: 6e65 2020 3629 0a2a 2052 6574 7269 6576 ne 6).* Retriev │ │ │ │ │ +0000ffc0: 696e 6720 736f 636b 6574 206f 7074 696f ing socket optio │ │ │ │ │ +0000ffd0: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: │ │ │ │ │ +0000ffe0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc │ │ │ │ │ +0000fff0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00010000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010030: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +00010040: 0a2a 2053 656e 643a 2020 2020 2020 2020 .* Send: │ │ │ │ │ +00010050: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010060: 2020 2020 2020 2020 2020 5365 6e64 2028 Send ( │ │ │ │ │ +00010070: 7072 6f63 6564 7572 6529 2e20 2020 2020 procedure). │ │ │ │ │ +00010080: 286c 696e 6520 2039 290a 2a20 5365 6e64 (line 9).* Send │ │ │ │ │ +00010090: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +000100a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000100b0: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro │ │ │ │ │ +000100c0: 6365 6475 7265 292e 2028 6c69 6e65 2031 cedure). (line 1 │ │ │ │ │ +000100d0: 3729 0a2a 2053 656e 6469 6e67 2064 6174 7).* Sending dat │ │ │ │ │ +000100e0: 613a 2020 2020 2020 2020 2020 2020 2020 a: │ │ │ │ │ +000100f0: 2020 2020 2020 2020 2020 2020 5365 6e64 Send │ │ │ │ │ +00010100: 696e 6720 616e 6420 7265 6365 6976 696e ing and receivin │ │ │ │ │ +00010110: 6720 6461 7461 2e0a 2020 2020 2020 2020 g data.. │ │ │ │ │ +00010120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010150: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ +00010160: 0a2a 2053 656e 6469 6e67 2064 6174 6120 .* Sending data │ │ │ │ │ +00010170: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00010180: 2020 2020 2020 2020 2020 4765 745f 5365 Get_Se │ │ │ │ │ +00010190: 6e64 5f51 7565 7565 5f53 697a 6520 2866 nd_Queue_Size (f │ │ │ │ │ +000101a0: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. │ │ │ │ │ +000101b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000101c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000101d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000101e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ +000101f0: 3629 0a2a 2053 656e 6469 6e67 2064 6174 6).* Sending dat │ │ │ │ │ +00010200: 6120 3c32 3e3a 2020 2020 2020 2020 2020 a <2>: │ │ │ │ │ +00010210: 2020 2020 2020 2020 2020 2020 4e65 775f New_ │ │ │ │ │ +00010220: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure) │ │ │ │ │ +00010230: 2e20 286c 696e 6520 2036 290a 2a20 5365 . (line 6).* Se │ │ │ │ │ +00010240: 6e64 696e 6720 6461 7461 203c 333e 3a20 nding data <3>: │ │ │ │ │ +00010250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010260: 2020 2020 2050 7574 2028 7072 6f63 6564 Put (proced │ │ │ │ │ +00010270: 7572 6529 2e20 2020 2020 2028 6c69 6e65 ure). (line │ │ │ │ │ +00010280: 2020 3629 0a2a 2053 656e 6469 6e67 2064 6).* Sending d │ │ │ │ │ +00010290: 6174 6120 3c34 3e3a 2020 2020 2020 2020 ata <4>: │ │ │ │ │ +000102a0: 2020 2020 2020 2020 2020 2020 2020 5075 Pu │ │ │ │ │ +000102b0: 745f 4c69 6e65 2028 7072 6f63 6564 7572 t_Line (procedur │ │ │ │ │ +000102c0: 6529 2e20 286c 696e 6520 2036 290a 2a20 e). (line 6).* │ │ │ │ │ +000102d0: 5365 6e64 696e 6720 6461 7461 203c 353e Sending data <5> │ │ │ │ │ +000102e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000102f0: 2020 2020 2020 2053 656e 6420 2870 726f Send (pro │ │ │ │ │ +00010300: 6365 6475 7265 292e 2020 2020 2028 6c69 cedure). (li │ │ │ │ │ +00010310: 6e65 2020 3629 0a2a 2053 656e 6469 6e67 ne 6).* Sending │ │ │ │ │ +00010320: 2070 6174 6368 6573 3a20 2020 2020 2020 patches: │ │ │ │ │ 00010330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010360: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ -00010370: 5365 7474 696e 6720 736f 636b 6574 206f Setting socket o │ │ │ │ │ -00010380: 7074 696f 6e73 3a20 2020 2020 2020 2020 ptions: │ │ │ │ │ -00010390: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop │ │ │ │ │ -000103a0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ -000103b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000103c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000103d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000103e0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -000103f0: 696e 6520 2036 290a 2a20 5368 7574 646f ine 6).* Shutdo │ │ │ │ │ -00010400: 776e 3a20 2020 2020 2020 2020 2020 2020 wn: │ │ │ │ │ +00010340: 5265 736f 7572 6365 7320 6f6e 2074 6865 Resources on the │ │ │ │ │ +00010350: 2049 6e74 6572 6e65 742e 0a20 2020 2020 Internet.. │ │ │ │ │ +00010360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010390: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000103a0: 2036 290a 2a20 5365 745f 4275 6666 6572 6).* Set_Buffer │ │ │ │ │ +000103b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000103c0: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ +000103d0: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu │ │ │ │ │ +000103e0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +000103f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010420: 2053 6875 7464 6f77 6e20 2870 726f 6365 Shutdown (proce │ │ │ │ │ -00010430: 6475 7265 292e 2028 6c69 6e65 2020 3929 dure). (line 9) │ │ │ │ │ -00010440: 0a2a 2053 4f5f 5243 5642 5546 3a20 2020 .* SO_RCVBUF: │ │ │ │ │ -00010450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010460: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc │ │ │ │ │ -00010470: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ -00010480: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00010420: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* │ │ │ │ │ +00010430: 5365 7473 6f63 6b6f 7074 3a20 2020 2020 Setsockopt: │ │ │ │ │ +00010440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010450: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop │ │ │ │ │ +00010460: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ +00010470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000104a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000104b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000104c0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f5f (line 20).* SO_ │ │ │ │ │ -000104d0: 5243 5642 5546 203c 313e 3a20 2020 2020 RCVBUF <1>: │ │ │ │ │ -000104e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000104f0: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt ( │ │ │ │ │ -00010500: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ +000104a0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +000104b0: 696e 6520 2039 290a 2a20 5365 7474 696e ine 9).* Settin │ │ │ │ │ +000104c0: 6720 736f 636b 6574 206f 7074 696f 6e73 g socket options │ │ │ │ │ +000104d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +000104e0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro │ │ │ │ │ +000104f0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ +00010500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010540: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ -00010550: 2032 3029 0a2a 2053 4f5f 5245 5553 4541 20).* SO_REUSEA │ │ │ │ │ -00010560: 4444 523a 2020 2020 2020 2020 2020 2020 DDR: │ │ │ │ │ -00010570: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ -00010580: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ -00010590: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ +00010530: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6 │ │ │ │ │ +00010540: 290a 2a20 5368 7574 646f 776e 3a20 2020 ).* Shutdown: │ │ │ │ │ +00010550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010560: 2020 2020 2020 2020 2020 2053 6875 7464 Shutd │ │ │ │ │ +00010570: 6f77 6e20 2870 726f 6365 6475 7265 292e own (procedure). │ │ │ │ │ +00010580: 2028 6c69 6e65 2020 3929 0a2a 2053 4f5f (line 9).* SO_ │ │ │ │ │ +00010590: 5243 5642 5546 3a20 2020 2020 2020 2020 RCVBUF: │ │ │ │ │ 000105a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000105b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000105c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000105d0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ -000105e0: 2053 4f5f 5245 5553 4541 4444 5220 3c31 SO_REUSEADDR <1 │ │ │ │ │ -000105f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -00010600: 2020 2020 2020 2020 5365 7473 6f63 6b6f Setsocko │ │ │ │ │ -00010610: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ -00010620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010650: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -00010660: 6c69 6e65 2032 3029 0a2a 2053 4f5f 5245 line 20).* SO_RE │ │ │ │ │ -00010670: 5553 4550 4f52 543a 2020 2020 2020 2020 USEPORT: │ │ │ │ │ +000105b0: 2020 2020 4765 7473 6f63 6b6f 7074 2028 Getsockopt ( │ │ │ │ │ +000105c0: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ +000105d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000105e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000105f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010600: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00010610: 2032 3029 0a2a 2053 4f5f 5243 5642 5546 20).* SO_RCVBUF │ │ │ │ │ +00010620: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00010630: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ +00010640: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ +00010650: 7572 6529 2e0a 2020 2020 2020 2020 2020 ure).. │ │ │ │ │ +00010660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010670: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010690: 2020 4765 7473 6f63 6b6f 7074 2028 7072 Getsockopt (pr │ │ │ │ │ -000106a0: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +00010690: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).* │ │ │ │ │ +000106a0: 2053 4f5f 5245 5553 4541 4444 523a 2020 SO_REUSEADDR: │ │ │ │ │ 000106b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000106c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000106d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000106e0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ -000106f0: 3029 0a2a 2053 4f5f 5245 5553 4550 4f52 0).* SO_REUSEPOR │ │ │ │ │ -00010700: 5420 3c31 3e3a 2020 2020 2020 2020 2020 T <1>: │ │ │ │ │ -00010710: 2020 2020 2020 2020 2020 2020 5365 7473 Sets │ │ │ │ │ -00010720: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur │ │ │ │ │ -00010730: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ +000106c0: 2020 2020 2020 2020 4765 7473 6f63 6b6f Getsocko │ │ │ │ │ +000106d0: 7074 2028 7072 6f63 6564 7572 6529 2e0a pt (procedure).. │ │ │ │ │ +000106e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000106f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010710: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00010720: 6c69 6e65 2032 3029 0a2a 2053 4f5f 5245 line 20).* SO_RE │ │ │ │ │ +00010730: 5553 4541 4444 5220 3c31 3e3a 2020 2020 USEADDR <1>: │ │ │ │ │ 00010740: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010770: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S │ │ │ │ │ -00010780: 4f5f 534e 4442 5546 3a20 2020 2020 2020 O_SNDBUF: │ │ │ │ │ +00010750: 2020 5365 7473 6f63 6b6f 7074 2028 7072 Setsockopt (pr │ │ │ │ │ +00010760: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +00010770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000107a0: 2020 2020 2020 4765 7473 6f63 6b6f 7074 Getsockopt │ │ │ │ │ -000107b0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ -000107c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000107d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000107e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000107f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00010800: 6e65 2032 3029 0a2a 2053 4f5f 534e 4442 ne 20).* SO_SNDB │ │ │ │ │ -00010810: 5546 203c 313e 3a20 2020 2020 2020 2020 UF <1>: │ │ │ │ │ +000107a0: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2 │ │ │ │ │ +000107b0: 3029 0a2a 2053 4f5f 5245 5553 4550 4f52 0).* SO_REUSEPOR │ │ │ │ │ +000107c0: 543a 2020 2020 2020 2020 2020 2020 2020 T: │ │ │ │ │ +000107d0: 2020 2020 2020 2020 2020 2020 4765 7473 Gets │ │ │ │ │ +000107e0: 6f63 6b6f 7074 2028 7072 6f63 6564 7572 ockopt (procedur │ │ │ │ │ +000107f0: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ +00010800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010830: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc │ │ │ │ │ -00010840: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00010830: 2020 2028 6c69 6e65 2032 3029 0a2a 2053 (line 20).* S │ │ │ │ │ +00010840: 4f5f 5245 5553 4550 4f52 5420 3c31 3e3a O_REUSEPORT <1>: │ │ │ │ │ 00010850: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010880: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ -00010890: 0a2a 2053 4f43 4b5f 4447 5241 4d3a 2020 .* SOCK_DGRAM: │ │ │ │ │ +00010860: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt │ │ │ │ │ +00010870: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +00010880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000108a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000108b0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket │ │ │ │ │ -000108c0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ -000108d0: 286c 696e 6520 3139 290a 2a20 534f 434b (line 19).* SOCK │ │ │ │ │ -000108e0: 5f53 5452 4541 4d3a 2020 2020 2020 2020 _STREAM: │ │ │ │ │ -000108f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010900: 2020 2053 6f63 6b65 7420 2870 726f 6365 Socket (proce │ │ │ │ │ -00010910: 6475 7265 292e 2020 2028 6c69 6e65 2031 dure). (line 1 │ │ │ │ │ -00010920: 3929 0a2a 2053 6f63 6b65 743a 2020 2020 9).* Socket: │ │ │ │ │ +000108b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +000108c0: 6e65 2032 3029 0a2a 2053 4f5f 534e 4442 ne 20).* SO_SNDB │ │ │ │ │ +000108d0: 5546 3a20 2020 2020 2020 2020 2020 2020 UF: │ │ │ │ │ +000108e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000108f0: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc │ │ │ │ │ +00010900: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00010910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00010930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010940: 2020 2020 2020 2020 2020 2020 5365 7474 Sett │ │ │ │ │ -00010950: 696e 6720 7570 2075 6e69 6361 7374 2073 ing up unicast s │ │ │ │ │ -00010960: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. │ │ │ │ │ -00010970: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000109a0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -000109b0: 0a2a 2053 6f63 6b65 7420 3c31 3e3a 2020 .* Socket <1>: │ │ │ │ │ +00010940: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ +00010950: 0a2a 2053 4f5f 534e 4442 5546 203c 313e .* SO_SNDBUF <1> │ │ │ │ │ +00010960: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00010970: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc │ │ │ │ │ +00010980: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ +00010990: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +000109a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000109b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000109c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000109d0: 2020 2020 2020 2020 2020 536f 636b 6574 Socket │ │ │ │ │ -000109e0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ -000109f0: 286c 696e 6520 2039 290a 2a20 536f 636b (line 9).* Sock │ │ │ │ │ -00010a00: 6574 2073 6875 7464 6f77 6e3a 2020 2020 et shutdown: │ │ │ │ │ -00010a10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010a20: 2020 2053 6875 7464 6f77 6e20 2870 726f Shutdown (pro │ │ │ │ │ -00010a30: 6365 6475 7265 292e 2028 6c69 6e65 2020 cedure). (line │ │ │ │ │ -00010a40: 3629 0a2a 2053 6f63 6b65 745f 4572 726f 6).* Socket_Erro │ │ │ │ │ -00010a50: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -00010a60: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind │ │ │ │ │ -00010a70: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ -00010a80: 2020 286c 696e 6520 3330 290a 2a20 536f (line 30).* So │ │ │ │ │ -00010a90: 636b 6574 5f45 7272 6f72 203c 313e 3a20 cket_Error <1>: │ │ │ │ │ -00010aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010ab0: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr │ │ │ │ │ -00010ac0: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line │ │ │ │ │ -00010ad0: 2032 3729 0a2a 2053 6f63 6b65 745f 4644 27).* Socket_FD │ │ │ │ │ -00010ae0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -00010af0: 2020 2020 2020 2020 2020 2020 2020 5365 Se │ │ │ │ │ -00010b00: 7474 696e 6720 7570 2075 6e69 6361 7374 tting up unicast │ │ │ │ │ -00010b10: 2073 6f63 6b65 7473 2e0a 2020 2020 2020 sockets.. │ │ │ │ │ -00010b20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010b50: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line │ │ │ │ │ -00010b60: 3629 0a2a 2053 6f63 6b65 745f 4644 203c 6).* Socket_FD < │ │ │ │ │ -00010b70: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00010b80: 2020 2020 2020 2020 2020 2020 536f 636b Sock │ │ │ │ │ -00010b90: 6574 7320 7061 636b 6167 652e 2020 2020 ets package. │ │ │ │ │ -00010ba0: 2020 286c 696e 6520 2039 290a 2a20 536f (line 9).* So │ │ │ │ │ -00010bb0: 636b 6574 732e 4163 6365 7074 5f53 6f63 ckets.Accept_Soc │ │ │ │ │ -00010bc0: 6b65 743a 2020 2020 2020 2020 2020 2020 ket: │ │ │ │ │ -00010bd0: 2020 2020 2041 6363 6570 745f 536f 636b Accept_Sock │ │ │ │ │ -00010be0: 6574 2028 7072 6f63 6564 7572 6529 2e0a et (procedure).. │ │ │ │ │ -00010bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010c20: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ -00010c30: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke │ │ │ │ │ -00010c40: 7473 2e42 696e 643a 2020 2020 2020 2020 ts.Bind: │ │ │ │ │ -00010c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010c60: 2020 4269 6e64 2028 7072 6f63 6564 7572 Bind (procedur │ │ │ │ │ -00010c70: 6529 2e20 2020 2020 286c 696e 6520 3131 e). (line 11 │ │ │ │ │ -00010c80: 290a 2a20 536f 636b 6574 732e 436f 6e6e ).* Sockets.Conn │ │ │ │ │ -00010c90: 6563 743a 2020 2020 2020 2020 2020 2020 ect: │ │ │ │ │ -00010ca0: 2020 2020 2020 2020 2020 2043 6f6e 6e65 Conne │ │ │ │ │ -00010cb0: 6374 2028 7072 6f63 6564 7572 6529 2e20 ct (procedure). │ │ │ │ │ -00010cc0: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc │ │ │ │ │ -00010cd0: 6b65 7473 2e47 6574 3a20 2020 2020 2020 kets.Get: │ │ │ │ │ -00010ce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010cf0: 2020 2020 4765 7420 2866 756e 6374 696f Get (functio │ │ │ │ │ -00010d00: 6e29 2e20 2020 2020 2020 286c 696e 6520 n). (line │ │ │ │ │ -00010d10: 3131 290a 2a20 536f 636b 6574 732e 4765 11).* Sockets.Ge │ │ │ │ │ -00010d20: 745f 4368 6172 3a20 2020 2020 2020 2020 t_Char: │ │ │ │ │ -00010d30: 2020 2020 2020 2020 2020 2020 2047 6574 Get │ │ │ │ │ -00010d40: 5f43 6861 7220 2866 756e 6374 696f 6e29 _Char (function) │ │ │ │ │ -00010d50: 2e20 2028 6c69 6e65 2031 3129 0a2a 2053 . (line 11).* S │ │ │ │ │ -00010d60: 6f63 6b65 7473 2e47 6574 5f4c 696e 653a ockets.Get_Line: │ │ │ │ │ -00010d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010d80: 2020 2020 2020 4765 745f 4c69 6e65 2028 Get_Line ( │ │ │ │ │ -00010d90: 6675 6e63 7469 6f6e 292e 2020 286c 696e function). (lin │ │ │ │ │ -00010da0: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets. │ │ │ │ │ -00010db0: 4765 745f 4c69 6e65 203c 313e 3a20 2020 Get_Line <1>: │ │ │ │ │ -00010dc0: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -00010dd0: 6574 5f4c 696e 6520 2870 726f 6365 6475 et_Line (procedu │ │ │ │ │ -00010de0: 7265 292e 2028 6c69 6e65 2031 3129 0a2a re). (line 11).* │ │ │ │ │ -00010df0: 2053 6f63 6b65 7473 2e47 6574 5f52 6563 Sockets.Get_Rec │ │ │ │ │ -00010e00: 6569 7665 5f51 7565 7565 5f53 697a 653a eive_Queue_Size: │ │ │ │ │ -00010e10: 2020 2020 2020 2020 4765 745f 5265 6365 Get_Rece │ │ │ │ │ -00010e20: 6976 655f 5175 6575 655f 5369 7a65 2028 ive_Queue_Size ( │ │ │ │ │ -00010e30: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. │ │ │ │ │ -00010e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010e50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010e70: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00010e80: 3132 290a 2a20 536f 636b 6574 732e 4765 12).* Sockets.Ge │ │ │ │ │ -00010e90: 745f 5365 6e64 5f51 7565 7565 5f53 697a t_Send_Queue_Siz │ │ │ │ │ -00010ea0: 653a 2020 2020 2020 2020 2020 2047 6574 e: Get │ │ │ │ │ -00010eb0: 5f53 656e 645f 5175 6575 655f 5369 7a65 _Send_Queue_Size │ │ │ │ │ -00010ec0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ -00010ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010ee0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010ef0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010f00: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00010f10: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets. │ │ │ │ │ -00010f20: 4765 7473 6f63 6b6f 7074 3a20 2020 2020 Getsockopt: │ │ │ │ │ -00010f30: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ -00010f40: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ -00010f50: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ -00010f60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010f80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00010f90: 2020 2020 2020 286c 696e 6520 3132 290a (line 12). │ │ │ │ │ -00010fa0: 2a20 536f 636b 6574 732e 4950 5f41 4444 * Sockets.IP_ADD │ │ │ │ │ -00010fb0: 5f4d 454d 4245 5253 4849 503a 2020 2020 _MEMBERSHIP: │ │ │ │ │ -00010fc0: 2020 2020 2020 2020 2047 6574 736f 636b Getsock │ │ │ │ │ -00010fd0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ -00010fe0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -00010ff0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011000: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011020: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock │ │ │ │ │ -00011030: 6574 732e 4950 5f41 4444 5f4d 454d 4245 ets.IP_ADD_MEMBE │ │ │ │ │ -00011040: 5253 4849 5020 3c31 3e3a 2020 2020 2020 RSHIP <1>: │ │ │ │ │ -00011050: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p │ │ │ │ │ -00011060: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ -00011070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000110a0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -000110b0: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP │ │ │ │ │ -000110c0: 5f44 524f 505f 4d45 4d42 4552 5348 4950 _DROP_MEMBERSHIP │ │ │ │ │ -000110d0: 3a20 2020 2020 2020 2020 2020 2047 6574 : Get │ │ │ │ │ -000110e0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ -000110f0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ -00011100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011130: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* │ │ │ │ │ -00011140: 536f 636b 6574 732e 4950 5f44 524f 505f Sockets.IP_DROP_ │ │ │ │ │ -00011150: 4d45 4d42 4552 5348 4950 203c 313e 3a20 MEMBERSHIP <1>: │ │ │ │ │ -00011160: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop │ │ │ │ │ -00011170: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ -00011180: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011190: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000111a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000111b0: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -000111c0: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket │ │ │ │ │ -000111d0: 732e 4950 5f4d 554c 5449 4341 5354 5f4c s.IP_MULTICAST_L │ │ │ │ │ -000111e0: 4f4f 503a 2020 2020 2020 2020 2020 2020 OOP: │ │ │ │ │ -000111f0: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro │ │ │ │ │ -00011200: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ -00011210: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011240: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20 │ │ │ │ │ -00011250: 290a 2a20 536f 636b 6574 732e 4950 5f4d ).* Sockets.IP_M │ │ │ │ │ -00011260: 554c 5449 4341 5354 5f4c 4f4f 5020 3c31 ULTICAST_LOOP <1 │ │ │ │ │ -00011270: 3e3a 2020 2020 2020 2020 2053 6574 736f >: Setso │ │ │ │ │ -00011280: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ -00011290: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -000112a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000112b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000112c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000112d0: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So │ │ │ │ │ -000112e0: 636b 6574 732e 4950 5f4d 554c 5449 4341 ckets.IP_MULTICA │ │ │ │ │ -000112f0: 5354 5f54 544c 3a20 2020 2020 2020 2020 ST_TTL: │ │ │ │ │ -00011300: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt │ │ │ │ │ -00011310: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ -00011320: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011330: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011350: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00011360: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets. │ │ │ │ │ -00011370: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL │ │ │ │ │ -00011380: 203c 313e 3a20 2020 2020 2020 2020 2053 <1>: S │ │ │ │ │ -00011390: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ -000113a0: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ -000113b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000113c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000113d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000113e0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20). │ │ │ │ │ -000113f0: 2a20 536f 636b 6574 732e 4950 5052 4f54 * Sockets.IPPROT │ │ │ │ │ -00011400: 4f5f 4950 3a20 2020 2020 2020 2020 2020 O_IP: │ │ │ │ │ -00011410: 2020 2020 2020 2020 2047 6574 736f 636b Getsock │ │ │ │ │ -00011420: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ -00011430: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -00011440: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011470: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock │ │ │ │ │ -00011480: 6574 732e 4950 5052 4f54 4f5f 4950 203c ets.IPPROTO_IP < │ │ │ │ │ -00011490: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -000114a0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p │ │ │ │ │ -000114b0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ -000114c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000114d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000114e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000114f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00011500: 3230 290a 2a20 536f 636b 6574 732e 4c69 20).* Sockets.Li │ │ │ │ │ -00011510: 7374 656e 3a20 2020 2020 2020 2020 2020 sten: │ │ │ │ │ -00011520: 2020 2020 2020 2020 2020 2020 204c 6973 Lis │ │ │ │ │ -00011530: 7465 6e20 2870 726f 6365 6475 7265 292e ten (procedure). │ │ │ │ │ -00011540: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S │ │ │ │ │ -00011550: 6f63 6b65 7473 2e4d 756c 7469 6361 7374 ockets.Multicast │ │ │ │ │ -00011560: 2e43 7265 6174 655f 4d75 6c74 6963 6173 .Create_Multicas │ │ │ │ │ -00011570: 745f 536f 636b 6574 3a20 5365 7474 696e t_Socket: Settin │ │ │ │ │ -00011580: 6720 7570 206d 756c 7469 6361 7374 2073 g up multicast s │ │ │ │ │ -00011590: 6f63 6b65 7473 2e0a 2020 2020 2020 2020 ockets.. │ │ │ │ │ +000109d0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f43 (line 20).* SOC │ │ │ │ │ +000109e0: 4b5f 4447 5241 4d3a 2020 2020 2020 2020 K_DGRAM: │ │ │ │ │ +000109f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010a00: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc │ │ │ │ │ +00010a10: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line │ │ │ │ │ +00010a20: 3139 290a 2a20 534f 434b 5f53 5452 4541 19).* SOCK_STREA │ │ │ │ │ +00010a30: 4d3a 2020 2020 2020 2020 2020 2020 2020 M: │ │ │ │ │ +00010a40: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc │ │ │ │ │ +00010a50: 6b65 7420 2870 726f 6365 6475 7265 292e ket (procedure). │ │ │ │ │ +00010a60: 2020 2028 6c69 6e65 2031 3929 0a2a 2053 (line 19).* S │ │ │ │ │ +00010a70: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: │ │ │ │ │ +00010a80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010a90: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up │ │ │ │ │ +00010aa0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets │ │ │ │ │ +00010ab0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00010ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010af0: 2028 6c69 6e65 2020 3629 0a2a 2053 6f63 (line 6).* Soc │ │ │ │ │ +00010b00: 6b65 7420 3c31 3e3a 2020 2020 2020 2020 ket <1>: │ │ │ │ │ +00010b10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010b20: 2020 2020 536f 636b 6574 2028 7072 6f63 Socket (proc │ │ │ │ │ +00010b30: 6564 7572 6529 2e20 2020 286c 696e 6520 edure). (line │ │ │ │ │ +00010b40: 2039 290a 2a20 536f 636b 6574 2073 6875 9).* Socket shu │ │ │ │ │ +00010b50: 7464 6f77 6e3a 2020 2020 2020 2020 2020 tdown: │ │ │ │ │ +00010b60: 2020 2020 2020 2020 2020 2020 2053 6875 Shu │ │ │ │ │ +00010b70: 7464 6f77 6e20 2870 726f 6365 6475 7265 tdown (procedure │ │ │ │ │ +00010b80: 292e 2028 6c69 6e65 2020 3629 0a2a 2053 ). (line 6).* S │ │ │ │ │ +00010b90: 6f63 6b65 745f 4572 726f 723a 2020 2020 ocket_Error: │ │ │ │ │ +00010ba0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010bb0: 2020 2020 2020 4269 6e64 2028 7072 6f63 Bind (proc │ │ │ │ │ +00010bc0: 6564 7572 6529 2e20 2020 2020 286c 696e edure). (lin │ │ │ │ │ +00010bd0: 6520 3330 290a 2a20 536f 636b 6574 5f45 e 30).* Socket_E │ │ │ │ │ +00010be0: 7272 6f72 203c 313e 3a20 2020 2020 2020 rror <1>: │ │ │ │ │ +00010bf0: 2020 2020 2020 2020 2020 2020 2020 2043 C │ │ │ │ │ +00010c00: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur │ │ │ │ │ +00010c10: 6529 2e20 2028 6c69 6e65 2032 3729 0a2a e). (line 27).* │ │ │ │ │ +00010c20: 2053 6f63 6b65 745f 4644 3a20 2020 2020 Socket_FD: │ │ │ │ │ +00010c30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010c40: 2020 2020 2020 2020 5365 7474 696e 6720 Setting │ │ │ │ │ +00010c50: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke │ │ │ │ │ +00010c60: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. │ │ │ │ │ +00010c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010ca0: 2020 2028 6c69 6e65 2020 3629 0a2a 2053 (line 6).* S │ │ │ │ │ +00010cb0: 6f63 6b65 745f 4644 203c 313e 3a20 2020 ocket_FD <1>: │ │ │ │ │ +00010cc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010cd0: 2020 2020 2020 536f 636b 6574 7320 7061 Sockets pa │ │ │ │ │ +00010ce0: 636b 6167 652e 2020 2020 2020 286c 696e ckage. (lin │ │ │ │ │ +00010cf0: 6520 2039 290a 2a20 536f 636b 6574 732e e 9).* Sockets. │ │ │ │ │ +00010d00: 4163 6365 7074 5f53 6f63 6b65 743a 2020 Accept_Socket: │ │ │ │ │ +00010d10: 2020 2020 2020 2020 2020 2020 2020 2041 A │ │ │ │ │ +00010d20: 6363 6570 745f 536f 636b 6574 2028 7072 ccept_Socket (pr │ │ │ │ │ +00010d30: 6f63 6564 7572 6529 2e0a 2020 2020 2020 ocedure).. │ │ │ │ │ +00010d40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010d50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010d60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010d70: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ +00010d80: 3129 0a2a 2053 6f63 6b65 7473 2e42 696e 1).* Sockets.Bin │ │ │ │ │ +00010d90: 643a 2020 2020 2020 2020 2020 2020 2020 d: │ │ │ │ │ +00010da0: 2020 2020 2020 2020 2020 2020 4269 6e64 Bind │ │ │ │ │ +00010db0: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ +00010dc0: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So │ │ │ │ │ +00010dd0: 636b 6574 732e 436f 6e6e 6563 743a 2020 ckets.Connect: │ │ │ │ │ +00010de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010df0: 2020 2020 2043 6f6e 6e65 6374 2028 7072 Connect (pr │ │ │ │ │ +00010e00: 6f63 6564 7572 6529 2e20 2028 6c69 6e65 ocedure). (line │ │ │ │ │ +00010e10: 2031 3129 0a2a 2053 6f63 6b65 7473 2e47 11).* Sockets.G │ │ │ │ │ +00010e20: 6574 3a20 2020 2020 2020 2020 2020 2020 et: │ │ │ │ │ +00010e30: 2020 2020 2020 2020 2020 2020 2020 4765 Ge │ │ │ │ │ +00010e40: 7420 2866 756e 6374 696f 6e29 2e20 2020 t (function). │ │ │ │ │ +00010e50: 2020 2020 286c 696e 6520 3131 290a 2a20 (line 11).* │ │ │ │ │ +00010e60: 536f 636b 6574 732e 4765 745f 4368 6172 Sockets.Get_Char │ │ │ │ │ +00010e70: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ +00010e80: 2020 2020 2020 2047 6574 5f43 6861 7220 Get_Char │ │ │ │ │ +00010e90: 2866 756e 6374 696f 6e29 2e20 2028 6c69 (function). (li │ │ │ │ │ +00010ea0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets │ │ │ │ │ +00010eb0: 2e47 6574 5f4c 696e 653a 2020 2020 2020 .Get_Line: │ │ │ │ │ +00010ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010ed0: 4765 745f 4c69 6e65 2028 6675 6e63 7469 Get_Line (functi │ │ │ │ │ +00010ee0: 6f6e 292e 2020 286c 696e 6520 3132 290a on). (line 12). │ │ │ │ │ +00010ef0: 2a20 536f 636b 6574 732e 4765 745f 4c69 * Sockets.Get_Li │ │ │ │ │ +00010f00: 6e65 203c 313e 3a20 2020 2020 2020 2020 ne <1>: │ │ │ │ │ +00010f10: 2020 2020 2020 2020 2047 6574 5f4c 696e Get_Lin │ │ │ │ │ +00010f20: 6520 2870 726f 6365 6475 7265 292e 2028 e (procedure). ( │ │ │ │ │ +00010f30: 6c69 6e65 2031 3129 0a2a 2053 6f63 6b65 line 11).* Socke │ │ │ │ │ +00010f40: 7473 2e47 6574 5f52 6563 6569 7665 5f51 ts.Get_Receive_Q │ │ │ │ │ +00010f50: 7565 7565 5f53 697a 653a 2020 2020 2020 ueue_Size: │ │ │ │ │ +00010f60: 2020 4765 745f 5265 6365 6976 655f 5175 Get_Receive_Qu │ │ │ │ │ +00010f70: 6575 655f 5369 7a65 2028 6675 6e63 7469 eue_Size (functi │ │ │ │ │ +00010f80: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. │ │ │ │ │ +00010f90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010fa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010fb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00010fc0: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* │ │ │ │ │ +00010fd0: 536f 636b 6574 732e 4765 745f 5365 6e64 Sockets.Get_Send │ │ │ │ │ +00010fe0: 5f51 7565 7565 5f53 697a 653a 2020 2020 _Queue_Size: │ │ │ │ │ +00010ff0: 2020 2020 2020 2047 6574 5f53 656e 645f Get_Send_ │ │ │ │ │ +00011000: 5175 6575 655f 5369 7a65 2028 6675 6e63 Queue_Size (func │ │ │ │ │ +00011010: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ +00011020: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011030: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011040: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011050: 2020 2020 2020 286c 696e 6520 3132 290a (line 12). │ │ │ │ │ +00011060: 2a20 536f 636b 6574 732e 4765 7473 6f63 * Sockets.Getsoc │ │ │ │ │ +00011070: 6b6f 7074 3a20 2020 2020 2020 2020 2020 kopt: │ │ │ │ │ +00011080: 2020 2020 2020 2020 2047 6574 736f 636b Getsock │ │ │ │ │ +00011090: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ +000110a0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000110b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000110c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000110d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000110e0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock │ │ │ │ │ +000110f0: 6574 732e 4950 5f41 4444 5f4d 454d 4245 ets.IP_ADD_MEMBE │ │ │ │ │ +00011100: 5253 4849 503a 2020 2020 2020 2020 2020 RSHIP: │ │ │ │ │ +00011110: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p │ │ │ │ │ +00011120: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ +00011130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011140: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011150: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011160: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00011170: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP │ │ │ │ │ +00011180: 5f41 4444 5f4d 454d 4245 5253 4849 5020 _ADD_MEMBERSHIP │ │ │ │ │ +00011190: 3c31 3e3a 2020 2020 2020 2020 2053 6574 <1>: Set │ │ │ │ │ +000111a0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ +000111b0: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +000111c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000111d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000111e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000111f0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* │ │ │ │ │ +00011200: 536f 636b 6574 732e 4950 5f44 524f 505f Sockets.IP_DROP_ │ │ │ │ │ +00011210: 4d45 4d42 4552 5348 4950 3a20 2020 2020 MEMBERSHIP: │ │ │ │ │ +00011220: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop │ │ │ │ │ +00011230: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ +00011240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011250: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011270: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00011280: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket │ │ │ │ │ +00011290: 732e 4950 5f44 524f 505f 4d45 4d42 4552 s.IP_DROP_MEMBER │ │ │ │ │ +000112a0: 5348 4950 203c 313e 3a20 2020 2020 2020 SHIP <1>: │ │ │ │ │ +000112b0: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro │ │ │ │ │ +000112c0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ +000112d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000112e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000112f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011300: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20 │ │ │ │ │ +00011310: 290a 2a20 536f 636b 6574 732e 4950 5f4d ).* Sockets.IP_M │ │ │ │ │ +00011320: 554c 5449 4341 5354 5f4c 4f4f 503a 2020 ULTICAST_LOOP: │ │ │ │ │ +00011330: 2020 2020 2020 2020 2020 2047 6574 736f Getso │ │ │ │ │ +00011340: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ +00011350: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ +00011360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011390: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So │ │ │ │ │ +000113a0: 636b 6574 732e 4950 5f4d 554c 5449 4341 ckets.IP_MULTICA │ │ │ │ │ +000113b0: 5354 5f4c 4f4f 5020 3c31 3e3a 2020 2020 ST_LOOP <1>: │ │ │ │ │ +000113c0: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt │ │ │ │ │ +000113d0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ +000113e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000113f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011410: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00011420: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets. │ │ │ │ │ +00011430: 4950 5f4d 554c 5449 4341 5354 5f54 544c IP_MULTICAST_TTL │ │ │ │ │ +00011440: 3a20 2020 2020 2020 2020 2020 2020 2047 : G │ │ │ │ │ +00011450: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ +00011460: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ +00011470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000114a0: 2020 2020 2020 286c 696e 6520 3230 290a (line 20). │ │ │ │ │ +000114b0: 2a20 536f 636b 6574 732e 4950 5f4d 554c * Sockets.IP_MUL │ │ │ │ │ +000114c0: 5449 4341 5354 5f54 544c 203c 313e 3a20 TICAST_TTL <1>: │ │ │ │ │ +000114d0: 2020 2020 2020 2020 2053 6574 736f 636b Setsock │ │ │ │ │ +000114e0: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ +000114f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00011500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011530: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock │ │ │ │ │ +00011540: 6574 732e 4950 5052 4f54 4f5f 4950 3a20 ets.IPPROTO_IP: │ │ │ │ │ +00011550: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011560: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p │ │ │ │ │ +00011570: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ +00011580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011590: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000115a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000115b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000115c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000115d0: 2020 2020 2020 2028 6c69 6e65 2031 3629 (line 16) │ │ │ │ │ -000115e0: 0a2a 2053 6f63 6b65 7473 2e4d 756c 7469 .* Sockets.Multi │ │ │ │ │ -000115f0: 6361 7374 2e43 7265 6174 655f 4d75 6c74 cast.Create_Mult │ │ │ │ │ -00011600: 6963 6173 745f 536f 636b 6574 203c 313e icast_Socket <1> │ │ │ │ │ -00011610: 3a20 4372 6561 7465 5f4d 756c 7469 6361 : Create_Multica │ │ │ │ │ -00011620: 7374 5f53 6f63 6b65 7420 2866 756e 6374 st_Socket (funct │ │ │ │ │ -00011630: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ -00011640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000115b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +000115c0: 3230 290a 2a20 536f 636b 6574 732e 4950 20).* Sockets.IP │ │ │ │ │ +000115d0: 5052 4f54 4f5f 4950 203c 313e 3a20 2020 PROTO_IP <1>: │ │ │ │ │ +000115e0: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ +000115f0: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ +00011600: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +00011610: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011640: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* │ │ │ │ │ +00011650: 536f 636b 6574 732e 4c69 7374 656e 3a20 Sockets.Listen: │ │ │ │ │ 00011660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011670: 2020 2020 2028 6c69 6e65 2031 3429 0a2a (line 14).* │ │ │ │ │ -00011680: 2053 6f63 6b65 7473 2e4d 756c 7469 6361 Sockets.Multica │ │ │ │ │ -00011690: 7374 2e43 7265 6174 655f 4d75 6c74 6963 st.Create_Multic │ │ │ │ │ -000116a0: 6173 745f 536f 636b 6574 203c 323e 3a20 ast_Socket <2>: │ │ │ │ │ -000116b0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast │ │ │ │ │ -000116c0: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio │ │ │ │ │ -000116d0: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. │ │ │ │ │ -000116e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011670: 2020 2020 2020 204c 6973 7465 6e20 2870 Listen (p │ │ │ │ │ +00011680: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li │ │ │ │ │ +00011690: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets │ │ │ │ │ +000116a0: 2e4d 756c 7469 6361 7374 2e43 7265 6174 .Multicast.Creat │ │ │ │ │ +000116b0: 655f 4d75 6c74 6963 6173 745f 536f 636b e_Multicast_Sock │ │ │ │ │ +000116c0: 6574 3a20 5365 7474 696e 6720 7570 206d et: Setting up m │ │ │ │ │ +000116d0: 756c 7469 6361 7374 2073 6f63 6b65 7473 ulticast sockets │ │ │ │ │ +000116e0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ 000116f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00011700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011710: 2020 2028 6c69 6e65 2036 3829 0a2a 2053 (line 68).* S │ │ │ │ │ -00011720: 6f63 6b65 7473 2e4e 616d 696e 672e 4164 ockets.Naming.Ad │ │ │ │ │ -00011730: 6472 6573 735f 4f66 3a20 2020 2020 2020 dress_Of: │ │ │ │ │ -00011740: 2020 2020 2020 4164 6472 6573 735f 4f66 Address_Of │ │ │ │ │ -00011750: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ -00011760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011720: 2028 6c69 6e65 2031 3629 0a2a 2053 6f63 (line 16).* Soc │ │ │ │ │ +00011730: 6b65 7473 2e4d 756c 7469 6361 7374 2e43 kets.Multicast.C │ │ │ │ │ +00011740: 7265 6174 655f 4d75 6c74 6963 6173 745f reate_Multicast_ │ │ │ │ │ +00011750: 536f 636b 6574 203c 313e 3a20 4372 6561 Socket <1>: Crea │ │ │ │ │ +00011760: 7465 5f4d 756c 7469 6361 7374 5f53 6f63 te_Multicast_Soc │ │ │ │ │ +00011770: 6b65 7420 2866 756e 6374 696f 6e29 2e0a ket (function).. │ │ │ │ │ 00011780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011790: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -000117a0: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets. │ │ │ │ │ -000117b0: 4e61 6d69 6e67 2e41 6e79 5f41 6464 7265 Naming.Any_Addre │ │ │ │ │ -000117c0: 7373 3a20 2020 2020 2020 2020 2020 2041 ss: A │ │ │ │ │ -000117d0: 6e79 5f41 6464 7265 7373 2028 6675 6e63 ny_Address (func │ │ │ │ │ -000117e0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ -000117f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011820: 2020 2020 2020 286c 696e 6520 3130 290a (line 10). │ │ │ │ │ -00011830: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming │ │ │ │ │ -00011840: 2e47 6574 5f50 6565 725f 4164 6472 3a20 .Get_Peer_Addr: │ │ │ │ │ -00011850: 2020 2020 2020 2020 2047 6574 5f50 6565 Get_Pee │ │ │ │ │ -00011860: 725f 4164 6472 2028 6675 6e63 7469 6f6e r_Addr (function │ │ │ │ │ -00011870: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -00011880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011890: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000118a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000118b0: 2020 286c 696e 6520 3132 290a 2a20 536f (line 12).* So │ │ │ │ │ -000118c0: 636b 6574 732e 4e61 6d69 6e67 2e47 6574 ckets.Naming.Get │ │ │ │ │ -000118d0: 5f50 6565 725f 506f 7274 3a20 2020 2020 _Peer_Port: │ │ │ │ │ -000118e0: 2020 2020 2047 6574 5f50 6565 725f 506f Get_Peer_Po │ │ │ │ │ -000118f0: 7274 2028 6675 6e63 7469 6f6e 292e 0a20 rt (function).. │ │ │ │ │ -00011900: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011910: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011930: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00011940: 696e 6520 3132 290a 2a20 536f 636b 6574 ine 12).* Socket │ │ │ │ │ -00011950: 732e 4e61 6d69 6e67 2e47 6574 5f53 6f63 s.Naming.Get_Soc │ │ │ │ │ -00011960: 6b5f 4164 6472 3a20 2020 2020 2020 2020 k_Addr: │ │ │ │ │ -00011970: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr ( │ │ │ │ │ -00011980: 6675 6e63 7469 6f6e 292e 0a20 2020 2020 function).. │ │ │ │ │ -00011990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000119a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000119b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000119c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -000119d0: 3132 290a 2a20 536f 636b 6574 732e 4e61 12).* Sockets.Na │ │ │ │ │ -000119e0: 6d69 6e67 2e47 6574 5f53 6f63 6b5f 506f ming.Get_Sock_Po │ │ │ │ │ -000119f0: 7274 3a20 2020 2020 2020 2020 2047 6574 rt: Get │ │ │ │ │ -00011a00: 5f53 6f63 6b5f 506f 7274 2028 6675 6e63 _Sock_Port (func │ │ │ │ │ -00011a10: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ -00011a20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011a30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011a40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011a50: 2020 2020 2020 286c 696e 6520 3132 290a (line 12). │ │ │ │ │ -00011a60: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming │ │ │ │ │ -00011a70: 2e48 6f73 745f 4e61 6d65 3a20 2020 2020 .Host_Name: │ │ │ │ │ -00011a80: 2020 2020 2020 2020 2048 6f73 745f 4e61 Host_Na │ │ │ │ │ -00011a90: 6d65 2028 6675 6e63 7469 6f6e 292e 2028 me (function). ( │ │ │ │ │ -00011aa0: 6c69 6e65 2031 3029 0a2a 2053 6f63 6b65 line 10).* Socke │ │ │ │ │ -00011ab0: 7473 2e4e 616d 696e 672e 496d 6167 653a ts.Naming.Image: │ │ │ │ │ -00011ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011ad0: 2020 496d 6167 6520 2866 756e 6374 696f Image (functio │ │ │ │ │ -00011ae0: 6e29 2e20 2020 2020 286c 696e 6520 3131 n). (line 11 │ │ │ │ │ -00011af0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami │ │ │ │ │ -00011b00: 6e67 2e49 6e66 6f5f 4f66 5f4e 616d 655f ng.Info_Of_Name_ │ │ │ │ │ -00011b10: 4f72 5f49 503a 2020 2020 2049 6e66 6f5f Or_IP: Info_ │ │ │ │ │ -00011b20: 4f66 5f4e 616d 655f 4f72 5f49 5020 2866 Of_Name_Or_IP (f │ │ │ │ │ -00011b30: 756e 6374 696f 6e29 2e0a 2020 2020 2020 unction).. │ │ │ │ │ -00011b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011b60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011b70: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1 │ │ │ │ │ -00011b80: 3229 0a2a 2053 6f63 6b65 7473 2e4e 616d 2).* Sockets.Nam │ │ │ │ │ -00011b90: 696e 672e 4973 5f49 505f 4164 6472 6573 ing.Is_IP_Addres │ │ │ │ │ -00011ba0: 733a 2020 2020 2020 2020 2020 4973 5f49 s: Is_I │ │ │ │ │ -00011bb0: 505f 4164 6472 6573 7320 2866 756e 6374 P_Address (funct │ │ │ │ │ -00011bc0: 696f 6e29 2e0a 2020 2020 2020 2020 2020 ion).. │ │ │ │ │ -00011bd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011be0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011c00: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).* │ │ │ │ │ -00011c10: 2053 6f63 6b65 7473 2e4e 616d 696e 672e Sockets.Naming. │ │ │ │ │ -00011c20: 4e61 6d65 5f4f 663a 2020 2020 2020 2020 Name_Of: │ │ │ │ │ -00011c30: 2020 2020 2020 2020 4e61 6d65 5f4f 6620 Name_Of │ │ │ │ │ -00011c40: 2866 756e 6374 696f 6e29 2e20 2020 286c (function). (l │ │ │ │ │ -00011c50: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket │ │ │ │ │ -00011c60: 732e 4e61 6d69 6e67 2e56 616c 7565 3a20 s.Naming.Value: │ │ │ │ │ -00011c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011c80: 2056 616c 7565 2028 6675 6e63 7469 6f6e Value (function │ │ │ │ │ -00011c90: 292e 2020 2020 2028 6c69 6e65 2031 3129 ). (line 11) │ │ │ │ │ -00011ca0: 0a2a 2053 6f63 6b65 7473 2e4e 6577 5f4c .* Sockets.New_L │ │ │ │ │ -00011cb0: 696e 653a 2020 2020 2020 2020 2020 2020 ine: │ │ │ │ │ -00011cc0: 2020 2020 2020 2020 2020 4e65 775f 4c69 New_Li │ │ │ │ │ -00011cd0: 6e65 2028 7072 6f63 6564 7572 6529 2e20 ne (procedure). │ │ │ │ │ -00011ce0: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock │ │ │ │ │ -00011cf0: 6574 732e 5075 743a 2020 2020 2020 2020 ets.Put: │ │ │ │ │ -00011d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011d10: 2020 2050 7574 2028 7072 6f63 6564 7572 Put (procedur │ │ │ │ │ -00011d20: 6529 2e20 2020 2020 2028 6c69 6e65 2031 e). (line 1 │ │ │ │ │ -00011d30: 3129 0a2a 2053 6f63 6b65 7473 2e50 7574 1).* Sockets.Put │ │ │ │ │ -00011d40: 5f4c 696e 653a 2020 2020 2020 2020 2020 _Line: │ │ │ │ │ -00011d50: 2020 2020 2020 2020 2020 2020 5075 745f Put_ │ │ │ │ │ -00011d60: 4c69 6e65 2028 7072 6f63 6564 7572 6529 Line (procedure) │ │ │ │ │ -00011d70: 2e20 286c 696e 6520 3131 290a 2a20 536f . (line 11).* So │ │ │ │ │ -00011d80: 636b 6574 732e 5265 6365 6976 653a 2020 ckets.Receive: │ │ │ │ │ -00011d90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011da0: 2020 2020 2052 6563 6569 7665 2028 6675 Receive (fu │ │ │ │ │ -00011db0: 6e63 7469 6f6e 292e 2020 2028 6c69 6e65 nction). (line │ │ │ │ │ -00011dc0: 2031 3229 0a2a 2053 6f63 6b65 7473 2e52 12).* Sockets.R │ │ │ │ │ -00011dd0: 6563 6569 7665 203c 313e 3a20 2020 2020 eceive <1>: │ │ │ │ │ -00011de0: 2020 2020 2020 2020 2020 2020 2020 5265 Re │ │ │ │ │ -00011df0: 6365 6976 6520 2870 726f 6365 6475 7265 ceive (procedure │ │ │ │ │ -00011e00: 292e 2020 286c 696e 6520 3131 290a 2a20 ). (line 11).* │ │ │ │ │ -00011e10: 536f 636b 6574 732e 5265 6365 6976 655f Sockets.Receive_ │ │ │ │ │ -00011e20: 536f 6d65 3a20 2020 2020 2020 2020 2020 Some: │ │ │ │ │ -00011e30: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S │ │ │ │ │ -00011e40: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure). │ │ │ │ │ -00011e50: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -00011e60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011e80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011e90: 286c 696e 6520 3133 290a 2a20 536f 636b (line 13).* Sock │ │ │ │ │ -00011ea0: 6574 732e 5365 6e64 3a20 2020 2020 2020 ets.Send: │ │ │ │ │ -00011eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011ec0: 2020 2053 656e 6420 2870 726f 6365 6475 Send (procedu │ │ │ │ │ -00011ed0: 7265 292e 2020 2020 2028 6c69 6e65 2031 re). (line 1 │ │ │ │ │ -00011ee0: 3129 0a2a 2053 6f63 6b65 7473 2e53 6574 1).* Sockets.Set │ │ │ │ │ -00011ef0: 5f42 7566 6665 723a 2020 2020 2020 2020 _Buffer: │ │ │ │ │ -00011f00: 2020 2020 2020 2020 2020 2020 5365 745f Set_ │ │ │ │ │ -00011f10: 4275 6666 6572 2028 7072 6f63 6564 7572 Buffer (procedur │ │ │ │ │ -00011f20: 6529 2e0a 2020 2020 2020 2020 2020 2020 e).. │ │ │ │ │ -00011f30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011f50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011f60: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S │ │ │ │ │ -00011f70: 6f63 6b65 7473 2e53 6574 736f 636b 6f70 ockets.Setsockop │ │ │ │ │ -00011f80: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ -00011f90: 2020 2020 2020 5365 7473 6f63 6b6f 7074 Setsockopt │ │ │ │ │ -00011fa0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +00011790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000117a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000117b0: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +000117c0: 6c69 6e65 2031 3429 0a2a 2053 6f63 6b65 line 14).* Socke │ │ │ │ │ +000117d0: 7473 2e4d 756c 7469 6361 7374 2e43 7265 ts.Multicast.Cre │ │ │ │ │ +000117e0: 6174 655f 4d75 6c74 6963 6173 745f 536f ate_Multicast_So │ │ │ │ │ +000117f0: 636b 6574 203c 323e 3a20 4372 6561 7465 cket <2>: Create │ │ │ │ │ +00011800: 5f4d 756c 7469 6361 7374 5f53 6f63 6b65 _Multicast_Socke │ │ │ │ │ +00011810: 7420 2866 756e 6374 696f 6e29 2e0a 2020 t (function).. │ │ │ │ │ +00011820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011840: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011850: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00011860: 6e65 2036 3829 0a2a 2053 6f63 6b65 7473 ne 68).* Sockets │ │ │ │ │ +00011870: 2e4e 616d 696e 672e 4164 6472 6573 735f .Naming.Address_ │ │ │ │ │ +00011880: 4f66 3a20 2020 2020 2020 2020 2020 2020 Of: │ │ │ │ │ +00011890: 4164 6472 6573 735f 4f66 2028 6675 6e63 Address_Of (func │ │ │ │ │ +000118a0: 7469 6f6e 292e 0a20 2020 2020 2020 2020 tion).. │ │ │ │ │ +000118b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000118c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000118d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000118e0: 2020 2020 2020 286c 696e 6520 3132 290a (line 12). │ │ │ │ │ +000118f0: 2a20 536f 636b 6574 732e 4e61 6d69 6e67 * Sockets.Naming │ │ │ │ │ +00011900: 2e41 6e79 5f41 6464 7265 7373 3a20 2020 .Any_Address: │ │ │ │ │ +00011910: 2020 2020 2020 2020 2041 6e79 5f41 6464 Any_Add │ │ │ │ │ +00011920: 7265 7373 2028 6675 6e63 7469 6f6e 292e ress (function). │ │ │ │ │ +00011930: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00011940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011950: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011960: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011970: 286c 696e 6520 3130 290a 2a20 536f 636b (line 10).* Sock │ │ │ │ │ +00011980: 6574 732e 4e61 6d69 6e67 2e47 6574 5f50 ets.Naming.Get_P │ │ │ │ │ +00011990: 6565 725f 4164 6472 3a20 2020 2020 2020 eer_Addr: │ │ │ │ │ +000119a0: 2020 2047 6574 5f50 6565 725f 4164 6472 Get_Peer_Addr │ │ │ │ │ +000119b0: 2028 6675 6e63 7469 6f6e 292e 0a20 2020 (function).. │ │ │ │ │ +000119c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000119d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000119e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000119f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +00011a00: 6520 3132 290a 2a20 536f 636b 6574 732e e 12).* Sockets. │ │ │ │ │ +00011a10: 4e61 6d69 6e67 2e47 6574 5f50 6565 725f Naming.Get_Peer_ │ │ │ │ │ +00011a20: 506f 7274 3a20 2020 2020 2020 2020 2047 Port: G │ │ │ │ │ +00011a30: 6574 5f50 6565 725f 506f 7274 2028 6675 et_Peer_Port (fu │ │ │ │ │ +00011a40: 6e63 7469 6f6e 292e 0a20 2020 2020 2020 nction).. │ │ │ │ │ +00011a50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011a60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011a70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011a80: 2020 2020 2020 2020 286c 696e 6520 3132 (line 12 │ │ │ │ │ +00011a90: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami │ │ │ │ │ +00011aa0: 6e67 2e47 6574 5f53 6f63 6b5f 4164 6472 ng.Get_Sock_Addr │ │ │ │ │ +00011ab0: 3a20 2020 2020 2020 2020 2047 6574 5f53 : Get_S │ │ │ │ │ +00011ac0: 6f63 6b5f 4164 6472 2028 6675 6e63 7469 ock_Addr (functi │ │ │ │ │ +00011ad0: 6f6e 292e 0a20 2020 2020 2020 2020 2020 on).. │ │ │ │ │ +00011ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011b00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011b10: 2020 2020 286c 696e 6520 3132 290a 2a20 (line 12).* │ │ │ │ │ +00011b20: 536f 636b 6574 732e 4e61 6d69 6e67 2e47 Sockets.Naming.G │ │ │ │ │ +00011b30: 6574 5f53 6f63 6b5f 506f 7274 3a20 2020 et_Sock_Port: │ │ │ │ │ +00011b40: 2020 2020 2020 2047 6574 5f53 6f63 6b5f Get_Sock_ │ │ │ │ │ +00011b50: 506f 7274 2028 6675 6e63 7469 6f6e 292e Port (function). │ │ │ │ │ +00011b60: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00011b70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011b90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011ba0: 286c 696e 6520 3132 290a 2a20 536f 636b (line 12).* Sock │ │ │ │ │ +00011bb0: 6574 732e 4e61 6d69 6e67 2e48 6f73 745f ets.Naming.Host_ │ │ │ │ │ +00011bc0: 4e61 6d65 3a20 2020 2020 2020 2020 2020 Name: │ │ │ │ │ +00011bd0: 2020 2048 6f73 745f 4e61 6d65 2028 6675 Host_Name (fu │ │ │ │ │ +00011be0: 6e63 7469 6f6e 292e 2028 6c69 6e65 2031 nction). (line 1 │ │ │ │ │ +00011bf0: 3029 0a2a 2053 6f63 6b65 7473 2e4e 616d 0).* Sockets.Nam │ │ │ │ │ +00011c00: 696e 672e 496d 6167 653a 2020 2020 2020 ing.Image: │ │ │ │ │ +00011c10: 2020 2020 2020 2020 2020 2020 496d 6167 Imag │ │ │ │ │ +00011c20: 6520 2866 756e 6374 696f 6e29 2e20 2020 e (function). │ │ │ │ │ +00011c30: 2020 286c 696e 6520 3131 290a 2a20 536f (line 11).* So │ │ │ │ │ +00011c40: 636b 6574 732e 4e61 6d69 6e67 2e49 6e66 ckets.Naming.Inf │ │ │ │ │ +00011c50: 6f5f 4f66 5f4e 616d 655f 4f72 5f49 503a o_Of_Name_Or_IP: │ │ │ │ │ +00011c60: 2020 2020 2049 6e66 6f5f 4f66 5f4e 616d Info_Of_Nam │ │ │ │ │ +00011c70: 655f 4f72 5f49 5020 2866 756e 6374 696f e_Or_IP (functio │ │ │ │ │ +00011c80: 6e29 2e0a 2020 2020 2020 2020 2020 2020 n).. │ │ │ │ │ +00011c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011ca0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011cb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011cc0: 2020 2028 6c69 6e65 2031 3229 0a2a 2053 (line 12).* S │ │ │ │ │ +00011cd0: 6f63 6b65 7473 2e4e 616d 696e 672e 4973 ockets.Naming.Is │ │ │ │ │ +00011ce0: 5f49 505f 4164 6472 6573 733a 2020 2020 _IP_Address: │ │ │ │ │ +00011cf0: 2020 2020 2020 4973 5f49 505f 4164 6472 Is_IP_Addr │ │ │ │ │ +00011d00: 6573 7320 2866 756e 6374 696f 6e29 2e0a ess (function).. │ │ │ │ │ +00011d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011d30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011d40: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00011d50: 6c69 6e65 2031 3229 0a2a 2053 6f63 6b65 line 12).* Socke │ │ │ │ │ +00011d60: 7473 2e4e 616d 696e 672e 4e61 6d65 5f4f ts.Naming.Name_O │ │ │ │ │ +00011d70: 663a 2020 2020 2020 2020 2020 2020 2020 f: │ │ │ │ │ +00011d80: 2020 4e61 6d65 5f4f 6620 2866 756e 6374 Name_Of (funct │ │ │ │ │ +00011d90: 696f 6e29 2e20 2020 286c 696e 6520 3131 ion). (line 11 │ │ │ │ │ +00011da0: 290a 2a20 536f 636b 6574 732e 4e61 6d69 ).* Sockets.Nami │ │ │ │ │ +00011db0: 6e67 2e56 616c 7565 3a20 2020 2020 2020 ng.Value: │ │ │ │ │ +00011dc0: 2020 2020 2020 2020 2020 2056 616c 7565 Value │ │ │ │ │ +00011dd0: 2028 6675 6e63 7469 6f6e 292e 2020 2020 (function). │ │ │ │ │ +00011de0: 2028 6c69 6e65 2031 3129 0a2a 2053 6f63 (line 11).* Soc │ │ │ │ │ +00011df0: 6b65 7473 2e4e 6577 5f4c 696e 653a 2020 kets.New_Line: │ │ │ │ │ +00011e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011e10: 2020 2020 4e65 775f 4c69 6e65 2028 7072 New_Line (pr │ │ │ │ │ +00011e20: 6f63 6564 7572 6529 2e20 286c 696e 6520 ocedure). (line │ │ │ │ │ +00011e30: 3131 290a 2a20 536f 636b 6574 732e 5075 11).* Sockets.Pu │ │ │ │ │ +00011e40: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ +00011e50: 2020 2020 2020 2020 2020 2020 2050 7574 Put │ │ │ │ │ +00011e60: 2028 7072 6f63 6564 7572 6529 2e20 2020 (procedure). │ │ │ │ │ +00011e70: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S │ │ │ │ │ +00011e80: 6f63 6b65 7473 2e50 7574 5f4c 696e 653a ockets.Put_Line: │ │ │ │ │ +00011e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011ea0: 2020 2020 2020 5075 745f 4c69 6e65 2028 Put_Line ( │ │ │ │ │ +00011eb0: 7072 6f63 6564 7572 6529 2e20 286c 696e procedure). (lin │ │ │ │ │ +00011ec0: 6520 3131 290a 2a20 536f 636b 6574 732e e 11).* Sockets. │ │ │ │ │ +00011ed0: 5265 6365 6976 653a 2020 2020 2020 2020 Receive: │ │ │ │ │ +00011ee0: 2020 2020 2020 2020 2020 2020 2020 2052 R │ │ │ │ │ +00011ef0: 6563 6569 7665 2028 6675 6e63 7469 6f6e eceive (function │ │ │ │ │ +00011f00: 292e 2020 2028 6c69 6e65 2031 3229 0a2a ). (line 12).* │ │ │ │ │ +00011f10: 2053 6f63 6b65 7473 2e52 6563 6569 7665 Sockets.Receive │ │ │ │ │ +00011f20: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00011f30: 2020 2020 2020 2020 5265 6365 6976 6520 Receive │ │ │ │ │ +00011f40: 2870 726f 6365 6475 7265 292e 2020 286c (procedure). (l │ │ │ │ │ +00011f50: 696e 6520 3131 290a 2a20 536f 636b 6574 ine 11).* Socket │ │ │ │ │ +00011f60: 732e 5265 6365 6976 655f 536f 6d65 3a20 s.Receive_Some: │ │ │ │ │ +00011f70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00011f80: 2052 6563 6569 7665 5f53 6f6d 6520 2870 Receive_Some (p │ │ │ │ │ +00011f90: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ +00011fa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00011fb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00011fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00011fe0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00011ff0: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets │ │ │ │ │ -00012000: 2e53 6875 7464 6f77 6e3a 2020 2020 2020 .Shutdown: │ │ │ │ │ -00012010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012020: 5368 7574 646f 776e 2028 7072 6f63 6564 Shutdown (proced │ │ │ │ │ -00012030: 7572 6529 2e20 286c 696e 6520 3131 290a ure). (line 11). │ │ │ │ │ -00012040: 2a20 536f 636b 6574 732e 534f 5f52 4356 * Sockets.SO_RCV │ │ │ │ │ -00012050: 4255 463a 2020 2020 2020 2020 2020 2020 BUF: │ │ │ │ │ -00012060: 2020 2020 2020 2020 2047 6574 736f 636b Getsock │ │ │ │ │ -00012070: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ -00012080: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00011fd0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00011fe0: 3133 290a 2a20 536f 636b 6574 732e 5365 13).* Sockets.Se │ │ │ │ │ +00011ff0: 6e64 3a20 2020 2020 2020 2020 2020 2020 nd: │ │ │ │ │ +00012000: 2020 2020 2020 2020 2020 2020 2053 656e Sen │ │ │ │ │ +00012010: 6420 2870 726f 6365 6475 7265 292e 2020 d (procedure). │ │ │ │ │ +00012020: 2020 2028 6c69 6e65 2031 3129 0a2a 2053 (line 11).* S │ │ │ │ │ +00012030: 6f63 6b65 7473 2e53 6574 5f42 7566 6665 ockets.Set_Buffe │ │ │ │ │ +00012040: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ +00012050: 2020 2020 2020 5365 745f 4275 6666 6572 Set_Buffer │ │ │ │ │ +00012060: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +00012070: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012080: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012090: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000120a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000120b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000120c0: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock │ │ │ │ │ -000120d0: 6574 732e 534f 5f52 4356 4255 4620 3c31 ets.SO_RCVBUF <1 │ │ │ │ │ -000120e0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000120f0: 2020 2053 6574 736f 636b 6f70 7420 2870 Setsockopt (p │ │ │ │ │ -00012100: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ +000120a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +000120b0: 6e65 2031 3129 0a2a 2053 6f63 6b65 7473 ne 11).* Sockets │ │ │ │ │ +000120c0: 2e53 6574 736f 636b 6f70 743a 2020 2020 .Setsockopt: │ │ │ │ │ +000120d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000120e0: 5365 7473 6f63 6b6f 7074 2028 7072 6f63 Setsockopt (proc │ │ │ │ │ +000120f0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00012100: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012110: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012120: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012130: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012140: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00012150: 3230 290a 2a20 536f 636b 6574 732e 534f 20).* Sockets.SO │ │ │ │ │ -00012160: 5f52 4555 5345 4144 4452 3a20 2020 2020 _REUSEADDR: │ │ │ │ │ -00012170: 2020 2020 2020 2020 2020 2020 2047 6574 Get │ │ │ │ │ -00012180: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ -00012190: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +00012130: 2020 2020 2020 2028 6c69 6e65 2031 3229 (line 12) │ │ │ │ │ +00012140: 0a2a 2053 6f63 6b65 7473 2e53 6875 7464 .* Sockets.Shutd │ │ │ │ │ +00012150: 6f77 6e3a 2020 2020 2020 2020 2020 2020 own: │ │ │ │ │ +00012160: 2020 2020 2020 2020 2020 5368 7574 646f Shutdo │ │ │ │ │ +00012170: 776e 2028 7072 6f63 6564 7572 6529 2e20 wn (procedure). │ │ │ │ │ +00012180: 286c 696e 6520 3131 290a 2a20 536f 636b (line 11).* Sock │ │ │ │ │ +00012190: 6574 732e 534f 5f52 4356 4255 463a 2020 ets.SO_RCVBUF: │ │ │ │ │ 000121a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000121c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000121d0: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* │ │ │ │ │ -000121e0: 536f 636b 6574 732e 534f 5f52 4555 5345 Sockets.SO_REUSE │ │ │ │ │ -000121f0: 4144 4452 203c 313e 3a20 2020 2020 2020 ADDR <1>: │ │ │ │ │ -00012200: 2020 2020 2020 2053 6574 736f 636b 6f70 Setsockop │ │ │ │ │ -00012210: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ -00012220: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012230: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012240: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012250: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ -00012260: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket │ │ │ │ │ -00012270: 732e 534f 5f52 4555 5345 504f 5254 3a20 s.SO_REUSEPORT: │ │ │ │ │ +000121b0: 2020 2047 6574 736f 636b 6f70 7420 2870 Getsockopt (p │ │ │ │ │ +000121c0: 726f 6365 6475 7265 292e 0a20 2020 2020 rocedure).. │ │ │ │ │ +000121d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000121e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000121f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012200: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00012210: 3230 290a 2a20 536f 636b 6574 732e 534f 20).* Sockets.SO │ │ │ │ │ +00012220: 5f52 4356 4255 4620 3c31 3e3a 2020 2020 _RCVBUF <1>: │ │ │ │ │ +00012230: 2020 2020 2020 2020 2020 2020 2053 6574 Set │ │ │ │ │ +00012240: 736f 636b 6f70 7420 2870 726f 6365 6475 sockopt (procedu │ │ │ │ │ +00012250: 7265 292e 0a20 2020 2020 2020 2020 2020 re).. │ │ │ │ │ +00012260: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012270: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012280: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012290: 2047 6574 736f 636b 6f70 7420 2870 726f Getsockopt (pro │ │ │ │ │ -000122a0: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ -000122b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000122c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000122d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000122e0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20 │ │ │ │ │ -000122f0: 290a 2a20 536f 636b 6574 732e 534f 5f52 ).* Sockets.SO_R │ │ │ │ │ -00012300: 4555 5345 504f 5254 203c 313e 3a20 2020 EUSEPORT <1>: │ │ │ │ │ -00012310: 2020 2020 2020 2020 2020 2053 6574 736f Setso │ │ │ │ │ -00012320: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ -00012330: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ -00012340: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012350: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012360: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012370: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So │ │ │ │ │ -00012380: 636b 6574 732e 534f 5f53 4e44 4255 463a ckets.SO_SNDBUF: │ │ │ │ │ +00012290: 2020 2020 286c 696e 6520 3230 290a 2a20 (line 20).* │ │ │ │ │ +000122a0: 536f 636b 6574 732e 534f 5f52 4555 5345 Sockets.SO_REUSE │ │ │ │ │ +000122b0: 4144 4452 3a20 2020 2020 2020 2020 2020 ADDR: │ │ │ │ │ +000122c0: 2020 2020 2020 2047 6574 736f 636b 6f70 Getsockop │ │ │ │ │ +000122d0: 7420 2870 726f 6365 6475 7265 292e 0a20 t (procedure).. │ │ │ │ │ +000122e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000122f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012300: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012310: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00012320: 696e 6520 3230 290a 2a20 536f 636b 6574 ine 20).* Socket │ │ │ │ │ +00012330: 732e 534f 5f52 4555 5345 4144 4452 203c s.SO_REUSEADDR < │ │ │ │ │ +00012340: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ +00012350: 2053 6574 736f 636b 6f70 7420 2870 726f Setsockopt (pro │ │ │ │ │ +00012360: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ +00012370: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012380: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012390: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000123a0: 2020 2020 2047 6574 736f 636b 6f70 7420 Getsockopt │ │ │ │ │ -000123b0: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ -000123c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000123d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000123e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000123f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ -00012400: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets. │ │ │ │ │ -00012410: 534f 5f53 4e44 4255 4620 3c31 3e3a 2020 SO_SNDBUF <1>: │ │ │ │ │ -00012420: 2020 2020 2020 2020 2020 2020 2020 2053 S │ │ │ │ │ -00012430: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ -00012440: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ -00012450: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012460: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012470: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012480: 2020 2020 2020 286c 696e 6520 3230 290a (line 20). │ │ │ │ │ -00012490: 2a20 536f 636b 6574 732e 536f 636b 6574 * Sockets.Socket │ │ │ │ │ -000124a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : │ │ │ │ │ -000124b0: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting │ │ │ │ │ -000124c0: 2075 7020 756e 6963 6173 7420 736f 636b up unicast sock │ │ │ │ │ -000124d0: 6574 732e 0a20 2020 2020 2020 2020 2020 ets.. │ │ │ │ │ -000124e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000124f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012500: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012510: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ -00012520: 536f 636b 6574 732e 536f 636b 6574 203c Sockets.Socket < │ │ │ │ │ -00012530: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: │ │ │ │ │ -00012540: 2020 2020 2020 2053 6f63 6b65 7420 2870 Socket (p │ │ │ │ │ -00012550: 726f 6365 6475 7265 292e 2020 2028 6c69 rocedure). (li │ │ │ │ │ -00012560: 6e65 2031 3229 0a2a 2053 6f63 6b65 7473 ne 12).* Sockets │ │ │ │ │ -00012570: 2e53 4f4c 5f53 4f43 4b45 543a 2020 2020 .SOL_SOCKET: │ │ │ │ │ -00012580: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012590: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc │ │ │ │ │ -000125a0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +000123a0: 2020 2020 2020 2020 286c 696e 6520 3230 (line 20 │ │ │ │ │ +000123b0: 290a 2a20 536f 636b 6574 732e 534f 5f52 ).* Sockets.SO_R │ │ │ │ │ +000123c0: 4555 5345 504f 5254 3a20 2020 2020 2020 EUSEPORT: │ │ │ │ │ +000123d0: 2020 2020 2020 2020 2020 2047 6574 736f Getso │ │ │ │ │ +000123e0: 636b 6f70 7420 2870 726f 6365 6475 7265 ckopt (procedure │ │ │ │ │ +000123f0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ +00012400: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012410: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012420: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012430: 2020 286c 696e 6520 3230 290a 2a20 536f (line 20).* So │ │ │ │ │ +00012440: 636b 6574 732e 534f 5f52 4555 5345 504f ckets.SO_REUSEPO │ │ │ │ │ +00012450: 5254 203c 313e 3a20 2020 2020 2020 2020 RT <1>: │ │ │ │ │ +00012460: 2020 2020 2053 6574 736f 636b 6f70 7420 Setsockopt │ │ │ │ │ +00012470: 2870 726f 6365 6475 7265 292e 0a20 2020 (procedure).. │ │ │ │ │ +00012480: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012490: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000124a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000124b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin │ │ │ │ │ +000124c0: 6520 3230 290a 2a20 536f 636b 6574 732e e 20).* Sockets. │ │ │ │ │ +000124d0: 534f 5f53 4e44 4255 463a 2020 2020 2020 SO_SNDBUF: │ │ │ │ │ +000124e0: 2020 2020 2020 2020 2020 2020 2020 2047 G │ │ │ │ │ +000124f0: 6574 736f 636b 6f70 7420 2870 726f 6365 etsockopt (proce │ │ │ │ │ +00012500: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ +00012510: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012520: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012530: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012540: 2020 2020 2020 286c 696e 6520 3230 290a (line 20). │ │ │ │ │ +00012550: 2a20 536f 636b 6574 732e 534f 5f53 4e44 * Sockets.SO_SND │ │ │ │ │ +00012560: 4255 4620 3c31 3e3a 2020 2020 2020 2020 BUF <1>: │ │ │ │ │ +00012570: 2020 2020 2020 2020 2053 6574 736f 636b Setsock │ │ │ │ │ +00012580: 6f70 7420 2870 726f 6365 6475 7265 292e opt (procedure). │ │ │ │ │ +00012590: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +000125a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000125b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 000125c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000125d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000125e0: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ -000125f0: 0a2a 2053 6f63 6b65 7473 2e53 4f4c 5f53 .* Sockets.SOL_S │ │ │ │ │ -00012600: 4f43 4b45 5420 3c31 3e3a 2020 2020 2020 OCKET <1>: │ │ │ │ │ -00012610: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc │ │ │ │ │ -00012620: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ -00012630: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +000125d0: 286c 696e 6520 3230 290a 2a20 536f 636b (line 20).* Sock │ │ │ │ │ +000125e0: 6574 732e 536f 636b 6574 3a20 2020 2020 ets.Socket: │ │ │ │ │ +000125f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012600: 2020 2053 6574 7469 6e67 2075 7020 756e Setting up un │ │ │ │ │ +00012610: 6963 6173 7420 736f 636b 6574 732e 0a20 icast sockets.. │ │ │ │ │ +00012620: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012630: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012640: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012650: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012660: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012670: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc │ │ │ │ │ -00012680: 6b65 7473 2e55 6e73 6574 5f42 7566 6665 kets.Unset_Buffe │ │ │ │ │ -00012690: 723a 2020 2020 2020 2020 2020 2020 2020 r: │ │ │ │ │ -000126a0: 2020 2020 556e 7365 745f 4275 6666 6572 Unset_Buffer │ │ │ │ │ -000126b0: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ -000126c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000126d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000126e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000126f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00012700: 6e65 2031 3129 0a2a 2053 4f4c 5f53 4f43 ne 11).* SOL_SOC │ │ │ │ │ -00012710: 4b45 543a 2020 2020 2020 2020 2020 2020 KET: │ │ │ │ │ +00012650: 2020 2020 2020 2020 2020 2020 2020 286c (l │ │ │ │ │ +00012660: 696e 6520 2036 290a 2a20 536f 636b 6574 ine 6).* Socket │ │ │ │ │ +00012670: 732e 536f 636b 6574 203c 313e 3a20 2020 s.Socket <1>: │ │ │ │ │ +00012680: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012690: 2053 6f63 6b65 7420 2870 726f 6365 6475 Socket (procedu │ │ │ │ │ +000126a0: 7265 292e 2020 2028 6c69 6e65 2031 3229 re). (line 12) │ │ │ │ │ +000126b0: 0a2a 2053 6f63 6b65 7473 2e53 4f4c 5f53 .* Sockets.SOL_S │ │ │ │ │ +000126c0: 4f43 4b45 543a 2020 2020 2020 2020 2020 OCKET: │ │ │ │ │ +000126d0: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc │ │ │ │ │ +000126e0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ +000126f0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00012700: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012710: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012720: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012730: 4765 7473 6f63 6b6f 7074 2028 7072 6f63 Getsockopt (proc │ │ │ │ │ -00012740: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ -00012750: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012760: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012770: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012780: 2020 2020 2020 2028 6c69 6e65 2032 3029 (line 20) │ │ │ │ │ -00012790: 0a2a 2053 4f4c 5f53 4f43 4b45 5420 3c31 .* SOL_SOCKET <1 │ │ │ │ │ -000127a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ -000127b0: 2020 2020 2020 2020 2020 5365 7473 6f63 Setsoc │ │ │ │ │ -000127c0: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ -000127d0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -000127e0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000127f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012800: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012810: 2028 6c69 6e65 2032 3029 0a2a 2053 7472 (line 20).* Str │ │ │ │ │ -00012820: 6561 6d5f 456c 656d 656e 745f 4172 7261 eam_Element_Arra │ │ │ │ │ -00012830: 793a 2020 2020 2020 2020 2020 2020 2020 y: │ │ │ │ │ -00012840: 2020 2020 5261 7720 6461 7461 206d 616e Raw data man │ │ │ │ │ -00012850: 6970 756c 6174 696f 6e2e 0a20 2020 2020 ipulation.. │ │ │ │ │ +00012730: 2028 6c69 6e65 2032 3029 0a2a 2053 6f63 (line 20).* Soc │ │ │ │ │ +00012740: 6b65 7473 2e53 4f4c 5f53 4f43 4b45 5420 kets.SOL_SOCKET │ │ │ │ │ +00012750: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: │ │ │ │ │ +00012760: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt ( │ │ │ │ │ +00012770: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ +00012780: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012790: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000127a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000127b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +000127c0: 2032 3029 0a2a 2053 6f63 6b65 7473 2e55 20).* Sockets.U │ │ │ │ │ +000127d0: 6e73 6574 5f42 7566 6665 723a 2020 2020 nset_Buffer: │ │ │ │ │ +000127e0: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +000127f0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc │ │ │ │ │ +00012800: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00012810: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012820: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012830: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012840: 2020 2020 2020 2028 6c69 6e65 2031 3129 (line 11) │ │ │ │ │ +00012850: 0a2a 2053 4f4c 5f53 4f43 4b45 543a 2020 .* SOL_SOCKET: │ │ │ │ │ 00012860: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012870: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012880: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012890: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -000128a0: 2036 290a 2a20 5374 7265 616d 5f45 6c65 6).* Stream_Ele │ │ │ │ │ -000128b0: 6d65 6e74 5f41 7272 6179 203c 313e 3a20 ment_Array <1>: │ │ │ │ │ -000128c0: 2020 2020 2020 2020 2020 2020 2052 6563 Rec │ │ │ │ │ -000128d0: 6569 7665 2028 6675 6e63 7469 6f6e 292e eive (function). │ │ │ │ │ -000128e0: 2020 2028 6c69 6e65 2032 3229 0a2a 2053 (line 22).* S │ │ │ │ │ -000128f0: 7472 6561 6d5f 456c 656d 656e 745f 4172 tream_Element_Ar │ │ │ │ │ -00012900: 7261 7920 3c32 3e3a 2020 2020 2020 2020 ray <2>: │ │ │ │ │ -00012910: 2020 2020 2020 5265 6365 6976 6520 2870 Receive (p │ │ │ │ │ -00012920: 726f 6365 6475 7265 292e 2020 286c 696e rocedure). (lin │ │ │ │ │ -00012930: 6520 3138 290a 2a20 5374 7265 616d 5f45 e 18).* Stream_E │ │ │ │ │ -00012940: 6c65 6d65 6e74 5f41 7272 6179 203c 333e lement_Array <3> │ │ │ │ │ -00012950: 3a20 2020 2020 2020 2020 2020 2020 2052 : R │ │ │ │ │ -00012960: 6563 6569 7665 5f53 6f6d 6520 2870 726f eceive_Some (pro │ │ │ │ │ -00012970: 6365 6475 7265 292e 0a20 2020 2020 2020 cedure).. │ │ │ │ │ -00012980: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012990: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000129a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -000129b0: 2020 2020 2020 2020 286c 696e 6520 3231 (line 21 │ │ │ │ │ -000129c0: 290a 2a20 5374 7265 616d 5f45 6c65 6d65 ).* Stream_Eleme │ │ │ │ │ -000129d0: 6e74 5f41 7272 6179 203c 343e 3a20 2020 nt_Array <4>: │ │ │ │ │ -000129e0: 2020 2020 2020 2020 2020 2053 656e 6420 Send │ │ │ │ │ -000129f0: 2870 726f 6365 6475 7265 292e 2020 2020 (procedure). │ │ │ │ │ -00012a00: 2028 6c69 6e65 2031 3729 0a2a 2053 7472 (line 17).* Str │ │ │ │ │ -00012a10: 6561 6d5f 456c 656d 656e 745f 436f 756e eam_Element_Coun │ │ │ │ │ -00012a20: 743a 2020 2020 2020 2020 2020 2020 2020 t: │ │ │ │ │ -00012a30: 2020 2020 5265 6365 6976 6520 2866 756e Receive (fun │ │ │ │ │ -00012a40: 6374 696f 6e29 2e20 2020 286c 696e 6520 ction). (line │ │ │ │ │ -00012a50: 3232 290a 2a20 5374 7265 616d 5f45 6c65 22).* Stream_Ele │ │ │ │ │ -00012a60: 6d65 6e74 5f43 6f75 6e74 203c 313e 3a20 ment_Count <1>: │ │ │ │ │ -00012a70: 2020 2020 2020 2020 2020 2020 2052 6563 Rec │ │ │ │ │ -00012a80: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce │ │ │ │ │ -00012a90: 6475 7265 292e 0a20 2020 2020 2020 2020 dure).. │ │ │ │ │ -00012aa0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ab0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ac0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ad0: 2020 2020 2020 286c 696e 6520 3231 290a (line 21). │ │ │ │ │ -00012ae0: 2a20 5374 7269 6e67 5f41 6363 6573 733a * String_Access: │ │ │ │ │ +00012870: 2020 2020 2020 2020 2020 4765 7473 6f63 Getsoc │ │ │ │ │ +00012880: 6b6f 7074 2028 7072 6f63 6564 7572 6529 kopt (procedure) │ │ │ │ │ +00012890: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +000128a0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000128b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000128c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000128d0: 2028 6c69 6e65 2032 3029 0a2a 2053 4f4c (line 20).* SOL │ │ │ │ │ +000128e0: 5f53 4f43 4b45 5420 3c31 3e3a 2020 2020 _SOCKET <1>: │ │ │ │ │ +000128f0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012900: 2020 2020 5365 7473 6f63 6b6f 7074 2028 Setsockopt ( │ │ │ │ │ +00012910: 7072 6f63 6564 7572 6529 2e0a 2020 2020 procedure).. │ │ │ │ │ +00012920: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012930: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012940: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012950: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00012960: 2032 3029 0a2a 2053 7472 6561 6d5f 456c 20).* Stream_El │ │ │ │ │ +00012970: 656d 656e 745f 4172 7261 793a 2020 2020 ement_Array: │ │ │ │ │ +00012980: 2020 2020 2020 2020 2020 2020 2020 5261 Ra │ │ │ │ │ +00012990: 7720 6461 7461 206d 616e 6970 756c 6174 w data manipulat │ │ │ │ │ +000129a0: 696f 6e2e 0a20 2020 2020 2020 2020 2020 ion.. │ │ │ │ │ +000129b0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000129c0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000129d0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +000129e0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* │ │ │ │ │ +000129f0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f41 Stream_Element_A │ │ │ │ │ +00012a00: 7272 6179 203c 313e 3a20 2020 2020 2020 rray <1>: │ │ │ │ │ +00012a10: 2020 2020 2020 2052 6563 6569 7665 2028 Receive ( │ │ │ │ │ +00012a20: 6675 6e63 7469 6f6e 292e 2020 2028 6c69 function). (li │ │ │ │ │ +00012a30: 6e65 2032 3229 0a2a 2053 7472 6561 6d5f ne 22).* Stream_ │ │ │ │ │ +00012a40: 456c 656d 656e 745f 4172 7261 7920 3c32 Element_Array <2 │ │ │ │ │ +00012a50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: │ │ │ │ │ +00012a60: 5265 6365 6976 6520 2870 726f 6365 6475 Receive (procedu │ │ │ │ │ +00012a70: 7265 292e 2020 286c 696e 6520 3138 290a re). (line 18). │ │ │ │ │ +00012a80: 2a20 5374 7265 616d 5f45 6c65 6d65 6e74 * Stream_Element │ │ │ │ │ +00012a90: 5f41 7272 6179 203c 333e 3a20 2020 2020 _Array <3>: │ │ │ │ │ +00012aa0: 2020 2020 2020 2020 2052 6563 6569 7665 Receive │ │ │ │ │ +00012ab0: 5f53 6f6d 6520 2870 726f 6365 6475 7265 _Some (procedure │ │ │ │ │ +00012ac0: 292e 0a20 2020 2020 2020 2020 2020 2020 ).. │ │ │ │ │ +00012ad0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012ae0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012af0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012b00: 2020 2020 2020 2020 2053 6f63 6b65 7473 Sockets │ │ │ │ │ -00012b10: 2e4e 616d 696e 6720 7061 636b 6167 652e .Naming package. │ │ │ │ │ -00012b20: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ -00012b30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012b40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012b50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012b60: 286c 696e 6520 3334 290a 2a20 5374 7269 (line 34).* Stri │ │ │ │ │ -00012b70: 6e67 5f41 7272 6179 3a20 2020 2020 2020 ng_Array: │ │ │ │ │ -00012b80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012b90: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin │ │ │ │ │ -00012ba0: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. │ │ │ │ │ -00012bb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012bc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012bd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012be0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ -00012bf0: 3337 290a 2a20 5375 6767 6573 7469 6e67 37).* Suggesting │ │ │ │ │ -00012c00: 2061 2066 6561 7475 7265 3a20 2020 2020 a feature: │ │ │ │ │ -00012c10: 2020 2020 2020 2020 2020 2020 2052 6573 Res │ │ │ │ │ -00012c20: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In │ │ │ │ │ -00012c30: 7465 726e 6574 2e0a 2020 2020 2020 2020 ternet.. │ │ │ │ │ +00012b00: 2020 286c 696e 6520 3231 290a 2a20 5374 (line 21).* St │ │ │ │ │ +00012b10: 7265 616d 5f45 6c65 6d65 6e74 5f41 7272 ream_Element_Arr │ │ │ │ │ +00012b20: 6179 203c 343e 3a20 2020 2020 2020 2020 ay <4>: │ │ │ │ │ +00012b30: 2020 2020 2053 656e 6420 2870 726f 6365 Send (proce │ │ │ │ │ +00012b40: 6475 7265 292e 2020 2020 2028 6c69 6e65 dure). (line │ │ │ │ │ +00012b50: 2031 3729 0a2a 2053 7472 6561 6d5f 456c 17).* Stream_El │ │ │ │ │ +00012b60: 656d 656e 745f 436f 756e 743a 2020 2020 ement_Count: │ │ │ │ │ +00012b70: 2020 2020 2020 2020 2020 2020 2020 5265 Re │ │ │ │ │ +00012b80: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function) │ │ │ │ │ +00012b90: 2e20 2020 286c 696e 6520 3232 290a 2a20 . (line 22).* │ │ │ │ │ +00012ba0: 5374 7265 616d 5f45 6c65 6d65 6e74 5f43 Stream_Element_C │ │ │ │ │ +00012bb0: 6f75 6e74 203c 313e 3a20 2020 2020 2020 ount <1>: │ │ │ │ │ +00012bc0: 2020 2020 2020 2052 6563 6569 7665 5f53 Receive_S │ │ │ │ │ +00012bd0: 6f6d 6520 2870 726f 6365 6475 7265 292e ome (procedure). │ │ │ │ │ +00012be0: 0a20 2020 2020 2020 2020 2020 2020 2020 . │ │ │ │ │ +00012bf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012c00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012c10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012c20: 286c 696e 6520 3231 290a 2a20 5374 7269 (line 21).* Stri │ │ │ │ │ +00012c30: 6e67 5f41 6363 6573 733a 2020 2020 2020 ng_Access: │ │ │ │ │ 00012c40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012c50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012c60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012c70: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6) │ │ │ │ │ -00012c80: 0a2a 2054 4350 2073 6f63 6b65 743a 2020 .* TCP socket: │ │ │ │ │ +00012c50: 2020 2053 6f63 6b65 7473 2e4e 616d 696e Sockets.Namin │ │ │ │ │ +00012c60: 6720 7061 636b 6167 652e 0a20 2020 2020 g package.. │ │ │ │ │ +00012c70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012c80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012c90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ca0: 2020 2020 2020 2020 2020 5365 7474 696e Settin │ │ │ │ │ -00012cb0: 6720 7570 2075 6e69 6361 7374 2073 6f63 g up unicast soc │ │ │ │ │ -00012cc0: 6b65 7473 2e0a 2020 2020 2020 2020 2020 kets.. │ │ │ │ │ -00012cd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ce0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012cf0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012d00: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).* │ │ │ │ │ -00012d10: 2055 4450 2073 6f63 6b65 743a 2020 2020 UDP socket: │ │ │ │ │ +00012ca0: 2020 2020 2020 2020 2020 286c 696e 6520 (line │ │ │ │ │ +00012cb0: 3334 290a 2a20 5374 7269 6e67 5f41 7272 34).* String_Arr │ │ │ │ │ +00012cc0: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: │ │ │ │ │ +00012cd0: 2020 2020 2020 2020 2020 2020 2053 6f63 Soc │ │ │ │ │ +00012ce0: 6b65 7473 2e4e 616d 696e 6720 7061 636b kets.Naming pack │ │ │ │ │ +00012cf0: 6167 652e 0a20 2020 2020 2020 2020 2020 age.. │ │ │ │ │ +00012d00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012d10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012d20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012d30: 2020 2020 2020 2020 5365 7474 696e 6720 Setting │ │ │ │ │ -00012d40: 7570 2075 6e69 6361 7374 2073 6f63 6b65 up unicast socke │ │ │ │ │ -00012d50: 7473 2e0a 2020 2020 2020 2020 2020 2020 ts.. │ │ │ │ │ -00012d60: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012d70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012d80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012d90: 2020 2028 6c69 6e65 2020 3629 0a2a 2055 (line 6).* U │ │ │ │ │ -00012da0: 6e69 6361 7374 2073 6f63 6b65 7473 3a20 nicast sockets: │ │ │ │ │ +00012d30: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* │ │ │ │ │ +00012d40: 5375 6767 6573 7469 6e67 2061 2066 6561 Suggesting a fea │ │ │ │ │ +00012d50: 7475 7265 3a20 2020 2020 2020 2020 2020 ture: │ │ │ │ │ +00012d60: 2020 2020 2020 2052 6573 6f75 7263 6573 Resources │ │ │ │ │ +00012d70: 206f 6e20 7468 6520 496e 7465 726e 6574 on the Internet │ │ │ │ │ +00012d80: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ +00012d90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012da0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012db0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012dc0: 2020 2020 2020 5365 7474 696e 6720 7570 Setting up │ │ │ │ │ -00012dd0: 2075 6e69 6361 7374 2073 6f63 6b65 7473 unicast sockets │ │ │ │ │ -00012de0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. │ │ │ │ │ -00012df0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012e00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012dc0: 2028 6c69 6e65 2020 3629 0a2a 2054 4350 (line 6).* TCP │ │ │ │ │ +00012dd0: 2073 6f63 6b65 743a 2020 2020 2020 2020 socket: │ │ │ │ │ +00012de0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012df0: 2020 2020 5365 7474 696e 6720 7570 2075 Setting up u │ │ │ │ │ +00012e00: 6e69 6361 7374 2073 6f63 6b65 7473 2e0a nicast sockets.. │ │ │ │ │ 00012e10: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012e20: 2028 6c69 6e65 2020 3629 0a2a 2055 6e73 (line 6).* Uns │ │ │ │ │ -00012e30: 6574 5f42 7566 6665 723a 2020 2020 2020 et_Buffer: │ │ │ │ │ -00012e40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012e50: 2020 2020 556e 7365 745f 4275 6666 6572 Unset_Buffer │ │ │ │ │ -00012e60: 2028 7072 6f63 6564 7572 6529 2e0a 2020 (procedure).. │ │ │ │ │ +00012e20: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012e30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012e40: 2020 2020 2020 2020 2020 2020 2020 2028 ( │ │ │ │ │ +00012e50: 6c69 6e65 2020 3629 0a2a 2055 4450 2073 line 6).* UDP s │ │ │ │ │ +00012e60: 6f63 6b65 743a 2020 2020 2020 2020 2020 ocket: │ │ │ │ │ 00012e70: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012e80: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012e90: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ea0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ -00012eb0: 6e65 2020 3929 0a2a 2056 616c 7565 3a20 ne 9).* Value: │ │ │ │ │ +00012e80: 2020 5365 7474 696e 6720 7570 2075 6e69 Setting up uni │ │ │ │ │ +00012e90: 6361 7374 2073 6f63 6b65 7473 2e0a 2020 cast sockets.. │ │ │ │ │ +00012ea0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012eb0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ 00012ec0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ed0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ -00012ee0: 5661 6c75 6520 2866 756e 6374 696f 6e29 Value (function) │ │ │ │ │ -00012ef0: 2e20 2020 2020 286c 696e 6520 2039 290a . (line 9). │ │ │ │ │ -00012f00: 0a0a 1f0a 5461 6720 5461 626c 653a 0a4e ....Tag Table:.N │ │ │ │ │ -00012f10: 6f64 653a 2054 6f70 7f38 3138 0a4e 6f64 ode: Top.818.Nod │ │ │ │ │ -00012f20: 653a 2057 6861 7420 6973 2041 6461 536f e: What is AdaSo │ │ │ │ │ -00012f30: 636b 6574 733f 7f31 3339 310a 4e6f 6465 ckets?.1391.Node │ │ │ │ │ -00012f40: 3a20 496e 7374 616c 6c69 6e67 2041 6461 : Installing Ada │ │ │ │ │ -00012f50: 536f 636b 6574 737f 3232 3932 0a4e 6f64 Sockets.2292.Nod │ │ │ │ │ -00012f60: 653a 2055 7369 6e67 2041 6461 536f 636b e: Using AdaSock │ │ │ │ │ -00012f70: 6574 737f 3332 3939 0a4e 6f64 653a 2043 ets.3299.Node: C │ │ │ │ │ -00012f80: 6f6d 7069 6c69 6e67 2061 6e20 4164 6120 ompiling an Ada │ │ │ │ │ -00012f90: 6170 706c 6963 6174 696f 6e7f 3335 3930 application.3590 │ │ │ │ │ -00012fa0: 0a4e 6f64 653a 2053 6574 7469 6e67 2075 .Node: Setting u │ │ │ │ │ -00012fb0: 7020 756e 6963 6173 7420 736f 636b 6574 p unicast socket │ │ │ │ │ -00012fc0: 737f 3432 3337 0a4e 6f64 653a 2053 6574 s.4237.Node: Set │ │ │ │ │ -00012fd0: 7469 6e67 2075 7020 6d75 6c74 6963 6173 ting up multicas │ │ │ │ │ -00012fe0: 7420 736f 636b 6574 737f 3535 3531 0a4e t sockets.5551.N │ │ │ │ │ -00012ff0: 6f64 653a 2053 656e 6469 6e67 2061 6e64 ode: Sending and │ │ │ │ │ -00013000: 2072 6563 6569 7669 6e67 2064 6174 617f receiving data. │ │ │ │ │ -00013010: 3639 3034 0a4e 6f64 653a 2052 6177 2064 6904.Node: Raw d │ │ │ │ │ -00013020: 6174 6120 6d61 6e69 7075 6c61 7469 6f6e ata manipulation │ │ │ │ │ -00013030: 7f37 3236 360a 4e6f 6465 3a20 5374 7269 .7266.Node: Stri │ │ │ │ │ -00013040: 6e67 2d6f 7269 656e 7465 6420 6578 6368 ng-oriented exch │ │ │ │ │ -00013050: 616e 6765 737f 3736 3734 0a4e 6f64 653a anges.7674.Node: │ │ │ │ │ -00013060: 2053 6f63 6b65 7473 2070 6163 6b61 6765 Sockets package │ │ │ │ │ -00013070: 7f38 3830 370a 4e6f 6465 3a20 4163 6365 .8807.Node: Acce │ │ │ │ │ -00013080: 7074 5f53 6f63 6b65 7420 2870 726f 6365 pt_Socket (proce │ │ │ │ │ -00013090: 6475 7265 297f 3131 3039 310a 4e6f 6465 dure).11091.Node │ │ │ │ │ -000130a0: 3a20 4269 6e64 2028 7072 6f63 6564 7572 : Bind (procedur │ │ │ │ │ -000130b0: 6529 7f31 3237 3832 0a4e 6f64 653a 2043 e).12782.Node: C │ │ │ │ │ -000130c0: 6f6e 6e65 6374 2028 7072 6f63 6564 7572 onnect (procedur │ │ │ │ │ -000130d0: 6529 7f31 3430 3539 0a4e 6f64 653a 2047 e).14059.Node: G │ │ │ │ │ -000130e0: 6574 2028 6675 6e63 7469 6f6e 297f 3135 et (function).15 │ │ │ │ │ -000130f0: 3435 320a 4e6f 6465 3a20 4765 745f 4368 452.Node: Get_Ch │ │ │ │ │ -00013100: 6172 2028 6675 6e63 7469 6f6e 297f 3136 ar (function).16 │ │ │ │ │ -00013110: 3635 310a 4e6f 6465 3a20 4765 745f 4c69 651.Node: Get_Li │ │ │ │ │ -00013120: 6e65 2028 6675 6e63 7469 6f6e 297f 3137 ne (function).17 │ │ │ │ │ -00013130: 3531 360a 4e6f 6465 3a20 4765 745f 4c69 516.Node: Get_Li │ │ │ │ │ -00013140: 6e65 2028 7072 6f63 6564 7572 6529 7f31 ne (procedure).1 │ │ │ │ │ -00013150: 3838 3237 0a4e 6f64 653a 2047 6574 5f52 8827.Node: Get_R │ │ │ │ │ -00013160: 6563 6569 7665 5f51 7565 7565 5f53 697a eceive_Queue_Siz │ │ │ │ │ -00013170: 6520 2866 756e 6374 696f 6e29 7f31 3939 e (function).199 │ │ │ │ │ -00013180: 3936 0a4e 6f64 653a 2047 6574 5f53 656e 96.Node: Get_Sen │ │ │ │ │ -00013190: 645f 5175 6575 655f 5369 7a65 2028 6675 d_Queue_Size (fu │ │ │ │ │ -000131a0: 6e63 7469 6f6e 297f 3230 3836 340a 4e6f nction).20864.No │ │ │ │ │ -000131b0: 6465 3a20 4765 7473 6f63 6b6f 7074 2028 de: Getsockopt ( │ │ │ │ │ -000131c0: 7072 6f63 6564 7572 6529 7f32 3137 3231 procedure).21721 │ │ │ │ │ -000131d0: 0a4e 6f64 653a 204c 6973 7465 6e20 2870 .Node: Listen (p │ │ │ │ │ -000131e0: 726f 6365 6475 7265 297f 3233 3038 380a rocedure).23088. │ │ │ │ │ -000131f0: 4e6f 6465 3a20 4e65 775f 4c69 6e65 2028 Node: New_Line ( │ │ │ │ │ -00013200: 7072 6f63 6564 7572 6529 7f32 3339 3634 procedure).23964 │ │ │ │ │ -00013210: 0a4e 6f64 653a 2050 7574 2028 7072 6f63 .Node: Put (proc │ │ │ │ │ -00013220: 6564 7572 6529 7f32 3436 3930 0a4e 6f64 edure).24690.Nod │ │ │ │ │ -00013230: 653a 2050 7574 5f4c 696e 6520 2870 726f e: Put_Line (pro │ │ │ │ │ -00013240: 6365 6475 7265 297f 3235 3432 350a 4e6f cedure).25425.No │ │ │ │ │ -00013250: 6465 3a20 5265 6365 6976 6520 2866 756e de: Receive (fun │ │ │ │ │ -00013260: 6374 696f 6e29 7f32 3632 3135 0a4e 6f64 ction).26215.Nod │ │ │ │ │ -00013270: 653a 2052 6563 6569 7665 2028 7072 6f63 e: Receive (proc │ │ │ │ │ -00013280: 6564 7572 6529 7f32 3734 3238 0a4e 6f64 edure).27428.Nod │ │ │ │ │ -00013290: 653a 2052 6563 6569 7665 5f53 6f6d 6520 e: Receive_Some │ │ │ │ │ -000132a0: 2870 726f 6365 6475 7265 297f 3238 3435 (procedure).2845 │ │ │ │ │ -000132b0: 390a 4e6f 6465 3a20 5365 6e64 2028 7072 9.Node: Send (pr │ │ │ │ │ -000132c0: 6f63 6564 7572 6529 7f32 3936 3530 0a4e ocedure).29650.N │ │ │ │ │ -000132d0: 6f64 653a 2053 6574 5f42 7566 6665 7220 ode: Set_Buffer │ │ │ │ │ -000132e0: 2870 726f 6365 6475 7265 297f 3330 3339 (procedure).3039 │ │ │ │ │ -000132f0: 330a 4e6f 6465 3a20 5365 7473 6f63 6b6f 3.Node: Setsocko │ │ │ │ │ -00013300: 7074 2028 7072 6f63 6564 7572 6529 7f33 pt (procedure).3 │ │ │ │ │ -00013310: 3136 3036 0a4e 6f64 653a 2053 6875 7464 1606.Node: Shutd │ │ │ │ │ -00013320: 6f77 6e20 2870 726f 6365 6475 7265 297f own (procedure). │ │ │ │ │ -00013330: 3332 3935 330a 4e6f 6465 3a20 536f 636b 32953.Node: Sock │ │ │ │ │ -00013340: 6574 2028 7072 6f63 6564 7572 6529 7f33 et (procedure).3 │ │ │ │ │ -00013350: 3336 3033 0a4e 6f64 653a 2055 6e73 6574 3603.Node: Unset │ │ │ │ │ -00013360: 5f42 7566 6665 7220 2870 726f 6365 6475 _Buffer (procedu │ │ │ │ │ -00013370: 7265 297f 3334 3939 330a 4e6f 6465 3a20 re).34993.Node: │ │ │ │ │ -00013380: 536f 636b 6574 732e 4d75 6c74 6963 6173 Sockets.Multicas │ │ │ │ │ -00013390: 7420 7061 636b 6167 657f 3335 3639 320a t package.35692. │ │ │ │ │ -000133a0: 4e6f 6465 3a20 4372 6561 7465 5f4d 756c Node: Create_Mul │ │ │ │ │ -000133b0: 7469 6361 7374 5f53 6f63 6b65 7420 2866 ticast_Socket (f │ │ │ │ │ -000133c0: 756e 6374 696f 6e29 7f33 3635 3338 0a4e unction).36538.N │ │ │ │ │ -000133d0: 6f64 653a 2053 6f63 6b65 7473 2e4e 616d ode: Sockets.Nam │ │ │ │ │ -000133e0: 696e 6720 7061 636b 6167 657f 3430 3236 ing package.4026 │ │ │ │ │ -000133f0: 340a 4e6f 6465 3a20 4164 6472 6573 735f 4.Node: Address_ │ │ │ │ │ -00013400: 4f66 2028 6675 6e63 7469 6f6e 297f 3432 Of (function).42 │ │ │ │ │ -00013410: 3739 310a 4e6f 6465 3a20 416e 795f 4164 791.Node: Any_Ad │ │ │ │ │ -00013420: 6472 6573 7320 2866 756e 6374 696f 6e29 dress (function) │ │ │ │ │ -00013430: 7f34 3336 3835 0a4e 6f64 653a 2047 6574 .43685.Node: Get │ │ │ │ │ -00013440: 5f50 6565 725f 4164 6472 2028 6675 6e63 _Peer_Addr (func │ │ │ │ │ -00013450: 7469 6f6e 297f 3434 3130 300a 4e6f 6465 tion).44100.Node │ │ │ │ │ -00013460: 3a20 4765 745f 5065 6572 5f50 6f72 7420 : Get_Peer_Port │ │ │ │ │ -00013470: 2866 756e 6374 696f 6e29 7f34 3436 3732 (function).44672 │ │ │ │ │ -00013480: 0a4e 6f64 653a 2047 6574 5f53 6f63 6b5f .Node: Get_Sock_ │ │ │ │ │ -00013490: 4164 6472 2028 6675 6e63 7469 6f6e 297f Addr (function). │ │ │ │ │ -000134a0: 3435 3236 320a 4e6f 6465 3a20 4765 745f 45262.Node: Get_ │ │ │ │ │ -000134b0: 536f 636b 5f50 6f72 7420 2866 756e 6374 Sock_Port (funct │ │ │ │ │ -000134c0: 696f 6e29 7f34 3538 3534 0a4e 6f64 653a ion).45854.Node: │ │ │ │ │ -000134d0: 2048 6f73 745f 4e61 6d65 2028 6675 6e63 Host_Name (func │ │ │ │ │ -000134e0: 7469 6f6e 297f 3436 3433 380a 4e6f 6465 tion).46438.Node │ │ │ │ │ -000134f0: 3a20 496d 6167 6520 2866 756e 6374 696f : Image (functio │ │ │ │ │ -00013500: 6e29 7f34 3639 3534 0a4e 6f64 653a 2049 n).46954.Node: I │ │ │ │ │ -00013510: 6e66 6f5f 4f66 5f4e 616d 655f 4f72 5f49 nfo_Of_Name_Or_I │ │ │ │ │ -00013520: 5020 2866 756e 6374 696f 6e29 7f34 3734 P (function).474 │ │ │ │ │ -00013530: 3330 0a4e 6f64 653a 2049 735f 4950 5f41 30.Node: Is_IP_A │ │ │ │ │ -00013540: 6464 7265 7373 2028 6675 6e63 7469 6f6e ddress (function │ │ │ │ │ -00013550: 297f 3438 3136 300a 4e6f 6465 3a20 4e61 ).48160.Node: Na │ │ │ │ │ -00013560: 6d65 5f4f 6620 2866 756e 6374 696f 6e29 me_Of (function) │ │ │ │ │ -00013570: 7f34 3836 3734 0a4e 6f64 653a 2056 616c .48674.Node: Val │ │ │ │ │ -00013580: 7565 2028 6675 6e63 7469 6f6e 297f 3439 ue (function).49 │ │ │ │ │ -00013590: 3236 310a 4e6f 6465 3a20 436f 6e74 7269 261.Node: Contri │ │ │ │ │ -000135a0: 6275 746f 7273 7f34 3937 3133 0a4e 6f64 butors.49713.Nod │ │ │ │ │ -000135b0: 653a 2052 6573 6f75 7263 6573 206f 6e20 e: Resources on │ │ │ │ │ -000135c0: 7468 6520 496e 7465 726e 6574 7f35 3131 the Internet.511 │ │ │ │ │ -000135d0: 3334 0a4e 6f64 653a 2049 6e64 6578 7f35 34.Node: Index.5 │ │ │ │ │ -000135e0: 3135 3934 0a1f 0a45 6e64 2054 6167 2054 1594...End Tag T │ │ │ │ │ -000135f0: 6162 6c65 0a0a 1f0a 4c6f 6361 6c20 5661 able....Local Va │ │ │ │ │ -00013600: 7269 6162 6c65 733a 0a63 6f64 696e 673a riables:.coding: │ │ │ │ │ -00013610: 2075 7466 2d38 0a45 6e64 3a0a utf-8.End:. │ │ │ │ │ +00012ed0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li │ │ │ │ │ +00012ee0: 6e65 2020 3629 0a2a 2055 6e69 6361 7374 ne 6).* Unicast │ │ │ │ │ +00012ef0: 2073 6f63 6b65 7473 3a20 2020 2020 2020 sockets: │ │ │ │ │ +00012f00: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012f10: 5365 7474 696e 6720 7570 2075 6e69 6361 Setting up unica │ │ │ │ │ +00012f20: 7374 2073 6f63 6b65 7473 2e0a 2020 2020 st sockets.. │ │ │ │ │ +00012f30: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012f40: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012f50: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012f60: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line │ │ │ │ │ +00012f70: 2020 3629 0a2a 2055 6e73 6574 5f42 7566 6).* Unset_Buf │ │ │ │ │ +00012f80: 6665 723a 2020 2020 2020 2020 2020 2020 fer: │ │ │ │ │ +00012f90: 2020 2020 2020 2020 2020 2020 2020 556e Un │ │ │ │ │ +00012fa0: 7365 745f 4275 6666 6572 2028 7072 6f63 set_Buffer (proc │ │ │ │ │ +00012fb0: 6564 7572 6529 2e0a 2020 2020 2020 2020 edure).. │ │ │ │ │ +00012fc0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012fd0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012fe0: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00012ff0: 2020 2020 2020 2028 6c69 6e65 2020 3929 (line 9) │ │ │ │ │ +00013000: 0a2a 2056 616c 7565 3a20 2020 2020 2020 .* Value: │ │ │ │ │ +00013010: 2020 2020 2020 2020 2020 2020 2020 2020 │ │ │ │ │ +00013020: 2020 2020 2020 2020 2020 5661 6c75 6520 Value │ │ │ │ │ +00013030: 2866 756e 6374 696f 6e29 2e20 2020 2020 (function). │ │ │ │ │ +00013040: 286c 696e 6520 2039 290a 0a0a 1f0a 5461 (line 9).....Ta │ │ │ │ │ +00013050: 6720 5461 626c 653a 0a4e 6f64 653a 2054 g Table:.Node: T │ │ │ │ │ +00013060: 6f70 7f38 3138 0a4e 6f64 653a 2057 6861 op.818.Node: Wha │ │ │ │ │ +00013070: 7420 6973 2041 6461 536f 636b 6574 733f t is AdaSockets? │ │ │ │ │ +00013080: 7f31 3339 310a 4e6f 6465 3a20 496e 7374 .1391.Node: Inst │ │ │ │ │ +00013090: 616c 6c69 6e67 2041 6461 536f 636b 6574 alling AdaSocket │ │ │ │ │ +000130a0: 737f 3232 3932 0a4e 6f64 653a 2055 7369 s.2292.Node: Usi │ │ │ │ │ +000130b0: 6e67 2041 6461 536f 636b 6574 737f 3332 ng AdaSockets.32 │ │ │ │ │ +000130c0: 3939 0a4e 6f64 653a 2043 6f6d 7069 6c69 99.Node: Compili │ │ │ │ │ +000130d0: 6e67 2061 6e20 4164 6120 6170 706c 6963 ng an Ada applic │ │ │ │ │ +000130e0: 6174 696f 6e7f 3335 3930 0a4e 6f64 653a ation.3590.Node: │ │ │ │ │ +000130f0: 2053 6574 7469 6e67 2075 7020 756e 6963 Setting up unic │ │ │ │ │ +00013100: 6173 7420 736f 636b 6574 737f 3432 3337 ast sockets.4237 │ │ │ │ │ +00013110: 0a4e 6f64 653a 2053 6574 7469 6e67 2075 .Node: Setting u │ │ │ │ │ +00013120: 7020 6d75 6c74 6963 6173 7420 736f 636b p multicast sock │ │ │ │ │ +00013130: 6574 737f 3535 3531 0a4e 6f64 653a 2053 ets.5551.Node: S │ │ │ │ │ +00013140: 656e 6469 6e67 2061 6e64 2072 6563 6569 ending and recei │ │ │ │ │ +00013150: 7669 6e67 2064 6174 617f 3639 3034 0a4e ving data.6904.N │ │ │ │ │ +00013160: 6f64 653a 2052 6177 2064 6174 6120 6d61 ode: Raw data ma │ │ │ │ │ +00013170: 6e69 7075 6c61 7469 6f6e 7f37 3236 360a nipulation.7266. │ │ │ │ │ +00013180: 4e6f 6465 3a20 5374 7269 6e67 2d6f 7269 Node: String-ori │ │ │ │ │ +00013190: 656e 7465 6420 6578 6368 616e 6765 737f ented exchanges. │ │ │ │ │ +000131a0: 3736 3734 0a4e 6f64 653a 2053 6f63 6b65 7674.Node: Socke │ │ │ │ │ +000131b0: 7473 2070 6163 6b61 6765 7f38 3830 370a ts package.8807. │ │ │ │ │ +000131c0: 4e6f 6465 3a20 4163 6365 7074 5f53 6f63 Node: Accept_Soc │ │ │ │ │ +000131d0: 6b65 7420 2870 726f 6365 6475 7265 297f ket (procedure). │ │ │ │ │ +000131e0: 3131 3039 310a 4e6f 6465 3a20 4269 6e64 11091.Node: Bind │ │ │ │ │ +000131f0: 2028 7072 6f63 6564 7572 6529 7f31 3237 (procedure).127 │ │ │ │ │ +00013200: 3832 0a4e 6f64 653a 2043 6f6e 6e65 6374 82.Node: Connect │ │ │ │ │ +00013210: 2028 7072 6f63 6564 7572 6529 7f31 3430 (procedure).140 │ │ │ │ │ +00013220: 3539 0a4e 6f64 653a 2047 6574 2028 6675 59.Node: Get (fu │ │ │ │ │ +00013230: 6e63 7469 6f6e 297f 3135 3435 320a 4e6f nction).15452.No │ │ │ │ │ +00013240: 6465 3a20 4765 745f 4368 6172 2028 6675 de: Get_Char (fu │ │ │ │ │ +00013250: 6e63 7469 6f6e 297f 3136 3635 310a 4e6f nction).16651.No │ │ │ │ │ +00013260: 6465 3a20 4765 745f 4c69 6e65 2028 6675 de: Get_Line (fu │ │ │ │ │ +00013270: 6e63 7469 6f6e 297f 3137 3531 360a 4e6f nction).17516.No │ │ │ │ │ +00013280: 6465 3a20 4765 745f 4c69 6e65 2028 7072 de: Get_Line (pr │ │ │ │ │ +00013290: 6f63 6564 7572 6529 7f31 3838 3237 0a4e ocedure).18827.N │ │ │ │ │ +000132a0: 6f64 653a 2047 6574 5f52 6563 6569 7665 ode: Get_Receive │ │ │ │ │ +000132b0: 5f51 7565 7565 5f53 697a 6520 2866 756e _Queue_Size (fun │ │ │ │ │ +000132c0: 6374 696f 6e29 7f31 3939 3936 0a4e 6f64 ction).19996.Nod │ │ │ │ │ +000132d0: 653a 2047 6574 5f53 656e 645f 5175 6575 e: Get_Send_Queu │ │ │ │ │ +000132e0: 655f 5369 7a65 2028 6675 6e63 7469 6f6e e_Size (function │ │ │ │ │ +000132f0: 297f 3230 3836 340a 4e6f 6465 3a20 4765 ).20864.Node: Ge │ │ │ │ │ +00013300: 7473 6f63 6b6f 7074 2028 7072 6f63 6564 tsockopt (proced │ │ │ │ │ +00013310: 7572 6529 7f32 3137 3231 0a4e 6f64 653a ure).21721.Node: │ │ │ │ │ +00013320: 204c 6973 7465 6e20 2870 726f 6365 6475 Listen (procedu │ │ │ │ │ +00013330: 7265 297f 3233 3038 380a 4e6f 6465 3a20 re).23088.Node: │ │ │ │ │ +00013340: 4e65 775f 4c69 6e65 2028 7072 6f63 6564 New_Line (proced │ │ │ │ │ +00013350: 7572 6529 7f32 3339 3634 0a4e 6f64 653a ure).23964.Node: │ │ │ │ │ +00013360: 2050 7574 2028 7072 6f63 6564 7572 6529 Put (procedure) │ │ │ │ │ +00013370: 7f32 3436 3930 0a4e 6f64 653a 2050 7574 .24690.Node: Put │ │ │ │ │ +00013380: 5f4c 696e 6520 2870 726f 6365 6475 7265 _Line (procedure │ │ │ │ │ +00013390: 297f 3235 3432 350a 4e6f 6465 3a20 5265 ).25425.Node: Re │ │ │ │ │ +000133a0: 6365 6976 6520 2866 756e 6374 696f 6e29 ceive (function) │ │ │ │ │ +000133b0: 7f32 3632 3135 0a4e 6f64 653a 2052 6563 .26215.Node: Rec │ │ │ │ │ +000133c0: 6569 7665 2028 7072 6f63 6564 7572 6529 eive (procedure) │ │ │ │ │ +000133d0: 7f32 3734 3238 0a4e 6f64 653a 2052 6563 .27428.Node: Rec │ │ │ │ │ +000133e0: 6569 7665 5f53 6f6d 6520 2870 726f 6365 eive_Some (proce │ │ │ │ │ +000133f0: 6475 7265 297f 3238 3435 390a 4e6f 6465 dure).28459.Node │ │ │ │ │ +00013400: 3a20 5365 6e64 2028 7072 6f63 6564 7572 : Send (procedur │ │ │ │ │ +00013410: 6529 7f32 3936 3530 0a4e 6f64 653a 2053 e).29650.Node: S │ │ │ │ │ +00013420: 6574 5f42 7566 6665 7220 2870 726f 6365 et_Buffer (proce │ │ │ │ │ +00013430: 6475 7265 297f 3330 3339 330a 4e6f 6465 dure).30393.Node │ │ │ │ │ +00013440: 3a20 5365 7473 6f63 6b6f 7074 2028 7072 : Setsockopt (pr │ │ │ │ │ +00013450: 6f63 6564 7572 6529 7f33 3136 3036 0a4e ocedure).31606.N │ │ │ │ │ +00013460: 6f64 653a 2053 6875 7464 6f77 6e20 2870 ode: Shutdown (p │ │ │ │ │ +00013470: 726f 6365 6475 7265 297f 3332 3935 330a rocedure).32953. │ │ │ │ │ +00013480: 4e6f 6465 3a20 536f 636b 6574 2028 7072 Node: Socket (pr │ │ │ │ │ +00013490: 6f63 6564 7572 6529 7f33 3336 3033 0a4e ocedure).33603.N │ │ │ │ │ +000134a0: 6f64 653a 2055 6e73 6574 5f42 7566 6665 ode: Unset_Buffe │ │ │ │ │ +000134b0: 7220 2870 726f 6365 6475 7265 297f 3334 r (procedure).34 │ │ │ │ │ +000134c0: 3939 330a 4e6f 6465 3a20 536f 636b 6574 993.Node: Socket │ │ │ │ │ +000134d0: 732e 4d75 6c74 6963 6173 7420 7061 636b s.Multicast pack │ │ │ │ │ +000134e0: 6167 657f 3335 3639 320a 4e6f 6465 3a20 age.35692.Node: │ │ │ │ │ +000134f0: 4372 6561 7465 5f4d 756c 7469 6361 7374 Create_Multicast │ │ │ │ │ +00013500: 5f53 6f63 6b65 7420 2866 756e 6374 696f _Socket (functio │ │ │ │ │ +00013510: 6e29 7f33 3635 3338 0a4e 6f64 653a 2053 n).36538.Node: S │ │ │ │ │ +00013520: 6f63 6b65 7473 2e4e 616d 696e 6720 7061 ockets.Naming pa │ │ │ │ │ +00013530: 636b 6167 657f 3430 3539 340a 4e6f 6465 ckage.40594.Node │ │ │ │ │ +00013540: 3a20 4164 6472 6573 735f 4f66 2028 6675 : Address_Of (fu │ │ │ │ │ +00013550: 6e63 7469 6f6e 297f 3433 3132 310a 4e6f nction).43121.No │ │ │ │ │ +00013560: 6465 3a20 416e 795f 4164 6472 6573 7320 de: Any_Address │ │ │ │ │ +00013570: 2866 756e 6374 696f 6e29 7f34 3430 3135 (function).44015 │ │ │ │ │ +00013580: 0a4e 6f64 653a 2047 6574 5f50 6565 725f .Node: Get_Peer_ │ │ │ │ │ +00013590: 4164 6472 2028 6675 6e63 7469 6f6e 297f Addr (function). │ │ │ │ │ +000135a0: 3434 3433 300a 4e6f 6465 3a20 4765 745f 44430.Node: Get_ │ │ │ │ │ +000135b0: 5065 6572 5f50 6f72 7420 2866 756e 6374 Peer_Port (funct │ │ │ │ │ +000135c0: 696f 6e29 7f34 3530 3032 0a4e 6f64 653a ion).45002.Node: │ │ │ │ │ +000135d0: 2047 6574 5f53 6f63 6b5f 4164 6472 2028 Get_Sock_Addr ( │ │ │ │ │ +000135e0: 6675 6e63 7469 6f6e 297f 3435 3539 320a function).45592. │ │ │ │ │ +000135f0: 4e6f 6465 3a20 4765 745f 536f 636b 5f50 Node: Get_Sock_P │ │ │ │ │ +00013600: 6f72 7420 2866 756e 6374 696f 6e29 7f34 ort (function).4 │ │ │ │ │ +00013610: 3631 3834 0a4e 6f64 653a 2048 6f73 745f 6184.Node: Host_ │ │ │ │ │ +00013620: 4e61 6d65 2028 6675 6e63 7469 6f6e 297f Name (function). │ │ │ │ │ +00013630: 3436 3736 380a 4e6f 6465 3a20 496d 6167 46768.Node: Imag │ │ │ │ │ +00013640: 6520 2866 756e 6374 696f 6e29 7f34 3732 e (function).472 │ │ │ │ │ +00013650: 3834 0a4e 6f64 653a 2049 6e66 6f5f 4f66 84.Node: Info_Of │ │ │ │ │ +00013660: 5f4e 616d 655f 4f72 5f49 5020 2866 756e _Name_Or_IP (fun │ │ │ │ │ +00013670: 6374 696f 6e29 7f34 3737 3630 0a4e 6f64 ction).47760.Nod │ │ │ │ │ +00013680: 653a 2049 735f 4950 5f41 6464 7265 7373 e: Is_IP_Address │ │ │ │ │ +00013690: 2028 6675 6e63 7469 6f6e 297f 3438 3439 (function).4849 │ │ │ │ │ +000136a0: 300a 4e6f 6465 3a20 4e61 6d65 5f4f 6620 0.Node: Name_Of │ │ │ │ │ +000136b0: 2866 756e 6374 696f 6e29 7f34 3930 3034 (function).49004 │ │ │ │ │ +000136c0: 0a4e 6f64 653a 2056 616c 7565 2028 6675 .Node: Value (fu │ │ │ │ │ +000136d0: 6e63 7469 6f6e 297f 3439 3539 310a 4e6f nction).49591.No │ │ │ │ │ +000136e0: 6465 3a20 436f 6e74 7269 6275 746f 7273 de: Contributors │ │ │ │ │ +000136f0: 7f35 3030 3433 0a4e 6f64 653a 2052 6573 .50043.Node: Res │ │ │ │ │ +00013700: 6f75 7263 6573 206f 6e20 7468 6520 496e ources on the In │ │ │ │ │ +00013710: 7465 726e 6574 7f35 3134 3634 0a4e 6f64 ternet.51464.Nod │ │ │ │ │ +00013720: 653a 2049 6e64 6578 7f35 3139 3234 0a1f e: Index.51924.. │ │ │ │ │ +00013730: 0a45 6e64 2054 6167 2054 6162 6c65 0a0a .End Tag Table.. │ │ │ │ │ +00013740: 1f0a 4c6f 6361 6c20 5661 7269 6162 6c65 ..Local Variable │ │ │ │ │ +00013750: 733a 0a63 6f64 696e 673a 2075 7466 2d38 s:.coding: utf-8 │ │ │ │ │ +00013760: 0a45 6e64 3a0a .End:.