You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/06/20 21:42:19 UTC
[17/51] [partial] incubator-mynewt-site git commit: generated two
versions of docs - develop and v0_9_0
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/d18c34dd/develop/os/core_os/mqueue/mqueue/index.html
----------------------------------------------------------------------
diff --git a/develop/os/core_os/mqueue/mqueue/index.html b/develop/os/core_os/mqueue/mqueue/index.html
new file mode 100644
index 0000000..f1a2697
--- /dev/null
+++ b/develop/os/core_os/mqueue/mqueue/index.html
@@ -0,0 +1,814 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+
+ <link rel="canonical" href="http://mynewt.apache.org/os/core_os/mqueue/mqueue/">
+ <link rel="shortcut icon" href="../../../../img/favicon.ico">
+
+ <title>toc - Apache Mynewt</title>
+
+ <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+ <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+ <link rel="stylesheet" href="../../../../css/highlight.css">
+ <link href="../../../../css/base.css" rel="stylesheet">
+ <link href="../../../../css/custom.css" rel="stylesheet">
+ <link href="../../../../css/v2.css" rel="stylesheet">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+ <link href="../../../../extra.css" rel="stylesheet">
+
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+ <![endif]-->
+
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-72162311-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+
+ </head>
+
+
+ <body class="toc">
+
+
+
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Collapsed navigation -->
+ <div class="navbar-header">
+ <!-- Expander button -->
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+
+ </div>
+
+ <!-- Expanded navigation -->
+ <div class="navbar-collapse collapse">
+ <!-- Main navigation -->
+ <ul class="nav navbar-nav navbar-right">
+ <li
+ class=""
+>
+ <a href="/">Home</a>
+ </li>
+ <li
+ class="important"
+>
+ <a href="/quick-start/">Quick Start</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/about/">About</a>
+ </li>
+ <li
+ class="active"
+>
+ <a href="/latest/os/introduction">Documentation</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/download/">Download</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/community/">Community</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/events/">Events</a>
+ </li>
+ </ul>
+
+ <!-- Search, Navigation and Repo links -->
+ <ul class="nav navbar-nav navbar-right">
+
+ </ul>
+ </div>
+ </div>
+</nav>
+
+
+
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+ <div class="top">
+ <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+ <div role="search">
+ <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+ <div class="form-group">
+ <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <ul class="toc-nav">
+ <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+
+ <option
+ value="/develop/os/introduction"
+ selected="selected"
+ >
+ Version: develop
+ </option>
+
+ <option
+ value="/v0_9_0/os/introduction"
+
+ >
+ Version: 0.9.0 (latest)
+ </option>
+
+</select>
+</li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li ><a href="../../../introduction/">Mynewt Documentation</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../../get_started/get_started/">Basic Setup</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../get_started/vocabulary/">Concepts</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../tutorials/tutorials/">Tutorials</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../os_user_guide/">OS User Guide</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../mynewt_os/">OS Core</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../os_init/
+">System-level Functions</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../context_switch/context_switch/">Scheduler</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../time/os_time/">Time</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../task/task/">Tasks</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../event_queue/event_queue/">Event Queues</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../semaphore/semaphore/">Semaphores</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../mutex/mutex/">Mutexes</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../memory_pool/memory_pool/">Memory Pools</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../heap/heap/">Heap</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../mbuf/mbuf/
+
+">Memory Buffers</a>
+
+
+ <ul>
+
+
+
+
+
+ <li ><a href="../../mbuf/mbuf/">Mbuf</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../msys/msys/">Msys</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li class="active"><a href="./">MQueue</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../os_mqueue_init/
+">Functions</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../sanity/sanity/">Sanity</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../callout/callout/">Callouts</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../porting/port_os/">Porting to your Platform</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/console/console/">Console</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/shell/shell/">Shell</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/bootloader/bootloader/">Bootloader</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../../modules/fs/fs/fs/
+
+">File System</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/hal/hal/">Hardware Abstraction Layer</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/testutil/testutil/">Test Utilities</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/imgmgr/imgmgr/">Image Manager</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../modules/baselibc/">Baselibc library</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/elua/elua/">Embedded Lua</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/json/json/">JSON</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/stats/stats/">Stats</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/logs/logs/">Logs</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../network/ble/ble_intro/
+">BLE User Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../faq/how_to_edit_docs/
+">Appendix</a>
+
+
+ </li>
+
+
+
+ </ul>
+</div></div>
+
+ <div class="show-sidebar-container">
+ <button class="show-sidebar">Docs Menu</button>
+ </div>
+
+ <div class="col-md-9" role="main">
+ <div class="row doc-header">
+ <div class="col-sm-12">
+ <div role="navigation" aria-label="breadcrumbs navigation">
+ <ul class="wy-breadcrumbs pull-right">
+ <li><a href="/develop/os/introduction">Docs</a></li>
+
+
+
+ <li>» Memory Buffers</li>
+
+
+
+ <li>» MQueue</li>
+
+
+
+
+
+ </ul>
+</div>
+ </div>
+ </div>
+
+ <h1 id="mqueue">Mqueue</h1>
+<p>Mqueue (Mbuf event queue) is a set of API built on top of the mbuf and event queue code. A typical networking stack operation is to put a packet on a queue and post an event to the task handling that queue. Mqueue was designed to provide a common API so that individual packages would not each have to create similar code.</p>
+<p>The mqueue data structure consists of a queue head pointer (a "stailq" queue; a singly linked list with head structure having a pointer to the start and end of the list) and an os event structure. Packets (packet header mbufs) are added to the queue using the <em>omp_next</em> pointer in the <code>os_mbuf_pkthdr</code> structure of the mbuf. The event is used to post to the task an event of type OS_EVENT_T_MQUEUE_DATA. </p>
+<p><br> </p>
+<h3 id="using-mqueue">Using Mqueue</h3>
+<p>The following code sample will demonstrate how to use an mqueue. This is a simple example where packets are put on a "receive queue" and a task processes that "receive queue" by incrementing the total number of packet received and then freeing the packet. Not shown in the code example is a call my_task_rx_data_func. Presumably, some other code will call this API. </p>
+<p><br></p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">uint32_t</span> <span style="color: #000000">pkts_rxd</span>;
+<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">rxpkt_q</span>;
+<span style="color: #A90D91">struct</span> <span style="color: #000000">os_eventq</span> <span style="color: #000000">my_task_evq</span>;
+
+<span style="color: #A90D91">void</span>
+<span style="color: #000000">process_rx_data_queue</span>(<span style="color: #A90D91">void</span>)
+{
+ <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*om</span>;
+
+ <span style="color: #177500">/* Drain all packets off queue and process them */</span>
+ <span style="color: #A90D91">while</span> ((<span style="color: #000000">om</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mqueue_get</span>(<span style="color: #000000">&rxpkt_q</span>)) <span style="color: #000000">!=</span> <span style="color: #A90D91">NULL</span>) {
+ <span style="color: #000000">++pkts_rxd</span>;
+ <span style="color: #000000">os_mbuf_free_chain</span>(<span style="color: #000000">om</span>);
+ }
+}
+
+<span style="color: #A90D91">int</span>
+<span style="color: #000000">my_task_rx_data_func</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*om</span>)
+{
+ <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>;
+
+ <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mqueue_put</span>(<span style="color: #000000">&rxpkt_q</span>, <span style="color: #000000">&my_task_evq</span>, <span style="color: #000000">om</span>);
+ <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+ <span style="color: #A90D91">return</span> <span style="color: #000000">-</span><span style="color: #1C01CE">1</span>;
+ }
+
+ <span style="color: #A90D91">return</span> <span style="color: #1C01CE">0</span>;
+}
+
+<span style="color: #A90D91">void</span>
+<span style="color: #000000">my_task_handler</span>(<span style="color: #A90D91">void</span> <span style="color: #000000">*arg</span>)
+{
+ <span style="color: #A90D91">struct</span> <span style="color: #000000">os_event</span> <span style="color: #000000">*ev</span>;
+ <span style="color: #A90D91">struct</span> <span style="color: #000000">os_callout_func</span> <span style="color: #000000">*cf</span>;
+ <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>;
+
+ <span style="color: #177500">/* Initialize eventq */</span>
+ <span style="color: #000000">os_eventq_init</span>(<span style="color: #000000">&my_task_evq</span>);
+
+ <span style="color: #177500">/* Initialize mqueue */</span>
+ <span style="color: #000000">os_mqueue_init</span>(<span style="color: #000000">&rxpkt_q</span>, <span style="color: #A90D91">NULL</span>);
+
+ <span style="color: #A90D91">while</span> (<span style="color: #1C01CE">1</span>) {
+ <span style="color: #000000">ev</span> <span style="color: #000000">=</span> <span style="color: #000000">os_eventq_get</span>(<span style="color: #000000">&my_task_evq</span>);
+ <span style="color: #A90D91">switch</span> (<span style="color: #000000">ev->ev_type</span>) {
+
+ <span style="color: #A90D91">case</span> <span style="color: #000000">OS_EVENT_T_MQUEUE_DATA</span>:
+ <span style="color: #000000">process_rx_data_queue</span>();
+ <span style="color: #A90D91">break</span>;
+
+ <span style="color: #A90D91">default</span><span style="color: #000000">:</span>
+ <span style="color: #000000">assert</span>(<span style="color: #1C01CE">0</span>);
+ <span style="color: #A90D91">break</span>;
+ }
+ }
+}
+</pre></div>
+
+
+<h3 id="data-structures">Data Structures</h3>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> {
+ <span style="color: #000000">STAILQ_HEAD</span>(, <span style="color: #000000">os_mbuf_pkthdr</span>) <span style="color: #000000">mq_head</span>;
+ <span style="color: #A90D91">struct</span> <span style="color: #000000">os_event</span> <span style="color: #000000">mq_ev</span>;
+};
+</pre></div>
+
+
+<p><br></p>
+<h3 id="list-of-functions">List of Functions</h3>
+<p>The functions available in Mqueue are:</p>
+<ul>
+<li><a href="../os_mqueue_init/">os_mqueue_init</a></li>
+<li><a href="../os_mqueue_get/">os_mqueue_get</a></li>
+<li><a href="../os_mqueue_put/">os_mqueue_put</a></li>
+</ul>
+
+ <div class="row">
+
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+ <li>
+
+ <a href=../../msys/os_msys_reset/>
+ <span class="fa fa-arrow-left"></span>
+ Previous: os_msys_reset
+ </a>
+
+ </li>
+ <li class="pull-right">
+
+ <a href=../os_mqueue_init/>
+ Next: os_mqueue_init
+ <span class="fa fa-arrow-right"></span>
+ </a>
+
+ </li>
+</ul>
+ </div>
+ <div class="row">
+ <footer>
+ <div class="row">
+ <div class="col-md-12">
+
+ <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+
+ </div>
+ </div>
+ <div class="copyright-logos">
+ <div class="row">
+ <div class="col-xs-6 text-right">
+ <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+ </div>
+ <div class="col-xs-6 text-left">
+ <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <small class="footnote">
+ MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+ </small>
+ </div>
+ </div>
+</footer>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+ <script src="../../../../js/jquery-1.10.2.min.js"></script>
+ <script src="../../../../js/bootstrap-3.0.3.min.js"></script>
+ <script src="../../../../js/highlight.pack.js"></script>
+ <script src="../../../../js/base.js"></script>
+ <script src="../../../../js/custom.js"></script>
+
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/d18c34dd/develop/os/core_os/mqueue/os_mqueue_get/index.html
----------------------------------------------------------------------
diff --git a/develop/os/core_os/mqueue/os_mqueue_get/index.html b/develop/os/core_os/mqueue/os_mqueue_get/index.html
new file mode 100644
index 0000000..574e1e0
--- /dev/null
+++ b/develop/os/core_os/mqueue/os_mqueue_get/index.html
@@ -0,0 +1,804 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+
+ <link rel="canonical" href="http://mynewt.apache.org/os/core_os/mqueue/os_mqueue_get/">
+ <link rel="shortcut icon" href="../../../../img/favicon.ico">
+
+ <title>os_mqueue_get - Apache Mynewt</title>
+
+ <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+ <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+ <link rel="stylesheet" href="../../../../css/highlight.css">
+ <link href="../../../../css/base.css" rel="stylesheet">
+ <link href="../../../../css/custom.css" rel="stylesheet">
+ <link href="../../../../css/v2.css" rel="stylesheet">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+ <link href="../../../../extra.css" rel="stylesheet">
+
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+ <![endif]-->
+
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-72162311-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+
+ </head>
+
+
+ <body class="os_mqueue_get">
+
+
+
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Collapsed navigation -->
+ <div class="navbar-header">
+ <!-- Expander button -->
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+
+ </div>
+
+ <!-- Expanded navigation -->
+ <div class="navbar-collapse collapse">
+ <!-- Main navigation -->
+ <ul class="nav navbar-nav navbar-right">
+ <li
+ class=""
+>
+ <a href="/">Home</a>
+ </li>
+ <li
+ class="important"
+>
+ <a href="/quick-start/">Quick Start</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/about/">About</a>
+ </li>
+ <li
+ class="active"
+>
+ <a href="/latest/os/introduction">Documentation</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/download/">Download</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/community/">Community</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/events/">Events</a>
+ </li>
+ </ul>
+
+ <!-- Search, Navigation and Repo links -->
+ <ul class="nav navbar-nav navbar-right">
+
+ </ul>
+ </div>
+ </div>
+</nav>
+
+
+
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+ <div class="top">
+ <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+ <div role="search">
+ <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+ <div class="form-group">
+ <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <ul class="toc-nav">
+ <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+
+ <option
+ value="/develop/os/introduction"
+ selected="selected"
+ >
+ Version: develop
+ </option>
+
+ <option
+ value="/v0_9_0/os/introduction"
+
+ >
+ Version: 0.9.0 (latest)
+ </option>
+
+</select>
+</li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li ><a href="../../../introduction/">Mynewt Documentation</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../../get_started/get_started/">Basic Setup</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../get_started/vocabulary/">Concepts</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../tutorials/tutorials/">Tutorials</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../os_user_guide/">OS User Guide</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../mynewt_os/">OS Core</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../os_init/
+">System-level Functions</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../context_switch/context_switch/">Scheduler</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../time/os_time/">Time</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../task/task/">Tasks</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../event_queue/event_queue/">Event Queues</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../semaphore/semaphore/">Semaphores</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../mutex/mutex/">Mutexes</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../memory_pool/memory_pool/">Memory Pools</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../heap/heap/">Heap</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../mbuf/mbuf/
+
+">Memory Buffers</a>
+
+
+ <ul>
+
+
+
+
+
+ <li ><a href="../../mbuf/mbuf/">Mbuf</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../msys/msys/">Msys</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../mqueue/">MQueue</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../os_mqueue_init/
+">Functions</a>
+
+
+ <ul>
+
+
+
+ <li >
+ <a href="../os_mqueue_init/">os_mqueue_init</a>
+ </li>
+
+
+
+
+
+ <li class="active">
+ <a href="./">os_mqueue_get</a>
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../os_mqueue_put/">os_mqueue_put</a>
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../sanity/sanity/">Sanity</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../callout/callout/">Callouts</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../porting/port_os/">Porting to your Platform</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/console/console/">Console</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/shell/shell/">Shell</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/bootloader/bootloader/">Bootloader</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../../modules/fs/fs/fs/
+
+">File System</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/hal/hal/">Hardware Abstraction Layer</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/testutil/testutil/">Test Utilities</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/imgmgr/imgmgr/">Image Manager</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../modules/baselibc/">Baselibc library</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/elua/elua/">Embedded Lua</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/json/json/">JSON</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/stats/stats/">Stats</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/logs/logs/">Logs</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../network/ble/ble_intro/
+">BLE User Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../faq/how_to_edit_docs/
+">Appendix</a>
+
+
+ </li>
+
+
+
+ </ul>
+</div></div>
+
+ <div class="show-sidebar-container">
+ <button class="show-sidebar">Docs Menu</button>
+ </div>
+
+ <div class="col-md-9" role="main">
+ <div class="row doc-header">
+ <div class="col-sm-12">
+ <div role="navigation" aria-label="breadcrumbs navigation">
+ <ul class="wy-breadcrumbs pull-right">
+ <li><a href="/develop/os/introduction">Docs</a></li>
+
+
+
+ <li>» <a href="../mqueue/">MQueue</a></li>
+
+
+
+ <li>» <a href="../os_mqueue_init/">Functions</a></li>
+
+
+
+ <li>» os_mqueue_get</li>
+
+
+
+ </ul>
+</div>
+ </div>
+ </div>
+
+ <h2 id="os_mqueue_get"><font color="#F2853F" style="font-size:24pt">os_mqueue_get</font></h2>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*os_mqueue_get</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">*mq</span>)
+</pre></div>
+
+
+<p>Retrieves a packet off an Mqueue. Returns a pointer to the mbuf at the head of the mbuf chain. NULL if no packets are on the queue.</p>
+<p><br></p>
+<h4 id="arguments">Arguments</h4>
+<table>
+<thead>
+<tr>
+<th>Arguments</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>mq</td>
+<td>Pointer to Mqueue structure</td>
+</tr>
+</tbody>
+</table>
+<p><br></p>
+<h4 id="returned-values">Returned values</h4>
+<p>The packet at the head of the queue or NULL if no packets are on the queue.</p>
+<p><br></p>
+<h4 id="example">Example</h4>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">uint32_t</span> <span style="color: #000000">pkts_rxd</span>;
+<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">rxpkt_q</span>;
+
+<span style="color: #A90D91">void</span>
+<span style="color: #000000">process_rx_data_queue</span>(<span style="color: #A90D91">void</span>)
+{
+ <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*om</span>;
+
+ <span style="color: #177500">/* Drain all packets off queue and process them */</span>
+ <span style="color: #A90D91">while</span> ((<span style="color: #000000">om</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mqueue_get</span>(<span style="color: #000000">&rxpkt_q</span>)) <span style="color: #000000">!=</span> <span style="color: #A90D91">NULL</span>) {
+ <span style="color: #000000">++pkts_rxd</span>;
+ <span style="color: #000000">os_mbuf_free_chain</span>(<span style="color: #000000">om</span>);
+ }
+}
+</pre></div>
+
+ <div class="row">
+
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+ <li>
+
+ <a href=../os_mqueue_init/>
+ <span class="fa fa-arrow-left"></span>
+ Previous: os_mqueue_init
+ </a>
+
+ </li>
+ <li class="pull-right">
+
+ <a href=../os_mqueue_put/>
+ Next: os_mqueue_put
+ <span class="fa fa-arrow-right"></span>
+ </a>
+
+ </li>
+</ul>
+ </div>
+ <div class="row">
+ <footer>
+ <div class="row">
+ <div class="col-md-12">
+
+ <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+
+ </div>
+ </div>
+ <div class="copyright-logos">
+ <div class="row">
+ <div class="col-xs-6 text-right">
+ <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+ </div>
+ <div class="col-xs-6 text-left">
+ <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <small class="footnote">
+ MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+ </small>
+ </div>
+ </div>
+</footer>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+ <script src="../../../../js/jquery-1.10.2.min.js"></script>
+ <script src="../../../../js/bootstrap-3.0.3.min.js"></script>
+ <script src="../../../../js/highlight.pack.js"></script>
+ <script src="../../../../js/base.js"></script>
+ <script src="../../../../js/custom.js"></script>
+
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/d18c34dd/develop/os/core_os/mqueue/os_mqueue_init/index.html
----------------------------------------------------------------------
diff --git a/develop/os/core_os/mqueue/os_mqueue_init/index.html b/develop/os/core_os/mqueue/os_mqueue_init/index.html
new file mode 100644
index 0000000..8c7a423
--- /dev/null
+++ b/develop/os/core_os/mqueue/os_mqueue_init/index.html
@@ -0,0 +1,799 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+
+ <link rel="canonical" href="http://mynewt.apache.org/os/core_os/mqueue/os_mqueue_init/">
+ <link rel="shortcut icon" href="../../../../img/favicon.ico">
+
+ <title>os_mqueue_init - Apache Mynewt</title>
+
+ <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+ <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+ <link rel="stylesheet" href="../../../../css/highlight.css">
+ <link href="../../../../css/base.css" rel="stylesheet">
+ <link href="../../../../css/custom.css" rel="stylesheet">
+ <link href="../../../../css/v2.css" rel="stylesheet">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+ <link href="../../../../extra.css" rel="stylesheet">
+
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+ <![endif]-->
+
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-72162311-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+
+ </head>
+
+
+ <body class="os_mqueue_init">
+
+
+
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Collapsed navigation -->
+ <div class="navbar-header">
+ <!-- Expander button -->
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+
+ </div>
+
+ <!-- Expanded navigation -->
+ <div class="navbar-collapse collapse">
+ <!-- Main navigation -->
+ <ul class="nav navbar-nav navbar-right">
+ <li
+ class=""
+>
+ <a href="/">Home</a>
+ </li>
+ <li
+ class="important"
+>
+ <a href="/quick-start/">Quick Start</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/about/">About</a>
+ </li>
+ <li
+ class="active"
+>
+ <a href="/latest/os/introduction">Documentation</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/download/">Download</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/community/">Community</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/events/">Events</a>
+ </li>
+ </ul>
+
+ <!-- Search, Navigation and Repo links -->
+ <ul class="nav navbar-nav navbar-right">
+
+ </ul>
+ </div>
+ </div>
+</nav>
+
+
+
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+ <div class="top">
+ <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+ <div role="search">
+ <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+ <div class="form-group">
+ <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <ul class="toc-nav">
+ <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+
+ <option
+ value="/develop/os/introduction"
+ selected="selected"
+ >
+ Version: develop
+ </option>
+
+ <option
+ value="/v0_9_0/os/introduction"
+
+ >
+ Version: 0.9.0 (latest)
+ </option>
+
+</select>
+</li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li ><a href="../../../introduction/">Mynewt Documentation</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../../get_started/get_started/">Basic Setup</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../get_started/vocabulary/">Concepts</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../tutorials/tutorials/">Tutorials</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../os_user_guide/">OS User Guide</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../mynewt_os/">OS Core</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../os_init/
+">System-level Functions</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../context_switch/context_switch/">Scheduler</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../time/os_time/">Time</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../task/task/">Tasks</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../event_queue/event_queue/">Event Queues</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../semaphore/semaphore/">Semaphores</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../mutex/mutex/">Mutexes</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../memory_pool/memory_pool/">Memory Pools</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../heap/heap/">Heap</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../mbuf/mbuf/
+
+">Memory Buffers</a>
+
+
+ <ul>
+
+
+
+
+
+ <li ><a href="../../mbuf/mbuf/">Mbuf</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../msys/msys/">Msys</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../mqueue/">MQueue</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ./
+">Functions</a>
+
+
+ <ul>
+
+
+
+ <li class="active">
+ <a href="./">os_mqueue_init</a>
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../os_mqueue_get/">os_mqueue_get</a>
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../os_mqueue_put/">os_mqueue_put</a>
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../sanity/sanity/">Sanity</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../callout/callout/">Callouts</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../porting/port_os/">Porting to your Platform</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/console/console/">Console</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/shell/shell/">Shell</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/bootloader/bootloader/">Bootloader</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../../modules/fs/fs/fs/
+
+">File System</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/hal/hal/">Hardware Abstraction Layer</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/testutil/testutil/">Test Utilities</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/imgmgr/imgmgr/">Image Manager</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../modules/baselibc/">Baselibc library</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/elua/elua/">Embedded Lua</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/json/json/">JSON</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/stats/stats/">Stats</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/logs/logs/">Logs</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../network/ble/ble_intro/
+">BLE User Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../faq/how_to_edit_docs/
+">Appendix</a>
+
+
+ </li>
+
+
+
+ </ul>
+</div></div>
+
+ <div class="show-sidebar-container">
+ <button class="show-sidebar">Docs Menu</button>
+ </div>
+
+ <div class="col-md-9" role="main">
+ <div class="row doc-header">
+ <div class="col-sm-12">
+ <div role="navigation" aria-label="breadcrumbs navigation">
+ <ul class="wy-breadcrumbs pull-right">
+ <li><a href="/develop/os/introduction">Docs</a></li>
+
+
+
+ <li>» <a href="../mqueue/">MQueue</a></li>
+
+
+
+ <li>» Functions</li>
+
+
+
+ <li>» os_mqueue_init</li>
+
+
+
+ </ul>
+</div>
+ </div>
+ </div>
+
+ <h2 id="os_mqueue_init"><font color="#F2853F" style="font-size:24pt">os_mqueue_init</font></h2>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">os_mqueue_init</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">*mq</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*arg</span>)
+</pre></div>
+
+
+<p>Initializes an queue. Sets the event argument in the os event of the mqueue to <em>arg</em>. Sets type of event to OS_EVENT_T_MQUEUE_DATA.</p>
+<p><br></p>
+<h4 id="arguments">Arguments</h4>
+<table>
+<thead>
+<tr>
+<th>Arguments</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>mq</td>
+<td>Pointer to a mqueue structure</td>
+</tr>
+<tr>
+<td>arg</td>
+<td>Event argument</td>
+</tr>
+</tbody>
+</table>
+<p><br></p>
+<h4 id="returned-values">Returned values</h4>
+<p>0: success. All other values indicate an error</p>
+<p><br></p>
+<h4 id="example">Example</h4>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #177500">/* Declare mqueue */</span>
+<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">rxpkt_q</span>;
+
+<span style="color: #177500">/* Initialize mqueue */</span>
+<span style="color: #000000">os_mqueue_init</span>(<span style="color: #000000">&rxpkt_q</span>, <span style="color: #A90D91">NULL</span>);
+</pre></div>
+
+ <div class="row">
+
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+ <li>
+
+ <a href=../mqueue/>
+ <span class="fa fa-arrow-left"></span>
+ Previous: MQueue
+ </a>
+
+ </li>
+ <li class="pull-right">
+
+ <a href=../os_mqueue_get/>
+ Next: os_mqueue_get
+ <span class="fa fa-arrow-right"></span>
+ </a>
+
+ </li>
+</ul>
+ </div>
+ <div class="row">
+ <footer>
+ <div class="row">
+ <div class="col-md-12">
+
+ <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+
+ </div>
+ </div>
+ <div class="copyright-logos">
+ <div class="row">
+ <div class="col-xs-6 text-right">
+ <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+ </div>
+ <div class="col-xs-6 text-left">
+ <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <small class="footnote">
+ MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+ </small>
+ </div>
+ </div>
+</footer>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+ <script src="../../../../js/jquery-1.10.2.min.js"></script>
+ <script src="../../../../js/bootstrap-3.0.3.min.js"></script>
+ <script src="../../../../js/highlight.pack.js"></script>
+ <script src="../../../../js/base.js"></script>
+ <script src="../../../../js/custom.js"></script>
+
+ </body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/d18c34dd/develop/os/core_os/mqueue/os_mqueue_put/index.html
----------------------------------------------------------------------
diff --git a/develop/os/core_os/mqueue/os_mqueue_put/index.html b/develop/os/core_os/mqueue/os_mqueue_put/index.html
new file mode 100644
index 0000000..da0e7d1
--- /dev/null
+++ b/develop/os/core_os/mqueue/os_mqueue_put/index.html
@@ -0,0 +1,811 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+
+ <link rel="canonical" href="http://mynewt.apache.org/os/core_os/mqueue/os_mqueue_put/">
+ <link rel="shortcut icon" href="../../../../img/favicon.ico">
+
+ <title>os_mqueue_put - Apache Mynewt</title>
+
+ <link href="../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+ <link href="../../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+ <link rel="stylesheet" href="../../../../css/highlight.css">
+ <link href="../../../../css/base.css" rel="stylesheet">
+ <link href="../../../../css/custom.css" rel="stylesheet">
+ <link href="../../../../css/v2.css" rel="stylesheet">
+ <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+ <link href="../../../../extra.css" rel="stylesheet">
+
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+ <!--[if lt IE 9]>
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+ <![endif]-->
+
+
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-72162311-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+
+ </head>
+
+
+ <body class="os_mqueue_put">
+
+
+
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+ <div class="container">
+ <!-- Collapsed navigation -->
+ <div class="navbar-header">
+ <!-- Expander button -->
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+
+ </div>
+
+ <!-- Expanded navigation -->
+ <div class="navbar-collapse collapse">
+ <!-- Main navigation -->
+ <ul class="nav navbar-nav navbar-right">
+ <li
+ class=""
+>
+ <a href="/">Home</a>
+ </li>
+ <li
+ class="important"
+>
+ <a href="/quick-start/">Quick Start</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/about/">About</a>
+ </li>
+ <li
+ class="active"
+>
+ <a href="/latest/os/introduction">Documentation</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/download/">Download</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/community/">Community</a>
+ </li>
+ <li
+ class=""
+>
+ <a href="/events/">Events</a>
+ </li>
+ </ul>
+
+ <!-- Search, Navigation and Repo links -->
+ <ul class="nav navbar-nav navbar-right">
+
+ </ul>
+ </div>
+ </div>
+</nav>
+
+
+
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+ <div class="top">
+ <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+ <div role="search">
+ <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
+ <div class="form-group">
+ <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <ul class="toc-nav">
+ <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+
+ <option
+ value="/develop/os/introduction"
+ selected="selected"
+ >
+ Version: develop
+ </option>
+
+ <option
+ value="/v0_9_0/os/introduction"
+
+ >
+ Version: 0.9.0 (latest)
+ </option>
+
+</select>
+</li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li ><a href="../../../introduction/">Mynewt Documentation</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../../get_started/get_started/">Basic Setup</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../get_started/vocabulary/">Concepts</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../tutorials/tutorials/">Tutorials</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../os_user_guide/">OS User Guide</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li ><a href="../../mynewt_os/">OS Core</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../os_init/
+">System-level Functions</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../context_switch/context_switch/">Scheduler</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../time/os_time/">Time</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../task/task/">Tasks</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../event_queue/event_queue/">Event Queues</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../semaphore/semaphore/">Semaphores</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../mutex/mutex/">Mutexes</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../memory_pool/memory_pool/">Memory Pools</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../heap/heap/">Heap</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../mbuf/mbuf/
+
+">Memory Buffers</a>
+
+
+ <ul>
+
+
+
+
+
+ <li ><a href="../../mbuf/mbuf/">Mbuf</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../msys/msys/">Msys</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../mqueue/">MQueue</a>
+
+
+ <ul>
+
+
+
+
+
+
+
+ <li><a href="
+ ../os_mqueue_init/
+">Functions</a>
+
+
+ <ul>
+
+
+
+ <li >
+ <a href="../os_mqueue_init/">os_mqueue_init</a>
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../os_mqueue_get/">os_mqueue_get</a>
+ </li>
+
+
+
+
+
+ <li class="active">
+ <a href="./">os_mqueue_put</a>
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../sanity/sanity/">Sanity</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../callout/callout/">Callouts</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../porting/port_os/">Porting to your Platform</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/console/console/">Console</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/shell/shell/">Shell</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/bootloader/bootloader/">Bootloader</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+
+
+ ../../../modules/fs/fs/fs/
+
+">File System</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/hal/hal/">Hardware Abstraction Layer</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/testutil/testutil/">Test Utilities</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/imgmgr/imgmgr/">Image Manager</a>
+
+
+ </li>
+
+
+
+
+
+ <li >
+ <a href="../../../modules/baselibc/">Baselibc library</a>
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/elua/elua/">Embedded Lua</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/json/json/">JSON</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/stats/stats/">Stats</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../modules/logs/logs/">Logs</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../network/ble/ble_intro/
+">BLE User Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newt/newt_intro/">Newt Tool Guide</a>
+
+
+ </li>
+
+
+
+
+
+
+
+ <li ><a href="../../../../newtmgr/overview/">Newt Manager Guide</a>
+
+
+ </li>
+
+
+
+ </ul>
+
+ </li>
+
+
+
+
+
+
+
+ <li><a href="
+ ../../../../faq/how_to_edit_docs/
+">Appendix</a>
+
+
+ </li>
+
+
+
+ </ul>
+</div></div>
+
+ <div class="show-sidebar-container">
+ <button class="show-sidebar">Docs Menu</button>
+ </div>
+
+ <div class="col-md-9" role="main">
+ <div class="row doc-header">
+ <div class="col-sm-12">
+ <div role="navigation" aria-label="breadcrumbs navigation">
+ <ul class="wy-breadcrumbs pull-right">
+ <li><a href="/develop/os/introduction">Docs</a></li>
+
+
+
+ <li>» <a href="../mqueue/">MQueue</a></li>
+
+
+
+ <li>» <a href="../os_mqueue_init/">Functions</a></li>
+
+
+
+ <li>» os_mqueue_put</li>
+
+
+
+ </ul>
+</div>
+ </div>
+ </div>
+
+ <h2 id="os_mqueue_put"><font color="#F2853F" style="font-size:24pt">os_mqueue_put</font></h2>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span> <span style="color: #000000">os_mqueue_put</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mqueue</span> <span style="color: #000000">*mq</span>, <span style="color: #A90D91">struct</span> <span style="color: #000000">os_eventq</span> <span style="color: #000000">*evq</span>, <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*m</span>)
+</pre></div>
+
+
+<p>Adds a packet (i.e. packet header mbuf) to an mqueue. Post event to <em>evq</em>. </p>
+<p><br></p>
+<h4 id="arguments">Arguments</h4>
+<table>
+<thead>
+<tr>
+<th>Arguments</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>mq</td>
+<td>Pointer to mqueue</td>
+</tr>
+<tr>
+<td>evq</td>
+<td>Pointer to event queue where mqueue event should get posted</td>
+</tr>
+<tr>
+<td>m</td>
+<td>Pointer to packet header mbuf</td>
+</tr>
+</tbody>
+</table>
+<p><br></p>
+<h4 id="returned-values">Returned values</h4>
+<p>0: success</p>
+<p>OS_EINVAL: the mbuf is not a packet header mbuf.</p>
+<p><br></p>
+<h4 id="example">Example</h4>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
+<span style="color: #000000">my_task_rx_data_func</span>(<span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*om</span>)
+{
+ <span style="color: #A90D91">int</span> <span style="color: #000000">rc</span>;
+
+ <span style="color: #000000">rc</span> <span style="color: #000000">=</span> <span style="color: #000000">os_mqueue_put</span>(<span style="color: #000000">&rxpkt_q</span>, <span style="color: #000000">&my_task_evq</span>, <span style="color: #000000">om</span>);
+ <span style="color: #A90D91">if</span> (<span style="color: #000000">rc</span> <span style="color: #000000">!=</span> <span style="color: #1C01CE">0</span>) {
+ <span style="color: #A90D91">return</span> <span style="color: #000000">-</span><span style="color: #1C01CE">1</span>;
+ }
+
+ <span style="color: #A90D91">return</span> <span style="color: #1C01CE">0</span>;
+}
+</pre></div>
+
+ <div class="row">
+
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+ <li>
+
+ <a href=../os_mqueue_get/>
+ <span class="fa fa-arrow-left"></span>
+ Previous: os_mqueue_get
+ </a>
+
+ </li>
+ <li class="pull-right">
+
+ <a href=../../sanity/sanity/>
+ Next: Sanity
+ <span class="fa fa-arrow-right"></span>
+ </a>
+
+ </li>
+</ul>
+ </div>
+ <div class="row">
+ <footer>
+ <div class="row">
+ <div class="col-md-12">
+
+ <p class="copyright">Copyright © 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+
+ </div>
+ </div>
+ <div class="copyright-logos">
+ <div class="row">
+ <div class="col-xs-6 text-right">
+ <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+ </div>
+ <div class="col-xs-6 text-left">
+ <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <small class="footnote">
+ MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+ </small>
+ </div>
+ </div>
+</footer>
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+
+ <script src="../../../../js/jquery-1.10.2.min.js"></script>
+ <script src="../../../../js/bootstrap-3.0.3.min.js"></script>
+ <script src="../../../../js/highlight.pack.js"></script>
+ <script src="../../../../js/base.js"></script>
+ <script src="../../../../js/custom.js"></script>
+
+ </body>
+</html>
\ No newline at end of file