X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=nss%2Fsearch.h;h=1c12d04eed782a8e07a2d02916fb72c7d64bf469;hb=278c50be3d8a8c433aa862d602492112b9f26a67;hp=f85ef91ededef028b41426df1c6ae9b0715e26e3;hpb=92afde4e875a96e1ab865e29b9f0d11b08d7db1c;p=nsscash%2Fnsscash.git diff --git a/nss/search.h b/nss/search.h index f85ef91..1c12d04 100644 --- a/nss/search.h +++ b/nss/search.h @@ -1,7 +1,7 @@ /* * Search entries in nsscash files by using indices and binary search (header) * - * Copyright (C) 2019 Simon Ruderich + * Copyright (C) 2019-2021 Simon Ruderich * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -24,13 +24,18 @@ struct search_key { - const char *name; - const uint64_t *id; + const char *name; // if name != NULL search for a string + const uint64_t id; // if name == NULL search for an id - uint64_t offset; + // The actual data with all entries; this is where the full entry + // including name/id is located (the index holds an offset into data for + // each entry) const void *data; + // Static offset to the search key (name/id) inside the entry; after it + // was located by using the index's offset into data + uint64_t offset; }; -uint64_t *search(struct search_key *key, const void *index, uint64_t count) __attribute__((visibility("hidden"))); +uint64_t *search(const struct search_key *key, const void *index, uint64_t count) __attribute__((visibility("hidden"))); #endif