Source: https://eecs.wsu.edu/~aofallon/cpts122/CLibraryReferenceGuide.pdf