This file is indexed.

/usr/include/cpl_multiframe.h is in libcpl-dev 6.6.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
/*
 * This file is part of the ESO Common Pipeline Library
 * Copyright (C) 2001-2014 European Southern Observatory
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

#ifndef CPL_MULTIFRAME_H
#define CPL_MULTIFRAME_H

#include <cxmemory.h>

#include <cpl_error.h>
#include <cpl_frame.h>



CPL_BEGIN_DECLS

/**
 * @ingroup cpl_regex
 *
 * Regular expressions syntax options
 */

enum _cpl_regex_syntax_option_
{

    /**
     * Case insensitive searches.
     * @hideinitializer
     */

    CPL_REGEX_ICASE    = 1 << 0,

    /**
     * No sub-expressions.
     * @hideinitializer
     */

    CPL_REGEX_NOSUBS   = 1 << 1,

    /**
     * Basic POSIX grammer.
     * @hideinitializer
     */

    CPL_REGEX_BASIC    = 1 << 2,

    /**
     * Extended POSIX grammer.
     * @hideinitializer
     */

    CPL_REGEX_EXTENDED = 1 << 3

};


/**
 * @ingroup cpl_regex
 *
 * @brief
 *  Regular expression syntax options
 *
 */

typedef enum _cpl_regex_syntax_option_  cpl_regex_syntax_option;


/**
 * @ingroup cpl_regex
 *
 * @brief
 *  The opaque regular expression filter data type.
 */

typedef struct _cpl_regex_ cpl_regex;


cpl_regex *cpl_regex_new(const char *expression, int negated,
                                       cpl_regex_syntax_option flags);
void cpl_regex_delete(cpl_regex *self);

int cpl_regex_apply(const cpl_regex *self, const char *string);
int cpl_regex_is_negated(const cpl_regex *self);

void cpl_regex_negate(cpl_regex *self);



/**
 * @ingroup cpl_multiframe
 *
 * @brief
 *  The flags indicating the naming scheme to use for multi-frame datasets.
 */

enum _cpl_multiframe_id_mode_
{

    /**
     * Use the given identifier as dataset name
     * @hideinitializer
     */

    CPL_MULTIFRAME_ID_SET    = 1 << 0,

    /**
     * Create the dataset name from the given identifier by appending the name of the source
     * dataset.
     * @hideinitializer
     */

    CPL_MULTIFRAME_ID_PREFIX = 1 << 1,

    /**
     * Create the dataset name by concatenating the names of the involved source datasets.
     * The given identifier is used as separator.
     * @hideinitializer
     */

    CPL_MULTIFRAME_ID_JOIN   = 1 << 2

};


/**
 * @ingroup cpl_multiframe
 *
 * @brief
 *  The flags indicating the naming scheme to use for multi-frame datasets.
 */

typedef enum _cpl_multiframe_id_mode_ cpl_multiframe_id_mode;


/**
 * @ingroup cpl_multiframe
 *
 * @brief
 *  The opaque multi-frame data type.
 */

typedef struct _cpl_multiframe_ cpl_multiframe;


cpl_multiframe *cpl_multiframe_new(const cpl_frame *head, const char *id,
                                   cpl_regex *filter);
void cpl_multiframe_delete(cpl_multiframe *self);

cpl_size cpl_multiframe_get_size(const cpl_multiframe *self);

cpl_error_code cpl_multiframe_append_dataset(cpl_multiframe *self,
                                             const char *id,
                                             const cpl_frame *frame,
                                             const char *name,
                                             const cpl_regex *filter1,
                                             const cpl_regex *filter2,
                                             unsigned int flags);

cpl_error_code cpl_multiframe_append_dataset_from_position(cpl_multiframe *self,
                                                           const char *id,
                                                           const cpl_frame *frame,
                                                           cpl_size position,
                                                           const cpl_regex *filter1,
                                                           const cpl_regex *filter2,
                                                           unsigned int flags);

cpl_error_code cpl_multiframe_append_datagroup(cpl_multiframe *self, const char *id,
                                               const cpl_frame *frame,
                                               cpl_size nsets, const char **names,
                                               const cpl_regex **filter1,
                                               const cpl_regex **filter2,
                                               const char **properties,
                                               unsigned int flags);

cpl_error_code cpl_multiframe_append_datagroup_from_position(cpl_multiframe *self, const char *id,
                                                             const cpl_frame *frame,
                                                             cpl_size nsets, cpl_size *positions,
                                                             const cpl_regex **filter1,
                                                             const cpl_regex **filter2,
                                                             const char **properties,
                                                             unsigned int flags);

cpl_error_code cpl_multiframe_add_empty(cpl_multiframe *self, const char *id);

cpl_error_code cpl_multiframe_write(cpl_multiframe *self,
                                    const char *filename);

CPL_END_DECLS

#endif /* CPL_MULTIFRAME_H */