{"id":"dns-header-flags-explain","version":"1.0.0","description":"Explain an RFC 1035 DNS header flags word, with reserved Z as an integer 0 through 7.","supported_operations":["explain dns header flags word","decode rfc 1035 qr opcode and rcode","split a dns flags hex word","what does this dns header flag mean","read the dns header z field","interpret query and response flag bits","הסבר דגלי הכותרת של הודעת די אן אס"],"unsupported_operations":["split header z into ad and cd bits","explain the edns do bit or opt ttl","parse a whole dns message","decide whether a response is authentic"],"semantics":["flags_hex is exactly four lowercase hex digits, the RFC 1035 Section 4.1.1 flags word. Diagram columns are numbered 0 through 15 from the left.","QR is column 0, opcode is columns 1 through 4 as an integer 0..15, AA TC and RD are columns 5 through 7, RA is column 8, Z is columns 9 through 11 as an integer 0..7, and RCODE is columns 12 through 15 as an integer 0..15.","Opcode names are only the RFC 1035 assignments: 0 query, 1 iquery, 2 status. Other opcodes are unassigned. RCODE names are 0 no_error, 1 format_error, 2 server_failure, 3 name_error, 4 not_implemented, 5 refused. Values 6 through 15 are unassigned. Later names such as NXDOMAIN, AD and CD are not used.","The word 0070 sets only the three Z columns and returns z 7. A value outside four hex digits fails: longer input is limit_exceeded, any other shape is invalid_input.","Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity."],"limits":{"max_flags_hex_chars":4},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["flags_hex"],"properties":{"flags_hex":{"type":"string","minLength":4,"maxLength":4,"pattern":"^[0-9a-f]{4}$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["flags","flags_hex","qr","opcode","opcode_name","aa","tc","rd","ra","z","rcode","rcode_name"],"properties":{"flags":{"type":"integer","minimum":0,"maximum":65535},"flags_hex":{"type":"string","minLength":4,"maxLength":4,"pattern":"^[0-9a-f]{4}$"},"qr":{"type":"boolean"},"opcode":{"type":"integer","minimum":0,"maximum":15},"opcode_name":{"type":"string","enum":["query","iquery","status","unassigned"]},"aa":{"type":"boolean"},"tc":{"type":"boolean"},"rd":{"type":"boolean"},"ra":{"type":"boolean"},"z":{"type":"integer","minimum":0,"maximum":7},"rcode":{"type":"integer","minimum":0,"maximum":15},"rcode_name":{"type":"string","enum":["no_error","format_error","server_failure","name_error","not_implemented","refused","unassigned"]}}},"examples":[{"input":{"flags_hex":"0070"},"output":{"flags":112,"flags_hex":"0070","qr":false,"opcode":0,"opcode_name":"query","aa":false,"tc":false,"rd":false,"ra":false,"z":7,"rcode":0,"rcode_name":"no_error"}},{"input":{"flags_hex":"0100"},"output":{"flags":256,"flags_hex":"0100","qr":false,"opcode":0,"opcode_name":"query","aa":false,"tc":false,"rd":true,"ra":false,"z":0,"rcode":0,"rcode_name":"no_error"}},{"input":{"flags_hex":"0800"},"output":{"flags":2048,"flags_hex":"0800","qr":false,"opcode":1,"opcode_name":"iquery","aa":false,"tc":false,"rd":false,"ra":false,"z":0,"rcode":0,"rcode_name":"no_error"}}],"execute_url":"/v1/tools/dns-header-flags-explain/versions/1.0.0/execute"}