human
I wrote the below code

    _NO_DEFAULT.check(fullname)
    _NO_DEFAULT.check(rrtype)
    @_DNSServiceQueryRecordReply
    def _callback(sdRef, flags, interfaceIndex, errorCode, fullname, rrtype, rrclass, rdlen, rdata, ttl, context):
        if (callBack is not None):
            rdata = _length_and_void_p_to_string(rdlen, rdata)
            callBack(sdRef, flags, interfaceIndex, errorCode, fullname.decode(), rrtype, rrclass, rdata, ttl)
    _global_lock.acquire()
    try:
        sdRef = _DNSServiceQueryRecord(flags, interfaceIndex, fullname, rrtype, rrclass, _callback, None)
    finally:
        _global_lock.release()
    sdRef._add_callback(_callback)
    return sdRef

What's a good function header?

=====
Here's a good function header?
assistant
#Here's a good function header.

def DNSServiceQueryRecord(flags=0, interfaceIndex=kDNSServiceInterfaceIndexAny, fullname=_NO_DEFAULT, rrtype=_NO_DEFAULT, rrclass=kDNSServiceClass_IN, callBack=None):