<!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>GATT server 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="GATT server 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" selected="selected" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    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="../../../../ble_setup/ble_setup_intro/">NimBLE Setup</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="../../../ble_gap/ble_gap/">GAP</a>
  
  
    </li>

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

              
          
              
                
  
  
    <li ><a href="../../ble_gatts/">GATT server</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li><a href="
  ./
">Definitions</a>
  
  
    <ul>
          
              
                
  <li class="active">
    <a href="./">GATT server definitions</a>
  </li>

              
          
    </ul>
  
    </li>

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

              
          
    </ul>
  
    </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>

              
          
              
                
  
  
    <li ><a href="../../../../btshell/btshell_api/">btshell 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="
  ../../../../../../newt/install/prev_releases/
">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/ble_gatts/ble_gatts/">GATT server</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; GATT server definitions</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md"
            class="icon icon-github"> Edit on GitHub</a>
        
      </li>
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.2.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="gatt-server-definitions"><font color="#F2853F" style="font-size:24pt">GATT Server Definitions</font></h2>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">typedef</span> <span style="color: #A90D91">int</span> <span style="color: #000000">ble_gatt_access_fn</span>(<span style="color: #A90D91">uint16_t</span> <span style="color: #000000">conn_handle</span>, <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">attr_handle</span>,
                               <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_access_ctxt</span> <span style="color: #000000">*ctxt</span>, <span style="color: #A90D91">void</span> <span style="color: #000000">*arg</span>);
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">typedef</span> <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">ble_gatt_chr_flags</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_gatt_chr_def</span> {
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Pointer to characteristic UUID; use BLE_UUIDxx_DECLARE macros to declare</span>
<span style="color: #177500">     * proper UUID; NULL if there are no more characteristics in the service.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">const</span> <span style="color: #000000">ble_uuid_t</span> <span style="color: #000000">*uuid</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Callback that gets executed when this characteristic is read or</span>
<span style="color: #177500">     * written.</span>
<span style="color: #177500">     */</span>
    <span style="color: #000000">ble_gatt_access_fn</span> <span style="color: #000000">*access_cb</span>;

    <span style="color: #177500">/** Optional argument for callback. */</span>
    <span style="color: #A90D91">void</span> <span style="color: #000000">*arg</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Array of this characteristic&#39;s descriptors.  NULL if no descriptors.</span>
<span style="color: #177500">     * Do not include CCCD; it gets added automatically if this</span>
<span style="color: #177500">     * characteristic&#39;s notify or indicate flag is set.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_dsc_def</span> <span style="color: #000000">*descriptors</span>;

    <span style="color: #177500">/** Specifies the set of permitted operations for this characteristic. */</span>
    <span style="color: #000000">ble_gatt_chr_flags</span> <span style="color: #000000">flags</span>;

    <span style="color: #177500">/** Specifies minimum required key size to access this characteristic. */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">min_key_size</span>;

    <span style="color: #177500">/** </span>
<span style="color: #177500">     * At registration time, this is filled in with the characteristic&#39;s value</span>
<span style="color: #177500">     * attribute handle.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">*</span> <span style="color: #A90D91">const</span> <span style="color: #000000">val_handle</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_gatt_svc_def</span> {
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * One of the following:</span>
<span style="color: #177500">     *     o BLE_GATT_SVC_TYPE_PRIMARY - primary service</span>
<span style="color: #177500">     *     o BLE_GATT_SVC_TYPE_SECONDARY - secondary service</span>
<span style="color: #177500">     *     o 0 - No more services in this array.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">type</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Pointer to service UUID; use BLE_UUIDxx_DECLARE macros to declare</span>
<span style="color: #177500">     * proper UUID; NULL if there are no more characteristics in the service.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">const</span> <span style="color: #000000">ble_uuid_t</span> <span style="color: #000000">*uuid</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Array of pointers to other service definitions.  These services are</span>
<span style="color: #177500">     * reported as &quot;included services&quot; during service discovery.  Terminate the</span>
<span style="color: #177500">     * array with NULL.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_svc_def</span> <span style="color: #000000">**includes</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Array of characteristic definitions corresponding to characteristics</span>
<span style="color: #177500">     * belonging to this service.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_chr_def</span> <span style="color: #000000">*characteristics</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_gatt_dsc_def</span> {
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Pointer to descriptor UUID; use BLE_UUIDxx_DECLARE macros to declare</span>
<span style="color: #177500">     * proper UUID; NULL if there are no more characteristics in the service.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">const</span> <span style="color: #000000">ble_uuid_t</span> <span style="color: #000000">*uuid</span>;

    <span style="color: #177500">/** Specifies the set of permitted operations for this descriptor. */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">att_flags</span>;

    <span style="color: #177500">/** Specifies minimum required key size to access this descriptor. */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">min_key_size</span>;

    <span style="color: #177500">/** Callback that gets executed when the descriptor is read or written. */</span>
    <span style="color: #000000">ble_gatt_access_fn</span> <span style="color: #000000">*access_cb</span>;

    <span style="color: #177500">/** Optional argument for callback. */</span>
    <span style="color: #A90D91">void</span> <span style="color: #000000">*arg</span>;
};
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/**</span>
<span style="color: #177500"> * Context for an access to a GATT characteristic or descriptor.  When a client</span>
<span style="color: #177500"> * reads or writes a locally registered characteristic or descriptor, an</span>
<span style="color: #177500"> * instance of this struct gets passed to the application callback.</span>
<span style="color: #177500"> */</span>
<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_access_ctxt</span> {
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Indicates the gatt operation being performed.  This is equal to one of</span>
<span style="color: #177500">     * the following values:</span>
<span style="color: #177500">     *     o  BLE_GATT_ACCESS_OP_READ_CHR</span>
<span style="color: #177500">     *     o  BLE_GATT_ACCESS_OP_WRITE_CHR</span>
<span style="color: #177500">     *     o  BLE_GATT_ACCESS_OP_READ_DSC</span>
<span style="color: #177500">     *     o  BLE_GATT_ACCESS_OP_WRITE_DSC</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">op</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * A container for the GATT access data.</span>
<span style="color: #177500">     *     o For reads: The application populates this with the value of the</span>
<span style="color: #177500">     *       characteristic or descriptor being read.</span>
<span style="color: #177500">     *     o For writes: This is already populated with the value being written</span>
<span style="color: #177500">     *       by the peer.  If the application wishes to retain this mbuf for</span>
<span style="color: #177500">     *       later use, the access callback must set this pointer to NULL to</span>
<span style="color: #177500">     *       prevent the stack from freeing it.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">os_mbuf</span> <span style="color: #000000">*om</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The GATT operation being performed dictates which field in this union is</span>
<span style="color: #177500">     * valid.  If a characteristic is being accessed, the chr field is valid.</span>
<span style="color: #177500">     * Otherwise a descriptor is being accessed, in which case the dsc field</span>
<span style="color: #177500">     * is valid.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">union</span> {
        <span style="color: #177500">/**</span>
<span style="color: #177500">         * The characteristic definition corresponding to the characteristic</span>
<span style="color: #177500">         * being accessed.  This is what the app registered at startup.</span>
<span style="color: #177500">         */</span>
        <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_chr_def</span> <span style="color: #000000">*chr</span>;

        <span style="color: #177500">/**</span>
<span style="color: #177500">         * The descriptor definition corresponding to the descriptor being</span>
<span style="color: #177500">         * accessed.  This is what the app registered at startup.</span>
<span style="color: #177500">         */</span>
        <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_dsc_def</span> <span style="color: #000000">*dsc</span>;
    };
}
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #177500">/**</span>
<span style="color: #177500"> * Context passed to the registration callback; represents the GATT service,</span>
<span style="color: #177500"> * characteristic, or descriptor being registered.</span>
<span style="color: #177500"> */</span>
<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_register_ctxt</span> {
    <span style="color: #177500">/**</span>
<span style="color: #177500">     * Indicates the gatt registration operation just performed.  This is</span>
<span style="color: #177500">     * equal to one of the following values:</span>
<span style="color: #177500">     *     o BLE_GATT_REGISTER_OP_SVC</span>
<span style="color: #177500">     *     o BLE_GATT_REGISTER_OP_CHR</span>
<span style="color: #177500">     *     o BLE_GATT_REGISTER_OP_DSC</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">uint8_t</span> <span style="color: #000000">op</span>;

    <span style="color: #177500">/**</span>
<span style="color: #177500">     * The value of the op field determines which field in this union is valid.</span>
<span style="color: #177500">     */</span>
    <span style="color: #A90D91">union</span> {
        <span style="color: #177500">/** Service; valid if op == BLE_GATT_REGISTER_OP_SVC. */</span>
        <span style="color: #A90D91">struct</span> {
            <span style="color: #177500">/** The ATT handle of the service definition attribute. */</span>
            <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">handle</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The service definition representing the service being</span>
<span style="color: #177500">             * registered.</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_svc_def</span> <span style="color: #000000">*svc_def</span>;
        } <span style="color: #000000">svc</span>;

        <span style="color: #177500">/** Characteristic; valid if op == BLE_GATT_REGISTER_OP_CHR. */</span>
        <span style="color: #A90D91">struct</span> {
            <span style="color: #177500">/** The ATT handle of the characteristic definition attribute. */</span>
            <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">def_handle</span>;

            <span style="color: #177500">/** The ATT handle of the characteristic value attribute. */</span>
            <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">val_handle</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The characteristic definition representing the characteristic</span>
<span style="color: #177500">             * being registered.</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_chr_def</span> <span style="color: #000000">*chr_def</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The service definition corresponding to the characteristic&#39;s</span>
<span style="color: #177500">             * parent service.</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_svc_def</span> <span style="color: #000000">*svc_def</span>;
        } <span style="color: #000000">chr</span>;

        <span style="color: #177500">/** Descriptor; valid if op == BLE_GATT_REGISTER_OP_DSC. */</span>
        <span style="color: #A90D91">struct</span> {
            <span style="color: #177500">/** The ATT handle of the descriptor definition attribute. */</span>
            <span style="color: #A90D91">uint16_t</span> <span style="color: #000000">handle</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The descriptor definition corresponding to the descriptor being</span>
<span style="color: #177500">             * registered.</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_dsc_def</span> <span style="color: #000000">*dsc_def</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The characteristic definition corresponding to the descriptor&#39;s</span>
<span style="color: #177500">             * parent characteristic.</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_chr_def</span> <span style="color: #000000">*chr_def</span>;

            <span style="color: #177500">/**</span>
<span style="color: #177500">             * The service definition corresponding to the descriptor&#39;s</span>
<span style="color: #177500">             * grandparent service</span>
<span style="color: #177500">             */</span>
            <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_svc_def</span> <span style="color: #000000">*svc_def</span>;
        } <span style="color: #000000">dsc</span>;
    };
};
</code></pre></div>

<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">typedef</span> <span style="color: #A90D91">void</span> <span style="color: #000000">ble_gatt_register_fn</span>(<span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gatt_register_ctxt</span> <span style="color: #000000">*ctxt</span>,
                                  <span style="color: #A90D91">void</span> <span style="color: #000000">*arg</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 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>