As mentioned earlier, X clients programs communicate with an X server display using the X protocol over a network connection. There is a C language library, known as Xlib, which provides the application programmer with complete access to a server. This is normally regarded as the lowest level programming interface to X and, while it affords maximum control, it is complicated and tedious to use.