(root)/
coreutils-9.4/
lib/
di-set.h
       1  /* Manipulate sets of device-inode pairs efficiently.
       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 Jim Meyering, 2010.  */
      18  
      19  #ifndef _GL_DI_SET_H
      20  # define _GL_DI_SET_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  struct di_set;
      31  
      32  void di_set_free (struct di_set *) _GL_ATTRIBUTE_NONNULL ((1));
      33  
      34  struct di_set *di_set_alloc (void)
      35    _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (di_set_free, 1);
      36  
      37  int di_set_insert (struct di_set *, dev_t, ino_t) _GL_ATTRIBUTE_NONNULL ((1));
      38  
      39  int di_set_lookup (struct di_set *dis, dev_t dev, ino_t ino)
      40    _GL_ATTRIBUTE_NONNULL ((1));
      41  
      42  #endif