fstat1

Lemur zaprasza

Do spisu tresci tematu 6
3.2.3 Funkcja systemowa fstat()

Spis tresci


Wprowadzenie
Struktury danych
Algorytm funkcji.
Bibliografia.


Wprowadzenie
Funkcja fstat()
sluzy do pobierania statusu pliku przechowywanego w jego
i-wezle.Przekazuje takie informacje jak typ pliku,wlasciciel
pliku,prawa dostepu,rozmiar pliku,liczba dowiazan,numer i-wezla i czas
dostepu do pliku.Dzialanie tej funkcji sprowadza sie jedynie do
przepisania zawartosci i-wezla do bufora.

Spis tresci.

Struktury danych
Struktura
old_stat

Oto dokladna definicja podstawowej struktury wykorzystywanej przez opisywana
funkcje.Sluzy do przechowywania informacji o pliku zaczerpnietych z i-wezla.
Jest zdefiniowana w pliku include/linux/stat.h.

struct old_stat {
unsigned short st_dev; /*numer urzadzenia zawierajacy dany i-wezel*/
unsigned short st_ino; /*numer i-wezla*/
unsigned short st_mode; /*16-bitowy tryb pliku*/
unsigned short st_nlink;/*licznik dowiazan*/
unsigned short st_uid; /*identyfikator wlasciciela pliku*/
unsigned short st_gid; /*identyfikator grupy*/
unsigned short st_rdev; /*numer urzadzenia zwiazany z plikiem specjalnym*/
unsigned long st_size; /*aktualn wielkosc pliku*/
unsigned long st_atime;/*czas dostepu do pliku*/
unsigned long st_mtime;/*czas modyfikacji pliku*/
unsigned long st_ctime;/*czas zmiany stanu pliku*/
}


Spis tresci.


Algorytm funkcji

DEFINICJA: int stat(int fd,struct old_stat *statbuf)
WYNIK: 0 w przypadku sukcesu oraz na zmiennej stat_buf zapisuje status pliku
-1 w przypadku bledu oraz na zmiennej errno:
EFAULT (bledny adres)
EBADF (bledny numer pliku)


Pierwszym argumentem funkcji jest deskryptor pliku.Drugi
argument to bufor na,ktorym znajda sie dane o pliku w przypadku
poprawnego wykonania sie funkcji.

Implementacja funkcji:
{
sprawdz mozliwosc zaalokowania pamieci na bufor ;

sprawdz legalnosc deskryptora;

skopiuj zawrtosc i-wezla do bufora (odpowiedzialna za to jest funkcja cp_old_stat);

zwroc i-wezel;
}



Spis tresci.


Bibliografia


Pliki zrodlowe Linuxa:

include/linux/stat.h (definicje struktor),
fs/stat.c (implementacja).

Maurice J. Bach : Budowa systemu operacyjnego UNIX - rozdial 5.11
MARC J. Rochkind: Programowanie w systemie UNIX dla zaawansowanych


Spis tresci.



Autor: Piotr Dada
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza