diff options
Diffstat (limited to 'po/fr/man7/fanotify.7.po')
-rw-r--r-- | po/fr/man7/fanotify.7.po | 1027 |
1 files changed, 636 insertions, 391 deletions
diff --git a/po/fr/man7/fanotify.7.po b/po/fr/man7/fanotify.7.po index 3cb9c24f..cd881d17 100644 --- a/po/fr/man7/fanotify.7.po +++ b/po/fr/man7/fanotify.7.po @@ -15,12 +15,12 @@ # Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, 2006. # Denis Barbier <barbier@debian.org>, 2006, 2010. # David Prévot <david@tilapin.org>, 2010, 2012-2014. -# Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>, 2021. +# Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>, 2021, 2024. msgid "" msgstr "" -"Project-Id-Version: perkamon\n" -"POT-Creation-Date: 2024-03-01 16:56+0100\n" -"PO-Revision-Date: 2021-10-21 15:09+0200\n" +"Project-Id-Version: manpages-l10n 4.22.0\n" +"POT-Creation-Date: 2024-06-01 05:49+0200\n" +"PO-Revision-Date: 2024-05-10 14:16+0200\n" "Last-Translator: Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" "Language: fr\n" @@ -33,22 +33,21 @@ msgstr "" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "B<notify>" +#, no-wrap msgid "fanotify" -msgstr "B<notify>" +msgstr "fanotify" #. type: TH -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux debian-unstable opensuse-tumbleweed #, no-wrap -msgid "2023-10-31" -msgstr "31 octobre 2023" +msgid "2024-05-02" +msgstr "2 mai 2024" #. type: TH -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux debian-unstable #, no-wrap -msgid "Linux man-pages 6.06" -msgstr "Pages du manuel de Linux 6.06" +msgid "Linux man-pages 6.8" +msgstr "Pages du manuel de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -61,7 +60,7 @@ msgstr "NOM" #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "fanotify - monitoring filesystem events" -msgstr "fanotify – Surveiller les événements des systèmes de fichiers" +msgstr "fanotify – Surveiller les événements des systèmes de fichiers" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -369,16 +368,38 @@ msgid "" "structure in order to determine the type of information record that had been " "received for a given event." msgstr "" +"Les enregistrements d’information sont des pièces d’information " +"supplémentaires qui peuvent être fournies en même temps que la structure " +"générique, I<fanotify_event_metadata>. Les I<flag> passés à " +"B<fanotify_init>(2) ont une influence sur le type d’enregistrement " +"d’information qui peut être renvoyé pour l’évènement. Par exemple, si un " +"groupe de notifications est initialisé avec B<FAN_REPORT_FID> ou " +"B<FAN_REPORT_DIR_FID>, les écouteurs d’évènement pourront s’attendre aussi à " +"recevoir une structure I<fanotify_event_info_fid> en même temps que la " +"structure I<fanotify_event_metadata> par laquelle les gestionnaires de " +"fichier sont utilisés pour identifier des objets de système de fichiers " +"plutôt que des descripteurs de fichier. Les enregistrements d’information " +"peuvent être aussi empilés, signifiant qu’utiliser les divers I<flag> " +"B<FAN_REPORT_*> en même temps que l’un ou l’autre est pris en charge. Dans " +"de tels cas, plusieurs enregistrements d’information peuvent être renvoyés " +"pour un évènement en même temps que la structure générique " +"I<fanotify_event_metadata>. Par exemple, si un groupe de notifications est " +"initialisé avec B<FAN_REPORT_TARGET_FID> et B<FAN_REPORT_PIDFD>, un écouteur " +"d’évènement peut s’attendre à recevoir jusqu’à deux enregistrements " +"d’information I<fanotify_event_info_fid> et un enregistrement d’information " +"I<fanotify_event_info_pidfd> en même temps que la structure générique " +"I<fanotify_event_metadata>. Notablement, fanotify ne fournit aucune garantie " +"sur l’ordre des enregistrements d’information quand un groupe de " +"notifications est initialisé avec une configuration basée sur l’empilage. " +"Chaque enregistrement d’information a une structure imbriquée de type " +"I<fanotify_event_info_header>. Il est impératif pour les écouteurs " +"d’évènement d’inspecter le champ I<info_type> de cette structure pour " +"déterminer le type d’enregistrement d’information qui a été reçu pour un " +"évènement donné." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "In case of an fanotify group that identifies filesystem objects by file " -#| "handles, you should also expect to receive one or more additional " -#| "information records of the structure detailed below following the generic " -#| "I<fanotify_event_metadata> structure within the read buffer:" msgid "" "In cases where an fanotify group identifies filesystem objects by file " "handles, event listeners should also expect to receive one or more of the " @@ -386,20 +407,15 @@ msgid "" "I<fanotify_event_metadata> structure within the read buffer:" msgstr "" "Dans le cas d’un groupe fanotify qui identifie des objets de système de " -"fichiers par des gestionnaires de fichiers, sont attendus un ou plusieurs " -"enregistrements d’informations supplémentaires de la structure détaillée ci-" -"dessous qui suit la structure générique I<fanotify_event_metadata> dans le " -"tampon de lecture :" +"fichiers par des gestionnaires de fichiers, les écouteurs d’événement " +"espèrent recevoir un ou plusieurs objets d’enregistrement d’informations ci-" +"dessous en même temps que la structure générique I<fanotify_event_metadata> " +"dans le tampon de lecture :" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, fuzzy, no-wrap -#| msgid "" -#| "struct fanotify_event_info_fid {\n" -#| " struct fanotify_event_info_header hdr;\n" -#| " __kernel_fsid_t fsid;\n" -#| " unsigned char file_handle[0];\n" -#| "};\n" +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap msgid "" "struct fanotify_event_info_fid {\n" " struct fanotify_event_info_header hdr;\n" @@ -410,50 +426,36 @@ msgstr "" "struct fanotify_event_info_fid {\n" " struct fanotify_event_info_header hdr;\n" " __kernel_fsid_t fsid;\n" -" unsigned char file_handle[0];\n" +" unsigned char handle[];\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "In case of an fanotify group that identifies filesystem objects by file " -#| "handles, you should also expect to receive one or more additional " -#| "information records of the structure detailed below following the generic " -#| "I<fanotify_event_metadata> structure within the read buffer:" msgid "" "In cases where an fanotify group is initialized with B<FAN_REPORT_PIDFD>, " "event listeners should expect to receive the below information record object " "alongside the generic I<fanotify_event_metadata> structure within the read " "buffer:" msgstr "" -"Dans le cas d’un groupe fanotify qui identifie des objets de système de " -"fichiers par des gestionnaires de fichiers, sont attendus un ou plusieurs " -"enregistrements d’informations supplémentaires de la structure détaillée ci-" -"dessous qui suit la structure générique I<fanotify_event_metadata> dans le " -"tampon de lecture :" +"Dans le cas où un groupe fanotify est initialisé avec B<FAN_REPORT_PIDFD>, " +"les écouteurs d’évènement doivent s’attendre à recevoir l’objet " +"d’enregistrement d’information ci-dessous en même temps que la structure " +"I<fanotify_event_metadata> dans le tampon de lecture :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "struct fanotify_event_info_fid {\n" -#| " struct fanotify_event_info_header hdr;\n" -#| " __kernel_fsid_t fsid;\n" -#| " unsigned char file_handle[0];\n" -#| "};\n" +#, no-wrap msgid "" "struct fanotify_event_info_pidfd {\n" " struct fanotify_event_info_header hdr;\n" " __s32 pidfd;\n" "};\n" msgstr "" -"struct fanotify_event_info_fid {\n" -" struct fanotify_event_info_header hdr;\n" -" __kernel_fsid_t fsid;\n" -" unsigned char file_handle[0];\n" +"struct fanotify_event_info_pidfd {\n" +" struct fanotify_event_info_header hdr;\n" +" __s32 pidfd;\n" "};\n" #. type: Plain text @@ -465,17 +467,15 @@ msgid "" "I<fanotify_event_metadata> structure within the read buffer. This structure " "is defined as follows:" msgstr "" +"Dans le cas d’un évènement B<FAN_FS_ERROR>, un enregistrement supplémentaire " +"d’information décrivant l’erreur qui s’est produite est renvoyé en même " +"temps que la structure I<fanotify_event_metadata> générique dans le tampon " +"de lecture. Cette structure est définie comme suit :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "struct fanotify_event_info_fid {\n" -#| " struct fanotify_event_info_header hdr;\n" -#| " __kernel_fsid_t fsid;\n" -#| " unsigned char file_handle[0];\n" -#| "};\n" +#, no-wrap msgid "" "struct fanotify_event_info_error {\n" " struct fanotify_event_info_header hdr;\n" @@ -483,10 +483,10 @@ msgid "" " __u32 error_count;\n" "};\n" msgstr "" -"struct fanotify_event_info_fid {\n" +"struct fanotify_event_info_error {\n" " struct fanotify_event_info_header hdr;\n" -" __kernel_fsid_t fsid;\n" -" unsigned char file_handle[0];\n" +" __s32 error;\n" +" __u32 error_count;\n" "};\n" #. type: Plain text @@ -498,17 +498,16 @@ msgid "" "the information record that may have been returned alongside the generic " "I<fanotify_event_metadata> structure. This structure is defined as follows:" msgstr "" +"Tous les enregistrements d’information contiennent une structure imbriquée " +"de type I<fanotify_event_info_header>. Cette structure contient des méta-" +"informations sur l’enregistrement d’information qui a pu être renvoyé en " +"même temps que la structure I<fanotify_event_metadata> générique. Cette " +"structure est définie comme suit :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "struct fanotify_event_info_header {\n" -#| " __u8 info_type;\n" -#| " __u8 pad;\n" -#| " __u16 len;\n" -#| "};\n" +#, no-wrap msgid "" "struct fanotify_event_info_header {\n" "\t__u8 info_type;\n" @@ -517,9 +516,9 @@ msgid "" "};\n" msgstr "" "struct fanotify_event_info_header {\n" -" __u8 info_type;\n" -" __u8 pad;\n" -" __u16 len;\n" +"\t__u8 info_type;\n" +"\t__u8 pad;\n" +"\t__u16 len;\n" "};\n" #. type: Plain text @@ -549,7 +548,7 @@ msgstr "" #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The fields of the I<fanotify_event_metadata> structure are as follows:" msgstr "" -"Les champs de la structure I<fanotify_event_metadata> sont les suivants." +"Les membres de la structure I<fanotify_event_metadata> sont les suivants." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -854,35 +853,31 @@ msgstr "Un fichier ou un répertoire a été supprimé." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "B<FAN_Q_OVERFLOW>" +#, no-wrap msgid "B<FAN_FS_ERROR>" -msgstr "B<FAN_Q_OVERFLOW>" +msgstr "B<FAN_FS_ERROR>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "Filesystem errors left uncorrected" msgid "A filesystem error was detected." -msgstr "Il reste des erreurs non corrigées sur le système de fichiers." +msgstr "Une erreur de système de fichiers a été détectée." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "B<FAN_CREATE>" +#, no-wrap msgid "B<FAN_RENAME>" -msgstr "B<FAN_CREATE>" +msgstr "B<FAN_RENAME>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "A file or directory has been moved from a watched parent directory." msgid "" "A file or directory has been moved to or from a watched parent directory." -msgstr "Un fichier ou un répertoire a été déplacé du répertoire surveillé." +msgstr "" +"Un fichier ou un répertoire a été déplacé de ou vers un répertoire parent " +"surveillé." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -909,7 +904,8 @@ msgstr "B<FAN_MOVED_TO>" #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A file or directory has been moved to a watched parent directory." msgstr "" -"Un fichier ou un répertoire a été déplacé du répertoire parent surveillé." +"Un fichier ou un répertoire a été déplacé vers un répertoire parent " +"surveillé." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -979,19 +975,14 @@ msgstr "B<FAN_Q_OVERFLOW>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The event queue exceeded the limit of 16384 entries. This limit can be " -#| "overridden by specifying the B<FAN_UNLIMITED_QUEUE> flag when calling " -#| "B<fanotify_init>(2)." msgid "" "The event queue exceeded the limit on number of events. This limit can be " "overridden by specifying the B<FAN_UNLIMITED_QUEUE> flag when calling " "B<fanotify_init>(2)." msgstr "" -"La file d’événements a dépassé la limite de 16384 entrées. Cette limite peut " -"être écrasée en indiquant l’attribut B<FAN_UNLIMITED_QUEUE> lors de l’appel " -"de B<fanotify_init>(2)." +"La file d’événements a dépassé la limite du nombre d’évènements. Cette " +"limite peut être écrasée en indiquant l’attribut B<FAN_UNLIMITED_QUEUE> lors " +"de l’appel de B<fanotify_init>(2)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1038,7 +1029,7 @@ msgstr "" #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<FAN_OPEN_EXEC_PERM>" -msgstr "B<FAN_OPEN_PERM>" +msgstr "B<FAN_OPEN_EXEC_PERM>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1078,10 +1069,9 @@ msgstr "Un fichier a été fermé. C’est un synonyme de :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid " FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE\n" +#, no-wrap msgid "FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE\n" -msgstr " FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE\n" +msgstr "FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1107,10 +1097,9 @@ msgstr "Un fichier ou un répertoire a été déplacé. C’est un synonyme de #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid " FAN_MOVED_FROM | FAN_MOVED_TO\n" +#, no-wrap msgid "FAN_MOVED_FROM | FAN_MOVED_TO\n" -msgstr " FAN_MOVED_FROM | FAN_MOVED_TO\n" +msgstr "FAN_MOVED_FROM | FAN_MOVED_TO\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1155,14 +1144,17 @@ msgid "" "of type I<fanotify_event_info_header>. The fields of the " "I<fanotify_event_info_header> are as follows:" msgstr "" +"Les enregistrements d’information qui sont fournis en même temps que la " +"structure I<fanotify_event_metadata> générique contiendront toujours une " +"structure imbriquée de type I<fanotify_event_info_header>. Les membres de " +"I<fanotify_event_info_header> sont les suivants :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "I<type>" +#, no-wrap msgid "I<info_type>" -msgstr "I<type>" +msgstr "I<info_type>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1177,13 +1169,21 @@ msgid "" "record object type below to understand the different cases in which the " "I<info_type> values can be set." msgstr "" +"Valeur entière unique représentant le type d’objet d’enregistrement " +"d’information reçu pour un évènement. Ce champ peut être défini à une des " +"valeurs suivantes : B<FAN_EVENT_INFO_TYPE_FID>, B<FAN_EVENT_INFO_TYPE_DFID>, " +"B<FAN_EVENT_INFO_TYPE_DFID_NAME> ou B<FAN_EVENT_INFO_TYPE_PIDFD>. L’ensemble " +"des valeurs pour ce champ est dépendant des drapeaux qui ont été fournis à " +"B<fanotify_init>(2). Se référer aux détails des champs pour chaque type " +"d’objet d’enregistrement d’information ci-dessous pour appréhender les " +"différents cas dans lesquels les valeurs I<info_type> peuvent être définies." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I<pad>" -msgstr "" +msgstr "I<pad>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1192,6 +1192,8 @@ msgid "" "This field is currently not used by any information record object type and " "therefore is set to zero." msgstr "" +"Ce champ n’est actuellement utilisé par aucun type d’objet d’enregistrement " +"d’information et, par conséquent, est défini à zéro." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1209,13 +1211,17 @@ msgid "" "additional information records is not expected to be larger than " "(I<event_len> - I<metadata_len>)." msgstr "" +"La valeur de I<len> est définie à la taille de l’objet d’enregistrement " +"d’information, incluant le I<fanotify_event_info_header>. La taille totale " +"de tous les enregistrements d’information supplémentaires ne peut être " +"supérieure à (I<event_len> - I<metadata_len>)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The fields of the I<fanotify_event_info_fid> structure are as follows:" msgstr "" -"Les champs de la structure I<fanotify_event_info_fid> sont les suivants." +"Les membres de la structure I<fanotify_event_info_fid> sont les suivants." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1227,24 +1233,6 @@ msgstr "I<hdr>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "This is a structure of type I<fanotify_event_info_header>. It is a " -#| "generic header that contains information used to describe an additional " -#| "information record attached to the event. For example, when an fanotify " -#| "file descriptor is created using B<FAN_REPORT_FID>, a single information " -#| "record is expected to be attached to the event with I<info_type> field " -#| "value of B<FAN_EVENT_INFO_TYPE_FID>. When an fanotify file descriptor is " -#| "created using the combination of B<FAN_REPORT_FID> and " -#| "B<FAN_REPORT_DIR_FID>, there may be two information records attached to " -#| "the event: one with I<info_type> field value of " -#| "B<FAN_EVENT_INFO_TYPE_DFID>, identifying a parent directory object, and " -#| "one with I<info_type> field value of B<FAN_EVENT_INFO_TYPE_FID>, " -#| "identifying a non-directory object. The I<fanotify_event_info_header> " -#| "contains a I<len> field. The value of I<len> is the size of the " -#| "additional information record including the I<fanotify_event_info_header> " -#| "itself. The total size of all additional information records is not " -#| "expected to be bigger than ( I<event_len> - I<metadata_len> )." msgid "" "This is a structure of type I<fanotify_event_info_header>. For example, " "when an fanotify file descriptor is created using B<FAN_REPORT_FID>, a " @@ -1260,10 +1248,8 @@ msgid "" "created/deleted/moved child object is reported only if an fanotify group was " "initialized with the flag B<FAN_REPORT_TARGET_FID>." msgstr "" -"C’est une structure de type I<fanotify_event_info_header>. C’est un en-tête " -"générique qui contient des informations utilisées pour décrire un " -"enregistrement d’informations supplémentaires attaché à l’évènement. Par " -"exemple, quand un descripteur de fichier fanotify est créé en utilisant " +"C’est une structure de type I<fanotify_event_info_header>. Par exemple, " +"quand un descripteur de fichier fanotify est créé en utilisant " "B<FAN_REPORT_FID>, un enregistrement unique est supposé être attaché à " "l’évènement avec la valeur de champ I<info_type> de " "B<FAN_EVENT_INFO_TYPE_FID>. Quand un descripteur de fichier fanotify est " @@ -1272,12 +1258,11 @@ msgstr "" "attachés à l’évènement : un avec une valeur de champ I<info_type> de " "B<FAN_EVENT_INFO_TYPE_DFID>, identifiant un objet de répertoire parent, et " "un avec une valeur de champ I<info_type> de B<FAN_EVENT_INFO_TYPE_FID>, " -"identifiant un objet non répertoire. Le I<fanotify_event_info_header> " -"contient un champ I<len>. La valeur de I<len> est la taille de " -"l’enregistrement d’informations supplémentaires incluant le " -"I<fanotify_event_info_header> lui-même. La taille totale de tous les " -"enregistrements d’informations supplémentaires n’est pas supposée être " -"supérieure à (\\ I<event_len>\\ -\\ I<metadata_len>\\ )." +"identifiant un objet enfant. Il est à remarquer que pour des évènements de " +"modification d’entrée de répertoire B<FAN_CREATE>, B<FAN_DELETE>, " +"B<FAN_MOVE> et B<FAN_RENAME>, un enregistrement d’information identifiant " +"l’objet enfant créé, supprimé ou déplacé est rapporté seulement si un groupe " +"fanotify a été initialisé avec le drapeau B<FAN_REPORT_TARGET_FID>." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1299,38 +1284,15 @@ msgstr "" "contient la même valeur que I<f_fsid> lors de l’appel B<statfs>(2)." #. type: TP -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, fuzzy, no-wrap -#| msgid "I<file_handle>" +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap msgid "I<handle>" -msgstr "I<file_handle>" +msgstr "I<handle>" #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron -#, fuzzy -#| msgid "" -#| "This is a variable length structure of type struct file_handle. It is an " -#| "opaque handle that corresponds to a specified object on a filesystem as " -#| "returned by B<name_to_handle_at>(2). It can be used to uniquely identify " -#| "a file on a filesystem and can be passed as an argument to " -#| "B<open_by_handle_at>(2). Note that for the directory entry modification " -#| "events B<FAN_CREATE>, B<FAN_DELETE>, and B<FAN_MOVE>, the I<file_handle> " -#| "identifies the modified directory and not the created/deleted/moved child " -#| "object. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID_NAME>, the file handle is followed by a null " -#| "terminated string that identifies the created/deleted/moved directory " -#| "entry name. For other events such as B<FAN_OPEN>, B<FAN_ATTRIB>, " -#| "B<FAN_DELETE_SELF>, and B<FAN_MOVE_SELF>, if the value of I<info_type> " -#| "field is B<FAN_EVENT_INFO_TYPE_FID>, the I<file_handle> identifies the " -#| "object correlated to the event. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID>, the I<file_handle> identifies the directory " -#| "object correlated to the event or the parent directory of a non-directory " -#| "object correlated to the event. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID_NAME>, the I<file_handle> identifies the same " -#| "directory object that would be reported with B<FAN_EVENT_INFO_TYPE_DFID> " -#| "and the file handle is followed by a null terminated string that " -#| "identifies the name of a directory entry in that directory, or '.' to " -#| "identify the directory object itself." +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed msgid "" "This field contains a variable-length structure of type I<struct " "file_handle>. It is an opaque handle that corresponds to a specified object " @@ -1352,40 +1314,33 @@ msgid "" "name of a directory entry in that directory, or '.' to identify the " "directory object itself." msgstr "" -"C’est une structure de taille variable de type I<struct " -"gestionnaire_fichier>. C’est un gestionnaire opaque qui correspond à un " -"objet précis de système de fichiers comme renvoyé par " -"B<name_to_handle_at>(2). Il peut être utilisé uniquement pour identifier un " -"fichier d’un système de fichiers et peut être passé comme argument à " -"B<open_by_handle_at>(2). Remarquez que pour les évènements de modification " -"d’entrée de répertoire B<FAN_CREATE>, B<FAN_DELETE> et B<FAN_MOVE>, " -"I<gestionnaire_fichier> identifie le répertoire modifié et non l’objet " -"enfant créé/supprimé/déplacé. Si la valeur du champ I<info_type> est " -"B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le gestionnaire de fichiers est suivi par " -"un octet NULL final qui identifie le nom d’entrée de répertoire créé/" -"supprimé/déplacé. Pour les autres évènements tels que B<FAN_OPEN>, " -"B<FAN_ATTRIB>, B<FAN_DELETE_SELF> et B<FAN_MOVE_SELF>, si la valeur du champ " -"I<info_type> est B<FAN_EVENT_INFO_TYPE_FID>, le I<gestionnaire_fichier> " +"Ce champ contient une structure de taille variable de type I<struct " +"file_handle>. C’est un gestionnaire opaque qui correspond à un objet précis " +"de système de fichiers comme renvoyé par B<name_to_handle_at>(2). Il peut " +"être utilisé uniquement pour identifier un fichier d’un système de fichiers " +"et peut être passé comme argument à B<open_by_handle_at>(2). Si la valeur du " +"champ I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le gestionnaire de " +"fichiers est suivi d’un octet NULL final qui identifie le nom d’entrée de " +"répertoire créée/supprimée/déplacée. Pour les autres évènements tels que " +"B<FAN_OPEN>, B<FAN_ATTRIB>, B<FAN_DELETE_SELF> et B<FAN_MOVE_SELF>, si la " +"valeur du champ I<info_type> est B<FAN_EVENT_INFO_TYPE_FID>, le I<handle> " "identifie l’objet corrélé à l’évènement. Si la valeur du champ I<info_type> " -"est B<FAN_EVENT_INFO_TYPE_DFID>, le I<gestionnaire_fichier> identifie " -"l’objet de répertoire corrélé à l’évènement ou le répertoire parent d’un " -"objet non répertoire corrélé à l’évènement. Si la valeur du champ " -"I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le " -"I<gestionnaire_fichier> identifie le même objet de répertoire qui aurait été " -"rapporté avec B<FAN_EVENT_INFO_TYPE_DFID> et le gestionnaire de fichiers est " -"suivi par un octet NULL final qui identifie le nom de l’entrée de répertoire " -"dans ce répertoire ou « . » pour identifier l’objet du répertoire." +"est B<FAN_EVENT_INFO_TYPE_DFID>, le I<handle> identifie l’objet de " +"répertoire corrélé à l’évènement ou le répertoire parent d’un objet non-" +"répertoire corrélé à l’évènement. Si la valeur du champ I<info_type> est " +"B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le I<handle> identifie le même objet de " +"répertoire qui aurait été rapporté avec B<FAN_EVENT_INFO_TYPE_DFID> et le " +"gestionnaire de fichier est suivi d’un octet NULL final qui identifie le nom " +"de l’entrée de répertoire dans ce répertoire ou « . » pour identifier " +"l’objet du répertoire." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The fields of the I<fanotify_event_info_fid> structure are as follows:" msgid "" "The fields of the I<fanotify_event_info_pidfd> structure are as follows:" msgstr "" -"Les champs de la structure I<fanotify_event_info_fid> sont les suivants." +"Les membres de la structure I<fanotify_event_info_pidfd> sont les suivants." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1395,14 +1350,16 @@ msgid "" "group is initialized using B<FAN_REPORT_PIDFD>, the I<info_type> field value " "of the I<fanotify_event_info_header> is set to B<FAN_EVENT_INFO_TYPE_PIDFD>." msgstr "" +"C’est une structure de type I<fanotify_event_info_header>. Quand un groupe " +"fanotify est initialisé avec B<FAN_REPORT_PIDFD>, le champ I<info_type> de " +"I<fanotify_event_info_header> est défini à B<FAN_EVENT_INFO_TYPE_PIDFD>." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "I<pid>" +#, no-wrap msgid "I<pidfd>" -msgstr "I<pid>" +msgstr "I<pidfd>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1423,17 +1380,29 @@ msgid "" "event and the pidfd is no longer required, the pidfd should be closed via " "B<close>(2)." msgstr "" +"C’est un descripteur de fichier de processus qui fait référence au processus " +"responsable de la génération de l’évènement. Le descripteur de fichier de " +"processus n’est pas différent de celui qui pourrait être obtenu manuellement " +"si B<pidfd_open>(2) était appelé sur I<fanotify_event_metadata.pid>. Dans " +"cette instance où une erreur pourrait se produire lors de la création de " +"pidfd, un des deux types d’erreur possibles représentés par un entier " +"négatif pourrait être renvoyé dans ce champ I<pidfd>. Dans le cas où le " +"processus responsable de la création de l’évènement s’est terminé avant que " +"l’écouteur d’évènement soit capable de lire des évènements dans la file de " +"notifications, B<FAN_NOPIDFD> est renvoyé. La création de pidfd pour un " +"évènement est seulement faite au moment où les évènements sont lus à partir " +"de la file de notifications. Tous les autres échecs possibles de création de " +"pidfd sont représentés par B<FAN_EPIDFD>. Une fois que l’écouteur " +"d’évènement a traité un évènement et que le pidfd n’est plus nécessaire, " +"celui-ci sera fermé à l’aide de B<close>(2)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The fields of the I<fanotify_event_info_fid> structure are as follows:" msgid "" "The fields of the I<fanotify_event_info_error> structure are as follows:" msgstr "" -"Les champs de la structure I<fanotify_event_info_fid> sont les suivants." +"Les membres de la structure I<fanotify_event_info_error> sont les suivants." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1442,28 +1411,28 @@ msgid "" "This is a structure of type I<fanotify_event_info_header>. The I<info_type> " "field is set to B<FAN_EVENT_INFO_TYPE_ERROR>." msgstr "" +"C’est une structure de type I<fanotify_event_info_header>. Le champ " +"I<info_type> est défini à B<FAN_EVENT_INFO_TYPE_ERROR>." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "B<error>" +#, no-wrap msgid "I<error>" -msgstr "B<error>" +msgstr "I<error>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Identifies the type of error that occurred." -msgstr "" +msgstr "Ce champ identifie le type d’erreur qui s’est produite." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "I<MemoryAccounting=>" +#, no-wrap msgid "I<error_count>" -msgstr "I<MemoryAccounting=>" +msgstr "I<error_count>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1472,6 +1441,8 @@ msgid "" "This is a counter of the number of errors suppressed since the last error " "was read." msgstr "" +"C’est un compteur du nombre d’erreurs supprimées depuis que la dernière " +"erreur a été lue." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1661,10 +1632,9 @@ msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "fanotify - monitoring filesystem events" +#, no-wrap msgid "Monitoring filesystems for errors" -msgstr "fanotify – Surveiller les événements des systèmes de fichiers" +msgstr "Supervision des erreurs des systèmes de fichiers" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1675,6 +1645,10 @@ msgid "" "of the existing B<FAN_FS_ERROR> event record, but details about the errors " "are lost." msgstr "" +"Un seul évènement B<FAN_FS_ERROR> à la fois est stocké par système de " +"fichiers. Les messages d’erreur supplémentaires sont supprimés et comptés " +"dans le champ I<error_count> dans l’enregistrement existant d’évènement " +"B<FAN_FS_ERROR>, mais les détails à propos des erreurs sont perdus." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1683,15 +1657,23 @@ msgid "" "Errors reported by B<FAN_FS_ERROR> are generic I<errno> values, but not all " "kinds of error types are reported by all filesystems." msgstr "" +"Les erreurs rapportées par B<FAN_FS_ERROR> sont des erreurs génériques " +"I<errno>, mais tous les types d’erreur ne sont pas rapportés par tous les " +"systèmes de fichiers." #. type: Plain text -#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed msgid "" "Errors not directly related to a file (i.e. super block corruption) are " "reported with an invalid I<handle>. For these errors, the I<handle> will " "have the field I<handle_type> set to B<FILEID_INVALID>, and the handle " "buffer size set to B<0>." msgstr "" +"Les erreurs ne concernant pas directement un fichier (c’est-à-dire des " +"corruptions de superbloc) sont rapportées avec un I<handle> non valable. " +"Pour ces erreurs, le I<handle> aura le champ I<handle_type> défini à " +"B<FILEID_INVALID> et la taille de tampon de I<handle> définie à B<0>." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1725,18 +1707,13 @@ msgstr "/proc interfaces" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The file I</proc/[pid]/fdinfo/[fd]> contains information about fanotify " -#| "marks for file descriptor I<fd> of process I<pid>. See B<proc>(5) for " -#| "details." msgid "" "The file I</proc/>pidI</fdinfo/>fd contains information about fanotify marks " "for file descriptor I<fd> of process I<pid>. See B<proc>(5) for details." msgstr "" -"Le fichier I</proc/[pid]/fdinfo/[fd]> contient des renseignements sur les " +"Le fichier I</proc/>pidI</fdinfo/>fd contient des renseignements sur les " "marques fanotify pour le descripteur de fichier I<fd> du processus I<pid>. " -"Consultez B<proc>(5) pour plus de précisions." +"Consulter B<proc>(5) pour plus de précisions." #. commit 5b8fea65d197f408bb00b251c70d842826d6b70b #. type: Plain text @@ -1746,13 +1723,15 @@ msgid "" "Since Linux 5.13, the following interfaces can be used to control the amount " "of kernel resources consumed by fanotify:" msgstr "" +"Depuis Linux 5.13, les interfaces suivantes peuvent être utilisées pour " +"contrôler la quantité de ressources du noyau utilisées par B<fanotify> :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I</proc/sys/fs/fanotify/max_queued_events>" -msgstr "" +msgstr "I</proc/sys/fs/fanotify/max_queued_events>" #. commit 5b8fea65d197f408bb00b251c70d842826d6b70b #. type: Plain text @@ -1765,13 +1744,19 @@ msgid "" "limit are dropped, but an B<FAN_Q_OVERFLOW> event is always generated. " "Prior to Linux kernel 5.13, the hardcoded limit was 16384 events." msgstr "" +"La valeur dans ce fichier est utilisée quand une application appelle " +"B<fanotify_init>(2) pour définir la limite supérieure du nombre d’évènements " +"qui peuvent être mis dans la file d’attente du groupe fanotify " +"correspondant. Les évènements qui font que cette limite est dépassée sont " +"abandonnés, mais un évènement B<FAN_Q_OVERFLOW> est toujours généré. Avant " +"le noyau 5.13 de Linux, la limite codée en dur était de 16384 évènements." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I</proc/sys/fs/fanotify/max_user_group>" -msgstr "" +msgstr "I</proc/sys/fs/fanotify/max_user_group>" #. commit 5b8fea65d197f408bb00b251c70d842826d6b70b #. type: Plain text @@ -1782,13 +1767,16 @@ msgid "" "created per real user ID. Prior to Linux kernel 5.13, the hardcoded limit " "was 128 groups per user." msgstr "" +"La valeur dans ce fichier définit la limite supérieure du nombre de groupes " +"fanotify pouvant être créés par ID réel d’utilisateur. Avant le noyau 5.13 " +"de Linux, la limite codée en dur était de 128 groupes par utilisateur." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "I</proc/sys/fs/fanotify/max_user_marks>" -msgstr "" +msgstr "I</proc/sys/fs/fanotify/max_user_marks>" #. commit 5b8fea65d197f408bb00b251c70d842826d6b70b #. type: Plain text @@ -1799,6 +1787,10 @@ msgid "" "created per real user ID. Prior to Linux kernel 5.13, the hardcoded limit " "was 8192 marks per group (not per user)." msgstr "" +"La valeur dans ce fichier définit la limite supérieure du nombre de marques " +"fanotify pouvant être créées par ID réel d’utilisateur. Avant le noyau 5.13 " +"de Linux, la limite codée en dur était de 8192 marques par groupe (pas par " +"utilisateur)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -1946,17 +1938,13 @@ msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The fanotify API was introduced in version 2.6.36 of the Linux kernel and " -#| "enabled in version 2.6.37. Fdinfo support was added in version 3.8." msgid "" "The fanotify API was introduced in Linux 2.6.36 and enabled in Linux " "2.6.37. fdinfo support was added in Linux 3.8." msgstr "" -"L’interface de programmation fanotify a été introduite dans la " -"version 2.6.36 du noyau Linux et activée dans la version 2.6.37. La prise en " -"charge de fdinfo a été ajoutée dans la version 3.8." +"L’interface de programmation fanotify a été introduite dans Linux 2.6.36 et " +"activée dans Linux 2.6.37. La prise en charge de fdinfo a été ajoutée dans " +"Linux 3.8." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2199,13 +2187,7 @@ msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "# B<./fanotify_example /home>\n" -#| "Press enter key to terminate.\n" -#| "Listening for events.\n" -#| "FAN_OPEN_PERM: File /home/user/temp/notes\n" -#| "FAN_CLOSE_WRITE: File /home/user/temp/notes\n" +#, no-wrap msgid "" "# B<./fanotify_example /home>\n" "Press enter key to terminate.\n" @@ -2220,6 +2202,7 @@ msgstr "" "En écoute d’événements.\n" "FAN_OPEN_PERM : Fichier /home/utilisateur/temp/notes\n" "FAN_CLOSE_WRITE : Fichier /home/utilisateur/temp/notes\n" +"Écoute des évènements arrêtée.\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2423,6 +2406,195 @@ msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" +"#define _GNU_SOURCE /* Nécessaire pour obtenir la définition de O_LARGEFILE */\n" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>limits.hE<gt>\n" +"#include E<lt>poll.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/fanotify.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"/* Lire tous les évènements fanotify disponibles du descripteur de fichier « fd ». */\n" +"\\&\n" +"static void\n" +"handle_events(int fd)\n" +"{\n" +" const struct fanotify_event_metadata *metadata;\n" +" struct fanotify_event_metadata buf[200];\n" +" ssize_t len;\n" +" char path[PATH_MAX];\n" +" ssize_t path_len;\n" +" char procfd_path[PATH_MAX];\n" +" struct fanotify_response response;\n" +"\\&\n" +" /* Bouclage tant que des évènements peuvent être lus du descripteur de fichier. */\n" +"\\&\n" +" for (;;) {\n" +"\\&\n" +" /* Lecture de quelques évènements. */\n" +"\\&\n" +" len = read(fd, buf, sizeof(buf));\n" +" if (len == -1 && errno != EAGAIN) {\n" +" perror(\"read\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Vérification que la fin des données disponibles soit atteinte. */\n" +"\\&\n" +" if (len E<lt>= 0)\n" +" break;\n" +"\\&\n" +" /* Pointage vers le premier évènement dans le tampon. */\n" +"\\&\n" +" metadata = buf;\n" +"\\&\n" +" /* Bouclage sur tous les évènements du tampon. */\n" +"\\&\n" +" while (FAN_EVENT_OK(metadata, len)) {\n" +"\\&\n" +" /* Vérification que les structures d’exécution et de compilation correspondent. */\n" +"\\&\n" +" if (metadata-E<gt>vers != FANOTIFY_METADATA_VERSION) {\n" +" fprintf(stderr,\n" +" \"Mauvaise correspondance des versions de métadonnées de fanotify.\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* metadata-E<gt>fd contient soit FAN_NOFD, indiquant un\n" +" débordement de file ou un descripteur de fichier (un entier\n" +" non négatif). Ici, le débordement est simplement ignoré. */\n" +"\\&\n" +" if (metadata-E<gt>fd E<gt>= 0) {\n" +"\\&\n" +" /* Gestion de la permission d’ouvrir. */\n" +"\\&\n" +" if (metadata-E<gt>mask & FAN_OPEN_PERM) {\n" +" printf(\"FAN_OPEN_PERM: \");\n" +"\\&\n" +" /* Autorisation d’ouvrir le fichier. */\n" +"\\&\n" +" response.fd = metadata-E<gt>fd;\n" +" response.response = FAN_ALLOW;\n" +" write(fd, &response, sizeof(response));\n" +" }\n" +"\\&\n" +" /* Gestion de la fermeture d’évènement de fichier éditable. */\n" +"\\&\n" +" if (metadata-E<gt>mask & FAN_CLOSE_WRITE)\n" +" printf(\"FAN_CLOSE_WRITE: \");\n" +"\\&\n" +" /* Récupération et affichage du chemin du fichier accédé. */\n" +"\\&\n" +" snprintf(procfd_path, sizeof(procfd_path),\n" +" \"/proc/self/fd/%d\", metadata-E<gt>fd);\n" +" path_len = readlink(procfd_path, path,\n" +" sizeof(path) - 1);\n" +" if (path_len == -1) {\n" +" perror(\"readlink\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" path[path_len] = \\[aq]\\e0\\[aq];\n" +" printf(\"File %s\\en\", path);\n" +"\\&\n" +" /* Fermeture du descripteur de fichier de l’évènement. */\n" +"\\&\n" +" close(metadata-E<gt>fd);\n" +" }\n" +"\\&\n" +" /* Avance jusqu’au prochain évènement. */\n" +"\\&\n" +" metadata = FAN_EVENT_NEXT(metadata, len);\n" +" }\n" +" }\n" +"}\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char buf;\n" +" int fd, poll_num;\n" +" nfds_t nfds;\n" +" struct pollfd fds[2];\n" +"\\&\n" +" /* Vérification que le point de montage soit fourni. */\n" +"\\&\n" +" if (argc != 2) {\n" +" fprintf(stderr, \"Utilisation : %s MOUNT\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" printf(\"Presser la touche Entrée pour terminer.\\en\");\n" +"\\&\n" +" /* Création d’un descripteur de fichier pour accéder à l’API de fanotify. */\n" +"\\&\n" +" fd = fanotify_init(FAN_CLOEXEC | FAN_CLASS_CONTENT | FAN_NONBLOCK,\n" +" O_RDONLY | O_LARGEFILE);\n" +" if (fd == -1) {\n" +" perror(\"fanotify_init\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Marque du montage pour :\n" +" – évènements de permission avant ouvertures de fichier\n" +" – évènements de notification après la fermeture\n" +" d’un descripteur de fichier éditable. */\n" +"\\&\n" +" if (fanotify_mark(fd, FAN_MARK_ADD | FAN_MARK_MOUNT,\n" +" FAN_OPEN_PERM | FAN_CLOSE_WRITE, AT_FDCWD,\n" +" argv[1]) == -1) {\n" +" perror(\"fanotify_mark\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Préparation pour sondage. */\n" +"\\&\n" +" nfds = 2;\n" +"\\&\n" +" fds[0].fd = STDIN_FILENO; /* Entrée de console */\n" +" fds[0].events = POLLIN;\n" +"\\&\n" +" fds[1].fd = fd; /* Entrée de fanotify */\n" +" fds[1].events = POLLIN;\n" +"\\&\n" +" /* Ceci est une boucle pour attendre de futurs évènements. */\n" +"\\&\n" +" printf(\"Écoute d’évènements.\\en\");\n" +"\\&\n" +" while (1) {\n" +" poll_num = poll(fds, nfds, -1);\n" +" if (poll_num == -1) {\n" +" if (errno == EINTR) /* Interruption par un signal */\n" +" continue; /* Redémarrage de poll() */\n" +"\\&\n" +" perror(\"poll\"); /* Erreur inattendue */\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (poll_num E<gt> 0) {\n" +" if (fds[0].revents & POLLIN) {\n" +"\\&\n" +" /* Entrée de console disponible : stdin vide et quitter. */\n" +"\\&\n" +" while (read(STDIN_FILENO, &buf, 1) E<gt> 0 && buf != \\[aq]\\en\\[aq])\n" +" continue;\n" +" break;\n" +" }\n" +"\\&\n" +" if (fds[1].revents & POLLIN) {\n" +"\\&\n" +" /* Évènements de fanotify disponibles. */\n" +"\\&\n" +" handle_events(fd);\n" +" }\n" +" }\n" +" }\n" +"\\&\n" +" printf(\"Écoute d’évènements arrêtée.\\en\");\n" +" exit(EXIT_SUCCESS);\n" +"}\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2434,15 +2606,6 @@ msgstr "Exemple de programme : fanotify_fid.c" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "The second program is an example of fanotify being used with a group that " -#| "identifies objects by file handles. The program marks the filesystem " -#| "object that is passed as a command-line argument and waits until an event " -#| "of type B<FAN_CREATE> has occurred. The event mask indicates which type " -#| "of filesystem object\\(emeither a file or a directory\\(emwas created. " -#| "Once all events have been read from the buffer and processed accordingly, " -#| "the program simply terminates." msgid "" "The second program is an example of fanotify being used with a group that " "identifies objects by file handles. The program marks the filesystem object " @@ -2492,14 +2655,7 @@ msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "# B<./fanotify_fid /home/user>\n" -#| "Listening for events.\n" -#| "FAN_CREATE (file created):\n" -#| " Directory /home/user has been modified.\n" -#| " Entry \\(aqtestfile.txt\\(aq is not a subdirectory.\n" -#| "All events processed successfully. Program exiting.\n" +#, no-wrap msgid "" "# B<./fanotify_fid /home/user>\n" "Listening for events.\n" @@ -2514,8 +2670,10 @@ msgstr "" "Écoute de tous les évènements.\n" "FAN_CREATE (fichier créé) :\n" " Répertoire /home/utilisateur a été modifié.\n" -" Entrée \\(aqfichiertest.txt\\(aq n’est pas un sous-répertoire.\n" +" Entrée « fichiertest.txt » n’est pas un sous-répertoire.\n" "Tous les évènements ont été traités avec succès. Fin du programme.\n" +"\\&\n" +"$ B<touch /home/user/fichiertest.txt> # Dans un autre terminal\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2535,14 +2693,7 @@ msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed -#, fuzzy, no-wrap -#| msgid "" -#| "# B<./fanotify_fid /home/user>\n" -#| "Listening for events.\n" -#| "FAN_CREATE | FAN_ONDIR (subdirectory created):\n" -#| " Directory /home/user has been modified.\n" -#| " Entry \\(aqtestdir\\(aq is a subdirectory.\n" -#| "All events processed successfully. Program exiting.\n" +#, no-wrap msgid "" "# B<./fanotify_fid /home/user>\n" "Listening for events.\n" @@ -2557,8 +2708,10 @@ msgstr "" "Écoute de tous les évènements.\n" "FAN_CREATE | FAN_ONDIR (sous_répertoire créé) :\n" " Répertoire /home/utilisateur a été modifié.\n" -" Entrée \\(aqréptest\\(aq est un sous-répertoire.\n" +" Entrée « réptest » est un sous-répertoire.\n" "Tous les évènements ont été traités avec succès. Fin du programme.\n" +"\\&\n" +"$ B<mkdir -p /home/user/réptest> # Dans un autre terminal\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2727,6 +2880,159 @@ msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" +"#define _GNU_SOURCE\n" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>fcntl.hE<gt>\n" +"#include E<lt>limits.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/types.hE<gt>\n" +"#include E<lt>sys/stat.hE<gt>\n" +"#include E<lt>sys/fanotify.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define BUF_SIZE 256\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd, ret, event_fd, mount_fd;\n" +" ssize_t len, path_len;\n" +" char path[PATH_MAX];\n" +" char procfd_path[PATH_MAX];\n" +" char events_buf[BUF_SIZE];\n" +" struct file_handle *file_handle;\n" +" struct fanotify_event_metadata *metadata;\n" +" struct fanotify_event_info_fid *fid;\n" +" const char *file_name;\n" +" struct stat sb;\n" +"\\&\n" +" if (argc != 2) {\n" +" fprintf(stderr, \"nombre d’arguments de ligne de commande non valable.\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" mount_fd = open(argv[1], O_DIRECTORY | O_RDONLY);\n" +" if (mount_fd == -1) {\n" +" perror(argv[1]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Création d’un descripteur de fichier avec FAN_REPORT_DFID_NAME\n" +" comme drapeau pour que le programme puisse recevoir des évènements\n" +" fid avec un nom d’entrée de répertoire. */\n" +"\\&\n" +" fd = fanotify_init(FAN_CLASS_NOTIF | FAN_REPORT_DFID_NAME, 0);\n" +" if (fd == -1) {\n" +" perror(\"fanotify_init\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Placement d’une marque sur l’objet de système de fichiers fourni dans argv[1]. */\n" +"\\&\n" +" ret = fanotify_mark(fd, FAN_MARK_ADD | FAN_MARK_ONLYDIR,\n" +" FAN_CREATE | FAN_ONDIR,\n" +" AT_FDCWD, argv[1]);\n" +" if (ret == -1) {\n" +" perror(\"fanotify_mark\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" printf(\"Écoute d’évènements.\\en\");\n" +"\\&\n" +" /* Lecture d’évènements de la file d’évènements d’un tampon. */\n" +"\\&\n" +" len = read(fd, events_buf, sizeof(events_buf));\n" +" if (len == -1 && errno != EAGAIN) {\n" +" perror(\"read\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" /* Traitement de tous les évènements du tampon. */\n" +"\\&\n" +" for (metadata = (struct fanotify_event_metadata *) events_buf;\n" +" FAN_EVENT_OK(metadata, len);\n" +" metadata = FAN_EVENT_NEXT(metadata, len)) {\n" +" fid = (struct fanotify_event_info_fid *) (metadata + 1);\n" +" file_handle = (struct file_handle *) fid-E<gt>handle;\n" +"\\&\n" +" /* Vérification que l’information d’évènement soit du bon type. */\n" +"\\&\n" +" if (fid-E<gt>hdr.info_type == FAN_EVENT_INFO_TYPE_FID ||\n" +" fid-E<gt>hdr.info_type == FAN_EVENT_INFO_TYPE_DFID) {\n" +" file_name = NULL;\n" +" } else if (fid-E<gt>hdr.info_type == FAN_EVENT_INFO_TYPE_DFID_NAME) {\n" +" file_name = file_handle-E<gt>f_handle +\n" +" file_handle-E<gt>handle_bytes;\n" +" } else {\n" +" fprintf(stderr, \"Type inattendu d’information d’évènement.\\en\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (metadata-E<gt>mask == FAN_CREATE)\n" +" printf(\"FAN_CREATE (fichier créé :\\en\");\n" +"\\&\n" +" if (metadata-E<gt>mask == (FAN_CREATE | FAN_ONDIR))\n" +" printf(\"FAN_CREATE | FAN_ONDIR (sous-répertoire créé) :\\en\");\n" +"\\&\n" +"\t/* metadata-E<gt>fd est défini à FAN_NOFD quand le groupe identifie\n" +"\t des objets par des gestionnaires de fichier. Pour obtenir un descripteur\n" +"\t de fichier pour l’objet de fichier correspondant à un évènement, la structure\n" +"\t file_handle qui est fournie dans fanotify_event_info_fid peut être utilisée\n" +"\t en conjonction avec l’appel système open_by_handle_at(2). Une vérification\n" +"\t pour ESTALE est faite pour répondre à la situation où le gestionnaire de\n" +"\t l’objet a été supprimé avant cet appel système. */\n" +"\\&\n" +" event_fd = open_by_handle_at(mount_fd, file_handle, O_RDONLY);\n" +" if (event_fd == -1) {\n" +" if (errno == ESTALE) {\n" +" printf(\"Gestionnaire de fichier plus valable. \"\n" +" \"Le fichier a été supprimé\\en\");\n" +" continuation;\n" +" } else {\n" +" perror(\"open_by_handle_at\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +" }\n" +"\\&\n" +" snprintf(procfd_path, sizeof(procfd_path), \"/proc/self/fd/%d\",\n" +" event_fd);\n" +"\\&\n" +" /* Récupération et affichage du chemin d’entrée de répertoire modifiée. */\n" +"\\&\n" +" path_len = readlink(procfd_path, path, sizeof(path) - 1);\n" +" if (path_len == -1) {\n" +" perror(\"readlink\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" path[path_len] = \\[aq]\\e0\\[aq];\n" +" printf(\"\\etRépertoire « %s » a été modifié.\\en\", chemin);\n" +"\\&\n" +" if (file_name) {\n" +" ret = fstatat(event_fd, file_name, &sb, 0);\n" +" if (ret == -1) {\n" +" if (errno != ENOENT) {\n" +" perror(\"fstatat\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +" printf(\"\\etEntée « %s » n’existe pas.\\en\", fichier);\n" +" } else if ((sb.st_mode & S_IFMT) == S_IFDIR) {\n" +" printf(\"\\etEntrée « %s » est un sous-répertoire.\\en\", fichier);\n" +" } else {\n" +" printf(\"\\etEntrée « %s » n’est pas un répertoire.\\en\",\n" +" fichier);\n" +" }\n" +" }\n" +"\\&\n" +" /* Fermeture du descripteur de fichier associé à cet évènement. */\n" +"\\&\n" +" close(event_fd);\n" +" }\n" +"\\&\n" +" printf(\"Tous les évènements ont été traités avec succès. Fin du programme.\\en\");\n" +" exit(EXIT_SUCCESS);\n" +"}\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide @@ -2754,7 +3060,7 @@ msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: Plain text -#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct fanotify_event_info_fid {\n" @@ -2770,37 +3076,13 @@ msgstr "" "};\n" #. type: TP -#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "I<file_handle>" msgstr "I<file_handle>" #. type: Plain text -#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed -#, fuzzy -#| msgid "" -#| "This is a variable length structure of type struct file_handle. It is an " -#| "opaque handle that corresponds to a specified object on a filesystem as " -#| "returned by B<name_to_handle_at>(2). It can be used to uniquely identify " -#| "a file on a filesystem and can be passed as an argument to " -#| "B<open_by_handle_at>(2). Note that for the directory entry modification " -#| "events B<FAN_CREATE>, B<FAN_DELETE>, and B<FAN_MOVE>, the I<file_handle> " -#| "identifies the modified directory and not the created/deleted/moved child " -#| "object. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID_NAME>, the file handle is followed by a null " -#| "terminated string that identifies the created/deleted/moved directory " -#| "entry name. For other events such as B<FAN_OPEN>, B<FAN_ATTRIB>, " -#| "B<FAN_DELETE_SELF>, and B<FAN_MOVE_SELF>, if the value of I<info_type> " -#| "field is B<FAN_EVENT_INFO_TYPE_FID>, the I<file_handle> identifies the " -#| "object correlated to the event. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID>, the I<file_handle> identifies the directory " -#| "object correlated to the event or the parent directory of a non-directory " -#| "object correlated to the event. If the value of I<info_type> field is " -#| "B<FAN_EVENT_INFO_TYPE_DFID_NAME>, the I<file_handle> identifies the same " -#| "directory object that would be reported with B<FAN_EVENT_INFO_TYPE_DFID> " -#| "and the file handle is followed by a null terminated string that " -#| "identifies the name of a directory entry in that directory, or '.' to " -#| "identify the directory object itself." +#: debian-bookworm opensuse-leap-15-6 msgid "" "This is a variable length structure of type struct file_handle. It is an " "opaque handle that corresponds to a specified object on a filesystem as " @@ -2822,38 +3104,39 @@ msgid "" "name of a directory entry in that directory, or '.' to identify the " "directory object itself." msgstr "" -"C’est une structure de taille variable de type I<struct " -"gestionnaire_fichier>. C’est un gestionnaire opaque qui correspond à un " -"objet précis de système de fichiers comme renvoyé par " -"B<name_to_handle_at>(2). Il peut être utilisé uniquement pour identifier un " -"fichier d’un système de fichiers et peut être passé comme argument à " -"B<open_by_handle_at>(2). Remarquez que pour les évènements de modification " -"d’entrée de répertoire B<FAN_CREATE>, B<FAN_DELETE> et B<FAN_MOVE>, " -"I<gestionnaire_fichier> identifie le répertoire modifié et non l’objet " -"enfant créé/supprimé/déplacé. Si la valeur du champ I<info_type> est " -"B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le gestionnaire de fichiers est suivi par " -"un octet NULL final qui identifie le nom d’entrée de répertoire créé/" -"supprimé/déplacé. Pour les autres évènements tels que B<FAN_OPEN>, " -"B<FAN_ATTRIB>, B<FAN_DELETE_SELF> et B<FAN_MOVE_SELF>, si la valeur du champ " -"I<info_type> est B<FAN_EVENT_INFO_TYPE_FID>, le I<gestionnaire_fichier> " -"identifie l’objet corrélé à l’évènement. Si la valeur du champ I<info_type> " -"est B<FAN_EVENT_INFO_TYPE_DFID>, le I<gestionnaire_fichier> identifie " -"l’objet de répertoire corrélé à l’évènement ou le répertoire parent d’un " -"objet non répertoire corrélé à l’évènement. Si la valeur du champ " -"I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le " -"I<gestionnaire_fichier> identifie le même objet de répertoire qui aurait été " -"rapporté avec B<FAN_EVENT_INFO_TYPE_DFID> et le gestionnaire de fichiers est " -"suivi par un octet NULL final qui identifie le nom de l’entrée de répertoire " -"dans ce répertoire ou « . » pour identifier l’objet du répertoire." +"C’est une structure de taille variable de type I<struct fili_handle>. C’est " +"un gestionnaire opaque qui correspond à un objet précis de système de " +"fichiers comme renvoyé par B<name_to_handle_at>(2). Il peut être utilisé " +"uniquement pour identifier un fichier d’un système de fichiers et peut être " +"passé comme argument à B<open_by_handle_at>(2). Si la valeur du champ " +"I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le gestionnaire de " +"fichiers est suivi d’un octet NULL final qui identifie le nom d’entrée de " +"répertoire créée/supprimée/déplacée. Pour les autres évènements tels que " +"B<FAN_OPEN>, B<FAN_ATTRIB>, B<FAN_DELETE_SELF> et B<FAN_MOVE_SELF>, si la " +"valeur du champ I<info_type> est B<FAN_EVENT_INFO_TYPE_FID>, le " +"I<file_handle> identifie l’objet corrélé à l’évènement. Si la valeur du " +"champ I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID>, le I<file_handle> " +"identifie l’objet de répertoire corrélé à l’évènement ou le répertoire " +"parent d’un objet non-répertoire corrélé à l’évènement. Si la valeur du " +"champ I<info_type> est B<FAN_EVENT_INFO_TYPE_DFID_NAME>, le I<file_handle> " +"identifie le même objet de répertoire qui aurait été rapporté avec " +"B<FAN_EVENT_INFO_TYPE_DFID> et le gestionnaire de fichiers est suivi d’un " +"octet NULL final qui identifie le nom de l’entrée de répertoire dans ce " +"répertoire ou « . » pour identifier l’objet du répertoire." #. type: Plain text -#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#: debian-bookworm opensuse-leap-15-6 msgid "" "Errors not directly related to a file (i.e. super block corruption) are " "reported with an invalid I<file_handle>. For these errors, the " "I<file_handle> will have the field I<handle_type> set to B<FILEID_INVALID>, " "and the handle buffer size set to B<0>." msgstr "" +"Les erreurs ne concernant pas directement un fichier (c’est-à-dire des " +"corruptions de superbloc) sont rapportées avec un I<file_handle> non " +"valable. Pour ces erreurs, le I<file_handle> aura le champ I<handle_type> " +"défini à B<FILEID_INVALID> et la taille de tampon de I<handle> définie " +"à B<0>." #. type: Plain text #: debian-bookworm @@ -2874,17 +3157,13 @@ msgstr "VERSIONS" #. type: Plain text #: debian-bookworm -#, fuzzy -#| msgid "" -#| "The fanotify API was introduced in version 2.6.36 of the Linux kernel and " -#| "enabled in version 2.6.37. Fdinfo support was added in version 3.8." msgid "" "The fanotify API was introduced in Linux 2.6.36 and enabled in Linux " "2.6.37. Fdinfo support was added in Linux 3.8." msgstr "" -"L’interface de programmation fanotify a été introduite dans la " -"version 2.6.36 du noyau Linux et activée dans la version 2.6.37. La prise en " -"charge de fdinfo a été ajoutée dans la version 3.8." +"L’interface de programmation fanotify a été introduite dans Linux 2.6.36 et " +"activée dans Linux 2.6.37. La prise en charge de fdinfo a été ajoutée dans " +"Linux 3.8." #. type: Plain text #: debian-bookworm @@ -2939,12 +3218,11 @@ msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "/* Read all available fanotify events from the file descriptor \\(aqfd\\(aq. */\n" +#, no-wrap msgid "/* Read all available fanotify events from the file descriptor \\[aq]fd\\[aq]. */\n" msgstr "" "/* Lire tous les événements fanotify disponibles à partir du descripteur\n" -" de fichier « fd » */\n" +"de fichier « fd » */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 @@ -2990,7 +3268,7 @@ msgstr " for (;;) {\n" #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Read some events. */\n" -msgstr " /* Lire certains événements */\n" +msgstr " /* Lire certains événements. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 @@ -3040,7 +3318,7 @@ msgstr " metadata = buf;\n" #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Loop over all events in the buffer. */\n" -msgstr " /* Boucler sur tous les événements du tampon */\n" +msgstr " /* Boucler sur tous les événements du tampon. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 @@ -3175,16 +3453,13 @@ msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| " path[path_len] = \\(aq\\e0\\(aq;\n" -#| " printf(\"File %s\\en\", path);\n" +#, no-wrap msgid "" " path[path_len] = \\[aq]\\e0\\[aq];\n" " printf(\"File %s\\en\", path);\n" msgstr "" -" path[path_len] = \\(aq\\e0\\(aq;\n" -" printf(\"File %s\\en\", path);\n" +" path[path_len] = \\[aq]\\e0\\[aq];\n" +" printf(\"Fichier %s\\en\", path);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 @@ -3330,7 +3605,7 @@ msgstr "" #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid " /* Prepare for polling. */\n" -msgstr " /* Préparer pour la scrutation (polling) */\n" +msgstr " /* Préparer pour la scrutation (polling). */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 @@ -3470,14 +3745,7 @@ msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| "# B<./fanotify_fid /home/user>\n" -#| "Listening for events.\n" -#| "FAN_CREATE (file created):\n" -#| " Directory /home/user has been modified.\n" -#| " Entry \\(aqtestfile.txt\\(aq is not a subdirectory.\n" -#| "All events processed successfully. Program exiting.\n" +#, no-wrap msgid "" "# B<./fanotify_fid /home/user>\n" "Listening for events.\n" @@ -3490,7 +3758,7 @@ msgstr "" "Écoute de tous les évènements.\n" "FAN_CREATE (fichier créé) :\n" " Répertoire /home/utilisateur a été modifié.\n" -" Entrée \\(aqfichiertest.txt\\(aq n’est pas un sous-répertoire.\n" +" Entrée « fichiertest.txt » n’est pas un sous-répertoire.\n" "Tous les évènements ont été traités avec succès. Fin du programme.\n" #. type: Plain text @@ -3501,14 +3769,7 @@ msgstr "$ B<touch /home/utilisateur/fichiertest.txt> # Dans un autre terminal\ #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| "# B<./fanotify_fid /home/user>\n" -#| "Listening for events.\n" -#| "FAN_CREATE | FAN_ONDIR (subdirectory created):\n" -#| " Directory /home/user has been modified.\n" -#| " Entry \\(aqtestdir\\(aq is a subdirectory.\n" -#| "All events processed successfully. Program exiting.\n" +#, no-wrap msgid "" "# B<./fanotify_fid /home/user>\n" "Listening for events.\n" @@ -3521,7 +3782,7 @@ msgstr "" "Écoute de tous les évènements.\n" "FAN_CREATE | FAN_ONDIR (sous_répertoire créé) :\n" " Répertoire /home/utilisateur a été modifié.\n" -" Entrée \\(aqréptest\\(aq est un sous-répertoire.\n" +" Entrée « réptest » est un sous-répertoire.\n" "Tous les évènements ont été traités avec succès. Fin du programme.\n" #. type: Plain text @@ -3778,16 +4039,7 @@ msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| "\t/* metadata-E<gt>fd is set to FAN_NOFD when the group identifies\n" -#| "\t objects by file handles. To obtain a file descriptor for\n" -#| "\t the file object corresponding to an event you can use the\n" -#| "\t struct file_handle that\\(aqs provided within the\n" -#| "\t fanotify_event_info_fid in conjunction with the\n" -#| "\t open_by_handle_at(2) system call. A check for ESTALE is\n" -#| "\t done to accommodate for the situation where the file handle\n" -#| "\t for the object was deleted prior to this system call. */\n" +#, no-wrap msgid "" "\t/* metadata-E<gt>fd is set to FAN_NOFD when the group identifies\n" "\t objects by file handles. To obtain a file descriptor for\n" @@ -3801,7 +4053,7 @@ msgstr "" "\t/* metadata-E<gt>fd est défini à FAN_NOFD quand le groupe identifie\n" "\t les objets avec des gestionnaires de fichiers. Pour obtenir un\n" "\t descripteur de fichier pour l’objet de fichier correspondant à\n" -"\t à un évènement, utiliser struct gestionnaire_fichier qui est\n" +"\t à un évènement, utiliser struct file_handle qui est\n" "\t fourni dans le fanotify_event_info_fid conjointement avec l’appel\n" "\t système open_by_handle_at(2). Une vérification pour ESTALE est\n" "\t faite pour supporter la situation où le gestionnaire de fichiers\n" @@ -3869,36 +4121,17 @@ msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| " path[path_len] = \\(aq\\e0\\(aq;\n" -#| " printf(\"\\etDirectory \\(aq%s\\(aq has been modified.\\en\", path);\n" +#, no-wrap msgid "" " path[path_len] = \\[aq]\\e0\\[aq];\n" " printf(\"\\etDirectory \\[aq]%s\\[aq] has been modified.\\en\", path);\n" msgstr "" " path[path_len] = \\(aq\\e0\\(aq;\n" -" printf(\"\\eLe répertoire \\(aq%s\\(aq a été modifié\\en\", path);\n" - -#. type: Plain text -#: debian-bookworm opensuse-leap-15-6 -#, fuzzy, no-wrap -#| msgid "" -#| " if (file_name) {\n" -#| " ret = fstatat(event_fd, file_name, &sb, 0);\n" -#| " if (ret == -1) {\n" -#| " if (errno != ENOENT) {\n" -#| " perror(\"fstatat\");\n" -#| " exit(EXIT_FAILURE);\n" -#| " }\n" -#| " printf(\"\\etEntry \\(aq%s\\(aq does not exist.\\en\", file_name);\n" -#| " } else if ((sb.st_mode & S_IFMT) == S_IFDIR) {\n" -#| " printf(\"\\etEntry \\(aq%s\\(aq is a subdirectory.\\en\", file_name);\n" -#| " } else {\n" -#| " printf(\"\\etEntry \\(aq%s\\(aq is not a subdirectory.\\en\",\n" -#| " file_name);\n" -#| " }\n" -#| " }\n" +" printf(\"\\eLe répertoire « %s » a été modifié\\en\", chemin);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap msgid "" " if (file_name) {\n" " ret = fstatat(event_fd, file_name, &sb, 0);\n" @@ -3961,16 +4194,22 @@ msgstr "" "}\n" #. type: TH -#: debian-unstable opensuse-tumbleweed +#: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap -msgid "2023-05-03" -msgstr "3 mai 2023" +msgid "2023-10-31" +msgstr "31 octobre 2023" #. type: TH -#: debian-unstable opensuse-tumbleweed +#: fedora-40 mageia-cauldron #, no-wrap -msgid "Linux man-pages 6.05.01" -msgstr "Pages du manuel de Linux 6.05.01" +msgid "Linux man-pages 6.06" +msgstr "Pages du manuel de Linux 6.06" + +#. type: TH +#: fedora-rawhide +#, no-wrap +msgid "Linux man-pages 6.7" +msgstr "Pages du manuel de Linux 6.7" #. type: TH #: opensuse-leap-15-6 @@ -3983,3 +4222,9 @@ msgstr "3 avril 2023" #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04" + +#. type: TH +#: opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages (unreleased)" +msgstr "Pages du manuel de Linux (non publiées)" |