34 |
|
|
35 |
|
|
36 |
/* Print the single character CHR on the output device. */ |
/* Print the single character CHR on the output device. */ |
37 |
void |
int |
38 |
putchar (int chr) |
putchar (int chr) |
39 |
{ |
{ |
40 |
l4_msg_t msg; |
l4_msg_t msg; |
48 |
/* FIXME: Hard coded thread ID. */ |
/* FIXME: Hard coded thread ID. */ |
49 |
l4_send (l4_global_id (l4_thread_user_base () + 2, 1)); |
l4_send (l4_global_id (l4_thread_user_base () + 2, 1)); |
50 |
/* FIXME: No error handling. */ |
/* FIXME: No error handling. */ |
51 |
|
|
52 |
|
return 0; |
53 |
|
} |
54 |
|
|
55 |
|
|
56 |
|
int |
57 |
|
puts (const char *str) |
58 |
|
{ |
59 |
|
while (*str != '\0') |
60 |
|
putchar (*(str++)); |
61 |
|
|
62 |
|
putchar ('\n'); |
63 |
|
|
64 |
|
return 0; |
65 |
} |
} |
66 |
|
|
67 |
|
|
102 |
} |
} |
103 |
|
|
104 |
|
|
105 |
void |
int |
106 |
printf (const char *fmt, ...) |
printf (const char *fmt, ...) |
107 |
{ |
{ |
108 |
va_list ap; |
va_list ap; |
217 |
break; |
break; |
218 |
} |
} |
219 |
} |
} |
220 |
|
|
221 |
|
return 0; |
222 |
} |
} |