X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fprioq.h;h=d836b36cd9c6dc89e0b8fa58ceb09f3accbd0242;hb=a1948c7bfeb87b54bc7715a44490c01593ee6e23;hp=1b5b05e7c74ecbf10bd34c7d8ccec39a3d1b24db;hpb=30bdd695250eeecbf0b36c1e3c90d67ca03953ed;p=elogind.git 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_;