Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

QDnsHeader.h 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // Created by robin on 1/7/18.
  3. //
  4. #ifndef QDNSAGG_QDNSHEADER_H
  5. #define QDNSAGG_QDNSHEADER_H
  6. #include <qplatformdefs.h>
  7. #include <QByteArray>
  8. namespace QDNS
  9. {
  10. class QDnsHeader
  11. {
  12. public:
  13. QDnsHeader();
  14. static QDnsHeader parse(const QByteArray& data);
  15. bool isValid() const;
  16. quint16 getId() const;
  17. void setId(quint16 id);
  18. quint16 getFlags() const;
  19. void setFlags(quint16 flags);
  20. void setFlagBits(quint8 bit, quint16 value, quint8 bitCount);
  21. quint16 getFlagBits(quint8 bit, quint8 bitCount) const;
  22. static quint8 getFlagBitIndex(quint8 bit);
  23. bool isQuery() const;
  24. void setIsQuery(bool isQuery);
  25. quint8 getOpcode() const;
  26. void setOpcode(quint8 opcode);
  27. bool isAuthoritative() const;
  28. void setIsAuthoritative(bool isAuthoritative);
  29. bool isTruncated() const;
  30. void setIsTruncated(bool isTruncated);
  31. bool isRecursionDesired() const;
  32. void setIsRecursionDesired(bool isRecursionDesired);
  33. bool isRecursionAvailable() const;
  34. void setIsRecursionAvailable(bool isRecursionAvailable);
  35. bool isAnswerAuthenticated() const;
  36. void setIsAnswerAuthenticated(bool isAnswerAuthenticated);
  37. bool isNonAuthenticatedAcceptable() const;
  38. void setNonAuthenticatedAcceptable(bool isNonAuthenticatedAcceptable);
  39. quint8 getReplyCode() const;
  40. void setReplyCode(quint8 replyCode);
  41. quint16 getQuestionCount() const;
  42. void setQuestionCount(quint16 questionCount);
  43. quint16 getAnswerCount() const;
  44. void setAnswerCount(quint16 answerCount);
  45. quint16 getAuthorityCount() const;
  46. void setAuthorityCount(quint16 authorityCount);
  47. quint16 getAdditionalCount() const;
  48. void setAdditionalCount(quint16 additionalCount);
  49. private:
  50. bool m_isValid;
  51. quint16 m_id;
  52. quint16 m_flags;
  53. quint16 m_questionCount;
  54. quint16 m_answerCount;
  55. quint16 m_authorityCount;
  56. quint16 m_additionalCount;
  57. };
  58. }
  59. #endif //QDNSAGG_QDNSHEADER_H