open(), creat() - apre e possibilmente crea un file o device
#include #include #include int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int creat(const char *pathname, mode_t mode);
La funzione open() apre il pathname predisponendolo per le operazioni di I/O come indicato dai flags.L'argomento flags deve essere uno dei valori:
O_RDONLY Apre un file per la lettura.
La posizione e' all'inizio del file.O_WRONLY Apre un file per la scrittura. La posizione e' all'inizio del file. O_RDWR Apre un file la lettura e scrittura.
La posizione e' all'inizio del file.Inoltre flags puo' essere in or bit a bit con nessuno, uno o piu' dei seguenti valori:
O_CREAT Se pathname non esiste viene creato.
In mancanza di questo flag, viene tornato un errore.O_EXCL Quando usato con O_CREAT, se il file e' esistente viene tornato un errore a la open fallisce. O_TRUNC Un file esistente verra' troncato. O_APPEND Apre il pathname in append. Le successive operazioni di scrittura verranno accodate alle informazioni gia' presenti nel pathname. O_NOFOLLOW Se il pathname e' un link simbolico, allora la open fallisce. O_DIRECTORY Se il pathname non e' una directory, allora la open fallisce. O_NONBLOCK
O_NDELAYIl pathname e' aperto in modalita' "non-blocking".
Ne' la open() e ne le successive operazioni di I/O sul file descriptor tornato, non causano il processo ad attese.O_SYNC Il pathname e' aparto per I/O sincrono.
Le scritture sul file, causano l'attesa del processo fino al completamento delle operazioni fisiche sull'hardware sottostante.mode e' utilizzato in caso di creazione del file, per impostare i diritti di accesso al pathname in riferimento al filesystem Unix. L'argomento mode viene poi combinato con 'umask' del processo secondo l'algoritmo (mode & ~umask). Sono disponibili delle #define da utilizzare in combinazione or fra loro, in alternativa ad un valore intero.
La funzione creat() e' equivalente a:
open(pathname, O_WRONLY|O_CREAT|O_TRUNC, mode);
Le funzioni open() e creat() in caso di successo ritornano il file descriptor (rappresentato dal piu' piccolo intero non ancora utilizzato) o -1 in caso di fallimento.
SVr4, SVID, POSIX, X/OPEN, BSD 4.3
lseek() read() write() close() link() symlink() unlink() stat(), lstat(), fstat() fcntl() ioctl() dup(), dup2() access() fopen()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |