Kody błędu zwracane przez wołania systemowe w programie.

0

Witam, czytam książkę ProgrammingGroundUp, jest dokładnie w tym rozdziale:

http://programminggroundup.blogspot.de/2007/01/chapter-6-reading-and-writing-simple.html

Na dole strony jest takie miejsce "Going further" tam są zadania do wykonania, mam problem z trzecim od góry, nie wiem zabardzo jak je wykonać, nawet nie mam specjalnego pomysłu jak zacząć, sprawdzałem kody błędów tutaj:

http://www.virtsync.com/c-error-codes-include-errno

Próbowałem porównywać rejestr eax do tych numerów po wywołaniu systemowym np do otworzenia pliku ale jakoś się to nie sprawdza, zresztą wydaje mi się, że nie rozumiem też dobrze treści pytania.
Mógłby ktoś mi z tym pomóc ?

0

Na przykład przeczytałem, że numer 61 to brak danych do czytania, więc w moim pliku "read_record.s" dodałem:

	pushl %ebx
	movl $SYS_READ, %eax
	movl ST_FILEDES(%ebp), %ebx
	movl ST_WRITE_BUFFER(%ebp), %ecx
	movl $RECORD_SIZE, %edx
	int $LINUX_SYSCALL

	cmpl $61, %eax
	je err

i czytam pusty plik, czyli eax powinno zwrócić 61 i skoczyc do err ? Może to złe kody błędów które znalazłem, nie wiem...

0

@Edit
i tam ST_WRITE_BUFFER moze byc mylace ale to chodzi o czytanie nie o pisanie, po prostu literowka ;p

1 użytkowników online, w tym zalogowanych: 0, gości: 1