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