diff options
| author | radhitya <alif@radhitya.org> | 2026-07-04 14:29:02 +0700 |
|---|---|---|
| committer | radhitya <alif@radhitya.org> | 2026-07-04 14:29:02 +0700 |
| commit | 52a0d3845ead07f840e9e99cb4a8c3507c84ab30 (patch) | |
| tree | b9a08117bdcb35a1a0e61543b0859db8f4aa6bfd /internal/dns/question.go | |
| parent | e9d3659ef41b9b5fd5e7cc7bd04ae3fc07850044 (diff) | |
fiuh
Diffstat (limited to 'internal/dns/question.go')
| -rw-r--r-- | internal/dns/question.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/dns/question.go b/internal/dns/question.go index 101cb0a..489082c 100644 --- a/internal/dns/question.go +++ b/internal/dns/question.go @@ -1,7 +1,30 @@ package dns +// https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.2 type Question struct { Name Name Type uint16 Class uint16 } + +func (q *Question) pack(p *packer) error { + if err := p.writeName(q.Name); err != nil { + return err + } + p.writeUint16(q.Type) + p.writeUint16(q.Class) + return nil +} +func (q *Question) unpack(u *unpacker) error { + var err error + q.Name, err = u.readName() + if err != nil { + return err + } + q.Type, err = u.readUint16() + if err != nil { + return err + } + q.Class, err = u.readUint16() + return err +} |
