-
Notifications
You must be signed in to change notification settings - Fork 19
Sisteme de Operare (pe scurt)
aliasbind edited this page May 18, 2011
·
15 revisions
int open(const char *pathname, int flags);
- Deschide fișierul aflat la calea
pathname
cu opțiunile date înflags
. -
Returnează un descriptor la fișierul respectiv sau
-1
în caz de eroare.
int open(const char *pathname, int flags, mode_t mode);
- La fel ca mai sus, numai că mai ai un parametru suplimentar pentru specificat drepturile fișierului în cazul în care acesta este creat. (ai folosit
O_CREAT
în lista deflags
).
ssize_t read(int fd, void *buf, size_t count);
- Citește din fișierul având descriptorul
fd
un număr decount
bytes și îi pune în locul din memorie rezervat la adresabuf
. (ssize_t
e echivalent cuint
) -
Returnează numărul de bytes citiți sau
-1
în caz de eroare.
ssize_t write(int fd, const void *buf, size_t count);
- Scrie în fișierul având descriptorul
fd
un număr decount
bytes care încep la adresa specificată debuf
. -
Returnează numărul de bytes scriși sau
-1
în caz de eroare.
int close(int fd);
- Închide fișierul având descriptorul
fd
. -
Returnează
0
dacă apelul se termină cu succes,-1
altfel. (NOTĂ: Nu e cazul să verifici dacă apelul a eșuat sau nu).
DIR *opendir(const char *name);
- Deschide directorul dat la calea
name
. -
Returnează un fel de structură ajutătoare ce va fi folosită ulterior la alte funcții cu directoare. (spre exemplu în
readdir()
mai jos). În caz de eroare, returneazăNULL
.
struct dirent *readdir(DIR *dirp);
- Citește conținutul directorului deschis mai înainte.
-
Returnează o structură ce conține date despre un fișier din acest director. La următoare apelare a lui
readdir()
se va obține o altă structură a altui fișier din director, și tot așa până cand nu mai sunt fișiere, caz în care se returneazăNULL
. - Structura
dirent
este definită astfel:
struct dirent
{
ino_t d_ino; // Numărul i-nodului.
char d_name[256]; // Numele fișierului.
... // Alte date neimportante.
};