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 GroupA 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()
- 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
]