Specyfikacja wersji 4
Operacje procedury COMPOUND
,,Struktura'' operacji
COMPOUND jest następująca:

Zaś struktura odpowiedzi dla klienta:

Poniżej przedstowione zostały najciekawsze dostępne operacje wraz
z przypisanymi im numerami.
- Operacja 3: ACCESS -- odpowiada za kontrolę praw dostępu
użytkownika;
- Operacja 4: CLOSE -- zamknięcie pliku;
- Operacja 5: COMMIT -- zapisanie na trwałym nośniku danych, które
wcześniej były zapisywane z flagą UNSTABLE.
- Operacja 6: CREATE -- tworzy obiekt nieregularny (aby stworzyć
regularny plik należy użyć operacji OPEN.
- Operacja 9: GETATTR -- pobiera aktualne atrybuty pliku;
- Operacja 10: GETFH -- zwraca aktualny uchwyt pliku;
- Operacja 11: LINK -- tworzy dowiązanie do pliku znajdującego się
w danym katalogu; plik i katalog muszą znajdować się fizycznie w tym
samym systemie plików;
- Operacja 12: LOCK -- zakłada blokadę na fragment pliku; można
założyć blokadę na jeszcze nie przydzielone bajty;
- Operacja 13: LOCKT -- sprawdza czy została założona blokada
na przydzielony obszar;
- Operacja 14: LOCKU -- zdejmuje określoną blokadę;
- Operacja 15: LOOKUP -- wyszukuje danego obiektu w systemie plików
w katalogu przekazanym jako parametr;
- Operacja 18: OPEN -- otwarcie zwykłego pliku;
- Operacja 25: READ -- odczyt zwykłego pliku; jako parametr
przekazywany jest identyfikator pozwalający serwerowi sprawdzić
blokady założone na plik;
- Operacja 26: READDIR -- odczyt zawartości katalogu;
- Operacja 27: READLINK -- odczyt zawartości dowiązania
symbolicznego;
- Operacja 28: REMOVE -- usunięcie obiektu z systemu plików;
jeśli nie ma odwołań do pliku, to jest on fizycznie usuwany,
w przeciwnym przypadku serwer pozwala na dostęp do niego;
- Operacja 29: RENAME -- zmiana nazwy pliku lub katalogu;
- Operacja 38: WRITE -- zapis do pliku; można wybrać sposób zapisu
danych:
- FILE_SYNC -- zanim serwer zwróci wynik wszystkie dane
oraz metadane muszą zostać zapisane na trwałym nośniku,
- DATA_SYNC -- j.w. tylko, że dotyczy samych danych oraz
takiej ilości metadanych, aby możliwe było odczytanie danych
w wypadku awarii,
- UNSTABLE -- serwer może, ale nie musi zapisać danych
na trwały nośnik (można później wymusić zapis tych danych
za pomocą operacji COMMIT);
- Operacja 10044: ILLEGAL -- ta operacja jest niezbędna, gdy klient
w wywołaniu COMPOUND umieści operację, która nie jest wspierana
przez serwer; wtedy w jej miejsce w wyniku podstawiana jest właśnie
wartość oznaczająca operację ILLEGAL.