1*e5df9dc1SAsim Jamshed<!-- Creator : groff version 1.22.3 --> 2*e5df9dc1SAsim Jamshed<!-- CreationDate: Sat Aug 26 17:18:05 2017 --> 3*e5df9dc1SAsim Jamshed<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 4*e5df9dc1SAsim Jamshed"http://www.w3.org/TR/html4/loose.dtd"> 5*e5df9dc1SAsim Jamshed<html> 6*e5df9dc1SAsim Jamshed<head> 7*e5df9dc1SAsim Jamshed<meta name="generator" content="groff -Thtml, see www.gnu.org"> 8*e5df9dc1SAsim Jamshed<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> 9*e5df9dc1SAsim Jamshed<meta name="Content-Style" content="text/css"> 10*e5df9dc1SAsim Jamshed<style type="text/css"> 11*e5df9dc1SAsim Jamshed p { margin-top: 0; margin-bottom: 0; vertical-align: top } 12*e5df9dc1SAsim Jamshed pre { margin-top: 0; margin-bottom: 0; vertical-align: top } 13*e5df9dc1SAsim Jamshed table { margin-top: 0; margin-bottom: 0; vertical-align: top } 14*e5df9dc1SAsim Jamshed h1 { text-align: center } 15*e5df9dc1SAsim Jamshed</style> 16*e5df9dc1SAsim Jamshed<title>mtcp_setconf</title> 17*e5df9dc1SAsim Jamshed<link rel="stylesheet" href="./common.css"> 18*e5df9dc1SAsim Jamshed</head> 19*e5df9dc1SAsim Jamshed<body> 20*e5df9dc1SAsim Jamshed<div class="main"> 21*e5df9dc1SAsim Jamshed<h1 align="center">mtcp_setconf</h1> 22*e5df9dc1SAsim Jamshed<!-- 23*e5df9dc1SAsim Jamshed<a href="#NAME">NAME</a><br> 24*e5df9dc1SAsim Jamshed<a href="#SYNOPSIS">SYNOPSIS</a><br> 25*e5df9dc1SAsim Jamshed<a href="#DESCRIPTION">DESCRIPTION</a><br> 26*e5df9dc1SAsim Jamshed<a href="#RETURN VALUE">RETURN VALUE</a><br> 27*e5df9dc1SAsim Jamshed<a href="#ERRORS">ERRORS</a><br> 28*e5df9dc1SAsim Jamshed<a href="#NOTES">NOTES</a><br> 29*e5df9dc1SAsim Jamshed<a href="#AUTHORS">AUTHORS</a><br> 30*e5df9dc1SAsim Jamshed<a href="#SEE ALSO">SEE ALSO</a><br> 31*e5df9dc1SAsim Jamshed<a href="#COLOPHON">COLOPHON</a><br> 32*e5df9dc1SAsim Jamshed 33*e5df9dc1SAsim Jamshed<hr> 34*e5df9dc1SAsim Jamshed--> 35*e5df9dc1SAsim Jamshed 36*e5df9dc1SAsim Jamshed<h2>NAME 37*e5df9dc1SAsim Jamshed<a name="NAME"></a> 38*e5df9dc1SAsim Jamshed</h2> 39*e5df9dc1SAsim Jamshed 40*e5df9dc1SAsim Jamshed 41*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mtcp_setconf 42*e5df9dc1SAsim Jamshed− Update mOS-related configuration for mOS app 43*e5df9dc1SAsim Jamshedinitialization</p> 44*e5df9dc1SAsim Jamshed 45*e5df9dc1SAsim Jamshed<h2>SYNOPSIS 46*e5df9dc1SAsim Jamshed<a name="SYNOPSIS"></a> 47*e5df9dc1SAsim Jamshed</h2> 48*e5df9dc1SAsim Jamshed 49*e5df9dc1SAsim Jamshed 50*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>#include 51*e5df9dc1SAsim Jamshed<mtcp_api.h></b></p> 52*e5df9dc1SAsim Jamshed 53*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>int 54*e5df9dc1SAsim Jamshedmtcp_setconf(const struct mtcp_conf 55*e5df9dc1SAsim Jamshed*</b><i>conf</i><b>);</b></p> 56*e5df9dc1SAsim Jamshed 57*e5df9dc1SAsim Jamshed<h2>DESCRIPTION 58*e5df9dc1SAsim Jamshed<a name="DESCRIPTION"></a> 59*e5df9dc1SAsim Jamshed</h2> 60*e5df9dc1SAsim Jamshed 61*e5df9dc1SAsim Jamshed 62*e5df9dc1SAsim Jamshed 63*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_setconf</b>() 64*e5df9dc1SAsim Jamshedcall is used to update the configuration of the mOS core. 65*e5df9dc1SAsim JamshedThe <i>conf</i> argument is a pointer to a user-defined 66*e5df9dc1SAsim Jamshed<i>struct mtcp_conf</i> that contains a number of fields 67*e5df9dc1SAsim Jamshedincluding:</p> 68*e5df9dc1SAsim Jamshed 69*e5df9dc1SAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 70*e5df9dc1SAsim Jamshed cellspacing="0" cellpadding="0"> 71*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 72*e5df9dc1SAsim Jamshed<td width="11%"></td> 73*e5df9dc1SAsim Jamshed<td width="23%"> 74*e5df9dc1SAsim Jamshed 75*e5df9dc1SAsim Jamshed 76*e5df9dc1SAsim Jamshed<p><i>num_cores</i></p></td> 77*e5df9dc1SAsim Jamshed<td width="8%"></td> 78*e5df9dc1SAsim Jamshed<td width="58%"> 79*e5df9dc1SAsim Jamshed 80*e5df9dc1SAsim Jamshed 81*e5df9dc1SAsim Jamshed<p>An integer that shows the total number of cores the mOS 82*e5df9dc1SAsim Jamshedcore is using.</p></td></tr> 83*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 84*e5df9dc1SAsim Jamshed<td width="11%"></td> 85*e5df9dc1SAsim Jamshed<td width="23%"> 86*e5df9dc1SAsim Jamshed 87*e5df9dc1SAsim Jamshed 88*e5df9dc1SAsim Jamshed<p><i>max_concurrency</i></p></td> 89*e5df9dc1SAsim Jamshed<td width="8%"></td> 90*e5df9dc1SAsim Jamshed<td width="58%"> 91*e5df9dc1SAsim Jamshed 92*e5df9dc1SAsim Jamshed 93*e5df9dc1SAsim Jamshed<p>An integer that holds how many ongoing flows each core 94*e5df9dc1SAsim Jamshedthread manages concurrently. Default value is 100000.</p></td></tr> 95*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 96*e5df9dc1SAsim Jamshed<td width="11%"></td> 97*e5df9dc1SAsim Jamshed<td width="23%"> 98*e5df9dc1SAsim Jamshed 99*e5df9dc1SAsim Jamshed 100*e5df9dc1SAsim Jamshed<p><i>max_num_buffers</i></p></td> 101*e5df9dc1SAsim Jamshed<td width="8%"></td> 102*e5df9dc1SAsim Jamshed<td width="58%"> 103*e5df9dc1SAsim Jamshed 104*e5df9dc1SAsim Jamshed 105*e5df9dc1SAsim Jamshed<p>An integer that holds the maximum number of socket 106*e5df9dc1SAsim Jamshedbuffers each core thread can hold. Default value is 107*e5df9dc1SAsim Jamshed100000.</p> </td></tr> 108*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 109*e5df9dc1SAsim Jamshed<td width="11%"></td> 110*e5df9dc1SAsim Jamshed<td width="23%"> 111*e5df9dc1SAsim Jamshed 112*e5df9dc1SAsim Jamshed 113*e5df9dc1SAsim Jamshed<p><i>rcvbuf_size</i></p></td> 114*e5df9dc1SAsim Jamshed<td width="8%"></td> 115*e5df9dc1SAsim Jamshed<td width="58%"> 116*e5df9dc1SAsim Jamshed 117*e5df9dc1SAsim Jamshed 118*e5df9dc1SAsim Jamshed<p>An integer that holds the size of the TCP receive 119*e5df9dc1SAsim Jamshedbuffer. Default value is 8KB.</p></td></tr> 120*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 121*e5df9dc1SAsim Jamshed<td width="11%"></td> 122*e5df9dc1SAsim Jamshed<td width="23%"> 123*e5df9dc1SAsim Jamshed 124*e5df9dc1SAsim Jamshed 125*e5df9dc1SAsim Jamshed<p><i>tcp_timeout</i></p></td> 126*e5df9dc1SAsim Jamshed<td width="8%"></td> 127*e5df9dc1SAsim Jamshed<td width="58%"> 128*e5df9dc1SAsim Jamshed 129*e5df9dc1SAsim Jamshed 130*e5df9dc1SAsim Jamshed<p>An integer that holds the idle flow expiry timeout of 131*e5df9dc1SAsim Jamshedthe monitoring flow. Default value is 30 secs.</p></td></tr> 132*e5df9dc1SAsim Jamshed</table> 133*e5df9dc1SAsim Jamshed 134*e5df9dc1SAsim Jamshed<h2>RETURN VALUE 135*e5df9dc1SAsim Jamshed<a name="RETURN VALUE"></a> 136*e5df9dc1SAsim Jamshed</h2> 137*e5df9dc1SAsim Jamshed 138*e5df9dc1SAsim Jamshed 139*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Returns 0 on 140*e5df9dc1SAsim Jamshedsuccess; -1 on failure and <i>errno</i> is set 141*e5df9dc1SAsim Jamshedappropriately.</p> 142*e5df9dc1SAsim Jamshed 143*e5df9dc1SAsim Jamshed<h2>ERRORS 144*e5df9dc1SAsim Jamshed<a name="ERRORS"></a> 145*e5df9dc1SAsim Jamshed</h2> 146*e5df9dc1SAsim Jamshed 147*e5df9dc1SAsim Jamshed 148*e5df9dc1SAsim Jamshed<table width="100%" border="0" rules="none" frame="void" 149*e5df9dc1SAsim Jamshed cellspacing="0" cellpadding="0"> 150*e5df9dc1SAsim Jamshed<tr valign="top" align="left"> 151*e5df9dc1SAsim Jamshed<td width="11%"></td> 152*e5df9dc1SAsim Jamshed<td width="9%"> 153*e5df9dc1SAsim Jamshed 154*e5df9dc1SAsim Jamshed 155*e5df9dc1SAsim Jamshed<p style="margin-top: 1em"><b>EINVAL</b></p></td> 156*e5df9dc1SAsim Jamshed<td width="6%"></td> 157*e5df9dc1SAsim Jamshed<td width="40%"> 158*e5df9dc1SAsim Jamshed 159*e5df9dc1SAsim Jamshed 160*e5df9dc1SAsim Jamshed<p style="margin-top: 1em">The <i>conf</i> argument is 161*e5df9dc1SAsim JamshedNULL.</p> </td> 162*e5df9dc1SAsim Jamshed<td width="34%"> 163*e5df9dc1SAsim Jamshed</td></tr> 164*e5df9dc1SAsim Jamshed</table> 165*e5df9dc1SAsim Jamshed 166*e5df9dc1SAsim Jamshed<h2>NOTES 167*e5df9dc1SAsim Jamshed<a name="NOTES"></a> 168*e5df9dc1SAsim Jamshed</h2> 169*e5df9dc1SAsim Jamshed 170*e5df9dc1SAsim Jamshed 171*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">This function 172*e5df9dc1SAsim Jamshedis useful when the user wants to override the mOS 173*e5df9dc1SAsim Jamshedconfiguration. For example, the user can first call 174*e5df9dc1SAsim Jamshed<b>mtcp_getconf()</b> function, and change the parameters of 175*e5df9dc1SAsim Jamshed<i>struct mtcp_conf</i> and then call this function to 176*e5df9dc1SAsim Jamshedoverride the configuration.</p> 177*e5df9dc1SAsim Jamshed 178*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">Please note 179*e5df9dc1SAsim Jamshedthat this function should be called before you call 180*e5df9dc1SAsim Jamshed<b>mtcp_create_context()</b> which creates mOS context and 181*e5df9dc1SAsim Jamshedlaunches the mOS threads.</p> 182*e5df9dc1SAsim Jamshed 183*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">See 184*e5df9dc1SAsim Jamshed<i>http://mos.kaist.edu/guide/walkthrough/05_configuration.html</i> 185*e5df9dc1SAsim Jamshedto view example startup mOS configuration file.</p> 186*e5df9dc1SAsim Jamshed 187*e5df9dc1SAsim Jamshed<h2>AUTHORS 188*e5df9dc1SAsim Jamshed<a name="AUTHORS"></a> 189*e5df9dc1SAsim Jamshed</h2> 190*e5df9dc1SAsim Jamshed 191*e5df9dc1SAsim Jamshed 192*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">mOS development 193*e5df9dc1SAsim Jamshedteam <[email protected]></p> 194*e5df9dc1SAsim Jamshed 195*e5df9dc1SAsim Jamshed<!-----------------------------------------------------------> 196*e5df9dc1SAsim Jamshed<h2>EXAMPLES 197*e5df9dc1SAsim Jamshed<a name="EXAMPLES"></a> 198*e5df9dc1SAsim Jamshed</h2> 199*e5df9dc1SAsim Jamshed 200*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em"> 201*e5df9dc1SAsim Jamshed <a href="http://mos.kaist.edu/guide/programmer/05_api_example.html#global-initialization-routine"> 202*e5df9dc1SAsim Jamshed http://mos.kaist.edu/guide/programmer/05_api_example.html#global-initialization-routine 203*e5df9dc1SAsim Jamshed </a> 204*e5df9dc1SAsim Jamshed</p> 205*e5df9dc1SAsim Jamshed<!-----------------------------------------------------------> 206*e5df9dc1SAsim Jamshed 207*e5df9dc1SAsim Jamshed<h2>SEE ALSO 208*e5df9dc1SAsim Jamshed<a name="SEE ALSO"></a> 209*e5df9dc1SAsim Jamshed</h2> 210*e5df9dc1SAsim Jamshed 211*e5df9dc1SAsim Jamshed 212*e5df9dc1SAsim Jamshed 213*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em"><b>mtcp_setconf</b>()</p> 214*e5df9dc1SAsim Jamshed 215*e5df9dc1SAsim Jamshed<h2>COLOPHON 216*e5df9dc1SAsim Jamshed<a name="COLOPHON"></a> 217*e5df9dc1SAsim Jamshed</h2> 218*e5df9dc1SAsim Jamshed 219*e5df9dc1SAsim Jamshed 220*e5df9dc1SAsim Jamshed<p style="margin-left:11%; margin-top: 1em">This page is 221*e5df9dc1SAsim Jamshedpart of mOS release 0.3 <i>docs</i> section. A description 222*e5df9dc1SAsim Jamshedof the project, and information about reporting bugs, can be 223*e5df9dc1SAsim Jamshedfound at http://mos.kaist.edu/.</p> 224*e5df9dc1SAsim Jamshed<hr> 225*e5df9dc1SAsim Jamshed<div class="footer"> 226*e5df9dc1SAsim Jamshed <img src="back-arrow.jpg" width="2%" height="2%"><a href="http://mos.kaist.edu/index_man.html">Back to Index</a> 227*e5df9dc1SAsim Jamshed</div> 228*e5df9dc1SAsim Jamshed</div> 229*e5df9dc1SAsim Jamshed</body> 230*e5df9dc1SAsim Jamshed</html> 231