/* filters.c */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include "snoop.h"

int cmp_eth_addr(char *addr1, char *addr2) {
  int i;
  int flag=1;

  for(i=0; (i < ETHER_ADDR_LEN) && flag; i++)
    if(addr1[i]!=addr2[i]) flag=0;
  
  return(flag);
}

int eth_filtersrc(ETHER_HEADER far *buf) {
  int index;
  int	flag=0;
  
  for(index=0; (index < src_index) && !flag; index++)
    flag = cmp_eth_addr(src_tbl[index],(char *)(buf->src));
  
  return(flag);
}

int eth_filterdst(ETHER_HEADER far *buf) {
  int index;
  int	flag=0;
  
  for(index=0; (index < dst_index) && !flag; index++)
    flag = cmp_eth_addr(dst_tbl[index],(char *)buf->dst);
  
  return(flag);
}

