This file is indexed.

/usr/share/vala/vapi/gexiv2.vapi is in libgexiv2-dev 0.4.1-1build1.

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
/* gexiv2.vapi generated by vapigen, do not modify. */

[CCode (lower_case_cprefix = "gexiv2_")]
namespace GExiv2 {
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	[Compact]
	public class ManagedStreamCallbacks {
		public weak GExiv2.Stream_CanRead CanRead;
		public weak GExiv2.Stream_CanSeek CanSeek;
		public weak GExiv2.Stream_CanWrite CanWrite;
		public weak GExiv2.Stream_Flush Flush;
		public weak GExiv2.Stream_Length Length;
		public weak GExiv2.Stream_Position Position;
		public weak GExiv2.Stream_Read Read;
		public weak GExiv2.Stream_Seek Seek;
		public weak GExiv2.Stream_Write Write;
		public void* handle;
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	[Compact]
	public class Metadata {
		[CCode (has_construct_function = false)]
		public Metadata ();
		public void clear ();
		public void clear_comment ();
		public void clear_exif ();
		public bool clear_exif_tag (string tag);
		public void clear_iptc ();
		public bool clear_iptc_tag (string tag);
		public bool clear_tag (string tag);
		public void clear_xmp ();
		public bool clear_xmp_tag (string tag);
		public void delete_gps_info ();
		public void erase_exif_thumbnail ();
		public bool from_app1_segment ([CCode (array_length = false)] uchar[] data, long n_data) throws GLib.Error;
		public string? get_camera_model ();
		public string? get_comment ();
		public string? get_date_time ();
		public static unowned string? get_exif_tag_description (string tag);
		public string? get_exif_tag_interpreted_string (string tag);
		public static unowned string? get_exif_tag_label (string tag);
		public long get_exif_tag_long (string tag);
		public bool get_exif_tag_rational (string tag, out int nom, out int den);
		public string? get_exif_tag_string (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] get_exif_tags ();
		public bool get_exif_thumbnail (out uchar[] buffer);
		public bool get_exposure_time (out int nom, out int den);
		public double get_fnumber ();
		public double get_focal_length ();
		public bool get_gps_altitude (out double altitude);
		public bool get_gps_info (out double longitude, out double latitude, out double altitude);
		public bool get_gps_latitude (out double latitude);
		public bool get_gps_longitude (out double longitude);
		public string? get_iptc_byline ();
		public string? get_iptc_byline_title ();
		public string? get_iptc_caption ();
		public string? get_iptc_city ();
		public string? get_iptc_contact ();
		public string? get_iptc_copyright ();
		public string? get_iptc_country_code ();
		public string? get_iptc_country_name ();
		public string? get_iptc_headline ();
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] get_iptc_keywords ();
		public string? get_iptc_province_state ();
		public string? get_iptc_sublocation ();
		public static unowned string? get_iptc_tag_description (string tag);
		public string? get_iptc_tag_interpreted_string (string tag);
		public static unowned string? get_iptc_tag_label (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_iptc_tag_multiple (string tag);
		public string? get_iptc_tag_string (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] get_iptc_tags ();
		public string? get_iptc_writer ();
		public int get_iso_speed ();
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned string[]? get_keywords ();
		public int get_metadata_pixel_height ();
		public int get_metadata_pixel_width ();
		public unowned string get_mime_type ();
		public GExiv2.Orientation get_orientation ();
		public int get_pixel_height ();
		public int get_pixel_width ();
		public GExiv2.PreviewImage get_preview_image (GExiv2.PreviewProperties props);
		[CCode (array_length = false, array_null_terminated = true)]
		public unowned GExiv2.PreviewProperties?[] get_preview_properties ();
		public uint get_rating ();
		public bool get_supports_exif ();
		public bool get_supports_iptc ();
		public bool get_supports_xmp ();
		public static unowned string? get_tag_description (string tag);
		public string? get_tag_interpreted_string (string tag);
		public static unowned string? get_tag_label (string tag);
		public long get_tag_long (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_tag_multiple (string tag);
		public string? get_tag_string (string tag);
		public string? get_xmp_packet ();
		public static unowned string? get_xmp_tag_description (string tag);
		public string? get_xmp_tag_interpreted_string (string tag);
		public static unowned string? get_xmp_tag_label (string tag);
		public long get_xmp_tag_long (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[]? get_xmp_tag_multiple (string tag);
		public string? get_xmp_tag_string (string tag);
		[CCode (array_length = false, array_null_terminated = true)]
		public string[] get_xmp_tags ();
		public bool has_exif ();
		public bool has_exif_tag (string tag);
		public bool has_iptc ();
		public bool has_iptc_tag (string tag);
		public bool has_tag (string tag);
		public bool has_xmp ();
		public bool has_xmp_tag (string tag);
		public static bool is_exif_tag (string tag);
		public static bool is_iptc_tag (string tag);
		public static bool is_xmp_tag (string tag);
		public bool open_buf ([CCode (array_length = false)] uchar[] data, long n_data) throws GLib.Error;
		public bool open_path (string path) throws GLib.Error;
		public bool open_stream (GExiv2.ManagedStreamCallbacks cb) throws GLib.Error;
		public bool save_file (string path) throws GLib.Error;
		public bool save_stream (GExiv2.ManagedStreamCallbacks cb) throws GLib.Error;
		public void set_comment (string comment);
		public void set_date_time (string datetime);
		public bool set_exif_tag_long (string tag, long value);
		public bool set_exif_tag_rational (string tag, int nom, int den);
		public bool set_exif_tag_string (string tag, string value);
		public void set_exif_thumbnail_from_buffer ([CCode (array_length_pos = 1.9)] uchar[] buffer);
		public bool set_exif_thumbnail_from_file (string path) throws GLib.Error;
		public bool set_gps_info (double longitude, double latitude, double altitude);
		public void set_iptc_byline (string value);
		public void set_iptc_byline_title (string value);
		public void set_iptc_city (string value);
		public void set_iptc_contact (string value);
		public void set_iptc_copyright (string value);
		public void set_iptc_country_code (string value);
		public void set_iptc_country_name (string value);
		public void set_iptc_province_state (string value);
		public void set_iptc_sublocation (string value);
		public bool set_iptc_tag_multiple (string tag, [CCode (array_length = false, array_null_terminated = true)] string[] values);
		public bool set_iptc_tag_string (string tag, string value);
		public void set_iptc_writer (string value);
		public void set_keywords ([CCode (array_length = false, array_null_terminated = true)] string[] keywords);
		public void set_metadata_pixel_height (int height);
		public void set_metadata_pixel_width (int width);
		public void set_orientation (GExiv2.Orientation orientation);
		public void set_rating (uint rating);
		public bool set_tag_long (string tag, long value);
		public bool set_tag_multiple (string tag, [CCode (array_length = false, array_null_terminated = true)] string[] values);
		public bool set_tag_string (string tag, string value);
		public bool set_xmp_tag_long (string tag, long value);
		public bool set_xmp_tag_multiple (string tag, [CCode (array_length = false, array_null_terminated = true)] string[] values);
		public bool set_xmp_tag_string (string tag, string value);
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	[Compact]
	public class PreviewImage {
		public unowned uint8[] get_data ();
		public unowned string get_extension ();
		public uint32 get_height ();
		public unowned string get_mime_type ();
		public uint32 get_width ();
		public long write_file (string path);
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	[Compact]
	public class PreviewProperties {
		public unowned string get_extension ();
		public uint32 get_height ();
		public unowned string get_mime_type ();
		public uint32 get_size ();
		public uint32 get_width ();
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h", cprefix = "GEXIV2_LOG_LEVEL_", has_type_id = false)]
	public enum LogLevel {
		DEBUG,
		INFO,
		WARN,
		ERROR,
		MUTE
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h", cprefix = "GEXIV2_ORIENTATION_", has_type_id = false)]
	public enum Orientation {
		MIN,
		UNSPECIFIED,
		NORMAL,
		HFLIP,
		ROT_180,
		VFLIP,
		ROT_90_HFLIP,
		ROT_90,
		ROT_90_VFLIP,
		ROT_270,
		MAX
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h", cprefix = "", has_type_id = false)]
	public enum WrapperSeekOrigin {
		Begin,
		Current,
		End
	}
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate void LogHandler (GExiv2.LogLevel level, string msg);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate bool Stream_CanRead (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate bool Stream_CanSeek (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate bool Stream_CanWrite (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate void Stream_Flush (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate int64 Stream_Length (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate int64 Stream_Position (void* handle);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate int32 Stream_Read (void* handle, void* buffer, int32 offset, int32 count);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate void Stream_Seek (void* handle, int64 offset, GExiv2.WrapperSeekOrigin origin);
	[CCode (cheader_filename = "gexiv2/gexiv2.h", has_target = false)]
	public delegate void Stream_Write (void* handle, void* buffer, int32 offset, int32 count);
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static bool initialize ();
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static unowned GExiv2.LogHandler log_get_default_handler ();
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static unowned GExiv2.LogHandler log_get_handler ();
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static GExiv2.LogLevel log_get_level ();
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static void log_set_handler (GExiv2.LogHandler handler);
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static void log_set_level (GExiv2.LogLevel level);
	[CCode (cheader_filename = "gexiv2/gexiv2.h")]
	public static void log_use_glib_logging ();
}