191df013fSAsim Jamshed<!-- Creator : groff version 1.22.2 --> 291df013fSAsim Jamshed<!-- CreationDate: Thu Feb 2 22:36:46 2017 --> 391df013fSAsim Jamshed<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 491df013fSAsim Jamshed"http://www.w3.org/TR/html4/loose.dtd"> 591df013fSAsim Jamshed<html> 691df013fSAsim Jamshed<head> 791df013fSAsim Jamshed<meta name="generator" content="groff -Thtml, see www.gnu.org"> 891df013fSAsim Jamshed<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> 991df013fSAsim Jamshed<meta name="Content-Style" content="text/css"> 1091df013fSAsim Jamshed<style type="text/css"> 1191df013fSAsim Jamshed p { margin-top: 0; margin-bottom: 0; vertical-align: top } 1291df013fSAsim Jamshed pre { margin-top: 0; margin-bottom: 0; vertical-align: top } 1391df013fSAsim Jamshed table { margin-top: 0; margin-bottom: 0; vertical-align: top } 1491df013fSAsim Jamshed h1 { text-align: center } 1591df013fSAsim Jamshed</style> 1691df013fSAsim Jamshed<title>mtcp_getsockopt</title> 17e5df9dc1SAsim Jamshed<link rel="stylesheet" href="./common.css"> 1891df013fSAsim Jamshed</head> 1991df013fSAsim Jamshed<body> 20e5df9dc1SAsim Jamshed<div class="main"> 2191df013fSAsim Jamshed<h1 align="center">mtcp_getsockopt</h1> 22e5df9dc1SAsim Jamshed<!-- 2391df013fSAsim Jamshed<a href="#NAME">NAME</a><br> 2491df013fSAsim Jamshed<a href="#SYNOPSIS">SYNOPSIS</a><br> 2591df013fSAsim Jamshed<a href="#DESCRIPTION">DESCRIPTION</a><br> 2691df013fSAsim Jamshed<a href="#RETURN VALUE">RETURN VALUE</a><br> 2791df013fSAsim Jamshed<a href="#ERRORS">ERRORS</a><br> 2891df013fSAsim Jamshed<a href="#AUTHORS">AUTHORS</a><br> 2991df013fSAsim Jamshed<a href="#SEE ALSO">SEE ALSO</a><br> 3091df013fSAsim Jamshed<a href="#COLOPHON">COLOPHON</a><br> 3191df013fSAsim Jamshed<hr> 32e5df9dc1SAsim Jamshed--> 3391df013fSAsim Jamshed 3491df013fSAsim Jamshed<h2>NAME 3591df013fSAsim Jamshed<a name="NAME"></a> 3691df013fSAsim Jamshed</h2> 3791df013fSAsim Jamshed 3891df013fSAsim Jamshed 3991df013fSAsim Jamshed 4091df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mtcp_getsockopt 4191df013fSAsim Jamshed− get options on mTCP/mOS sockets</p> 4291df013fSAsim Jamshed 4391df013fSAsim Jamshed<h2>SYNOPSIS 4491df013fSAsim Jamshed<a name="SYNOPSIS"></a> 4591df013fSAsim Jamshed</h2> 4691df013fSAsim Jamshed 4791df013fSAsim Jamshed 4891df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>#include 4991df013fSAsim Jamshed<mtcp_api.h></b></p> 5091df013fSAsim Jamshed 5191df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>int 5291df013fSAsim Jamshedmtcp_getsockopt(mctx_t</b> <i>mctx</i><b>, int</b> 5391df013fSAsim Jamshed<i>sockid</i><b>, int</b> <i>level</i><b>, int</b> 5491df013fSAsim Jamshed<i>optname</i><b>, const void *</b><i>optval</i><b>, 5591df013fSAsim Jamshedsocklen_t *</b><i>optlen</i><b>);</b></p> 5691df013fSAsim Jamshed 5791df013fSAsim Jamshed<h2>DESCRIPTION 5891df013fSAsim Jamshed<a name="DESCRIPTION"></a> 5991df013fSAsim Jamshed</h2> 6091df013fSAsim Jamshed 6191df013fSAsim Jamshed 6291df013fSAsim Jamshed 6391df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_getsockopt</b>() 6491df013fSAsim Jamshedmanipulate options for the socket referred to by the 6591df013fSAsim Jamshed<i>sockid</i> descriptor. These options may exist at 6691df013fSAsim Jamshedmultiple protocol levels. When manipulating socket options, 6791df013fSAsim Jamshedthe level at which the options resides and the name of the 6891df013fSAsim Jamshedoption must be specified. A user can use <b>SOL_SOCKET</b> 6991df013fSAsim Jamshed<i>level</i> to adjust these options for mTCP endpoint 7091df013fSAsim Jamshedapplications; while <b>SOL_MONSOCKET</b> <i>level</i> can be 7191df013fSAsim Jamshedused to adjust options for monitoring sockets.</p> 7291df013fSAsim Jamshed 7391df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">For 7491df013fSAsim Jamshed<b>mtcp_getsockopt()</b> <i>optval</i> identifies the buffer 7591df013fSAsim Jamshedin which the value for the requested option is to be 7691df013fSAsim Jamshedreturned and the <i>optlen</i> argument is updated to 7791df013fSAsim Jamshedindicate the actual size of the <i>optval</i> returned. It 7891df013fSAsim Jamshedis the user’s responsibility to allocate memory for 7991df013fSAsim Jamshedboth <i>optval</i> and <i>optlen</i> arguments.</p> 8091df013fSAsim Jamshed 8191df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">At the moment, 8291df013fSAsim JamshedmOS only provides one <i>optname</i> named <b>SO_ERROR</b> 8391df013fSAsim Jamshedthat can only be used for <b>mtcp_getsockopt()</b> function 8491df013fSAsim Jamshedfor SOL_SOCKET socket <i>level</i> with the specified option 8591df013fSAsim Jamshedname returns the most recently recorded socket error for the 8691df013fSAsim Jamshedparticular connection (specific to the <i>sockid</i> socket 8791df013fSAsim Jamsheddescriptor).</p> 8891df013fSAsim Jamshed 8991df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">SOL_MONSOCKET 9091df013fSAsim Jamshedsocket <i>level</i> can be used by <b>mtcp_getsockopt()</b> 9191df013fSAsim Jamshedto retrieve a number of socket options.</p> 9291df013fSAsim Jamshed 9391df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 9491df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 9591df013fSAsim Jamshed<tr valign="top" align="left"> 9691df013fSAsim Jamshed<td width="11%"></td> 9791df013fSAsim Jamshed<td width="29%"> 9891df013fSAsim Jamshed 9991df013fSAsim Jamshed 10091df013fSAsim Jamshed<p style="margin-top: 1em">MOS_FRAGINFO_CLIBUF</p></td> 10191df013fSAsim Jamshed<td width="9%"></td> 10291df013fSAsim Jamshed<td width="51%"> 10391df013fSAsim Jamshed 10491df013fSAsim Jamshed 10591df013fSAsim Jamshed<p style="margin-top: 1em">Gives back offsets to fragments 10691df013fSAsim Jamshed(non-contiguous data segments) currently stored in 10791df013fSAsim Jamshedclient’s TCP ring buffer. The <i>optval</i> is an 10891df013fSAsim Jamshedarray of struct tcp_ring_fragment which is defined as:</p></td></tr> 10991df013fSAsim Jamshed</table> 11091df013fSAsim Jamshed 11191df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">struct 11291df013fSAsim Jamshedtcp_ring_fragment { <br> 11391df013fSAsim Jamsheduint64_t offset; <br> 11491df013fSAsim Jamsheduint32_t len; <br> 11591df013fSAsim Jamshed}</p> 11691df013fSAsim Jamshed 11791df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">where offset 11891df013fSAsim Jamshedflow data starting from client’s TCP SYN sequence 11991df013fSAsim Jamshednumber, and len is the length of the tcp_ring_fragment. The 12091df013fSAsim Jamshed<i>optval</i> holds the size of the array (in terms of the 12191df013fSAsim Jamshednumber of elements).</p> 12291df013fSAsim Jamshed 12391df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 12491df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 12591df013fSAsim Jamshed<tr valign="top" align="left"> 12691df013fSAsim Jamshed<td width="11%"></td> 12791df013fSAsim Jamshed<td width="29%"> 12891df013fSAsim Jamshed 12991df013fSAsim Jamshed 13091df013fSAsim Jamshed<p style="margin-top: 1em">MOS_FRAGINFO_SVRBUF</p></td> 13191df013fSAsim Jamshed<td width="9%"></td> 13291df013fSAsim Jamshed<td width="51%"> 13391df013fSAsim Jamshed 13491df013fSAsim Jamshed 13591df013fSAsim Jamshed<p style="margin-top: 1em">Gives back offsets to fragments 13691df013fSAsim Jamshed(non-contiguous data segments) currently stored in 13791df013fSAsim Jamshedserver’s TCP ring buffer. The <i>optval</i> is the 13891df013fSAsim Jamshedarray of struct tcp_ring_fragment</p></td></tr> 13991df013fSAsim Jamshed</table> 14091df013fSAsim Jamshed 14191df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">where offset 14291df013fSAsim Jamshedflow data starting from server’s TCP SYN sequence 14391df013fSAsim Jamshednumber, and len is the length of the tcp_ring_fragment. The 14491df013fSAsim Jamshed<i>optlen</i> holds the size of the array (in terms of the 14591df013fSAsim Jamshednumber of elements).</p> 14691df013fSAsim Jamshed 14791df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 14891df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 14991df013fSAsim Jamshed<tr valign="top" align="left"> 15091df013fSAsim Jamshed<td width="11%"></td> 15191df013fSAsim Jamshed<td width="23%"> 15291df013fSAsim Jamshed 15391df013fSAsim Jamshed 15491df013fSAsim Jamshed<p style="margin-top: 1em">MOS_INFO_CLIBUF</p></td> 15591df013fSAsim Jamshed<td width="15%"></td> 15691df013fSAsim Jamshed<td width="51%"> 15791df013fSAsim Jamshed 15891df013fSAsim Jamshed 15991df013fSAsim Jamshed<p style="margin-top: 1em">Returns meta-data regarding the 16091df013fSAsim Jamshedclient’s TCP ring buffer. This information is returned 16191df013fSAsim Jamshedin the form of <i>optval</i> which is passed as struct 16291df013fSAsim Jamshedtcp_buf_info.</p> </td></tr> 16391df013fSAsim Jamshed</table> 16491df013fSAsim Jamshed 16591df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">struct 16691df013fSAsim Jamshedtcp_buf_info { <br> 16791df013fSAsim Jamshed/* The initial TCP sequence number <br> 16891df013fSAsim Jamshedof TCP ring buffer. */ <br> 16991df013fSAsim Jamsheduint32_t tcpbi_init_seq;</p> 17091df013fSAsim Jamshed 17191df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">/* TCP sequence 17291df013fSAsim Jamshednumber of the ’last <br> 17391df013fSAsim Jamshedbyte of payload that has already <br> 17491df013fSAsim Jamshedbeen read by the end application’ <br> 17591df013fSAsim Jamshed(applies in the case of embedded <br> 17691df013fSAsim Jamshedmonitor setup) */ <br> 17791df013fSAsim Jamsheduint32_t tcpbi_last_byte_read;</p> 17891df013fSAsim Jamshed 17991df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">/* TCP sequence 18091df013fSAsim Jamshednumber of the ’last <br> 18191df013fSAsim Jamshedbyte of the payload that is <br> 18291df013fSAsim Jamshedcurrently buffered and needs to <br> 18391df013fSAsim Jamshedbe read by the end application’ <br> 18491df013fSAsim Jamshed(applies in the case of embedded <br> 18591df013fSAsim Jamshedmonitor setup). In case of standalone <br> 18691df013fSAsim Jamshedmonitors, tcpbi_last_byte_read = <br> 18791df013fSAsim Jamshedtcpbi_next_byte_expected */ <br> 18891df013fSAsim Jamsheduint32_t tcpbi_next_byte_expected;</p> 18991df013fSAsim Jamshed 19091df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">/* TCP sequence 19191df013fSAsim Jamshednumber of the ’last <br> 19291df013fSAsim Jamshedbyte of the payload that is <br> 19391df013fSAsim Jamshedcurrently stored’ in the TCP <br> 19491df013fSAsim Jamshedring buffer. This value may be <br> 19591df013fSAsim Jamshedgreater than tcpbi_next_byte_expected <br> 19691df013fSAsim Jamshedif packets arrive out of order. */ <br> 19791df013fSAsim Jamsheduint32_t tcpbi_last_byte_received; <br> 19891df013fSAsim Jamshed}</p> 19991df013fSAsim Jamshed 20091df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">The 20191df013fSAsim Jamshed<i>optlen</i> value contains the sizeof(struct 20291df013fSAsim Jamshedtcp_buf_info).</p> 20391df013fSAsim Jamshed 20491df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 20591df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 20691df013fSAsim Jamshed<tr valign="top" align="left"> 20791df013fSAsim Jamshed<td width="11%"></td> 20891df013fSAsim Jamshed<td width="26%"> 20991df013fSAsim Jamshed 21091df013fSAsim Jamshed 21191df013fSAsim Jamshed<p style="margin-top: 1em">MOS_INFO_SVRBUF</p></td> 21291df013fSAsim Jamshed<td width="12%"></td> 21391df013fSAsim Jamshed<td width="51%"> 21491df013fSAsim Jamshed 21591df013fSAsim Jamshed 21691df013fSAsim Jamshed<p style="margin-top: 1em">Returns meta-data regarding the 21791df013fSAsim Jamshedserver’s TCP ring buffer. This information is returned 21891df013fSAsim Jamshedin the form of <i>optval</i> which is passed as struct 21991df013fSAsim Jamshedtcp_buf_info. The <i>optlen</i> value contains the 22091df013fSAsim Jamshedsizeof(struct tcp_buf_info).</p></td></tr> 22191df013fSAsim Jamshed<tr valign="top" align="left"> 22291df013fSAsim Jamshed<td width="11%"></td> 22391df013fSAsim Jamshed<td width="26%"> 22491df013fSAsim Jamshed 22591df013fSAsim Jamshed 22691df013fSAsim Jamshed<p>MOS_TCP_STATE_CLI</p></td> 22791df013fSAsim Jamshed<td width="12%"></td> 22891df013fSAsim Jamshed<td width="51%"> 22991df013fSAsim Jamshed 23091df013fSAsim Jamshed 23191df013fSAsim Jamshed<p>Returns the current emulated state of the client. The 23291df013fSAsim Jamshed<i>optval</i> argument is a pointer to an int whereas the 23391df013fSAsim Jamshed<i>optlen</i> argument contains the sizeof(int). The optval 23491df013fSAsim Jamshedreturns a value of type enum tcpstate which can carry any 23591df013fSAsim Jamshedone of the following states.</p></td></tr> 23691df013fSAsim Jamshed</table> 23791df013fSAsim Jamshed 23891df013fSAsim Jamshed<p style="margin-left:49%; margin-top: 1em">enum tcpstate { 23991df013fSAsim Jamshed<br> 24091df013fSAsim JamshedTCP_CLOSED = 0, <br> 24191df013fSAsim JamshedTCP_LISTEN, <br> 24291df013fSAsim JamshedTCP_SYN_SENT, <br> 24391df013fSAsim JamshedTCP_SYN_RCVD, <br> 24491df013fSAsim JamshedTCP_ESTABLISHED, <br> 24591df013fSAsim JamshedTCP_FIN_WAIT_1, <br> 24691df013fSAsim JamshedTCP_FINE_WAIT_2, <br> 24791df013fSAsim JamshedTCP_CLOSE_WAIT, <br> 24891df013fSAsim JamshedTCP_CLOSING, <br> 24991df013fSAsim JamshedTCP_LAST_ACK, <br> 25091df013fSAsim JamshedTCP_TIME_WAIT <br> 25191df013fSAsim Jamshed}</p> 25291df013fSAsim Jamshed 25391df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 25491df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 25591df013fSAsim Jamshed<tr valign="top" align="left"> 25691df013fSAsim Jamshed<td width="11%"></td> 25791df013fSAsim Jamshed<td width="26%"> 25891df013fSAsim Jamshed 25991df013fSAsim Jamshed 26091df013fSAsim Jamshed<p style="margin-top: 1em">MOS_TCP_STATE_SVR</p></td> 26191df013fSAsim Jamshed<td width="12%"></td> 26291df013fSAsim Jamshed<td width="51%"> 26391df013fSAsim Jamshed 26491df013fSAsim Jamshed 26591df013fSAsim Jamshed<p style="margin-top: 1em">Returns the current emulated 26691df013fSAsim Jamshedstate of the server. The <i>optval</i> argument is a pointer 26791df013fSAsim Jamshedto an int whereas the <i>optlen</i> argument contains the 26891df013fSAsim Jamshedsizeof(int). The optval returns a value of type enum 26991df013fSAsim Jamshedtcpstate.</p> </td></tr> 27091df013fSAsim Jamshed</table> 27191df013fSAsim Jamshed 27291df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Both the 27391df013fSAsim Jamshedfunctions take an additional argument named <i>mctx</i> that 27491df013fSAsim Jamshedrepresent the per-core mTCP context in an application (see 27591df013fSAsim Jamshed<b>mtcp_create_context()</b> for details).</p> 27691df013fSAsim Jamshed 27791df013fSAsim Jamshed<h2>RETURN VALUE 27891df013fSAsim Jamshed<a name="RETURN VALUE"></a> 27991df013fSAsim Jamshed</h2> 28091df013fSAsim Jamshed 28191df013fSAsim Jamshed 28291df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Returns 0 on 28391df013fSAsim Jamshedsuccess; -1 on failure. In case of failure, <i>errno</i> is 28491df013fSAsim Jamshedset appropriately.</p> 28591df013fSAsim Jamshed 28691df013fSAsim Jamshed<h2>ERRORS 28791df013fSAsim Jamshed<a name="ERRORS"></a> 28891df013fSAsim Jamshed</h2> 28991df013fSAsim Jamshed 29091df013fSAsim Jamshed 29191df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 29291df013fSAsim Jamshed cellspacing="0" cellpadding="0"> 29391df013fSAsim Jamshed<tr valign="top" align="left"> 29491df013fSAsim Jamshed<td width="11%"></td> 29591df013fSAsim Jamshed<td width="12%"> 29691df013fSAsim Jamshed 29791df013fSAsim Jamshed 29891df013fSAsim Jamshed<p style="margin-top: 1em"><b>EACCES</b></p></td> 29991df013fSAsim Jamshed<td width="3%"></td> 30091df013fSAsim Jamshed<td width="74%"> 30191df013fSAsim Jamshed 30291df013fSAsim Jamshed 30391df013fSAsim Jamshed<p style="margin-top: 1em"><i>mctx</i> is not valid.</p></td></tr> 30491df013fSAsim Jamshed<tr valign="top" align="left"> 30591df013fSAsim Jamshed<td width="11%"></td> 30691df013fSAsim Jamshed<td width="12%"> 30791df013fSAsim Jamshed 30891df013fSAsim Jamshed 30991df013fSAsim Jamshed<p><b>EBADF</b></p></td> 31091df013fSAsim Jamshed<td width="3%"></td> 31191df013fSAsim Jamshed<td width="74%"> 31291df013fSAsim Jamshed 31391df013fSAsim Jamshed 31491df013fSAsim Jamshed<p><i>sockid</i> is not a valid socket descriptor.</p></td></tr> 31591df013fSAsim Jamshed<tr valign="top" align="left"> 31691df013fSAsim Jamshed<td width="11%"></td> 31791df013fSAsim Jamshed<td width="12%"> 31891df013fSAsim Jamshed 31991df013fSAsim Jamshed 32091df013fSAsim Jamshed<p><b>ENOTSOCK</b></p></td> 32191df013fSAsim Jamshed<td width="3%"></td> 32291df013fSAsim Jamshed<td width="74%"> 32391df013fSAsim Jamshed 32491df013fSAsim Jamshed 32591df013fSAsim Jamshed<p>The socket referred to by <i>sockid</i> is not 32691df013fSAsim Jamshedvalid.</p> </td></tr> 32791df013fSAsim Jamshed<tr valign="top" align="left"> 32891df013fSAsim Jamshed<td width="11%"></td> 32991df013fSAsim Jamshed<td width="12%"> 33091df013fSAsim Jamshed 33191df013fSAsim Jamshed 33291df013fSAsim Jamshed<p><b>ENOSYS</b></p></td> 33391df013fSAsim Jamshed<td width="3%"></td> 33491df013fSAsim Jamshed<td width="74%"> 33591df013fSAsim Jamshed 33691df013fSAsim Jamshed 33791df013fSAsim Jamshed<p>Either the <i>level</i> or the <i>optname</i> is not 33891df013fSAsim Jamshedimplemented.</p> </td></tr> 33991df013fSAsim Jamshed<tr valign="top" align="left"> 34091df013fSAsim Jamshed<td width="11%"></td> 34191df013fSAsim Jamshed<td width="12%"> 34291df013fSAsim Jamshed 34391df013fSAsim Jamshed 34491df013fSAsim Jamshed<p><b>EPERM</b></p></td> 34591df013fSAsim Jamshed<td width="3%"></td> 34691df013fSAsim Jamshed<td width="74%"> 34791df013fSAsim Jamshed 34891df013fSAsim Jamshed 34991df013fSAsim Jamshed<p>Permission to access a socket option is denied.</p></td></tr> 35091df013fSAsim Jamshed</table> 35191df013fSAsim Jamshed 35291df013fSAsim Jamshed<h2>AUTHORS 35391df013fSAsim Jamshed<a name="AUTHORS"></a> 35491df013fSAsim Jamshed</h2> 35591df013fSAsim Jamshed 35691df013fSAsim Jamshed 35791df013fSAsim Jamshed<p style="margin-left:22%; margin-top: 1em">mOS development 35891df013fSAsim Jamshedteam <[email protected]></p> 35991df013fSAsim Jamshed 360*626fc701SYoungGyoun<!-----------------------------------------------------------> 361*626fc701SYoungGyoun<h2>EXAMPLES 362*626fc701SYoungGyoun <a name="EXAMPLES"></a> 363*626fc701SYoungGyoun</h2> 364*626fc701SYoungGyoun 365*626fc701SYoungGyoun<p style="margin-left:11%; margin-top: 1em"> 366*626fc701SYoungGyoun <a href="http://mos.kaist.edu/guide/programmer/05_api_example.html#monitoring-fragmented-tcp-segments"> 367*626fc701SYoungGyoun http://mos.kaist.edu/guide/programmer/05_api_example.html#monitoring-fragmented-tcp-segments 368*626fc701SYoungGyoun </a><br> 369*626fc701SYoungGyoun <a href="http://mos.kaist.edu/guide/programmer/05_api_example.html#monitoring-tcp-connection-state"> 370*626fc701SYoungGyoun http://mos.kaist.edu/guide/programmer/05_api_example.html#monitoring-tcp-connection-state 371*626fc701SYoungGyoun </a> 372*626fc701SYoungGyoun</p> 373*626fc701SYoungGyoun<!-----------------------------------------------------------> 374*626fc701SYoungGyoun 37591df013fSAsim Jamshed<h2>SEE ALSO 37691df013fSAsim Jamshed<a name="SEE ALSO"></a> 37791df013fSAsim Jamshed</h2> 37891df013fSAsim Jamshed 37991df013fSAsim Jamshed 38091df013fSAsim Jamshed 38191df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_socket</b>(), 38291df013fSAsim Jamshed<b>mtcp_setsockopt</b>()</p> 38391df013fSAsim Jamshed 38491df013fSAsim Jamshed<h2>COLOPHON 38591df013fSAsim Jamshed<a name="COLOPHON"></a> 38691df013fSAsim Jamshed</h2> 38791df013fSAsim Jamshed 38891df013fSAsim Jamshed 38991df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">This page is 39091df013fSAsim Jamshedpart of mOS release 0.3 <i>docs</i> section. A description 39191df013fSAsim Jamshedof the project, and information about reporting bugs, can be 39291df013fSAsim Jamshedfound at http://mos.kaist.edu/.</p> 393e5df9dc1SAsim Jamshed<!-- <hr> --> 394e5df9dc1SAsim Jamshed<br> 395e5df9dc1SAsim Jamshed<div class="footer"> 396e5df9dc1SAsim Jamshed <img src="back-arrow.jpg" width="2%" height="2%"><a href="http://mos.kaist.edu/index_man.html">Back to Index</a> 397e5df9dc1SAsim Jamshed</div> 398e5df9dc1SAsim Jamshed</div> 39991df013fSAsim Jamshed</body> 40091df013fSAsim Jamshed</html> 401