7.1 What are library interfaces?
Interfaces for libraries may be any of the following (and more):
- global variables: both names and types
- global functions: argument types and number, return types, and function names
- standard input, standard output, standard error, and file formats
- sockets, pipes, and other inter-process communication protocol formats
Note that static functions do not count as interfaces, because they are
not directly available to the user of the library.