home *** CD-ROM | disk | FTP | other *** search
- /* Ethernet header conversion routines
- * Copyright 1991 Phil Karn, KA9Q
- */
- #include "global.h"
- #include "mbuf.h"
- #include "enet.h"
-
- /* Convert Ethernet header in host form to network mbuf */
- struct mbuf *
- htonether(ether,data)
- struct ether *ether;
- struct mbuf *data;
- {
- struct mbuf *bp;
- register char *cp;
-
- if((bp = pushdown(data,ETHERLEN)) == NULLBUF)
- return NULLBUF;
-
- cp = bp->data;
-
- memcpy(cp,ether->dest,EADDR_LEN);
- cp += EADDR_LEN;
- memcpy(cp,ether->source,EADDR_LEN);
- cp += EADDR_LEN;
- put16(cp,ether->type);
-
- return bp;
- }
- /* Extract Ethernet header */
- int
- ntohether(ether,bpp)
- struct ether *ether;
- struct mbuf **bpp;
- {
- pullup(bpp,ether->dest,EADDR_LEN);
- pullup(bpp,ether->source,EADDR_LEN);
- ether->type = pull16(bpp);
- return ETHERLEN;
- }
-
-