pread(2) System Calls Manual pread(2) NUME pread, pwrite - citete dintr-un descriptor de fiier sau scrie intr-un descriptor de fiier la o anumita poziie BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include ssize_t pread(int fd, void buf[.count], size_t count, off_t offset); ssize_t pwrite(int fd, const void buf[.count], size_t count, off_t offset); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): pread(), pwrite(): _XOPEN_SOURCE >= 500 || /* Incepand cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L DESCRIERE pread() citete pana la count octei din descriptorul de fiier fd la poziia offset (de la inceputul fiierului) in memoria tampon care incepe la buf. Poziia din fiier a indicatorului de citire nu se modifica. pwrite() scrie pana la count octei din memoria tampon care incepe la buf in descriptorul de fiier fd la poziia offset. Poziia din fiier a indicatorului de scriere nu se modifica. Fiierul la care face referire fd trebuie sa permita cautarea. VALOAREA RETURNATA In caz de succes, pread() returneaza numarul de octei citii (o valoare zero indica sfaritul fiierului), iar pwrite() returneaza numarul de octei scrii. Reinei ca nu este o eroare ca un apel reuit sa transfere mai puini octei decat cei solicitai (a se vedea read(2) i write(2)). In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE pread() poate eua i poate configura errno la orice eroare specificata pentru read(2) sau lseek(2). pwrite() poate eua i poate configura errno la orice eroare specificata pentru write(2) sau lseek(2). STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. Adaugat in Linux 2.1.60; intrarile din tabelul de apeluri de sistem i386 au fost adaugate in Linux 2.1.69. Suportul pentru biblioteca C (inclusiv emulaia folosind lseek(2) pe nuclee mai vechi fara apelurile de sistem) a fost adaugat in glibc 2.1. Diferene intre biblioteca C i nucleu In Linux, apelurile de sistem subiacente au fost redenumite in Linux 2.6: pread() a devenit pread64(), iar pwrite() a devenit pwrite64(). Numerele apelurilor de sistem au ramas aceleai. Funciile de invaluire glibc pread() i pwrite() trateaza in mod transparent aceasta schimbare. Pe unele arhitecturi pe 32 de bii, semnatura de apelare pentru aceste apeluri de sistem difera, din motivele descrise in syscall(2). NOTE Apelurile de sistem pread() i pwrite() sunt deosebit de utile in aplicaiile cu multiple fire de execuie. Ele permit mai multor fire de execuie sa efectueze operaii de In/Ie pe acelai descriptor de fiier fara a fi afectate de modificarile aduse la poziia din fiier de catre alte fire de execuie. ERORI POSIX prevede ca deschiderea unui fiier cu fanionul O_APPEND nu trebuie sa aiba niciun efect asupra locaiei in care pwrite() scrie datele. Cu toate acestea, in Linux, daca un fiier este deschis cu O_APPEND, pwrite() adauga datele la sfaritul fiierului, indiferent de valoarea lui offset. CONSULTAI I lseek(2), read(2), readv(2), write(2) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 pread(2)