Lines Matching +full:ports +full:- +full:block +full:- +full:group +full:- +full:count
58 support only in-band signaling (i.e. the urgent data is
65 If the socket has a process group, a SIGURG signal is generated
67 A process can set the process group
75 of the out-of-band data, but only notification that it is pending.
101 then reads the out-of-band byte.
135 A process may also read or peek at the out-of-band data
138 the urgent data in-band with the normal data, and only sends
141 With such protocols, the out-of-band byte may not yet have arrived
144 Worse, there may be enough in-band data in the input buffer
153 This treatment is available as a socket-level option, SO_OOBINLINE;
159 but no out-of-band data are lost.
161 Non-Blocking Sockets
164 which do not block; that is, I/O requests which
169 the \fIsocket\fP call, it may be marked as non-blocking
185 When performing non-blocking I/O on sockets, one must be
188 an operation would normally block, but the socket it
189 was performed on is marked as non-blocking.
207 it must set the process id or process group id which is to receive
209 or the process group id of its process group (note that
210 the default process group of a socket is group zero).
254 process group for signals, negative arguments should be
257 group; it is impossible to specify both at the same time.
311 the network do so through a \fIpseudo-terminal\fP. A pseudo-
315 of a pseudo-terminal is supplied as input to a process reading
319 the master side of the pseudo-terminal has control over the
329 login server uses pseudo-terminals for remote login sessions.
331 a shell with a slave pseudo-terminal as standard input, output,
337 the pseudo-terminal generates a control message for the server process.
342 Under 4.4BSD, the name of the slave side of a pseudo-terminal is of the form
347 The master side of a pseudo-terminal is \fI/dev/ptyxy\fP,
349 slave side of the pseudo-terminal.
352 slave pseudo-terminals is to
353 find a pseudo-terminal which
355 The master half of a pseudo-terminal is a single-open device;
357 The slave side of the pseudo-terminal is then opened,
360 the master side of the pseudo-terminal, and \fIexec\fPs the
362 slave side of the pseudo-terminal and begins reading and
364 pseudo-terminals is given in Figure 8; this code assumes
373 line[sizeof("/dev/pty")-1] = c;
374 line[sizeof("/dev/ptyp")-1] = '0';
378 line[sizeof("/dev/ptyp")-1] = "0123456789abcdef"[i];
387 syslog(LOG_ERR, "All network ports in use");
391 line[sizeof("/dev/")-1] = 't';
433 lower-level protocols or hardware interfaces,
449 s = socket(AF_INET, SOCK_STREAM, pp->p_proto);
472 addresses, and local and foreign ports. Port numbers are
531 bcopy(hp->h_addr, (char *) sin.sin_addr, hp->h_length);
537 Internet ports below IPPORT_RESERVED (1024) (for the Xerox domain,
540 Internet ports above IPPORT_USERRESERVED (50000) are reserved
541 for non-privileged servers. The second is
547 int lport = IPPORT_RESERVED \- 1;
553 fprintf(stderr, "socket: all ports in use\en");
559 The restriction on allocating ports was done to allow processes
582 ports. In this situation the system would disallow binding the
609 In addition, there are protocol-specific options for IP and TCP,
637 a value-result parameter, initially set to the size of
722 be obtained in a host-independent fashion and may be impossible
762 #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
796 for (n = ifc.ifc_len / sizeof (struct ifreq); --n >= 0; ifr++) {
803 if (ifr->ifr_addr.sa_family != AF_INET)
811 if ((ifr->ifr_flags & IFF_UP) == 0 ||
812 (ifr->ifr_flags & IFF_LOOPBACK) ||
813 (ifr->ifr_flags & (IFF_BROADCAST | IFF_POINTTOPOINT)) == 0)
819 done via the SIOCGIFBRDADDR \fIioctl\fP, while for point-to-point networks
824 if (ifr->ifr_flags & IFF_POINTTOPOINT) {
828 bcopy((char *) ifr->ifr_dstaddr, (char *) &dst, sizeof (ifr->ifr_dstaddr));
829 } else if (ifr->ifr_flags & IFF_BROADCAST) {
833 bcopy((char *) ifr->ifr_broadaddr, (char *) &dst, sizeof (ifr->ifr_broadaddr));
846 broadcast or point-to-point addressing.
859 group", a set of zero or more hosts identified by a single IP
861 members of its destination host group with the same "best-efforts"
864 group or in the same order relative to other datagrams.
866 The membership of a host group is dynamic; that is, hosts may join
868 location or number of members in a host group. A host may be a
869 member of more than one group at a time. A host need not be a member
870 of a group to send datagrams to it.
872 A host group may be permanent or transient. A permanent group has a
873 well-known, administratively assigned IP address. It is the address,
874 not the membership of the group, that is permanent; at any time a
875 permanent group may have any number of members, even zero. Those IP
881 group address will reach only the intended hosts, or that datagrams
882 received as a member of a transient host group are intended for the
884 higher-level identifiers or authentication tokens. Information
885 transmitted to a host group address should be encrypted or governed
903 The definitions required for the multicast-related socket options are
905 All IP addresses are passed in network byte-order.
907 By default, IP multicast datagrams are sent with a time-to-live (TTL) of 1,
917 group and if multicast loopback has not been disabled on the sending socket
920 to the first-hop subnet. To provide meaningful scope control, the multicast
943 For example, an application might perform an "expanding-ring search" for a
953 reserved for the use of routing protocols and other low-level topology
954 discovery or maintenance protocols, such as gateway discovery and group
958 guaranteed not to be assigned to any group, and 224.0.0.1 is assigned
959 to the permanent group of all IP hosts (including gateways). This is
962 all hosts on the total Internet. The addresses of other well-known,
967 the host has more than one multicast-capable interface. (If the host is
990 If a multicast datagram is sent to a group to which the sending host itself
1007 not belong to the destination group (such as a time querying program).
1011 if the host belongs to the destination group on that other interface. The
1018 a multicast group by using the following socket option:
1026 struct in_addr imr_multiaddr; /* \fImulticast group to join\fP */
1031 to join the same group on more than one interface. "imr_interface" should
1033 host's local addresses to choose a particular (multicast-capable) interface.
1045 one socket may claim a membership in a particular group, and the host
1046 will remain a member of that group until the last claim is dropped.
1051 destination group of the datagram; however, delivery of a multicast datagram
1058 sent to a particular group and port, bind to the local port, with
1059 the local address set to the multicast group address.
1063 or the same multicast group and port if the
1078 A final multicast-related extension is independent of IP: two new ioctls,
1079 SIOCADDMULTI and SIOCDELMULTI, are available to add or delete link-level
1086 A link-level multicast address added via SIOCADDMULTI is not automatically
1088 deleted. It is inadvisable to delete a link-level address that may be
1095 time to an arbitrarily-chosen multicast group and UDP port.
1133 sprintf(message, "time is %-24.24s", ctime(&t));
1172 .\"----------------------------------------------------------------------
1212 set or clear the end-of-message bit to indicate
1215 indicate that a packet should be sent out-of-band.
1237 buf.proto_spp.sp_cc = SP_EM; /* end-of-message */
1268 The header of an IDP-level packet looks like:
1274 u_char idp_tc; /* Transport Control (i.e., hop count) */
1336 Three-way Handshake
1338 The semantics of SPP connections indicates that a three-way
1342 ``well-behaved'' in this manner; when communicating with
1343 any process, it is best to assume that the three-way handshake
1345 required. In a three-way close, the closing process
1347 a zero-length packet with end-of-message set and with
1349 indicates that it is OK to close by sending a zero-length
1350 packet with end-of-message set and datastream type 255. Finally,
1351 the closing process replies with a zero-length packet with
1354 of how one might handle this three-way handshake at the user
1358 might handle three-way handshake if it sees that the process it
1374 if (((struct sphdr *)buf)->sp_dt == SPPSST_END) {
1385 * Write a zero-length packet with datastream type = SPPSST_ENDREPLY
1434 reliable and datagram-oriented. This protocol is known as
1447 * The packet-exchange header shown here is not defined
1469 must be able to generate unique ids -- something that is hard to
1480 /* get id from the kernel -- only on IDP sockets */
1490 so called ``internet super-server.''
1497 A standard service has a well-known port assigned to it and
1502 BSD-specific service.
1504 well-known port assigned to them.
1507 when a program connects to the "tcpmux" well-known port and specifies
1509 This is useful for adding locally-developed servers.
1561 services are assigned unique well-known port numbers in the range of
1564 The limited number of ports in this range are
1567 locally-developed protocols without needing an official TCP port assignment.
1568 The TCPMUX protocol described in RFC-1078 is simple:
1571 service name followed by a carriage-return line-feed <CRLF>.
1574 single character indicating positive ("+") or negative ("\-")
1649 case '-':