The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

## E. Subprofiling Considerations (Informative)

This section contains further information to satisfy the requirement that the project scope enable subprofiling of IEEE Std 1003.1-2001. The original intent was to have included a set of options similar to the "Units of Functionality'' contained in IEEE Std 1003.13-1998. However, as the development of IEEE Std 1003.1-2001 continued, the standard developers felt it premature to fix these in normative text. The approach instead has been 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 IEEE Std 1003.1-2001 need not implement these options apart from the requirements stated in the Base Definitions volume of IEEE Std 1003.1-2001, Section 2.1.3, POSIX Conformance. These Option Groups allow profiles to subset the System Interfaces volume of IEEE Std 1003.1-2001 by collecting sets of related functions.

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_LIB_EXT: General C Library Extension
  fnmatch(), getopt(), optarg, opterr, optind, optopt
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(), printf(), pselect(), putc(), putchar(), puts(), read(), scanf(), select(), setbuf(), setvbuf(), stderr, stdin, stdout, ungetc(), vfprintf(), vfscanf(), vprintf(), vscanf(), write()
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_FD_MGMT: File Descriptor Management
  dup(), dup2(), fcntl(), fgetpos(), fseek(), fseeko(), fsetpos(), ftell(), ftello(), ftruncate(), lseek(), rewind()
POSIX_FIFO: FIFO
  mkfifo()
POSIX_FILE_ATTRIBUTES: File Attributes
  chmod(), chown(), fchmod(), fchown(), umask()
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(), fpathconf(), fstat(), getcwd(), link(), mkdir(), opendir(), pathconf(), readdir(), remove(), rename(), rewinddir(), rmdir(), stat(), tmpfile(), tmpnam(), unlink(), utime()
POSIX_FILE_SYSTEM_EXT: File System Extensions
  glob(), globfree()
POSIX_FILE_SYSTEM_R: Thread-Safe File System
  readdir_r()
POSIX_JOB_CONTROL: Job Control
  setpgid(), tcgetpgrp(), tcsetpgrp()
POSIX_MULTI_PROCESS: Multiple Processes
  _Exit(), _exit(), assert(), atexit(), clock(), execl(), execle(), execlp(), execv(), execve(), execvp(), exit(), fork(), getpgrp(), getpid(), getppid(), setsid(), sleep(), times(), wait(), waitpid()
POSIX_NETWORKING: Networking
  accept(), bind(), connect(), endhostent(), endnetent(), endprotoent(), endservent(), freeaddrinfo(), gai_strerror(), getaddrinfo(), gethostbyaddr(), gethostbyname(), gethostent(), gethostname(), getnameinfo(), getnetbyaddr(), getnetbyname(), getnetent(), getpeername(), getprotobyname(), getprotobynumber(), getprotoent(), getservbyname(), getservbyport(), getservent(), getsockname(), getsockopt(), h_errno, 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_REGEXP: Regular Expressions
  regcomp(), regerror(), regexec(), regfree()
POSIX_SHELL_FUNC: Shell and Utilities
  pclose(), popen(), system(), wordexp(), wordfree()
POSIX_SIGNALS: Signal
  abort(), alarm(), kill(), pause(), raise(), sigaction(), sigaddset(), sigdelset(), sigemptyset(), sigfillset(), sigismember(), signal(), sigpending(), sigprocmask(), sigsuspend(), sigwait()
POSIX_SIGNAL_JUMP: Signal Jump Functions
  siglongjmp(), sigsetjmp()
POSIX_SINGLE_PROCESS: Single Process
  confstr(), environ, errno, getenv(), setenv(), sysconf(), uname(), unsetenv()
POSIX_SYMBOLIC_LINKS: Symbolic Links
  lstat(), readlink(), symlink()
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_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(), getcontext(), getdate(), getsubopt(), hcreate(), hdestroy(), hsearch(), iconv(), iconv_close(), iconv_open(), initstate(), insque(), isascii(), jrand48(), l64a(), lcong48(), lfind(), lrand48(), lsearch(), makecontext(), memccpy(), mrand48(), nrand48(), random(), remque(), seed48(), setcontext(), setstate(), signgam, srand48(), srandom(), strcasecmp(), strdup(), strfmon(), strncasecmp(), strptime(), swab(), swapcontext(), 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(), poll(), pread(), pwrite(), readv(), writev()
XSI_DEVICE_SPECIFIC: XSI General Terminal
  grantpt(), posix_openpt(), ptsname(), unlockpt()
XSI_DYNAMIC_LINKING: XSI Dynamic Linking
  dlclose(), dlerror(), dlopen(), dlsym()
XSI_FD_MGMT: XSI File Descriptor Management
  truncate()
XSI_FILE_SYSTEM: XSI File System
  basename(), dirname(), fchdir(), fstatvfs(), ftw(), lchown(), lockf(), mknod(), mkstemp(), nftw(), realpath(), seekdir(), statvfs(), sync(), telldir(), tempnam()
XSI_I18N: XSI Internationalization
  catclose(), catgets(), catopen(), nl_langinfo()
XSI_IPC: XSI Interprocess Communication
  ftok(), msgctl(), msgget(), msgrcv(), msgsnd(), semctl(), semget(), semop(), shmat(), shmctl(), shmdt(), shmget()
XSI_JOB_CONTROL: XSI Job Control
  tcgetsid()
XSI_JUMP: XSI Jump Functions
  _longjmp(), _setjmp()
XSI_MATH: XSI Maths Library
  j0(), j1(), jn(), scalb(), y0(), y1(), yn()
XSI_MULTI_PROCESS: XSI Multiple Process
  getpgid(), getpriority(), getrlimit(), getrusage(), getsid(), nice(), setpgrp(), setpriority(), setrlimit(), ulimit(), usleep(), vfork(), waitid()
XSI_SIGNALS: XSI Signal
  bsd_signal(), killpg(), sigaltstack(), sighold(), sigignore(), siginterrupt(), sigpause(), sigrelse(), sigset(), ualarm()
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_THREAD_MUTEX_EXT: XSI Thread Mutex Extensions
  pthread_mutexattr_gettype(), pthread_mutexattr_settype()
XSI_THREADS_EXT: XSI Threads Extensions
  pthread_attr_getguardsize(), pthread_attr_getstack(), pthread_attr_setguardsize(), 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()

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]

#### Footnotes

1.
  These are equivalent to the Units of Functionality from IEEE Std 1003.13-1998.