|
|
1.1 ! root 1: .\" Copyright (c) 1990 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted ! 5: .\" provided that: (1) source distributions retain this entire copyright ! 6: .\" notice and comment, and (2) distributions including binaries display ! 7: .\" the following acknowledgement: ``This product includes software ! 8: .\" developed by the University of California, Berkeley and its contributors'' ! 9: .\" in the documentation or other materials provided with the distribution ! 10: .\" and in all advertising materials mentioning features or use of this ! 11: .\" software. Neither the name of the University nor the names of its ! 12: .\" contributors may be used to endorse or promote products derived ! 13: .\" from this software without specific prior written permission. ! 14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 15: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 16: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 17: .\" ! 18: .\" @(#)clnp.4 6.1 (Berkeley) 5/30/90 ! 19: .\" ! 20: .TH CLNP 4 "May 30, 1990" ! 21: .UC 4 ! 22: .SH NAME ! 23: clnp \- Connectionless-Mode Network Protocol ! 24: .SH SYNOPSIS ! 25: .B #include <sys/socket.h> ! 26: .br ! 27: .B #include <netargo/iso.h> ! 28: .br ! 29: .B #include <netargo/clnp.h> ! 30: .PP ! 31: .B s = socket(AF_ISO, SOCK_RAW, 0); ! 32: .SH DESCRIPTION ! 33: CLNP is the connectionless-mode network protocol used by the ! 34: connectionless-mode network service. This protocol is specified in ! 35: ISO 8473. ! 36: It may be accessed ! 37: through a \*(lqraw socket\*(rq for debugging purposes only. ! 38: CLNP sockets are connectionless, ! 39: and are normally used with the ! 40: .I sendto ! 41: and ! 42: .I recvfrom ! 43: calls, though the ! 44: .IR connect (2) ! 45: call may also be used to fix the destination for future ! 46: packets (in which case the ! 47: .IR read (2) ! 48: or ! 49: .IR recv (2) ! 50: and ! 51: .IR write (2) ! 52: or ! 53: .IR send (2) ! 54: system calls may be used). ! 55: .PP ! 56: Outgoing packets automatically have a CLNP header prepended to ! 57: them. Incoming packets received by the user contain the full CLNP header. ! 58: The following \fIsetsockopt\fR options apply to CLNP: ! 59: .TP ! 60: CLNPOPT_FLAGS ! 61: Sets the flags which are passed to clnp when sending a datagram. ! 62: Valid flags are: ! 63: .nf ! 64: .br ! 65: CLNP_NO_SEG-Do not allow segmentation ! 66: CLNP_NO_ER-Suppress ER pdus ! 67: CLNP_NO_CKSUM-Do not generate the CLNP checksum ! 68: .br ! 69: .fi ! 70: .TP ! 71: CLNPOPT_OPTS ! 72: Sets CLNP options. The options must be formatted exactly as specified by ! 73: ISO 8473, section 7.5 "Options Part." Once an option has been set, it will ! 74: be sent on all packets until a different option is set. ! 75: .SH "CONGESTION EXPERIENCE BIT" ! 76: Whenever a packet is transmitted, the globally unique quality of ! 77: service option is added to the packet. The sequencing preferred bit and ! 78: the low transit delay bit are set in this option. ! 79: .PP ! 80: If a packet is forwarded containing the globally unique quality of ! 81: service option, and the interface through which the packet will be ! 82: transmitted has a queue length greater than \fIcongest_threshold\fR, ! 83: then the congestion experienced bit is set in the quality of service option. ! 84: .PP ! 85: The threshold value stored in \fIcongest_threshold\fR may be changed ! 86: with the \fIclnlutil\fR utility. ! 87: .PP ! 88: When a packet is received with the ! 89: globally unique quality of service option present, and the ! 90: congestion experienced bit is set, then the transport congestion ! 91: control function is called. ! 92: .SH DIAGNOSTICS ! 93: A socket operation may fail with one of the following errors returned: ! 94: .TP 15 ! 95: [EISCONN] ! 96: when trying to establish a connection on a socket which ! 97: already has one, or when trying to send a datagram with the destination ! 98: address specified and the socket is already connected; ! 99: .TP 15 ! 100: [ENOTCONN] ! 101: when trying to send a datagram, but ! 102: no destination address is specified, and the socket hasn't been ! 103: connected; ! 104: .TP 15 ! 105: [ENOBUFS] ! 106: when the system runs out of memory for ! 107: an internal data structure; ! 108: .TP 15 ! 109: [EADDRNOTAVAIL] ! 110: when an attempt is made to create a ! 111: socket with a network address for which no network interface ! 112: exists; ! 113: .TP 15 ! 114: [EHOSTUNREACH] ! 115: when trying to send a datagram, but no route to the destination ! 116: address exists. ! 117: .TP 15 ! 118: [EINVAL] ! 119: when specifying unsupported options. ! 120: .SH SEE ALSO ! 121: send(2), recv(2), intro(4), iso(4) ! 122: .SH BUGS ! 123: Packets are sent with the type code of 0x1d (technically an invalid ! 124: packet type) for lack of a better way to identify raw CLNP packets. ! 125: .PP ! 126: No more than MLEN bytes of options can be specified.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.