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
57c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
67c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
77c478bd9Sstevel@tonic-gate  * with the License.
87c478bd9Sstevel@tonic-gate  *
97c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate  * and limitations under the License.
137c478bd9Sstevel@tonic-gate  *
147c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate  *
207c478bd9Sstevel@tonic-gate  * CDDL HEADER END
217c478bd9Sstevel@tonic-gate  */
22*e8031f0aSraf 
237c478bd9Sstevel@tonic-gate /*
24*e8031f0aSraf  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
257c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
267c478bd9Sstevel@tonic-gate  */
277c478bd9Sstevel@tonic-gate 
287c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
297c478bd9Sstevel@tonic-gate 
307c478bd9Sstevel@tonic-gate /*
317c478bd9Sstevel@tonic-gate  * Stubs for the standalone to reduce the dependence on external libraries
327c478bd9Sstevel@tonic-gate  */
337c478bd9Sstevel@tonic-gate 
347c478bd9Sstevel@tonic-gate #include <string.h>
357c478bd9Sstevel@tonic-gate #include <thread.h>
367c478bd9Sstevel@tonic-gate 
377c478bd9Sstevel@tonic-gate #include "misc.h"
387c478bd9Sstevel@tonic-gate 
397c478bd9Sstevel@tonic-gate /*ARGSUSED*/
407c478bd9Sstevel@tonic-gate int
417c478bd9Sstevel@tonic-gate _cond_init(cond_t *cvp, int type, void *arg)
427c478bd9Sstevel@tonic-gate {
437c478bd9Sstevel@tonic-gate 	return (0);
447c478bd9Sstevel@tonic-gate }
457c478bd9Sstevel@tonic-gate 
467c478bd9Sstevel@tonic-gate /*ARGSUSED*/
477c478bd9Sstevel@tonic-gate int
487c478bd9Sstevel@tonic-gate _cond_destroy(cond_t *cvp)
497c478bd9Sstevel@tonic-gate {
507c478bd9Sstevel@tonic-gate 	return (0);
517c478bd9Sstevel@tonic-gate }
527c478bd9Sstevel@tonic-gate 
537c478bd9Sstevel@tonic-gate /*ARGSUSED*/
547c478bd9Sstevel@tonic-gate int
557c478bd9Sstevel@tonic-gate _cond_wait(cond_t *cv, mutex_t *mutex)
567c478bd9Sstevel@tonic-gate {
577c478bd9Sstevel@tonic-gate 	umem_panic("attempt to wait on standumem cv %p", cv);
587c478bd9Sstevel@tonic-gate 
597c478bd9Sstevel@tonic-gate 	/*NOTREACHED*/
607c478bd9Sstevel@tonic-gate 	return (0);
617c478bd9Sstevel@tonic-gate }
627c478bd9Sstevel@tonic-gate 
637c478bd9Sstevel@tonic-gate /*ARGSUSED*/
647c478bd9Sstevel@tonic-gate int
657c478bd9Sstevel@tonic-gate _cond_broadcast(cond_t *cvp)
667c478bd9Sstevel@tonic-gate {
677c478bd9Sstevel@tonic-gate 	return (0);
687c478bd9Sstevel@tonic-gate }
697c478bd9Sstevel@tonic-gate 
707c478bd9Sstevel@tonic-gate thread_t
717c478bd9Sstevel@tonic-gate _thr_self(void)
727c478bd9Sstevel@tonic-gate {
737c478bd9Sstevel@tonic-gate 	return ((thread_t)1);
747c478bd9Sstevel@tonic-gate }
757c478bd9Sstevel@tonic-gate 
767c478bd9Sstevel@tonic-gate static mutex_t _mp = DEFAULTMUTEX;
777c478bd9Sstevel@tonic-gate 
787c478bd9Sstevel@tonic-gate /*ARGSUSED*/
797c478bd9Sstevel@tonic-gate int
807c478bd9Sstevel@tonic-gate __mutex_init(mutex_t *mp, int type, void *arg)
817c478bd9Sstevel@tonic-gate {
827c478bd9Sstevel@tonic-gate 	(void) memcpy(mp, &_mp, sizeof (mutex_t));
837c478bd9Sstevel@tonic-gate 	return (0);
847c478bd9Sstevel@tonic-gate }
857c478bd9Sstevel@tonic-gate 
867c478bd9Sstevel@tonic-gate /*ARGSUSED*/
877c478bd9Sstevel@tonic-gate int
887c478bd9Sstevel@tonic-gate __mutex_destroy(mutex_t *mp)
897c478bd9Sstevel@tonic-gate {
907c478bd9Sstevel@tonic-gate 	return (0);
917c478bd9Sstevel@tonic-gate }
927c478bd9Sstevel@tonic-gate 
937c478bd9Sstevel@tonic-gate /*ARGSUSED*/
947c478bd9Sstevel@tonic-gate int
957c478bd9Sstevel@tonic-gate __mutex_held(mutex_t *mp)
967c478bd9Sstevel@tonic-gate {
977c478bd9Sstevel@tonic-gate 	return (1);
987c478bd9Sstevel@tonic-gate }
997c478bd9Sstevel@tonic-gate 
1007c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1017c478bd9Sstevel@tonic-gate int
1027c478bd9Sstevel@tonic-gate __mutex_lock(mutex_t *mp)
1037c478bd9Sstevel@tonic-gate {
1047c478bd9Sstevel@tonic-gate 	return (0);
1057c478bd9Sstevel@tonic-gate }
1067c478bd9Sstevel@tonic-gate 
1077c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1087c478bd9Sstevel@tonic-gate int
1097c478bd9Sstevel@tonic-gate __mutex_trylock(mutex_t *mp)
1107c478bd9Sstevel@tonic-gate {
1117c478bd9Sstevel@tonic-gate 	return (0);
1127c478bd9Sstevel@tonic-gate }
1137c478bd9Sstevel@tonic-gate 
1147c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1157c478bd9Sstevel@tonic-gate int
1167c478bd9Sstevel@tonic-gate __mutex_unlock(mutex_t *mp)
1177c478bd9Sstevel@tonic-gate {
1187c478bd9Sstevel@tonic-gate 	return (0);
1197c478bd9Sstevel@tonic-gate }
1207c478bd9Sstevel@tonic-gate 
1217c478bd9Sstevel@tonic-gate int
122*e8031f0aSraf _issetugid(void)
1237c478bd9Sstevel@tonic-gate {
1247c478bd9Sstevel@tonic-gate 	return (1);
1257c478bd9Sstevel@tonic-gate }
126