X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Freclists.h;h=61a25ec70be27fbc47523e8db46290ece0d16052;hb=7dd217c5530b60f6533fff8e3420d755c5db5e25;hp=cca3e42bb067951258d579b4ff9d3a93542056c3;hpb=77b4d51d81340f3374ae8a97aea0177a0fbcd336;p=pazpar2-moved-to-github.git diff --git a/src/reclists.h b/src/reclists.h index cca3e42..61a25ec 100644 --- a/src/reclists.h +++ b/src/reclists.h @@ -1,6 +1,8 @@ #ifndef RECLISTS_H #define RECLISTS_H +#include "config.h" + struct reclist { struct reclist_bucket **hashtable; @@ -15,10 +17,29 @@ struct reclist NMEM nmem; }; +// This is a recipe for sorting. First node in list has highest priority +struct reclist_sortparms +{ + int offset; + enum conf_sortkey_type type; + int increasing; + struct reclist_sortparms *next; +}; + struct reclist *reclist_create(NMEM, int numrecs); struct record_cluster *reclist_insert(struct reclist *tl, struct record *record, - char *merg_key); + char *merge_key, int *total); +void reclist_sort(struct reclist *l, struct reclist_sortparms *parms); struct record_cluster *reclist_read_record(struct reclist *l); void reclist_rewind(struct reclist *l); +struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms); #endif + +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */