/usr/include/groove/queue.h is in libgroove-dev 4.3.0-2.
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 | /*
* Copyright (c) 2013 Andrew Kelley
*
* This file is part of libgroove, which is MIT licensed.
* See http://opensource.org/licenses/MIT
*/
#ifndef GROOVE_QUEUE_H_INCLUDED
#define GROOVE_QUEUE_H_INCLUDED
struct GrooveQueue {
void *context;
// defaults to groove_queue_cleanup_default
void (*cleanup)(struct GrooveQueue*, void *obj);
void (*put)(struct GrooveQueue*, void *obj);
void (*get)(struct GrooveQueue*, void *obj);
int (*purge)(struct GrooveQueue*, void *obj);
};
struct GrooveQueue *groove_queue_create(void);
void groove_queue_flush(struct GrooveQueue *queue);
void groove_queue_destroy(struct GrooveQueue *queue);
void groove_queue_abort(struct GrooveQueue *queue);
void groove_queue_reset(struct GrooveQueue *queue);
int groove_queue_put(struct GrooveQueue *queue, void *obj);
// returns -1 if aborted, 1 if got event, 0 if no event ready
int groove_queue_get(struct GrooveQueue *queue, void **obj_ptr, int block);
int groove_queue_peek(struct GrooveQueue *queue, int block);
void groove_queue_purge(struct GrooveQueue *queue);
void groove_queue_cleanup_default(struct GrooveQueue *queue, void *obj);
#endif /* GROOVE_QUEUE_H_INCLUDED */
|