Merge "Remove dead tools."

This commit is contained in:
Elliott Hughes 2014-11-24 22:15:30 +00:00 committed by Gerrit Code Review
commit f3c8eb838d
7 changed files with 0 additions and 756 deletions

View File

@ -215,11 +215,6 @@ LOCAL_SHARED_LIBRARIES := \
libcutils \
libselinux \
# libusbhost is only used by lsusb, and that isn't usually included in toolbox.
# The linker strips out all the unused library code in the normal case.
LOCAL_STATIC_LIBRARIES := \
libusbhost \
LOCAL_WHOLE_STATIC_LIBRARIES := $(patsubst %,libtoolbox_%,$(BSD_TOOLS))
LOCAL_MODULE := toolbox

View File

@ -1,190 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <time.h>
#include <asm/ioctl.h>
//#include <linux/rtc.h>
#include <linux/android_alarm.h>
int alarm_main(int argc, char *argv[])
{
int c;
int res;
struct tm tm;
time_t t;
struct timespec ts;
// struct rtc_time rtc_time;
char strbuf[26];
int afd;
int nfd;
// struct timeval timeout = { 0, 0 };
int wait = 0;
fd_set rfds;
const char wake_lock_id[] = "alarm_test";
int waitalarmmask = 0;
int useutc = 0;
android_alarm_type_t alarmtype_low = ANDROID_ALARM_RTC_WAKEUP;
android_alarm_type_t alarmtype_high = ANDROID_ALARM_RTC_WAKEUP;
android_alarm_type_t alarmtype = 0;
do {
//c = getopt(argc, argv, "uw:");
c = getopt(argc, argv, "uwat:");
if (c == EOF)
break;
switch (c) {
case 'u':
useutc = 1;
break;
case 't':
alarmtype_low = alarmtype_high = strtol(optarg, NULL, 0);
break;
case 'a':
alarmtype_low = ANDROID_ALARM_RTC_WAKEUP;
alarmtype_high = ANDROID_ALARM_TYPE_COUNT - 1;
break;
case 'w':
//timeout.tv_sec = strtol(optarg, NULL, 0);
wait = 1;
break;
case '?':
fprintf(stderr, "%s: invalid option -%c\n",
argv[0], optopt);
exit(1);
}
} while (1);
if(optind + 2 < argc) {
fprintf(stderr,"%s [-uwa] [-t type] [seconds]\n", argv[0]);
return 1;
}
afd = open("/dev/alarm", O_RDWR);
if(afd < 0) {
fprintf(stderr, "Unable to open rtc: %s\n", strerror(errno));
return 1;
}
if(optind == argc) {
for(alarmtype = alarmtype_low; alarmtype <= alarmtype_high; alarmtype++) {
waitalarmmask |= 1U << alarmtype;
}
#if 0
res = ioctl(fd, RTC_ALM_READ, &tm);
if(res < 0) {
fprintf(stderr, "Unable to read alarm: %s\n", strerror(errno));
return 1;
}
#endif
#if 0
t = timegm(&tm);
if(useutc)
gmtime_r(&t, &tm);
else
localtime_r(&t, &tm);
#endif
#if 0
asctime_r(&tm, strbuf);
printf("%s", strbuf);
#endif
}
else if(optind + 1 == argc) {
#if 0
res = ioctl(fd, RTC_RD_TIME, &tm);
if(res < 0) {
fprintf(stderr, "Unable to set alarm: %s\n", strerror(errno));
return 1;
}
asctime_r(&tm, strbuf);
printf("Now: %s", strbuf);
time(&tv.tv_sec);
#endif
#if 0
time(&ts.tv_sec);
ts.tv_nsec = 0;
//strptime(argv[optind], NULL, &tm);
//tv.tv_sec = mktime(&tm);
//tv.tv_usec = 0;
#endif
for(alarmtype = alarmtype_low; alarmtype <= alarmtype_high; alarmtype++) {
waitalarmmask |= 1U << alarmtype;
res = ioctl(afd, ANDROID_ALARM_GET_TIME(alarmtype), &ts);
if(res < 0) {
fprintf(stderr, "Unable to get current time: %s\n", strerror(errno));
return 1;
}
ts.tv_sec += strtol(argv[optind], NULL, 0);
//strtotimeval(argv[optind], &tv);
gmtime_r(&ts.tv_sec, &tm);
printf("time %s -> %ld.%09ld\n", argv[optind], ts.tv_sec, ts.tv_nsec);
asctime_r(&tm, strbuf);
printf("Requested %s", strbuf);
res = ioctl(afd, ANDROID_ALARM_SET(alarmtype), &ts);
if(res < 0) {
fprintf(stderr, "Unable to set alarm: %s\n", strerror(errno));
return 1;
}
}
#if 0
res = ioctl(fd, RTC_ALM_SET, &tm);
if(res < 0) {
fprintf(stderr, "Unable to set alarm: %s\n", strerror(errno));
return 1;
}
res = ioctl(fd, RTC_AIE_ON);
if(res < 0) {
fprintf(stderr, "Unable to enable alarm: %s\n", strerror(errno));
return 1;
}
#endif
}
else {
fprintf(stderr,"%s [-u] [date]\n", argv[0]);
return 1;
}
if(wait) {
while(waitalarmmask) {
printf("wait for alarm %x\n", waitalarmmask);
res = ioctl(afd, ANDROID_ALARM_WAIT);
if(res < 0) {
fprintf(stderr, "alarm wait failed\n");
}
printf("got alarm %x\n", res);
waitalarmmask &= ~res;
nfd = open("/sys/android_power/acquire_full_wake_lock", O_RDWR);
write(nfd, wake_lock_id, sizeof(wake_lock_id) - 1);
close(nfd);
//sleep(5);
nfd = open("/sys/android_power/release_wake_lock", O_RDWR);
write(nfd, wake_lock_id, sizeof(wake_lock_id) - 1);
close(nfd);
}
printf("done\n");
}
#if 0
FD_ZERO(&rfds);
FD_SET(fd, &rfds);
res = select(fd + 1, &rfds, NULL, NULL, &timeout);
if(res < 0) {
fprintf(stderr, "select failed: %s\n", strerror(errno));
return 1;
}
if(res > 0) {
int event;
read(fd, &event, sizeof(event));
fprintf(stderr, "got %x\n", event);
}
else {
fprintf(stderr, "timeout waiting for alarm\n");
}
#endif
close(afd);
return 0;
}

View File

@ -1,16 +0,0 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int exists_main(int argc, char *argv[])
{
struct stat s;
if(argc < 2) return 1;
if(stat(argv[1], &s)) {
return 1;
} else {
return 0;
}
}

View File

@ -1,227 +0,0 @@
/*
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <endian.h>
#include <errno.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <usbhost/usbhost.h>
static int verbose = 0;
static char str_buff[4096];
static const char *get_str(struct usb_device *dev, int id)
{
char *str = usb_device_get_string(dev, id);
if (id && str) {
strlcpy(str_buff, str, sizeof(str_buff));
free(str);
} else {
snprintf(str_buff, sizeof(str_buff), "%02x", id);
}
return str_buff;
}
static void lsusb_parse_device_descriptor(struct usb_device *dev,
struct usb_device_descriptor *desc)
{
printf(" Device Descriptor\n");
printf("\tbcdUSB: %04x\n", letoh16(desc->bcdUSB));
printf("\tbDeviceClass: %02x\n", desc->bDeviceClass);
printf("\tbDeviceSubClass: %02x\n", desc->bDeviceSubClass);
printf("\tbDeviceProtocol: %02x\n", desc->bDeviceProtocol);
printf("\tbMaxPacketSize0: %02x\n", desc->bMaxPacketSize0);
printf("\tidVendor: %04x\n", letoh16(desc->idVendor));
printf("\tidProduct: %04x\n", letoh16(desc->idProduct));
printf("\tbcdDevice: %04x\n", letoh16(desc->bcdDevice));
printf("\tiManufacturer: %s\n", get_str(dev, desc->iManufacturer));
printf("\tiProduct: %s\n", get_str(dev, desc->iProduct));
printf("\tiSerialNumber: %s\n", get_str(dev,desc->iSerialNumber));
printf("\tbNumConfiguration: %02x\n", desc->bNumConfigurations);
printf("\n");
}
static void lsusb_parse_config_descriptor(struct usb_device *dev,
struct usb_config_descriptor *desc)
{
printf(" Config Descriptor\n");
printf("\twTotalLength: %04x\n", letoh16(desc->wTotalLength));
printf("\tbNumInterfaces: %02x\n", desc->bNumInterfaces);
printf("\tbConfigurationValue: %02x\n", desc->bConfigurationValue);
printf("\tiConfiguration: %s\n", get_str(dev, desc->iConfiguration));
printf("\tbmAttributes: %02x\n", desc->bmAttributes);
printf("\tbMaxPower: %d mA\n", desc->bMaxPower * 2);
printf("\n");
}
static void lsusb_parse_interface_descriptor(struct usb_device *dev,
struct usb_interface_descriptor *desc)
{
printf(" Interface Descriptor\n");
printf("\tbInterfaceNumber: %02x\n", desc->bInterfaceNumber);
printf("\tbAlternateSetting: %02x\n", desc->bAlternateSetting);
printf("\tbNumEndpoints: %02x\n", desc->bNumEndpoints);
printf("\tbInterfaceClass: %02x\n", desc->bInterfaceClass);
printf("\tbInterfaceSubClass: %02x\n", desc->bInterfaceSubClass);
printf("\tbInterfaceProtocol: %02x\n", desc->bInterfaceProtocol);
printf("\tiInterface: %s\n", get_str(dev, desc->iInterface));
printf("\n");
}
static void lsusb_parse_endpoint_descriptor(struct usb_device *dev,
struct usb_endpoint_descriptor *desc)
{
printf(" Endpoint Descriptor\n");
printf("\tbEndpointAddress: %02x\n", desc->bEndpointAddress);
printf("\tbmAttributes: %02x\n", desc->bmAttributes);
printf("\twMaxPacketSize: %02x\n", letoh16(desc->wMaxPacketSize));
printf("\tbInterval: %02x\n", desc->bInterval);
printf("\tbRefresh: %02x\n", desc->bRefresh);
printf("\tbSynchAddress: %02x\n", desc->bSynchAddress);
printf("\n");
}
static void lsusb_dump_descriptor(struct usb_device *dev,
struct usb_descriptor_header *desc)
{
int i;
printf(" Descriptor type %02x\n", desc->bDescriptorType);
for (i = 0; i < desc->bLength; i++ ) {
if ((i % 16) == 0)
printf("\t%02x:", i);
printf(" %02x", ((uint8_t *)desc)[i]);
if ((i % 16) == 15)
printf("\n");
}
if ((i % 16) != 0)
printf("\n");
printf("\n");
}
static void lsusb_parse_descriptor(struct usb_device *dev,
struct usb_descriptor_header *desc)
{
switch (desc->bDescriptorType) {
case USB_DT_DEVICE:
lsusb_parse_device_descriptor(dev, (struct usb_device_descriptor *) desc);
break;
case USB_DT_CONFIG:
lsusb_parse_config_descriptor(dev, (struct usb_config_descriptor *) desc);
break;
case USB_DT_INTERFACE:
lsusb_parse_interface_descriptor(dev, (struct usb_interface_descriptor *) desc);
break;
case USB_DT_ENDPOINT:
lsusb_parse_endpoint_descriptor(dev, (struct usb_endpoint_descriptor *) desc);
break;
default:
lsusb_dump_descriptor(dev, desc);
break;
}
}
static int lsusb_device_added(const char *dev_name, void *client_data)
{
struct usb_device *dev = usb_device_open(dev_name);
if (!dev) {
fprintf(stderr, "can't open device %s: %s\n", dev_name, strerror(errno));
return 0;
}
if (verbose) {
struct usb_descriptor_iter iter;
struct usb_descriptor_header *desc;
printf("%s:\n", dev_name);
usb_descriptor_iter_init(dev, &iter);
while ((desc = usb_descriptor_iter_next(&iter)) != NULL)
lsusb_parse_descriptor(dev, desc);
} else {
uint16_t vid, pid;
char *mfg_name, *product_name, *serial;
vid = usb_device_get_vendor_id(dev);
pid = usb_device_get_product_id(dev);
mfg_name = usb_device_get_manufacturer_name(dev);
product_name = usb_device_get_product_name(dev);
serial = usb_device_get_serial(dev);
printf("%s: %04x:%04x %s %s %s\n", dev_name, vid, pid,
mfg_name, product_name, serial);
free(mfg_name);
free(product_name);
free(serial);
}
usb_device_close(dev);
return 0;
}
static int lsusb_device_removed(const char *dev_name, void *client_data)
{
return 0;
}
static int lsusb_discovery_done(void *client_data)
{
return 1;
}
int lsusb_main(int argc, char **argv)
{
struct usb_host_context *ctx;
if (argc == 2 && !strcmp(argv[1], "-v"))
verbose = 1;
ctx = usb_host_init();
if (!ctx) {
perror("usb_host_init:");
return 1;
}
usb_host_run(ctx,
lsusb_device_added,
lsusb_device_removed,
lsusb_discovery_done,
NULL);
usb_host_cleanup(ctx);
return 0;
}

View File

@ -1,71 +0,0 @@
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <string.h>
#include <termios.h>
#include <unistd.h>
#include <errno.h>
#include <linux/fb.h>
int rotatefb_main(int argc, char *argv[])
{
int c;
char *fbdev = "/dev/graphics/fb0";
int rotation = 0;
int fd;
int res;
struct fb_var_screeninfo fbinfo;
do {
c = getopt(argc, argv, "d:");
if (c == EOF)
break;
switch (c) {
case 'd':
fbdev = optarg;
break;
case '?':
fprintf(stderr, "%s: invalid option -%c\n",
argv[0], optopt);
exit(1);
}
} while (1);
if(optind + 1 != argc) {
fprintf(stderr, "%s: specify rotation\n", argv[0]);
exit(1);
}
rotation = atoi(argv[optind]);
fd = open(fbdev, O_RDWR);
if(fd < 0) {
fprintf(stderr, "cannot open %s\n", fbdev);
return 1;
}
res = ioctl(fd, FBIOGET_VSCREENINFO, &fbinfo);
if(res < 0) {
fprintf(stderr, "failed to get fbinfo: %s\n", strerror(errno));
return 1;
}
if((fbinfo.rotate ^ rotation) & 1) {
unsigned int xres = fbinfo.yres;
fbinfo.yres = fbinfo.xres;
fbinfo.xres = xres;
fbinfo.xres_virtual = fbinfo.xres;
fbinfo.yres_virtual = fbinfo.yres * 2;
if(fbinfo.yoffset == xres)
fbinfo.yoffset = fbinfo.yres;
}
fbinfo.rotate = rotation;
res = ioctl(fd, FBIOPUT_VSCREENINFO, &fbinfo);
if(res < 0) {
fprintf(stderr, "failed to set fbinfo: %s\n", strerror(errno));
return 1;
}
return 0;
}

View File

@ -1,89 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <linux/kd.h>
#include <linux/vt.h>
#include <errno.h>
static void setkey_usage(char *argv[])
{
fprintf(stderr, "%s [-t <table>] [-k <index>] [-v value] [-r] [-h]\n"
" -t <table> Select table\n"
" -k <index> Select key\n"
" -v <value> Set entry\n"
" -r Read current entry\n"
" -h Print help\n", argv[0]);
}
#define TTYDEV "/dev/tty0"
int setkey_main(int argc, char *argv[])
{
int fd;
struct kbentry kbe;
int did_something = 0;
kbe.kb_table = 0;
kbe.kb_index = -1;
kbe.kb_value = 0;
fd = open(TTYDEV, O_RDWR | O_SYNC);
if (fd < 0) {
fprintf(stderr, "open %s: %s\n", TTYDEV, strerror(errno));
return 1;
}
do {
int c, ret;
c = getopt(argc, argv, "t:k:v:hr");
if (c == EOF)
break;
switch (c) {
case 't':
kbe.kb_table = strtol(optarg, NULL, 0);
break;
case 'k':
kbe.kb_index = strtol(optarg, NULL, 0);
break;
case 'v':
kbe.kb_value = strtol(optarg, NULL, 0);
ret = ioctl(fd, KDSKBENT, &kbe);
if (ret < 0) {
fprintf(stderr, "KDSKBENT %d %d %d failed: %s\n",
kbe.kb_table, kbe.kb_index, kbe.kb_value,
strerror(errno));
return 1;
}
did_something = 1;
break;
case 'r':
ret = ioctl(fd, KDGKBENT, &kbe);
if (ret < 0) {
fprintf(stderr, "KDGKBENT %d %d failed: %s\n",
kbe.kb_table, kbe.kb_index, strerror(errno));
return 1;
}
printf("0x%x 0x%x 0x%x\n",
kbe.kb_table, kbe.kb_index, kbe.kb_value);
did_something = 1;
break;
case 'h':
setkey_usage(argv);
return 1;
case '?':
fprintf(stderr, "%s: invalid option -%c\n",
argv[0], optopt);
return 1;
}
} while (1);
if(optind != argc || !did_something) {
setkey_usage(argv);
return 1;
}
return 0;
}

View File

@ -1,158 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <malloc.h>
/* ioctl crap */
#define SYREN_RD 101
#define SYREN_WR 102
#define SYREN_OLD_RD 108
#define SYREN_OLD_WR 109
struct syren_io_args {
unsigned long page;
unsigned long addr;
unsigned long value;
};
typedef struct {
u_char page;
u_char addr;
const char *name;
} syren_reg;
static syren_reg registers[] = {
{ 0, 0x04, "TOGBR1" },
{ 0, 0x05, "TOGBR2" },
{ 0, 0x06, "VBDCTRL" },
{ 1, 0x07, "VBUCTRL" },
{ 1, 0x08, "VBCTRL" },
{ 1, 0x09, "PWDNRG" },
{ 1, 0x0a, "VBPOP" },
{ 1, 0x0b, "VBCTRL2" },
{ 1, 0x0f, "VAUDCTRL" },
{ 1, 0x10, "VAUSCTRL" },
{ 1, 0x11, "VAUOCTRL" },
{ 1, 0x12, "VAUDPLL" },
{ 1, 0x17, "VRPCSIMR" },
{ 0, 0, 0 }
};
static syren_reg *find_reg(const char *name)
{
int i;
for (i = 0; registers[i].name != 0; i++) {
if (!strcasecmp(registers[i].name, name))
return &registers[i];
}
return NULL;
}
static int usage(void)
{
fprintf(stderr, "usage: syren [r/w] [REGNAME | page:addr] (value)\n");
return 1;
}
int
syren_main(int argc, char **argv)
{
int cmd = -1;
syren_reg *r;
struct syren_io_args sio;
char name[32];
int fd;
if (argc < 3) {
return usage();
}
switch(argv[1][0]) {
case 'r':
cmd = SYREN_RD;
break;
case 'w':
cmd = SYREN_WR;
break;
case 'R':
cmd = SYREN_OLD_RD;
break;
case 'W':
cmd = SYREN_OLD_WR;
break;
default:
return usage();
}
if (cmd == SYREN_WR || cmd == SYREN_OLD_WR) {
if (argc < 4)
return usage();
sio.value = strtoul(argv[3], 0, 0);
}
fd = open("/dev/eac", O_RDONLY);
if (fd < 0) {
fprintf(stderr, "can't open /dev/eac\n");
return 1;
}
if (strcasecmp(argv[2], "all") == 0) {
int i;
if (cmd != SYREN_RD && cmd != SYREN_OLD_RD) {
fprintf(stderr, "can only read all registers\n");
return 1;
}
for (i = 0; registers[i].name; i++) {
sio.page = registers[i].page;
sio.addr = registers[i].addr;
if (ioctl(fd, cmd, &sio) < 0) {
fprintf(stderr, "%s: error\n", registers[i].name);
} else {
fprintf(stderr, "%s: %04x\n", registers[i].name, sio.value);
}
}
close(fd);
return 0;
}
r = find_reg(argv[2]);
if (r == NULL) {
if(strlen(argv[2]) >= sizeof(name)){
fprintf(stderr, "REGNAME too long\n");
return 0;
}
strlcpy(name, argv[2], sizeof(name));
char *addr_str = strchr(argv[2], ':');
if (addr_str == NULL)
return usage();
*addr_str++ = 0;
sio.page = strtoul(argv[2], 0, 0);
sio.addr = strtoul(addr_str, 0, 0);
} else {
strlcpy(name, r->name, sizeof(name));
sio.page = r->page;
sio.addr = r->addr;
}
if (ioctl(fd, cmd, &sio) < 0) {
fprintf(stderr, "ioctl(%d) failed\n", cmd);
return 1;
}
if (cmd == SYREN_RD || cmd == SYREN_OLD_RD) {
printf("%s: %04x\n", name, sio.value);
} else {
printf("wrote %04x to %s\n", sio.value, name);
}
close(fd);
return 0;
}