5 void *memset(void *b, int c, long len)
8 for (p = b; len > 0; len--)
13 void *memcpy(void *dst, const void *src, long len)
17 for (; len > 0; len--)
22 int memcmp(const void *b1, const void *b2, long len)
24 const char *p1 = b1, *p2 = b2;
25 for (; len > 0; len--) {
27 return (*p1 > *p2) ? 1 : -1;
34 int strlen(const char *s)
37 for (len = 0; *s; s++, len++)
42 char *strcpy(char *dst, const char *src)
45 for (;; dst++, src++) {
52 int strcmp(const char *s1, const char *s2)
56 return (*s1 > *s2) ? 1 : -1;
63 int strncmp(const char *s1, const char *s2, int len)
65 while ((*s1 || *s2) && (len > 0)) {
67 return (*s1 > *s2) ? 1 : -1;
76 int putc(unsigned char c)
79 serial_send_byte(SERIAL_DEFAULT_DEVICE, '\r');
80 return serial_send_byte(SERIAL_DEFAULT_DEVICE, c);
84 unsigned char getc(void)
86 unsigned char c = serial_recv_byte(SERIAL_DEFAULT_DEVICE);
87 c = (c == '\r') ? '\n' : c;
88 putc(c); /* ¥¨¥³¡¼¡¦¥Ð¥Ã¥¯ */
93 int puts(unsigned char *str)
101 int gets(unsigned char *buf)
115 int putxval(unsigned long value, int column)
120 p = buf + sizeof(buf) - 1;
123 if (!value && !column)
126 while (value || column) {
127 *(p--) = "0123456789abcdef"[value & 0xf];
129 if (column) column--;