1*b819cea2SGordon Ross /* 2*b819cea2SGordon Ross * This file and its contents are supplied under the terms of the 3*b819cea2SGordon Ross * Common Development and Distribution License ("CDDL"), version 1.0. 4*b819cea2SGordon Ross * You may only use this file in accordance with the terms of version 5*b819cea2SGordon Ross * 1.0 of the CDDL. 6*b819cea2SGordon Ross * 7*b819cea2SGordon Ross * A full copy of the text of the CDDL should have accompanied this 8*b819cea2SGordon Ross * source. A copy of the CDDL is also available via the Internet at 9*b819cea2SGordon Ross * http://www.illumos.org/license/CDDL. 10*b819cea2SGordon Ross */ 11*b819cea2SGordon Ross 12*b819cea2SGordon Ross /* 13*b819cea2SGordon Ross * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 14*b819cea2SGordon Ross */ 15*b819cea2SGordon Ross 16*b819cea2SGordon Ross 17*b819cea2SGordon Ross #include <sys/types.h> 18*b819cea2SGordon Ross #include <sys/time.h> 19*b819cea2SGordon Ross #include <sys/systm.h> 20*b819cea2SGordon Ross #include <sys/errno.h> 21*b819cea2SGordon Ross 22*b819cea2SGordon Ross int 23*b819cea2SGordon Ross copyinstr(const char *src, char *dst, size_t max_len, size_t *copied) 24*b819cea2SGordon Ross { 25*b819cea2SGordon Ross return (copystr(src, dst, max_len, copied)); 26*b819cea2SGordon Ross } 27*b819cea2SGordon Ross 28*b819cea2SGordon Ross int 29*b819cea2SGordon Ross copystr(const char *src, char *dst, size_t max_len, size_t *outlen) 30*b819cea2SGordon Ross { 31*b819cea2SGordon Ross size_t copied; 32*b819cea2SGordon Ross 33*b819cea2SGordon Ross if (max_len == 0) 34*b819cea2SGordon Ross return (ENAMETOOLONG); 35*b819cea2SGordon Ross 36*b819cea2SGordon Ross copied = strlcpy(dst, src, max_len) + 1; 37*b819cea2SGordon Ross if (copied >= max_len) 38*b819cea2SGordon Ross return (ENAMETOOLONG); 39*b819cea2SGordon Ross 40*b819cea2SGordon Ross if (outlen != NULL) 41*b819cea2SGordon Ross *outlen = copied; 42*b819cea2SGordon Ross 43*b819cea2SGordon Ross return (0); 44*b819cea2SGordon Ross } 45*b819cea2SGordon Ross 46*b819cea2SGordon Ross void 47*b819cea2SGordon Ross ovbcopy(const void *src, void *dst, size_t len) 48*b819cea2SGordon Ross { 49*b819cea2SGordon Ross (void) memmove(dst, src, len); 50*b819cea2SGordon Ross } 51