Class KomodiaDNS::CDNSAnswers::
ParseAnswers()
Base ClassesData ItemsConstructorsDestructorsFunctionsCustom CodeGo to hierarchy chart    Prev page: ParseNext page: ReverseHeader    Show member index
Private Function Declared in:
DNSAnswers.h

'Declaration' icon -- Shortcut to top of page. Declaration

unsigned short ParseAnswers(
    const char *pBuffer,
    const char* pOriginalBuffer);

'Description' icon -- Shortcut to top of page. Description

Parse the answer

'Function Body' icon -- Shortcut to top of page. Function Body

try
{
    //Let's start
    //Get number of answers
    int iAnswers;
    iAnswers=m_aDNSHeader.usARCount+
             m_aDNSHeader.usANCount+
             m_aDNSHeader.usNSCount;

    for (int iCount=0;iCount<iAnswers;++iCount)
    {
        //Our answer
        CDNSAnswer aAnswer;

        //Try to parse it
        unsigned short usParseSize;
        usParseSize=aAnswer.ParseBuffer(pBuffer,
                                        pOriginalBuffer);

        if (!usParseSize)
        {
            //Report it
            ReportError("ParseAnswers","Failed to parse answer!");

            //Exit
            return 0;
        }

        //Set the answer type
        CDNSAnswer::DnsHeaderType aAnswerType;
        if (iCount<m_aDNSHeader.usANCount)
            aAnswerType=CDNSAnswer::dhAnswer;
        else if (iCount<m_aDNSHeader.usANCount+
                        m_aDNSHeader.usNSCount)
            aAnswerType=CDNSAnswer::dhAuthoritive;
        else
            aAnswerType=CDNSAnswer::dhAdditional;

        //Set it at the class
        aAnswer.SetAnswerType(aAnswerType);

        //Add it to the vector
        m_aAnswers.push_back(aAnswer);

        //Increase the buffer size
        pBuffer+=usParseSize;
    }

    //Done
    return pBuffer-pOriginalBuffer;
}
ERROR_HANDLER_RETURN("ParseAnswers",0)

'See Also' icon -- Shortcut to top of page. See Also

Class Overview Class Overview  |  Public base class CErrorHandler  |  Hierarchy Chart Hierarchy Chart


Get Surveyor!This web site was generated using Surveyor V4.50.811.1.  Click here for more information. Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003.