diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-07-03 23:30:51 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-07-03 23:30:51 +0000 |
commit | be0bccfe981c23d4fcedff5a3359e05d78ef73c6 (patch) | |
tree | e97d7edb9b37cfccb9ae81355c8d1586817762d5 | |
parent | 936650104dc1ecf0114ea606f86741e18c7f3465 (diff) | |
download | rockbox-be0bccfe981c23d4fcedff5a3359e05d78ef73c6.tar.gz rockbox-be0bccfe981c23d4fcedff5a3359e05d78ef73c6.zip |
Forgot the actual file..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17934 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-x | utils/MTP/sendfirm_win.c | 80 |
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 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2008 Maurus Cuelenaere | ||
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 | |||
22 | #define LPWSTR wchar_t* | ||
23 | |||
24 | #include <stdio.h> | ||
25 | #include <string.h> | ||
26 | #include <stddef.h> | ||
27 | #include <stdlib.h> | ||
28 | #include <wchar.h> | ||
29 | #include <stdbool.h> | ||
30 | |||
31 | extern __declspec(dllimport) bool send_fw(LPWSTR file, int filesize); | ||
32 | |||
33 | void usage(void) | ||
34 | { | ||
35 | fprintf(stderr, "usage: sendfirm <local filename>\n"); | ||
36 | } | ||
37 | |||
38 | int filesize(char* filename) | ||
39 | { | ||
40 | FILE* fd; | ||
41 | int tmp; | ||
42 | fd = fopen(filename, "r"); | ||
43 | if(fd == NULL) | ||
44 | { | ||
45 | fprintf(stderr, "Error while opening %s!\n", filename); | ||
46 | return -1; | ||
47 | } | ||
48 | fseek(fd, 0, SEEK_END); | ||
49 | tmp = ftell(fd); | ||
50 | fclose(fd); | ||
51 | return tmp; | ||
52 | } | ||
53 | |||
54 | int main(int argc, char **argv) | ||
55 | { | ||
56 | if (argc < 2) | ||
57 | { | ||
58 | usage(); | ||
59 | return 1; | ||
60 | } | ||
61 | |||
62 | wchar_t *tmp; | ||
63 | |||
64 | tmp = (LPWSTR)malloc(strlen(argv[1])*2+1); | ||
65 | mbstowcs(tmp, argv[1], strlen(argv[1])*2+1); | ||
66 | |||
67 | wprintf(tmp); | ||
68 | printf("\n"); | ||
69 | |||
70 | fprintf(stdout, "Sending firmware...\n"); | ||
71 | |||
72 | if(send_fw(tmp, filesize(argv[1]))) | ||
73 | fprintf(stdout, "Firmware sent successfully!\n"); | ||
74 | else | ||
75 | fprintf(stdout, "Error occured during sending!\n"); | ||
76 | |||
77 | free(tmp); | ||
78 | |||
79 | exit(0); | ||
80 | } | ||