summaryrefslogtreecommitdiff
path: root/utils/imxtools/scsitools/misc.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2012-12-11 20:15:51 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2012-12-11 20:20:49 +0100
commitb86b0a1b44f88e74a82da81eebae02828d6d09fc (patch)
tree461e27b71dde3a476e951a67d0b2f4cee5ad782a /utils/imxtools/scsitools/misc.h
parentfb05b3e6983e08e0125e2156232b16e55fd571a5 (diff)
downloadrockbox-b86b0a1b44f88e74a82da81eebae02828d6d09fc.tar.gz
rockbox-b86b0a1b44f88e74a82da81eebae02828d6d09fc.zip
imxtools: introduce the new scsitool
It appears that all devices based on the Sigmaltel SDK support a common vendor specific SCSI interface when in UMS mode. This applies to the STMP36xx and the STMP37xx. This interface supports many operations: - get device info - get device paritionning - get janus/drm info - read/write/allocate/erase any partition - reset (chip or to updater and/or recovery) This includes the ability to do a firmware upgrade by rewriting the firmware partition. The tool currently does mostly nothing but will be enhanced depending on the reverse engineering efforts and the use of it. It has been tested on the Fuze+ and the Zen X-Fi2/3. Change-Id: Ibd4b2ad364c03ada4f9001573ef4cc87cfb041d1
Diffstat (limited to 'utils/imxtools/scsitools/misc.h')
-rw-r--r--utils/imxtools/scsitools/misc.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/utils/imxtools/scsitools/misc.h b/utils/imxtools/scsitools/misc.h
new file mode 100644
index 0000000000..035b0ef8c1
--- /dev/null
+++ b/utils/imxtools/scsitools/misc.h
@@ -0,0 +1,50 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2010 Amaury Pouly
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#ifndef __MISC_H__
22#define __MISC_H__
23
24#include <stdbool.h>
25#include <stdio.h>
26
27#define _STR(a) #a
28#define STR(a) _STR(a)
29
30#define bug(...) do { fprintf(stderr,"["__FILE__":"STR(__LINE__)"]ERROR: "__VA_ARGS__); exit(1); } while(0)
31#define bugp(...) do { fprintf(stderr, __VA_ARGS__); perror(" "); exit(1); } while(0)
32
33#define ROUND_UP(val, round) ((((val) + (round) - 1) / (round)) * (round))
34
35typedef char color_t[];
36
37extern color_t OFF, GREY, RED, GREEN, YELLOW, BLUE;
38void *xmalloc(size_t s);
39void color(color_t c);
40void enable_color(bool enable);
41
42#ifndef MIN
43#define MIN(a,b) ((a) < (b) ? (a) : (b))
44#endif
45
46#define cprintf(col, ...) do {color(col); printf(__VA_ARGS__); }while(0)
47
48#define cprintf_field(str1, ...) do{ cprintf(GREEN, str1); cprintf(YELLOW, __VA_ARGS__); }while(0)
49
50#endif /* __MISC_H__ */