There are more than ten parts to the POSIX standard, but two are widely available. POSIX.1 defines C programming interfaces (that is, a library of system calls) for files, processes, and terminal I/O. To support the library, a POSIX system must implement a Hierarchical File System (HFS). POSIX.2 defines a "shell" command interpreter and utilities (e.g., ls to list files). Certain important standards are not covered by POSIX (for example, spooling, batch processing, and NLS -- Native Language Support). NLS is defined by the X/Open standard.