socsvn commit: r323831 - soc2017/kneitinger/libbe-head/sbin/be
kneitinger at FreeBSD.org
kneitinger at FreeBSD.org
Thu Jun 22 07:26:05 UTC 2017
Author: kneitinger
Date: Thu Jun 22 07:26:04 2017
New Revision: 323831
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=323831
Log:
Add parser for be mount and unmount commands
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 Thu Jun 22 06:25:34 2017 (r323830)
+++ soc2017/kneitinger/libbe-head/sbin/be/be.c Thu Jun 22 07:26:04 2017 (r323831)
@@ -315,7 +315,23 @@
static int
be_mount(int argc, char *argv[])
{
- return (EX_USAGE);
+ char *bootenv;
+ char *mountpoint;
+
+ 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");
+ return (usage(false));
+ }
+
+ bootenv = argv[1];
+ mountpoint = argc == 3 ? argv[2] : NULL;
+
+ return (0);
}
@@ -352,7 +368,39 @@
static int
be_unmount(int argc, char *argv[])
{
- return (EX_USAGE);
+ int opt;
+ bool force;
+ char *cmd, *mountpoint;
+
+ /* Store alias used */
+ cmd = argv[0];
+
+ force = false;
+ while ((opt = getopt(argc, argv, "f")) != -1) {
+ switch (opt) {
+ case 'f':
+ force = true;
+ break;
+ default:
+ fprintf(stderr, "be %s: unknown option '-%c'\n",
+ cmd, optopt);
+ return (usage(false));
+ }
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ if (argc != 1) {
+ fprintf(stderr, "be %s: wrong number of arguments\n", cmd);
+ return (usage(false));
+ }
+
+ mountpoint = argv[0];
+
+ /* activate logic goes here */
+
+ return (0);
}
More information about the svn-soc-all
mailing list