.\" -*- coding: UTF-8 -*- .\" Copyright 1980-1991, Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH lseek 2 "17 mai 2025" "Pagini de manual de Linux 6.15" .SH NUME lseek \- repoziționarea indicatorului de poziție pentru citirea/scrierea fișierului .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBoff_t lseek(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .fi .SH DESCRIERE \fBlseek\fP() repoziționează indicatorul poziției de fișier al descrierii fișierului deschis asociat cu descriptorul de fișier \fIfd\fP la argumentul \fIoffset\fP în conformitate cu directiva \fIwhence\fP după cum urmează: .TP \fBSEEK_SET\fP Indicatorul de poziție al fișierului este definit la \fIoffset\fP octeți. .TP \fBSEEK_CUR\fP Indicatorul de poziție al fișierului este definit la locația sa curentă plus \fIoffset\fP octeți. .TP \fBSEEK_END\fP Indicatorul de poziție al fișierului este definit la dimensiunea fișierului plus \fIoffset\fP octeți. .P \fBlseek\fP() permite ca indicatorul de poziție al fișierului să fie stabilit dincolo de sfârșitul fișierului (dar acest lucru nu modifică dimensiunea fișierului). Dacă ulterior se scriu date în acest punct, citirile ulterioare ale datelor din spațiu (o „gaură”) returnează octeți nuli („\[rs]0”) până când datele sunt scrise efectiv în spațiu. .SS "Căutarea datelor și a găurilor din fișiere" Începând cu Linux 3.1, Linux acceptă următoarele valori suplimentare pentru \fIwhence\fP: .TP \fBSEEK_DATA\fP Ajustează indicatorul de poziție al fișierului la următoarea locație din fișier mai mare sau egală cu \fIoffset\fP care conține date. Dacă \fIoffset\fP indică date, atunci indicatorul de poziție al fișierului este stabilit la \fIoffset\fP. .TP \fBSEEK_HOLE\fP Ajustează indicatorul de poziție al fișierului la următoarea gaură din fișier mai mare sau egală cu \fIoffset\fP. Dacă \fIoffset\fP indică mijlocul unei găuri, atunci indicatorul de poziție al fișierului este stabilit la \fIoffset\fP. Dacă nu există nicio gaură după \fIoffset\fP, atunci indicatorul de poziție al fișierului este ajustat la sfârșitul fișierului (de exemplu, există o gaură implicită la sfârșitul oricărui fișier). .P În ambele cazuri de mai sus, \fBlseek\fP() eșuează dacă \fIoffset\fP indică după sfârșitul fișierului. .P Aceste operații permit aplicațiilor să cartografieze găurile dintr\-un fișier dispers alocat. Acest lucru poate fi util pentru aplicații precum instrumentele de copie de rezervă a fișierelor, care pot economisi spațiu la crearea copiilor de rezervă și pot păstra găurile, dacă dispun de un mecanism de descoperire a găurilor. .P .\" https://lkml.org/lkml/2011/4/22/79 .\" http://lwn.net/Articles/440255/ .\" http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data În sensul acestor operații, o gaură este o secvență de zerouri care (în mod normal) nu a fost alocată în spațiul de stocare subiacent al fișierului. Cu toate acestea, un sistem de fișiere nu este obligat să raporteze găurile, astfel încât aceste operații nu sunt un mecanism garantat pentru cartografierea spațiului de stocare alocat efectiv unui fișier; (în plus, o secvență de zerouri care a fost scrisă efectiv în spațiul de stocare subiacent poate să nu fie raportată ca o gaură). În cea mai simplă punere în aplicare, un sistem de fișiere poate susține aceste operații făcând ca \fBSEEK_HOLE\fP să returneze întotdeauna poziția de la sfârșitul fișierului și făcând ca \fBSEEK_DATA\fP să returneze întotdeauna \fIoffset\fP (adică, chiar dacă locația la care se referă \fIoffset\fP este o gaură, se poate considera că aceasta constă din date care sunt o secvență de zerouri). .P Macrocomanda de testare a caracteristicilor \fB_GNU_SOURCE\fP trebuie definită pentru a obține definițiile \fBSEEK_DATA\fP și \fBSEEK_HOLE\fP din \fI\fP. .P Operațiile \fBSEEK_HOLE\fP și \fBSEEK_DATA\fP sunt acceptate pentru următoarele sisteme de fișiere: .IP \[bu] 3 Btrfs (începând cu Linux 3.1) .IP \[bu] .\" commit 93862d5e1ab875664c6cc95254fc365028a48bb1 OCFS (începând cu Linux 3.2) .IP \[bu] XFS (începând cu Linux 3.5) .IP \[bu] ext4 (începând cu Linux 3.8) .IP \[bu] \fBtmpfs\fP(5) (începând cu Linux 3.8) .IP \[bu] .\" commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 .\" commit 24bab491220faa446d945624086d838af41d616c NFS (începând cu Linux 3.18) .IP \[bu] .\" commit 0b5da8db145bfd44266ac964a2636a0cf8d7c286 FUSE (începând cu Linux 4.5) .IP \[bu] .\" commit 3a27411cb4bc3ce31db228e3569ad01b462a4310 GFS2 (începând cu Linux 4.15) .SH "VALOAREA RETURNATĂ" La finalizarea cu succes, \fBlseek\fP() returnează locația indicatorului de poziție rezultată, măsurată în octeți de la începutul fișierului. În caz de eroare, este returnată valoarea \fI(off_t)\ \-1\fP, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEBADF\fP \fIfd\fP nu este un descriptor de fișier deschis. .TP \fBEINVAL\fP .\" Some systems may allow negative offsets for character devices .\" and/or for remote filesystems. \fIwhence\fP nu este valid. Sau: poziția fișierului rezultat ar fi negativă sau dincolo de sfârșitul unui dispozitiv explorabil. .TP \fBENXIO\fP \fIwhence\fP este \fBSEEK_DATA\fP sau \fBSEEK_HOLE\fP, iar \fIoffset\fP se află dincolo de sfârșitul fișierului sau \fIwhence\fP este \fBSEEK_DATA\fP și \fIoffset\fP se află într\-o gaură la sfârșitul fișierului. .TP \fBEOVERFLOW\fP .\" HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW) Poziția din fișier rezultată nu poate fi reprezentată într\-un \fIoff_t\fP. .TP \fBESPIPE\fP \fIfd\fP este asociat cu o conductă, un soclu sau o FIFO (conductă cu nume). .SH VERSIUNI .\" Other systems return the number of written characters, .\" using SEEK_SET to set the counter. (Of written characters.) În Linux, utilizarea \fBlseek\fP() pe un dispozitiv de terminal eșuează cu eroarea \fBESPIPE\fP. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001, SVr4, 4.3BSD. .P .\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future \fBSEEK_DATA\fP și \fBSEEK_HOLE\fP sunt extensii non\-standard prezente și în Solaris, FreeBSD și DragonFly BSD; se propune includerea lor în următoarea revizuire POSIX (ediția 8). .SH NOTE Consultați \fBopen\fP(2) pentru o discuție a relației dintre descriptorii de fișiere, descrierile de fișiere deschise și fișiere. .P Dacă fanionul de stare a fișierului \fBO_APPEND\fP este activat la descrierea fișierului deschis, atunci un \fBwrite\fP(2) \fIîntotdeauna\fP mută indicatorul de poziție al fișierului la sfârșitul fișierului, indiferent de utilizarea \fBlseek\fP(). .P Unele dispozitive sunt incapabile de căutare și POSIX nu specifică care dispozitive trebuie să ofere suport pentru \fBlseek\fP(). .SH "CONSULTAȚI ȘI" \fBdup\fP(2), \fBfallocate\fP(2), \fBfork\fP(2), \fBopen\fP(2), \fBfseek\fP(3), \fBlseek64\fP(3), \fBposix_fallocate\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .