This file is indexed.

/usr/include/gtk-2.0/gtk/gtktypeutils.h is in libgtk2.0-dev 2.24.32-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */

/*
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 */

#ifndef __GTK_TYPE_UTILS_H__
#define __GTK_TYPE_UTILS_H__

#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

/* enum types generated by glib-mkenums
 */
#include <gtk/gtktypebuiltins.h>

G_BEGIN_DECLS

/* urg */
#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
GType gtk_identifier_get_type (void) G_GNUC_CONST;

/* --- typedefs --- */
/* here we come with some necessary forward declarations for structures and
 * provide some fundamental function signatures
 */
typedef struct _GtkArg	       	     GtkArg;
typedef struct _GtkObject   	     GtkObject; /* object forward declaration */
#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)
typedef gboolean (*GtkFunction)	    (gpointer      data);
typedef void (*GtkCallbackMarshal)  (GtkObject    *object,
				     gpointer      data,
				     guint         n_args,
				     GtkArg       *args);
#endif

/* This used to be defined in gtkitemfactory.h, but moved over here after
 * the complete deprecation of that header
 */
typedef gchar * (*GtkTranslateFunc) (const gchar  *path,
				     gpointer      func_data);


/* Everything below is deprecated and superseded by GType API
 */

#ifndef GTK_DISABLE_DEPRECATED

/* Fundamental Types
 * many of these are just aliases for GLib types to maintain
 * compatibility
 */

#define GTK_TYPE_INVALID G_TYPE_INVALID
#define GTK_TYPE_NONE    G_TYPE_NONE
#define GTK_TYPE_ENUM    G_TYPE_ENUM
#define GTK_TYPE_FLAGS   G_TYPE_FLAGS

/* GtkArg types */
#define GTK_TYPE_CHAR    G_TYPE_CHAR
#define GTK_TYPE_UCHAR   G_TYPE_UCHAR
#define GTK_TYPE_BOOL    G_TYPE_BOOLEAN
#define GTK_TYPE_INT     G_TYPE_INT
#define GTK_TYPE_UINT    G_TYPE_UINT
#define GTK_TYPE_LONG    G_TYPE_LONG
#define GTK_TYPE_ULONG   G_TYPE_ULONG
#define GTK_TYPE_FLOAT   G_TYPE_FLOAT
#define GTK_TYPE_DOUBLE  G_TYPE_DOUBLE
#define GTK_TYPE_STRING  G_TYPE_STRING
#define GTK_TYPE_BOXED   G_TYPE_BOXED
#define GTK_TYPE_POINTER G_TYPE_POINTER

typedef GType GtkFundamentalType;

/* --- type macros --- */
#define GTK_CLASS_NAME(class)		(g_type_name (G_TYPE_FROM_CLASS (class)))
#define GTK_CLASS_TYPE(class)		(G_TYPE_FROM_CLASS (class))
#define GTK_TYPE_IS_OBJECT(type)	(g_type_is_a ((type), GTK_TYPE_OBJECT))

/* outdated macros that really shouldn't e used anymore,
 * use the GLib type system instead
 */
#define	GTK_TYPE_FUNDAMENTAL_LAST        (G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1)
#define	GTK_TYPE_FUNDAMENTAL_MAX         (G_TYPE_FUNDAMENTAL_MAX)

#define	GTK_FUNDAMENTAL_TYPE	G_TYPE_FUNDAMENTAL
#define GTK_STRUCT_OFFSET	G_STRUCT_OFFSET

/* glib macro wrappers (compatibility) */
#define	GTK_CHECK_CAST		G_TYPE_CHECK_INSTANCE_CAST
#define	GTK_CHECK_CLASS_CAST	G_TYPE_CHECK_CLASS_CAST
#define GTK_CHECK_GET_CLASS	G_TYPE_INSTANCE_GET_CLASS
#define	GTK_CHECK_TYPE		G_TYPE_CHECK_INSTANCE_TYPE
#define	GTK_CHECK_CLASS_TYPE	G_TYPE_CHECK_CLASS_TYPE

/* glib type wrappers (compatibility) */

typedef GType                   GtkType;
typedef GTypeInstance           GtkTypeObject;
typedef GTypeClass              GtkTypeClass;
typedef GBaseInitFunc           GtkClassInitFunc;
typedef GInstanceInitFunc       GtkObjectInitFunc;
typedef GSignalCMarshaller      GtkSignalMarshaller;

typedef void (*GtkDestroyNotify)    (gpointer data);
typedef void (*GtkSignalFunc)       (void);

#define GTK_SIGNAL_FUNC(f)	    G_CALLBACK(f)

#endif /* GTK_DISABLE_DEPRECATED */

#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)

/* Used by gtk_container_foreach_unmarshal () */

/* GtkArg, used to hold differently typed values */
struct _GtkArg
{
  GType type;
  gchar *name;

  /* this union only defines the required storage types for
   * the possibile values, thus there is no gint enum_data field,
   * because that would just be a mere alias for gint int_data.
   * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
   * the discrete memebers.
   */
  union {
    /* flat values */
    gchar char_data;
    guchar uchar_data;
    gboolean bool_data;
    gint int_data;
    guint uint_data;
    glong long_data;
    gulong ulong_data;
    gfloat float_data;
    gdouble double_data;
    gchar *string_data;
    GtkObject *object_data;
    gpointer pointer_data;

    /* structured values */
    struct {
      GCallback f;
      gpointer d;
    } signal_data;
  } d;
};

/* argument value access macros, these must not contain casts,
 * to allow the usage of these macros in combination with the
 * address operator, e.g. &GTK_VALUE_CHAR (*arg)
 */
#define GTK_VALUE_CHAR(a)	((a).d.char_data)
#define GTK_VALUE_UCHAR(a)	((a).d.uchar_data)
#define GTK_VALUE_BOOL(a)	((a).d.bool_data)
#define GTK_VALUE_INT(a)	((a).d.int_data)
#define GTK_VALUE_UINT(a)	((a).d.uint_data)
#define GTK_VALUE_LONG(a)	((a).d.long_data)
#define GTK_VALUE_ULONG(a)	((a).d.ulong_data)
#define GTK_VALUE_FLOAT(a)	((a).d.float_data)
#define GTK_VALUE_DOUBLE(a)	((a).d.double_data)
#define GTK_VALUE_STRING(a)	((a).d.string_data)
#define GTK_VALUE_ENUM(a)	((a).d.int_data)
#define GTK_VALUE_FLAGS(a)	((a).d.uint_data)
#define GTK_VALUE_BOXED(a)	((a).d.pointer_data)
#define GTK_VALUE_OBJECT(a)	((a).d.object_data)
#define GTK_VALUE_POINTER(a)	((a).d.pointer_data)
#define GTK_VALUE_SIGNAL(a)	((a).d.signal_data)

#endif /* !GTK_DISABLE_DEPRECATED || GTK_COMPILATION */

#ifndef GTK_DISABLE_DEPRECATED

/* return location macros, these all narrow down to
 * pointer types, because return values need to be
 * passed by reference
 */
#define GTK_RETLOC_CHAR(a)	((gchar*)	(a).d.pointer_data)
#define GTK_RETLOC_UCHAR(a)	((guchar*)	(a).d.pointer_data)
#define GTK_RETLOC_BOOL(a)	((gboolean*)	(a).d.pointer_data)
#define GTK_RETLOC_INT(a)	((gint*)	(a).d.pointer_data)
#define GTK_RETLOC_UINT(a)	((guint*)	(a).d.pointer_data)
#define GTK_RETLOC_LONG(a)	((glong*)	(a).d.pointer_data)
#define GTK_RETLOC_ULONG(a)	((gulong*)	(a).d.pointer_data)
#define GTK_RETLOC_FLOAT(a)	((gfloat*)	(a).d.pointer_data)
#define GTK_RETLOC_DOUBLE(a)	((gdouble*)	(a).d.pointer_data)
#define GTK_RETLOC_STRING(a)	((gchar**)	(a).d.pointer_data)
#define GTK_RETLOC_ENUM(a)	((gint*)	(a).d.pointer_data)
#define GTK_RETLOC_FLAGS(a)	((guint*)	(a).d.pointer_data)
#define GTK_RETLOC_BOXED(a)	((gpointer*)	(a).d.pointer_data)
#define GTK_RETLOC_OBJECT(a)	((GtkObject**)	(a).d.pointer_data)
#define GTK_RETLOC_POINTER(a)	((gpointer*)	(a).d.pointer_data)
/* GTK_RETLOC_SIGNAL() - no such thing */

/* type registration, it is recommended to use
 * g_type_register_static() or
 * g_type_register_dynamic() instead
 */
typedef struct _GtkTypeInfo GtkTypeInfo;

struct _GtkTypeInfo
{
  gchar			*type_name;
  guint			 object_size;
  guint			 class_size;
  GtkClassInitFunc	 class_init_func;
  GtkObjectInitFunc	 object_init_func;
  gpointer		 reserved_1;
  gpointer		 reserved_2;
  GtkClassInitFunc	 base_class_init_func;
};

void            gtk_type_init   (GTypeDebugFlags    debug_flags);
GtkType         gtk_type_unique (GtkType            parent_type,
                                 const GtkTypeInfo *gtkinfo);
gpointer        gtk_type_class  (GtkType            type);
gpointer        gtk_type_new    (GtkType            type);

/* --- compatibility defines --- */
#define	gtk_type_name(type)		 g_type_name (type)
#define	gtk_type_from_name(name)	 g_type_from_name (name)
#define	gtk_type_parent(type)		 g_type_parent (type)
#define	gtk_type_is_a(type, is_a_type)	 g_type_is_a ((type), (is_a_type))

/* enum/flags compatibility functions, we strongly
 * recommend to use the glib enum/flags classes directly
 */
typedef GEnumValue  GtkEnumValue;
typedef GFlagsValue GtkFlagValue;
GtkEnumValue*	gtk_type_enum_get_values	(GtkType	 enum_type);
GtkFlagValue*	gtk_type_flags_get_values	(GtkType	 flags_type);
GtkEnumValue*	gtk_type_enum_find_value	(GtkType	 enum_type,
						 const gchar	*value_name);
GtkFlagValue*	gtk_type_flags_find_value	(GtkType	 flags_type,
						 const gchar	*value_name);

#endif /* GTK_DISABLE_DEPRECATED */

G_END_DECLS

#endif /* __GTK_TYPE_UTILS_H__ */