/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 */
|