// File: /workspace/github_c_makefile_star2_O2/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 %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
leaq 0xc236(%rip), %rsi      # 0x1bbe3
movq %r15, %rdi
callq 0xd200
pushq $0x1
popq %rbp
testl %eax, %eax
jne 0xf9d3
leaq 0xc225(%rip), %rsi      # 0x1bbe8
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfcc2
leaq 0xc219(%rip), %rsi      # 0x1bbf3
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfc1a
leaq 0xc234(%rip), %rsi      # 0x1bc25
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa14
leaq 0xc22b(%rip), %rsi      # 0x1bc2f
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfdb5
leaq 0xc223(%rip), %rsi      # 0x1bc3e
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa3e
leaq 0xc219(%rip), %rsi      # 0x1bc47
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff0d
leaq 0xc211(%rip), %rsi      # 0x1bc56
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfc74
leaq 0xc22d(%rip), %rsi      # 0x1bc89
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfced
leaq 0xc21c(%rip), %rsi      # 0x1bc8f
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfd67
leaq 0xc20b(%rip), %rsi      # 0x1bc95
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfdc7
leaq 0xc1fa(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfaf3
leaq 0xc1ee(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe60
leaq 0xc1ea(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe9b
leaq 0xc1e2(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff1e
leaq 0xc1da(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfb4c
leaq 0xc195(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfebd
leaq 0xc191(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff40
leaq 0xc189(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff87
leaq 0xc189(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfba5
leaq 0xc13c(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff65
leaq 0xc138(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xffac
leaq 0xc130(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfff9
leaq 0xc138(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfbfe
leaq 0xc0e3(%rip), %rsi      # 0x1bca3
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xffd1
leaq 0xc0df(%rip), %rsi      # 0x1bcb6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1001b
leaq 0xc0d7(%rip), %rsi      # 0x1bcc5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1003d
leaq 0xc0e7(%rip), %rdi      # 0x1bcec
xorl %r13d, %r13d
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0xd160
jmp 0xfef9
leaq 0xbfdb(%rip), %rsi      # 0x1bbfc
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfd3b
leaq 0xbfd8(%rip), %rsi      # 0x1bc10
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xf9ea
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0xfe88
cmpl $0x30, %eax
jne 0xfef9
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x0, 0x2(%r14)
jmp 0xff0d
leaq 0xbfe1(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfdbe
leaq 0xbfd6(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe31
leaq 0xbfd2(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa55
addq $0xa, %r14
jmp 0xfee6
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0xfe1e
cmpl $0x30, %eax
jne 0xfef9
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x0, (%r14)
jmp 0xff0d
leaq 0xbf68(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe15
leaq 0xbf5d(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe57
leaq 0xbf59(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa6c
addq $0x10, %r14
jmp 0xfee6
movzbl (%rbx), %eax
xorl %r13d, %r13d
cmpl $0x31, %eax
je 0xfe3a
cmpl $0x30, %eax
jne 0xfef9
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x0, 0x1(%r14)
jmp 0xff0d
leaq 0xbeee(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe4e
leaq 0xbee3(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe95
leaq 0xbedf(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa83
addq $0x16, %r14
jmp 0xfee6
addq $0x4, %r14
jmp 0xfee6
addq $0x6, %r14
jmp 0xfee6
leaq 0xbe8e(%rip), %rsi      # 0x1bc5c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe82
leaq 0xbe83(%rip), %rsi      # 0x1bc68
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfee2
leaq 0xbe7f(%rip), %rsi      # 0x1bc7b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfa9a
addq $0x1c, %r14
jmp 0xfee6
addq $0xc, %r14
jmp 0xfee6
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x1, (%r14)
jmp 0xff0d
addq $0x8, %r14
jmp 0xfee6
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x1, 0x1(%r14)
jmp 0xff0d
addq $0x12, %r14
jmp 0xfee6
addq $0xe, %r14
jmp 0xfee6
leaq 0xbe34(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x20, %rsi
jmp 0xfff1
addq $0x18, %r14
jmp 0xfee6
cmpb $0x0, 0x1(%rbx)
jne 0xfef9
movb $0x1, 0x2(%r14)
jmp 0xff0d
addq $0x14, %r14
jmp 0xfee6
leaq 0xbdf9(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x24, %rsi
jmp 0x1005d
leaq 0xbe10(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xe0, %rsi
jmp 0xfff1
addq $0x1a, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1006a
movl %eax, %r13d
cmpl $0x1, %eax
je 0xff0d
leaq 0xbe1b(%rip), %rdi      # 0x1bd1b
movq %rbx, %rsi
xorl %eax, %eax
callq 0xd160
movl %r13d, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xbd76(%rip), %rsi      # 0x1bc9b
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x28, %rsi
jmp 0x1005d
leaq 0xbd8d(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xe4, %rsi
jmp 0x1005d
leaq 0xbd70(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1a0, %rsi            # imm = 0x1A0
jmp 0xfff1
leaq 0xbd46(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0xe8, %rsi
jmp 0x1005d
leaq 0xbd29(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1a4, %rsi            # imm = 0x1A4
jmp 0x1005d
leaq 0xbd0c(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x260, %rsi            # imm = 0x260
movq %rbx, %rdi
jmp 0xfeec
leaq 0xbcdc(%rip), %rsi      # 0x1bcdc
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x1a8, %rsi            # imm = 0x1A8
jmp 0x1005d
leaq 0xbcc2(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x264, %rsi            # imm = 0x264
jmp 0x1005d
leaq 0xbca0(%rip), %rsi      # 0x1bce4
movq %r15, %rdi
callq 0x100b8
movl %eax, %eax
imulq $0xc, %rax, %rax
leaq (%r14,%rax), %rsi
addq $0x268, %rsi            # imm = 0x268
movq %rbx, %rdi
callq 0x10127
jmp 0xfef1