btstack Struct Reference

#include <bt_hci_api.h>

Detailed Description

Represents one entity of a running stack (more possible) Keeps all data for one stack, like devices, buffers, states, ...

See also:
struct bt_hci_uart for definition of uart-transport.

bt-lego/bt-lego.c, bt-remoteprog/demo-rprog.c, btstreamer/receiver/btreceiver.c, btstreamer/streamer/btstreamer.c, l2cap-cmd/l2cap-cmd.c, mhop_blink/mhop_blink.c, and rfcomm-cmd/rfcomm-cmd.c.

Data Fields

void * acl_data
bt_hci_pkt_acl acl_init
u_short acl_max_len
u_short acl_pkt_types
bt_semaphore acl_write
bt_hci_con_handle_t acl_write_hdl
u_short acl_write_len
u_short acl_written
bt_addr_t bt_addr
hci_acl_cb_t cl_acl_cb
void * cl_acl_cb_arg
bt_hci_pkt_cmd cmd
hci_acl_cb_t co_acl_cb
void * co_acl_cb_arg
void * con_change_cb_arg [BTN_NR_CONNECT_CALLBACK]
void * con_rqst_cb_arg
con_table_cb_t con_table_cb [BTN_NR_CONNECT_CALLBACK]
u_char conn_request
bt_hci_connection connection [BT_HCI_MAX_NUM_CON]
bt_hci_pkt_evt evt
bt_semaphore hci_cmd_queue
u_short host_acl_len
bt_semaphore inquiry
u_char key_request
u_long last_bt_clock
u_char latest_cmd
void * link_key_notification_cb_arg
bt_semaphore nr_acl_pkts
bt_semaphore nr_hci_cmds
bt_semaphore nr_sco_pkts
u_short packet_counter
param_list params
u_char parser_bytes_read
u_char parser_bytes_to_read
u_char parser_state
char * pin_code
void * pin_code_request_cb_arg
u_char pin_request
u_char reset
void * sco_data
bt_hci_pkt_sco sco_init
u_char sco_max_len
bt_semaphore single_cmd
bt_hci_uart transport
bt_hci_cmd_responsewaitqueue [BT_HCI_NR_WAIT_QUEUES]

Field Documentation

struct bt_hci_pkt_acl* btstack::acl_cl_pkt

Pointer to the acl-buffer for connection-less data (local to the hci-layer)

struct bt_hci_pkt_acl* btstack::acl_co_pkt

Pointer to the acl-buffer for connection-oriented data (local to the hci-layer)

void* btstack::acl_data

acl data (state of the acl-layer aka l2cap)

struct bt_hci_pkt_acl btstack::acl_init

Initial acl pkt. from this time on, the stack always gets one from the higher level

u_short btstack::acl_max_len

Max. length of an acl-data-pkt the bt-controller will ever send

struct bt_hci_pkt_acl* btstack::acl_pkt

Pointer to the acl-buffer (local to the hci-layer)

struct bt_hci_pkt_acl* btstack::acl_self

Pointer to acl-buffer used for self-delivery

struct bt_semaphore btstack::acl_write

Semaphore for writing ACL data

bt_hci_con_handle_t btstack::acl_write_hdl

Currently locked ACL connection

u_short btstack::acl_write_len

Amount of data that is going to be sent over the currently locked ACL connection

u_short btstack::acl_written

Amount of data written to the currentely locked ACL connection

bt_addr_t btstack::bt_addr

local bt addr

hci_acl_cb_t btstack::cl_acl_cb

Callback for connection-less acl-data pkts (channel id = 2)

void* btstack::cl_acl_cb_arg

argument that will be passed to the callback

struct bt_hci_pkt_cmd btstack::cmd

Only one command at a time

hci_acl_cb_t btstack::co_acl_cb

Callback for connection-oriented acl-data pkts

void* btstack::co_acl_cb_arg

argument that will be passed to the callback

void* btstack::con_rqst_cb_arg

custom argument for accept filter callback

con_table_cb_t btstack::con_table_cb[BTN_NR_CONNECT_CALLBACK]

Callbacks for changes in the connection-table

u_char btstack::conn_request

Flag to indicate if a conn. request is pending (handled by the main thread)

struct bt_hci_connection btstack::connection[BT_HCI_MAX_NUM_CON]

Keeps track on open connections

struct bt_hci_pkt_evt btstack::evt

Only one event at a time

NUTTHREADINFO* btstack::exclusive_use

Thread context of current exclusive bt stack user

struct bt_semaphore btstack::hci_cmd_queue

Semaphore for the waiting commands. After one command is sent, the next thread is woken up.


Callback to filter out connection requests


Callback to store agreed link keys


Callback to respond to PIN Code Requests


Callback for sco-data pkts

NUTTHREADINFO* btstack::hw_reset

Thread context from hw_reset caller

u_char btstack::key_request

Flag to indicate if a link key request is pending (handled by the main thread)

u_long btstack::last_bt_clock

used to filter duplicate bt clock values from Zeevo

u_char btstack::latest_cmd

Index of cmd in waitqueue waiting for Command Status Event, 0xff == none

void* btstack::link_key_notification_cb_arg

custom argument for link key available callback

struct bt_semaphore btstack::nr_acl_pkts

Semaphore for the max. number of acl pkts the bt-controller can handle

struct bt_semaphore btstack::nr_hci_cmds

Number of hci cmds we can send to the controller until it runs out of buffer

struct bt_semaphore btstack::nr_sco_pkts

Semaphore for the max. number of sco pkts, the bt-controller can handle

u_short btstack::packet_counter

general packet counter, is increased by one for every packet (acl,sco,event)

struct param_list btstack::params

bt module parameters used for module reset

char* btstack::pin_code

Pin Code

void* btstack::pin_code_request_cb_arg

custom argument for pin code request callback

u_char btstack::pin_request

Flag to indicate if a pincode request is pending (handled by the main thread)

u_char btstack::reset

Reset flag

void* btstack::sco_data

sco data (state of the sco-layer)

struct bt_hci_pkt_sco btstack::sco_init

Initial sco pkt. from this time on, the stack always gets one from the higher level

u_char btstack::sco_max_len

Max. length of a sco-data-pkt the bt-controller will ever send

struct bt_hci_pkt_sco* btstack::sco_pkt

Pointer to the sco-buffer (local to the hci-layer)

struct bt_semaphore btstack::single_cmd

Ensure at most one Command is sent without a received Command Status Event

struct bt_hci_uart btstack::transport

UART-Transport definitions

struct bt_hci_cmd_response* btstack::waitqueue[BT_HCI_NR_WAIT_QUEUES]

Keeps an eye on running pkts

Generated on Wed Apr 29 11:12:32 2009 for BTnut System Software by doxygen 1.5.1