tags:

views:

28

answers:

1

I'm trying to determine what libc_write does exactly. I'm executing a binary on a processor simulator I designed in c++ and the program being run has jumped to the function call libc_write(). Now, there are 2 different types of write functions - write() which writes one large buffer to a stream, possibly comprised of many buffers that were copied contiguously in memory from other buffers - and writev() which takes an array of pointers to one or many buffers along with each buffer's size and writes them all to a single stream. What does libc_write do? Write, Writev, both, none?

+1  A: 

libc_write is the LIBC's internal alias for write(3). Since writev(3) boils down to a separate syscall, you'd see libc_writev if you were calling it.

A side note - make Google Code Search your friend :)

Edit:

(3) means section 3 of the manual:

1. General Commands
2. System Calls
3. Subroutines
4. Special Files
5. File Formats
6. Games
7. Macros and Conventions
8. Maintenence Commands

I.e. write(2) means manual entry for write system call. write(3) means manual entry for write library routine.

Nikolai N Fetissov
You may need to explain what (3) means to this OP
Martin York
Martin, you are probably right. Thanks.
Nikolai N Fetissov