Man Pages

irda(7) - phpMan irda(7) - phpMan

Command: man perldoc info search(apropos)  


IRDA(7)                      Linux-IrDA man pages                      IRDA(7)



NAME
       irda - The Linux-IrDA protocol stack

SYNOPSIS
       #include <linux/irda.h>

       stream_s = socket(PF_INET, SOCK_STREAM, 0);
       seqpkt_s = socket(PF_INET, SOCK_SEQPACKET, 0);
       dgram_s = socket(PF_INET, SOCK_DGRAM, IRDAPROTO_UNITDATA);
       ultra_s = socket(PF_INET, SOCK_DGRAM, IRDAPROTO_ULTRA);

DESCRIPTION
       Linux-IrDA is a complete implementation of the various IrDA protocols and IrDA drivers for Linux.

       The configuration of the low level of the IrDA stack (IrDA ports) and the various IrDA drivers are described in
       irattach(8).

       The usage of the higher layers of the IrDA stack (IrCOMM, IrLPT, IrNET, IrLAN, OBEX...) are described in  their
       respective man pages.

       The  core  of  the  Linux-IrDA protocol stack is composed of the IrLAP, IrLMP, IrTTP and IrIAS protocols and is
       implemented as a kernel module. The programmer's interface for the IrDA stack is socket based. For more  infor-
       mation on sockets, see socket(7).

       Note that higher level IrDA protocols may offer a different programmer's interface. For example IrCOMM offers a
       TTY based interface and OBEX is available through a user space library.

SOCKETS TYPE
       The Linux-IrDA socket interface offers 4 types of sockets:

       Stream socket - SOCK_STREAM, 0
              Stream sockets provides a reliable, stream oriented, full duplex connection between two sockets  on  top
              of  IrTTP, similar to TCP sockets. IrTTP guarantees that the data arrives in order and manages flow con-
              trol, IrLAP retransmits lost packets.
              Stream sockets does not preserve record boundaries.

       SeqPacket socket - SOCK_SEQPACKET, 0
              SeqPacket sockets provides a reliable, datagram oriented, full duplex connection between two sockets  on
              top  of IrTTP.  IrTTP guarantees that the data arrives in order and manages flow control, IrLAP retrans-
              mits lost packets.
              SeqPacket sockets preserve record boundaries. Large datagrams will be fragmented as needed.

       Datagram socket - SOCK_DGRAM, IRDAPROTO_UNITDATA
              SeqPacket sockets provides a reliable, datagram oriented, full duplex connection between two sockets  on
              top  of  IrLMP.  There is no guarantee that the data arrives in order and there is no flow control, how-
              ever IrLAP retransmits lost packets.
              Datagram sockets preserve record boundaries. No fragmentation is provided,  datagrams  larger  than  the
              IrDA link MTU are truncated or discarded.

       Ultra socket - SOCK_DGRAM, IRDAPROTO_ULTRA
              Ultra  sockets  provides  a  connectionless,  unreliable  datagram packet service on top of IrLAP-Ultra.
              Ultra datagrams are sent and received only when no IrLAP connection is established  and  otherwise  dis-
              carded.  They  are always transmitted at 9600 bauds. Datagrams may be lost or reordered, and there is no
              flow control.
              Ultra sockets preserve record boundaries. No fragmentation is provided, datagrams larger than the  Ultra
              MTU (382 bytes) are truncated or discarded.

ADDRESS FORMAT
       An  IrDA  socket  address is defined as a combination of an IrDA interface address and a service name.  Service
       names are automatically resolved to lsap through the IrIAP protocol.

           struct sockaddr_irda {
               sa_family_t sir_family;   /* AF_IRDA */
               __u8        sir_lsap_sel; /* LSAP selector */
               __u32       sir_addr;     /* Device address */
               char        sir_name[25]; /* Usually <service>:IrDA:TinyTP */
           };

       sin_family is always set to AF_IRDA.  sir_lsap_sel is usually not used.  sir_addr is the  optional  address  of
       the peer (if no given the first peer discovered will be used).  sir_name is the service name of the socket.

SOCKET OPTIONS
       IrDA  sockets  supports  some protocol specific socket options that can be set with setsockopt(2) and read with
       getsockopt(2).  The socket option level for IrDA is SOL_IRLMP.

       Options that can be set:

       IRLMP_IAS_SET
              Set an entry in the local IAS database.

       IRLMP_IAS_DEL
              Delete an entry from the local IAS database.

       IRLMP_MAX_SDU_SIZE
              Set maximum receive MTU for SeqPacket sockets.

       IRLMP_HINTS_SET
              Set IrDA hint bits to be advertised to peers.

       IRLMP_HINT_MASK_SET
              Set IrDA hint bits filter to be used when performing discovery.

       Options that can be get:

       IRLMP_ENUMDEVICES
              Perform link level discovery and return the content of the discovery log.

       IRLMP_MAX_SDU_SIZE
              Get maximum receive MTU.

       IRLMP_IAS_GET
              Get an entry from the local IAS database.

       IRLMP_IAS_QUERY
              Query an entry in IAS database of a peer using IrIAP.

       IRLMP_WAITDEVICE
              Block until a new device is discovered. Experimental feature, use with caution.

AUTHOR
       Jean Tourrilhes - jtAThpl.com

SEE ALSO
       irattach(8), irdadump(8), irnet(4), irnetd(8).



irda-utils                        2 May 2003                           IRDA(7)