You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/07/29 20:01:24 UTC

[2/2] incubator-mynewt-site git commit: Added pull request #109 to update BLE host API. Added RuuviTag to list of supported boards

Added pull request #109 to update BLE host API. Added RuuviTag to list of supported boards


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/cfa84f80
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/cfa84f80
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/cfa84f80

Branch: refs/heads/asf-site
Commit: cfa84f80c4d798b2b53688f22cd1c35a80270ae1
Parents: df4054b
Author: aditihilbert <ad...@runtime.io>
Authored: Fri Jul 29 13:01:11 2016 -0700
Committer: aditihilbert <ad...@runtime.io>
Committed: Fri Jul 29 13:01:11 2016 -0700

----------------------------------------------------------------------
 develop/index.html                              |   3 +
 develop/mkdocs/search_index.json                |  92 +--
 .../ble_att_svr_write_local/index.html          |   6 +-
 .../ble_gattc_notify_custom/index.html          |   8 +-
 .../functions/ble_gattc_write/index.html        |  12 +-
 .../functions/ble_gattc_write_long/index.html   |  12 +-
 .../functions/ble_gattc_write_no_rsp/index.html |   8 +-
 .../ble/ble_hs/ble_gatts/ble_gatts/index.html   |   6 +-
 .../definitions/ble_gatts_defs/index.html       |   6 +-
 .../functions/ble_gatts_add_svcs/index.html     | 649 +++++++++++++++++++
 .../ble_gatts_count_resources/index.html        |  16 +-
 .../functions/ble_gatts_find_chr/index.html     |  12 +-
 .../functions/ble_gatts_find_dsc/index.html     |  12 +-
 .../functions/ble_gatts_find_svc/index.html     |  12 +-
 .../ble_gatts_register_svcs/index.html          |  12 +-
 .../init/definitions/init_defs/index.html       |  12 +
 .../init/functions/ble_hs_init/index.html       |  12 +-
 .../init/functions/ble_hs_rx_data/index.html    | 625 ------------------
 .../init/functions/ble_hs_start/index.html      |  12 +-
 develop/network/ble/ble_hs/init/init/index.html |   4 -
 develop/sitemap.xml                             |  20 +-
 index.html                                      |   3 +
 latest/index.html                               |   3 +
 latest/sitemap.xml                              |  20 +-
 sitemap.xml                                     |  20 +-
 v0_9_0/index.html                               |   3 +
 v0_9_0/sitemap.xml                              |  20 +-
 27 files changed, 846 insertions(+), 774 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/index.html
----------------------------------------------------------------------
diff --git a/develop/index.html b/develop/index.html
index c7ba1d0..f410497 100644
--- a/develop/index.html
+++ b/develop/index.html
@@ -214,6 +214,9 @@
                     <a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832/"> nRF52 DK </a> from Nordic Semiconductor (Cortex-M4)
                 </li>
                 <li>
+                    <a href="http://ruuvitag.com"> RuuviTag </a> Sensor beacon platform (Nordic nRF52832 based)
+                </li>
+                <li>
                     <a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF51822"> nRF51 DK </a> from Nordic Semiconductor (Cortex-M0)
                 </li>
                 <li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/develop/mkdocs/search_index.json b/develop/mkdocs/search_index.json
index 21b640d..ea45382 100644
--- a/develop/mkdocs/search_index.json
+++ b/develop/mkdocs/search_index.json
@@ -7397,7 +7397,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/init/init/", 
-            "text": "NimBLE Host Init and Config Reference\n\n\nIntroduction\n\n\nThis section is a reference on initializing and configuring the NimBLE host.\n\n\nHeader\n\n\n#include \nhost/ble_hs.h\n\n\n\n\n\n\nDefinitions\n\n\nBLE host init and config definitions\n\n\nFunctions\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nble_hs_init\n\n\nInitializes the NimBLE host.\n\n\n\n\n\n\nble_hs_rx_data\n\n\nCalled when a data packet is received from the controller.\n\n\n\n\n\n\nble_hs_start\n\n\nSynchronizes the host with the controller by sending a sequence of HCI commands.", 
+            "text": "NimBLE Host Init and Config Reference\n\n\nIntroduction\n\n\nThis section is a reference on initializing and configuring the NimBLE host.\n\n\nHeader\n\n\n#include \nhost/ble_hs.h\n\n\n\n\n\n\nDefinitions\n\n\nBLE host init and config definitions\n\n\nFunctions\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nble_hs_init\n\n\nInitializes the NimBLE host.\n\n\n\n\n\n\nble_hs_start\n\n\nSynchronizes the host with the controller by sending a sequence of HCI commands.", 
             "title": "toc"
         }, 
         {
@@ -7422,17 +7422,17 @@
         }, 
         {
             "location": "/network/ble/ble_hs/init/init/#functions", 
-            "text": "Function  Description      ble_hs_init  Initializes the NimBLE host.    ble_hs_rx_data  Called when a data packet is received from the controller.    ble_hs_start  Synchronizes the host with the controller by sending a sequence of HCI commands.", 
+            "text": "Function  Description      ble_hs_init  Initializes the NimBLE host.    ble_hs_start  Synchronizes the host with the controller by sending a sequence of HCI commands.", 
             "title": "Functions"
         }, 
         {
             "location": "/network/ble/ble_hs/init/definitions/init_defs/", 
-            "text": "Other definitions\n\n\n/* Defines the IO capabilities for the local device. */\n\n\n#define BLE_HS_IO_DISPLAY_ONLY              0x00\n\n\n#define BLE_HS_IO_DISPLAY_YESNO             0x01\n\n\n#define BLE_HS_IO_KEYBOARD_ONLY             0x02\n\n\n#define BLE_HS_IO_NO_INPUT_OUTPUT           0x03\n\n\n#define BLE_HS_IO_KEYBOARD_DISPLAY          0x04\n\n\n\n\n\n\nstruct\n \nble_hs_cfg\n {\n    \n/*** HCI settings. */\n\n    \n/**\n\n\n     * An HCI buffer is a \nflat\n 260-byte buffer.  HCI buffers are used by the\n\n\n     * controller to send unsolicited events to the host.\n\n\n     *\n\n\n     * HCI buffers can get tied up when the controller sends lots of\n\n\n     * asynchronous / unsolicited events (i.e., non-acks).  When the controller\n\n\n     * needs to send one of these events, it allocates an HCI buffer, fills it\n\n\n     * with the event payload, and puts it on a host queue.  If the controller\n\n\n     * sends a quick burst of these events, the buffe
 r pool may be exhausted,\n\n\n     * preventing the host from sending an HCI command to the controller.\n\n\n     *\n\n\n     * Every time the controller sends a non-ack HCI event to the host, it also\n\n\n     * allocates an OS event (it is unfortunate that these are both called\n\n\n     * \nevents\n).  The OS event is put on the host-parent-task\ns event queue;\n\n\n     * it is what wakes up the host-parent-task and indicates that an HCI event\n\n\n     * needs to be processsed.  The pool of OS events is allocated with the\n\n\n     * same number of elements as the HCI buffer pool.\n\n\n     */\n\n    \nuint8_t\n \nmax_hci_bufs\n;\n\n    \n/*** Connection settings. */\n\n    \n/**\n\n\n     * The maximum number of concurrent connections.  This is set\n\n\n     * automatically according to the build-time option\n\n\n     * NIMBLE_OPT_MAX_CONNECTIONS.\n\n\n     */\n\n    \nuint8_t\n \nmax_connections\n;\n\n    \n/*** GATT server settings. */\n\n    \n/**\n\n\n     * These are acqu
 ired at service registration time and never freed.  You\n\n\n     * need one of these for every service that you register.\n\n\n     */\n\n    \nuint16_t\n \nmax_services\n;\n\n    \n/**\n\n\n     * The total number of in-RAM client characteristic configuration\n\n\n     * descriptors (CCCDs).  One of these is consumed each time a peer\n\n\n     * subscribes to notifications or indications for a characteristic that\n\n\n     * your device serves.  In addition, at service registration time, the host\n\n\n     * uses one of these for each characteristic that supports notifications or\n\n\n     * indications.  So, the formula which guarantees no resource exhaustion\n\n\n     * is:\n\n\n     *     (num-subscribable-characteristics) * (max-connections + 1)\n\n\n     */\n\n    \nuint16_t\n \nmax_client_configs\n;\n\n    \n/*** GATT client settings. */\n\n    \n/**\n\n\n     * The maximum number of concurrent GATT client procedures.  When you\n\n\n     * initiate a GATT procedure (e.g., re
 ad a characteristic, discover\n\n\n     * services, etc.), one of these is consumed.  The resource is freed when\n\n\n     * the procedure completes.\n\n\n     */\n\n    \nuint8_t\n \nmax_gattc_procs\n;\n\n    \n/*** ATT server settings. */\n\n    \n/**\n\n\n     * The total number of local ATT attributes.  Attributes are consumed at\n\n\n     * service registration time and are never freed.  Attributes are used by\n\n\n     * GATT server entities: services, characteristics, and descriptors\n\n\n     * according to the following formula:\n\n\n     *     (num-services + (num-characteristics * 2) + num-descriptors)\n\n\n     *\n\n\n     * Every characteristic that supports indications or notifications\n\n\n     * automatically gets a descriptor.  All other descriptors are specified by\n\n\n     * the application at service registration time.\n\n\n     */\n\n    \nuint16_t\n \nmax_attrs\n;\n\n    \n/**\n\n\n     * A GATT server uses these when a peer performs a \nwrite long\n\n\n     *
  characteristic values\n or \nwrite long characteristic descriptors\n\n\n     * procedure.  One of these resources is consumed each time a peer sends a\n\n\n     * partial write.  These procedures are not used often.\n\n\n     */\n\n    \nuint8_t\n \nmax_prep_entries\n;\n\n    \n/*** L2CAP settings. */\n\n    \n/**\n\n\n     * Each connection requires three L2CAP channels (signal, ATT, and security\n\n\n     * manager).  In addition, the nimble host may allow channels to be created\n\n\n     * \non the fly\n (connection-oriented channels).  This functionality is not\n\n\n     * available at the moment, so a safe formula to use is:\n\n\n     *     (max-connections * 3)\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_chans\n;\n\n    \n/**\n\n\n     * The maximum number of concurrent L2CAP signalling procedures.  Only one\n\n\n     * L2CAP signalling procedure is supported: slave-initiated connection\n\n\n     * update.  You will never need more of these than the max number of\n\n\n     * 
 connections.\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_sig_procs\n;\n\n    \n/**\n\n\n     * The maximum number of concurrent security manager procedures.  Security\n\n\n     * manager procedures include pairing and restoration of a bonded link.\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_sm_procs\n;\n\n    \n/*** Security manager settings. */\n\n    \nuint8_t\n \nsm_io_cap\n;\n    \nunsigned\n \nsm_oob_data_flag\n:\n1\n;\n    \nunsigned\n \nsm_bonding\n:\n1\n;\n    \nunsigned\n \nsm_mitm\n:\n1\n;\n    \nunsigned\n \nsm_sc\n:\n1\n;\n    \nunsigned\n \nsm_keypress\n:\n1\n;\n    \nuint8_t\n \nsm_our_key_dist\n;\n    \nuint8_t\n \nsm_their_key_dist\n;\n\n    \n/*** Store settings. */\n\n    \n/**\n\n\n     * These function callbacks handle persistence of sercurity material\n\n\n     * (bonding).\n\n\n     */\n\n    \nble_store_read_fn\n \n*store_read_cb\n;\n    \nble_store_write_fn\n \n*store_write_cb\n;\n    \nble_store_delete_fn\n \n*store_delete_cb\n;\n\n    \n/*** privacy setting
 s */\n\n    \n/**\n\n\n     * The frequency at which new resovlable private addresses are generated.\n\n\n     * Units are seconds.\n\n\n     */\n\n    \nuint16_t\n \nrpa_timeout\n;\n};\n\n\n\n\n\nextern\n \nconst\n \nstruct\n \nble_hs_cfg\n \nble_hs_cfg_dflt\n;", 
+            "text": "Other definitions\n\n\n/* Defines the IO capabilities for the local device. */\n\n\n#define BLE_HS_IO_DISPLAY_ONLY              0x00\n\n\n#define BLE_HS_IO_DISPLAY_YESNO             0x01\n\n\n#define BLE_HS_IO_KEYBOARD_ONLY             0x02\n\n\n#define BLE_HS_IO_NO_INPUT_OUTPUT           0x03\n\n\n#define BLE_HS_IO_KEYBOARD_DISPLAY          0x04\n\n\n\n\n\n\nstruct\n \nble_hs_cfg\n {\n    \n/*** HCI settings. */\n\n    \n/**\n\n\n     * An HCI buffer is a \nflat\n 260-byte buffer.  HCI buffers are used by the\n\n\n     * controller to send unsolicited events to the host.\n\n\n     *\n\n\n     * HCI buffers can get tied up when the controller sends lots of\n\n\n     * asynchronous / unsolicited events (i.e., non-acks).  When the controller\n\n\n     * needs to send one of these events, it allocates an HCI buffer, fills it\n\n\n     * with the event payload, and puts it on a host queue.  If the controller\n\n\n     * sends a quick burst of these events, the buffe
 r pool may be exhausted,\n\n\n     * preventing the host from sending an HCI command to the controller.\n\n\n     *\n\n\n     * Every time the controller sends a non-ack HCI event to the host, it also\n\n\n     * allocates an OS event (it is unfortunate that these are both called\n\n\n     * \nevents\n).  The OS event is put on the host-parent-task\ns event queue;\n\n\n     * it is what wakes up the host-parent-task and indicates that an HCI event\n\n\n     * needs to be processsed.  The pool of OS events is allocated with the\n\n\n     * same number of elements as the HCI buffer pool.\n\n\n     */\n\n    \nuint8_t\n \nmax_hci_bufs\n;\n\n    \n/*** Connection settings. */\n\n    \n/**\n\n\n     * The maximum number of concurrent connections.  This is set\n\n\n     * automatically according to the build-time option\n\n\n     * NIMBLE_OPT_MAX_CONNECTIONS.\n\n\n     */\n\n    \nuint8_t\n \nmax_connections\n;\n\n    \n/*** GATT server settings. */\n\n    \n/**\n\n\n     * These are acqu
 ired at service registration time and never freed.  You\n\n\n     * need one of these for every service that you register.\n\n\n     */\n\n    \nuint16_t\n \nmax_services\n;\n\n    \n/**\n\n\n     * The total number of in-RAM client characteristic configuration\n\n\n     * descriptors (CCCDs).  One of these is consumed each time a peer\n\n\n     * subscribes to notifications or indications for a characteristic that\n\n\n     * your device serves.  In addition, at service registration time, the host\n\n\n     * uses one of these for each characteristic that supports notifications or\n\n\n     * indications.  So, the formula which guarantees no resource exhaustion\n\n\n     * is:\n\n\n     *     (num-subscribable-characteristics) * (max-connections + 1)\n\n\n     */\n\n    \nuint16_t\n \nmax_client_configs\n;\n\n    \n/**\n\n\n     * An optional callback that gets executed upon registration of each GATT\n\n\n     * resource (service, characteristic, or descriptor).\n\n\n     */\n\n   
  \nble_gatt_register_fn\n \n*gatts_register_cb\n;\n\n    \n/**\n\n\n     * An optional argument that gets passed to the GATT registration\n\n\n     * callback.\n\n\n     */\n\n    \nvoid\n \n*gatts_register_arg\n;\n\n    \n/*** GATT client settings. */\n\n    \n/**\n\n\n     * The maximum number of concurrent GATT client procedures.  When you\n\n\n     * initiate a GATT procedure (e.g., read a characteristic, discover\n\n\n     * services, etc.), one of these is consumed.  The resource is freed when\n\n\n     * the procedure completes.\n\n\n     */\n\n    \nuint8_t\n \nmax_gattc_procs\n;\n\n    \n/*** ATT server settings. */\n\n    \n/**\n\n\n     * The total number of local ATT attributes.  Attributes are consumed at\n\n\n     * service registration time and are never freed.  Attributes are used by\n\n\n     * GATT server entities: services, characteristics, and descriptors\n\n\n     * according to the following formula:\n\n\n     *     (num-services + (num-characteristics * 2) + n
 um-descriptors)\n\n\n     *\n\n\n     * Every characteristic that supports indications or notifications\n\n\n     * automatically gets a descriptor.  All other descriptors are specified by\n\n\n     * the application at service registration time.\n\n\n     */\n\n    \nuint16_t\n \nmax_attrs\n;\n\n    \n/**\n\n\n     * A GATT server uses these when a peer performs a \nwrite long\n\n\n     * characteristic values\n or \nwrite long characteristic descriptors\n\n\n     * procedure.  One of these resources is consumed each time a peer sends a\n\n\n     * partial write.  These procedures are not used often.\n\n\n     */\n\n    \nuint8_t\n \nmax_prep_entries\n;\n\n    \n/*** L2CAP settings. */\n\n    \n/**\n\n\n     * Each connection requires three L2CAP channels (signal, ATT, and security\n\n\n     * manager).  In addition, the nimble host may allow channels to be created\n\n\n     * \non the fly\n (connection-oriented channels).  This functionality is not\n\n\n     * available at the mom
 ent, so a safe formula to use is:\n\n\n     *     (max-connections * 3)\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_chans\n;\n\n    \n/**\n\n\n     * The maximum number of concurrent L2CAP signalling procedures.  Only one\n\n\n     * L2CAP signalling procedure is supported: slave-initiated connection\n\n\n     * update.  You will never need more of these than the max number of\n\n\n     * connections.\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_sig_procs\n;\n\n    \n/**\n\n\n     * The maximum number of concurrent security manager procedures.  Security\n\n\n     * manager procedures include pairing and restoration of a bonded link.\n\n\n     */\n\n    \nuint8_t\n \nmax_l2cap_sm_procs\n;\n\n    \n/*** Security manager settings. */\n\n    \nuint8_t\n \nsm_io_cap\n;\n    \nunsigned\n \nsm_oob_data_flag\n:\n1\n;\n    \nunsigned\n \nsm_bonding\n:\n1\n;\n    \nunsigned\n \nsm_mitm\n:\n1\n;\n    \nunsigned\n \nsm_sc\n:\n1\n;\n    \nunsigned\n \nsm_keypress\n:\n1\n;\n    \nuint8_t\n \nsm_ou
 r_key_dist\n;\n    \nuint8_t\n \nsm_their_key_dist\n;\n\n    \n/*** Store settings. */\n\n    \n/**\n\n\n     * These function callbacks handle persistence of sercurity material\n\n\n     * (bonding).\n\n\n     */\n\n    \nble_store_read_fn\n \n*store_read_cb\n;\n    \nble_store_write_fn\n \n*store_write_cb\n;\n    \nble_store_delete_fn\n \n*store_delete_cb\n;\n\n    \n/*** privacy settings */\n\n    \n/**\n\n\n     * The frequency at which new resovlable private addresses are generated.\n\n\n     * Units are seconds.\n\n\n     */\n\n    \nuint16_t\n \nrpa_timeout\n;\n};\n\n\n\n\n\nextern\n \nconst\n \nstruct\n \nble_hs_cfg\n \nble_hs_cfg_dflt\n;", 
             "title": "Init and config definitions"
         }, 
         {
             "location": "/network/ble/ble_hs/init/definitions/init_defs/#other-definitions", 
-            "text": "/* Defines the IO capabilities for the local device. */  #define BLE_HS_IO_DISPLAY_ONLY              0x00  #define BLE_HS_IO_DISPLAY_YESNO             0x01  #define BLE_HS_IO_KEYBOARD_ONLY             0x02  #define BLE_HS_IO_NO_INPUT_OUTPUT           0x03  #define BLE_HS_IO_KEYBOARD_DISPLAY          0x04   struct   ble_hs_cfg  {\n     /*** HCI settings. */ \n     /**       * An HCI buffer is a  flat  260-byte buffer.  HCI buffers are used by the       * controller to send unsolicited events to the host.       *       * HCI buffers can get tied up when the controller sends lots of       * asynchronous / unsolicited events (i.e., non-acks).  When the controller       * needs to send one of these events, it allocates an HCI buffer, fills it       * with the event payload, and puts it on a host queue.  If the controller       * sends a quick burst of these events, the buffer pool may be exhausted,       * preventing the host from sending an HCI command to the contro
 ller.       *       * Every time the controller sends a non-ack HCI event to the host, it also       * allocates an OS event (it is unfortunate that these are both called       *  events ).  The OS event is put on the host-parent-task s event queue;       * it is what wakes up the host-parent-task and indicates that an HCI event       * needs to be processsed.  The pool of OS events is allocated with the       * same number of elements as the HCI buffer pool.       */ \n     uint8_t   max_hci_bufs ;\n\n     /*** Connection settings. */ \n     /**       * The maximum number of concurrent connections.  This is set       * automatically according to the build-time option       * NIMBLE_OPT_MAX_CONNECTIONS.       */ \n     uint8_t   max_connections ;\n\n     /*** GATT server settings. */ \n     /**       * These are acquired at service registration time and never freed.  You       * need one of these for every service that you register.       */ \n     uint16_t   max_services ;\n\n     
 /**       * The total number of in-RAM client characteristic configuration       * descriptors (CCCDs).  One of these is consumed each time a peer       * subscribes to notifications or indications for a characteristic that       * your device serves.  In addition, at service registration time, the host       * uses one of these for each characteristic that supports notifications or       * indications.  So, the formula which guarantees no resource exhaustion       * is:       *     (num-subscribable-characteristics) * (max-connections + 1)       */ \n     uint16_t   max_client_configs ;\n\n     /*** GATT client settings. */ \n     /**       * The maximum number of concurrent GATT client procedures.  When you       * initiate a GATT procedure (e.g., read a characteristic, discover       * services, etc.), one of these is consumed.  The resource is freed when       * the procedure completes.       */ \n     uint8_t   max_gattc_procs ;\n\n     /*** ATT server settings. */ \n     /**  
      * The total number of local ATT attributes.  Attributes are consumed at       * service registration time and are never freed.  Attributes are used by       * GATT server entities: services, characteristics, and descriptors       * according to the following formula:       *     (num-services + (num-characteristics * 2) + num-descriptors)       *       * Every characteristic that supports indications or notifications       * automatically gets a descriptor.  All other descriptors are specified by       * the application at service registration time.       */ \n     uint16_t   max_attrs ;\n\n     /**       * A GATT server uses these when a peer performs a  write long       * characteristic values  or  write long characteristic descriptors       * procedure.  One of these resources is consumed each time a peer sends a       * partial write.  These procedures are not used often.       */ \n     uint8_t   max_prep_entries ;\n\n     /*** L2CAP settings. */ \n     /**       * Each co
 nnection requires three L2CAP channels (signal, ATT, and security       * manager).  In addition, the nimble host may allow channels to be created       *  on the fly  (connection-oriented channels).  This functionality is not       * available at the moment, so a safe formula to use is:       *     (max-connections * 3)       */ \n     uint8_t   max_l2cap_chans ;\n\n     /**       * The maximum number of concurrent L2CAP signalling procedures.  Only one       * L2CAP signalling procedure is supported: slave-initiated connection       * update.  You will never need more of these than the max number of       * connections.       */ \n     uint8_t   max_l2cap_sig_procs ;\n\n     /**       * The maximum number of concurrent security manager procedures.  Security       * manager procedures include pairing and restoration of a bonded link.       */ \n     uint8_t   max_l2cap_sm_procs ;\n\n     /*** Security manager settings. */ \n     uint8_t   sm_io_cap ;\n     unsigned   sm_oob_data_fl
 ag : 1 ;\n     unsigned   sm_bonding : 1 ;\n     unsigned   sm_mitm : 1 ;\n     unsigned   sm_sc : 1 ;\n     unsigned   sm_keypress : 1 ;\n     uint8_t   sm_our_key_dist ;\n     uint8_t   sm_their_key_dist ;\n\n     /*** Store settings. */ \n     /**       * These function callbacks handle persistence of sercurity material       * (bonding).       */ \n     ble_store_read_fn   *store_read_cb ;\n     ble_store_write_fn   *store_write_cb ;\n     ble_store_delete_fn   *store_delete_cb ;\n\n     /*** privacy settings */ \n     /**       * The frequency at which new resovlable private addresses are generated.       * Units are seconds.       */ \n     uint16_t   rpa_timeout ;\n};  extern   const   struct   ble_hs_cfg   ble_hs_cfg_dflt ;", 
+            "text": "/* Defines the IO capabilities for the local device. */  #define BLE_HS_IO_DISPLAY_ONLY              0x00  #define BLE_HS_IO_DISPLAY_YESNO             0x01  #define BLE_HS_IO_KEYBOARD_ONLY             0x02  #define BLE_HS_IO_NO_INPUT_OUTPUT           0x03  #define BLE_HS_IO_KEYBOARD_DISPLAY          0x04   struct   ble_hs_cfg  {\n     /*** HCI settings. */ \n     /**       * An HCI buffer is a  flat  260-byte buffer.  HCI buffers are used by the       * controller to send unsolicited events to the host.       *       * HCI buffers can get tied up when the controller sends lots of       * asynchronous / unsolicited events (i.e., non-acks).  When the controller       * needs to send one of these events, it allocates an HCI buffer, fills it       * with the event payload, and puts it on a host queue.  If the controller       * sends a quick burst of these events, the buffer pool may be exhausted,       * preventing the host from sending an HCI command to the contro
 ller.       *       * Every time the controller sends a non-ack HCI event to the host, it also       * allocates an OS event (it is unfortunate that these are both called       *  events ).  The OS event is put on the host-parent-task s event queue;       * it is what wakes up the host-parent-task and indicates that an HCI event       * needs to be processsed.  The pool of OS events is allocated with the       * same number of elements as the HCI buffer pool.       */ \n     uint8_t   max_hci_bufs ;\n\n     /*** Connection settings. */ \n     /**       * The maximum number of concurrent connections.  This is set       * automatically according to the build-time option       * NIMBLE_OPT_MAX_CONNECTIONS.       */ \n     uint8_t   max_connections ;\n\n     /*** GATT server settings. */ \n     /**       * These are acquired at service registration time and never freed.  You       * need one of these for every service that you register.       */ \n     uint16_t   max_services ;\n\n     
 /**       * The total number of in-RAM client characteristic configuration       * descriptors (CCCDs).  One of these is consumed each time a peer       * subscribes to notifications or indications for a characteristic that       * your device serves.  In addition, at service registration time, the host       * uses one of these for each characteristic that supports notifications or       * indications.  So, the formula which guarantees no resource exhaustion       * is:       *     (num-subscribable-characteristics) * (max-connections + 1)       */ \n     uint16_t   max_client_configs ;\n\n     /**       * An optional callback that gets executed upon registration of each GATT       * resource (service, characteristic, or descriptor).       */ \n     ble_gatt_register_fn   *gatts_register_cb ;\n\n     /**       * An optional argument that gets passed to the GATT registration       * callback.       */ \n     void   *gatts_register_arg ;\n\n     /*** GATT client settings. */ \n     /
 **       * The maximum number of concurrent GATT client procedures.  When you       * initiate a GATT procedure (e.g., read a characteristic, discover       * services, etc.), one of these is consumed.  The resource is freed when       * the procedure completes.       */ \n     uint8_t   max_gattc_procs ;\n\n     /*** ATT server settings. */ \n     /**       * The total number of local ATT attributes.  Attributes are consumed at       * service registration time and are never freed.  Attributes are used by       * GATT server entities: services, characteristics, and descriptors       * according to the following formula:       *     (num-services + (num-characteristics * 2) + num-descriptors)       *       * Every characteristic that supports indications or notifications       * automatically gets a descriptor.  All other descriptors are specified by       * the application at service registration time.       */ \n     uint16_t   max_attrs ;\n\n     /**       * A GATT server uses th
 ese when a peer performs a  write long       * characteristic values  or  write long characteristic descriptors       * procedure.  One of these resources is consumed each time a peer sends a       * partial write.  These procedures are not used often.       */ \n     uint8_t   max_prep_entries ;\n\n     /*** L2CAP settings. */ \n     /**       * Each connection requires three L2CAP channels (signal, ATT, and security       * manager).  In addition, the nimble host may allow channels to be created       *  on the fly  (connection-oriented channels).  This functionality is not       * available at the moment, so a safe formula to use is:       *     (max-connections * 3)       */ \n     uint8_t   max_l2cap_chans ;\n\n     /**       * The maximum number of concurrent L2CAP signalling procedures.  Only one       * L2CAP signalling procedure is supported: slave-initiated connection       * update.  You will never need more of these than the max number of       * connections.       */ \n
      uint8_t   max_l2cap_sig_procs ;\n\n     /**       * The maximum number of concurrent security manager procedures.  Security       * manager procedures include pairing and restoration of a bonded link.       */ \n     uint8_t   max_l2cap_sm_procs ;\n\n     /*** Security manager settings. */ \n     uint8_t   sm_io_cap ;\n     unsigned   sm_oob_data_flag : 1 ;\n     unsigned   sm_bonding : 1 ;\n     unsigned   sm_mitm : 1 ;\n     unsigned   sm_sc : 1 ;\n     unsigned   sm_keypress : 1 ;\n     uint8_t   sm_our_key_dist ;\n     uint8_t   sm_their_key_dist ;\n\n     /*** Store settings. */ \n     /**       * These function callbacks handle persistence of sercurity material       * (bonding).       */ \n     ble_store_read_fn   *store_read_cb ;\n     ble_store_write_fn   *store_write_cb ;\n     ble_store_delete_fn   *store_delete_cb ;\n\n     /*** privacy settings */ \n     /**       * The frequency at which new resovlable private addresses are generated.       * Units are seconds.   
     */ \n     uint16_t   rpa_timeout ;\n};  extern   const   struct   ble_hs_cfg   ble_hs_cfg_dflt ;", 
             "title": "Other definitions"
         }, 
         {
@@ -7461,31 +7461,6 @@
             "title": "Returned values"
         }, 
         {
-            "location": "/network/ble/ble_hs/init/functions/ble_hs_rx_data/", 
-            "text": "ble_hs_rx_data\n\n\nint\n\n\nble_hs_rx_data\n(\nstruct\n \nos_mbuf\n \n**om\n)\n\n\n\n\n\nDescription\n\n\nCalled when a data packet is received from the controller.  This function consumes the supplied mbuf, regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nom\n\n\nThe incoming data packet, beginning with the HCI ACL data header.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
-            "title": "ble_hs_rx_data"
-        }, 
-        {
-            "location": "/network/ble/ble_hs/init/functions/ble_hs_rx_data/#ble95hs95rx95data", 
-            "text": "int  ble_hs_rx_data ( struct   os_mbuf   **om )", 
-            "title": "ble_hs_rx_data"
-        }, 
-        {
-            "location": "/network/ble/ble_hs/init/functions/ble_hs_rx_data/#description", 
-            "text": "Called when a data packet is received from the controller.  This function consumes the supplied mbuf, regardless of the outcome.", 
-            "title": "Description"
-        }, 
-        {
-            "location": "/network/ble/ble_hs/init/functions/ble_hs_rx_data/#parameters", 
-            "text": "Parameter  Description      om  The incoming data packet, beginning with the HCI ACL data header.", 
-            "title": "Parameters"
-        }, 
-        {
-            "location": "/network/ble/ble_hs/init/functions/ble_hs_rx_data/#returned-values", 
-            "text": "Value  Condition      0  Success.    Core return code  Unexpected error.", 
-            "title": "Returned values"
-        }, 
-        {
             "location": "/network/ble/ble_hs/init/functions/ble_hs_start/", 
             "text": "ble_hs_start\n\n\nint\n\n\nble_hs_start\n(\nvoid\n)\n\n\n\n\n\nDescription\n\n\nSynchronizes the host with the controller by sending a sequence of HCI commands.  This function must be called before any other host functionality is used, but it must be called after both the host and controller are initialized.  Typically, the host-parent-task calls this function at the top of its task routine.\n\n\nParameters\n\n\nNone\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_hs_start"
@@ -8242,12 +8217,12 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/", 
-            "text": "ble_gattc_notify_custom\n\n\nint\n\n\nble_gattc_notify_custom\n(\n          \nuint16_t\n   \nconn_handle\n,\n          \nuint16_t\n   \nchr_val_handle\n,\n    \nstruct\n \nos_mbuf\n \n**txom\n\n)\n\n\n\n\n\nDescription\n\n\nSends a \"free-form\" characteristic notification.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nchr_val_handle\n\n\nThe attribute handle to indicate in the outgoing notification.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
+            "text": "ble_gattc_notify_custom\n\n\nint\n\n\nble_gattc_notify_custom\n(\n          \nuint16_t\n  \nconn_handle\n,\n          \nuint16_t\n  \nchr_val_handle\n,\n    \nstruct\n \nos_mbuf\n \n*txom\n\n)\n\n\n\n\n\nDescription\n\n\nSends a \"free-form\" characteristic notification.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nchr_val_handle\n\n\nThe attribute handle to indicate in the outgoing notification.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_gattc_notify_custom"
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/#ble95gattc95notify95custom", 
-            "text": "int  ble_gattc_notify_custom (\n           uint16_t     conn_handle ,\n           uint16_t     chr_val_handle ,\n     struct   os_mbuf   **txom \n)", 
+            "text": "int  ble_gattc_notify_custom (\n           uint16_t    conn_handle ,\n           uint16_t    chr_val_handle ,\n     struct   os_mbuf   *txom \n)", 
             "title": "ble_gattc_notify_custom"
         }, 
         {
@@ -8257,7 +8232,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/#parameters", 
-            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    chr_val_handle  The attribute handle to indicate in the outgoing notification.    txom  The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.", 
+            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    chr_val_handle  The attribute handle to indicate in the outgoing notification.    txom  The value to write to the characteristic.", 
             "title": "Parameters"
         }, 
         {
@@ -8367,12 +8342,12 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/", 
-            "text": "ble_gattc_write\n\n\nint\n\n\nble_gattc_write\n(\n            \nuint16_t\n   \nconn_handle\n,\n            \nuint16_t\n   \nattr_handle\n,\n      \nstruct\n \nos_mbuf\n \n**txom\n,\n    \nble_gatt_attr_fn\n  \n*cb\n,\n                \nvoid\n  \n*cb_arg\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Characteristic Value.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.\n\n\n\n\n\n\ncb\n\n\nThe function to call to report procedure status updates; null for no callback.\n\n\n\n\n\n\ncb_arg\n\n\nThe optional argument to pass to the callback function.\n\n\n\n\n\
 n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
+            "text": "ble_gattc_write\n\n\nint\n\n\nble_gattc_write\n(\n            \nuint16_t\n  \nconn_handle\n,\n            \nuint16_t\n  \nattr_handle\n,\n      \nstruct\n \nos_mbuf\n \n*txom\n,\n    \nble_gatt_attr_fn\n \n*cb\n,\n                \nvoid\n \n*cb_arg\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Characteristic Value.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic.\n\n\n\n\n\n\ncb\n\n\nThe function to call to report procedure status updates; null for no callback.\n\n\n\n\n\n\ncb_arg\n\n\nThe optional argument to pass to the callback function.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0
 \n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_gattc_write"
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/#ble95gattc95write", 
-            "text": "int  ble_gattc_write (\n             uint16_t     conn_handle ,\n             uint16_t     attr_handle ,\n       struct   os_mbuf   **txom ,\n     ble_gatt_attr_fn    *cb ,\n                 void    *cb_arg \n)", 
+            "text": "int  ble_gattc_write (\n             uint16_t    conn_handle ,\n             uint16_t    attr_handle ,\n       struct   os_mbuf   *txom ,\n     ble_gatt_attr_fn   *cb ,\n                 void   *cb_arg \n)", 
             "title": "ble_gattc_write"
         }, 
         {
@@ -8382,7 +8357,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/#parameters", 
-            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.    cb  The function to call to report procedure status updates; null for no callback.    cb_arg  The optional argument to pass to the callback function.", 
+            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic.    cb  The function to call to report procedure status updates; null for no callback.    cb_arg  The optional argument to pass to the callback function.", 
             "title": "Parameters"
         }, 
         {
@@ -8417,12 +8392,12 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/", 
-            "text": "ble_gattc_write_long\n\n\nint\n\n\nble_gattc_write_long\n(\n            \nuint16_t\n   \nconn_handle\n,\n            \nuint16_t\n   \nattr_handle\n,\n      \nstruct\n \nos_mbuf\n \n**txom\n,\n    \nble_gatt_attr_fn\n  \n*cb\n,\n                \nvoid\n  \n*cb_arg\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Long Characteristic Values.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.\n\n\n\n\n\n\ncb\n\n\nThe function to call to report procedure status updates; null for no callback.\n\n\n\n\n\n\ncb_arg\n\n\nThe optional argument to pass to the callback func
 tion.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
+            "text": "ble_gattc_write_long\n\n\nint\n\n\nble_gattc_write_long\n(\n            \nuint16_t\n  \nconn_handle\n,\n            \nuint16_t\n  \nattr_handle\n,\n      \nstruct\n \nos_mbuf\n \n*txom\n,\n    \nble_gatt_attr_fn\n \n*cb\n,\n                \nvoid\n \n*cb_arg\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Long Characteristic Values.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic.\n\n\n\n\n\n\ncb\n\n\nThe function to call to report procedure status updates; null for no callback.\n\n\n\n\n\n\ncb_arg\n\n\nThe optional argument to pass to the callback function.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\
 n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_gattc_write_long"
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/#ble95gattc95write95long", 
-            "text": "int  ble_gattc_write_long (\n             uint16_t     conn_handle ,\n             uint16_t     attr_handle ,\n       struct   os_mbuf   **txom ,\n     ble_gatt_attr_fn    *cb ,\n                 void    *cb_arg \n)", 
+            "text": "int  ble_gattc_write_long (\n             uint16_t    conn_handle ,\n             uint16_t    attr_handle ,\n       struct   os_mbuf   *txom ,\n     ble_gatt_attr_fn   *cb ,\n                 void   *cb_arg \n)", 
             "title": "ble_gattc_write_long"
         }, 
         {
@@ -8432,7 +8407,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/#parameters", 
-            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.    cb  The function to call to report procedure status updates; null for no callback.    cb_arg  The optional argument to pass to the callback function.", 
+            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic.    cb  The function to call to report procedure status updates; null for no callback.    cb_arg  The optional argument to pass to the callback function.", 
             "title": "Parameters"
         }, 
         {
@@ -8442,12 +8417,12 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/", 
-            "text": "ble_gattc_write_no_rsp\n\n\nint\n\n\nble_gattc_write_no_rsp\n(\n          \nuint16_t\n   \nconn_handle\n,\n          \nuint16_t\n   \nattr_handle\n,\n    \nstruct\n \nos_mbuf\n \n**txom\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Without Response.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
+            "text": "ble_gattc_write_no_rsp\n\n\nint\n\n\nble_gattc_write_no_rsp\n(\n          \nuint16_t\n  \nconn_handle\n,\n          \nuint16_t\n  \nattr_handle\n,\n    \nstruct\n \nos_mbuf\n \n*txom\n\n)\n\n\n\n\n\nDescription\n\n\nInitiates GATT procedure: Write Without Response.  This function consumes the supplied mbuf regardless of the outcome.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nconn_handle\n\n\nThe connection over which to execute the procedure.\n\n\n\n\n\n\nattr_handle\n\n\nThe handle of the characteristic value to write to.\n\n\n\n\n\n\ntxom\n\n\nThe value to write to the characteristic.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_gattc_write_no_rsp"
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/#ble95gattc95write95no95rsp", 
-            "text": "int  ble_gattc_write_no_rsp (\n           uint16_t     conn_handle ,\n           uint16_t     attr_handle ,\n     struct   os_mbuf   **txom \n)", 
+            "text": "int  ble_gattc_write_no_rsp (\n           uint16_t    conn_handle ,\n           uint16_t    attr_handle ,\n     struct   os_mbuf   *txom \n)", 
             "title": "ble_gattc_write_no_rsp"
         }, 
         {
@@ -8457,7 +8432,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/#parameters", 
-            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.", 
+            "text": "Parameter  Description      conn_handle  The connection over which to execute the procedure.    attr_handle  The handle of the characteristic value to write to.    txom  The value to write to the characteristic.", 
             "title": "Parameters"
         }, 
         {
@@ -8517,7 +8492,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gatts/ble_gatts/", 
-            "text": "NimBLE Host GATT Server Reference\n\n\nIntroduction\n\n\nThe Generic Attribute Profile (GATT) manages all activities involving services, characteristics, and descriptors.  The server half of the GATT API handles registration and responding to GATT clients.\n\n\nHeader\n\n\n#include \nhost/ble_hs.h\n\n\n\n\n\n\nDefinitions\n\n\nBLE host GATT server definitions\n\n\nFunctions\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nble_gatts_count_resources\n\n\nAccumulates counts of each resource type required by the specified service definition array.\n\n\n\n\n\n\nble_gatts_find_chr\n\n\nRetrieves the pair of attribute handles associated with a local GATT characteristic.\n\n\n\n\n\n\nble_gatts_find_dsc\n\n\nRetrieves the attribute handle associated with a local GATT descriptor.\n\n\n\n\n\n\nble_gatts_find_svc\n\n\nRetrieves the attribute handle associated with a local GATT service.\n\n\n\n\n\n\nble_gatts_register_svcs\n\n\nRegisters a set of services, cha
 racteristics, and descriptors to be accessed by GATT clients.", 
+            "text": "NimBLE Host GATT Server Reference\n\n\nIntroduction\n\n\nThe Generic Attribute Profile (GATT) manages all activities involving services, characteristics, and descriptors.  The server half of the GATT API handles registration and responding to GATT clients.\n\n\nHeader\n\n\n#include \nhost/ble_hs.h\n\n\n\n\n\n\nDefinitions\n\n\nBLE host GATT server definitions\n\n\nFunctions\n\n\n\n\n\n\n\n\nFunction\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nble_gatts_add_svcs\n\n\nQueues a set of service definitions for registration.\n\n\n\n\n\n\nble_gatts_count_resources\n\n\nAccumulates counts of each resource type required by the specified service definition array.\n\n\n\n\n\n\nble_gatts_find_chr\n\n\nRetrieves the pair of attribute handles associated with a local GATT characteristic.\n\n\n\n\n\n\nble_gatts_find_dsc\n\n\nRetrieves the attribute handle associated with a local GATT descriptor.\n\n\n\n\n\n\nble_gatts_find_svc\n\n\nRetrieves the attribute handle associated with a loc
 al GATT service.\n\n\n\n\n\n\nble_gatts_register_svcs\n\n\nRegisters a set of services, characteristics, and descriptors to be accessed by GATT clients.", 
             "title": "toc"
         }, 
         {
@@ -8542,7 +8517,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_gatts/ble_gatts/#functions", 
-            "text": "Function  Description      ble_gatts_count_resources  Accumulates counts of each resource type required by the specified service definition array.    ble_gatts_find_chr  Retrieves the pair of attribute handles associated with a local GATT characteristic.    ble_gatts_find_dsc  Retrieves the attribute handle associated with a local GATT descriptor.    ble_gatts_find_svc  Retrieves the attribute handle associated with a local GATT service.    ble_gatts_register_svcs  Registers a set of services, characteristics, and descriptors to be accessed by GATT clients.", 
+            "text": "Function  Description      ble_gatts_add_svcs  Queues a set of service definitions for registration.    ble_gatts_count_resources  Accumulates counts of each resource type required by the specified service definition array.    ble_gatts_find_chr  Retrieves the pair of attribute handles associated with a local GATT characteristic.    ble_gatts_find_dsc  Retrieves the attribute handle associated with a local GATT descriptor.    ble_gatts_find_svc  Retrieves the attribute handle associated with a local GATT service.    ble_gatts_register_svcs  Registers a set of services, characteristics, and descriptors to be accessed by GATT clients.", 
             "title": "Functions"
         }, 
         {
@@ -8556,6 +8531,31 @@
             "title": "GATT Server Definitions"
         }, 
         {
+            "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/", 
+            "text": "ble_gatts_add_svcs\n\n\nint\n\n\nble_gatts_add_svcs\n(\nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n)\n\n\n\n\n\nDescription\n\n\nQueues a set of service definitions for registration.  All services queued in this manner get registered when ble_hs_init() is called.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nAn array of service definitions to queue for registration.  This array must be terminated with an entry whose 'type' equals 0.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nBLE_HS_ENOMEM\n\n\nHeap exhaustion.", 
+            "title": "ble_gatts_add_svcs"
+        }, 
+        {
+            "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/#ble95gatts95add95svcs", 
+            "text": "int  ble_gatts_add_svcs ( const   struct   ble_gatt_svc_def   *svcs )", 
+            "title": "ble_gatts_add_svcs"
+        }, 
+        {
+            "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/#description", 
+            "text": "Queues a set of service definitions for registration.  All services queued in this manner get registered when ble_hs_init() is called.", 
+            "title": "Description"
+        }, 
+        {
+            "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/#parameters", 
+            "text": "Parameter  Description      svcs  An array of service definitions to queue for registration.  This array must be terminated with an entry whose 'type' equals 0.", 
+            "title": "Parameters"
+        }, 
+        {
+            "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/#returned-values", 
+            "text": "Value  Condition      0  Success.    BLE_HS_ENOMEM  Heap exhaustion.", 
+            "title": "Returned values"
+        }, 
+        {
             "location": "/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/", 
             "text": "ble_gatts_count_resources\n\n\nint\n\n\nble_gatts_count_resources\n(\n    \nconst\n \nstruct\n \nble_gatt_svc_def\n \n*svcs\n,\n        \nstruct\n \nble_gatt_resources\n \n*res\n\n)\n\n\n\n\n\nDescription\n\n\nAccumulates counts of each resource type required by the specified service definition array.  This function is generally used to calculate some host configuration values prior to initialization.  This function adds the counts to the appropriate fields in the supplied ble_gatt_resources object without clearing them first, so it can be called repeatedly with different inputs to calculate totals.  Be sure to zero the resource struct prior to the first call to this function.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nsvcs\n\n\nThe service array containing the resource definitions to be counted.\n\n\n\n\n\n\nres\n\n\nThe resource counts are accumulated in this struct.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\
 n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nBLE_HS_EINVAL\n\n\nThe svcs array contains an invalid resource definition.", 
             "title": "ble_gatts_count_resources"
@@ -8892,12 +8892,12 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/", 
-            "text": "ble_att_svr_write_local\n\n\nint\n\n\nble_att_svr_write_local\n(\n          \nuint16_t\n   \nattr_handle\n,\n    \nstruct\n \nos_mbuf\n \n**om\n\n)\n\n\n\n\n\nDescription\n\n\nWrites a locally registered attribute.  This function consumes the supplied mbuf regardless of the outcome.  If the specified attribute handle coresponds to a GATT characteristic value or descriptor, the write is performed by calling the registered GATT access callback.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nattr_handle\n\n\nThe 16-bit handle of the attribute to write.\n\n\n\n\n\n\nom\n\n\nThe value to write to the attribute.  Double indirection is used to effect a transfer of ownership from the caller.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nATT return code\n\n\nThe attribute access callback reports failure.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
+            "text": "ble_att_svr_write_local\n\n\nint\n\n\nble_att_svr_write_local\n(\n          \nuint16_t\n  \nattr_handle\n,\n    \nstruct\n \nos_mbuf\n \n*om\n\n)\n\n\n\n\n\nDescription\n\n\nWrites a locally registered attribute.  This function consumes the supplied mbuf regardless of the outcome.  If the specified attribute handle coresponds to a GATT characteristic value or descriptor, the write is performed by calling the registered GATT access callback.\n\n\nParameters\n\n\n\n\n\n\n\n\nParameter\n\n\nDescription\n\n\n\n\n\n\n\n\n\n\nattr_handle\n\n\nThe 16-bit handle of the attribute to write.\n\n\n\n\n\n\nom\n\n\nThe value to write to the attribute.\n\n\n\n\n\n\n\n\nReturned values\n\n\n\n\n\n\n\n\nValue\n\n\nCondition\n\n\n\n\n\n\n\n\n\n\n0\n\n\nSuccess.\n\n\n\n\n\n\nATT return code\n\n\nThe attribute access callback reports failure.\n\n\n\n\n\n\nCore return code\n\n\nUnexpected error.", 
             "title": "ble_att_svr_write_local"
         }, 
         {
             "location": "/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/#ble95att95svr95write95local", 
-            "text": "int  ble_att_svr_write_local (\n           uint16_t     attr_handle ,\n     struct   os_mbuf   **om \n)", 
+            "text": "int  ble_att_svr_write_local (\n           uint16_t    attr_handle ,\n     struct   os_mbuf   *om \n)", 
             "title": "ble_att_svr_write_local"
         }, 
         {
@@ -8907,7 +8907,7 @@
         }, 
         {
             "location": "/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/#parameters", 
-            "text": "Parameter  Description      attr_handle  The 16-bit handle of the attribute to write.    om  The value to write to the attribute.  Double indirection is used to effect a transfer of ownership from the caller.", 
+            "text": "Parameter  Description      attr_handle  The 16-bit handle of the attribute to write.    om  The value to write to the attribute.", 
             "title": "Parameters"
         }, 
         {

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/index.html b/develop/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/index.html
index 3f38e18..a9b60a8 100644
--- a/develop/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/index.html
+++ b/develop/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local/index.html
@@ -512,8 +512,8 @@
                             <h2 id="ble95att95svr95write95local"><font color="#F2853F" style="font-size:24pt">ble_att_svr_write_local</font></h2>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
 <span style="color: #000000">ble_att_svr_write_local</span>(
-          <span style="color: #A90D91">uint16_t</span>   <span style="color: #000000">attr_handle</span>,
-    <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">**om</span>
+          <span style="color: #A90D91">uint16_t</span>  <span style="color: #000000">attr_handle</span>,
+    <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*om</span>
 )
 </pre></div>
 
@@ -535,7 +535,7 @@
 </tr>
 <tr>
 <td>om</td>
-<td>The value to write to the attribute.  Double indirection is used to effect a transfer of ownership from the caller.</td>
+<td>The value to write to the attribute.</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/index.html b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/index.html
index d1512e8..c588d30 100644
--- a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/index.html
+++ b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom/index.html
@@ -653,9 +653,9 @@
                             <h2 id="ble95gattc95notify95custom"><font color="#F2853F" style="font-size:24pt">ble_gattc_notify_custom</font></h2>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
 <span style="color: #000000">ble_gattc_notify_custom</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">chr_val_handle</span>,
-    <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">**txom</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">chr_val_handle</span>,
+    <span style="color: #A90D91">struct</span> <span style="color: #000000">os_mbuf</span> <span style="color: #000000">*txom</span>
 )
 </pre></div>
 
@@ -681,7 +681,7 @@
 </tr>
 <tr>
 <td>txom</td>
-<td>The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.</td>
+<td>The value to write to the characteristic.</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/index.html b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/index.html
index ad86998..fe2dd50 100644
--- a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/index.html
+++ b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write/index.html
@@ -653,11 +653,11 @@
                             <h2 id="ble95gattc95write"><font color="#F2853F" style="font-size:24pt">ble_gattc_write</font></h2>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
 <span style="color: #000000">ble_gattc_write</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: #000000">os_mbuf</span> <span style="color: #000000">**txom</span>,
-    <span style="color: #000000">ble_gatt_attr_fn</span>  <span style="color: #000000">*cb</span>,
-                <span style="color: #A90D91">void</span>  <span style="color: #000000">*cb_arg</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: #000000">os_mbuf</span> <span style="color: #000000">*txom</span>,
+    <span style="color: #000000">ble_gatt_attr_fn</span> <span style="color: #000000">*cb</span>,
+                <span style="color: #A90D91">void</span> <span style="color: #000000">*cb_arg</span>
 )
 </pre></div>
 
@@ -683,7 +683,7 @@
 </tr>
 <tr>
 <td>txom</td>
-<td>The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.</td>
+<td>The value to write to the characteristic.</td>
 </tr>
 <tr>
 <td>cb</td>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/index.html b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/index.html
index 65a934a..d20610d 100644
--- a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/index.html
+++ b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long/index.html
@@ -653,11 +653,11 @@
                             <h2 id="ble95gattc95write95long"><font color="#F2853F" style="font-size:24pt">ble_gattc_write_long</font></h2>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
 <span style="color: #000000">ble_gattc_write_long</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: #000000">os_mbuf</span> <span style="color: #000000">**txom</span>,
-    <span style="color: #000000">ble_gatt_attr_fn</span>  <span style="color: #000000">*cb</span>,
-                <span style="color: #A90D91">void</span>  <span style="color: #000000">*cb_arg</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: #000000">os_mbuf</span> <span style="color: #000000">*txom</span>,
+    <span style="color: #000000">ble_gatt_attr_fn</span> <span style="color: #000000">*cb</span>,
+                <span style="color: #A90D91">void</span> <span style="color: #000000">*cb_arg</span>
 )
 </pre></div>
 
@@ -683,7 +683,7 @@
 </tr>
 <tr>
 <td>txom</td>
-<td>The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.</td>
+<td>The value to write to the characteristic.</td>
 </tr>
 <tr>
 <td>cb</td>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/index.html b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/index.html
index 19e2ec9..9b76e87 100644
--- a/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/index.html
+++ b/develop/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp/index.html
@@ -653,9 +653,9 @@
                             <h2 id="ble95gattc95write95no95rsp"><font color="#F2853F" style="font-size:24pt">ble_gattc_write_no_rsp</font></h2>
 <div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
 <span style="color: #000000">ble_gattc_write_no_rsp</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: #000000">os_mbuf</span> <span style="color: #000000">**txom</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: #000000">os_mbuf</span> <span style="color: #000000">*txom</span>
 )
 </pre></div>
 
@@ -681,7 +681,7 @@
 </tr>
 <tr>
 <td>txom</td>
-<td>The value to write to the characteristic. Double indirection is used to effect a transfer of ownership from the caller.</td>
+<td>The value to write to the characteristic.</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gatts/ble_gatts/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gatts/ble_gatts/index.html b/develop/network/ble/ble_hs/ble_gatts/ble_gatts/index.html
index 9106f44..b06b9fa 100644
--- a/develop/network/ble/ble_hs/ble_gatts/ble_gatts/index.html
+++ b/develop/network/ble/ble_hs/ble_gatts/ble_gatts/index.html
@@ -342,7 +342,7 @@
   
   
     <li><a href="
-  ../functions/ble_gatts_count_resources/
+  ../functions/ble_gatts_add_svcs/
 ">Functions</a>
   
   
@@ -504,6 +504,10 @@
 </thead>
 <tbody>
 <tr>
+<td><a href="../functions/ble_gatts_add_svcs/">ble_gatts_add_svcs</a></td>
+<td>Queues a set of service definitions for registration.</td>
+</tr>
+<tr>
 <td><a href="../functions/ble_gatts_count_resources/">ble_gatts_count_resources</a></td>
 <td>Accumulates counts of each resource type required by the specified service definition array.</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs/index.html b/develop/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs/index.html
index 9e01b7c..9acb3e9 100644
--- a/develop/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs/index.html
+++ b/develop/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs/index.html
@@ -354,7 +354,7 @@
   
   
     <li><a href="
-  ../../functions/ble_gatts_count_resources/
+  ../../functions/ble_gatts_add_svcs/
 ">Functions</a>
   
   
@@ -759,8 +759,8 @@
     </li>
     <li class="pull-right">
     
-    <a href=../../functions/ble_gatts_count_resources/>
-        Next: ble_gatts_count_resources
+    <a href=../../functions/ble_gatts_add_svcs/>
+        Next: ble_gatts_add_svcs
         <span class="fa fa-arrow-right"></span>
     </a>
     

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/index.html b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/index.html
new file mode 100644
index 0000000..6fb8fbc
--- /dev/null
+++ b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/index.html
@@ -0,0 +1,649 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        
+        
+        <link rel="canonical" href="http://mynewt.apache.org/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs/">
+        <link rel="shortcut icon" href="../../../../../../img/favicon.ico">
+
+	<title>ble_gatts_add_svcs - Apache Mynewt</title>
+
+        <link href="../../../../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+        <link href="../../../../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+        <link rel="stylesheet" href="../../../../../../css/highlight.css">
+        <link href="../../../../../../css/base.css" rel="stylesheet">
+        <link href="../../../../../../css/custom.css" rel="stylesheet">
+        <link href="../../../../../../css/v2.css" rel="stylesheet">
+        <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+        <link href="../../../../../../extra.css" rel="stylesheet">
+
+        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!--[if lt IE 9]>
+            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+        <![endif]-->
+
+        
+            <script>
+                (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+                ga('create', 'UA-72162311-1', 'auto');
+                ga('send', 'pageview');
+            </script>
+        
+    </head>
+
+
+    <body class="ble_gatts_add_svcs">
+
+
+        
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+    <div class="container">
+        <!-- Collapsed navigation -->
+        <div class="navbar-header">
+            <!-- Expander button -->
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+        </div>
+
+        <!-- Expanded navigation -->
+        <div class="navbar-collapse collapse">
+            <!-- Main navigation -->
+            <ul class="nav navbar-nav navbar-right">
+                <li 
+  class=""
+>
+                    <a href="/">Home</a>
+                </li>
+                <li 
+  class="important"
+>
+                    <a href="/quick-start/">Quick Start</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/about/">About</a>
+                </li>
+                <li 
+  class="active"
+>
+                    <a href="/latest/os/introduction">Documentation</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/download/">Download</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/community/">Community</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/events/">Events</a>
+                </li>
+            </ul>
+
+            <!-- Search, Navigation and Repo links -->
+            <ul class="nav navbar-nav navbar-right">
+                
+            </ul>
+        </div>
+    </div>
+</nav>
+
+        
+
+        <div class="container">
+            
+                <div class="row">
+                    <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+    <div class="top">
+        <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+        <div role="search">
+            <form id="rtd-search-form" class="wy-form" action="../../../../../../search.html" method="get">
+                <div class="form-group">
+                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+                </div>
+            </form>
+        </div>
+    </div>
+    <ul class="toc-nav">
+      <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    
+    <option
+      value="/develop/os/introduction"
+      selected="selected"
+    >
+      Version: develop
+    </option>
+    
+    <option
+      value="/v0_9_0/os/introduction"
+      
+    >
+      Version: 0.9.0 (latest)
+    </option>
+    
+</select>
+</li>
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+          
+  
+  
+    <li ><a href="../../../../../../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/">Init and config</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/ble_gatts_defs/
+">Definitions</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ./
+">Functions</a>
+  
+  
+    <ul>
+          
+              
+                
+    <li class="active">
+      <a href="./">ble_gatts_add_svcs</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ble_gatts_count_resources/">ble_gatts_count_resources</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ble_gatts_find_chr/">ble_gatts_find_chr</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ble_gatts_find_dsc/">ble_gatts_find_dsc</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ble_gatts_find_svc/">ble_gatts_find_svc</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ble_gatts_register_svcs/">ble_gatts_register_svcs</a>
+    </li>
+
+              
+          
+    </ul>
+  
+    </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_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>
+
+              
+          
+    </ul>
+  
+    </li>
+
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../../../../../../faq/how_to_edit_docs/
+">Appendix</a>
+  
+  
+    </li>
+
+        
+      
+    </ul>
+</div></div>
+
+                    <div class="show-sidebar-container">
+                        <button class="show-sidebar">Docs Menu</button>
+                    </div>
+
+                    <div class="col-md-9" role="main">
+                        <div class="row doc-header">
+                            <div class="col-sm-12">
+                                <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs pull-right">
+    <li><a href="/develop/os/introduction">Docs</a></li>
+    
+    
+        
+          <li>&raquo; <a href="../../ble_gatts/">GATT server</a></li>
+        
+      
+        
+          <li>&raquo; Functions</li>
+        
+      
+      
+        <li>&raquo; ble_gatts_add_svcs</li>
+      
+    
+    
+  </ul>
+</div>
+                            </div>
+                        </div>
+                        
+                            <h2 id="ble95gatts95add95svcs"><font color="#F2853F" style="font-size:24pt">ble_gatts_add_svcs</font></h2>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="color: #A90D91">int</span>
+<span style="color: #000000">ble_gatts_add_svcs</span>(<span style="color: #A90D91">const</span> <span style="color: #A90D91">struct</span> <span style="color: #000000">ble_gatt_svc_def</span> <span style="color: #000000">*svcs</span>)
+</pre></div>
+
+
+<h3 id="description">Description</h3>
+<p>Queues a set of service definitions for registration.  All services queued in this manner get registered when ble_hs_init() is called.</p>
+<h3 id="parameters">Parameters</h3>
+<table>
+<thead>
+<tr>
+<th><em>Parameter</em></th>
+<th><em>Description</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>svcs</td>
+<td>An array of service definitions to queue for registration.  This array must be terminated with an entry whose 'type' equals 0.</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_ENOMEM</td>
+<td>Heap exhaustion.</td>
+</tr>
+</tbody>
+</table>
+                        
+                        <div class="row">
+                            
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+    <li>
+    
+    <a href=../../definitions/ble_gatts_defs/>
+        <span class="fa fa-arrow-left"></span>
+        Previous: GATT server definitions
+    </a>
+    
+    </li>
+    <li class="pull-right">
+    
+    <a href=../ble_gatts_count_resources/>
+        Next: ble_gatts_count_resources
+        <span class="fa fa-arrow-right"></span>
+    </a>
+    
+    </li>
+</ul>
+                        </div>
+                        <div class="row">
+                            <footer>
+    <div class="row">
+        <div class="col-md-12">
+            
+                <p class="copyright">Copyright &copy; 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+            
+        </div>
+    </div>
+    <div class="copyright-logos">
+        <div class="row">
+            <div class="col-xs-6 text-right">
+                <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+            </div>
+            <div class="col-xs-6 text-left">
+                <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+            </div>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <small class="footnote">
+                MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+            </small>
+        </div>
+    </div>
+</footer>
+                        </div>
+                    </div>
+                </div>
+            
+            
+        </div>
+
+        <script src="../../../../../../js/jquery-1.10.2.min.js"></script>
+        <script src="../../../../../../js/bootstrap-3.0.3.min.js"></script>
+        <script src="../../../../../../js/highlight.pack.js"></script>
+        <script src="../../../../../../js/base.js"></script>
+        <script src="../../../../../../js/custom.js"></script>
+
+    </body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/index.html b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/index.html
index e2492c4..869542d 100644
--- a/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/index.html
+++ b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_resources/index.html
@@ -342,7 +342,7 @@
   
   
     <li><a href="
-  ./
+  ../ble_gatts_add_svcs/
 ">Functions</a>
   
   
@@ -350,6 +350,14 @@
           
               
                 
+    <li >
+      <a href="../ble_gatts_add_svcs/">ble_gatts_add_svcs</a>
+    </li>
+
+              
+          
+              
+                
     <li class="active">
       <a href="./">ble_gatts_count_resources</a>
     </li>
@@ -517,7 +525,7 @@
         
       
         
-          <li>&raquo; Functions</li>
+          <li>&raquo; <a href="../ble_gatts_add_svcs/">Functions</a></li>
         
       
       
@@ -588,9 +596,9 @@
 <ul class="nav nav-pills" style="margin-bottom: 10px">
     <li>
     
-    <a href=../../definitions/ble_gatts_defs/>
+    <a href=../ble_gatts_add_svcs/>
         <span class="fa fa-arrow-left"></span>
-        Previous: GATT server definitions
+        Previous: ble_gatts_add_svcs
     </a>
     
     </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/cfa84f80/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr/index.html
----------------------------------------------------------------------
diff --git a/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr/index.html b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr/index.html
index a213102..8de3e48 100644
--- a/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr/index.html
+++ b/develop/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr/index.html
@@ -342,7 +342,7 @@
   
   
     <li><a href="
-  ../ble_gatts_count_resources/
+  ../ble_gatts_add_svcs/
 ">Functions</a>
   
   
@@ -351,6 +351,14 @@
               
                 
     <li >
+      <a href="../ble_gatts_add_svcs/">ble_gatts_add_svcs</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../ble_gatts_count_resources/">ble_gatts_count_resources</a>
     </li>
 
@@ -517,7 +525,7 @@
         
       
         
-          <li>&raquo; <a href="../ble_gatts_count_resources/">Functions</a></li>
+          <li>&raquo; <a href="../ble_gatts_add_svcs/">Functions</a></li>