The Open Group Base Specifications Issue 7, 2018 edition
IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
Copyright © 2001-2018 IEEE and The Open Group
A newer edition of this document exists here

E. Subprofiling Considerations (Informative)

This section contains further information to satisfy the requirement that the project scope enable subprofiling of POSIX.1-2017. 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-2017 need not implement these options apart from the requirements stated in XBD POSIX Conformance. These Option Groups allow profiles to subset the System Interfaces volume of POSIX.1-2017 by collecting sets of related 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()
POSIX_C_LANG_JUMP: Jump Functions
longjmp(), setjmp()
POSIX_C_LANG_MATH: Maths Library
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(), 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(), 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
asctime_r(), ctime_r(), gmtime_r(), localtime_r(), rand_r(), strerror_r(), strtok_r()
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(), wcsncasecmp(), wcsnlen(), wcsnrtombs()
POSIX_C_LIB_EXT: General C Library Extension
fnmatch(), getopt(), getsubopt(), optarg, opterr, optind, optopt, stpcpy(), stpncpy(), strcasecmp(), strdup(), strfmon(), 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(), gets(), open(), perror(), poll(), 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
dprintf(), fmemopen(), open_memstream(), vdprintf()
POSIX_DEVICE_SPECIFIC: General Terminal
cfgetispeed(), cfgetospeed(), cfsetispeed(), cfsetospeed(), ctermid(), isatty(), tcdrain(), tcflow(), tcflush(), tcgetattr(), tcsendbreak(), tcsetattr(), ttyname()
POSIX_DEVICE_SPECIFIC_R: Thread-Safe General Terminal
ttyname_r()
POSIX_DYNAMIC_LINKING: Dynamic Linking
dlclose(), dlerror(), dlopen(), dlsym()
POSIX_FD_MGMT: File Descriptor Management
dup(), dup2(), 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(), getcwd(), link(), mkdir(), mkstemp(), opendir(), pathconf(), readdir(), remove(), rename(), rewinddir(), rmdir(), stat(), statvfs(), tmpfile(), tmpnam(), truncate(), unlink(), utime()
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
catclose(), catgets(), catopen(), iconv(), iconv_close(), iconv_open(), nl_langinfo()
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(), 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(), strfmon_l(), strncasecmp_l(), strxfrm_l(), tolower_l(), toupper_l(), towctrans_l(), towlower(), towupper(), uselocale(), wcscasecmp_l(), wcscoll_l(), wcsncasecmp_l(), wcsxfrm_l(), wctrans_l(), wctype_l()
POSIX_MULTI_PROCESS: Multiple Processes
_Exit(), _exit(), assert(), atexit(), clock(), execl(), execle(), execlp(), execv(), execve(), execvp(), exit(), fork(), getpgrp(), getpgid(), getpid(), getppid(), getsid(), setsid(), sleep(), times(), wait(), waitid(), waitpid()
POSIX_MULTI_PROCESS_FD: Multiple Processes File Descriptor Routines
fexecve()
POSIX_NETWORKING: Networking
accept(), 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(), htonl(), htons(), if_freenameindex(), if_indextoname(), if_nameindex(), if_nametoindex(), inet_addr(), inet_ntoa(), inet_ntop(), inet_pton(), listen(), ntohl(), ntohs(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), sendto(), sethostent(), setnetent(), setprotoent(), setservent(), setsockopt(), shutdown(), socket(), sockatmark(), socketpair()
POSIX_PIPE: Pipe
pipe()
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_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_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(), strsignal()
POSIX_SINGLE_PROCESS: Single Process
confstr(), environ, errno, 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(), 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_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_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()
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(), putwc(), putwchar(), ungetwc(), vfwprintf(), vfwscanf(), vwprintf(), vwscanf(), wprintf(), wscanf()
XSI_C_LANG_SUPPORT: XSI General C Library
_tolower(), _toupper(), a64l(), daylight(), drand48(), erand48(), ffs(), getdate(), hcreate(), hdestroy(), hsearch(), initstate(), insque(), isascii(), jrand48(), l64a(), lcong48(), lfind(), lrand48(), lsearch(), memccpy(), mrand48(), nrand48(), random(), remque(), seed48(), setstate(), signgam, srand48(), srandom(), strptime(), swab(), tdelete(), tfind(), timezone(), toascii(), 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(), ftw(), lockf(), mknod(), nftw(), realpath(), seekdir(), sync(), telldir(), tempnam()
XSI_IPC: XSI Interprocess Communication
ftok(), msgctl(), msgget(), msgrcv(), msgsnd(), semctl(), semget(), semop(), shmat(), shmctl(), shmdt(), shmget()
XSI_JUMP: XSI Jump Functions
_longjmp(), _setjmp()
XSI_MATH: XSI Maths Library
j0(), j1(), jn(), y0(), y1(), yn()
XSI_MULTI_PROCESS: XSI Multiple Process
getpriority(), getrlimit(), getrusage(), nice(), setpgrp(), setpriority(), setrlimit(), ulimit()
XSI_SIGNALS: XSI Signal
killpg(), sigaltstack(), sighold(), sigignore(), siginterrupt(), sigpause(), sigrelse(), sigset()
XSI_SINGLE_PROCESS: XSI Single Process
gethostid(), gettimeofday(), putenv()
XSI_SYSTEM_DATABASE: XSI System Database
endpwent(), getpwent(), setpwent()
XSI_SYSTEM_LOGGING: XSI System Logging
closelog(), openlog(), setlogmask(), syslog()
XSI_THREADS_EXT: XSI Threads Extensions
pthread_attr_getstack(), pthread_attr_setstack(), pthread_getconcurrency(), pthread_setconcurrency()
XSI_TIMERS: XSI Timers
getitimer(), setitimer()
XSI_USER_GROUPS: XSI User and Group
endgrent(), endutxent(), getgrent(), getutxent(), getutxid(), getutxline(), pututxline(), setgrent(), setregid(), 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-2018 IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]