In this section we describe the basic user interface for the various computational models supported by p4. We focus on the C interface; Fortran-callable versions of most routines are also available. The C interface contains more sophisticated functions and provides the programmer more opportunities for optimization.