// File: /workspace/github_c_makefile_star2_O3/intel[P]pf-bb-config/acc100/acc100_cfg_parser.c
// Function: acc100_handler
static int
acc100_handler(void *user, const char *section,
	    const char *name, const char *value)
{
	struct acc100_conf *acc100_conf = (struct acc100_conf *) user;
	int ret = 1, index;

	if (!strcmp(section, MODE) && !strcmp(name, PFMODE)) {
		if (!strcmp(value, ZERO))
			acc100_conf->pf_mode_en = false;
		else if (!strcmp(value, ONE))
			acc100_conf->pf_mode_en = true;
		else
			ret = 0;
	} else if (!strcmp(section, LLR_SIGN) &&
			!strcmp(name, INPUT_POS_LLR_1_BIT)) {
		if (!strcmp(value, ZERO))
			acc100_conf->input_pos_llr_1_bit = false;
		else if (!strcmp(value, ONE))
			acc100_conf->input_pos_llr_1_bit = true;
		else
			ret = 0;
	} else if (!strcmp(section, LLR_SIGN) &&
			!strcmp(name, OUTPUT_POS_LLR_1_BIT)) {
		if (!strcmp(value, ZERO))
			acc100_conf->output_pos_llr_1_bit = false;
		else if (!strcmp(value, ONE))
			acc100_conf->output_pos_llr_1_bit = true;
		else
			ret = 0;
	} else if (!strcmp(section, VFBUNDLES) &&
			!strcmp(name, NUMVF_BUNDLES)) {
		ret = parse_number16(value, &acc100_conf->num_vf_bundles);
	} else if (!strcmp(section, MAXQSIZE) &&
			!strcmp(name, MAX_QUEUE_SIZE)) {
		/* MAX_QUEUE_SIZE is not used. Keep it for parsing purposes */
	} else if (!strcmp(section, QUL4G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &acc100_conf->q_ul_4g.num_qgroups);
	} else if (!strcmp(section, QUL4G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&acc100_conf->q_ul_4g.num_aqs_per_groups);
	} else if (!strcmp(section, QUL4G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&acc100_conf->q_ul_4g.aq_depth_log2);
	} else if (!strcmp(section, QDL4G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &acc100_conf->q_dl_4g.num_qgroups);
	} else if (!strcmp(section, QDL4G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&acc100_conf->q_dl_4g.num_aqs_per_groups);
	} else if (!strcmp(section, QDL4G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&acc100_conf->q_dl_4g.aq_depth_log2);
	} else if (!strcmp(section, QUL5G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &acc100_conf->q_ul_5g.num_qgroups);
	} else if (!strcmp(section, QUL5G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&acc100_conf->q_ul_5g.num_aqs_per_groups);
	} else if (!strcmp(section, QUL5G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&acc100_conf->q_ul_5g.aq_depth_log2);
	} else if (!strcmp(section, QDL5G) && !strcmp(name, NUM_QGROUPS)) {
		ret = parse_number16(value, &acc100_conf->q_dl_5g.num_qgroups);
	} else if (!strcmp(section, QDL5G) &&
			!strcmp(name, NUM_AQS_PER_GROUPS)) {
		ret = parse_number16(value,
				&acc100_conf->q_dl_5g.num_aqs_per_groups);
	} else if (!strcmp(section, QDL5G) && !strcmp(name, AQ_DEPTH_LOG2)) {
		ret = parse_number16(value,
				&acc100_conf->q_dl_5g.aq_depth_log2);
	} else if (strstr(section, ARBUL4G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number16(value,
			&acc100_conf->arb_ul_4g[index].round_robin_weight);
	} else if (strstr(section, ARBUL4G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number32(value,
				&acc100_conf->arb_ul_4g[index].gbr_threshold1);
	} else if (strstr(section, ARBUL4G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBUL4G);
		ret = parse_number32(value,
				&acc100_conf->arb_ul_4g[index].gbr_threshold2);
	} else if (strstr(section, ARBDL4G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number16(value,
			&acc100_conf->arb_dl_4g[index].round_robin_weight);
	} else if (strstr(section, ARBDL4G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number32(value,
				&acc100_conf->arb_dl_4g[index].gbr_threshold1);
	} else if (strstr(section, ARBDL4G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBDL4G);
		ret = parse_number32(value,
				&acc100_conf->arb_dl_4g[index].gbr_threshold2);
	} else if (strstr(section, ARBUL5G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number16(value,
			&acc100_conf->arb_ul_5g[index].round_robin_weight);
	} else if (strstr(section, ARBUL5G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number32(value,
				&acc100_conf->arb_ul_5g[index].gbr_threshold1);
	} else if (strstr(section, ARBUL5G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBUL5G);
		ret = parse_number32(value,
				&acc100_conf->arb_ul_5g[index].gbr_threshold2);
	} else if (strstr(section, ARBDL5G) &&
			!strcmp(name, ROUND_ROBIN_WEIGHT)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number16(value,
			&acc100_conf->arb_dl_5g[index].round_robin_weight);
	} else if (strstr(section, ARBDL5G) && !strcmp(name, GBR_THRSH1)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number32(value,
				&acc100_conf->arb_dl_5g[index].gbr_threshold1);
	} else if (strstr(section, ARBDL5G) && !strcmp(name, GBR_THRSH2)) {
		index = parse_item_no(section, ARBDL5G);
		ret = parse_number32(value,
				&acc100_conf->arb_dl_5g[index].gbr_threshold2);
	} else {
		printf("ERROR: section (%s) or name (%s) is not valid\n",
			section, name);
		ret = 0;
	}

	if (ret != 1)
		printf("ERROR: Conversion of value (%s) failed\n", value);

	return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
leaq 0xc102(%rip), %rsi      # 0x1bbe3
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb04
leaq 0xc0f4(%rip), %rsi      # 0x1bbe8
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfdf1
leaq 0xc0e8(%rip), %rsi      # 0x1bbf3
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfd4a
leaq 0xc103(%rip), %rsi      # 0x1bc25
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb45
leaq 0xc0fa(%rip), %rsi      # 0x1bc2f
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfee2
leaq 0xc0f2(%rip), %rsi      # 0x1bc3e
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb6f
leaq 0xc0e8(%rip), %rsi      # 0x1bc47
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xffba
leaq 0xc0e0(%rip), %rsi      # 0x1bc56
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfda3
leaq 0xc0fc(%rip), %rsi      # 0x1bc89
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfe1b
leaq 0xc0eb(%rip), %rsi      # 0x1bc8f
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfe94
leaq 0xc0da(%rip), %rsi      # 0x1bc95
movq %r15, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfef4
leaq 0xc0c9(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0xd420
testq %rax, %rax
je 0xfc24
leaq 0xc0bd(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xff87
leaq 0xc0b9(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xffc7
leaq 0xc0b1(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x10045
leaq 0xc0a9(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0xd420
testq %rax, %rax
je 0xfc7d
leaq 0xc064(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xffe9
leaq 0xc060(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x10067
leaq 0xc058(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x100ae
leaq 0xc058(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0xd420
testq %rax, %rax
je 0xfcd6
leaq 0xc00b(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x1008c
leaq 0xc007(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x100d3
leaq 0xbfff(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x10120
leaq 0xc007(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0xd420
testq %rax, %rax
je 0xfd2f
leaq 0xbfb2(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x100f8
leaq 0xbfae(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x10142
leaq 0xbfa6(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x10164
leaq 0xbfb6(%rip), %rdi      # 0x1bcec
xorl %ebp, %ebp
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0xd150
jmp 0x10029
leaq 0xbeab(%rip), %rsi      # 0x1bbfc
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfe69
leaq 0xbea8(%rip), %rsi      # 0x1bc10
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb1b
movzbl (%rbx), %eax
xorl %ebp, %ebp
cmpl $0x31, %eax
je 0xffaf
cmpl $0x30, %eax
jne 0x10029
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x0, 0x2(%r14)
jmp 0xffba
leaq 0xbeb2(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xfeeb
leaq 0xbea7(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xff5b
leaq 0xbea3(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb86
addq $0xa, %r14
jmp 0x10012
movzbl (%rbx), %eax
xorl %ebp, %ebp
cmpl $0x31, %eax
je 0xff4b
cmpl $0x30, %eax
jne 0x10029
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x0, (%r14)
jmp 0xffba
leaq 0xbe3a(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xff42
leaq 0xbe2f(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xff7e
leaq 0xbe2b(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfb9d
addq $0x10, %r14
jmp 0x10012
movzbl (%rbx), %eax
xorl %ebp, %ebp
cmpl $0x31, %eax
je 0xff64
cmpl $0x30, %eax
jne 0x10029
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x0, 0x1(%r14)
jmp 0xffba
leaq 0xbdc1(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xff75
leaq 0xbdb6(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xffc1
leaq 0xbdb2(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfbb4
addq $0x16, %r14
jmp 0x10012
addq $0x4, %r14
jmp 0x10012
addq $0x6, %r14
jmp 0x10012
leaq 0xbd61(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0xffa9
leaq 0xbd56(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
je 0x1000e
leaq 0xbd52(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd1f0
testl %eax, %eax
jne 0xfbcb
addq $0x1c, %r14
jmp 0x10012
addq $0xc, %r14
jmp 0x10012
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x1, (%r14)
jmp 0xffba
addq $0x8, %r14
jmp 0x10012
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x1, 0x1(%r14)
jmp 0xffba
addq $0x12, %r14
jmp 0x10012
addq $0xe, %r14
jmp 0x10012
leaq 0xbd0d(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x20, %rsi
jmp 0x10118
addq $0x18, %r14
jmp 0x10012
cmpb $0x0, 0x1(%rbx)
jne 0x10029
movb $0x1, 0x2(%r14)
movl $0x1, %eax
jmp 0x1003c
addq $0x14, %r14
jmp 0x10012
leaq 0xbccd(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x24, %rsi
jmp 0x10184
leaq 0xbce4(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe0, %rsi
jmp 0x10118
addq $0x1a, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10191
movl %eax, %ebp
movl $0x1, %eax
cmpl $0x1, %ebp
je 0x1003c
leaq 0xbceb(%rip), %rdi      # 0x1bd1b
movq %rbx, %rsi
xorl %eax, %eax
callq 0xd150
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0xbc4f(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x28, %rsi
jmp 0x10184
leaq 0xbc66(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe4, %rsi
jmp 0x10184
leaq 0xbc49(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a0, %rsi            # imm = 0x1A0
jmp 0x10118
leaq 0xbc1f(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe8, %rsi
jmp 0x10184
leaq 0xbc02(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a4, %rsi            # imm = 0x1A4
jmp 0x10184
leaq 0xbbe5(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x260, %rsi            # imm = 0x260
movq %rbx, %rdi
jmp 0x10018
leaq 0xbbb5(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a8, %rsi            # imm = 0x1A8
jmp 0x10184
leaq 0xbb9b(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x264, %rsi            # imm = 0x264
jmp 0x10184
leaq 0xbb79(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x101e6
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x268, %rsi            # imm = 0x268
movq %rbx, %rdi
callq 0x10256
jmp 0x1001d