ObjFW
OFSOADNSResourceRecord.h
1 /*
2  * Copyright (c) 2008-2024 Jonathan Schleifer <js@nil.im>
3  *
4  * All rights reserved.
5  *
6  * This program is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License version 3.0 only,
8  * as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * version 3.0 for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * version 3.0 along with this program. If not, see
17  * <https://www.gnu.org/licenses/>.
18  */
19 
20 #import "OFDNSResourceRecord.h"
21 
22 OF_ASSUME_NONNULL_BEGIN
23 
29 OF_SUBCLASSING_RESTRICTED
31 {
32  OFString *_primaryNameServer, *_responsiblePerson;
33  uint32_t _serialNumber, _refreshInterval, _retryInterval;
34  uint32_t _expirationInterval, _minTTL;
35 }
36 
40 @property (readonly, nonatomic) OFString *primaryNameServer;
41 
45 @property (readonly, nonatomic) OFString *responsiblePerson;
46 
50 @property (readonly, nonatomic) uint32_t serialNumber;
51 
55 @property (readonly, nonatomic) uint32_t refreshInterval;
56 
60 @property (readonly, nonatomic) uint32_t retryInterval;
61 
65 @property (readonly, nonatomic) uint32_t expirationInterval;
66 
70 @property (readonly, nonatomic) uint32_t minTTL;
71 
72 - (instancetype)initWithName: (OFString *)name
73  DNSClass: (OFDNSClass)DNSClass
74  recordType: (OFDNSRecordType)recordType
75  TTL: (uint32_t)TTL OF_UNAVAILABLE;
76 
93 - (instancetype)initWithName: (OFString *)name
94  DNSClass: (OFDNSClass)DNSClass
95  primaryNameServer: (OFString *)primaryNameServer
96  responsiblePerson: (OFString *)responsiblePerson
97  serialNumber: (uint32_t)serialNumber
98  refreshInterval: (uint32_t)refreshInterval
99  retryInterval: (uint32_t)retryInterval
100  expirationInterval: (uint32_t)expirationInterval
101  minTTL: (uint32_t)minTTL
102  TTL: (uint32_t)TTL OF_DESIGNATED_INITIALIZER;
103 @end
104 
105 OF_ASSUME_NONNULL_END
OFDNSClass
The DNS class.
Definition: OFDNSResourceRecord.h:34
A class representing a DNS resource record.
Definition: OFDNSResourceRecord.h:80
A class representing an SOA DNS resource record.
Definition: OFSOADNSResourceRecord.h:30
A class for handling strings.
Definition: OFString.h:142
OFDNSRecordType
The type of a DNS resource record.
Definition: OFDNSResourceRecord.h:44