LSEEK.2
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." Copyright (c) 1980 Regents of the University of California.
  2. ." All rights reserved.  The Berkeley software License Agreement
  3. ." specifies the terms and conditions for redistribution.
  4. ."
  5. ." @(#)lseek.2 6.3 (Berkeley) 2/24/86
  6. ."
  7. .TH LSEEK 2 "February 24, 1986"
  8. .UC 4
  9. .SH NAME
  10. lseek - move read/write pointer
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <sys/types.h>
  15. #include <unistd.h>
  16. .ta +1.8i +0.6i
  17. #define SEEK_SET 0 /* offset is absolute */
  18. #define SEEK_CUR 1 /* relative to current position */
  19. #define SEEK_END 2 /* relative to end of file */
  20. off_t lseek(int d, off_t offset, int whence)
  21. .fi
  22. .ft R
  23. .SH DESCRIPTION
  24. The descriptor 
  25. .I d
  26. refers to a file or device open for reading and/or writing.
  27. .B Lseek
  28. sets the file pointer of
  29. .I d
  30. as follows:
  31. .IP
  32. If
  33. .I whence
  34. is SEEK_SET, the pointer is set to
  35. .I offset
  36. bytes.
  37. .IP
  38. If
  39. .I whence
  40. is SEEK_CUR, the pointer is set to its current location plus
  41. .IR offset .
  42. .IP
  43. If
  44. .I whence
  45. is SEEK_END, the pointer is set to the size of the
  46. file plus
  47. .IR offset .
  48. .PP
  49. Upon successful completion, the resulting pointer location
  50. as measured in bytes from beginning of the file is returned.
  51. Some devices are incapable of seeking.  The value of the pointer
  52. associated with such a device is undefined.
  53. .SH NOTES
  54. Seeking far beyond the end of a file, then writing,
  55. creates a gap or *(lqhole*(rq, which occupies no
  56. physical space and reads as zeros.
  57. .SH "RETURN VALUE
  58. Upon successful completion,
  59. the current file pointer value is returned.
  60. Otherwise,
  61. a value of -1 is returned and fBerrnofP is set to indicate
  62. the error.
  63. .SH "ERRORS
  64. .B Lseek
  65. will fail and the file pointer will remain unchanged if:
  66. .TP 15
  67. [EBADF]
  68. .I Fildes
  69. is not an open file descriptor.
  70. .TP 15
  71. [ESPIPE]
  72. .I Fildes
  73. is associated with a pipe or a socket.
  74. .TP 15
  75. [EINVAL]
  76. .I Whence
  77. is not a proper value.
  78. .SH "SEE ALSO"
  79. .BR fcntl (2),
  80. .BR open (2).
  81. .SH BUGS
  82. This document's use of
  83. .I whence
  84. is incorrect English, but maintained for historical reasons.