This file is indexed.

/usr/include/gfal2/cancel/gfal_cancel.h is in libgfal2-dev 2.10.2-1.

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
/*
 * Copyright (c) CERN 2013-2015
 *
 * Copyright (c) Members of the EMI Collaboration. 2010-2013
 *  See  http://www.eu-emi.eu/partners for details on the copyright
 *  holders.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once
#ifndef GFAL_CANCEL_H_
#define GFAL_CANCEL_H_

#if !defined(__GFAL2_H_INSIDE__) && !defined(__GFAL2_BUILD__)
#   warning "Direct inclusion of gfal2 headers is deprecated. Please, include only gfal_api.h or gfal_plugins_api.h"
#endif

#include <glib.h>

#include <global/gfal_global.h>
#include <common/gfal_constants.h>

/**
 * @file gfal_cancel.h
 *
 * canceling operation for gfal 2.0
 *
 **/

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct gfal_cancel_token_s* gfal_cancel_token_t;
typedef void (*gfal_cancel_hook_cb)(gfal2_context_t context, void* userdata);

/**
 * @brief cancel operation
 *
 * cancel all pending operation on the given context
 * blocking until all operations finish
 * all operations will return and trigger an ECANCELED if interrupted.
 * Thread safe
 * @param context : gfal 2 context
 * @return number of operations canceled
 */
int gfal2_cancel(gfal2_context_t context);

/**
 * @brief cancel status
 * @return true if \ref gfal2_cancel has been called
 *
 * @param context
 * @return true if success
 */
gboolean gfal2_is_canceled(gfal2_context_t context);

/**
 * Register a cancel hook, called in each cancellation
 * Thread-safe
 */
gfal_cancel_token_t gfal2_register_cancel_callback(gfal2_context_t context,
        gfal_cancel_hook_cb cb, void* userdata);

/**
 * Remove a cancel hook
 * Thread-safe
 */
void gfal2_remove_cancel_callback(gfal2_context_t context, gfal_cancel_token_t token);

/**
 * Mark the beginning of a cancellable scope
 */
int gfal2_start_scope_cancel(gfal2_context_t context, GError** err);

/**
 * Mark the end of a cancellable scope
 */
int gfal2_end_scope_cancel(gfal2_context_t context);

/**
 * GQuark of a cancel action
 */
GQuark gfal_cancel_quark();

/** Convenience macro for gfal2_start_scope_cancel */
#define GFAL2_BEGIN_SCOPE_CANCEL(context, ret_err_value, err) \
    do{                                                       \
    if(gfal2_start_scope_cancel(context, err) < 0){           \
        return ret_err_value;                                 \
    }                                                         \
    }while(0)

/** Convenience macro for gfal2_end_scope_cancel */
#define GFAL2_END_SCOPE_CANCEL(context) \
    gfal2_end_scope_cancel(context)

#ifdef __cplusplus
}
#endif


#endif /* GFAL_CANCEL_H_ */