1*fc2512cfSRobert Mustacchi# 2*fc2512cfSRobert Mustacchi# This file and its contents are supplied under the terms of the 3*fc2512cfSRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0. 4*fc2512cfSRobert Mustacchi# You may only use this file in accordance with the terms of version 5*fc2512cfSRobert Mustacchi# 1.0 of the CDDL. 6*fc2512cfSRobert Mustacchi# 7*fc2512cfSRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this 8*fc2512cfSRobert Mustacchi# source. A copy of the CDDL is also available via the Internet at 9*fc2512cfSRobert Mustacchi# http://www.illumos.org/license/CDDL. 10*fc2512cfSRobert Mustacchi# 11*fc2512cfSRobert Mustacchi 12*fc2512cfSRobert Mustacchi# 13*fc2512cfSRobert Mustacchi# Copyright 2016 Joyent, Inc. 14*fc2512cfSRobert Mustacchi# 15*fc2512cfSRobert Mustacchi 16*fc2512cfSRobert Mustacchi# 17*fc2512cfSRobert Mustacchi# Definitions found in stddef.h 18*fc2512cfSRobert Mustacchi# 19*fc2512cfSRobert Mustacchi 20*fc2512cfSRobert Mustacchi# 21*fc2512cfSRobert Mustacchi# Types 22*fc2512cfSRobert Mustacchi# 23*fc2512cfSRobert Mustacchitype | cnd_t | threads.h | -ALL +C11 24*fc2512cfSRobert Mustacchitype | thrd_t | threads.h | -ALL +C11 25*fc2512cfSRobert Mustacchitype | tss_t | threads.h | -ALL +C11 26*fc2512cfSRobert Mustacchitype | mtx_t | threads.h | -ALL +C11 27*fc2512cfSRobert Mustacchitype | once_flag | threads.h | -ALL +C11 28*fc2512cfSRobert Mustacchitype | tss_dtor_t | threads.h | -ALL +C11 29*fc2512cfSRobert Mustacchitype | thrd_start_t | threads.h | -ALL +C11 30*fc2512cfSRobert Mustacchi 31*fc2512cfSRobert Mustacchi# 32*fc2512cfSRobert Mustacchi# Values. 33*fc2512cfSRobert Mustacchi# 34*fc2512cfSRobert Mustacchivalue | mtx_plain | int | threads.h | -ALL +C11 35*fc2512cfSRobert Mustacchivalue | mtx_recursive | int | threads.h | -ALL +C11 36*fc2512cfSRobert Mustacchivalue | mtx_timed | int | threads.h | -ALL +C11 37*fc2512cfSRobert Mustacchivalue | thrd_success | int | threads.h | -ALL +C11 38*fc2512cfSRobert Mustacchivalue | thrd_error | int | threads.h | -ALL +C11 39*fc2512cfSRobert Mustacchivalue | thrd_busy | int | threads.h | -ALL +C11 40*fc2512cfSRobert Mustacchivalue | thrd_timedout | int | threads.h | -ALL +C11 41*fc2512cfSRobert Mustacchivalue | thrd_nomem | int | threads.h | -ALL +C11 42*fc2512cfSRobert Mustacchi 43*fc2512cfSRobert Mustacchi# 44*fc2512cfSRobert Mustacchi# Defines 45*fc2512cfSRobert Mustacchi# 46*fc2512cfSRobert Mustacchidefine | thread_local | | threads.h | -ALL +C11 47*fc2512cfSRobert Mustacchidefine | ONCE_FLAG_INIT | | threads.h | -ALL +C11 48*fc2512cfSRobert Mustacchidefine | TSS_DTOR_ITERATIONS | | threads.h | -ALL +C11 49*fc2512cfSRobert Mustacchi 50*fc2512cfSRobert Mustacchi# 51*fc2512cfSRobert Mustacchi# Functions 52*fc2512cfSRobert Mustacchi# 53*fc2512cfSRobert Mustacchifunc | call_once |\ 54*fc2512cfSRobert Mustacchi void |\ 55*fc2512cfSRobert Mustacchi once_flag *; void (*)(void) |\ 56*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 57*fc2512cfSRobert Mustacchi 58*fc2512cfSRobert Mustacchifunc | cnd_broadcast |\ 59*fc2512cfSRobert Mustacchi int |\ 60*fc2512cfSRobert Mustacchi cnd_t * |\ 61*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 62*fc2512cfSRobert Mustacchi 63*fc2512cfSRobert Mustacchifunc | cnd_destroy |\ 64*fc2512cfSRobert Mustacchi void |\ 65*fc2512cfSRobert Mustacchi cnd_t * |\ 66*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 67*fc2512cfSRobert Mustacchi 68*fc2512cfSRobert Mustacchifunc | cnd_init |\ 69*fc2512cfSRobert Mustacchi int |\ 70*fc2512cfSRobert Mustacchi cnd_t * |\ 71*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 72*fc2512cfSRobert Mustacchi 73*fc2512cfSRobert Mustacchifunc | cnd_signal |\ 74*fc2512cfSRobert Mustacchi int |\ 75*fc2512cfSRobert Mustacchi cnd_t * |\ 76*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 77*fc2512cfSRobert Mustacchi 78*fc2512cfSRobert Mustacchifunc | cnd_timedwait |\ 79*fc2512cfSRobert Mustacchi int |\ 80*fc2512cfSRobert Mustacchi cnd_t *; mtx_t *; const struct timespec * |\ 81*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 82*fc2512cfSRobert Mustacchi 83*fc2512cfSRobert Mustacchifunc | cnd_wait |\ 84*fc2512cfSRobert Mustacchi int |\ 85*fc2512cfSRobert Mustacchi cnd_t *; mtx_t * |\ 86*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 87*fc2512cfSRobert Mustacchi 88*fc2512cfSRobert Mustacchifunc | mtx_destroy |\ 89*fc2512cfSRobert Mustacchi void |\ 90*fc2512cfSRobert Mustacchi mtx_t * |\ 91*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 92*fc2512cfSRobert Mustacchi 93*fc2512cfSRobert Mustacchifunc | mtx_init |\ 94*fc2512cfSRobert Mustacchi int |\ 95*fc2512cfSRobert Mustacchi mtx_t *; int |\ 96*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 97*fc2512cfSRobert Mustacchi 98*fc2512cfSRobert Mustacchifunc | mtx_lock |\ 99*fc2512cfSRobert Mustacchi int |\ 100*fc2512cfSRobert Mustacchi mtx_t * |\ 101*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 102*fc2512cfSRobert Mustacchi 103*fc2512cfSRobert Mustacchifunc | mtx_timedlock |\ 104*fc2512cfSRobert Mustacchi int |\ 105*fc2512cfSRobert Mustacchi mtx_t *; const struct timespec * |\ 106*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 107*fc2512cfSRobert Mustacchi 108*fc2512cfSRobert Mustacchifunc | mtx_trylock |\ 109*fc2512cfSRobert Mustacchi int |\ 110*fc2512cfSRobert Mustacchi mtx_t * |\ 111*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 112*fc2512cfSRobert Mustacchi 113*fc2512cfSRobert Mustacchifunc | mtx_unlock |\ 114*fc2512cfSRobert Mustacchi int |\ 115*fc2512cfSRobert Mustacchi mtx_t * |\ 116*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 117*fc2512cfSRobert Mustacchi 118*fc2512cfSRobert Mustacchifunc | thrd_create |\ 119*fc2512cfSRobert Mustacchi int |\ 120*fc2512cfSRobert Mustacchi thrd_t *; thrd_start_t; void * |\ 121*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 122*fc2512cfSRobert Mustacchi 123*fc2512cfSRobert Mustacchifunc | thrd_current |\ 124*fc2512cfSRobert Mustacchi thrd_t |\ 125*fc2512cfSRobert Mustacchi void |\ 126*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 127*fc2512cfSRobert Mustacchi 128*fc2512cfSRobert Mustacchifunc | thrd_detach |\ 129*fc2512cfSRobert Mustacchi int |\ 130*fc2512cfSRobert Mustacchi thrd_t |\ 131*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 132*fc2512cfSRobert Mustacchi 133*fc2512cfSRobert Mustacchifunc | thrd_equal |\ 134*fc2512cfSRobert Mustacchi int |\ 135*fc2512cfSRobert Mustacchi thrd_t; thrd_t |\ 136*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 137*fc2512cfSRobert Mustacchi 138*fc2512cfSRobert Mustacchifunc | thrd_exit |\ 139*fc2512cfSRobert Mustacchi void |\ 140*fc2512cfSRobert Mustacchi int |\ 141*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 142*fc2512cfSRobert Mustacchi 143*fc2512cfSRobert Mustacchifunc | thrd_join |\ 144*fc2512cfSRobert Mustacchi int |\ 145*fc2512cfSRobert Mustacchi thrd_t; int * |\ 146*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 147*fc2512cfSRobert Mustacchi 148*fc2512cfSRobert Mustacchifunc | thrd_sleep |\ 149*fc2512cfSRobert Mustacchi int |\ 150*fc2512cfSRobert Mustacchi const struct timespec *; struct timespec * |\ 151*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 152*fc2512cfSRobert Mustacchi 153*fc2512cfSRobert Mustacchifunc | thrd_yield |\ 154*fc2512cfSRobert Mustacchi void |\ 155*fc2512cfSRobert Mustacchi void |\ 156*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 157*fc2512cfSRobert Mustacchi 158*fc2512cfSRobert Mustacchifunc | tss_create |\ 159*fc2512cfSRobert Mustacchi int |\ 160*fc2512cfSRobert Mustacchi tss_t *; tss_dtor_t |\ 161*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 162*fc2512cfSRobert Mustacchi 163*fc2512cfSRobert Mustacchifunc | tss_delete |\ 164*fc2512cfSRobert Mustacchi void |\ 165*fc2512cfSRobert Mustacchi tss_t |\ 166*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 167*fc2512cfSRobert Mustacchi 168*fc2512cfSRobert Mustacchifunc | tss_get |\ 169*fc2512cfSRobert Mustacchi void * |\ 170*fc2512cfSRobert Mustacchi tss_t |\ 171*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 172*fc2512cfSRobert Mustacchi 173*fc2512cfSRobert Mustacchifunc | tss_set |\ 174*fc2512cfSRobert Mustacchi int |\ 175*fc2512cfSRobert Mustacchi tss_t; void * |\ 176*fc2512cfSRobert Mustacchi threads.h | -ALL +C11 177