code: def _read_ch_info_struct(fid, tag, shape, rlims):
      """Read channel info struct tag."""
      d = dict(
          scanno=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
          logno=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
          kind=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
          range=float(np.frombuffer(fid.read(4), dtype=">f4").item()),
          cal=float(np.frombuffer(fid.read(4), dtype=">f4").item()),
          coil_type=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
          # deal with really old OSX Anaconda bug by casting to float64
          loc=np.frombuffer(fid.read(48), dtype=">f4").astype(
              np.float64
          ),
          # unit and exponent
          unit=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
          unit_mul=int(np.frombuffer(fid.read(4), dtype=">i4").item()),
      )
      # channel name
      ch_name = np.frombuffer(fid.read(16), dtype=">c")
      ch_name = ch_name[: np.argmax(ch_name == b"")].tobytes()
      d["ch_name"] = ch_name.decode()
      # coil coordinate system definition
      _update_ch_info_named(d)
      return d
  
imports: import html
  import re
  import struct
  from dataclasses import dataclass
  from functools import partial
  from typing import Any
  import numpy
  from scipy.sparse import csc_matrix, csr_matrix
  from ..utils import _check_option, warn
  from ..utils.numerics import _julian_to_cal
  from .constants import FIFF, _ch_coil_type_named, _ch_kind_named, _ch_unit_mul_named, _ch_unit_named, _dig_cardinal_named, _dig_kind_named
label_desc: Use image node_id 14 for calling a global function with example usage: _read_ch_info_struct(fid, tag, shape, rlims) and returns: d