Subversion Repositories HelenOS

Rev

Rev 1536 | Rev 1653 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1536 Rev 1610
Line 62... Line 62...
62
{
62
{
63
    ipcarg_t r0,r1;
63
    ipcarg_t r0,r1;
64
    size_t i = 0;
64
    size_t i = 0;
65
 
65
 
66
    while (i < count) {
66
    while (i < count) {
67
        if (sync_send_2(streams[0].phone, CONSOLE_GETCHAR, 0, 0, &r0, &r1) < 0) {
67
        if (async_req_2(streams[0].phone, CONSOLE_GETCHAR, 0, 0, &r0, &r1) < 0) {
68
            return -1;
68
            return -1;
69
        }
69
        }
70
        ((char *)buf)[i++] = r0;
70
        ((char *)buf)[i++] = r0;
71
    }
71
    }
72
    return i;
72
    return i;
Line 76... Line 76...
76
{
76
{
77
    int i;
77
    int i;
78
    ipcarg_t r0,r1;
78
    ipcarg_t r0,r1;
79
 
79
 
80
    for (i = 0; i < count; i++)
80
    for (i = 0; i < count; i++)
81
        send_call(streams[1].phone, CONSOLE_PUTCHAR, ((const char *)buf)[i]);
81
        async_msg(streams[1].phone, CONSOLE_PUTCHAR, ((const char *)buf)[i]);
82
   
82
   
83
    return count;
83
    return count;
84
}
84
}
85
 
85
 
86
 
86
 
Line 128... Line 128...
128
 
128
 
129
 
129
 
130
fd_t open(const char *fname, int flags)
130
fd_t open(const char *fname, int flags)
131
{
131
{
132
    int c = 0;
132
    int c = 0;
133
   
133
 
134
    while (((streams[c].w) || (streams[c].r)) && (c < FDS))
134
    while (((streams[c].w) || (streams[c].r)) && (c < FDS))
135
        c++;
135
        c++;
136
    if (c == FDS)
136
    if (c == FDS)
137
        return EMFILE;
137
        return EMFILE;
138
   
138
   
Line 157... Line 157...
157
}
157
}
158
 
158
 
159
 
159
 
160
ssize_t write(int fd, const void *buf, size_t count)
160
ssize_t write(int fd, const void *buf, size_t count)
161
{
161
{
-
 
162
//  __SYSCALL3(SYS_IO, 1, (sysarg_t)buf, (sysarg_t) count);
-
 
163
//  return count;
162
    if (fd < FDS)
164
    if (fd < FDS)
163
        return streams[fd].w(streams[fd].param, buf, count);
165
        return streams[fd].w(streams[fd].param, buf, count);
164
   
166
   
165
    return 0;
167
    return 0;
166
}
168
}