// File: /workspace/github_c_makefile_star2_O1/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 0xc0d9(%rip), %rsi      # 0x1bbd3
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfb1d
leaq 0xc0cb(%rip), %rsi      # 0x1bbd8
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfec7
leaq 0xc0bf(%rip), %rsi      # 0x1bbe3
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfd97
leaq 0xc0da(%rip), %rsi      # 0x1bc15
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfb5e
leaq 0xc0d1(%rip), %rsi      # 0x1bc1f
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfff3
leaq 0xc0c9(%rip), %rsi      # 0x1bc2e
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfb88
leaq 0xc0bf(%rip), %rsi      # 0x1bc37
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10126
leaq 0xc0b7(%rip), %rsi      # 0x1bc46
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe07
leaq 0xc0d3(%rip), %rsi      # 0x1bc79
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfe67
leaq 0xc0c2(%rip), %rsi      # 0x1bc7f
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xfefe
leaq 0xc0b1(%rip), %rsi      # 0x1bc85
movq %r15, %rdi
callq 0xd200
testl %eax, %eax
je 0xff93
leaq 0xc0a0(%rip), %rsi      # 0x1bc8b
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfc4a
movq %rax, %r13
leaq 0xc091(%rip), %rsi      # 0x1bc93
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1000e
testq %r13, %r13
je 0xfc4a
leaq 0xc088(%rip), %rsi      # 0x1bca6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x100a3
testq %r13, %r13
je 0xfc4a
leaq 0xc07b(%rip), %rsi      # 0x1bcb5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1018a
leaq 0xc073(%rip), %rsi      # 0x1bcc4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfcb0
movq %rax, %r13
leaq 0xc02b(%rip), %rsi      # 0x1bc93
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10055
testq %r13, %r13
je 0xfcb0
leaq 0xc022(%rip), %rsi      # 0x1bca6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x100f6
testq %r13, %r13
je 0xfcb0
leaq 0xc015(%rip), %rsi      # 0x1bcb5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x101ce
leaq 0xc015(%rip), %rsi      # 0x1bccc
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfd16
movq %rax, %r13
leaq 0xbfc5(%rip), %rsi      # 0x1bc93
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10081
testq %r13, %r13
je 0xfd16
leaq 0xbfbc(%rip), %rsi      # 0x1bca6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10165
testq %r13, %r13
je 0xfd16
leaq 0xbfaf(%rip), %rsi      # 0x1bcb5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x101f0
leaq 0xbfb7(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0xd430
testq %rax, %rax
je 0xfd7c
movq %rax, %r13
leaq 0xbf5f(%rip), %rsi      # 0x1bc93
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x100cb
testq %r13, %r13
je 0xfd7c
leaq 0xbf56(%rip), %rsi      # 0x1bca6
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x101ac
testq %r13, %r13
je 0xfd7c
leaq 0xbf49(%rip), %rsi      # 0x1bcb5
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10212
leaq 0xbf59(%rip), %rdi      # 0x1bcdc
xorl %ebp, %ebp
movq %r15, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0xd150
jmp 0x1013e
movl %eax, %ebp
leaq 0xbe4c(%rip), %rsi      # 0x1bbec
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xff5e
testl %ebp, %ebp
jne 0xfb34
leaq 0xbe41(%rip), %rsi      # 0x1bc00
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfb34
leaq 0xb233(%rip), %rsi      # 0x1b009
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
je 0x10121
leaq 0xb24a(%rip), %rsi      # 0x1b037
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
jne 0xff8c
movb $0x1, 0x2(%r14)
jmp 0x10126
movl %eax, %ebp
leaq 0xbe3c(%rip), %rsi      # 0x1bc4c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0xfffc
testl %ebp, %ebp
jne 0xfb9f
leaq 0xbe29(%rip), %rsi      # 0x1bc58
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x100c5
testl %ebp, %ebp
jne 0xfb9f
leaq 0xbe1d(%rip), %rsi      # 0x1bc6b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfb9f
addq $0xa, %r14
jmp 0x10131
movl %eax, %ebp
leaq 0xbddc(%rip), %rsi      # 0x1bc4c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10005
testl %ebp, %ebp
jne 0xfbb6
leaq 0xbdc9(%rip), %rsi      # 0x1bc58
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x100f0
testl %ebp, %ebp
jne 0xfbb6
leaq 0xbdbd(%rip), %rsi      # 0x1bc6b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfbb6
addq $0x10, %r14
jmp 0x10131
leaq 0xb13b(%rip), %rsi      # 0x1b009
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
je 0x10030
leaq 0xb152(%rip), %rsi      # 0x1b037
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
jne 0xff8c
movb $0x1, (%r14)
jmp 0x10126
movl %eax, %ebp
leaq 0xbd45(%rip), %rsi      # 0x1bc4c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x10039
testl %ebp, %ebp
jne 0xfbcd
leaq 0xbd32(%rip), %rsi      # 0x1bc58
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1011b
testl %ebp, %ebp
jne 0xfbcd
leaq 0xbd26(%rip), %rsi      # 0x1bc6b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfbcd
addq $0x16, %r14
jmp 0x10131
leaq 0xb0a4(%rip), %rsi      # 0x1b009
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
je 0x10042
leaq 0xb0bb(%rip), %rsi      # 0x1b037
movq %rbx, %rdi
callq 0xd200
testl %eax, %eax
je 0x10077
xorl %ebp, %ebp
jmp 0x1013e
movl %eax, %ebp
leaq 0xbcb0(%rip), %rsi      # 0x1bc4c
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1004c
testl %ebp, %ebp
jne 0xfbe4
leaq 0xbc9d(%rip), %rsi      # 0x1bc58
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
je 0x1012d
testl %ebp, %ebp
jne 0xfbe4
leaq 0xbc91(%rip), %rsi      # 0x1bc6b
movq %r12, %rdi
callq 0xd200
testl %eax, %eax
jne 0xfbe4
addq $0x1c, %r14
jmp 0x10131
addq $0x4, %r14
jmp 0x10131
addq $0x6, %r14
jmp 0x10131
addq $0xc, %r14
jmp 0x10131
leaq 0xbc76(%rip), %rsi      # 0x1bc8b
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x20, %rsi
jmp 0x100eb
movb $0x0, (%r14)
jmp 0x10126
addq $0x12, %r14
jmp 0x10131
movb $0x0, 0x1(%r14)
jmp 0x10126
addq $0x18, %r14
jmp 0x10131
leaq 0xbc68(%rip), %rsi      # 0x1bcc4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe0, %rsi
jmp 0x100eb
movb $0x1, 0x1(%r14)
jmp 0x10126
leaq 0xbc44(%rip), %rsi      # 0x1bccc
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a0, %rsi            # imm = 0x1A0
jmp 0x100eb
leaq 0xbbe1(%rip), %rsi      # 0x1bc8b
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x24, %rsi
jmp 0x10232
addq $0x8, %r14
jmp 0x10131
leaq 0xbc02(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x260, %rsi            # imm = 0x260
movq %rbx, %rdi
jmp 0x10137
addq $0xe, %r14
jmp 0x10131
leaq 0xbbc7(%rip), %rsi      # 0x1bcc4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe4, %rsi
jmp 0x10232
addq $0x14, %r14
jmp 0x10131
movb $0x0, 0x2(%r14)
movl $0x1, %ebp
jmp 0x1013e
addq $0x1a, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1023f
movl %eax, %ebp
cmpl $0x1, %ebp
je 0x10154
leaq 0xbbc1(%rip), %rdi      # 0x1bd0b
movq %rbx, %rsi
xorl %eax, %eax
callq 0xd150
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xbb60(%rip), %rsi      # 0x1bccc
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a4, %rsi            # imm = 0x1A4
jmp 0x10232
leaq 0xbafa(%rip), %rsi      # 0x1bc8b
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x28, %rsi
jmp 0x10232
leaq 0xbb21(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x264, %rsi            # imm = 0x264
jmp 0x10232
leaq 0xbaef(%rip), %rsi      # 0x1bcc4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0xe8, %rsi
jmp 0x10232
leaq 0xbad5(%rip), %rsi      # 0x1bccc
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1a8, %rsi            # imm = 0x1A8
jmp 0x10232
leaq 0xbabb(%rip), %rsi      # 0x1bcd4
movq %r15, %rdi
callq 0x10294
movl %eax, %eax
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rsi
addq $0x268, %rsi            # imm = 0x268
movq %rbx, %rdi
callq 0x102fd
jmp 0x1013c