Protocols facilitates modular addition of network protocols on top of either TCP or UDP.
Used by ltrx_network_allowed_protocols() and ltrx_network_lookup_network_protocol().
More than one of these values may be "or'ed" together.
If neither LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__TCP
nor LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__UDP
is set, both TCP and UDP are allowed.
Enumerator |
---|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__REQUIRE_NONBLOCKING |
Requires non-blocking send.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__CLIENT |
Requires client.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__SERVER |
Requires server.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__TCP |
Allow TCP based.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__UDP |
Allow UDP based.
|
How in protocolShutdown
call.
Enumerator |
---|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__SEND |
Send direction only.
|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__RECEIVE |
Receive direction only.
|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__BOTH |
Both directions.
|
Return code from optProtocolSendDataNonBlocking
.
Enumerator |
---|
LTRX_NETWORK_RETURN__WORKING |
Working.
|
LTRX_NETWORK_RETURN__SUCCESS |
Success.
|
LTRX_NETWORK_RETURN__FAILURE |
Failure.
|
Iterate through allowed protocols.
By incrementing zeroBasedIterator in successive calls, caller may iterate through allowed protocols.
- Returns
- Protocol name.
- Return values
-
NULL | No more protocols were found. |
- Parameters
-
[in] | zeroBasedIterator | 0 in first call, 1 in second, and so on. |
[in] | flags | Specifies restrictions, so only the allowed protocols will be returned. |
Lookup a protocol.
- Returns
- Protocol structure.
- Return values
-
NULL | No acceptable protocol was found. |
- Parameters
-
[in] | protocolName | Name of desired protocol. |
[in] | flags | Specifies restrictions, so only an allowed protocol will be returned. |
Register a network protocol.
Registers procedures into the system for supporting another network protocol.
Registration must be done in early module initialization.
- Parameters
-
[in] | lnp | Designates the procedures to support this protocol. |
Set up an output stream to an open socket.
- Return values
-
true | Success. |
false | Failed. |
- Parameters
-
[out] | outStream | Your tcp output stream struct to initialize. |
[in] | lis | The open TCP socket that will be fed by the stream. |
[in] | lnp | The abstract network protocol. |
[in] | lnph | The abstract network protocol instance. |