-struct reclist *reclist_create(NMEM, int numrecs);
-struct record * reclist_insert(struct reclist *tl, struct record *record);
-struct record *reclist_read_record(struct reclist *l);
-void reclist_rewind(struct reclist *l);
+struct reclist *reclist_create(NMEM);
+void reclist_destroy(struct reclist *l);
+struct record_cluster *reclist_insert(struct reclist *tl,
+ struct conf_service *service,
+ struct record *record,
+ const 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_enter(struct reclist *l);
+void reclist_leave(struct reclist *l);
+struct reclist_sortparms *reclist_parse_sortparms(NMEM nmem, const char *parms,
+ struct conf_service *service);
+
+int reclist_get_num_records(struct reclist *l);
+struct record_cluster *reclist_get_cluster(struct reclist *l, int i);