Minix1.5/amoeba/kernel/util.c

#include "kernel.h"
#include "minix/com.h"
#include "proc.h"
#include "dp8390.h"
#include "assert.h"
#include "dp8390info.h"

#include "eplinfo.h"


struct eplinfo eplinfo = {0x280};

struct dp8390info dp8390info = {0x290, 6, 27, EPLUS_BASE, EPLUS_BASE};

extern vir_bytes eplus_seg;


#if !NONET
getheader(paddr, pkthead)
    phys_bytes paddr;
    struct rcvdheader *pkthead;
{
  vir_bytes  offset;
  char get_byte();

  offset = (paddr - EPLUS_BASE)&0xFFFF;
  pkthead->rp_status = get_byte(eplus_seg, offset);
  pkthead->rp_next = get_byte(eplus_seg, offset+1);
  pkthead->rp_rbcl = get_byte(eplus_seg, offset+2);
  pkthead->rp_rbch = get_byte(eplus_seg, offset+3);
}


short
getbint(paddr)
    phys_bytes paddr;
{
  vir_bytes offset;
  short t;
    
  offset = (paddr - EPLUS_BASE)&0xFFFF;
  return (((short)get_byte(eplus_seg, offset) & 0xFF)<<8) + 
	((short)get_byte(eplus_seg, offset+1) & 0xFF);
}
#endif