X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=nss%2Fsearch.h;fp=nss%2Fsearch.h;h=f85ef91ededef028b41426df1c6ae9b0715e26e3;hb=92afde4e875a96e1ab865e29b9f0d11b08d7db1c;hp=0000000000000000000000000000000000000000;hpb=748846b9a65726fd19d43b45a4db68ef4c2e77f4;p=nsscash%2Fnsscash.git diff --git a/nss/search.h b/nss/search.h new file mode 100644 index 0000000..f85ef91 --- /dev/null +++ b/nss/search.h @@ -0,0 +1,36 @@ +/* + * Search entries in nsscash files by using indices and binary search (header) + * + * Copyright (C) 2019 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#ifndef SEARCH_H +#define SEARCH_H + +#include + + +struct search_key { + const char *name; + const uint64_t *id; + + uint64_t offset; + const void *data; +}; + +uint64_t *search(struct search_key *key, const void *index, uint64_t count) __attribute__((visibility("hidden"))); + +#endif