From 7c115e06a562978ff2df7b32d7cb1aed72000a16 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 30 Nov 2005 05:11:19 +0000 Subject: Add support for reading the full build name --- tools/bccmd.c | 25 +++++++++++++++++++++++++ tools/csr.h | 1 + 2 files changed, 26 insertions(+) diff --git a/tools/bccmd.c b/tools/bccmd.c index 7c1260cf..291ed6a3 100644 --- a/tools/bccmd.c +++ b/tools/bccmd.c @@ -337,6 +337,30 @@ static int cmd_rand(int transport, int argc, char *argv[]) return 0; } +static int cmd_buildname(int transport, int argc, char *argv[]) +{ + uint8_t array[130]; + char name[64]; + int i, err; + + OPT_HELP(0, NULL); + + memset(array, 0, sizeof(array)); + + err = transport_read(transport, CSR_VARID_READ_BUILD_NAME, array, 128); + if (err < 0) { + errno = -err; + return -1; + } + + for (i = 0; i < sizeof(name); i++) + name[i] = array[(i * 2) + 4]; + + printf("Build name: %s\n", name); + + return 0; +} + static int cmd_panicarg(int transport, int argc, char *argv[]) { uint8_t array[8]; @@ -901,6 +925,7 @@ static struct { { "keylen", cmd_keylen, "", "Get current crypt key length" }, { "clock", cmd_clock, "", "Get local Bluetooth clock" }, { "rand", cmd_rand, "", "Get random number" }, + { "buildname", cmd_buildname, "", "Get the full build name" }, { "panicarg", cmd_panicarg, "", "Get panic code argument" }, { "faultarg", cmd_faultarg, "", "Get fault code argument" }, { "coldreset", cmd_coldreset, "", "Perform cold reset" }, diff --git a/tools/csr.h b/tools/csr.h index daa2e669..9cdc7225 100644 --- a/tools/csr.h +++ b/tools/csr.h @@ -41,6 +41,7 @@ #define CSR_VARID_GET_CLR_EVT 0x300a /* complex */ #define CSR_VARID_GET_NEXT_BUILDDEF 0x300b /* complex */ #define CSR_VARID_PS_MEMORY_TYPE 0x3012 /* complex */ +#define CSR_VARID_READ_BUILD_NAME 0x301c /* complex */ #define CSR_VARID_COLD_RESET 0x4001 /* valueless */ #define CSR_VARID_WARM_RESET 0x4002 /* valueless */ #define CSR_VARID_COLD_HALT 0x4003 /* valueless */ -- cgit