| .\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) |
| .\" Written 10 June 1995 by Andries Brouwer <aeb@cwi.nl> |
| .\" |
| .\" %%%LICENSE_START(VERBATIM) |
| .\" Permission is granted to make and distribute verbatim copies of this |
| .\" manual provided the copyright notice and this permission notice are |
| .\" preserved on all copies. |
| .\" |
| .\" Permission is granted to copy and distribute modified versions of this |
| .\" manual under the conditions for verbatim copying, provided that the |
| .\" entire resulting derived work is distributed under the terms of a |
| .\" permission notice identical to this one. |
| .\" |
| .\" Since the Linux kernel and libraries are constantly changing, this |
| .\" manual page may be incorrect or out-of-date. The author(s) assume no |
| .\" responsibility for errors or omissions, or for damages resulting from |
| .\" the use of the information contained herein. The author(s) may not |
| .\" have taken the same level of care in the production of this manual, |
| .\" which is licensed free of charge, as they might when working |
| .\" professionally. |
| .\" |
| .\" Formatted or processed versions of this manual, if unaccompanied by |
| .\" the source, must acknowledge the copyright and authors of this work. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Modified Thu Oct 31 15:16:23 1996 by Eric S. Raymond <esr@thyrsus.com> |
| .\" |
| .TH LLSEEK 2 2017-09-15 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| _llseek \- reposition read/write file offset |
| .SH SYNOPSIS |
| .nf |
| .B #include <sys/types.h> |
| .B #include <unistd.h> |
| .PP |
| .BI "int _llseek(unsigned int " fd ", unsigned long " offset_high , |
| .BI " unsigned long " offset_low ", loff_t *" result , |
| .BI " unsigned int " whence ); |
| .fi |
| .PP |
| .IR Note : |
| There is no glibc wrapper for this system call; see NOTES. |
| .SH DESCRIPTION |
| The |
| .BR _llseek () |
| system call repositions the offset of the open file description associated |
| with the file descriptor |
| .I fd |
| to |
| .I (offset_high<<32) | offset_low |
| bytes relative to the beginning of the file, the current file offset, |
| or the end of the file, depending on whether |
| .I whence |
| is |
| .BR SEEK_SET , |
| .BR SEEK_CUR , |
| or |
| .BR SEEK_END , |
| respectively. |
| It returns the resulting file position in the argument |
| .IR result . |
| .PP |
| This system call exists on various 32-bit platforms to support |
| seeking to large file offsets. |
| .SH RETURN VALUE |
| Upon successful completion, |
| .BR _llseek () |
| returns 0. |
| Otherwise, a value of \-1 is returned and |
| .I errno |
| is set to indicate the error. |
| .SH ERRORS |
| .TP |
| .B EBADF |
| .I fd |
| is not an open file descriptor. |
| .TP |
| .B EFAULT |
| Problem with copying results to user space. |
| .TP |
| .B EINVAL |
| .I whence |
| is invalid. |
| .SH CONFORMING TO |
| This function is Linux-specific, and should not be used in programs |
| intended to be portable. |
| .SH NOTES |
| Glibc does not provide a wrapper for this system call. |
| To invoke it directly, use |
| .BR syscall (2). |
| However, you probably want to use the |
| .BR lseek (2) |
| wrapper function instead. |
| .SH SEE ALSO |
| .BR lseek (2), |
| .BR open (2), |
| .BR lseek64 (3) |