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.  |