Path: blob/main/usr.sbin/bluetooth/hccontrol/hccontrol.h
107769 views
/*-1* hccontrol.h2*3* SPDX-License-Identifier: BSD-2-Clause4*5* Copyright (c) 2001-2002 Maksim Yevmenkin <[email protected]>6* All rights reserved.7*8* Redistribution and use in source and binary forms, with or without9* modification, are permitted provided that the following conditions10* are met:11* 1. Redistributions of source code must retain the above copyright12* notice, this list of conditions and the following disclaimer.13* 2. Redistributions in binary form must reproduce the above copyright14* notice, this list of conditions and the following disclaimer in the15* documentation and/or other materials provided with the distribution.16*17* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND18* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE19* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE20* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE21* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL22* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS23* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)24* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT25* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY26* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF27* SUCH DAMAGE.28*29* $Id: hccontrol.h,v 1.2 2003/05/19 17:29:29 max Exp $30*/3132#ifndef _HCCONTROL_H_33#define _HCCONTROL_H_3435#define OK 0 /* everything was OK */36#define ERROR 1 /* could not execute command */37#define FAILED 2 /* error was reported */38#define USAGE 3 /* invalid parameters */3940#define MAX_NODE_NUM 16 /* max number of nodes */4142struct hci_command {43char const *command;44char const *description;45int (*handler)(int, int, char **);46};4748extern int timeout;49extern int verbose;50extern struct hci_command link_control_commands[];51extern struct hci_command link_policy_commands[];52extern struct hci_command host_controller_baseband_commands[];53extern struct hci_command info_commands[];54extern struct hci_command status_commands[];55extern struct hci_command node_commands[];56extern struct hci_command le_commands[];5758int hci_request (int, int, char const *, int, char *, int *);59int hci_simple_request (int, int, char *, int *);60int hci_send (int, char const *, int);61int hci_recv (int, char *, int *);6263char const * hci_link2str (int);64char const * hci_pin2str (int);65char const * hci_scan2str (int);66char const * hci_encrypt2str (int, int);67char const * hci_coding2str (int);68char const * hci_vdata2str (int);69char const * hci_hmode2str (int, char *, int);70char const * hci_ver2str (int);71char const * hci_lmpver2str (int);72char const * hci_manufacturer2str(int);73char const * hci_commands2str (uint8_t *, char *, int);74char const * hci_features2str (uint8_t *, char *, int);75char const * hci_le_features2str (uint8_t *, char *, int);76char const * hci_cc2str (int);77char const * hci_con_state2str (int);78char const * hci_status2str (int);79char const * hci_bdaddr2str (bdaddr_t const *);80char const * hci_addrtype2str (int type);81char const * hci_role2str (int role);82char const * hci_mc_accuracy2str (int accuracy);83char const * hci_le_chanmap2str (uint8_t *, char *, int);8485void dump_adv_data(int len, uint8_t* advdata);86void print_adv_data(int len, uint8_t* advdata);8788#endif /* _HCCONTROL_H_ */89909192