//========================================================================== // // lib/read.c // // read() system call // //========================================================================== // ####BSDALTCOPYRIGHTBEGIN#### // ------------------------------------------- // Portions of this software may have been derived from OpenBSD // or other sources, and if so are covered by the appropriate copyright // and license included herein. // ------------------------------------------- // ####BSDALTCOPYRIGHTEND#### //========================================================================== //#####DESCRIPTIONBEGIN#### // // Author(s): gthomas // Contributors: gthomas // Date: 2000-01-10 // Purpose: // Description: // // //####DESCRIPTIONEND#### // //========================================================================== #include #include #include #include #include int read(int fd, void *buf, size_t len) { struct sys_read_args args; int res, error; SYSCALLARG(args,fd) = fd; SYSCALLARG(args,buf) = buf; SYSCALLARG(args,nbyte) = len; error = sys_read(&args, &res); if (error) { errno = error; return -1; } else { return res; } }