1 /* 2 * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 3 * 4 * SPDX-License-Identifier: MPL-2.0 5 * 6 * This Source Code Form is subject to the terms of the Mozilla Public 7 * License, v. 2.0. If a copy of the MPL was not distributed with this 8 * file, you can obtain one at https://mozilla.org/MPL/2.0/. 9 * 10 * See the COPYRIGHT file distributed with this work for additional 11 * information regarding copyright ownership. 12 */ 13 14 /* 15 * Windows-specific path definitions 16 * These routines are used to set up and return system-specific path 17 * information about the files enumerated in NtPaths 18 */ 19 20 #ifndef ISC_NTPATHS_H 21 #define ISC_NTPATHS_H 22 23 #include <isc/lang.h> 24 25 /* 26 * Index of paths needed 27 */ 28 enum NtPaths { 29 NAMED_CONF_PATH, 30 RESOLV_CONF_PATH, 31 RNDC_CONF_PATH, 32 NAMED_PID_PATH, 33 NAMED_LOCK_PATH, 34 LOCAL_STATE_DIR, 35 SYS_CONF_DIR, 36 RNDC_KEY_PATH, 37 SESSION_KEY_PATH, 38 BIND_KEYS_PATH 39 }; 40 41 /* 42 * Define macros to get the path of the config files 43 */ 44 #define NAMED_CONFFILE isc_ntpaths_get(NAMED_CONF_PATH) 45 #define RNDC_CONFFILE isc_ntpaths_get(RNDC_CONF_PATH) 46 #define RNDC_KEYFILE isc_ntpaths_get(RNDC_KEY_PATH) 47 #define SESSION_KEYFILE isc_ntpaths_get(SESSION_KEY_PATH) 48 #define RESOLV_CONF isc_ntpaths_get(RESOLV_CONF_PATH) 49 50 /* 51 * Information about where the files are on disk 52 */ 53 #define NAMED_LOCALSTATEDIR "/dns/bin" 54 #define NAMED_SYSCONFDIR "/dns/etc" 55 56 ISC_LANG_BEGINDECLS 57 58 void 59 isc_ntpaths_init(void); 60 61 char * 62 isc_ntpaths_get(int); 63 64 ISC_LANG_ENDDECLS 65 66 #endif /* ISC_NTPATHS_H */ 67