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