diff options
author | Steve Kondik <shade@chemlab.org> | 2013-10-19 19:49:20 -0700 |
---|---|---|
committer | Tom Marshall <tdm@cyngn.com> | 2015-11-20 15:46:34 -0800 |
commit | f30dd3d81206fcfcce0404436fa55c997d03924e (patch) | |
tree | 1b9721c8724d6c7c09f523a1c58c155419e712e3 /recovery_cmds.h | |
parent | 7e9b637c45449d2d4607c9f5ba681deb39c5b230 (diff) | |
download | bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.tar.gz bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.tar.bz2 bootable_recovery-f30dd3d81206fcfcce0404436fa55c997d03924e.zip |
sr: Get a proper shell environment in recovery
* Secure ADB support
* Toybox applets
* mksh
* Various other tools
Change-Id: I80b0e2aa5eb7142eaa9f157709f4e029077d8dfa
Diffstat (limited to 'recovery_cmds.h')
-rw-r--r-- | recovery_cmds.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/recovery_cmds.h b/recovery_cmds.h new file mode 100644 index 0000000..a420ae1 --- /dev/null +++ b/recovery_cmds.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2013 The CyanogenMod 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. + */ + +#ifndef _RECOVERY_CMDS_H +#define _RECOVERY_CMDS_H + +#include <stdio.h> +#include <string.h> + +int minizip_main(int argc, char **argv); +int make_ext4fs_main(int argc, char **argv); +int reboot_main(int argc, char **argv); +int poweroff_main(int argc, char **argv); +int fsck_msdos_main(int argc, char **argv); +int newfs_msdos_main(int argc, char **argv); +int pigz_main(int argc, char **argv); +int start_main(int argc, char **argv); +int stop_main(int argc, char **argv); +int mksh_main(int argc, char **argv); +#ifdef USE_F2FS +int make_f2fs_main(int argc, char **argv); +int fsck_f2fs_main(int argc, char **argv); +int fibmap_main(int argc, char **argv); +#endif + +int toybox_driver(int argc, char **argv); + +struct recovery_cmd { + const char *name; + int (*main_func)(int argc, char **argv); +}; + +static const struct recovery_cmd recovery_cmds[] = { + { "minizip", minizip_main }, + { "make_ext4fs", make_ext4fs_main }, + { "reboot", reboot_main }, + { "poweroff", reboot_main }, + { "fsck_msdos", fsck_msdos_main }, + { "newfs_msdos", newfs_msdos_main }, + { "pigz", pigz_main }, + { "gzip", pigz_main }, + { "gunzip", pigz_main }, + { "start", start_main }, + { "stop", stop_main }, + { "sh", mksh_main }, +#ifdef USE_F2FS + { "mkfs.f2fs", make_f2fs_main }, + { "fsck.f2fs", fsck_f2fs_main }, + { "fibmap.f2fs", fibmap_main }, +#endif + { NULL, NULL }, +}; + +struct recovery_cmd get_command(char* command) { + int i; + + for (i = 0; recovery_cmds[i].name; i++) { + if (strcmp(command, recovery_cmds[i].name) == 0) + break; + } + + return recovery_cmds[i]; +} +#endif |