Opengl Es And Egl [+Help]

Hello guys, this is my first topic at the forum and I have a question about how opengl ES works.
Lets assume that we are working with Linux.
So, basically there are the graphics drivers, lets say PowerVR, that would create some device at /dev. Ok, then there are the OpenGL ES libraries.
This libraries implements the functions required by OpenGL standard or its just and interface to what is implemented in the graphic hardware?
And if it is just an interface, how that interface communicates with the graphics hardware? My graphics hardware vendor has to provide both the driver and opengl libraries or i can use for instance, my own device driver and some other libGL, like the one present in the android?
That is what i cant understand, the communication between the graphics driver and the opengl library.
Thanks you guys and sorry for the bad english.