cc -pthread -Wall -Wextra -Werror=implicit-function-declaration pthread/pthread_setcanceltype.c -o pthread/pthread_setcanceltype -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -lrt -lintl -liconv pthread/pthread_setcanceltype.c: In function ‘start’: pthread/pthread_setcanceltype.c:13:23: error: implicit declaration of function ‘pthread_setcanceltype’ [-Wimplicit-function-declaration] 13 | if ( (errno = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &old_state)) ) | ^~~~~~~~~~~~~~~~~~~~~ pthread/pthread_setcanceltype.c:13:45: error: ‘PTHREAD_CANCEL_ASYNCHRONOUS’ undeclared (first use in this function) 13 | if ( (errno = pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &old_state)) ) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ pthread/pthread_setcanceltype.c:13:45: note: each undeclared identifier is reported only once for each function it appears in pthread/pthread_setcanceltype.c:15:27: error: ‘PTHREAD_CANCEL_DEFERRED’ undeclared (first use in this function) 15 | if ( old_state != PTHREAD_CANCEL_DEFERRED ) | ^~~~~~~~~~~~~~~~~~~~~~~ pthread/pthread_setcanceltype.c: In function ‘main’: pthread/pthread_setcanceltype.c:34:45: error: ‘PTHREAD_CANCEL_DEFERRED’ undeclared (first use in this function) 34 | if ( (errno = pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &old_state)) ) | ^~~~~~~~~~~~~~~~~~~~~~~ pthread/pthread_setcanceltype.c:41:23: error: implicit declaration of function ‘pthread_cancel’; did you mean ‘pthread_once’? [-Wimplicit-function-declaration] 41 | if ( (errno = pthread_cancel(thread)) ) | ^~~~~~~~~~~~~~ | pthread_once pthread/pthread_setcanceltype.c:46:24: error: ‘PTHREAD_CANCELED’ undeclared (first use in this function); did you mean ‘PTHREAD_NULL’? 46 | if ( result != PTHREAD_CANCELED ) | ^~~~~~~~~~~~~~~~ | PTHREAD_NULL