Sendfile
sendfile to wywołanie systemowe służące do kopiowania danych z jednego deskryptora pliku do innego. Z uwagi na to, ze operacja ta jest wykonywana w jądrze, jest bardziej wydajna niż kombinacja wywołań read() i write() gdyż nie wymaga przekazywania danych do przestrzeni użytkownika.
Wywołanie sendfile() jest dostępne Linuksie od wersji jądra 2.2, FreeBSD oraz innych systemach uniksowych, jednak z uwagi na różnice w prototypach i znaczeniu argumentów nie należy go stosować w programach, które mają być przenośne.
Prototyp w Linuksie[1]:
ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);
Przypisy
- ↑ sendfile - transfer data between file descriptors, Linux Programmer's Manual – System Calls