Ejemplo n.º 1
0
void	save_scale(scale *s) {
	FILE	*fd = fopen(s->o_file, "w+");

	tab = 0;
	if (!fd) {
		ERROR("Cannot open %s for writing\n", s->o_file);
	}
	fprintf(fd, "#############################################\n# This scale has been generated by 42_scale #\n#############################################\n");
	write_s(fd, "name", s->name.buf, 0);
	if (s->lang.val == LANG_EN) {
		write_s(fd, "lg", "en", 0);
	} else if (s->lang.val == LANG_FR) {
		write_s(fd, "lg", "fr", 0);
	} else if (s->lang.val == LANG_RU) {
		write_s(fd, "lg", "ru", 0);
	}
	fprintf(fd, "is_primary: true\n\n");
	write_s(fd, "comment", s->comment.buf, 0);
	write_s(fd, "introduction_md", s->intro.buf, 1);
	write_s(fd, "disclaimer_md", s->disclaimer.buf, 1);
	write_s(fd, "guidelines_md", s->guidelines.buf, 1);
	write_i(fd, "correction_number", s->correction_n.val);
	write_i(fd, "duration", s->duration.val);
	fprintf(fd, "\n# **************************************************************************** #\n\n");
	fprintf(fd, "sections:\n");
	print_sections(s, fd);
	fclose(fd);
}
Ejemplo n.º 2
0
void	print_sections(scale *s, FILE *fd) {
	int		position = 1, pos2;
	scale_sections		*it;
	scale_questions		*qt;
	scale_skills		*sk;
	const char			*skills[] = {"Adaptation & creativity", "Algorithms & AI", "Company experience", "DB & Data",
		"Functionnal programming", "Graphics", "Group & interpersonal", "Imperative programming",
		"Network & system administration", "Object-oriented programming",
		"Organization", "Parallel computing", "Rigor", "Security", "Technology integration", "Unix", "Web"};


	for (it = s->sections; it; it = it->next) {
		fprintf(fd, "# BEGINNING OF SECTION %s #\n", it->name.buf);
		tab = 0;
		write_s(fd, "- name", it->name.buf, 0);
		tab = 2;
		write_i(fd, "position", position++);
		write_s(fd, "description", it->description.buf, 1);
		for (int i = 0; i < tab; fprintf(fd, " "), i++);
		fprintf(fd, "questions:\n");
		pos2 = 1;
		for (qt = it->questions; qt; qt = qt->next) {
			fprintf(fd, "  # Question %s #\n", qt->name.buf);
			tab = 2;
			write_s(fd, "- name", qt->name.buf, 0);
			tab = 4;
			write_i(fd, "position", pos2++);
			qt->guidelines.buf[qt->guidelines.len] = 0;
			write_s(fd, "guidelines", qt->guidelines.buf, 1);
			if (qt->rating.val == R_BOOL) {
				write_s(fd, "rating", "bool", 0);
			} else if (qt->rating.val == R_MULTI) {
				write_s(fd, "rating", "multi", 0);
			}
			if (qt->kind.val == R_STAND) {
				write_s(fd, "kind", "standard", 0);
			} else if (qt->kind.val == R_BONUS) {
				write_s(fd, "kind", "bonus", 0);
			}
			for (int i = 0; i < tab; fprintf(fd, " "), i++);
			fprintf(fd, "questions_skills:\n");
			for (sk = qt->skills; sk; sk = sk->next) {
				write_i(fd, "- percentage", sk->percent.val);
				tab = 6;
				write_s(fd, "name", (char *)skills[sk->name.val], 0);
				tab = 4;
			}
		}
		fprintf(fd, "\n# END OF SECTION #\n\n");
	}
}
Ejemplo n.º 3
0
// Set page address 0~15
void Set_Page_Address(unsigned char add)
{
	add+=32;

	add=0xb0|add;
	write_i(add);
}
Ejemplo n.º 4
0
void Set_Column_Address(unsigned char add)
{
	add+=32;

	write_i((0x10|(add>>4)));
	write_i((0x0f&add));


}
Ejemplo n.º 5
0
static void dump_page(pid_t pid, void *start) {
  debug_print("Dump page %p\n", start);

  char current_path[MAX_PATH];
  snprintf(current_path, sizeof(current_path), "%s/%012lx.memdump", dump_path,
           (register_t)start);

  ptrace_putdata(pid, (long)tracer_buff->str_tmp, current_path, MAX_PATH);
  if (access(current_path, F_OK) != -1)
    return;

  int out = openat_i(pid, tracer_buff->str_tmp);
  write_i(pid, out, start, PAGESIZE);
  close_i(pid, out);
}
Ejemplo n.º 6
0
void OLED_Init()
{
	OLED_RESET_SetVal(0);
	Delay(10000);
	OLED_RESET_ClrVal(0);
	Delay(10000);
	OLED_RESET_SetVal(0);
	Delay(10000);
	write_i(0xAE);
	write_i(0x00);
	write_i(0x12);
	write_i(0x00);
	write_i(0xB0);
	write_i(0x81);
	write_i(0x4f);
	write_i(0xa1);

	write_i(0xa6);
	write_i(0xa8);
	write_i(0x1f);
	write_i(0xc8);
	write_i(0xd3);
	write_i(0x00);
	write_i(0xd5);
	write_i(0x80);
	write_i(0xd9);
	write_i(0x1f);
	write_i(0xda);
	write_i(0x12);
	write_i(0xdb);
	write_i(0x40);

	write_i(0x8d);
	write_i(0x14); // 0x10 = on,

	write_i(0xaf);



	Delay(10000);


}