1*47675Scael.\" Copyright (c) 1990, 1991 The Regents of the University of California. 242482Ssklower.\" All rights reserved. 342482Ssklower.\" 442482Ssklower.\" %sccs.include.redist.man% 542482Ssklower.\" 6*47675Scael.\" @(#)cltp.4 6.2 (Berkeley) 03/28/91 742482Ssklower.\" 8*47675Scael.Dd 9*47675Scael.Dt CLTP 4 10*47675Scael.Os 11*47675Scael.Sh NAME 12*47675Scael.Nm cltp 13*47675Scael.Nd 14*47675Scael.Tn ISO 15*47675ScaelConnectionless Transport Protocol 16*47675Scael.Sh SYNOPSIS 17*47675Scael.Fd #include <sys/socket.h> 18*47675Scael.Fd #include <netiso/iso.h> 19*47675Scael.Ft int 20*47675Scael.Fn socket AF_ISO SOCK_DGRAM 0 21*47675Scael.Sh DESCRIPTION 22*47675Scael.Tn CLTP 23*47675Scaelis a simple, unreliable datagram protocol which is accessed 24*47675Scaelvia the 25*47675Scael.Dv SOCK_DGRAM 26*47675Scaelabstraction for the 27*47675Scael.Tn ISO 28*47675Scaelprotocol family. 29*47675Scael.Tn CLTP 30*47675Scaelsockets are connectionless, and are 3142482Ssklowernormally used with the 32*47675Scael.Xr sendto 3342482Ssklowerand 34*47675Scael.Xr recvfrom 3542482Ssklowercalls, though the 36*47675Scael.Xr connect 2 3742482Ssklowercall may also be used to fix the destination for future 3842482Ssklowerpackets (in which case the 39*47675Scael.Xr recv 2 4042482Sskloweror 41*47675Scael.Xr read 2 4242482Ssklowerand 43*47675Scael.Xr send 2 4442482Sskloweror 45*47675Scael.Xr write 2 4642482Ssklowersystem calls may be used). 47*47675Scael.Pp 48*47675Scael.Tn CLTP 49*47675Scaeladdress formats are identical to those used by TP. 50*47675ScaelIn particular 51*47675Scael.Tn CLTP 52*47675Scaelprovides a service selector in addition 53*47675Scaelto the normal 54*47675Scael.Tn ISO NSAP . 55*47675ScaelNote that the 56*47675Scael.Tn CLTP 57*47675Scaelselector 58*47675Scaelspace is separate from the TP selector space (i.e. a 59*47675Scael.Tn CLTP 60*47675Scaelselector 61*47675Scaelmay not be 62*47675Scael.Dq connected 63*47675Scaelto a TP selector). 64*47675Scael.Pp 65*47675ScaelOptions at the 66*47675Scael.Tn CLNP 67*47675Scaelnetwork level may be used with 68*47675Scael.Tn CLTP ; 69*47675Scaelsee 70*47675Scael.Xr clnp 4 . 71*47675Scael.Sh DIAGNOSTICS 7242482SsklowerA socket operation may fail with one of the following errors returned: 73*47675Scael.Bl -tag -width [EADDRNOTAVAIL] 74*47675Scael.It Bq Er EISCONN 7542482Ssklowerwhen trying to establish a connection on a socket which 7642482Sskloweralready has one, or when trying to send a datagram with the destination 7742482Sskloweraddress specified and the socket is already connected; 78*47675Scael.It Bq Er ENOTCONN 7942482Ssklowerwhen trying to send a datagram, but 8042482Ssklowerno destination address is specified, and the socket hasn't been 8142482Ssklowerconnected; 82*47675Scael.It Bq Er ENOBUFS 8342482Ssklowerwhen the system runs out of memory for 8442482Sskloweran internal data structure; 85*47675Scael.It Bq Er EADDRINUSE 8642482Ssklowerwhen an attempt 8742482Sskloweris made to create a socket with a selector which has already been 8842482Ssklowerallocated; 89*47675Scael.It Bq Er EADDRNOTAVAIL 9042482Ssklowerwhen an attempt is made to create a 9142482Ssklowersocket with a network address for which no network interface 9242482Ssklowerexists. 93*47675Scael.El 94*47675Scael.Sh SEE ALSO 95*47675Scael.Xr getsockopt 2 , 96*47675Scael.Xr recv 2 , 97*47675Scael.Xr send 2 , 98*47675Scael.Xr socket 2 , 99*47675Scael.Xr intro 4 , 100*47675Scael.Xr iso 4 , 101*47675Scael.Xr clnp 4 102*47675Scael.Sh HISTORY 103*47675ScaelThe 104*47675Scael.Nm 105*47675Scaelprotocol implementation 106*47675Scael.Ud 107