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