Module Name: src
Committed By: pgoyette
Date: Sun Jul 31 02:02:20 UTC 2016
Modified Files:
src/usr.sbin/fssconfig [pgoyette-localcount]: Makefile
Added Files:
src/usr.sbin/fssconfig [pgoyette-localcount]: fssconfig_hostops.c
fssconfig_rumpops.c prog_ops.h
Log Message:
Add a rump version of fssconfig
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.1.78.1 src/usr.sbin/fssconfig/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/usr.sbin/fssconfig/fssconfig_hostops.c \
src/usr.sbin/fssconfig/fssconfig_rumpops.c \
src/usr.sbin/fssconfig/prog_ops.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/fssconfig/Makefile
diff -u src/usr.sbin/fssconfig/Makefile:1.1 src/usr.sbin/fssconfig/Makefile:1.1.78.1
--- src/usr.sbin/fssconfig/Makefile:1.1 Wed Dec 10 11:40:12 2003
+++ src/usr.sbin/fssconfig/Makefile Sun Jul 31 02:02:20 2016
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2003/12/10 11:40:12 hannken Exp $
+# $NetBSD: Makefile,v 1.1.78.1 2016/07/31 02:02:20 pgoyette Exp $
-PROG= fssconfig
+RUMPPRG= fssconfig
MAN= fssconfig.8
DPADD+= ${LIBUTIL}
LDADD+= -lutil
Added files:
Index: src/usr.sbin/fssconfig/fssconfig_hostops.c
diff -u /dev/null src/usr.sbin/fssconfig/fssconfig_hostops.c:1.1.2.1
--- /dev/null Sun Jul 31 02:02:20 2016
+++ src/usr.sbin/fssconfig/fssconfig_hostops.c Sun Jul 31 02:02:20 2016
@@ -0,0 +1,52 @@
+/* $NetBSD: fssconfig_hostops.c,v 1.1.2.1 2016/07/31 02:02:20 pgoyette Exp $ */
+
+/*
+ * Copyright (c) 2009 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: fssconfig_hostops.c,v 1.1.2.1 2016/07/31 02:02:20 pgoyette Exp $");
+#endif /* !lint */
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/statvfs.h>
+
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "prog_ops.h"
+
+const struct prog_ops prog_ops = {
+ .op_open = open,
+ .op_ioctl = ioctl,
+ .op_pread = pread,
+ .op_close = close,
+ .op_stat = stat,
+ .op_fstat = fstat,
+ .op_statvfs1 = statvfs1,
+};
Index: src/usr.sbin/fssconfig/fssconfig_rumpops.c
diff -u /dev/null src/usr.sbin/fssconfig/fssconfig_rumpops.c:1.1.2.1
--- /dev/null Sun Jul 31 02:02:20 2016
+++ src/usr.sbin/fssconfig/fssconfig_rumpops.c Sun Jul 31 02:02:20 2016
@@ -0,0 +1,54 @@
+/* $NetBSD: fssconfig_rumpops.c,v 1.1.2.1 2016/07/31 02:02:20 pgoyette Exp $ */
+
+/*
+ * Copyright (c) 2009 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: fssconfig_rumpops.c,v 1.1.2.1 2016/07/31 02:02:20 pgoyette Exp $");
+#endif /* !lint */
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/statvfs.h>
+
+#include <rump/rump.h>
+#include <rump/rump_syscalls.h>
+#include <rump/rumpclient.h>
+
+#include "prog_ops.h"
+
+const struct prog_ops prog_ops = {
+ .op_init = rumpclient_init,
+ .op_open = rump_sys_open,
+ .op_ioctl = rump_sys_ioctl,
+ .op_pread = rump_sys_pread,
+ .op_close = rump_sys_close,
+ .op_stat = rump_sys_stat,
+ .op_fstat = rump_sys_fstat,
+ .op_statvfs1 = rump_sys_statvfs1,
+};
Index: src/usr.sbin/fssconfig/prog_ops.h
diff -u /dev/null src/usr.sbin/fssconfig/prog_ops.h:1.1.2.1
--- /dev/null Sun Jul 31 02:02:20 2016
+++ src/usr.sbin/fssconfig/prog_ops.h Sun Jul 31 02:02:20 2016
@@ -0,0 +1,70 @@
+/* $NetBSD: prog_ops.h,v 1.1.2.1 2016/07/31 02:02:20 pgoyette Exp $ */
+
+/*
+ * Copyright (c) 2009 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _PROG_OPS_H_
+#define _PROG_OPS_H_
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/statvfs.h>
+
+#include <fcntl.h>
+
+#ifndef CRUNCHOPS
+struct prog_ops {
+ int (*op_init)(void);
+ int (*op_open)(const char *, int, ...);
+ int (*op_ioctl)(int, unsigned long, ...);
+ int (*op_close)(int);
+ ssize_t (*op_pread)(int, void *, size_t, off_t);
+ int (*op_statvfs1)(const char *, struct statvfs *, int);
+ int (*op_stat)(const char *, struct stat *);
+ int (*op_fstat)(int, struct stat *);
+};
+extern const struct prog_ops prog_ops;
+
+#define prog_init prog_ops.op_init
+#define prog_open prog_ops.op_open
+#define prog_ioctl prog_ops.op_ioctl
+#define prog_close prog_ops.op_close
+#define prog_pread prog_ops.op_pread
+#define prog_stat prog_ops.op_stat
+#define prog_statvfs1 prog_ops.op_statvfs1
+#define prog_fstat prog_ops.op_fstat
+#else
+#define prog_init ((int (*)(void))NULL)
+#define prog_open open
+#define prog_ioctl ioctl
+#define prog_close close
+#define prog_pread pread
+#define prog_stat stat
+#define prog_statvfs1 statvfs1
+#define prog_fstat fstat
+#endif
+
+#endif /* _PROG_OPS_H_ */