IrDA primary and secondary connection

Primary connection

Once a device has been discovered, an IrDA connect may be initiated. An RSocket object is required to achieve this. In terms of the IrDA specification, a successful return from connect will put the two machines into the link state (or NRM) after having completed both the IrLAP and IrLMP connect procedures.

The functions RSocket::Open(), RSocket::Bind(), and RSocket::Connect() are used to achieve this connection.

Secondary connection

A secondary connection is made using a listening socket (sock1) to set up the IrDA protocol stack in a “wait for connect” state. The RSocket::Listen() completes immediately and a NULL acceptor socket (sock2) is set up to accept the incoming connection on the listening socket.

The functions RSocket::Listen(),RSocket::Read(), and RSocket::Accept() are used to achieve this connection.