<!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">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../../../../../../img/favicon.ico">

        <title>Init and config definitions - Apache Mynewt</title>

        <link href="../../../../../../css/bootstrap-3.0.3.min.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=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- 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="Init and config definitions">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" 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="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">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>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <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="/latest">
    Version: master
  </option>
  <option value="/v1_12_0/" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0/" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0/" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0/" >
    Version: 1.9.0
  </option>
    <option value="/v1_8_0/" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0/" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0/" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0/" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0/" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" selected="selected" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../../../../../os/introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../../../../../../os/get_started/get_started/">Basic Setup</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../../../../os/get_started/vocabulary/">Concepts</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../../../../../os/tutorials/tutorials/">Tutorials</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../../../os/os_user_guide/">OS User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../../ble_intro/
">BLE User Guide</a>
  
  
    <ul>
          
              
                
  <li >
    <a href="../../../../ble_intro/">NimBLE Introduction</a>
  </li>

              
          
              
                
  <li >
    <a href="../../../../ble_sec/">NimBLE Security</a>
  </li>

              
          
              
                
  <li >
    <a href="../../../../nimble_setup/">Set up application</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../../../ini_stack/ble_ini_intro/">Initialize stack</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_hs/">NimBLE Host API</a>
  
  
    <ul>
          
              
          
              
                
  <li >
    <a href="../../../ble_hs_return_codes/">Return codes</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../init/">Init and config</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li><a href="
  ./
">Definitions</a>
  
  
    <ul>
          
              
                
  <li class="active">
    <a href="./">Init and config definitions</a>
  </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../functions/ble_hs_start/
">Functions</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_gap/ble_gap/">GAP</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_gattc/ble_gattc/">GATT client</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_gatts/ble_gatts/">GATT server</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_hs_id/ble_hs_id/">Identity</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../ble_att/ble_att/">ATT</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../other/other/">Other</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../bletiny/bletiny_api/">bletiny app Usage API</a>
  
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../../../newt/newt_intro/">Newt Tool Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../../../../known_issues/">Known Issues</a>
  </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../../../../../faq/go_env/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; Definitions</li>
        
      
        
          <li>&raquo; <a href="network/ble/ble_hs/init/init/">Init and config</a></li>
        
      
        
          <li>&raquo; <a href="network/ble/ble_hs/ble_hs/">NimBLE Host API</a></li>
        
      
        
          <li>&raquo; <a href="network/ble/ble_intro/">BLE User Guide</a></li>
        
      
        
          <li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
        
      
      
        <li>&raquo; Init and config definitions</li>
      
    
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.0.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h2 id="other-definitions"><font color="#F2853F" style="font-size:24pt">Other definitions</font></h2>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/* Defines the IO capabilities for the local device. */</span>
<span style="color: #633820">#define BLE_HS_IO_DISPLAY_ONLY              0x00</span>
<span style="color: #633820">#define BLE_HS_IO_DISPLAY_YESNO             0x01</span>
<span style="color: #633820">#define BLE_HS_IO_KEYBOARD_ONLY             0x02</span>
<span style="color: #633820">#define BLE_HS_IO_NO_INPUT_OUTPUT           0x03</span>
<span style="color: #633820">#define BLE_HS_IO_KEYBOARD_DISPLAY          0x04</span>
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_hs_cfg</span> {
    <span style="color: #177500">/*** HCI settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * An HCI buffer is a &quot;flat&quot; 260-byte buffer.  HCI buffers are used by the</span>
<span style="color: #177500">     * controller to send unsolicited events to the host.</span>
<span style="color: #177500">     *</span>
<span style="color: #177500">     * HCI buffers can get tied up when the controller sends lots of</span>
<span style="color: #177500">     * asynchronous / unsolicited events (i.e., non-acks).  When the controller</span>
<span style="color: #177500">     * needs to send one of these events, it allocates an HCI buffer, fills it</span>
<span style="color: #177500">     * with the event payload, and puts it on a host queue.  If the controller</span>
<span style="color: #177500">     * sends a quick burst of these events, the buffer pool may be exhausted,</span>
<span style="color: #177500">     * preventing the host from sending an HCI command to the controller.</span>
<span style="color: #177500">     *</span>
<span style="color: #177500">     * Every time the controller sends a non-ack HCI event to the host, it also</span>
<span style="color: #177500">     * allocates an OS event (it is unfortunate that these are both called</span>
<span style="color: #177500">     * &quot;events&quot;).  The OS event is put on the host-parent-task&#39;s event queue;</span>
<span style="color: #177500">     * it is what wakes up the host-parent-task and indicates that an HCI event</span>
<span style="color: #177500">     * needs to be processsed.  The pool of OS events is allocated with the</span>
<span style="color: #177500">     * same number of elements as the HCI buffer pool.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_hci_bufs</span>;

    <span style="color: #177500">/*** Connection settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The maximum number of concurrent connections.  This is set</span>
<span style="color: #177500">     * automatically according to the build-time option</span>
<span style="color: #177500">     * NIMBLE_OPT_MAX_CONNECTIONS.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_connections</span>;

    <span style="color: #177500">/*** GATT server settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * These are acquired at service registration time and never freed.  You</span>
<span style="color: #177500">     * need one of these for every service that you register.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">max_services</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The total number of in-RAM client characteristic configuration</span>
<span style="color: #177500">     * descriptors (CCCDs).  One of these is consumed each time a peer</span>
<span style="color: #177500">     * subscribes to notifications or indications for a characteristic that</span>
<span style="color: #177500">     * your device serves.  In addition, at service registration time, the host</span>
<span style="color: #177500">     * uses one of these for each characteristic that supports notifications or</span>
<span style="color: #177500">     * indications.  So, the formula which guarantees no resource exhaustion</span>
<span style="color: #177500">     * is:</span>
<span style="color: #177500">     *     (num-subscribable-characteristics) * (max-connections + 1)</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">max_client_configs</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * An optional callback that gets executed upon registration of each GATT</span>
<span style="color: #177500">     * resource (service, characteristic, or descriptor).</span>
<span style="color: #177500">     */</span>
    <span style="color: #000000">ble_gatt_register_fn</span> <span style="color: #000000">*gatts_register_cb</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * An optional argument that gets passed to the GATT registration</span>
<span style="color: #177500">     * callback.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">void</span> <span style="color: #000000">*gatts_register_arg</span>;

    <span style="color: #177500">/*** GATT client settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The maximum number of concurrent GATT client procedures.  When you</span>
<span style="color: #177500">     * initiate a GATT procedure (e.g., read a characteristic, discover</span>
<span style="color: #177500">     * services, etc.), one of these is consumed.  The resource is freed when</span>
<span style="color: #177500">     * the procedure completes.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_gattc_procs</span>;

    <span style="color: #177500">/*** ATT server settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The total number of local ATT attributes.  Attributes are consumed at</span>
<span style="color: #177500">     * service registration time and are never freed.  Attributes are used by</span>
<span style="color: #177500">     * GATT server entities: services, characteristics, and descriptors</span>
<span style="color: #177500">     * according to the following formula:</span>
<span style="color: #177500">     *     (num-services + (num-characteristics * 2) + num-descriptors)</span>
<span style="color: #177500">     *</span>
<span style="color: #177500">     * Every characteristic that supports indications or notifications</span>
<span style="color: #177500">     * automatically gets a descriptor.  All other descriptors are specified by</span>
<span style="color: #177500">     * the application at service registration time.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">max_attrs</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * A GATT server uses these when a peer performs a &quot;write long</span>
<span style="color: #177500">     * characteristic values&quot; or &quot;write long characteristic descriptors&quot;</span>
<span style="color: #177500">     * procedure.  One of these resources is consumed each time a peer sends a</span>
<span style="color: #177500">     * partial write.  These procedures are not used often.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_prep_entries</span>;

    <span style="color: #177500">/*** L2CAP settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Each connection requires three L2CAP channels (signal, ATT, and security</span>
<span style="color: #177500">     * manager).  In addition, the nimble host may allow channels to be created</span>
<span style="color: #177500">     * &quot;on the fly&quot; (connection-oriented channels).  This functionality is not</span>
<span style="color: #177500">     * available at the moment, so a safe formula to use is:</span>
<span style="color: #177500">     *     (max-connections * 3)</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_l2cap_chans</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The maximum number of concurrent L2CAP signalling procedures.  Only one</span>
<span style="color: #177500">     * L2CAP signalling procedure is supported: slave-initiated connection</span>
<span style="color: #177500">     * update.  You will never need more of these than the max number of</span>
<span style="color: #177500">     * connections.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_l2cap_sig_procs</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The maximum number of concurrent security manager procedures.  Security</span>
<span style="color: #177500">     * manager procedures include pairing and restoration of a bonded link.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">max_l2cap_sm_procs</span>;

    <span style="color: #177500">/*** Security manager settings. */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">sm_io_cap</span>;
    <span style="color: #A90D91">unsigned</span> <span style="color: #000000">sm_oob_data_flag:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">unsigned</span> <span style="color: #000000">sm_bonding:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">unsigned</span> <span style="color: #000000">sm_mitm:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">unsigned</span> <span style="color: #000000">sm_sc:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">unsigned</span> <span style="color: #000000">sm_keypress:</span><span style="color: #1C01CE">1</span>;
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">sm_our_key_dist</span>;
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">sm_their_key_dist</span>;

    <span style="color: #177500">/*** Store settings. */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * These function callbacks handle persistence of sercurity material</span>
<span style="color: #177500">     * (bonding).</span>
<span style="color: #177500">     */</span>
    <span style="color: #000000">ble_store_read_fn</span> <span style="color: #000000">*store_read_cb</span>;
    <span style="color: #000000">ble_store_write_fn</span> <span style="color: #000000">*store_write_cb</span>;
    <span style="color: #000000">ble_store_delete_fn</span> <span style="color: #000000">*store_delete_cb</span>;

    <span style="color: #177500">/*** privacy settings */</span>
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The frequency at which new resovlable private addresses are generated.</span>
<span style="color: #177500">     * Units are seconds.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">rpa_timeout</span>;
};
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">extern</span> <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_hs_cfg</span> <span style="color: #000000">ble_hs_cfg_dflt</span>;
</code></pre></div>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    </li>
    <li class="pull-right">
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt (incubating) is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
                    </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>
            <script src="search/main.js"></script>

    </body>
</html>