NetTCP_ConnCfgMaxSegSizeLocal
Configure TCP connection’s local maximum segment size.
Files
net_tcp.h/net_tcp.c
Prototype
CPU_BOOLEAN NetTCP_ConnCfgMaxSegSizeLocal(NET_TCP_CONN_ID conn_id_tcp, NET_TCP_SEG_SIZE max_seg_size, NET_ERR *perr);
Arguments
conn_id_tcp
TCP connection handle ID to configure local maximum segment size.
max_seg_size
Desired maximum segment size.
perr
Pointer to variable that will receive the return error code from this function:
NET_TCP_ERR_NONE
NET_TCP_ERR_CONN_NOT_USED
NET_TCP_ERR_INVALID_CONN_STATE
NET_TCP_ERR_INVALID_CONN_OP
NET_TCP_ERR_INVALID_CONN_ARG
NET_TCP_ERR_INVALID_CONN
NET_TCP_ERR_CONN_NOT_USED
NET_ERR_INIT_INCOMPLETE
NET_OS_ERR_LOCK
Returned Value
DEF_OK
,
TCP connection’s local maximum segment size successfully configured, if no errors.
DEF_FAIL
,
otherwise.
Required Configuration
Available only if TCP is enabled (see TCP Layer Configuration).
Notes / Warnings
The conn_id_tcp
argument represents the TCP connection handle — not the socket handle. The following code may be used to get the TCP connection handle and configure TCP connection parameters (see also NetSock_GetConnTransportID):
NET_SOCK_ID sock_id; NET_TCP_CONN_ID conn_id_tcp; NET_ERR err; sock_id = Application's TCP socket ID; /* Get application's TCP socket ID. */ /* Get socket's TCP connection ID. */ conn_id_tcp = (NET_TCP_CONN_ID)NetSock_GetConnTransportID(sock_id, &err); if (err == NET_SOCK_ERR_NONE) { /* If NO errors, ... */ /* ... configure TCP connection local maximum segment size. */ NetTCP_ConnCfgMaxSegSizeLocal(conn_id_tcp, 1360u); }
NetTCP_ConnCfgMaxSegSizeLocal()
is called by application function(s) and must not be called with the global network lock already acquired. It must block all other network protocol tasks by pending on and acquiring the global network lock (see “net.h
Note #3”). This is required since an application's network protocol suite API function access is asynchronous to other network protocol tasks.