def DNSServiceConstructFullName(service=None, regtype=_NO_DEFAULT, domain=_NO_DEFAULT):
 _NO_DEFAULT.check(regtype)
 _NO_DEFAULT.check(domain)
 _global_lock.acquire()
 try:
  fullName = _DNSServiceConstructFullName(service, regtype, domain)
 finally:
  _global_lock.release()
 return fullName.value.decode('utf-8')

def DNSServiceConstructFullName ( service = None , regtype = _NO_DEFAULT , domain = _NO_DEFAULT ) : _NO_DEFAULT . check ( regtype ) _NO_DEFAULT . check ( domain ) _global_lock . acquire ( ) try : fullName = _DNSServiceConstructFullName ( service , regtype , domain ) finally : _global_lock . release ( ) return fullName . value . decode ( 'utf-8' )
concatenate a three-part domain name into a properly-escaped full domain name .