xref: /titanic_52/usr/src/lib/libdns_sd/java/com/apple/dnssd/DNSSDRecordRegistrar.java (revision 5ffb0c9b03b5149ff4f5821a62be4a52408ada2a)
1 /* -*- Mode: Java; tab-width: 4 -*-
2  *
3  * Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 
19 package	com.apple.dnssd;
20 
21 
22 /**	An object for registering records, created by {@link DNSSD#createRecordRegistrar}. */
23 
24 public interface	DNSSDRecordRegistrar extends DNSSDService
25 {
26 	/** Register an independent {@link DNSRecord}.<P>
27 		@param	flags
28 					Possible values are SHARED or UNIQUE (see flag type definitions for details).
29 		<P>
30 		@param	ifIndex
31 					If non-zero, specifies the interface on which to register the record
32 					(the index for a given interface is determined via the if_nametoindex()
33 					family of calls.)  Passing 0 causes the record to be registered on all interfaces.
34 		<P>
35 		@param	fullname
36 					The full domain name of the resource record.
37 		<P>
38 		@param	rrtype
39 					The numerical type of the resource record to be queried for (e.g. PTR, SRV, etc)
40 					as defined in nameser.h.
41 		<P>
42 		@param	rrclass
43 					The class of the resource record, as defined in nameser.h
44 					(usually 1 for the Internet class).
45 		<P>
46 		@param	rdata
47 					The new rdata  as it is to appear in the DNS record.
48 		<P>
49 		@param	ttl
50 					The time to live of the resource record, in seconds. Pass 0 to use a default value.
51 		<P>
52 		@return		A {@link DNSSDService} that can be used to abort the record registration.
53 
54 		@throws SecurityException If a security manager is present and denies <tt>RuntimePermission("getDNSSDInstance")</tt>.
55 		@see    RuntimePermission
56 	*/
57 	public DNSRecord	registerRecord( int flags, int ifIndex, String fullname, int rrtype,
58 									int rrclass, byte[] rdata, int ttl)
59 	throws DNSSDException;
60 }
61 
62