Man page - aio_write(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

aio_write

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ERORI-IEȘIRE
ATRIBUTE
STANDARDE
ISTORIC
NOTE
CONSULTAȚI ȘI
TRADUCERE

NUME

aio_write - scriere asincronă

BIBLIOTECA

Biblioteca de timp real ( librt , -lrt )

SINOPSIS

#include <aio.h>

int aio_write(struct aiocb * aiocbp );

DESCRIERE

Funcția aio_write () pune în coadă cererea de intrare/ieșire descrisă de memoria tampon indicată de aiocbp . Această funcție este analogul asincron al funcției write (2). Argumentele apelului

write(fd, buf, count)

corespund (în ordine) câmpurilor aio_fildes , aio_buf și aio_nbytes din structura indicată de aiocbp . (A se vedea aio (7) pentru o descriere a structurii aiocb ).

Dacă O_APPEND nu este definită, datele sunt scrise începând de la poziția absolută aiocbp->aio_offset , indiferent de poziția indicatorului în fișier. Dacă O_APPEND este definită, datele sunt scrise la sfârșitul fișierului în aceeași ordine în care sunt efectuate apelurile aio_write (). După apel, valoarea decalajului de fișier este nespecificată.

„Asincron” înseamnă că acest apel returnează imediat ce cererea a fost pusă în coadă; scrierea poate fi sau nu finalizată atunci când se returnează apelul. Se poate testa finalizarea folosind aio_error (3). Starea de returnare a unei operații In/Ieș finalizate poate fi obținută prin aio_return (3). Notificarea asincronă a finalizării de In/Ieș poate fi obținută prin configurarea corespunzătoare a aiocbp->aio_sigevent ; a se vedea sigevent (3type) pentru detalii.

Dacă _POSIX_PRIORITIZED_IO este definită, iar acest fișier o acceptă, atunci operația asincronă este transmisă cu o prioritate egală cu cea a procesului apelant minus aiocbp->aio_reqprio .

Câmpul aiocbp->aio_lio_opcode este ignorat.

Nu se scriu date într-un fișier normal dincolo de decalajul maxim al acestuia.

VALOAREA RETURNATĂ

În caz de succes, se returnează 0. În caz de eroare, cererea nu este pusă în coadă, se returnează -1, iar errno este configurată pentru a indica eroarea. În cazul în care o eroare este detectată abia mai târziu, aceasta va fi raportată prin intermediul aio_return (3) (returnează starea -1) și aio_error (3) (starea de eroare, oricare ar fi fost cea obținută în errno , cum ar fi EBADF ).

ERORI-IEȘIRE

EAGAIN

Resurse insuficiente.

EBADF

aio_fildes nu este un descriptor de fișier valid deschis pentru scriere.

EFBIG

Fișierul este un fișier obișnuit, dorim să scriem cel puțin un octet, dar poziția de pornire se află la sau dincolo de decalajul maxim pentru acest fișier.

EINVAL

Unul sau mai multe dintre aio_offset , aio_reqprio , aio_nbytes nu sunt valide.

ENOSYS

aio_write () nu este implementată.

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes (7).

Image grohtml-665590-1.png

STANDARDE

POSIX.1-2008.

ISTORIC

glibc 2.1. POSIX.1-2001.

NOTE

Este o idee bună să se pună la zero blocul de control înainte de utilizare. Blocul de control nu trebuie să fie modificat în timp ce operația de scriere este în desfășurare. Zona din memoria tampon care se scrie nu trebuie să fie accesată în timpul operațiunii, altfel pot apărea rezultate nedefinite. Zonele de memorie implicate trebuie să rămână valide.

Operațiile de In/Ieș simultane care specifică aceeași structură aiocb produc rezultate nedefinite.

CONSULTAȚI ȘI

aio_cancel (3), aio_error (3), aio_fsync (3), aio_read (3), aio_return (3), aio_suspend (3), lio_listio (3), aio (7)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net .