Confusion on GL methods with Buffer arguments

The answer to this question may be in some documentation somewhere (in which case, sorry for wasting forum time), but I can’t seem to find it, and I’m not sure what’s going on…

I’m trying to work with some of the GL interface methods like glDrawPixels and glReadPixels that take New I/O Buffers as the data-storing arguments. But I’m confused by the fact that all of these methods are overloaded with a second method that is identical, but takes “long pixels_buffer_offset” or something similar as an argument. What does this second function do? The docs make it look like its a direct copy of the C function that takes a pointer to a buffer, but that can’t be it, since there are no pointers in Java… but then what could be being “offset” if there’s no data or buffer included in that function?

Thanks.

These are variants intended for use with the vertex_buffer_object or pixel_buffer_object extension and can only be called if those extensions are active (there are run-time checks in the generated code to verify this).

Ah, ok - so there are no versions that support reading directly from an array (rather than a Buffer) - thanks for the info.