pthread_np.h revision 176049
138776Snsouch/*
293023Snsouch * Copyright (c) 1996-98 John Birrell <jb@cimlogic.com.au>.
338776Snsouch * All rights reserved.
438776Snsouch *
538776Snsouch * Redistribution and use in source and binary forms, with or without
638776Snsouch * modification, are permitted provided that the following conditions
738776Snsouch * are met:
838776Snsouch * 1. Redistributions of source code must retain the above copyright
938776Snsouch *    notice, this list of conditions and the following disclaimer.
1038776Snsouch * 2. Redistributions in binary form must reproduce the above copyright
1138776Snsouch *    notice, this list of conditions and the following disclaimer in the
1238776Snsouch *    documentation and/or other materials provided with the distribution.
1338776Snsouch * 3. Neither the name of the author nor the names of any co-contributors
1438776Snsouch *    may be used to endorse or promote products derived from this software
1538776Snsouch *    without specific prior written permission.
1638776Snsouch *
1738776Snsouch * THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND
1838776Snsouch * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1938776Snsouch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2038776Snsouch * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2138776Snsouch * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2238776Snsouch * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2338776Snsouch * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2438776Snsouch * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2538776Snsouch * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2638776Snsouch * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2738776Snsouch * SUCH DAMAGE.
28119419Sobrien *
29119419Sobrien * $FreeBSD: head/include/pthread_np.h 176049 2008-02-06 19:34:31Z des $
30119419Sobrien */
3138776Snsouch#ifndef _PTHREAD_NP_H_
3238776Snsouch#define _PTHREAD_NP_H_
33162234Sjhb
3438776Snsouch/*
35162234Sjhb * Non-POSIX type definitions:
3638776Snsouch */
3738776Snsouchtypedef void	(*pthread_switch_routine_t)(pthread_t, pthread_t);
3838776Snsouch
3938776Snsouch/*
4038776Snsouch * Non-POSIX thread function prototype definitions:
4138776Snsouch */
4238776Snsouch__BEGIN_DECLS
4338776Snsouchint pthread_attr_setcreatesuspend_np(pthread_attr_t *);
4438776Snsouchint pthread_attr_get_np(pthread_t, pthread_attr_t *);
4538776Snsouchint pthread_main_np(void);
4638776Snsouchint pthread_multi_np(void);
4738776Snsouchint pthread_mutexattr_getkind_np(pthread_mutexattr_t);
48162234Sjhbint pthread_mutexattr_setkind_np(pthread_mutexattr_t *, int);
4938776Snsouchvoid pthread_resume_all_np(void);
5038776Snsouchint pthread_resume_np(pthread_t);
51162234Sjhbvoid pthread_set_name_np(pthread_t, const char *);
5238776Snsouchint pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count);
5338776Snsouchint pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
54162234Sjhbint pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
5538776Snsouchint pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
5638776Snsouchint pthread_mutex_isowned_np(pthread_mutex_t *mutex);
5738776Snsouchint pthread_single_np(void);
5843998Snsouchvoid pthread_suspend_all_np(void);
5943998Snsouchint pthread_suspend_np(pthread_t);
6043998Snsouchint pthread_switch_add_np(pthread_switch_routine_t);
6143998Snsouchint pthread_switch_delete_np(pthread_switch_routine_t);
6243998Snsouchint pthread_timedjoin_np(pthread_t, void **, const struct timespec *);
6343998Snsouch__END_DECLS
6443998Snsouch
6543998Snsouch#endif
6643998Snsouch