Mode_t pour fifo en c

Résolu/Fermé
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 - 13 août 2008 à 09:58
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 13 août 2008 à 10:18
Bonjour,

je veux créer une Fifo en c.
Donc je voulais savoir que mettre dans le champ mode_t de la fonction mkfifo....

Le man ne precisant pas quelle sont les valeur possible...........

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 août 2008 à 10:07
Salut,

Soit tu mets la permission sous forme de code octal (qui commence donc par un zero) correspondant aux permissions utilisées avec chmod.
Rappel: execution 1, écriture: 2, lecture: 4
Tu additionnes pour cumuler ces permissions. Trois permissions à définir: le propriétaire du fichier (1er nombre), le groupe du propriétaire (2 ème nombre), les autres (troisième).

Exemple toutes les permissions pour toi, écriture pour le groupe, rien pour les autres:
0720

Tu peux aussi utiliser les permissions définies dans sys/stat.h
Regarde dans ce fichier les constantes définies après "File mode bits:"
https://pubs.opengroup.org/onlinepubs/007908775/xsh/sysstat.h.html
Tu peux les cumuler avec des |

Dans notre exemple du dessus ça donne
S_IRWXU | S_IWGRP
3
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 2
13 août 2008 à 10:14
haaaaaaaa!!!!

okay

je te remercie, je n'avais pas bien compris le delire.... <:-)--(
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 août 2008 à 10:18
Le problème avec les pages de man c'est qu'elles partent du principe qu'on est tous des bêtes en programmation système. Comme le type mode_t est utilisé un peu partout en système UNIX, ils partent du principe qu'on connait déjà.... C'est une vraie jungle ;-)
0