Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
lseek64 - repoziționează poziția fișierului de citire/scriere pe 64 de biți
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#define _LARGEFILE64_SOURCE /* Consultați feature_test_macros(7) */
#include <sys/types.h>
#include <unistd.h>
off64_t lseek64(int fd, off64_t offset, int whence);
DESCRIERE
Familia de funcții lseek() repoziționează poziția fișierului deschis asociat descriptorului de fișier fd
la offset octeți în raport cu începutul, poziția curentă sau sfârșitul fișierului, atunci când whence are
valoarea SEEK_SET, SEEK_CUR sau SEEK_END, respectiv SEEK_END.
Pentru mai multe detalii, valoarea de returnare și erorile de ieșire, a se vedea lseek(2).
Sunt disponibile patru interfețe: lseek(), lseek64(), llseek() și _llseek().
lseek()
Prototip:
off_t lseek(int fd, off_t offset, int whence);
Funcția de învăluire lseek() a bibliotecii C utilizează tipul off_t. Acesta este un tip semnat pe 32 de
biți pe arhitecturi pe 32 de biți, cu excepția cazului în care se compilează cu
#define _FILE_OFFSET_BITS 64
caz în care este un tip semnat pe 64 de biți.
lseek64()
Prototip:
off64_t lseek64(int fd, off64_t offset, int whence);
Funcția de bibliotecă lseek64() utilizează un tip pe 64 de biți chiar și atunci când off_t este un tip pe
32 de biți. Prototipul său (și tipul off64_t) este disponibil numai atunci când se compilează cu
#define _LARGEFILE64_SOURCE
Funcția lseek64() este disponibilă începând cu glibc 2.1.
llseek()
Prototip:
loff_t llseek(int fd, loff_t offset, int whence);
Tipul loff_t este un tip semnat pe 64 de biți. Funcția de bibliotecă llseek() este disponibilă în glibc
și funcționează fără definiții speciale. Cu toate acestea, anteturile glibc nu oferă un prototip.
Utilizatorii ar trebui să adauge prototipul de mai sus, sau ceva echivalent, în sursa proprie. Atunci
când utilizatorii s-au plâns de pierderea de date cauzată de o compilare greșită a e2fsck(8), glibc 2.1.3
a adăugat avertismentul de timp de legătură
"funcția „llseek()” poate fi periculoasă; utilizați în schimb funcția „lseek64()”."
Acest lucru face ca această funcție să nu poată fi utilizată dacă se dorește o compilare fără
avertismente.
Începând cu glibc 2.28, acest simbol de funcție nu mai este disponibil pentru aplicațiile nou vinculate.
_llseek()
Pe arhitecturile pe 32 de biți, acesta este apelul de sistem care este utilizat (de către funcțiile de
învăluire ale bibliotecii C) pentru a implementa toate funcțiile de mai sus. Prototipul este:
int _llseek(int fd, off_t offset_hi, off_t offset_lo,
loff_t *result, int whence);
Pentru mai multe detalii, a se vedea llseek(2).
Sistemele pe 64 de biți nu au nevoie de un apel de sistem _llseek(). În schimb, acestea au un apel de
sistem lseek(2) care acceptă poziții de fișiere pe 64 de biți.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ lseek64() │ Siguranța firelor │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
NOTE
lseek64() este una dintre funcțiile care au fost specificate în specificația Large File Summit (LFS),
finalizată în 1996. Scopul acestei specificații a fost de a oferi un suport tranzitoriu care să permită
aplicațiilor de pe sistemele pe 32 de biți să acceseze fișiere a căror dimensiune depășește dimensiunea
care poate fi reprezentată cu un tip off_t pe 32 de biți. După cum s-a menționat mai sus, acest simbol
este expus de fișierele antet dacă este definită macrocomanda de testare a caracteristicii
_LARGEFILE64_SOURCE. Alternativ, pe un sistem pe 32 de biți, simbolul lseek este transformat în alias de
lseek64 dacă macro _FILE_OFFSET_BITS este definit cu valoarea 64.
CONSULTAȚI ȘI
llseek(2), lseek(2)
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.
Pagini de manual de Linux 6.9.1 2 mai 2024 lseek64(3)