17342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project/* 27342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** Copyright 2008 The Android Open Source Project 37342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** 47342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License"); 57342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** you may not use this file except in compliance with the License. 67342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** You may obtain a copy of the License at 77342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** 87342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** http://www.apache.org/licenses/LICENSE-2.0 97342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** 107342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** Unless required by applicable law or agreed to in writing, software 117342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** distributed under the License is distributed on an "AS IS" BASIS, 127342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** See the License for the specific language governing permissions and 147342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project** limitations under the License. 157342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project*/ 167342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 177342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project/** Bluedroid testing */ 187342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 197342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <stdlib.h> 207342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <stdio.h> 217342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <errno.h> 227342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <sys/uio.h> 237342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <unistd.h> 247342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 257342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project#include <bluedroid/bluetooth.h> 267342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 277342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectstatic int do_enable() { 287342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int ret; 297342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project ret = bt_enable(); 307342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("= %d\n", ret); 317342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return ret; 327342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} 337342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 347342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectstatic int do_disable() { 357342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int ret; 367342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project ret = bt_disable(); 377342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("= %d\n", ret); 387342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return ret; 397342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} 407342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 417342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectstatic int do_is_enabled() { 427342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int ret; 437342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project ret = bt_is_enabled(); 447342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("= %d\n", ret); 457342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return ret; 467342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} 477342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 487342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectstruct { 497342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project char *name; 507342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int (*ptr)(); 517342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} function_table[] = { 527342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project {"enable", do_enable}, 537342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project {"disable", do_disable}, 547342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project {"is_enabled", do_is_enabled}, 557342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project {NULL, NULL}, 567342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project}; 577342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 587342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectstatic void usage() { 597342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int i; 607342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 617342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("Usage:\n"); 627342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project for (i = 0; function_table[i].name; i++) { 637342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("\tbttest %s\n", function_table[i].name); 647342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project } 657342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} 667342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 677342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Projectint main(int argc, char **argv) { 687342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project int i; 697342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project 707342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project if (argc != 2) { 717342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project usage(); 727342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return -1; 737342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project } 747342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project for (i = 0; function_table[i].name; i++) { 757342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project if (!strcmp(argv[1], function_table[i].name)) { 767342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project printf("%s\n", function_table[i].name); 777342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return (*function_table[i].ptr)(); 787342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project } 797342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project } 807342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project usage(); 817342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project return -1; 827342a3e6a751116a193ff27d69b87eda478a5016The Android Open Source Project} 83