Ce programme est appelé pour chaque accès IFS.
Les paramètres sont le chemin du fichier et le mode d’ouverture. Le mode d’ouverture est un numérique combinaison des constantes suivantes (hexadécimales):
_EAC_IFSOPEN_READ=1 accès en lecture
_EAC_IFSOPEN_WRITE=2 accès en écriture
_EAC_IFSOPEN_CREAT=4 le fichier sera créé si inexistant
_EAC_IFSOPEN_EXCL=8 le fichier doit ne pas exister avant appel (création obligatoire)
_EAC_IFSOPEN_TRUNC=10 troncature du fichier
_EAC_IFSOPEN_APPEND=20 écriture en fin de fichier
_EAC_IFSOPEN_BINARY=40 mode binaire
_EAC_IFSOPEN_BIGFILE=80 gros fichier. Permet l’ouverture de fichiers > 2 Go
En mode création:
_EAC_IFSMODE_RUSR 400 utilisateur peut lire (u+r)
_EAC_IFSMODE_WUSR 800 utilisateur peut écrire (u+w)
_EAC_IFSMODE_XUSR 1000 utilisateur peut exécuter (u+x)
_EAC_IFSMODE_RGRP 2000 groupe peut lire (g+r)
_EAC_IFSMODE_WGRP 4000 groupe peut écrire (g+w)
_EAC_IFSMODE_XGRP 8000 groupe peut exécuter (g+x)
_EAC_IFSMODE_ROTH 10000 autres peut lire (o+r)
_EAC_IFSMODE_WOTH 20000 autres peut écrire (o+w)
_EAC_IFSMODE_XOTH 40000 autres peut exécuter (o+x)
Mode de partage:
_EAC_IFSSHARE_RDONLY 100 0000 partage en lecture seule
_EAC_IFSSHARE_WRONLY 200 0000 partage en écriture
_EAC_IFSSHARE_NONE 400 0000 aucun partage (exclusif)
_EAC_IFSSHARE_RDWR 300 0000 partage en lecture/écriture
Pour pouvoir tester le mode d’ouverture, il faut effectuer un ET binaire avec la valeur à tester et vérifier que le résultat est égal à cette valeur.
Le programme d’exit peut refuser l’accès au fichier.
Un source d’exemple est visible dans le fichier source EACSYSSRC de la bibliothèque Easycom.