Get a copy of the map buffer

def buffer(self, byte_offset=0):
        """Get a copy of the map buffer"""
        contents = self.ptr.contents
        ptr = addressof(contents.buffer.contents) + byte_offset
        length = contents.length * 4 - byte_offset
        return buffer((c_char * length).from_address(ptr).raw) \
            if length else None