(root)/
coreutils-9.4/
lib/
ino-map.h
       1  /* Maintain a mapping of ino_t numbers to small integers.
       2     Copyright (C) 2010-2023 Free Software Foundation, Inc.
       3  
       4     This program is free software: you can redistribute it and/or modify
       5     it under the terms of the GNU General Public License as published by
       6     the Free Software Foundation, either version 3 of the License, or
       7     (at your option) any later version.
       8  
       9     This program is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      12     GNU General Public License for more details.
      13  
      14     You should have received a copy of the GNU General Public License
      15     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      16  
      17  /* Written by Paul Eggert, 2010.  */
      18  
      19  #ifndef _GL_INO_MAP_H
      20  # define _GL_INO_MAP_H
      21  
      22  /* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC,
      23     _GL_ATTRIBUTE_NONNULL.  */
      24  # if !_GL_CONFIG_H_INCLUDED
      25  #  error "Please include config.h first."
      26  # endif
      27  
      28  # include <sys/types.h>
      29  
      30  # define INO_MAP_INSERT_FAILURE ((size_t) -1)
      31  
      32  struct ino_map;
      33  
      34  void ino_map_free (struct ino_map *) _GL_ATTRIBUTE_NONNULL ((1));
      35  
      36  struct ino_map *ino_map_alloc (size_t)
      37    _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (ino_map_free, 1);
      38  
      39  size_t ino_map_insert (struct ino_map *, ino_t) _GL_ATTRIBUTE_NONNULL ((1));
      40  
      41  #endif