The pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight bits per channel with the red channel first. They are arranged canonically as packed sequential rows, starting from the top-left corner.
Should I assume the sRGB transfer function (that is gamma approximately equal to 2.2), linear, or does it depend on how the window was created, that is GLFW_SRGB_CAPABLE
.