OpenBSD-4.6/usr.sbin/btctl/btctl.h

/*	$OpenBSD: btctl.h,v 1.3 2008/11/26 06:51:04 uwe Exp $	*/

/*
 * Copyright (c) 2008 Uwe Stuehler <uwe@openbsd.org>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#include <netbt/bluetooth.h>
#include <netbt/hci.h>

enum btctl_stmt_type {
	BTCTL_CONFIG,
	BTCTL_INTERFACE_STMT,
	BTCTL_ATTACH_STMT,
	BTCTL_COMMIT,
	BTCTL_ROLLBACK
};

typedef struct {
	bdaddr_t addr;
	char name[HCI_UNIT_NAME_SIZE];
	int8_t flags;
} btctl_interface_stmt;
#define BTCTL_INTERFACE_DISABLED 0x01

typedef struct {
	bdaddr_t addr;
	uint16_t type;
	uint8_t pin[HCI_PIN_SIZE];
	uint8_t pin_size;
} btctl_attach_stmt;

/* parse.y */
int parse_config(const char *, int);