]> Joshua Wise's Git repositories - netwatch.git/blame - lib/minilib.c
initial checkin of lwip, enough to build
[netwatch.git] / lib / minilib.c
CommitLineData
9b8c947b 1#include "console.h"
36ce375d 2#include <minilib.h>
9b8c947b 3
42e26afa 4void memcpy(void *dest, const void *src, int bytes)
9b8c947b 5{
ee681ad4
JW
6 char *cdest = dest;
7 const char *csrc = src;
9b8c947b 8 while (bytes--)
36ce375d 9 *(cdest++) = *(csrc++);
9b8c947b
JW
10}
11
6e6d4a8b
JP
12void memset(void *dest, int data, int bytes)
13{
14 unsigned char *cdest = dest;
15 while (bytes--)
16 *(cdest++) = (unsigned char)data;
17}
18
36ce375d 19void memmove(void *dest, void *src, int bytes)
9b8c947b 20{
36ce375d
JP
21 char * cdest = dest;
22 char * csrc = src;
23 if ((cdest > csrc) && (cdest <= (csrc + bytes)))
9b8c947b
JW
24 {
25 /* do it backwards! */
36ce375d
JP
26 cdest += bytes;
27 csrc += bytes;
9b8c947b 28 while (bytes--)
36ce375d 29 *(--cdest) = *(--csrc);
9b8c947b
JW
30 } else
31 while (bytes--)
36ce375d 32 *(cdest++) = *(csrc++);
9b8c947b
JW
33}
34
36ce375d 35int memcmp (const char *a2, const char *a1, int bytes) {
d56898ee 36 while (bytes--)
37 {
38 if (*(a2++) != *(a1++))
39 return 1;
40 }
41 return 0;
42}
43
36ce375d 44int strcmp (const char *a2, const char *a1) {
d56898ee 45 while (1) {
46 if (*a2 != *a1) return 1;
47 if (*a2 == 0) return 0;
48 a1++;
49 a2++;
50 }
51}
52
f2da2cd3 53int strlen(const char *c)
9b8c947b
JW
54{
55 int l = 0;
56 while (*(c++))
57 l++;
58 return l;
59}
60
36ce375d 61void strcpy(char *a2, const char *a1)
31be35cd
JW
62{
63 do {
64 *(a2++) = *a1;
65 } while (*(a1++));
66}
67
f2da2cd3 68void puts(const char *c)
9b8c947b
JW
69{
70 putbytes(c, strlen(c));
71}
72
73static char hexarr[] = "0123456789ABCDEF";
36ce375d 74void tohex(char *s, unsigned long l)
9b8c947b
JW
75{
76 int i;
77 for (i = 0; i < 8; i++)
78 {
31be35cd 79 s[i] = hexarr[l >> 28];
9b8c947b
JW
80 l <<= 4;
81 }
82}
31be35cd
JW
83
84void puthex(unsigned long l)
85{
36ce375d 86 char d[9];
31be35cd
JW
87 d[8] = 0;
88 tohex(d, l);
89 puts(d);
90}
644af6b4
JP
91
92unsigned short htons(unsigned short in)
93{
94 return (in >> 8) | (in << 8);
95}
6e6d4a8b
JP
96
97unsigned int htonl(unsigned int in)
98{
99 return ((in & 0xff) << 24) |
100 ((in & 0xff00) << 8) |
101 ((in & 0xff0000UL) >> 8) |
102 ((in & 0xff000000UL) >> 24);
103}
This page took 0.033191 seconds and 4 git commands to generate.