READ.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. ." @(#)read.2 6.6 (Berkeley) 5/23/86
  6. ."
  7. .TH READ 2 "May 23, 1986"
  8. .UC 4
  9. .SH NAME
  10. read - read input
  11. .SH SYNOPSIS
  12. .nf
  13. .ft B
  14. #include <sys/types.h>
  15. #include <unistd.h>
  16. ssize_t read(int fIdfP, void *fIbuffP, size_t fInbytesfP)
  17. .fi
  18. .SH DESCRIPTION
  19. .B Read
  20. attempts to read
  21. .I nbytes
  22. of data from the object referenced by the descriptor
  23. .I d
  24. into the buffer pointed to by
  25. .IR buf .
  26. .PP
  27. On objects capable of seeking, the
  28. .B read
  29. starts at a position
  30. given by the pointer associated with
  31. .IR d 
  32. (see
  33. .BR lseek (2)).
  34. Upon return from
  35. .BR read ,
  36. the pointer is incremented by the number of bytes actually read.
  37. .PP
  38. Objects that are not capable of seeking always read from the current
  39. position.  The value of the pointer associated with such an
  40. object is undefined.
  41. .PP
  42. Upon successful completion,
  43. .B read
  44. return the number of bytes actually read and placed in the buffer.
  45. The system guarantees to read the number of bytes requested if
  46. the descriptor references a normal file that has that many bytes left
  47. before the end-of-file, but in no other case.
  48. .PP
  49. If the returned value is 0, then
  50. end-of-file has been reached.
  51. .SH "RETURN VALUE
  52. If successful, the
  53. number of bytes actually read is returned.
  54. Otherwise, a -1 is returned and the global variable
  55. .B errno
  56. is set to indicate the error.
  57. .SH "ERRORS
  58. .B Read
  59. will fail if one or more of the following are true:
  60. .TP 15
  61. [EBADF]
  62. fIDfP is not a valid descriptor open for reading.
  63. .TP 15
  64. [EFAULT]
  65. fIBuffP points outside the allocated address space.
  66. .TP 15
  67. [EIO]
  68. An I/O error occurred while reading from the file system.
  69. .TP 15
  70. [EINTR]
  71. A read from a slow device was interrupted before
  72. any data arrived by the delivery of a signal.
  73. .TP 15
  74. [EAGAIN]
  75. The file was marked for non-blocking I/O,
  76. and no data were ready to be read.
  77. .SH "SEE ALSO"
  78. .BR dup (2),
  79. .BR fcntl (2),
  80. .BR open (2),
  81. .BR pipe (2),
  82. .BR write (2).