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&minus; 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&lt;mtcp_api.h&gt;</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&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;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 &rsquo;last <br>
17391df013fSAsim Jamshedbyte of payload that has already <br>
17491df013fSAsim Jamshedbeen read by the end application&rsquo; <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 &rsquo;last <br>
18191df013fSAsim Jamshedbyte of the payload that is <br>
18291df013fSAsim Jamshedcurrently buffered and needs to <br>
18391df013fSAsim Jamshedbe read by the end application&rsquo; <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 &rsquo;last <br>
19291df013fSAsim Jamshedbyte of the payload that is <br>
19391df013fSAsim Jamshedcurrently stored&rsquo; 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&rsquo;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 &lt;[email protected]&gt;</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