]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/net/tcpip/v2_0/src/lib/read.c
Initial revision
[karo-tx-redboot.git] / packages / net / tcpip / v2_0 / src / lib / read.c
1 //==========================================================================
2 //
3 //      lib/read.c
4 //
5 //      read() system call
6 //
7 //==========================================================================
8 //####BSDCOPYRIGHTBEGIN####
9 //
10 // -------------------------------------------
11 //
12 // Portions of this software may have been derived from OpenBSD or other sources,
13 // and are covered by the appropriate copyright disclaimers included herein.
14 //
15 // -------------------------------------------
16 //
17 //####BSDCOPYRIGHTEND####
18 //==========================================================================
19 //#####DESCRIPTIONBEGIN####
20 //
21 // Author(s):    gthomas
22 // Contributors: gthomas
23 // Date:         2000-01-10
24 // Purpose:      
25 // Description:  
26 //              
27 //
28 //####DESCRIPTIONEND####
29 //
30 //==========================================================================
31
32
33 #include <sys/param.h>
34 #include <cyg/io/file.h>
35 #include <sys/socket.h>
36 #include <sys/socketvar.h>
37
38 #include <sys/syscallargs.h>
39
40 int 
41 read(int fd, void *buf, size_t len)
42 {
43     struct sys_read_args args;
44     int res, error;
45     SYSCALLARG(args,fd) = fd;
46     SYSCALLARG(args,buf) = buf;
47     SYSCALLARG(args,nbyte) = len;
48     error = sys_read(&args, &res);
49     if (error) {
50         errno = error;
51         return -1;
52     } else {
53         return res;
54     }
55 }