// File: /workspace/github_c_makefile_star2_O0/carlitosmarin[P]Sistema-Ficheros-SOII/mi_stat.c
// Function: main
int main (int argc, char **argv) {
	if (argc != 3) {
		printf("Número de parametros incorrectos\n");
		return -1;
	}
	//Montamos el disco
	bmount(argv[1]);

	struct STAT stat;
	struct tm *tm;

	if(mi_stat (argv[2],&stat) == 0) {
		printf("------- Informacion de la entrada %s -------\n", argv[2]);
		printf("Tipo: %c. \n", stat.tipo);
		printf("Permisos: %d. \n", stat.permisos);
		printf("Numero de links: %d. \n", stat.cantLinks);
		printf("Tamaño en Bytes Logicos: %d. \n", stat.tamBytesLogicos);
		printf("Bloques Ocupados: %d. \n", stat.cantBloquesOcupados);

		//Fechas (atime,mtime,ctime)
		tm = localtime(&stat.atime); //Ultimo acceso a datos
		printf("Ultimo acceso a los datos: %d-%02d-%02d %02d:%02d:%02d\t \n", tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);

		tm = localtime(&stat.mtime); //Ultimo modificacion de los datos
		printf("Ultima modificacion de los datos: %d-%02d-%02d %02d:%02d:%02d\t \n", tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);

		tm = localtime(&stat.ctime); //Ultimo modificacion del inodo
		printf("Ultima modificacion del inodo: %d-%02d-%02d %02d:%02d:%02d\t \n", tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
	} else printf("Error: No se ha podido llevar a cabo mi_stat");

	bumount();
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x3, -0x8(%rbp)
je 0x5e86
leaq 0x16e6(%rip), %rdi      # 0x7559
movb $0x0, %al
callq 0x1090
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x603a
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1280
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x40(%rbp), %rsi
callq 0x58f0
cmpl $0x0, %eax
jne 0x601e
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x16c0(%rip), %rdi      # 0x757c
movb $0x0, %al
callq 0x1090
movzbl -0x40(%rbp), %esi
leaq 0x16dc(%rip), %rdi      # 0x75aa
movb $0x0, %al
callq 0x1090
movzbl -0x3f(%rbp), %esi
leaq 0x16d6(%rip), %rdi      # 0x75b6
movb $0x0, %al
callq 0x1090
movl -0x20(%rbp), %esi
leaq 0x16d5(%rip), %rdi      # 0x75c6
movb $0x0, %al
callq 0x1090
movl -0x1c(%rbp), %esi
leaq 0x16db(%rip), %rdi      # 0x75dd
movb $0x0, %al
callq 0x1090
movl -0x18(%rbp), %esi
leaq 0x16ea(%rip), %rdi      # 0x75fd
movb $0x0, %al
callq 0x1090
leaq -0x40(%rbp), %rdi
addq $0x8, %rdi
callq 0x1030
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movl 0x14(%rax), %esi
addl $0x76c, %esi            # imm = 0x76C
movq -0x48(%rbp), %rax
movl 0x10(%rax), %edx
addl $0x1, %edx
movq -0x48(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x48(%rbp), %rax
movl 0x8(%rax), %r8d
movq -0x48(%rbp), %rax
movl 0x4(%rax), %r9d
movq -0x48(%rbp), %rax
movl (%rax), %eax
leaq 0x16af(%rip), %rdi      # 0x7615
movl %eax, (%rsp)
movb $0x0, %al
callq 0x1090
leaq -0x40(%rbp), %rdi
addq $0x10, %rdi
callq 0x1030
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movl 0x14(%rax), %esi
addl $0x76c, %esi            # imm = 0x76C
movq -0x48(%rbp), %rax
movl 0x10(%rax), %edx
addl $0x1, %edx
movq -0x48(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x48(%rbp), %rax
movl 0x8(%rax), %r8d
movq -0x48(%rbp), %rax
movl 0x4(%rax), %r9d
movq -0x48(%rbp), %rax
movl (%rax), %eax
leaq 0x1693(%rip), %rdi      # 0x764f
movl %eax, (%rsp)
movb $0x0, %al
callq 0x1090
leaq -0x40(%rbp), %rdi
addq $0x18, %rdi
callq 0x1030
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movl 0x14(%rax), %esi
addl $0x76c, %esi            # imm = 0x76C
movq -0x48(%rbp), %rax
movl 0x10(%rax), %edx
addl $0x1, %edx
movq -0x48(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x48(%rbp), %rax
movl 0x8(%rax), %r8d
movq -0x48(%rbp), %rax
movl 0x4(%rax), %r9d
movq -0x48(%rbp), %rax
movl (%rax), %eax
leaq 0x167e(%rip), %rdi      # 0x7690
movl %eax, (%rsp)
movb $0x0, %al
callq 0x1090
jmp 0x602c
leaq 0x16a9(%rip), %rdi      # 0x76ce
movb $0x0, %al
callq 0x1090
movb $0x0, %al
callq 0x12e0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq