17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5a574db85Sraf  * Common Development and Distribution License (the "License").
6a574db85Sraf  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
21e8031f0aSraf 
227c478bd9Sstevel@tonic-gate /*
23*2d08521bSGarrett D'Amore  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
2453f3aea0SRoger A. Faulkner  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
257c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
267c478bd9Sstevel@tonic-gate  */
274f364e7cSRobert Mustacchi /*
284f364e7cSRobert Mustacchi  * Copyright (c) 2012, Joyent, Inc.  All rights reserved.
294f364e7cSRobert Mustacchi  */
307c478bd9Sstevel@tonic-gate 
317c478bd9Sstevel@tonic-gate /*
327c478bd9Sstevel@tonic-gate  * Stubs for the standalone to reduce the dependence on external libraries
337c478bd9Sstevel@tonic-gate  */
347c478bd9Sstevel@tonic-gate 
357c478bd9Sstevel@tonic-gate #include <string.h>
367c478bd9Sstevel@tonic-gate #include "misc.h"
377c478bd9Sstevel@tonic-gate 
387c478bd9Sstevel@tonic-gate /*ARGSUSED*/
397c478bd9Sstevel@tonic-gate int
cond_init(cond_t * cvp,int type,void * arg)407257d1b4Sraf cond_init(cond_t *cvp, int type, void *arg)
417c478bd9Sstevel@tonic-gate {
427c478bd9Sstevel@tonic-gate 	return (0);
437c478bd9Sstevel@tonic-gate }
447c478bd9Sstevel@tonic-gate 
457c478bd9Sstevel@tonic-gate /*ARGSUSED*/
467c478bd9Sstevel@tonic-gate int
cond_destroy(cond_t * cvp)477257d1b4Sraf cond_destroy(cond_t *cvp)
487c478bd9Sstevel@tonic-gate {
497c478bd9Sstevel@tonic-gate 	return (0);
507c478bd9Sstevel@tonic-gate }
517c478bd9Sstevel@tonic-gate 
527c478bd9Sstevel@tonic-gate /*ARGSUSED*/
537c478bd9Sstevel@tonic-gate int
cond_wait(cond_t * cv,mutex_t * mutex)547257d1b4Sraf cond_wait(cond_t *cv, mutex_t *mutex)
557c478bd9Sstevel@tonic-gate {
567c478bd9Sstevel@tonic-gate 	umem_panic("attempt to wait on standumem cv %p", cv);
577c478bd9Sstevel@tonic-gate 
587c478bd9Sstevel@tonic-gate 	/*NOTREACHED*/
597c478bd9Sstevel@tonic-gate 	return (0);
607c478bd9Sstevel@tonic-gate }
617c478bd9Sstevel@tonic-gate 
627c478bd9Sstevel@tonic-gate /*ARGSUSED*/
637c478bd9Sstevel@tonic-gate int
cond_broadcast(cond_t * cvp)647257d1b4Sraf cond_broadcast(cond_t *cvp)
657c478bd9Sstevel@tonic-gate {
667c478bd9Sstevel@tonic-gate 	return (0);
677c478bd9Sstevel@tonic-gate }
687c478bd9Sstevel@tonic-gate 
69a574db85Sraf /*ARGSUSED*/
70a574db85Sraf int
pthread_setcancelstate(int state,int * oldstate)717257d1b4Sraf pthread_setcancelstate(int state, int *oldstate)
72a574db85Sraf {
73a574db85Sraf 	return (0);
74a574db85Sraf }
75a574db85Sraf 
767c478bd9Sstevel@tonic-gate thread_t
thr_self(void)777257d1b4Sraf thr_self(void)
787c478bd9Sstevel@tonic-gate {
797c478bd9Sstevel@tonic-gate 	return ((thread_t)1);
807c478bd9Sstevel@tonic-gate }
817c478bd9Sstevel@tonic-gate 
827c478bd9Sstevel@tonic-gate static mutex_t _mp = DEFAULTMUTEX;
837c478bd9Sstevel@tonic-gate 
847c478bd9Sstevel@tonic-gate /*ARGSUSED*/
857c478bd9Sstevel@tonic-gate int
mutex_init(mutex_t * mp,int type,void * arg)867257d1b4Sraf mutex_init(mutex_t *mp, int type, void *arg)
877c478bd9Sstevel@tonic-gate {
887c478bd9Sstevel@tonic-gate 	(void) memcpy(mp, &_mp, sizeof (mutex_t));
897c478bd9Sstevel@tonic-gate 	return (0);
907c478bd9Sstevel@tonic-gate }
917c478bd9Sstevel@tonic-gate 
927c478bd9Sstevel@tonic-gate /*ARGSUSED*/
937c478bd9Sstevel@tonic-gate int
mutex_destroy(mutex_t * mp)947257d1b4Sraf mutex_destroy(mutex_t *mp)
957c478bd9Sstevel@tonic-gate {
967c478bd9Sstevel@tonic-gate 	return (0);
977c478bd9Sstevel@tonic-gate }
987c478bd9Sstevel@tonic-gate 
997c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1007c478bd9Sstevel@tonic-gate int
_mutex_held(void * mp)10153f3aea0SRoger A. Faulkner _mutex_held(void *mp)
1027c478bd9Sstevel@tonic-gate {
1037c478bd9Sstevel@tonic-gate 	return (1);
1047c478bd9Sstevel@tonic-gate }
1057c478bd9Sstevel@tonic-gate 
1067c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1077c478bd9Sstevel@tonic-gate int
mutex_lock(mutex_t * mp)1087257d1b4Sraf mutex_lock(mutex_t *mp)
1097c478bd9Sstevel@tonic-gate {
1107c478bd9Sstevel@tonic-gate 	return (0);
1117c478bd9Sstevel@tonic-gate }
1127c478bd9Sstevel@tonic-gate 
1137c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1147c478bd9Sstevel@tonic-gate int
mutex_trylock(mutex_t * mp)1157257d1b4Sraf mutex_trylock(mutex_t *mp)
1167c478bd9Sstevel@tonic-gate {
1177c478bd9Sstevel@tonic-gate 	return (0);
1187c478bd9Sstevel@tonic-gate }
1197c478bd9Sstevel@tonic-gate 
1207c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1217c478bd9Sstevel@tonic-gate int
mutex_unlock(mutex_t * mp)1227257d1b4Sraf mutex_unlock(mutex_t *mp)
1237c478bd9Sstevel@tonic-gate {
1247c478bd9Sstevel@tonic-gate 	return (0);
1257c478bd9Sstevel@tonic-gate }
1267c478bd9Sstevel@tonic-gate 
1277c478bd9Sstevel@tonic-gate int
issetugid(void)1287257d1b4Sraf issetugid(void)
1297c478bd9Sstevel@tonic-gate {
1307c478bd9Sstevel@tonic-gate 	return (1);
1317c478bd9Sstevel@tonic-gate }
1324f364e7cSRobert Mustacchi 
1334f364e7cSRobert Mustacchi int
_tmem_get_nentries(void)1344f364e7cSRobert Mustacchi _tmem_get_nentries(void)
1354f364e7cSRobert Mustacchi {
1364f364e7cSRobert Mustacchi 	return (0);
1374f364e7cSRobert Mustacchi }
1384f364e7cSRobert Mustacchi 
1394f364e7cSRobert Mustacchi uintptr_t
_tmem_get_base(void)1404f364e7cSRobert Mustacchi _tmem_get_base(void)
1414f364e7cSRobert Mustacchi {
1424f364e7cSRobert Mustacchi 	return (0);
1434f364e7cSRobert Mustacchi }
1444f364e7cSRobert Mustacchi 
1454f364e7cSRobert Mustacchi /*ARGSUSED*/
1464f364e7cSRobert Mustacchi void
_tmem_set_cleanup(void (* f)(int,void *))1474f364e7cSRobert Mustacchi _tmem_set_cleanup(void (*f)(int, void *))
1484f364e7cSRobert Mustacchi {
1494f364e7cSRobert Mustacchi }
150*2d08521bSGarrett D'Amore 
151*2d08521bSGarrett D'Amore int
isspace(int c)152*2d08521bSGarrett D'Amore isspace(int c)
153*2d08521bSGarrett D'Amore {
154*2d08521bSGarrett D'Amore 	switch (c) {
155*2d08521bSGarrett D'Amore 	case ' ':
156*2d08521bSGarrett D'Amore 	case '\t':
157*2d08521bSGarrett D'Amore 	case '\n':
158*2d08521bSGarrett D'Amore 	case '\r':
159*2d08521bSGarrett D'Amore 	case '\f':
160*2d08521bSGarrett D'Amore 	case '\v':
161*2d08521bSGarrett D'Amore 		return (1);
162*2d08521bSGarrett D'Amore 	}
163*2d08521bSGarrett D'Amore 	return (0);
164*2d08521bSGarrett D'Amore }
165