summaryrefslogtreecommitdiffstats
path: root/utils/MTP
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2008-07-03 23:30:51 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2008-07-03 23:30:51 +0000
commitbe0bccfe981c23d4fcedff5a3359e05d78ef73c6 (patch)
treee97d7edb9b37cfccb9ae81355c8d1586817762d5 /utils/MTP
parent936650104dc1ecf0114ea606f86741e18c7f3465 (diff)
downloadrockbox-be0bccfe981c23d4fcedff5a3359e05d78ef73c6.tar.gz
rockbox-be0bccfe981c23d4fcedff5a3359e05d78ef73c6.tar.bz2
rockbox-be0bccfe981c23d4fcedff5a3359e05d78ef73c6.zip
Forgot the actual file..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17934 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/MTP')
-rwxr-xr-xutils/MTP/sendfirm_win.c80
1 files changed, 80 insertions, 0 deletions
diff --git a/utils/MTP/sendfirm_win.c b/utils/MTP/sendfirm_win.c
new file mode 100755
index 0000000000..e605d47d0c
--- /dev/null
+++ b/utils/MTP/sendfirm_win.c
@@ -0,0 +1,80 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#define LPWSTR wchar_t*
+
+#include <stdio.h>
+#include <string.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdbool.h>
+
+extern __declspec(dllimport) bool send_fw(LPWSTR file, int filesize);
+
+void usage(void)
+{
+ fprintf(stderr, "usage: sendfirm <local filename>\n");
+}
+
+int filesize(char* filename)
+{
+ FILE* fd;
+ int tmp;
+ fd = fopen(filename, "r");
+ if(fd == NULL)
+ {
+ fprintf(stderr, "Error while opening %s!\n", filename);
+ return -1;
+ }
+ fseek(fd, 0, SEEK_END);
+ tmp = ftell(fd);
+ fclose(fd);
+ return tmp;
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2)
+ {
+ usage();
+ return 1;
+ }
+
+ wchar_t *tmp;
+
+ tmp = (LPWSTR)malloc(strlen(argv[1])*2+1);
+ mbstowcs(tmp, argv[1], strlen(argv[1])*2+1);
+
+ wprintf(tmp);
+ printf("\n");
+
+ fprintf(stdout, "Sending firmware...\n");
+
+ if(send_fw(tmp, filesize(argv[1])))
+ fprintf(stdout, "Firmware sent successfully!\n");
+ else
+ fprintf(stdout, "Error occured during sending!\n");
+
+ free(tmp);
+
+ exit(0);
+}