晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/thread-self/root/proc/self/root/usr/include/bind9/dns/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/usr/include/bind9/dns/keyvalues.h
/*
 * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, you can obtain one at https://mozilla.org/MPL/2.0/.
 *
 * See the COPYRIGHT file distributed with this work for additional
 * information regarding copyright ownership.
 */

#ifndef DNS_KEYVALUES_H
#define DNS_KEYVALUES_H 1

/*! \file dns/keyvalues.h */

/*
 * Flags field of the KEY RR rdata
 */
#define DNS_KEYFLAG_TYPEMASK 0xC000 /*%< Mask for "type" bits */
#define DNS_KEYTYPE_AUTHCONF 0x0000 /*%< Key usable for both */
#define DNS_KEYTYPE_CONFONLY 0x8000 /*%< Key usable for confidentiality */
#define DNS_KEYTYPE_AUTHONLY 0x4000 /*%< Key usable for authentication */
#define DNS_KEYTYPE_NOKEY    0xC000 /*%< No key usable for either; no key */
#define DNS_KEYTYPE_NOAUTH   DNS_KEYTYPE_CONFONLY
#define DNS_KEYTYPE_NOCONF   DNS_KEYTYPE_AUTHONLY

#define DNS_KEYFLAG_RESERVED2  0x2000 /*%< reserved - must be zero */
#define DNS_KEYFLAG_EXTENDED   0x1000 /*%< key has extended flags */
#define DNS_KEYFLAG_RESERVED4  0x0800 /*%< reserved - must be zero */
#define DNS_KEYFLAG_RESERVED5  0x0400 /*%< reserved - must be zero */
#define DNS_KEYFLAG_OWNERMASK  0x0300 /*%< these bits determine the type */
#define DNS_KEYOWNER_USER      0x0000 /*%< key is assoc. with user */
#define DNS_KEYOWNER_ENTITY    0x0200 /*%< key is assoc. with entity eg host */
#define DNS_KEYOWNER_ZONE      0x0100 /*%< key is zone key */
#define DNS_KEYOWNER_RESERVED  0x0300 /*%< reserved meaning */
#define DNS_KEYFLAG_REVOKE     0x0080 /*%< key revoked (per rfc5011) */
#define DNS_KEYFLAG_RESERVED9  0x0040 /*%< reserved - must be zero */
#define DNS_KEYFLAG_RESERVED10 0x0020 /*%< reserved - must be zero */
#define DNS_KEYFLAG_RESERVED11 0x0010 /*%< reserved - must be zero */
#define DNS_KEYFLAG_SIGNATORYMASK                  \
	0x000F /*%< key can sign RR's of same name \
		*/

#define DNS_KEYFLAG_RESERVEDMASK                         \
	(DNS_KEYFLAG_RESERVED2 | DNS_KEYFLAG_RESERVED4 | \
	 DNS_KEYFLAG_RESERVED5 | DNS_KEYFLAG_RESERVED9 | \
	 DNS_KEYFLAG_RESERVED10 | DNS_KEYFLAG_RESERVED11)
#define DNS_KEYFLAG_KSK 0x0001 /*%< key signing key */

#define DNS_KEYFLAG_RESERVEDMASK2 0xFFFF /*%< no bits defined here */

/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
#define DNS_KEYALG_RSAMD5	1 /*%< RSA with MD5 */
#define DNS_KEYALG_RSA		1 /*%< Used just for tagging */
#define DNS_KEYALG_DH		2 /*%< Diffie Hellman KEY */
#define DNS_KEYALG_DSA		3 /*%< DSA KEY */
#define DNS_KEYALG_NSEC3DSA	6
#define DNS_KEYALG_DSS		DNS_ALG_DSA
#define DNS_KEYALG_ECC		4
#define DNS_KEYALG_RSASHA1	5
#define DNS_KEYALG_NSEC3RSASHA1 7
#define DNS_KEYALG_RSASHA256	8
#define DNS_KEYALG_RSASHA512	10
#define DNS_KEYALG_ECCGOST	12
#define DNS_KEYALG_ECDSA256	13
#define DNS_KEYALG_ECDSA384	14
#define DNS_KEYALG_ED25519	15
#define DNS_KEYALG_ED448	16
#define DNS_KEYALG_INDIRECT	252
#define DNS_KEYALG_PRIVATEDNS	253
#define DNS_KEYALG_PRIVATEOID	254 /*%< Key begins with OID giving alg */
#define DNS_KEYALG_MAX		255

/* Protocol values  */
#define DNS_KEYPROTO_RESERVED 0
#define DNS_KEYPROTO_TLS      1
#define DNS_KEYPROTO_EMAIL    2
#define DNS_KEYPROTO_DNSSEC   3
#define DNS_KEYPROTO_IPSEC    4
#define DNS_KEYPROTO_ANY      255

/* Signatures */
#define DNS_SIG_RSAMINBITS 512 /*%< Size of a mod or exp in bits */
#define DNS_SIG_RSAMAXBITS 2552
/* Total of binary mod and exp */
#define DNS_SIG_RSAMAXBYTES ((DNS_SIG_RSAMAXBITS + 7 / 8) * 2 + 3)
/*%< Max length of text sig block */
#define DNS_SIG_RSAMAXBASE64 (((DNS_SIG_RSAMAXBYTES + 2) / 3) * 4)
#define DNS_SIG_RSAMINSIZE   ((DNS_SIG_RSAMINBITS + 7) / 8)
#define DNS_SIG_RSAMAXSIZE   ((DNS_SIG_RSAMAXBITS + 7) / 8)

#define DNS_SIG_ECDSA256SIZE 64
#define DNS_SIG_ECDSA384SIZE 96

#define DNS_KEY_ECDSA256SIZE 64
#define DNS_KEY_ECDSA384SIZE 96

#define DNS_SIG_ED25519SIZE 64
#define DNS_SIG_ED448SIZE   114

#define DNS_KEY_ED25519SIZE 32
#define DNS_KEY_ED448SIZE   57

#endif /* DNS_KEYVALUES_H */