// File: /workspace/github_c_makefile_star2_O1/wahern[P]cqueues/src/dns.c
// Function: luaopen__cqueues_dns_record
int luaopen__cqueues_dns_record(lua_State *L) {
	static const struct cqs_macro classes[] = {
		{ "IN", DNS_C_IN }, { "ANY", DNS_C_ANY },
	};
	static const struct cqs_macro types[] = {
		{ "A",     DNS_T_A },     { "NS",   DNS_T_NS },
		{ "CNAME", DNS_T_CNAME }, { "SOA",  DNS_T_SOA },
		{ "PTR",   DNS_T_PTR },   { "MX",   DNS_T_MX },
		{ "TXT",   DNS_T_TXT },   { "AAAA", DNS_T_AAAA },
		{ "SRV",   DNS_T_SRV },   { "OPT",  DNS_T_OPT },
		{ "SSHFP", DNS_T_SSHFP }, { "SPF",  DNS_T_SPF },
		{ "ALL",   DNS_T_ALL },
	};
	static const struct cqs_macro sshfp[] = {
		{ "RSA",  DNS_SSHFP_RSA }, { "DSA", DNS_SSHFP_DSA },
		{ "SHA1", DNS_SSHFP_SHA1 },
	};

	rr_loadall(L);

	luaL_newlib(L, rr_globals);

	lua_createtable(L, 0, countof(classes));
	cqs_setmacros(L, -1, classes, countof(classes), 1);
	lua_setfield(L, -2, "class");

	lua_createtable(L, 0, countof(types));
	cqs_setmacros(L, -1, types, countof(types), 1);
	lua_createtable(L, 0, 1);
	lua_pushcfunction(L, &rr_type);
	lua_setfield(L, -2, "__call");
	lua_setmetatable(L, -2);
	lua_setfield(L, -2, "type");

	lua_createtable(L, 0, countof(sshfp));
	cqs_setmacros(L, -1, sshfp, countof(sshfp), 1);
	lua_setfield(L, -2, "sshfp");

	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0xf920
movl %eax, %ebp
leaq 0x179a7(%rip), %rsi     # 0x362bb
movq %rbx, %rdi
callq 0x10180
leaq 0x26ffd(%rip), %rsi     # 0x45920
xorl %r13d, %r13d
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
leaq 0x26f6a(%rip), %rsi     # 0x458b0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
leaq 0x167d0(%rip), %r14     # 0x35127
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x17958(%rip), %rsi     # 0x362c6
movq %rbx, %rdi
callq 0x10180
leaq 0x27033(%rip), %rsi     # 0x459b0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
leaq 0x26fa3(%rip), %rsi     # 0x45940
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x17911(%rip), %rsi     # 0x362cf
movq %rbx, %rdi
callq 0x10180
leaq 0x27073(%rip), %r15     # 0x45a40
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
leaq 0x26fe0(%rip), %r12     # 0x459d0
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x178c5(%rip), %rsi     # 0x362d9
movq %rbx, %rdi
callq 0x10180
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x1788a(%rip), %rsi     # 0x362e6
movq %rbx, %rdi
callq 0x10180
leaq 0x270c5(%rip), %rsi     # 0x45b30
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0xc, %edx
callq 0x101e0
leaq 0x26fd5(%rip), %rsi     # 0x45a60
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x17845(%rip), %rsi     # 0x362f1
movq %rbx, %rdi
callq 0x10180
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x17808(%rip), %rsi     # 0x362fc
movq %rbx, %rdi
callq 0x10180
leaq 0x270cd(%rip), %rsi     # 0x45bd0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x7, %edx
callq 0x101e0
leaq 0x2702d(%rip), %rsi     # 0x45b50
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x177c2(%rip), %rsi     # 0x36306
movq %rbx, %rdi
callq 0x10180
leaq 0x2710d(%rip), %rsi     # 0x45c60
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
leaq 0x2707d(%rip), %rsi     # 0x45bf0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x1777d(%rip), %rsi     # 0x36311
movq %rbx, %rdi
callq 0x10180
leaq 0x2714d(%rip), %rsi     # 0x45cf0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x6, %edx
callq 0x101e0
leaq 0x270bd(%rip), %rsi     # 0x45c80
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x17739(%rip), %rsi     # 0x3631d
movq %rbx, %rdi
callq 0x10180
leaq 0x271bd(%rip), %rsi     # 0x45db0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x9, %edx
callq 0x101e0
leaq 0x270fd(%rip), %rsi     # 0x45d10
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x176f4(%rip), %rsi     # 0x36328
movq %rbx, %rdi
callq 0x10180
leaq 0x2721d(%rip), %rsi     # 0x45e60
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x101e0
leaq 0x2716d(%rip), %rsi     # 0x45dd0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x176af(%rip), %rsi     # 0x36333
movq %rbx, %rdi
callq 0x10180
leaq 0x2726d(%rip), %rsi     # 0x45f00
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x7, %edx
callq 0x101e0
leaq 0x271cd(%rip), %rsi     # 0x45e80
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
leaq 0x1766c(%rip), %rsi     # 0x36340
movq %rbx, %rdi
callq 0x10180
leaq 0x272bd(%rip), %rsi     # 0x45fa0
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x7, %edx
callq 0x101e0
leaq 0x2721d(%rip), %rsi     # 0x45f20
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq %r14, %rdx
callq 0xf530
movq %rbx, %rdi
movl %ebp, %esi
callq 0x10640
movsd 0x162d1(%rip), %xmm0    # 0x35000
movl $0x88, %esi
movq %rbx, %rdi
callq 0x10530
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x101e0
leaq 0x17841(%rip), %rsi     # 0x36590
movq %rbx, %rdi
xorl %edx, %edx
callq 0x10240
movq %rbx, %rdi
xorl %esi, %esi
movl $0x2, %edx
callq 0x101e0
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xf280
movl %eax, %ebp
leaq 0x263a2(%rip), %r14     # 0x45120
movq (%r13,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movslq 0x8(%r13,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r13
cmpq $0x20, %r13
jne 0x1ed7e
xorl %r15d, %r15d
movslq 0x8(%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r15
cmpq $0x20, %r15
jne 0x1edaf
leaq 0x1735e(%rip), %rdx     # 0x36141
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0xf530
movq %rbx, %rdi
xorl %esi, %esi
movl $0xd, %edx
callq 0x101e0
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xf280
movl %eax, %ebp
movl $0x8, %r15d
leaq 0x26325(%rip), %r14     # 0x45140
movq -0x8(%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movslq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r15
cmpq $0xd8, %r15
jne 0x1ee1b
movl $0x8, %r15d
movslq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq -0x8(%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r15
cmpq $0xd8, %r15
jne 0x1ee51
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x101e0
leaq 0xf2(%rip), %rsi        # 0x1ef89
movq %rbx, %rdi
xorl %edx, %edx
callq 0x109f0
leaq 0x16295(%rip), %rdx     # 0x3513d
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0xf530
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x10910
leaq 0x19f45(%rip), %rdx     # 0x38e0e
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0xf530
movq %rbx, %rdi
xorl %esi, %esi
movl $0x3, %edx
callq 0x101e0
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xf280
movl %eax, %ebp
movl $0x8, %r15d
leaq 0x2630f(%rip), %r14     # 0x45210
movq -0x8(%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movslq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r15
cmpq $0x38, %r15
jne 0x1ef01
movl $0x8, %r15d
movslq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xf910
movq -0x8(%r15,%r14), %rsi
movq %rbx, %rdi
callq 0xfbd0
movq %rbx, %rdi
movl %ebp, %esi
callq 0xfa10
addq $0x10, %r15
cmpq $0x38, %r15
jne 0x1ef34
leaq 0x171df(%rip), %rdx     # 0x36147
movq %rbx, %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0xf530
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq