+ Questa opzione viene usata per gestire manualmente il flusso dei dati
+ mettendo una sorta di ``\textsl{tappo}'' (da cui il nome in inglese) al
+ flusso di uscita, in modo ottimizzare a mano l'uso della banda. È molto
+ utile anche quando si effettua il trasferimento di dati da un file con
+ \func{sendfile} (vedi sez.~\ref{sec:file_sendfile}), se si vuole inserire
+ una intestazione prima della chiamata a questa funzione.
+
+ Si tenga presente che l'implementazione corrente di \const{TCP\_CORK} non
+ consente di bloccare l'invio dei pacchetti per più di 200 millisecondi,
+ passati i quali i dati accumulati in coda sanno inviati comunque. Questa
+ opzione non è disponibile su tutti i kernel unix-like e deve essere evitata
+ se si vuole scrivere codice portabile.
+
+\item[\const{TCP\_KEEPIDLE}] imposta l'intervallo di tempo, in secondi, che
+ deve trascorrere senza traffico sul socket prima che vengano inviati,
+ qualora si sia attivata su di esso l'opzione \const{SO\_KEEPALIVE}, i
+ messaggi di \textit{keep-alive} (si veda la trattazione relativa al
+ \textit{keep-alive} in sez.~\ref{sec:sock_options_main}). Anche questa
+ opzione non è disponibile su tutti i kernel unix-like e deve essere evitata
+ se si vuole scrivere codice portabile.
+
+\item[\const{TCP\_KEEPINTVL}] imposta l'intervallo di tempo, in secondi, fra
+ due messaggi di \textit{keep-alive} successivi (si veda sempre quanto
+ illustrato in sez.~\ref{sec:sock_options_main}). Come la precedente non è
+ disponibile su tutti i kernel unix-like e deve essere evitata se si vuole
+ scrivere codice portabile.
+
+\item[\const{TCP\_KEEPCNT}] imposta il numero totale di messaggi di
+ \textit{keep-alive} da inviare prima di concludere che la connessione è
+ caduta per assenza di risposte ad un messaggio di \textit{keep-alive} (di
+ nuovo vedi sez.~\ref{sec:sock_options_main}). Come la precedente non è
+ disponibile su tutti i kernel unix-like e deve essere evitata se si vuole
+ scrivere codice portabile.
+
+\item[\const{TCP\_SYNCNT}] imposta il numero di tentativi di ritrasmissione
+ dei segmenti SYN usati nel \itindex{three~way~handshake} \textit{three way
+ handshake} prima che il tentativo di connessione venga abortito (si
+ ricordi quanto accennato in sez.\ref{sec:TCP_func_connect}). Sovrascrive per
+ il singolo socket il valore globale impostato con la \textit{sysctl}
+ \texttt{tcp\_syn\_retries} (vedi sez.~\ref{sec:sock_ipv4_sysctl}). Non
+ vengono accettati valori maggiori di 255; anche questa opzione non è
+ standard e deve essere evitata se si vuole scrivere codice portabile.
+
+\item[\const{TCP\_LINGER2}] imposta, in numero di secondi, il tempo di
+ sussistenza dei socket terminati nello stato \texttt{FIN\_WAIT2} (si ricordi
+ quanto visto in sez.~\ref{sec:TCP_conn_term}).\footnote{si tenga ben
+ presente che questa opzione non ha nulla a che fare con l'opzione
+ \const{SO\_LINGER} che abbiamo visto in sez.~\ref{sec:sock_options_main}.}
+ Questa opzione consente di sovrascrivere per il singolo socket il valore
+ globale impostato con la \textit{sysctl} \texttt{tcp\_fin\_timeout} (vedi
+ sez.~\ref{sec:sock_ipv4_sysctl}). Anche questa opzione è da evitare se si
+ ha a cuore la portabilità del codice.
+
+\item[\const{TCP\_DEFER\_ACCEPT}] consente ad un socket in ascolto di
+ ritornare da \func{accept} soltanto quando sono presenti dati sullo stesso,
+ e non alla conclusione del \itindex{three~way~handshake} \textit{three way
+ handshake}. Prende un valore intero che indica il numero massimo di
+ secondi per cui il ritorno di \func{accept} viene rimandato; non deve essere
+ utilizzata in codice che vuole essere portabile.
+
+\item[\const{TCP\_WINDOW\_CLAMP}] limita alla dimensione specificata (in byte)
+ il valore dichiarato della \itindex{advertised~window} \textit{advertised
+ window} (vedi sez.\ref{sez:tcp_protocol_xxx}). Il kernel impone comunque
+ una dimensione minima pari a \texttt{SOCK\_MIN\_RCVBUF/2}. Questa opzione
+ non deve essere utilizzata in codice che vuole essere portabile.
+
+\item[\const{TCP\_INFO}] opzione, specifica di Linux, ma introdotta anche in
+ altri kernel (ad esempio FreeBSD) di controllare lo stato di un socket TCP
+ in user space. L'opzione restituisce in una speciale struttura
+ \struct{tcp\_info}, la cui definizione è riportata in
+ fig.~\ref{fig:tcp_info_struct}, tutta una serie di dati relativi al socket.
+ Anche questa opzione deve essere evitata se si vuole scrivere codice
+ portabile.