Lines Matching refs:question
5719 mDNSlocal DNSQuestion *FindDuplicateQuestion(const mDNS *const m, const DNSQuestion *const question) in FindDuplicateQuestion() argument
5726 for (q = m->Questions; q && q != question; q=q->next) // Scan our list of questions in FindDuplicateQuestion()
5727 …if (q->InterfaceID == question->InterfaceID && // for another question with the same InterfaceID, in FindDuplicateQuestion()
5728 SameQTarget(q, question) && // and same unicast/multicast target settings in FindDuplicateQuestion()
5729 q->qtype == question->qtype && // type, in FindDuplicateQuestion()
5730 q->qclass == question->qclass && // class, in FindDuplicateQuestion()
5731 q->qnamehash == question->qnamehash && in FindDuplicateQuestion()
5732 SameDomainName(&q->qname, &question->qname)) // and name in FindDuplicateQuestion()
5739 mDNSlocal void UpdateQuestionDuplicates(mDNS *const m, const DNSQuestion *const question) in UpdateQuestionDuplicates() argument
5743 …if (q->DuplicateOf == question) // To see if any questions were referencing this as their duplic… in UpdateQuestionDuplicates()
5745 q->ThisQInterval = question->ThisQInterval; in UpdateQuestionDuplicates()
5746 q->RequestUnicast = question->RequestUnicast; in UpdateQuestionDuplicates()
5747 q->LastQTime = question->LastQTime; in UpdateQuestionDuplicates()
5750 q->LastQTxTime = question->LastQTxTime; in UpdateQuestionDuplicates()
5758 mDNSlocal mStatus mDNS_StartQuery_internal(mDNS *const m, DNSQuestion *const question) in mDNS_StartQuery_internal() argument
5760 if (question->Target.type && !ValidQuestionTarget(question)) in mDNS_StartQuery_internal()
5763 question->Target.type, mDNSVal16(question->TargetPort)); in mDNS_StartQuery_internal()
5764 question->Target.type = mDNSAddrType_None; in mDNS_StartQuery_internal()
5767 if (!question->Target.type) // No question->Target specified, so clear TargetPort and TargetQID in mDNS_StartQuery_internal()
5769 question->TargetPort = zeroIPPort; in mDNS_StartQuery_internal()
5770 question->TargetQID = zeroID; in mDNS_StartQuery_internal()
5776 …if (question->InterfaceID == mDNSInterface_LocalOnly || question->ForceMCast || IsLocalDomain(&que… in mDNS_StartQuery_internal()
5777 question->uDNS_info.id = zeroID; in mDNS_StartQuery_internal()
5778 else return uDNS_StartQuery(m, question); in mDNS_StartQuery_internal()
5780 question->uDNS_info.id = zeroID; in mDNS_StartQuery_internal()
5792 if (question->InterfaceID == mDNSInterface_LocalOnly) q = &m->LocalOnlyQuestions; in mDNS_StartQuery_internal()
5793 while (*q && *q != question) q=&(*q)->next; in mDNS_StartQuery_internal()
5798 question->qname.c, DNSTypeName(question->qtype)); in mDNS_StartQuery_internal()
5803 if (question->InterfaceID && question->InterfaceID != mDNSInterface_LocalOnly) in mDNS_StartQuery_internal()
5807 if (intf->InterfaceID == question->InterfaceID) break; in mDNS_StartQuery_internal()
5810 question->InterfaceID, question->qname.c); in mDNS_StartQuery_internal()
5813 if (!ValidateDomainName(&question->qname)) in mDNS_StartQuery_internal()
5815 …g("Attempt to start query with invalid qname %##s (%s)", question->qname.c, DNSTypeName(question->… in mDNS_StartQuery_internal()
5825 question->next = mDNSNULL; in mDNS_StartQuery_internal()
5826 …question->qnamehash = DomainNameHashValue(&question->qname); // MUST do this before FindDu… in mDNS_StartQuery_internal()
5827 …question->DelayAnswering = CheckForSoonToExpireRecords(m, &question->qname, question->qnamehash… in mDNS_StartQuery_internal()
5828 …question->ThisQInterval = InitialQuestionInterval * 2; // MUST be > zero for an active quest… in mDNS_StartQuery_internal()
5829 …question->RequestUnicast = 2; // Set to 2 because is decremented once *before* we chec… in mDNS_StartQuery_internal()
5830 …question->LastQTime = m->timenow - m->RandomQueryDelay; // Avoid inter-machine synchroniz… in mDNS_StartQuery_internal()
5831 question->LastAnswerPktNum = m->PktNum; in mDNS_StartQuery_internal()
5832 question->RecentAnswerPkts = 0; in mDNS_StartQuery_internal()
5833 question->CurrentAnswers = 0; in mDNS_StartQuery_internal()
5834 question->LargeAnswers = 0; in mDNS_StartQuery_internal()
5835 question->UniqueAnswers = 0; in mDNS_StartQuery_internal()
5836 question->FlappingInterface = mDNSNULL; in mDNS_StartQuery_internal()
5837 question->DuplicateOf = FindDuplicateQuestion(m, question); in mDNS_StartQuery_internal()
5838 question->NextInDQList = mDNSNULL; in mDNS_StartQuery_internal()
5840 question->DupSuppress[i].InterfaceID = mDNSNULL; in mDNS_StartQuery_internal()
5842 question->SendQNow = mDNSNULL; in mDNS_StartQuery_internal()
5843 question->SendOnAll = mDNSfalse; in mDNS_StartQuery_internal()
5844 question->LastQTxTime = m->timenow; in mDNS_StartQuery_internal()
5846 if (!question->DuplicateOf) in mDNS_StartQuery_internal()
5848 question->qname.c, DNSTypeName(question->qtype), question->InterfaceID, in mDNS_StartQuery_internal()
5849 question->LastQTime + question->ThisQInterval - m->timenow, question); in mDNS_StartQuery_internal()
5852 question->qname.c, DNSTypeName(question->qtype), question->InterfaceID, in mDNS_StartQuery_internal()
5853 question->LastQTime + question->ThisQInterval - m->timenow, question, question->DuplicateOf); in mDNS_StartQuery_internal()
5855 *q = question; in mDNS_StartQuery_internal()
5856 if (question->InterfaceID == mDNSInterface_LocalOnly) in mDNS_StartQuery_internal()
5858 if (!m->NewLocalOnlyQuestions) m->NewLocalOnlyQuestions = question; in mDNS_StartQuery_internal()
5862 if (!m->NewQuestions) m->NewQuestions = question; in mDNS_StartQuery_internal()
5863 SetNextQueryTime(m,question); in mDNS_StartQuery_internal()
5870 mDNSlocal mStatus mDNS_StopQuery_internal(mDNS *const m, DNSQuestion *const question) in mDNS_StopQuery_internal() argument
5872 const mDNSu32 slot = HashSlot(&question->qname); in mDNS_StopQuery_internal()
5873 CacheGroup *cg = CacheGroupForName(m, slot, question->qnamehash, &question->qname); in mDNS_StopQuery_internal()
5877 if (uDNS_IsActiveQuery(question, &m->uDNS_info)) return uDNS_StopQuery(m, question); in mDNS_StopQuery_internal()
5879 if (question->InterfaceID == mDNSInterface_LocalOnly) q = &m->LocalOnlyQuestions; in mDNS_StopQuery_internal()
5880 while (*q && *q != question) q=&(*q)->next; in mDNS_StopQuery_internal()
5884 if (question->ThisQInterval >= 0) // Only log error message if the query was supposed to be active in mDNS_StopQuery_internal()
5886 question->qname.c, DNSTypeName(question->qtype)); in mDNS_StopQuery_internal()
5891 UpdateQuestionDuplicates(m, question); in mDNS_StopQuery_internal()
5893 question->ThisQInterval = -1; in mDNS_StopQuery_internal()
5899 if (rr->CRActiveQuestion == question) in mDNS_StopQuery_internal()
5914 if (m->CurrentQuestion == question) in mDNS_StopQuery_internal()
5917 question->qname.c, DNSTypeName(question->qtype)); in mDNS_StopQuery_internal()
5918 m->CurrentQuestion = question->next; in mDNS_StopQuery_internal()
5921 if (m->NewQuestions == question) in mDNS_StopQuery_internal()
5924 question->qname.c, DNSTypeName(question->qtype)); in mDNS_StopQuery_internal()
5925 m->NewQuestions = question->next; in mDNS_StopQuery_internal()
5928 if (m->NewLocalOnlyQuestions == question) m->NewLocalOnlyQuestions = question->next; in mDNS_StopQuery_internal()
5931 question->next = mDNSNULL; in mDNS_StopQuery_internal()
5935 mDNSexport mStatus mDNS_StartQuery(mDNS *const m, DNSQuestion *const question) in mDNS_StartQuery() argument
5939 status = mDNS_StartQuery_internal(m, question); in mDNS_StartQuery()
5944 mDNSexport mStatus mDNS_StopQuery(mDNS *const m, DNSQuestion *const question) in mDNS_StopQuery() argument
5948 status = mDNS_StopQuery_internal(m, question); in mDNS_StopQuery()
5973 mDNSexport mStatus mDNS_StartBrowse(mDNS *const m, DNSQuestion *const question, in mDNS_StartBrowse() argument
5977 question->InterfaceID = InterfaceID; in mDNS_StartBrowse()
5978 question->Target = zeroAddr; in mDNS_StartBrowse()
5979 question->qtype = kDNSType_PTR; in mDNS_StartBrowse()
5980 question->qclass = kDNSClass_IN; in mDNS_StartBrowse()
5981 question->LongLived = mDNSfalse; in mDNS_StartBrowse()
5982 question->ExpectUnique = mDNSfalse; in mDNS_StartBrowse()
5983 question->ForceMCast = ForceMCast; in mDNS_StartBrowse()
5984 question->QuestionCallback = Callback; in mDNS_StartBrowse()
5985 question->QuestionContext = Context; in mDNS_StartBrowse()
5986 if (!ConstructServiceName(&question->qname, mDNSNULL, srv, domain)) return(mStatus_BadParamErr); in mDNS_StartBrowse()
5989 …if (question->InterfaceID == mDNSInterface_LocalOnly || question->ForceMCast || IsLocalDomain(&que… in mDNS_StartBrowse()
5991 question->LongLived = mDNSfalse; in mDNS_StartBrowse()
5992 question->uDNS_info.id = zeroID; in mDNS_StartBrowse()
5993 return(mDNS_StartQuery(m, question)); in mDNS_StartBrowse()
6000 question->LongLived = mDNStrue; in mDNS_StartBrowse()
6001 status = uDNS_StartQuery(m, question); in mDNS_StartBrowse()
6006 return(mDNS_StartQuery(m, question)); in mDNS_StartBrowse()
6018 mDNSlocal void FoundServiceInfoSRV(mDNS *const m, DNSQuestion *question, const ResourceRecord *cons… in FoundServiceInfoSRV() argument
6020 ServiceInfoQuery *query = (ServiceInfoQuery *)question->QuestionContext; in FoundServiceInfoSRV()
6079 mDNSlocal void FoundServiceInfoTXT(mDNS *const m, DNSQuestion *question, const ResourceRecord *cons… in FoundServiceInfoTXT() argument
6081 ServiceInfoQuery *query = (ServiceInfoQuery *)question->QuestionContext; in FoundServiceInfoTXT()
6104 mDNSlocal void FoundServiceInfo(mDNS *const m, DNSQuestion *question, const ResourceRecord *const a… in FoundServiceInfo() argument
6106 ServiceInfoQuery *query = (ServiceInfoQuery *)question->QuestionContext; in FoundServiceInfo()
6237 mDNSexport mStatus mDNS_GetDomains(mDNS *const m, DNSQuestion *const question, mDNS_DomainType Doma… in mDNS_GetDomains() argument
6240 question->InterfaceID = InterfaceID; in mDNS_GetDomains()
6241 question->Target = zeroAddr; in mDNS_GetDomains()
6242 question->qtype = kDNSType_PTR; in mDNS_GetDomains()
6243 question->qclass = kDNSClass_IN; in mDNS_GetDomains()
6244 question->LongLived = mDNSfalse; in mDNS_GetDomains()
6245 question->ExpectUnique = mDNSfalse; in mDNS_GetDomains()
6246 question->ForceMCast = mDNSfalse; in mDNS_GetDomains()
6247 question->QuestionCallback = Callback; in mDNS_GetDomains()
6248 question->QuestionContext = Context; in mDNS_GetDomains()
6250 …if (!MakeDomainNameFromDNSNameString(&question->qname, mDNS_DomainTypeNames[DomainType])) return(m… in mDNS_GetDomains()
6252 if (!AppendDomainName(&question->qname, dom)) return(mStatus_BadParamErr); in mDNS_GetDomains()
6253 return(mDNS_StartQuery(m, question)); in mDNS_GetDomains()