The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

E. Subprofiling Considerations (Informative)

This section contains further information to satisfy the requirement that the project scope enable subprofiling of POSIX.1-2024. The approach taken is to include a general requirement in normative text regarding subprofiling and to include an informative section (here) containing a proposed set of subprofiling options.

E.1 Subprofiling Option Groups

The following Option Groups1 are defined to support profiling. Systems claiming support to POSIX.1-2024 need not implement these options apart from the requirements stated in XBD 2.1.3 POSIX Conformance . These Option Groups allow profiles to subset the System Interfaces volume of POSIX.1-2024 by collecting sets of related functions and generic functions.

POSIX_ASYNCHRONOUS_IO: Asynchronous Input and Output Functions
aio_cancel(), aio_error(), aio_fsync(), aio_read(), aio_return(), aio_suspend(), aio_write(), lio_listio()
POSIX_BARRIERS: Barriers
pthread_barrier_destroy(), pthread_barrier_init(), pthread_barrier_wait(), pthread_barrierattr_destroy(), pthread_barrierattr_getpshared(), pthread_barrierattr_init(), pthread_barrierattr_setpshared()
POSIX_C_LANG_ATOMICS: ISO C Atomic Operations
atomic_compare_exchange_strong(), atomic_compare_exchange_strong_explicit(), atomic_compare_exchange_weak(), atomic_compare_exchange_weak_explicit(), atomic_exchange(), atomic_exchange_explicit(), atomic_fetch_add(), atomic_fetch_add_explicit(), atomic_fetch_and(), atomic_fetch_and_explicit(), atomic_fetch_or(), atomic_fetch_or_explicit(), atomic_fetch_sub(), atomic_fetch_sub_explicit(), atomic_fetch_xor(), atomic_fetch_xor_explicit(), atomic_flag_clear(), atomic_flag_clear_explicit(), atomic_flag_test_and_set(), atomic_flag_test_and_set_explicit(), atomic_init(), atomic_is_lock_free(), atomic_load(), atomic_load_explicit(), atomic_signal_fence(), atomic_thread_fence(), atomic_store(), atomic_store_explicit(), kill_dependency()
POSIX_C_LANG_JUMP: Jump Functions
longjmp(), setjmp()
POSIX_C_LANG_MATH: Maths Library
CMPLX(), CMPLXF(), CMPLXL(), acos(), acosf(), acosh(), acoshf(), acoshl(), acosl(), asin(), asinf(), asinh(), asinhf(), asinhl(), asinl(), atan(), atan2(), atan2f(), atan2l(), atanf(), atanh(), atanhf(), atanhl(), atanl(), cabs(), cabsf(), cabsl(), cacos(), cacosf(), cacosh(), cacoshf(), cacoshl(), cacosl(), carg(), cargf(), cargl(), casin(), casinf(), casinh(), casinhf(), casinhl(), casinl(), catan(), catanf(), catanh(), catanhf(), catanhl(), catanl(), cbrt(), cbrtf(), cbrtl(), ccos(), ccosf(), ccosh(), ccoshf(), ccoshl(), ccosl(), ceil(), ceilf(), ceill(), cexp(), cexpf(), cexpl(), cimag(), cimagf(), cimagl(), clog(), clogf(), clogl(), conj(), conjf(), conjl(), copysign(), copysignf(), copysignl(), cos(), cosf(), cosh(), coshf(), coshl(), cosl(), cpow(), cpowf(), cpowl(), cproj(), cprojf(), cprojl(), creal(), crealf(), creall(), csin(), csinf(), csinh(), csinhf(), csinhl(), csinl(), csqrt(), csqrtf(), csqrtl(), ctan(), ctanf(), ctanh(), ctanhf(), ctanhl(), ctanl(), erf(), erfc(), erfcf(), erfcl(), erff(), erfl(), exp(), exp2(), exp2f(), exp2l(), expf(), expl(), expm1(), expm1f(), expm1l(), fabs(), fabsf(), fabsl(), fdim(), fdimf(), fdiml(), floor(), floorf(), floorl(), fma(), fmaf(), fmal(), fmax(), fmaxf(), fmaxl(), fmin(), fminf(), fminl(), fmod(), fmodf(), fmodl(), fpclassify(), frexp(), frexpf(), frexpl(), hypot(), hypotf(), hypotl(), ilogb(), ilogbf(), ilogbl(), isfinite(), isgreater(), isgreaterequal(), isinf(), isless(), islessequal(), islessgreater(), isnan(), isnormal(), isunordered(), ldexp(), ldexpf(), ldexpl(), lgamma(), lgammaf(), lgammal(), llrint(), llrintf(), llrintl(), llround(), llroundf(), llroundl(), log(), log10(), log10f(), log10l(), log1p(), log1pf(), log1pl(), log2(), log2f(), log2l(), logb(), logbf(), logbl(), logf(), logl(), lrint(), lrintf(), lrintl(), lround(), lroundf(), lroundl(), modf(), modff(), modfl(), nan(), nanf(), nanl(), nearbyint(), nearbyintf(), nearbyintl(), nextafter(), nextafterf(), nextafterl(), nexttoward(), nexttowardf(), nexttowardl(), pow(), powf(), powl(), remainder(), remainderf(), remainderl(), remquo(), remquof(), remquol(), rint(), rintf(), rintl(), round(), roundf(), roundl(), scalbln(), scalblnf(), scalblnl(), scalbn(), scalbnf(), scalbnl(), signbit(), sin(), sinf(), sinh(), sinhf(), sinhl(), sinl(), sqrt(), sqrtf(), sqrtl(), tan(), tanf(), tanh(), tanhf(), tanhl(), tanl(), tgamma(), tgammaf(), tgammal(), trunc(), truncf(), truncl()
POSIX_C_LANG_SUPPORT: General ISO C Library
abs(), aligned_alloc(), asctime(), atof(), atoi(), atol(), atoll(), bsearch(), calloc(), ctime(), difftime(), div(), feclearexcept(), fegetenv(), fegetexceptflag(), fegetround(), feholdexcept(), feraiseexcept(), fesetenv(), fesetexceptflag(), fesetround(), fetestexcept(), feupdateenv(), free(), gmtime(), imaxabs(), imaxdiv(), isalnum(), isalpha(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit(), labs(), ldiv(), llabs(), lldiv(), localeconv(), localtime(), malloc(), memchr(), memcmp(), memcpy(), memmove(), memset(), mktime(), qsort(), rand(), realloc(), setlocale(), snprintf(), sprintf(), srand(), sscanf(), strcat(), strchr(), strcmp(), strcoll(), strcpy(), strcspn(), strerror(), strftime(), strlen(), strncat(), strncmp(), strncpy(), strpbrk(), strrchr(), strspn(), strstr(), strtod(), strtof(), strtoimax(), strtok(), strtol(), strtold(), strtoll(), strtoul(), strtoull(), strtoumax(), strxfrm(), time(), timespec_get(), tolower(), toupper(), tzname, tzset(), va_arg(), va_copy(), va_end(), va_start(), vsnprintf(), vsprintf(), vsscanf()
POSIX_C_LANG_SUPPORT_R: Thread-Safe General ISO C Library
gmtime_r(), localtime_r(), qsort_r(), strerror_r(), strtok_r()
POSIX_C_LANG_THREADS: ISO C Threads
call_once(), cnd_broadcast(), cnd_signal(), cnd_destroy(), cnd_init(), cnd_timedwait(), cnd_wait(), mtx_destroy(), mtx_init(), mtx_lock(), mtx_timedlock(), mtx_trylock(), mtx_unlock(), thrd_create(), thrd_current(), thrd_detach(), thrd_equal(), thrd_exit(), thrd_join(), thrd_sleep(), thrd_yield(), tss_create(), tss_delete(), tss_get(), tss_set()
POSIX_C_LANG_UCHAR: ISO C Unicode Utilities
c16rtomb(), c32rtomb(), mbrtoc16(), mbrtoc32()
POSIX_C_LANG_WIDE_CHAR: Wide-Character ISO C Library
btowc(), iswalnum(), iswalpha(), iswblank(), iswcntrl(), iswctype(), iswdigit(), iswgraph(), iswlower(), iswprint(), iswpunct(), iswspace(), iswupper(), iswxdigit(), mblen(), mbrlen(), mbrtowc(), mbsinit(), mbsrtowcs(), mbstowcs(), mbtowc(), swprintf(), swscanf(), towctrans(), towlower(), towupper(), vswprintf(), vswscanf(), wcrtomb(), wcscat(), wcschr(), wcscmp(), wcscoll(), wcscpy(), wcscspn(), wcsftime(), wcslen(), wcsncat(), wcsncmp(), wcsncpy(), wcspbrk(), wcsrchr(), wcsrtombs(), wcsspn(), wcsstr(), wcstod(), wcstof(), wcstoimax(), wcstok(), wcstol(), wcstold(), wcstoll(), wcstombs(), wcstoul(), wcstoull(), wcstoumax(), wcsxfrm(), wctob(), wctomb(), wctrans(), wctype(), wmemchr(), wmemcmp(), wmemcpy(), wmemmove(), wmemset()
POSIX_C_LANG_WIDE_CHAR_EXT: Extended Wide-Character ISO C Library
mbsnrtowcs(), wcpcpy(), wcpncpy(), wcscasecmp(), wcsdup(), wcslcat(), wcslcpy(), wcsncasecmp(), wcsnlen(), wcsnrtombs()
POSIX_C_LIB_EXT: General C Library Extension
fnmatch(), getentropy(), getopt(), getsubopt(), memmem(), optarg, opterr, optind, optopt, reallocarray(), stpcpy(), stpncpy(), strcasecmp(), strdup(), strfmon(), strlcat(), strlcpy(), strncasecmp(), strndup(), strnlen()
POSIX_CLOCK_SELECTION: Clock Selection
clock_nanosleep(), pthread_condattr_getclock(), pthread_condattr_setclock()
POSIX_DEVICE_IO: Device Input and Output
FD_CLR(), FD_ISSET(), FD_SET(), FD_ZERO(), clearerr(), close(), fclose(), fdopen(), feof(), ferror(), fflush(), fgetc(), fgets(), fileno(), fopen(), fprintf(), fputc(), fputs(), fread(), freopen(), fscanf(), fwrite(), getc(), getchar(), open(), perror(), poll(), posix_close(), ppoll(), printf(), pread(), pselect(), putc(), putchar(), puts(), pwrite(), read(), scanf(), select(), setbuf(), setvbuf(), stderr, stdin, stdout, ungetc(), vfprintf(), vfscanf(), vprintf(), vscanf(), write()
POSIX_DEVICE_IO_EXT: Extended Device Input and Output
asprintf(), dprintf(), fmemopen(), open_memstream(), vasprintf(), vdprintf()
POSIX_DEVICE_SPECIFIC: General Terminal
cfgetispeed(), cfgetospeed(), cfsetispeed(), cfsetospeed(), ctermid(), isatty(), tcdrain(), tcflow(), tcflush(), tcgetattr(), tcgetwinsize(), tcsendbreak(), tcsetattr(), tcsetwinsize(), ttyname()
POSIX_DEVICE_SPECIFIC_R: Thread-Safe General Terminal
ttyname_r()
POSIX_DYNAMIC_LINKING: Dynamic Linking
dladdr(), dlclose(), dlerror(), dlopen(), dlsym()
POSIX_FD_MGMT: File Descriptor Management
dup(), dup2(), dup3(), fcntl(), fgetpos(), fseek(), fseeko(), fsetpos(), ftell(), ftello(), ftruncate(), lseek(), rewind()
POSIX_FIFO: FIFO
mkfifo()
POSIX_FIFO_FD: FIFO File Descriptor Routines
mkfifoat(), mknodat()
POSIX_FILE_ATTRIBUTES: File Attributes
chmod(), chown(), fchmod(), fchown(), umask()
POSIX_FILE_ATTRIBUTES_FD: File Attributes File Descriptor Routines
fchmodat(), fchownat()
POSIX_FILE_LOCKING: Thread-Safe Stdio Locking
flockfile(), ftrylockfile(), funlockfile(), getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked()
POSIX_FILE_SYSTEM: File System
access(), chdir(), closedir(), creat(), fchdir(), fpathconf(), fstat(), fstatvfs(), futimens(), getcwd(), link(), mkdir(), mkostemp(), mkstemp(), opendir(), pathconf(), posix_getdents(), readdir(), remove(), rename(), rewinddir(), rmdir(), stat(), statvfs(), tmpfile(), tmpnam(), truncate(), unlink()
POSIX_FILE_SYSTEM_EXT: File System Extensions
alphasort(), dirfd(), getdelim(), getline(), mkdtemp(), scandir()
POSIX_FILE_SYSTEM_FD: File System File Descriptor Routines
faccessat(), fdopendir(), fstatat(), linkat(), mkdirat(), openat(), renameat(), unlinkat(), utimensat()
POSIX_FILE_SYSTEM_GLOB: File System Glob Expansion
glob(), globfree()
POSIX_FILE_SYSTEM_R: Thread-Safe File System
readdir_r()
POSIX_I18N: Internationalization
bind_textdomain_codeset(), bindtextdomain(), catclose(), catgets(), catopen(), dcgettext(), dcgettext_l(), dcngettext(), dcngettext_l(), dgettext(), dgettext_l(), dngettext(), dngettext_l(), gettext(), gettext_l(), iconv(), iconv_close(), iconv_open(), ngettext(), ngettext_l(), nl_langinfo(), nl_langinfo_l(), textdomain()
POSIX_JOB_CONTROL: Job Control
setpgid(), tcgetpgrp(), tcsetpgrp(), tcgetsid()
POSIX_MAPPED_FILES: Memory Mapped Files
mmap(), munmap()
POSIX_MEMORY_PROTECTION: Memory Protection
mprotect()
POSIX_MULTI_CONCURRENT_LOCALES: Multiple Concurrent Locales
duplocale(), freelocale(), getlocalename_l(), isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), iswalnum_l(), iswalpha_l(), iswblank_l(), iswcntrl_l(), iswctype_l(), iswdigit_l(), iswgraph_l(), iswlower_l(), iswprint_l(), iswpunct_l(), iswspace_l(), iswupper_l(), iswxdigit_l(), isxdigit_l(), newlocale(), strcasecmp_l(), strcoll_l(), strerror_l(), strfmon_l(), strftime_l(), strncasecmp_l(), strxfrm_l(), tolower_l(), toupper_l(), towctrans_l(), towlower_l(), towupper_l(), uselocale(), wcscasecmp_l(), wcscoll_l(), wcsncasecmp_l(), wcsxfrm_l(), wctrans_l(), wctype_l()
POSIX_MULTI_PROCESS: Multiple Processes
_Exit(), _Fork(), _exit(), assert(), at_quick_exit(), atexit(), clock(), execl(), execle(), execlp(), execv(), execve(), execvp(), exit(), fork(), getpgrp(), getpgid(), getpid(), getppid(), getrlimit(), getsid(), quick_exit(), setrlimit(), setsid(), sleep(), times(), wait(), waitid(), waitpid()
POSIX_MULTI_PROCESS_FD: Multiple Processes File Descriptor Routines
fexecve()
POSIX_NETWORKING: Networking
accept(), accept4(), be16toh(), be32toh(), be64toh(), bind(), connect(), endhostent(), endnetent(), endprotoent(), endservent(), freeaddrinfo(), gai_strerror(), getaddrinfo(), gethostent(), gethostname(), getnameinfo(), getnetbyaddr(), getnetbyname(), getnetent(), getpeername(), getprotobyname(), getprotobynumber(), getprotoent(), getservbyname(), getservbyport(), getservent(), getsockname(), getsockopt(), htobe16(), htobe32(), htobe64(), htole16(), htole32(), htole64(), htonl(), htons(), if_freenameindex(), if_indextoname(), if_nameindex(), if_nametoindex(), inet_addr(), inet_ntoa(), inet_ntop(), inet_pton(), le16toh(), le32toh(), le64toh(), listen(), ntohl(), ntohs(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), sendto(), sethostent(), setnetent(), setprotoent(), setservent(), setsockopt(), shutdown(), socket(), sockatmark(), socketpair()
POSIX_PIPE: Pipe
pipe(), pipe2()
POSIX_ROBUST_MUTEXES: Robust Mutexes
pthread_mutex_consistent(), pthread_mutexattr_getrobust(), pthread_mutexattr_setrobust()
POSIX_REALTIME_SIGNALS: Realtime Signals
sigqueue(), sigtimedwait(), sigwaitinfo()
POSIX_REGEXP: Regular Expressions
regcomp(), regerror(), regexec(), regfree()
POSIX_RW_LOCKS: Reader Writer Locks
pthread_rwlock_clockrdlock(), pthread_rwlock_clockwrlock(), pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_timedrdlock(), pthread_rwlock_timedwrlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock(), pthread_rwlockattr_destroy(), pthread_rwlockattr_init(), pthread_rwlockattr_getpshared(), pthread_rwlockattr_setpshared()
POSIX_SEMAPHORES: Semaphores
sem_clockwait(), sem_close(), sem_destroy(), sem_getvalue(), sem_init(), sem_open(), sem_post(), sem_timedwait(), sem_trywait(), sem_unlink(), sem_wait()
POSIX_SHELL_FUNC: Shell and Utilities
pclose(), popen(), system(), wordexp(), wordfree()
POSIX_SIGNAL_JUMP: Signal Jump Functions
siglongjmp(), sigsetjmp()
POSIX_SIGNALS: Signals
abort(), alarm(), kill(), pause(), raise(), sigaction(), sigaddset(), sigdelset(), sigemptyset(), sigfillset(), sigismember(), signal(), sigpending(), sigprocmask(), sigsuspend(), sigwait()
POSIX_SIGNALS_EXT: Extended Signals
psignal(), psiginfo(), sig2str(), str2sig(), strsignal()
POSIX_SINGLE_PROCESS: Single Process
confstr(), environ, errno, getenv(), secure_getenv(), setenv(), sysconf(), uname(), unsetenv()
POSIX_SPIN_LOCKS: Spin Locks
pthread_spin_destroy(), pthread_spin_init(), pthread_spin_lock(), pthread_spin_trylock(), pthread_spin_unlock()
POSIX_SYMBOLIC_LINKS: Symbolic Links
lchown()2, lstat(), readlink(), realpath(), symlink()
POSIX_SYMBOLIC_LINKS_FD: Symbolic Links File Descriptor Routines
readlinkat(), symlinkat()
POSIX_SYSTEM_DATABASE: System Database
getgrgid(), getgrnam(), getpwnam(), getpwuid()
POSIX_SYSTEM_DATABASE_R: Thread-Safe System Database
getgrgid_r(), getgrnam_r(), getpwnam_r(), getpwuid_r()
POSIX_THREADS_BASE: Base Threads
pthread_atfork(), pthread_attr_destroy(), pthread_attr_getdetachstate(), pthread_attr_getschedparam(), pthread_attr_init(), pthread_attr_setdetachstate(), pthread_attr_setschedparam(), pthread_cancel(), pthread_cleanup_pop(), pthread_cleanup_push(), pthread_cond_broadcast(), pthread_cond_clockwait(), pthread_cond_destroy(), pthread_cond_init(), pthread_cond_signal(), pthread_cond_timedwait(), pthread_cond_wait(), pthread_condattr_destroy(), pthread_condattr_init(), pthread_create(), pthread_detach(), pthread_equal(), pthread_exit(), pthread_getspecific(), pthread_join(), pthread_key_create(), pthread_key_delete(), pthread_kill(), pthread_mutex_clocklock(), pthread_mutex_destroy(), pthread_mutex_init(), pthread_mutex_lock(), pthread_mutex_timedlock(), pthread_mutex_trylock(), pthread_mutex_unlock(), pthread_mutexattr_destroy(), pthread_mutexattr_init(), pthread_once(), pthread_self(), pthread_setcancelstate(), pthread_setcanceltype(), pthread_setspecific(), pthread_sigmask(), pthread_testcancel(), sched_yield()
POSIX_THREADS_EXT: Extended Threads
pthread_attr_getguardsize(), pthread_attr_setguardsize(), pthread_mutexattr_gettype(), pthread_mutexattr_settype()
POSIX_TIMERS: Timers
clock_getres(), clock_gettime(), clock_settime(), nanosleep(), timer_create(), timer_delete(), timer_getoverrun(), timer_gettime(), timer_settime()
POSIX_USER_GROUPS: User and Group
getegid(), geteuid(), getgid(), getgroups(), getlogin(), getuid(), setegid(), seteuid(), setgid(), setuid()
POSIX_USER_GROUPS_R: Thread-Safe User and Group
getlogin_r()
POSIX_WIDE_CHAR_DEVICE_IO: Device Input and Output
fgetwc(), fgetws(), fputwc(), fputws(), fwide(), fwprintf(), fwscanf(), getwc(), getwchar(), open_wmemstream(), putwc(), putwchar(), ungetwc(), vfwprintf(), vfwscanf(), vwprintf(), vwscanf(), wprintf(), wscanf()
XSI_C_LANG_SUPPORT: XSI General C Library
a64l(), daylight, drand48(), erand48(), ffs(), ffsl(), ffsll(), getdate(), hcreate(), hdestroy(), hsearch(), initstate(), insque(), jrand48(), l64a(), lcong48(), lfind(), lrand48(), lsearch(), memccpy(), mrand48(), nrand48(), random(), remque(), seed48(), setstate(), signgam, srand48(), srandom(), strptime(), swab(), tdelete(), tfind(), timezone, tsearch(), twalk()
XSI_DBM: XSI Database Management
dbm_clearerr(), dbm_close(), dbm_delete(), dbm_error(), dbm_fetch(), dbm_firstkey(), dbm_nextkey(), dbm_open(), dbm_store()
XSI_DEVICE_IO: XSI Device Input and Output
fmtmsg(), readv(), writev()
XSI_DEVICE_SPECIFIC: XSI General Terminal
grantpt(), posix_openpt(), ptsname(), unlockpt()
XSI_FILE_SYSTEM: XSI File System
basename(), dirname(), lockf(), mknod(), nftw(), seekdir(), sync(), telldir(), utimes()
XSI_GENERAL_TERMINAL_R: XSI Thread-Safe General Terminal
ptsname_r()
XSI_IPC: XSI Interprocess Communication
ftok(), msgctl(), msgget(), msgrcv(), msgsnd(), semctl(), semget(), semop(), shmat(), shmctl(), shmdt(), shmget()
XSI_MATH: XSI Maths Library
j0(), j1(), jn(), y0(), y1(), yn()
XSI_MULTI_PROCESS: XSI Multiple Process
getpriority(), getrusage(), nice(), setpriority()
XSI_SIGNALS: XSI Signal
killpg(), sigaltstack()
XSI_SINGLE_PROCESS: XSI Single Process
gethostid(), putenv()
XSI_SYSTEM_DATABASE: XSI System Database
endgrent(), endpwent(), getgrent(), getpwent(), setgrent(), setpwent()
XSI_SYSTEM_LOGGING: XSI System Logging
closelog(), openlog(), setlogmask(), syslog()
XSI_USER_GROUPS: XSI User and Group
endutxent(), getresgid(), getresuid(), getutxent(), getutxid(), getutxline(), pututxline(), setregid(), setresgid(), setresuid(), setreuid(), setutxent()
XSI_WIDE_CHAR: XSI Wide-Character Library
wcswidth(), wcwidth()

Footnotes

1. These are modeled on the Units of Functionality from IEEE Std 1003.13-1998.

2. The lchown() function also depends on POSIX_FILE_ATTRIBUTES.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]