Subversion Repositories HelenOS

Rev

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

Rev 4353 Rev 4482
Line 31... Line 31...
31
 * @{
31
 * @{
32
 */
32
 */
33
/** @file
33
/** @file
34
 */
34
 */
35
 
35
 
36
#include <io/io.h>
-
 
37
#include <io/stream.h>
-
 
38
#include <string.h>
-
 
39
#include <malloc.h>
-
 
40
#include <libc.h>
36
#include <libc.h>
41
#include <ipc/ipc.h>
-
 
42
#include <ipc/ns.h>
37
#include <string.h>
43
#include <ipc/fb.h>
-
 
44
#include <ipc/services.h>
-
 
45
#include <ipc/console.h>
-
 
46
#include <console.h>
-
 
47
#include <kbd/kbd.h>
-
 
48
#include <unistd.h>
-
 
49
#include <async.h>
-
 
50
#include <sys/types.h>
38
#include <sys/types.h>
-
 
39
#include <unistd.h>
-
 
40
#include <io/klog.h>
51
 
41
 
52
ssize_t read_stdin(void *buf, size_t count)
42
size_t klog_write(const void *buf, size_t size)
53
{
-
 
54
    int cons_phone = console_open(false);
-
 
55
   
-
 
56
    if (cons_phone >= 0) {
-
 
57
        kbd_event_t ev;
-
 
58
        int rc;
-
 
59
        size_t i = 0;
-
 
60
       
-
 
61
        while (i < count) {
-
 
62
            do {
-
 
63
                rc = kbd_get_event(&ev);
-
 
64
                if (rc < 0) return -1;
-
 
65
            } while (ev.c == 0 || ev.type == KE_RELEASE);
-
 
66
           
-
 
67
            ((char *) buf)[i++] = ev.c;
-
 
68
        }
-
 
69
        return i;
-
 
70
    } else
-
 
71
        return -1;
-
 
72
}
-
 
73
 
-
 
74
/** Write a string to klog. */
-
 
75
int klog_puts(const char *str)
-
 
76
{
43
{
77
    return __SYSCALL3(SYS_KLOG, 1, (sysarg_t) str, str_size(str));
44
    return (size_t) __SYSCALL3(SYS_KLOG, 1, (sysarg_t) buf, size);
78
}
45
}
79
 
46
 
80
void klog_update(void)
47
void klog_update(void)
81
{
48
{
82
    (void) __SYSCALL3(SYS_KLOG, 1, NULL, 0);
49
    (void) __SYSCALL3(SYS_KLOG, 1, NULL, 0);