| <!-- |
| Documentation/_templates/layout.html |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. The |
| ASF licenses this file to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance with the |
| License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| License for the specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <!DOCTYPE html> |
| <html class="writer-html5" lang="en" > |
| <head> |
| <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> |
| |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| <title>Board IOCTL — NuttX latest documentation</title> |
| <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/copybutton.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/tabs.css" type="text/css" /> |
| <link rel="stylesheet" href="../../_static/custom.css" type="text/css" /> |
| <link rel="shortcut icon" href="../../_static/favicon.ico"/> |
| <!--[if lt IE 9]> |
| <script src="../../_static/js/html5shiv.min.js"></script> |
| <![endif]--> |
| |
| <script src="../../_static/jquery.js"></script> |
| <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script> |
| <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script> |
| <script src="../../_static/doctools.js"></script> |
| <script src="../../_static/sphinx_highlight.js"></script> |
| <script src="../../_static/clipboard.min.js"></script> |
| <script src="../../_static/copybutton.js"></script> |
| <script src="../../_static/js/theme.js"></script> |
| <link rel="index" title="Index" href="../../genindex.html" /> |
| <link rel="search" title="Search" href="../../search.html" /> |
| <link rel="next" title="Logging" href="13_logging.html" /> |
| <link rel="prev" title="Shared Memory Interfaces" href="12_shared_memory.html" /> |
| </head> |
| |
| <body class="wy-body-for-nav"> |
| <div class="wy-grid-for-nav"> |
| <nav data-toggle="wy-nav-shift" class="wy-nav-side"> |
| <div class="wy-side-scroll"> |
| <div class="wy-side-nav-search" > |
| |
| <a href="../../index.html" class="icon icon-home"> NuttX |
| |
| |
| |
| </a> |
| |
| <!-- this version selector is quite ugly, should be probably replaced by something |
| more modern --> |
| |
| <div class="version-selector"> |
| <select onchange="javascript:location.href = this.value;"> |
| |
| <option value="../../../latest" selected="selected">latest</option> |
| |
| <option value="../../../10.0.0" >10.0.0</option> |
| |
| <option value="../../../10.0.1" >10.0.1</option> |
| |
| <option value="../../../10.1.0" >10.1.0</option> |
| |
| <option value="../../../10.2.0" >10.2.0</option> |
| |
| <option value="../../../10.3.0" >10.3.0</option> |
| |
| <option value="../../../11.0.0" >11.0.0</option> |
| |
| <option value="../../../12.0.0" >12.0.0</option> |
| |
| <option value="../../../12.1.0" >12.1.0</option> |
| |
| <option value="../../../12.2.0" >12.2.0</option> |
| |
| <option value="../../../12.2.1" >12.2.1</option> |
| |
| <option value="../../../12.3.0" >12.3.0</option> |
| |
| <option value="../../../12.4.0" >12.4.0</option> |
| |
| <option value="../../../12.5.0" >12.5.0</option> |
| |
| <option value="../../../12.5.1" >12.5.1</option> |
| |
| </select> |
| </div> |
| |
| |
| <div role="search"> |
| <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> |
| <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </form> |
| </div> |
| |
| </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> |
| <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> |
| <ul class="current"> |
| <li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../components/index.html">OS Components</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li> |
| <li class="toctree-l1 current"><a class="reference internal" href="../index.html">API Reference</a><ul class="current"> |
| <li class="toctree-l2 current"><a class="reference internal" href="index.html">Userspace API</a><ul class="current"> |
| <li class="toctree-l3"><a class="reference internal" href="01_task_control.html">Task Control Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="02_task_scheduling.html">Task Scheduling Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="03_task_control.html">Task Control Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="04_message_queue.html">Named Message Queue Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="05_counting_semaphore.html">Counting Semaphore Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="06_clocks_timers.html">Clocks and Timers</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="07_signals.html">Signal Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="08_pthread.html">Pthread Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="09_env_vars.html">Environment Variables</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="10_filesystem.html">File System Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="11_network.html">Network Interfaces</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="12_shared_memory.html">Shared Memory Interfaces</a></li> |
| <li class="toctree-l3 current"><a class="current reference internal" href="#">Board IOCTL</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="#supported-commands">Supported commands</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="#system-state-control">System state control</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#power-management">Power Management</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#board-information">Board information</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#filesystems">Filesystems</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#symbol-handling">Symbol Handling</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#usb">USB</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#graphics">Graphics</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="#testing">Testing</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="13_logging.html">Logging</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="structures.html">OS Data Structures</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../os/index.html">Architecture APIs</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li> |
| </ul> |
| |
| </div> |
| </div> |
| </nav> |
| |
| <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > |
| <i data-toggle="wy-nav-top" class="fa fa-bars"></i> |
| <a href="../../index.html">NuttX</a> |
| </nav> |
| |
| <div class="wy-nav-content"> |
| <div class="rst-content"> |
| <div role="navigation" aria-label="Page navigation"> |
| <ul class="wy-breadcrumbs"> |
| <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li> |
| <li class="breadcrumb-item"><a href="../index.html">API Reference</a></li> |
| <li class="breadcrumb-item"><a href="index.html">Userspace API</a></li> |
| <li class="breadcrumb-item active">Board IOCTL</li> |
| <li class="wy-breadcrumbs-aside"> |
| <a href="../../_sources/reference/user/13_boardctl.rst.txt" rel="nofollow"> View page source</a> |
| </li> |
| </ul> |
| <hr/> |
| </div> |
| <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> |
| <div itemprop="articleBody"> |
| |
| <section id="board-ioctl"> |
| <h1>Board IOCTL<a class="headerlink" href="#board-ioctl" title="Permalink to this heading"></a></h1> |
| <p>In a small embedded system, there will typically be a much |
| greater interaction between application and low-level board features. |
| The canonically correct to implement such interactions is by |
| implementing a character driver and performing the interactions |
| via low level <code class="docutils literal notranslate"><span class="pre">ioctl()</span></code> calls. This, however, may not be practical |
| in many cases and will lead to “correct” but awkward implementations.</p> |
| <p><a class="reference internal" href="#c.boardctl" title="boardctl"><code class="xref c c-func docutils literal notranslate"><span class="pre">boardctl()</span></code></a> is non-standard OS interface to alleviate the problem. |
| It basically circumvents the normal device driver <code class="docutils literal notranslate"><span class="pre">ioctl()</span></code> |
| interface and allows the application to perform direct |
| IOCTL-like calls to the board-specific logic. It is especially |
| useful for setting up board operational and test configurations.</p> |
| <p><a class="reference internal" href="#c.boardctl" title="boardctl"><code class="xref c c-func docutils literal notranslate"><span class="pre">boardctl()</span></code></a> is an application interface to the OS. |
| There is no point, in fact, of using <a class="reference internal" href="#c.boardctl" title="boardctl"><code class="xref c c-func docutils literal notranslate"><span class="pre">boardctl()</span></code></a> within the OS; |
| the board interfaces prototyped in <code class="file docutils literal notranslate"><span class="pre">include/nuttx/board.h</span></code> may |
| be called directly from within the OS.</p> |
| <dl class="c function"> |
| <dt class="sig sig-object c" id="c.boardctl"> |
| <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">boardctl</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">cmd</span></span>, <span class="n"><span class="pre">uintptr_t</span></span><span class="w"> </span><span class="n"><span class="pre">arg</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.boardctl" title="Permalink to this definition"></a><br /></dt> |
| <dd><dl class="field-list simple"> |
| <dt class="field-odd">Parameters<span class="colon">:</span></dt> |
| <dd class="field-odd"><ul class="simple"> |
| <li><p><strong>cmd</strong> – Identifies the board command to be executed. See |
| <code class="file docutils literal notranslate"><span class="pre">include/sys/boardctl.h</span></code> for the complete list of common |
| board commands. Provisions are made to support non-common, |
| board-specific commands as well.</p></li> |
| <li><p><strong>arg</strong> – The argument that accompanies the command. The nature |
| of the argument is determined by the specific command.</p></li> |
| </ul> |
| </dd> |
| <dt class="field-even">Returns<span class="colon">:</span></dt> |
| <dd class="field-even"><p>On success zero (OK) is returned; -1 (ERROR) is |
| returned on failure with the errno variable set to indicate the nature of the failure.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <section id="supported-commands"> |
| <h2>Supported commands<a class="headerlink" href="#supported-commands" title="Permalink to this heading"></a></h2> |
| <p>The following is the list of supported <a class="reference internal" href="#c.boardctl" title="boardctl"><code class="xref c c-func docutils literal notranslate"><span class="pre">boardctl()</span></code></a> commands. |
| Besides this list, board logic can implement handling of custom commands by |
| implementing the <code class="xref c c-func docutils literal notranslate"><span class="pre">board_ioctl()</span></code> interface.</p> |
| <section id="system-state-control"> |
| <h3>System state control<a class="headerlink" href="#system-state-control" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_INIT"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_INIT</span></span></span><a class="headerlink" href="#c.BOARDIOC_INIT" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Perform one-time application initialization.</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>The argument is passed to the |
| <code class="xref c c-func docutils literal notranslate"><span class="pre">board_app_initialize()</span></code> implementation without modification. |
| The argument has no meaning to NuttX; the meaning of the |
| argument is a contract between the board-specific |
| initialization logic and the matching application logic. |
| The value could be such things as a mode enumeration value, |
| a set of DIP switch switch settings, a pointer to |
| configuration data read from a file or serial FLASH, or |
| whatever you would like to do with it. Every |
| implementation should accept zero/NULL as a default |
| configuration.</p> |
| </dd> |
| <dt class="field-even">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-even"><p>Board logic must provide <code class="xref c c-func docutils literal notranslate"><span class="pre">board_app_initialize()</span></code>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_POWEROFF"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_POWEROFF</span></span></span><a class="headerlink" href="#c.BOARDIOC_POWEROFF" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Power off the board</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Integer value providing power off status information</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_POWEROFF</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Board logic must provide the <code class="xref c c-func docutils literal notranslate"><span class="pre">board_power_off()</span></code> interface.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_RESET"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_RESET</span></span></span><a class="headerlink" href="#c.BOARDIOC_RESET" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Reset the board</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Integer value providing power off status information</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_RESET</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Board logic must provide the <code class="xref c c-func docutils literal notranslate"><span class="pre">board_reset()</span></code> interface.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="power-management"> |
| <h3>Power Management<a class="headerlink" href="#power-management" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_PM_CONTROL"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_PM_CONTROL</span></span></span><a class="headerlink" href="#c.BOARDIOC_PM_CONTROL" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Manage power state transition and query. The supplied argument |
| indicates the specific PM operation to perform, which map to |
| corresponding internal <code class="docutils literal notranslate"><span class="pre">pm_<operation></span></code> functions |
| (see <a class="reference internal" href="../../components/power.html"><span class="doc">Power Management</span></a>).</p> |
| <p>With this interface you can interact with PM handling arch/board logic |
| (typically done in IDLE loop) or you can directly manage state transitions |
| from userspace.</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to an instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_pm_ctrl_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_PM</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="board-information"> |
| <h3>Board information<a class="headerlink" href="#board-information" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_UNIQUEID"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_UNIQUEID</span></span></span><a class="headerlink" href="#c.BOARDIOC_UNIQUEID" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Return a unique ID associated with the board (such as a |
| serial number or a MAC address).</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A writable array of size <code class="xref c c-macro docutils literal notranslate"><span class="pre">CONFIG_BOARDCTL_UNIQUEID_SIZE</span></code> in |
| which to receive the board unique ID.</p> |
| </dd> |
| <dt class="field-even">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-even"><p>Board logic must provide the <code class="xref c c-func docutils literal notranslate"><span class="pre">board_uniqueid()</span></code> interface.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="filesystems"> |
| <h3>Filesystems<a class="headerlink" href="#filesystems" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_MKRD"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_MKRD</span></span></span><a class="headerlink" href="#c.BOARDIOC_MKRD" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Create a RAM disk</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Pointer to read-only instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_mkrd_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_MKRD</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_ROMDISK"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_ROMDISK</span></span></span><a class="headerlink" href="#c.BOARDIOC_ROMDISK" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Register a ROM disk</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Pointer to read-only instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_romdisk_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_ROMDISK</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="symbol-handling"> |
| <h3>Symbol Handling<a class="headerlink" href="#symbol-handling" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_APP_SYMTAB"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_APP_SYMTAB</span></span></span><a class="headerlink" href="#c.BOARDIOC_APP_SYMTAB" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Select the application symbol table. This symbol table |
| provides the symbol definitions exported to application |
| code from application space.</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to an instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_symtab_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_APP_SYMTAB</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_OS_SYMTAB"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_OS_SYMTAB</span></span></span><a class="headerlink" href="#c.BOARDIOC_OS_SYMTAB" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Select the OS symbol table. This symbol table provides |
| the symbol definitions exported by the OS to kernel |
| modules.</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to an instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_symtab_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_OS_SYMTAB</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_BUILTINS"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_BUILTINS</span></span></span><a class="headerlink" href="#c.BOARDIOC_BUILTINS" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Provide the user-space list of built-in applications for |
| use by BINFS in protected mode. Normally this is small |
| set of globals provided by user-space logic. It provides |
| name-value pairs for associating built-in application |
| names with user-space entry point addresses. These |
| globals are only needed for use by BINFS which executes |
| built-in applications from kernel-space in PROTECTED mode. |
| In the FLAT build, the user space globals are readily |
| available. (BINFS is not supportable in KERNEL mode since |
| user-space address have no general meaning that |
| configuration).</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to an instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_builtin_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>This command is always available when |
| CONFIG_BUILTIN is enabled, but does nothing unless |
| CONFIG_BUILD_PROTECTED is also selected.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="usb"> |
| <h3>USB<a class="headerlink" href="#usb" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_USBDEV_CONTROL"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_USBDEV_CONTROL</span></span></span><a class="headerlink" href="#c.BOARDIOC_USBDEV_CONTROL" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Manage USB device classes</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to an instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_usbdev_ctrl_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL && CONFIG_BOARDCTL_USBDEVCTRL</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Board logic must provide <cite>board_<usbdev>_initialize()</cite>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="graphics"> |
| <h3>Graphics<a class="headerlink" href="#graphics" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_NX_START"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_NX_START</span></span></span><a class="headerlink" href="#c.BOARDIOC_NX_START" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Start the NX server</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Integer display number to be served by this NXMU instance.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_NX</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Base graphics logic provides <a class="reference internal" href="../../components/nxgraphics/nx.html#c.nxmu_start" title="nxmu_start"><code class="xref c c-func docutils literal notranslate"><span class="pre">nxmu_start()</span></code></a>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_VNC_START"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_VNC_START</span></span></span><a class="headerlink" href="#c.BOARDIOC_VNC_START" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Start the NX server and framebuffer driver.</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A reference readable instance of <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_vncstart_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_VNCSERVER</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>VNC server provides <code class="xref c c-func docutils literal notranslate"><span class="pre">nx_vnc_fbinitialize()</span></code>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_NXTERM"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_NXTERM</span></span></span><a class="headerlink" href="#c.BOARDIOC_NXTERM" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Create an NX terminal device</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A reference readable/writable instance of |
| <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_nxterm_create_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_NXTERM</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Base NX terminal logic provides <code class="xref c c-func docutils literal notranslate"><span class="pre">nx_register()</span></code> and |
| <code class="xref c c-func docutils literal notranslate"><span class="pre">nxtk_register()</span></code>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_NXTERM_IOCTL"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_NXTERM_IOCTL</span></span></span><a class="headerlink" href="#c.BOARDIOC_NXTERM_IOCTL" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Create an NX terminal IOCTL command. Normal IOCTLs |
| cannot be be performed in most graphics contexts since |
| the depend on the task holding an open file descriptor</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A reference readable/writable instance of |
| <code class="xref c c-struct docutils literal notranslate"><span class="pre">boardioc_nxterm_ioctl_s</span></code>.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_NXTERM</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Base NX terminal logic provides <code class="xref c c-func docutils literal notranslate"><span class="pre">nxterm_ioctl_tap()</span></code>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| <section id="testing"> |
| <h3>Testing<a class="headerlink" href="#testing" title="Permalink to this heading"></a></h3> |
| <dl class="c macro"> |
| <dt class="sig sig-object c" id="c.BOARDIOC_TESTSET"> |
| <span class="sig-name descname"><span class="n"><span class="pre">BOARDIOC_TESTSET</span></span></span><a class="headerlink" href="#c.BOARDIOC_TESTSET" title="Permalink to this definition"></a><br /></dt> |
| <dd><p>Access architecture-specific up_testset() operation</p> |
| <dl class="field-list simple"> |
| <dt class="field-odd">Argument<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>A pointer to a write-able spinlock object. On success |
| the preceding spinlock state is returned: 0=unlocked, |
| 1=locked.</p> |
| </dd> |
| <dt class="field-even">Configuration<span class="colon">:</span></dt> |
| <dd class="field-even"><p>CONFIG_BOARDCTL_TESTSET</p> |
| </dd> |
| <dt class="field-odd">Dependencies<span class="colon">:</span></dt> |
| <dd class="field-odd"><p>Architecture-specific logic provides <a class="reference internal" href="../os/smp.html#c.up_testset" title="up_testset"><code class="xref c c-func docutils literal notranslate"><span class="pre">up_testset()</span></code></a>.</p> |
| </dd> |
| </dl> |
| </dd></dl> |
| |
| </section> |
| </section> |
| </section> |
| |
| |
| </div> |
| </div> |
| <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> |
| <a href="12_shared_memory.html" class="btn btn-neutral float-left" title="Shared Memory Interfaces" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> |
| <a href="13_logging.html" class="btn btn-neutral float-right" title="Logging" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> |
| </div> |
| |
| <hr/> |
| |
| <div role="contentinfo"> |
| <p>© Copyright 2020, The Apache Software Foundation.</p> |
| </div> |
| |
| |
| |
| </footer> |
| </div> |
| </div> |
| </section> |
| </div> |
| <script> |
| jQuery(function () { |
| SphinxRtdTheme.Navigation.enable(true); |
| }); |
| </script> |
| |
| </body> |
| </html> |