summaryrefslogtreecommitdiff
path: root/usr/src/lib/libfakekernel/common/copy.c
diff options
context:
space:
mode:
authorGordon Ross <gwr@nexenta.com>2013-06-17 10:34:00 -0400
committerGordon Ross <gwr@nexenta.com>2015-06-04 16:46:25 -0400
commitb819cea2f73f98c5662230cc9affc8cc84f77fcf (patch)
treea3677952ded5706400717b9b79b0aeaa3d93a739 /usr/src/lib/libfakekernel/common/copy.c
parent83d2dfe69259e79314662cf95e6d1f9103dcffe2 (diff)
downloadillumos-gate-b819cea2f73f98c5662230cc9affc8cc84f77fcf.tar.gz
5917 User-mode SMB server
Authored by: Thomas Keiser <thomas.keiser@nexenta.com> Authored by: Albert Lee <trisk@nexenta.com> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Reviewed by: Albert Lee <trisk@omniti.com> Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/lib/libfakekernel/common/copy.c')
-rw-r--r--usr/src/lib/libfakekernel/common/copy.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/usr/src/lib/libfakekernel/common/copy.c b/usr/src/lib/libfakekernel/common/copy.c
new file mode 100644
index 0000000000..b1eb215b5c
--- /dev/null
+++ b/usr/src/lib/libfakekernel/common/copy.c
@@ -0,0 +1,50 @@
+/*
+ * This file and its contents are supplied under the terms of the
+ * Common Development and Distribution License ("CDDL"), version 1.0.
+ * You may only use this file in accordance with the terms of version
+ * 1.0 of the CDDL.
+ *
+ * A full copy of the text of the CDDL should have accompanied this
+ * source. A copy of the CDDL is also available via the Internet at
+ * http://www.illumos.org/license/CDDL.
+ */
+
+/*
+ * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ */
+
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/systm.h>
+#include <sys/errno.h>
+
+int
+copyinstr(const char *src, char *dst, size_t max_len, size_t *copied)
+{
+ return (copystr(src, dst, max_len, copied));
+}
+
+int
+copystr(const char *src, char *dst, size_t max_len, size_t *outlen)
+{
+ size_t copied;
+
+ if (max_len == 0)
+ return (ENAMETOOLONG);
+
+ copied = strlcpy(dst, src, max_len) + 1;
+ if (copied >= max_len)
+ return (ENAMETOOLONG);
+
+ if (outlen != NULL)
+ *outlen = copied;
+
+ return (0);
+}
+
+void
+ovbcopy(const void *src, void *dst, size_t len)
+{
+ (void) memmove(dst, src, len);
+}