docs: def ekifld(handle, tabnam, ncols, nrows, cnmlen, cnames, declen, decls):
      """
      Initialize a new E-kernel segment to allow fast writing.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/ekifld_c.html
  
      :param handle: File handle.
      :type handle: int
      :param tabnam: Table name.
      :type tabnam: str
      :param ncols: Number of columns in the segment.
      :type ncols: int
      :param nrows: Number of rows in the segment.
      :type nrows: int
      :param cnmlen: Length of names in in column name array.
      :type cnmlen: int
      :param cnames: Names of columns.
      :type cnames: list of str.
      :param declen: Length of declaration strings in declaration array.
      :type declen: int
      :param decls: Declarations of columns.
      :type decls: list of str.
      :return: Segment number, Array of record pointers.
      :rtype: tuple
      """
      handle = ctypes.c_int(handle)
      tabnam = stypes.stringToCharP(tabnam)
      ncols = ctypes.c_int(ncols)
      nrows = ctypes.c_int(nrows)
      cnmlen = ctypes.c_int(cnmlen)
      cnames = stypes.listToCharArray(cnames)
      declen = ctypes.c_int(declen)
      recptrs = stypes.emptyIntVector(nrows)
      decls = stypes.listToCharArray(decls)
      segno = ctypes.c_int()
      libspice.ekifld_c(handle, tabnam, ncols, nrows, cnmlen, cnames, declen,
                        decls, ctypes.byref(segno), recptrs)
      return segno.value, stypes.cVectorToPython(recptrs)