Do tematu: Struktury danych
file
Typ | Nazwa | Opis |
struct file | *f_prev, *f_next | dowiązania do poprzedniego i następnego elementu na liście |
struct inode | *f_inode | dowiązanie do struktury opisującej i-węzeł w pamięci |
struct file_operations | *f_op | dowiązanie do struktury zawierającej wskaźniki funkcji implementujących operacje na tym pliku (zależą od rodzaju pliku) |
loff_t | f_pos | bieżący bajt pliku - od niego rozpocznie się kolejne pisanie, czytanie, itp. |
mode_t | f_mode | prawa nadane procesowi, który otworzył plik (FMODE_READ, FMODE_WRITE) |
unsigned short | f_flags | flagi określające sposób otwarcia pliku (()_CREATE, O_READ, ...) |
unsigned short | f_count | ilość dowiązań prowadzących do tego elementu na liście z tablic deskryptorów użytkowników |
int | f_owner | numer procesu, lub grupy procesów, do których powinien zostać wysłany sygnał SIGIO |
void | *private_data | umożliwia zapamiętanie dodatkowej informacji, wykorzystywana przez niektóre moduły (np tty) |
unsigned long | f_ra.. | rawin, ramax, raend, ralen, reada - informacje pamiętane przy realizowaniu czytania bloków z wyprzedzaniem (algorytm breada), jak rozmiar danych wczytanych w trakcie ostatnio wykonywanego czytania z wyprzedzeniem, czy aktualny maksymalny rozmiar danych, ktore mozna czytać z wyprzedzeniem |
unsigned long | f_version | licznik zdarzeń ustawiany na zmienną event zwiększaną o jeden przy uaktualnieniu struktury file; analogicznie jak pole i_version w strukturze inode |
Nazwa | Opis |
FMODE_WRITE | proces ma prawo pisania do pliku |
FMODE_READ | proces ma tylko prawo czytania z pliku |
O_CREAT | jesli plik nie istnieje bedzie stworzony |
O_EXCL | uzywany z flaga O_CREAT, jesli plik juz istnieje zwroc blad |
O_RDONLY | otwieranie pliku tylko do czytania |
O_WRONLY | otiweranie pliku tylko do pisania |
O_RDWR | otwieranie pliku do czytania/pisania |
O_NOCTTY | jesli pathname odnosi sie do terminala, to nie stanie sie on terminalem sterujacym, nawet jesli takowego proces nie posiada |
O_APPEND | przesuwa wskaznik biezacej pozycji pliku na koniec pliku |
O_TRUNC | przesuwa wskaznik koncai pliku na biezaca pozycje pliku |
O_NONBLOCK / O_NDELAY | open oraz kazda inna nastepna operacja na zwroconym deskryptorze bedzie konczyla sie bledem w przypadku koniecznosci czekania na jakies zdarzenie np. zdjecie blokady z pliku |
O_SYNC | dowolne operacje pisania na deskryptorze beda blokowaly proces az do momentu wykonania fizycznego zapisu na urzadzeniu docelowym |
Skład:
Robert Dąbrowski