X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fprioq.h;h=d836b36cd9c6dc89e0b8fa58ceb09f3accbd0242;hp=1b5b05e7c74ecbf10bd34c7d8ccec39a3d1b24db;hb=2c5859afecee81e345fc9526b1083bf79990ffb8;hpb=30bdd695250eeecbf0b36c1e3c90d67ca03953ed diff --git a/src/shared/prioq.h b/src/shared/prioq.h index 1b5b05e7c..d836b36cd 100644 --- a/src/shared/prioq.h +++ b/src/shared/prioq.h @@ -25,15 +25,18 @@ typedef struct Prioq Prioq; +#define PRIOQ_IDX_NULL ((unsigned) -1) + Prioq *prioq_new(compare_func_t compare); void prioq_free(Prioq *q); +int prioq_ensure_allocated(Prioq **q, compare_func_t compare_func); int prioq_put(Prioq *q, void *data, unsigned *idx); int prioq_remove(Prioq *q, void *data, unsigned *idx); int prioq_reshuffle(Prioq *q, void *data, unsigned *idx); -void *prioq_peek(Prioq *q); +void *prioq_peek(Prioq *q) _pure_; void *prioq_pop(Prioq *q); -unsigned prioq_size(Prioq *q); -bool prioq_isempty(Prioq *q); +unsigned prioq_size(Prioq *q) _pure_; +bool prioq_isempty(Prioq *q) _pure_;