The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008
Copyright © 2001-2008 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-2008. 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-2008 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-2008 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(), lstat(), readlink(), symlink()

Note: The lchown() function also depends on POSIX_FILE_ATTRIBUTES.

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.

 

return to top of page

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