socsvn commit: r324695 - soc2017/kneitinger/libbe-head/sbin/be
kneitinger at FreeBSD.org
kneitinger at FreeBSD.org
Mon Jul 17 08:35:06 UTC 2017
Author: kneitinger
Date: Mon Jul 17 08:35:04 2017
New Revision: 324695
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=324695
Log:
be(1): add libbe calls to corresponding functions
Modified:
soc2017/kneitinger/libbe-head/sbin/be/be.c
Modified: soc2017/kneitinger/libbe-head/sbin/be/be.c
==============================================================================
--- soc2017/kneitinger/libbe-head/sbin/be/be.c Mon Jul 17 06:46:57 2017 (r324694)
+++ soc2017/kneitinger/libbe-head/sbin/be/be.c Mon Jul 17 08:35:04 2017 (r324695)
@@ -188,6 +188,11 @@
err = be_create(be, bootenv);
}
+ switch (err) {
+ default:
+ fprintf(stderr, "TODO FILL IN");
+ }
+
return (err);
}
@@ -309,23 +314,34 @@
static int
be_cmd_mount(int argc, char *argv[])
{
+ int err, flags;
char *bootenv;
char *mountpoint;
+ // TODO: force flag?
+
+ flags = 0;
+
if (argc < 2) {
fprintf(stderr, "be mount: missing argument(s)\n");
return (usage(false));
}
if (argc > 3) {
- fprintf(stderr, "be rename: too many arguments\n");
+ fprintf(stderr, "be mount: too many arguments\n");
return (usage(false));
}
bootenv = argv[1];
mountpoint = argc == 3 ? argv[2] : NULL;
- /* mount logic goes here */
+
+ err = be_mount(be, bootenv, mountpoint, flags);
+
+ switch (err) {
+ BE_ERR_SUCCESS:
+ return (0);
+ }
return (0);
}
@@ -336,6 +352,7 @@
{
char *src;
char *dest;
+ int err;
if (argc < 3) {
fprintf(stderr, "be rename: missing argument\n");
@@ -350,7 +367,12 @@
src = argv[1];
dest = argv[2];
- /* rename logic goes here */
+ err = be_rename(be, src, dest);
+
+ switch (err) {
+ BE_ERR_SUCCESS:
+ return (0);
+ }
return (0);
}
@@ -398,18 +420,17 @@
static int
be_cmd_unmount(int argc, char *argv[])
{
- int opt;
- bool force;
- char *cmd, *mountpoint;
+ int err, flags, opt;
+ char *cmd, *bootenv;
/* Store alias used */
cmd = argv[0];
- force = false;
+ flags = 0;
while ((opt = getopt(argc, argv, "f")) != -1) {
switch (opt) {
case 'f':
- force = true;
+ flags |= BE_MNT_FORCE;
break;
default:
fprintf(stderr, "be %s: unknown option '-%c'\n",
@@ -426,9 +447,14 @@
return (usage(false));
}
- mountpoint = argv[0];
+ bootenv = argv[0];
- /* unmount logic goes here */
+ err = be_unmount(be, bootenv, flags);
+
+ switch (err) {
+ default:
+ fprintf(stderr, "TODO FILL ME IN");
+ }
return (0);
}
@@ -438,7 +464,7 @@
main(int argc, char *argv[])
{
char *command;
- int command_index;
+ int command_index, rc;
if (argc < 2) {
fprintf(stderr, "missing command\n");
@@ -469,7 +495,7 @@
libbe_print_on_error(be, true);
- int rc = command_map[command_index].fn(argc-1, argv+1);
+ rc = command_map[command_index].fn(argc-1, argv+1);
libbe_close(be);
More information about the svn-soc-all
mailing list