191df013fSAsim Jamshed<!-- Creator     : groff version 1.22.2 -->
291df013fSAsim Jamshed<!-- CreationDate: Fri Feb  3 21:15:47 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_get_uctx</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_get_uctx</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<p style="margin-left:11%; margin-top: 1em">mtcp_get_uctx
4091df013fSAsim Jamshed&minus; get private per-flow user-context data</p>
4191df013fSAsim Jamshed
4291df013fSAsim Jamshed<h2>SYNOPSIS
4391df013fSAsim Jamshed<a name="SYNOPSIS"></a>
4491df013fSAsim Jamshed</h2>
4591df013fSAsim Jamshed
4691df013fSAsim Jamshed
4791df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>#include
4891df013fSAsim Jamshed&lt;mos_api.h&gt;</b></p>
4991df013fSAsim Jamshed
5091df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>int
5191df013fSAsim Jamshedmtcp_get_uctx(mctx_t</b> <i>mctx</i><b>, int</b>
5291df013fSAsim Jamshed<i>sockid</i><b>);</b></p>
5391df013fSAsim Jamshed
5491df013fSAsim Jamshed<h2>DESCRIPTION
5591df013fSAsim Jamshed<a name="DESCRIPTION"></a>
5691df013fSAsim Jamshed</h2>
5791df013fSAsim Jamshed
5891df013fSAsim Jamshed
5991df013fSAsim Jamshed
6091df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_get_uctx</b>()
6191df013fSAsim Jamshedcan be used to retrieve flow-specific monitoring data to a
6291df013fSAsim Jamshedflow record in the application layer. It is generally used
6391df013fSAsim Jamshedin tandem with <b>mtcp_set_uctx</b>()<b>.</b> The
6491df013fSAsim Jamshedflow-specific data is stored with the socket that can
6591df013fSAsim Jamshedreferred to by the <i>sockid</i> argument. The private data
6691df013fSAsim Jamshedcan be stored as a void *. It is the responsibility of the
6791df013fSAsim Jamsheduser to free up the private data (if it is dynamically
6891df013fSAsim Jamshedallocated from memory) when the flow record gets deleted
6991df013fSAsim Jamshedfrom the stack (due to, e.g., connection termination).</p>
7091df013fSAsim Jamshed
7191df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">The
7291df013fSAsim Jamshed<b>mtcp_get_uctx</b>() call takes an additional argument
7391df013fSAsim Jamshednamed <i>mctx</i> that represents the per-core mTCP context
7491df013fSAsim Jamshedin an application (see <b>mtcp_create_context()</b> for
7591df013fSAsim Jamsheddetails).</p>
7691df013fSAsim Jamshed
7791df013fSAsim Jamshed<h2>RETURN VALUE
7891df013fSAsim Jamshed<a name="RETURN VALUE"></a>
7991df013fSAsim Jamshed</h2>
8091df013fSAsim Jamshed
8191df013fSAsim Jamshed
8291df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Returns pointer
8391df013fSAsim Jamshedto the private data as void * on success; NULL on failure.
8491df013fSAsim JamshedIn case of failure, <i>errno</i> is set appropriately.</p>
8591df013fSAsim Jamshed
8691df013fSAsim Jamshed<h2>ERRORS
8791df013fSAsim Jamshed<a name="ERRORS"></a>
8891df013fSAsim Jamshed</h2>
8991df013fSAsim Jamshed
9091df013fSAsim Jamshed
9191df013fSAsim Jamshed<table width="100%" border="0" rules="none" frame="void"
9291df013fSAsim Jamshed       cellspacing="0" cellpadding="0">
9391df013fSAsim Jamshed<tr valign="top" align="left">
9491df013fSAsim Jamshed<td width="11%"></td>
9591df013fSAsim Jamshed<td width="9%">
9691df013fSAsim Jamshed
9791df013fSAsim Jamshed
9891df013fSAsim Jamshed<p style="margin-top: 1em"><b>EACCES</b></p></td>
9991df013fSAsim Jamshed<td width="6%"></td>
10091df013fSAsim Jamshed<td width="74%">
10191df013fSAsim Jamshed
10291df013fSAsim Jamshed
10391df013fSAsim Jamshed<p style="margin-top: 1em"><i>mctx</i> is not a valid.</p></td></tr>
10491df013fSAsim Jamshed<tr valign="top" align="left">
10591df013fSAsim Jamshed<td width="11%"></td>
10691df013fSAsim Jamshed<td width="9%">
10791df013fSAsim Jamshed
10891df013fSAsim Jamshed
10991df013fSAsim Jamshed<p><b>EBADF</b></p></td>
11091df013fSAsim Jamshed<td width="6%"></td>
11191df013fSAsim Jamshed<td width="74%">
11291df013fSAsim Jamshed
11391df013fSAsim Jamshed
11491df013fSAsim Jamshed<p><i>sockid</i> is not a valid socket descriptor for
11591df013fSAsim Jamshedbinding to an address.</p></td></tr>
11691df013fSAsim Jamshed<tr valign="top" align="left">
11791df013fSAsim Jamshed<td width="11%"></td>
11891df013fSAsim Jamshed<td width="9%">
11991df013fSAsim Jamshed
12091df013fSAsim Jamshed
12191df013fSAsim Jamshed<p><b>EPERM</b></p></td>
12291df013fSAsim Jamshed<td width="6%"></td>
12391df013fSAsim Jamshed<td width="74%">
12491df013fSAsim Jamshed
12591df013fSAsim Jamshed
12691df013fSAsim Jamshed<p>The user does not have permission to access the
12791df013fSAsim Jamsheddata.</p> </td></tr>
12891df013fSAsim Jamshed</table>
12991df013fSAsim Jamshed
13091df013fSAsim Jamshed<h2>AUTHORS
13191df013fSAsim Jamshed<a name="AUTHORS"></a>
13291df013fSAsim Jamshed</h2>
13391df013fSAsim Jamshed
13491df013fSAsim Jamshed
13591df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mOS development
13691df013fSAsim Jamshedteam &lt;[email protected]&gt;</p>
13791df013fSAsim Jamshed
138*626fc701SYoungGyoun
139*626fc701SYoungGyoun<!----------------------------------------------------------->
140*626fc701SYoungGyoun<h2>EXAMPLES
141*626fc701SYoungGyoun  <a name="EXAMPLES"></a>
142*626fc701SYoungGyoun</h2>
143*626fc701SYoungGyoun
144*626fc701SYoungGyoun<p style="margin-left:11%; margin-top: 1em">
145*626fc701SYoungGyoun  <a href="http://mos.kaist.edu/guide/programmer/05_api_example.html#saving-and-loading-user-level-metadata">
146*626fc701SYoungGyoun	http://mos.kaist.edu/guide/programmer/05_api_example.html#saving-and-loading-user-level-metadata
147*626fc701SYoungGyoun  </a>
148*626fc701SYoungGyoun</p>
149*626fc701SYoungGyoun<!----------------------------------------------------------->
150*626fc701SYoungGyoun
151*626fc701SYoungGyoun
15291df013fSAsim Jamshed<h2>SEE ALSO
15391df013fSAsim Jamshed<a name="SEE ALSO"></a>
15491df013fSAsim Jamshed</h2>
15591df013fSAsim Jamshed
15691df013fSAsim Jamshed
15791df013fSAsim Jamshed
15891df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_socket</b>(),
15991df013fSAsim Jamshed<b>mtcp_set_uctx</b>(),</p>
16091df013fSAsim Jamshed
16191df013fSAsim Jamshed<h2>COLOPHON
16291df013fSAsim Jamshed<a name="COLOPHON"></a>
16391df013fSAsim Jamshed</h2>
16491df013fSAsim Jamshed
16591df013fSAsim Jamshed
16691df013fSAsim Jamshed<p style="margin-left:11%; margin-top: 1em">This page is
16791df013fSAsim Jamshedpart of mOS release 0.3 <i>docs</i> section. A description
16891df013fSAsim Jamshedof the project, and information about reporting bugs, can be
16991df013fSAsim Jamshedfound at http://mos.kaist.edu/.</p>
170e5df9dc1SAsim Jamshed<!-- <hr> -->
171e5df9dc1SAsim Jamshed<br>
172e5df9dc1SAsim Jamshed<div class="footer">
173e5df9dc1SAsim Jamshed  <img src="back-arrow.jpg" width="2%" height="2%"><a href="http://mos.kaist.edu/index_man.html">Back to Index</a>
174e5df9dc1SAsim Jamshed</div>
175e5df9dc1SAsim Jamshed</div>
17691df013fSAsim Jamshed</body>
17791df013fSAsim Jamshed</html>
178