code: def what(fname):
      """Try to determine the type of the FIF file.
  
      Parameters
      ----------
      fname : path-like
          The filename. Should end in ``.fif`` or ``.fif.gz``.
  
      Returns
      -------
      what : str | None
          The type of the file. Will be 'unknown' if it could not be determined.
  
      Notes
      -----
      .. versionadded:: 0.19
      """
      from ..bem import read_bem_solution, read_bem_surfaces
      from ..cov import read_cov
      from ..epochs import read_epochs
      from ..event import read_events
      from ..evoked import read_evokeds
      from ..forward import read_forward_solution
      from ..io import read_raw_fif
      from ..minimum_norm import read_inverse_operator
      from ..preprocessing import read_ica
      from ..proj import read_proj
      from ..source_space import read_source_spaces
      from ..transforms import read_trans
      from .meas_info import read_fiducials
  
      _check_fname(fname, overwrite="read", must_exist=True)
      checks = OrderedDict()
      checks["raw"] = read_raw_fif
      checks["ica"] = read_ica
      checks["epochs"] = read_epochs
      checks["evoked"] = read_evokeds
      checks["forward"] = read_forward_solution
      checks["inverse"] = read_inverse_operator
      checks["src"] = read_source_spaces
      checks["bem solution"] = read_bem_solution
      checks["bem surfaces"] = read_bem_surfaces
      checks["cov"] = read_cov
      checks["transform"] = read_trans
      checks["events"] = read_events
      checks["fiducials"] = read_fiducials
      checks["proj"] = read_proj
      for what, func in checks.items():
          args = signature(func).parameters
          assert "verbose" in args, func
          kwargs = dict(verbose="error")
          if "preload" in args:
              kwargs["preload"] = False
          try:
              func(fname, **kwargs)
          except Exception as exp:
              logger.debug(f"Not {what}: {exp}")
          else:
              return what
      return "unknown"
  
imports: from collections import OrderedDict
  from inspect import signature
  from ..utils import _check_fname, logger
label_desc: Use image node_id 1 for calling a global function with example usage: what(fname) and returns: str, what