1*bcda20f6Schristos /* $NetBSD: qpzone_p.h,v 1.2 2025/01/26 16:25:24 christos Exp $ */ 29689912eSchristos 39689912eSchristos /* 49689912eSchristos * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 59689912eSchristos * 69689912eSchristos * SPDX-License-Identifier: MPL-2.0 79689912eSchristos * 89689912eSchristos * This Source Code Form is subject to the terms of the Mozilla Public 99689912eSchristos * License, v. 2.0. If a copy of the MPL was not distributed with this 109689912eSchristos * file, you can obtain one at https://mozilla.org/MPL/2.0/. 119689912eSchristos * 129689912eSchristos * See the COPYRIGHT file distributed with this work for additional 139689912eSchristos * information regarding copyright ownership. 149689912eSchristos */ 159689912eSchristos 169689912eSchristos #pragma once 179689912eSchristos 189689912eSchristos #include <isc/heap.h> 199689912eSchristos #include <isc/lang.h> 209689912eSchristos #include <isc/urcu.h> 219689912eSchristos 229689912eSchristos #include <dns/nsec3.h> 239689912eSchristos #include <dns/qp.h> 249689912eSchristos #include <dns/types.h> 259689912eSchristos 269689912eSchristos /***** 279689912eSchristos ***** Module Info 289689912eSchristos *****/ 299689912eSchristos 309689912eSchristos /*! \file 319689912eSchristos * \brief 329689912eSchristos * DNS QP-Trie DB Implementation 339689912eSchristos */ 349689912eSchristos 359689912eSchristos ISC_LANG_BEGINDECLS 369689912eSchristos 379689912eSchristos isc_result_t 389689912eSchristos dns__qpzone_create(isc_mem_t *mctx, const dns_name_t *base, dns_dbtype_t type, 399689912eSchristos dns_rdataclass_t rdclass, unsigned int argc, char **argv, 409689912eSchristos void *driverarg, dns_db_t **dbp); 419689912eSchristos /*%< 429689912eSchristos * Create a new database of type "qpzone". Called via dns_db_create(); 439689912eSchristos * see documentation for that function for more details. 449689912eSchristos * 459689912eSchristos * If argv[0] is set, it points to a valid memory context to be used for 469689912eSchristos * allocation of heap memory. Generally this is used for cache databases 479689912eSchristos * only. 489689912eSchristos * 499689912eSchristos * Requires: 509689912eSchristos * 519689912eSchristos * \li argc == 0 or argv[0] is a valid memory context. 529689912eSchristos */ 539689912eSchristos ISC_LANG_ENDDECLS 54