'Read and return header, next position
Parameters
None
Returns
header : object
object that can be passed to self.read_var_array, and that
has attributes ``name`` and ``is_global``
next_position : int
position in stream of next variable'

def read_var_header(self):

    hdr = self._matrix_reader.read_header()
    n = reduce((lambda x, y: (x * y)), hdr.dims, 1)
    remaining_bytes = (hdr.dtype.itemsize * n)
    if (hdr.is_complex and (not (hdr.mclass == mxSPARSE_CLASS))):
        remaining_bytes *= 2
    next_position = (self.mat_stream.tell() + remaining_bytes)
    return (hdr, next_position)
