/usr/include/cpl_multiframe.h is in libcpl-dev 7.1-3.
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-2017 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 */
|