; -*- tab-width: 4 -*-
;
; Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
; 
;     http://www.apache.org/licenses/LICENSE-2.0
; 
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
; See the License for the specific language governing permissions and
; limitations under the License.
;

LIBRARY		dnssd

EXPORTS
	DNSServiceRefSockFD
	DNSServiceProcessResult
	DNSServiceRefDeallocate
	DNSServiceEnumerateDomains
	DNSServiceRegister
	DNSServiceAddRecord
	DNSServiceUpdateRecord
	DNSServiceRemoveRecord
	DNSServiceBrowse
	DNSServiceResolve
	DNSServiceConstructFullName
	DNSServiceCreateConnection
	DNSServiceRegisterRecord
	DNSServiceQueryRecord
	DNSServiceReconfirmRecord
	DNSServiceNATPortMappingCreate
	DNSServiceGetAddrInfo
	DNSServiceGetProperty
	TXTRecordCreate
	TXTRecordDeallocate
	TXTRecordSetValue
	TXTRecordRemoveValue
	TXTRecordContainsKey
	TXTRecordGetCount
	TXTRecordGetLength
	TXTRecordGetBytesPtr
	TXTRecordGetValuePtr
	TXTRecordGetItemAtIndex
