00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00035 #include <libc.h>
00036 #include <unistd.h>
00037 #include <stdio.h>
00038 #include <io/io.h>
00039
00040 static char nl = '\n';
00041
00042 int puts(const char * str)
00043 {
00044 size_t count;
00045
00046 if (str == NULL) {
00047 return putnchars("(NULL)",6 );
00048 }
00049
00050 for (count = 0; str[count] != 0; count++);
00051 if (write(1, (void * ) str, count) == count) {
00052 if (write(1, &nl, 1) == 1)
00053 return 0;
00054 }
00055
00056 return EOF;
00057 }
00058
00064 int putnchars(const char * buf, size_t count)
00065 {
00066 if (write(1, (void * ) buf, count) == count) {
00067 return 0;
00068 }
00069
00070 return EOF;
00071 }
00072
00076 int putstr(const char * str)
00077 {
00078 size_t count;
00079
00080 if (str == NULL) {
00081 return putnchars("(NULL)",6 );
00082 }
00083
00084 for (count = 0; str[count] != 0; count++);
00085 if (write(1, (void * ) str, count) == count) {
00086 return 0;
00087 }
00088
00089 return EOF;
00090 }
00091
00092 int putchar(int c)
00093 {
00094 unsigned char ch = c;
00095 if (write(1, (void *)&ch , 1) == 1) {
00096 return c;
00097 }
00098
00099 return EOF;
00100 }
00101
00102 int getchar(void)
00103 {
00104 unsigned char c;
00105 if (read(0, (void *)&c , 1) == 1) {
00106 return c;
00107 }
00108
00109 return EOF;
00110 }
00111
00112
00113
00114