@@ -199,33 +199,29 @@ between itself and a remote pipe-end point (e.g. modem).
The implementation adds socket options at SOL_PNPIPE level:
- It accepts an integer argument where-in
- lower order 16 bits: pn_dev and pn_port pair for remote pep.
- higher order 16 bits: 8 bit pipe-handle
- It sends a PNS_PEP_CONNECT_REQ on sequenced socket itself. On getting
- PNS_PEP_CONNECT_RESP, it sends PNS_PEP_CONNECT_REQ to remote pep. On
- getting response from remote pep, it selects the best possible Flow
- control mechanism supported by remote-pep (modem) and then it sends
- PNS_PEP_CREATED_IND to the sequenced socket and to the remote pep.
- It then updates the pipe state associated with the sequenced socket to
- be PIPE_DISABLED.
+ It accepts an integer argument for setting value of pipe handle.
PNPIPE_ENABLE accepts one integer value (int). If set to zero, the pipe
is disabled. If the value is non-zero, the pipe is enabled. If the pipe
is not (yet) connected, ENOTCONN is error is returned.
- This will send out PNS_PEP_DISCONNECT_REQ on the sequenced socket and
- the remote pep.
- It will also update the pipe state associated with the sequenced socket
- to PIPE_IDLE
+The implementation also adds socket 'connect'. On calling the 'connect', pipe
+will be created between the source socket and the destination, and the pipe
+state will be set to PIPE_DISABLED.
After a pipe has been created and enabled successfully, the Pipe data can be
exchanged between the host-pep and remote-pep (modem).
+User-space would typically follow below sequence with Pipe controller:-
+-setsockopt for PNPIPE_PIPE_HANDLE
+-setsockopt for PNPIPE_ENCAP_IP
+-setsockopt for PNPIPE_ENABLE