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− 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<mos_api.h></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 <[email protected]></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