commit - bd8cb1a5b3e1d94b3894a92029426da1c292ef27
commit + 66209ac0fe8e09e2919783035e8183413a906567
blob - 54675d8cb7e0c51700c422cce7b0c6017c2d8ae4
blob + 95fc5f8ded88c9b1fb39df2147721eedddcf97c4
--- src/libip/bo.c
+++ src/libip/bo.c
#include <libc.h>
#include <ip.h>
+void
+hnputv(void *p, uvlong v)
+{
+ uchar *a;
+ a = p;
+ a[0] = v>>56;
+ a[1] = v>>48;
+ a[2] = v>>40;
+ a[3] = v>>32;
+ a[4] = v>>24;
+ a[5] = v>>16;
+ a[6] = v>>8;
+ a[7] = v;
+}
+
void
hnputl(void *p, uint v)
{
a[1] = v;
}
+uvlong
+nhgetv(void *p)
+{
+ uchar *a;
+ uvlong v;
+
+ a = p;
+ v = (uvlong)a[0]<<56;
+ v |= (uvlong)a[1]<<48;
+ v |= (uvlong)a[2]<<40;
+ v |= (uvlong)a[3]<<32;
+ v |= a[4]<<24;
+ v |= a[5]<<16;
+ v |= a[6]<<8;
+ v |= a[7]<<0;
+ return v;
+}
+
uint
nhgetl(void *p)
{
blob - aae565c0fc66ef9500b61fdfadc0810c2c4a28fd (mode 644)
blob + /dev/null
--- src/libip/ip.h
+++ /dev/null
-#pragma src "/sys/src/libip"
-#pragma lib "libip.a"
-
-enum
-{
- IPaddrlen= 16,
- IPv4addrlen= 4,
- IPv4off= 12,
- IPllen= 4,
-};
-
-/*
- * for reading /net/ipifc
- */
-typedef struct Ipifc Ipifc;
-typedef struct Ipifcs Ipifcs;
-
-struct Ipifc
-{
- char dev[64];
- uchar ip[IPaddrlen];
- uchar mask[IPaddrlen];
- uchar net[IPaddrlen]; /* ip & mask */
- Ipifc *next;
-};
-
-struct Ipifcs
-{
- Ipifc *first;
- Ipifc *last;
-};
-
-/*
- * user level udp headers
- */
-enum
-{
- Udphdrsize= 36, /* size of a Udphdr */
-};
-
-typedef struct Udphdr Udphdr;
-struct Udphdr
-{
- uchar raddr[IPaddrlen]; /* remote address and port */
- uchar laddr[IPaddrlen]; /* local address and port */
- uchar rport[2];
- uchar lport[2];
-};
-
-uchar* defmask(uchar*);
-void maskip(uchar*, uchar*, uchar*);
-int eipconv(va_list*, Fconv*);
-ulong parseip(uchar*, char*);
-ulong parseipmask(uchar*, char*);
-int parseether(uchar*, char*);
-int myipaddr(uchar*, char*);
-int myetheraddr(uchar*, char*);
-
-void readipifc(char*, Ipifcs*);
-
-void hnputl(void*, uint);
-void hnputs(void*, ushort);
-uint nhgetl(void*);
-ushort nhgets(void*);
-
-#define ipcmp(x, y) memcmp(x, y, IPaddrlen)
-#define ipmove(x, y) memmove(x, y, IPaddrlen)
-
-extern uchar IPv4bcast[IPaddrlen];
-extern uchar IPv4bcastobs[IPaddrlen];
-extern uchar IPv4allsys[IPaddrlen];
-extern uchar IPv4allrouter[IPaddrlen];
-extern uchar IPnoaddr[IPaddrlen];
-extern uchar v4prefix[IPaddrlen];
-extern uchar IPallbits[IPaddrlen];
-
-#define CLASS(p) ((*(uchar*)(p))>>6)