1/* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12/* 13 * Copyright 2017 Nexenta Systems, Inc. All rights reserved. 14 */ 15 16 17#include <sys/types.h> 18#include <sys/time.h> 19#include <sys/systm.h> 20#include <sys/errno.h> 21 22int 23copyin(const void *u, void *k, size_t s) 24{ 25 bcopy(u, k, s); 26 return (0); 27} 28 29int 30copyout(const void *k, void *u, size_t s) 31{ 32 bcopy(k, u, s); 33 return (0); 34} 35 36int 37copyinstr(const char *src, char *dst, size_t max_len, size_t *copied) 38{ 39 return (copystr(src, dst, max_len, copied)); 40} 41 42int 43copystr(const char *src, char *dst, size_t max_len, size_t *outlen) 44{ 45 size_t copied; 46 47 if (max_len == 0) 48 return (ENAMETOOLONG); 49 50 copied = strlcpy(dst, src, max_len) + 1; 51 if (copied >= max_len) 52 return (ENAMETOOLONG); 53 54 if (outlen != NULL) 55 *outlen = copied; 56 57 return (0); 58} 59 60void 61ovbcopy(const void *src, void *dst, size_t len) 62{ 63 (void) memmove(dst, src, len); 64} 65 66/* ARGSUSED */ 67int 68ddi_copyin(const void *buf, void *kernbuf, size_t size, int flags) 69{ 70 return (copyin(buf, kernbuf, size)); 71} 72 73/* ARGSUSED */ 74int 75ddi_copyout(const void *buf, void *kernbuf, size_t size, int flags) 76{ 77 return (copyout(buf, kernbuf, size)); 78} 79