1 1.1 christos /* $NetBSD: clientinfo.c,v 1.8 2025/01/26 16:25:22 christos Exp $ */ 2 1.1 christos 3 1.1 christos /* 4 1.1 christos * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 5 1.1 christos * 6 1.6 christos * SPDX-License-Identifier: MPL-2.0 7 1.6 christos * 8 1.1 christos * This Source Code Form is subject to the terms of the Mozilla Public 9 1.1 christos * License, v. 2.0. If a copy of the MPL was not distributed with this 10 1.5 christos * file, you can obtain one at https://mozilla.org/MPL/2.0/. 11 1.1 christos * 12 1.1 christos * See the COPYRIGHT file distributed with this work for additional 13 1.1 christos * information regarding copyright ownership. 14 1.1 christos */ 15 1.1 christos 16 1.1 christos /*! \file */ 17 1.1 christos 18 1.1 christos #include <dns/clientinfo.h> 19 1.6 christos #include <dns/ecs.h> 20 1.1 christos 21 1.1 christos void 22 1.1 christos dns_clientinfomethods_init(dns_clientinfomethods_t *methods, 23 1.4 christos dns_clientinfo_sourceip_t sourceip) { 24 1.1 christos methods->version = DNS_CLIENTINFOMETHODS_VERSION; 25 1.1 christos methods->age = DNS_CLIENTINFOMETHODS_AGE; 26 1.1 christos methods->sourceip = sourceip; 27 1.1 christos } 28 1.1 christos 29 1.1 christos void 30 1.7 christos dns_clientinfo_init(dns_clientinfo_t *ci, void *data, void *versionp) { 31 1.1 christos ci->version = DNS_CLIENTINFO_VERSION; 32 1.1 christos ci->data = data; 33 1.1 christos ci->dbversion = versionp; 34 1.7 christos dns_ecs_init(&ci->ecs); 35 1.7 christos } 36 1.7 christos 37 1.7 christos void 38 1.7 christos dns_clientinfo_setecs(dns_clientinfo_t *ci, dns_ecs_t *ecs) { 39 1.6 christos if (ecs != NULL) { 40 1.6 christos ci->ecs = *ecs; 41 1.6 christos } else { 42 1.6 christos dns_ecs_init(&ci->ecs); 43 1.6 christos } 44 1.1 christos } 45