Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:59:56

0001 /* GIO - GLib Input, Output and Streaming Library
0002  *
0003  * Copyright (C) 2006-2007 Red Hat, Inc.
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-or-later
0006  *
0007  * This library is free software; you can redistribute it and/or
0008  * modify it under the terms of the GNU Lesser General Public
0009  * License as published by the Free Software Foundation; either
0010  * version 2.1 of the License, or (at your option) any later version.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Lesser General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Lesser General
0018  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
0019  *
0020  * Author: Alexander Larsson <alexl@redhat.com>
0021  */
0022 
0023 #ifndef __G_FILE_ATTRIBUTE_H__
0024 #define __G_FILE_ATTRIBUTE_H__
0025 
0026 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0027 #error "Only <gio/gio.h> can be included directly."
0028 #endif
0029 
0030 #include <gio/giotypes.h>
0031 
0032 G_BEGIN_DECLS
0033 
0034 /**
0035  * GFileAttributeInfo:
0036  * @name: the name of the attribute.
0037  * @type: the #GFileAttributeType type of the attribute.
0038  * @flags: a set of #GFileAttributeInfoFlags.
0039  *
0040  * Information about a specific attribute.
0041  **/
0042 struct _GFileAttributeInfo
0043 {
0044   char                    *name;
0045   GFileAttributeType       type;
0046   GFileAttributeInfoFlags  flags;
0047 };
0048 
0049 /**
0050  * GFileAttributeInfoList:
0051  * @infos: an array of #GFileAttributeInfos.
0052  * @n_infos: the number of values in the array.
0053  *
0054  * Acts as a lightweight registry for possible valid file attributes.
0055  * The registry stores Key-Value pair formats as #GFileAttributeInfos.
0056  **/
0057 struct _GFileAttributeInfoList
0058 {
0059   GFileAttributeInfo *infos;
0060   int                 n_infos;
0061 };
0062 
0063 #define G_TYPE_FILE_ATTRIBUTE_INFO_LIST (g_file_attribute_info_list_get_type ())
0064 GIO_AVAILABLE_IN_ALL
0065 GType g_file_attribute_info_list_get_type (void);
0066 
0067 GIO_AVAILABLE_IN_ALL
0068 GFileAttributeInfoList *  g_file_attribute_info_list_new    (void);
0069 GIO_AVAILABLE_IN_ALL
0070 GFileAttributeInfoList *  g_file_attribute_info_list_ref    (GFileAttributeInfoList *list);
0071 GIO_AVAILABLE_IN_ALL
0072 void                      g_file_attribute_info_list_unref  (GFileAttributeInfoList *list);
0073 GIO_AVAILABLE_IN_ALL
0074 GFileAttributeInfoList *  g_file_attribute_info_list_dup    (GFileAttributeInfoList *list);
0075 GIO_AVAILABLE_IN_ALL
0076 const GFileAttributeInfo *g_file_attribute_info_list_lookup (GFileAttributeInfoList *list,
0077                                  const char             *name);
0078 GIO_AVAILABLE_IN_ALL
0079 void                      g_file_attribute_info_list_add    (GFileAttributeInfoList *list,
0080                                  const char             *name,
0081                                  GFileAttributeType      type,
0082                                  GFileAttributeInfoFlags flags);
0083 
0084 G_END_DECLS
0085 
0086 #endif /* __G_FILE_INFO_H__ */