This file is indexed.

/usr/include/afs/work_queue.h is in libopenafs-dev 1.8.0~pre5-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
/*
 * Copyright 2008-2010, Sine Nomine Associates and others.
 * All Rights Reserved.
 *
 * This software has been released under the terms of the IBM Public
 * License.  For details, see the LICENSE file in the top-level source
 * directory or online at http://www.openafs.org/dl/license10.html
 */

#ifndef AFS_UTIL_WORK_QUEUE_H
#define AFS_UTIL_WORK_QUEUE_H 1

#include "work_queue_types.h"

/**
 * public interfaces for package work_queue.
 */
/** @defgroup afs_work_queue Volume Package Work Queue */
/*@{*/

/* XXX move these into an et */
#define AFS_WQ_ERROR              -1 /**< fatal error in work_queue package */
#define AFS_WQ_ERROR_RECOVERABLE  -2 /**< soft error in work_queue package */
#define AFS_WQ_ERROR_RESCHEDULE   -3 /**< reschedule work node for execution */

extern void afs_wq_opts_init(struct afs_work_queue_opts *);
extern void afs_wq_opts_calc_thresh(struct afs_work_queue_opts *, int);
extern int afs_wq_create(struct afs_work_queue **,
                         void * rock,
                         struct afs_work_queue_opts *);
extern int afs_wq_destroy(struct afs_work_queue *);

extern int afs_wq_shutdown(struct afs_work_queue *);

extern int afs_wq_node_alloc(struct afs_work_queue_node **);
extern int afs_wq_node_get(struct afs_work_queue_node *);
extern int afs_wq_node_put(struct afs_work_queue_node *);
extern int afs_wq_node_set_callback(struct afs_work_queue_node *,
				    afs_wq_callback_func_t *,
				    void * rock, afs_wq_callback_dtor_t *dtor);
extern int afs_wq_node_set_detached(struct afs_work_queue_node *);
extern int afs_wq_node_dep_add(struct afs_work_queue_node *,
			       struct afs_work_queue_node *);
extern int afs_wq_node_dep_del(struct afs_work_queue_node *,
			       struct afs_work_queue_node *);
extern int afs_wq_node_block(struct afs_work_queue_node *);
extern int afs_wq_node_unblock(struct afs_work_queue_node *);
extern void afs_wq_add_opts_init(struct afs_work_queue_add_opts *);
extern int afs_wq_add(struct afs_work_queue *,
		      struct afs_work_queue_node *,
		      struct afs_work_queue_add_opts *);
extern int afs_wq_del(struct afs_work_queue_node *);

extern int afs_wq_do(struct afs_work_queue *,
		     void * rock);
extern int afs_wq_do_nowait(struct afs_work_queue *,
			    void * rock);

extern int afs_wq_wait_all(struct afs_work_queue *);
extern int afs_wq_node_wait(struct afs_work_queue_node *,
				 int * retcode);

/*@}*/
#endif /* AFS_UTIL_WORK_QUEUE_H */