<!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>ble_gap_connect - 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="ble_gap_connect">


        <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.11.0, Apache NimBLE 1.6.0 </a> released (September 7, 2023)
            </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_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/">GAP</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li><a href="
  ../../definitions/ble_gap_defs/
">Definitions</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../ble_gap_adv_active/
">Functions</a>
  
  
    <ul>
          
              
                
  <li >
    <a href="../ble_gap_adv_active/">ble_gap_adv_active</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_rsp_set_data/">ble_gap_adv_rsp_set_data</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_rsp_set_fields/">ble_gap_adv_rsp_set_fields</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_set_data/">ble_gap_adv_set_data</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_set_fields/">ble_gap_adv_set_fields</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_set_phys/">ble_gap_adv_set_phys</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_set_tx_power/">ble_gap_adv_set_tx_power</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_start/">ble_gap_adv_start</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_adv_stop/">ble_gap_adv_stop</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_conn_active/">ble_gap_conn_active</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_conn_cancel/">ble_gap_conn_cancel</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_conn_find/">ble_gap_conn_find</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_conn_rssi/">ble_gap_conn_rssi</a>
  </li>

              
          
              
                
  <li class="active">
    <a href="./">ble_gap_connect</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_ext_connect/">ble_gap_ext_connect</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_disc/">ble_gap_disc</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_ext_disc/">ble_gap_ext_disc</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_disc_active/">ble_gap_disc_active</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_disc_cancel/">ble_gap_disc_cancel</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_security_initiate/">ble_gap_security_initiate</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_set_event_cb/">ble_gap_set_event_cb</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_terminate/">ble_gap_terminate</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_update_params/">ble_gap_update_params</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_wl_set/">ble_gap_wl_set</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_set_priv_mode/">ble_gap_set_priv_mode</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_read_le_phy/">ble_gap_read_le_phy</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_set_prefered_default_le_phy/">ble_gap_set_prefered_default_le_phy</a>
  </li>

              
          
              
                
  <li >
    <a href="../ble_gap_set_prefered_le_phy/">ble_gap_set_prefered_le_phy</a>
  </li>

              
          
    </ul>
  
    </li>

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

              
          
              
                
  
  
    <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; <a href="network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active/">Functions</a></li>
        
      
        
          <li>&raquo; <a href="network/ble/ble_hs/ble_gap/ble_gap/">GAP</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; ble_gap_connect</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_connect.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="ble_gap_connect"><font color="#F2853F" style="font-size:24pt">ble_gap_connect</font></h2>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code><span style="color: #A90D91">int</span>
<span style="color: #000000">ble_gap_connect</span>(
                             <span style="color: #A90D91">uint8_t</span>  <span style="color: #000000">own_addr_type</span>,
                    <span style="color: #A90D91">const</span> <span style="color: #000000">ble_addr_t</span> <span style="color: #000000">*peer_addr</span>,
                             <span style="color: #A90D91">int32_t</span>  <span style="color: #000000">duration_ms</span>,
    <span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #3F6E75">ble_gap_conn_params</span> <span style="color: #000000">*conn_params</span>,
                    <span style="color: #000000">ble_gap_event_fn</span> <span style="color: #000000">*cb</span>,
                                <span style="color: #A90D91">void</span> <span style="color: #000000">*cb_arg</span>
)
</code></pre></div>

<h3 id="description">Description</h3>
<p>Initiates a connect procedure.</p>
<h3 id="parameters">Parameters</h3>
<table>
<thead>
<tr>
<th><em>Parameter</em></th>
<th><em>Description</em></th>
</tr>
</thead>
<tbody>
<tr>
<td>own_addr_type</td>
<td>The type of address the stack should use for itself during connection establishment. <ul><li>BLE_OWN_ADDR_PUBLIC</li> <li>BLE_OWN_ADDR_RANDOM</li> <li>BLE_OWN_ADDR_RPA_PUBLIC_DEFAULT</li> <li>BLE_OWN_ADDR_RPA_RANDOM_DEFAULT</li></ul></td>
</tr>
<tr>
<td>peer_addr</td>
<td>The address of the peer to connect to. If this parameter is NULL, the white list is used.</td>
</tr>
<tr>
<td>duration_ms</td>
<td>The duration of the discovery procedure. On expiration, the procedure ends and a BLE_GAP_EVENT_DISC_COMPLETE event is reported.  Units are milliseconds.</td>
</tr>
<tr>
<td>conn_params</td>
<td>Additional arguments specifying the particulars of the connect procedure.  Specify null for default values.</td>
</tr>
<tr>
<td>cb</td>
<td>The callback to associate with this connect procedure.  When the connect procedure completes, the result is reported through this callback.  If the connect procedure succeeds, the connection inherits this callback as its event-reporting mechanism.</td>
</tr>
<tr>
<td>cb_arg</td>
<td>The optional argument to pass to the callback function.</td>
</tr>
</tbody>
</table>
<h3 id="returned-values">Returned values</h3>
<table>
<thead>
<tr>
<th><em>Value</em></th>
<th><em>Condition</em></th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>Success.</td>
</tr>
<tr>
<td>BLE_HS_EALREADY</td>
<td>A connection attempt is already in progress.</td>
</tr>
<tr>
<td>BLE_HS_EBUSY</td>
<td>Initiating a connection is not possible because scanning is in progress.</td>
</tr>
<tr>
<td>BLE_HS_EDONE</td>
<td>The specified peer is already connected.</td>
</tr>
<tr>
<td><a href="../../ble_hs_return_codes/#return-codes-core">Core return code</a></td>
<td>Unexpected error.</td>
</tr>
</tbody>
</table>
                        
                        <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>