perkamon - en to fr translation catalogue (68 entries)

note: type: TH
en: readv
fr: read

note: type: TH
en: 2023-05-03
fr: 3 mai 2023

note: type: TH
en: Linux man-pages 6.05.01
fr: Pages du manuel de Linux 6.05.01

note: type: SH
en: NAME
fr: NOM

note: type: Plain text
en: readv, writev, preadv, pwritev, preadv2, pwritev2 - read or write data into multiple buffers
fr: readv, writev, preadv, pwritev, preadv2, pwritev2 - Lire ou écrire des données dans plusieurs tampons

note: type: SH
en: LIBRARY
fr: BIBLIOTHÈQUE

note: type: Plain text
en: Standard C library (I<libc>, I<-lc>)
fr: Bibliothèque C standard (I<libc>, I<-lc>)

note: type: Plain text
en: Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):
fr: Exigences de macros de test de fonctionnalités pour la glibc (consulter B<feature_test_macros>(7)) :

note: type: Plain text
en: B<preadv>(), B<pwritev>():
fr: B<preadv>(), B<pwritev>() :

note: type: Plain text
en:     Since glibc 2.19:
            _DEFAULT_SOURCE
        glibc 2.19 and earlier:
            _BSD_SOURCE
fr:     Depuis la glibc 2.19 :
            _DEFAULT_SOURCE
        glibc 2.19 et antérieures :
            _BSD_SOURCE

note: type: Plain text
en: The B<readv>()  system call reads I<iovcnt> buffers from the file associated with the file descriptor I<fd> into the buffers described by I<iov> ("scatter input").
fr: L'appel système B<readv>() lit I<iovcnt> tampons depuis le fichier associé au descripteur de fichier I<fd> dans les tampons décrits par I<iov>.(« scatter input »)

note: type: Plain text
en: The B<writev>()  system call writes I<iovcnt> buffers of data described by I<iov> to the file associated with the file descriptor I<fd> ("gather output").
fr: L'appel système B<writev>() écrit au plus I<iovcnt> tampons de données décrits par I<iov> dans le fichier associé au descripteur I<fd> (« gather output »).

note: type: Plain text
en: The pointer I<iov> points to an array of I<iovec> structures, described in B<iovec>(3type).
fr: Le pointeur I<iov> pointe vers un tableau de structures I<iovec>, définies dans B<iovec>(3type)

note: type: Plain text
en: The B<readv>()  system call works just like B<read>(2)  except that multiple buffers are filled.
fr: L'appel système B<readv>() travaille comme B<read>(2) sauf que plusieurs tampons sont remplis.

note: type: Plain text
en: The B<writev>()  system call works just like B<write>(2)  except that multiple buffers are written out.
fr: L'appel système B<writev>() travaille comme B<write>(2) sauf que plusieurs tampons sont écrits.

note: type: Plain text
en: Buffers are processed in array order.  This means that B<readv>()  completely fills I<iov[0]> before proceeding to I<iov[1]>, and so on.  (If there is insufficient data, then not all buffers pointed to by I<iov> may be filled.)  Similarly, B<writev>()  writes out the entire contents of I<iov[0]> before proceeding to I<iov[1]>, and so on.
fr: Les tampons sont considérés dans l'ordre du tableau. Cela signifie que B<readv>() remplit I<iov>[0] complètement avant d'en arriver à I<iov>[1], et ainsi de suite. (S'il n'y a pas assez de données, tous les tampons pointés par I<iov> ne seront pas forcément remplis.) De même, B<writev>() écrit tout le contenu de I<iov>[0] avant de considérer I<iov>[1] et ainsi de suite.

note: Regarding atomicity, see https://bugzilla.kernel.org/show_bug.cgi?id=10596 type: Plain text
en: The data transfers performed by B<readv>()  and B<writev>()  are atomic: the data written by B<writev>()  is written as a single block that is not intermingled with output from writes in other processes; analogously, B<readv>()  is guaranteed to read a contiguous block of data from the file, regardless of read operations performed in other threads or processes that have file descriptors referring to the same open file description (see B<open>(2)).
fr: Les transferts de données effectués par B<readv>() et B<writev>() sont atomiques\ : les données écrites par B<writev>() sont écrites d'un bloc qui n'est pas interrompu par des écritures venant d'autres processus ; de façon similaire, B<readv>() a la garantie de lire un bloc contigu de données depuis le fichier, quelles que soient les opérations de lecture effectuées par d'autres threads ou processus qui ont des descripteurs de fichier correspondant à la même description de fichier ouvert (consultez B<open>(2)).

note: type: SS
en: preadv() and pwritev()
fr: preadv() et pwritev()

note: type: Plain text
en: The B<preadv>()  system call combines the functionality of B<readv>()  and B<pread>(2).  It performs the same task as B<readv>(), but adds a fourth argument, I<offset>, which specifies the file offset at which the input operation is to be performed.
fr: L'appel système B<preadv>() combine les fonctionnalités de B<readv>() et B<pread>(2). Il effectue la même tâche que B<readv>(), mais ajoute un quatrième paramètre, I<offset>, qui indique la position dans le fichier à partir de laquelle l'opération d'entrée doit être effectuée.

note: type: Plain text
en: The B<pwritev>()  system call combines the functionality of B<writev>()  and B<pwrite>(2).  It performs the same task as B<writev>(), but adds a fourth argument, I<offset>, which specifies the file offset at which the output operation is to be performed.
fr: L'appel système B<pwritev>() combine les fonctionnalités de B<writev>() et B<pwrite>(2). Il effectue la même tâche que B<writev>(), mais ajoute un quatrième paramètre, I<offset>, qui indique la position dans le fichier à partir de laquelle l'opération de sortie doit être effectuée.

note: type: Plain text
en: The file offset is not changed by these system calls.  The file referred to by I<fd> must be capable of seeking.
fr: La position dans le fichier n'est pas modifiée par ces appels système. Le fichier décrit par I<fd> doit permettre le positionnement.

note: type: SS
en: preadv2() and pwritev2()
fr: preadv2() et pwritev2()

note: type: Plain text
en: These system calls are similar to B<preadv>()  and B<pwritev>()  calls, but add a fifth argument, I<flags>, which modifies the behavior on a per-call basis.
fr: Ces appels système sont identiques aux appels B<preadv>() et B<pwritev>() mais ils ajoutent un cinquième paramètre (I<flags>) qui change le comportement sur la base de chaque appel.

note: type: Plain text
en: Unlike B<preadv>()  and B<pwritev>(), if the I<offset> argument is -1, then the current file offset is used and updated.
fr: Contrairement à B<preadv>() et B<pwritev>(), si le paramètre I<offset> est B<-1>, la tête de lecture du fichier actuel est utilisée et mise à jour.

note: type: Plain text
en: The I<flags> argument contains a bitwise OR of zero or more of the following flags:
fr: L'argument I<flags> est un opérateur OU binaire contenant zéro ou plusieurs des attributs suivants :

note: type: TP
en: B<RWF_DSYNC> (since Linux 4.7)
fr: B<RWF_DSYNC> (depuis Linux 4.7)

note: commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9 type: Plain text
en: Provide a per-write equivalent of the B<O_DSYNC> B<open>(2)  flag.  This flag is meaningful only for B<pwritev2>(), and its effect applies only to the data range written by the system call.
fr: Fournir un équivalent par écriture à l'attribut B<O_DSYNC> d'B<open>(2). Cet attribut n'a de sens que pour B<pwritev2>() et son effet ne vaut que pour la plage de données écrite par l'appel système.

note: type: TP
en: B<RWF_HIPRI> (since Linux 4.6)
fr: B<RWF_HIPRI> (depuis Linux 4.6)

note: type: Plain text
en: High priority read/write.  Allows block-based filesystems to use polling of the device, which provides lower latency, but may use additional resources.  (Currently, this feature is usable only on a file descriptor opened using the B<O_DIRECT> flag.)
fr: Lecture/écriture haute priorité. Cela permet à des systèmes de fichiers fondés sur les blocs d'utiliser la scrutation du périphérique, ce qui donne moins de latence mais peut coûter plus de ressources (actuellement, cette fonctionnalité n'est utilisable que sur un descripteur de fichier ouvert avec l'attribut B<O_DIRECT>).

note: type: TP
en: B<RWF_SYNC> (since Linux 4.7)
fr: B<RWF_SYNC> (depuis Linux 4.7)

note: commit e864f39569f4092c2b2bc72c773b6e486c7e3bd9 type: Plain text
en: Provide a per-write equivalent of the B<O_SYNC> B<open>(2)  flag.  This flag is meaningful only for B<pwritev2>(), and its effect applies only to the data range written by the system call.
fr: Fournir un équivalent par écriture de l'attribut B<O_SYNC> d'B<open>(2). Cet attribut n'a de sens que pour B<pwritev2>() et ses effets ne valent que pour la plage de données écrite avec cet appel système.

note: type: TP
en: B<RWF_NOWAIT> (since Linux 4.14)
fr: B<RWF_NOWAIT> (depuis Linux 4.14)

note: commit 3239d834847627b6634a4139cf1dc58f6f137a46 commit 91f9943e1c7b6638f27312d03fe71fcc67b23571 type: Plain text
en: Do not wait for data which is not immediately available.  If this flag is specified, the B<preadv2>()  system call will return instantly if it would have to read data from the backing storage or wait for a lock.  If some data was successfully read, it will return the number of bytes read.  If no bytes were read, it will return -1 and set I<errno> to B<EAGAIN> (but see B<BUGS>).  Currently, this flag is meaningful only for B<preadv2>().
fr: Ne pas attendre les données qui ne sont pas immédiatement disponibles. Si cet attribut est indiqué, l'appel système B<preadv2>() renverra quelque chose instantanément s'il doit lire des données provenant d'un stockage de cache ou attendre un verrou. Si des données ont été lues avec succès, il renverra le nombre d'octets lus. Si aucun octet n'est lu, il renverra B<-1> et positionnera I<errno> sur B<EAGAIN> (mais consultez B<BUGS>). Actuellement, cet attribut n'a de sens que pour B<preadv2>().

note: type: TP
en: B<RWF_APPEND> (since Linux 4.16)
fr: B<RWF_APPEND> (depuis Linux 4.16)

note: commit e1fc742e14e01d84d9693c4aca4ab23da65811fb type: Plain text
en: Provide a per-write equivalent of the B<O_APPEND> B<open>(2)  flag.  This flag is meaningful only for B<pwritev2>(), and its effect applies only to the data range written by the system call.  The I<offset> argument does not affect the write operation; the data is always appended to the end of the file.  However, if the I<offset> argument is -1, the current file offset is updated.
fr: Fournir un équivalent par écriture de l'attribut B<O_APPEND> d'B<open>(2). Cet attribut n'a de sens que pour B<pwritev2> et ses effets ne valent que pour la plage de données écrite par cet appel système. Le paramètre I<offset> n’affecte pas l'opération d'écriture ; les données vont toujours à la fin du fichier. Cependant, si le paramètre I<offset> est B<-1>, la tête de lecture du fichier actuel est mise à jour.

note: type: SH
en: RETURN VALUE
fr: VALEUR RENVOYÉE

note: type: Plain text
en: On success, B<readv>(), B<preadv>(), and B<preadv2>()  return the number of bytes read; B<writev>(), B<pwritev>(), and B<pwritev2>()  return the number of bytes written.
fr: S'ils réussissent, B<readv>(), B<preadv>() et B<preadv2>() renvoient le nombre d'octets lus ; B<writev>, B<pwritev>() et B<pwritev2>() renvoient le nombre d'octets écrits.

note: type: Plain text
en: Note that it is not an error for a successful call to transfer fewer bytes than requested (see B<read>(2)  and B<write>(2)).
fr: Remarquez que le fait de transférer moins d'octets que deux demandés (voir B<read>(2) et B<write>(2)) ne constitue pas une erreur empêchant le succès de l'appel.

note: type: Plain text
en: On error, -1 is returned, and I<errno> is set to indicate the error.
fr: En cas d'erreur, la valeur de retour est B<-1> et I<errno> est définie pour préciser l'erreur.

note: type: SH
en: ERRORS
fr: ERREURS

note: type: Plain text
en: The errors are as given for B<read>(2)  and B<write>(2).  Furthermore, B<preadv>(), B<preadv2>(), B<pwritev>(), and B<pwritev2>()  can also fail for the same reasons as B<lseek>(2).  Additionally, the following errors are defined:
fr: Les erreurs sont comme celles indiquées pour B<read>(2) et B<write>(2). En outre, B<preadv>(), B<preadv2>() et B<pwritev>() peuvent aussi échouer pour les mêmes raisons que B<lseek>(2). De plus, les erreurs suivantes peuvent survenir\ :

note: type: Plain text
en: The sum of the I<iov_len> values overflows an I<ssize_t> value.
fr: La somme des valeurs I<iov_len> déborde une valeur I<ssize_t>.

note: type: Plain text
en: The vector count, I<iovcnt>, is less than zero or greater than the permitted maximum.
fr: Le nombre de vecteurs I<iovcnt> est inférieur à zéro ou supérieur au maximum autorisé.

note: type: Plain text
en: An unknown flag is specified in I<flags>.
fr: Un drapeau inconnu est indiqué dans I<flags>.

note: type: SS
en: C library/kernel differences
fr: Différences entre bibliothèque C et noyau

note: type: Plain text
en: The raw B<preadv>()  and B<pwritev>()  system calls have call signatures that differ slightly from that of the corresponding GNU C library wrapper functions shown in the SYNOPSIS.  The final argument, I<offset>, is unpacked by the wrapper functions into two arguments in the system calls:
fr: Les appels système B<preadv>() et B<pwritev>() bruts ont une signature d'appel différant légèrement de celle des fonctions d'enveloppe de la bibliothèque C présentées dans le SYNOPSIS. Le paramètre I<offset> final est dépaqueté par les fonctions d'enveloppe sous la forme de deux paramètres des appels système :

note: type: Plain text
en: These arguments contain, respectively, the low order and high order 32 bits of I<offset>.
fr: Ces paramètres contiennent respectivement les 32 bits d'ordre bas et haut de l'I<offset>.

note: type: SH
en: HISTORY
fr: HISTORIQUE

note: Linux libc5 used \fIsize_t\fP as the type of the \fIiovcnt\fP argument, and \fIint\fP as the return type. The readv/writev system calls were buggy before Linux 1.3.40. (Says release.libc.) type: Plain text
en: POSIX.1-2001, 4.4BSD (first appeared in 4.2BSD).
fr: POSIX.1-2001, 4.4BSD (apparu dans 4.2BSD).

note: type: SS
en: Historical C library/kernel differences
fr: Différence historique entre la bibliothèque C et le noyau

note: type: Plain text
en: To deal with the fact that B<IOV_MAX> was so low on early versions of Linux, the glibc wrapper functions for B<readv>()  and B<writev>()  did some extra work if they detected that the underlying kernel system call failed because this limit was exceeded.  In the case of B<readv>(), the wrapper function allocated a temporary buffer large enough for all of the items specified by I<iov>, passed that buffer in a call to B<read>(2), copied data from the buffer to the locations specified by the I<iov_base> fields of the elements of I<iov>, and then freed the buffer.  The wrapper function for B<writev>()  performed the analogous task using a temporary buffer and a call to B<write>(2).
fr: Pour gérer le fait que B<IOV_MAX> était trop bas sur les premières versions de Linux, les fonctions d'enveloppe de la glibc pour B<readv>() et B<writev>() effectuaient un travail supplémentaire si elles détectaient que les appels système du noyau sous-jacents échouaient à cause d'un dépassement de la limite. Pour B<readv>(), la fonction d'enveloppe allouait un tampon temporaire assez grand pour tous les éléments de I<iov>, passait ce tampon dans un appel B<read>(2), copiait les données du tampon vers les emplacements indiqués par le champ I<iov_base> des éléments de I<iov>, puis libérait le tampon. La fonction d'enveloppe de B<writev>() faisait la même chose avec un tampon temporaire et un appel à B<write>(2).

note: type: Plain text
en: The need for this extra effort in the glibc wrapper functions went away with Linux 2.2 and later.  However, glibc continued to provide this behavior until glibc 2.10.  Starting with glibc 2.9, the wrapper functions provide this behavior only if the library detects that the system is running a Linux kernel older than Linux 2.6.18 (an arbitrarily selected kernel version).  And since glibc 2.20 (which requires a minimum of Linux 2.6.32), the glibc wrapper functions always just directly invoke the system calls.
fr: La nécessité d'un tel effort supplémentaire par les fonctions d'enveloppe de la glibc a disparu avec Linux 2.2 et ultérieurs. Cependant la glibc a continué à fournir ce comportement jusqu'à la glibs 2.10. À partir de la version 2.9 de la glibc, les fonctions d'enveloppe ne fournissent ce comportement que si la bibliothèque détecte que le système a un noyau Linux plus ancien que Linux 2.6.18 (une version du noyau sélectionnée à votre guise). Depuis la glibc 2.20 (qui nécessite au minimum Linux 2.6.32), les fonctions d'enveloppe de la glibc appellent simplement les appels système dans tous les cas.

note: type: Plain text
en: POSIX.1 allows an implementation to place a limit on the number of items that can be passed in I<iov>.  An implementation can advertise its limit by defining B<IOV_MAX> in I<E<lt>limits.hE<gt>> or at run time via the return value from I<sysconf(_SC_IOV_MAX)>.  On modern Linux systems, the limit is 1024.  Back in Linux 2.0 days, this limit was 16.
fr: POSIX.1 autorise une implémentation à poser une limite au nombre d'éléments qui peuvent être placés dans I<iov>. Une implémentation peut indiquer cette limite en définissant B<IOV_MAX> dans I<E<lt>limits.hE<gt>> ou pendant l'exécution à l'aide d'un code de retour issu de I<sysconf(_SC_IOV_MAX)>. Sur les systèmes Linux modernes, la limite est de 1024. À l'époque de Linux 2.0, la limite était de 16.

note: type: SH
en: BUGS
fr: BOGUES

note: See <https://lore.kernel.org/linux-fsdevel/fea8b16d-5a69-40f9-b123-e84dcd6e8f2e@www.fastmail.com/T/#u> The bug was introduced in efa8480a831 fs: RWF_NOWAIT should imply IOCB_NOIO and fixed in 06c0444290 mm/filemap.c: generic_file_buffered_read() now uses find_get_pages_contig type: Plain text
en: Linux 5.9 and Linux 5.10 have a bug where B<preadv2>()  with the B<RWF_NOWAIT> flag may return 0 even when not at end of file.
fr: Linux 5.9 et Linux 5.10 contiennent un bogue dans lequel B<preadv2>() avec l'attribut B<RWF_NOWAIT> peut renvoyer B<0> même quand la fin du fichier n'est pas atteinte.

note: type: SH
en: EXAMPLES
fr: EXEMPLES

note: type: Plain text
en: The following code sample demonstrates the use of B<writev>():
fr: Le segment de code suivant donne un exemple d'utilisation de B<writev>()\ :

note: type: SH
en: SEE ALSO
fr: VOIR AUSSI

note: type: TH
en: 2023-02-05
fr: 5 février 2023

note: type: TH
en: Linux man-pages 6.03
fr: Pages du manuel de Linux 6.03

note: type: Plain text
en: B<preadv>()  and B<pwritev>()  first appeared in Linux 2.6.30; library support was added in glibc 2.10.
fr: B<preadv>() et B<pwritev>() sont apparus dans Linux 2.6.30\ ; la glibc les gère depuis la version 2.10.

note: type: Plain text
en: B<preadv2>()  and B<pwritev2>()  first appeared in Linux 4.6.  Library support was added in glibc 2.26.
fr: B<preadv>() et B<pwritev>() sont apparus dans Linux 4.6. La prise en charge a été ajoutée à la glibc 2.26.

note: Linux libc5 used \fIsize_t\fP as the type of the \fIiovcnt\fP argument, and \fIint\fP as the return type. The readv/writev system calls were buggy before Linux 1.3.40. (Says release.libc.) type: Plain text
en: B<readv>(), B<writev>(): POSIX.1-2001, POSIX.1-2008, 4.4BSD (these system calls first appeared in 4.2BSD).
fr: B<readv>(), B<writev>() : POSIX.1-2001, POSIX.1-2008, 4.4BSD (ces appels système sont apparus pour la première fois dans 4.2BSD).

note: type: Plain text
en: B<preadv>(), B<pwritev>(): nonstandard, but present also on the modern BSDs.
fr: B<preadv>(), B<pwritev>() : non standard, mais sont aussi présents sur les BSD modernes.

note: type: Plain text
en: B<preadv2>(), B<pwritev2>(): nonstandard Linux extension.
fr: B<preadv2>(), B<pwritev2>() : extension Linux non standard.

note: type: TH
en: Linux man-pages 6.05
fr: Pages du manuel de Linux 6.05

note: type: TH
en: 2023-03-30
fr: 30 mars 2023

note: type: TH
en: Linux man-pages 6.04
fr: Pages du manuel de Linux 6.04
