Open (sistema-deia)
Fitxategia programaren esku jartzeko erabiltzen da sistema-dei hau. Unix eta antzeko sistematan zenbaki bat itzultzen du bestelako sistema-deietan erabilia ahal izateko. Irekitzean fitxategiarekin lotutako baliabideak eskuratzen dira sistema eragiletik (fitxategiaren deskribatzailea esaterako). Programen hasieran erabili ohi da behin fitxategi bakoitzeko.
int open(const char *pathname, int flags);
int open(const char *pathname,int flags, mode_t mode);
Fitxategi baten izena emanik fitxategi deskribatzaile bat itzultzen du, zenbaki positibo txiki bat. Hau beste sistema-deietan (read(), write(), lseek() etab.) erabiltzen da fitxategia atzitzeko.
Parametroak:
- pathname: fitxategiaren izena
- flags: fitxategia nola erabiliko den adierazten dute.
- mode: fitxategiaren gaineko baimenak.
Emaitza:
- Erabili gabe dagoen lehen fitxategi deskribatzailea den zenbaki oso bat. Lehenengo irekiera baldin bada orokorrean 3 izango da; 0, 1 eta 2 erreserbatuta baitaude- sarrera estandarra, irteera estandarra eta errore estandarra.
- -1 errore bat egon bada.
Flagek sarbide modu bat adierazi behar dute: O_RDONLY, O_WRONLY, edo O_RDWR. Soilik irakurri, soilik idatzi edo irakurri/idatzi, hurrenez hurren. Beste hainbat flag daude bestelako ezaugarriak adierazten dituztenak. Aipagarriena, O_CREAT, hau erabiliz fitxategia ez bada existitzen sortu egiten du, beraz sistema-dei hau fitxategia irekitzeko nahiz sortzeko erabiltzen da. Fitxategi bat sortzeko kodearen adibidea:
int fd = open("foo", O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR|S_IWUSR);
- O_TRUNC: jada dagoen edukia ezabatu.
- S_IRUSR: erabiltzaileak irakurri dezake.
- S_IWUSR: erabiltzaileak idatzi dezake.