1145519Sdarrenr/* $FreeBSD$ */ 2145510Sdarrenr 331183Speter/* 453024Sguido * (C)opyright 1997-1998 Darren Reed. (from tcplog) 531183Speter * 6145510Sdarrenr * Redistribution and use in source and binary forms are permitted 7145510Sdarrenr * provided that this notice is preserved and due credit is given 8145510Sdarrenr * to the original author and the contributors. 931183Speter */ 1031183Speter#include <stdio.h> 1131183Speter#include <strings.h> 1231183Speter#include <unistd.h> 1331183Speter#include <stdlib.h> 1431183Speter#include <sys/types.h> 1531183Speter#include <sys/param.h> 1631183Speter#include <sys/socket.h> 1731183Speter#include <sys/file.h> 1831183Speter#include <sys/ioctl.h> 1931183Speter 2031183Speter 2131183Speterint initdevice(device, sport, tout) 2231183Speterchar *device; 2331183Speterint sport, tout; 2431183Speter{ 2531183Speter int fd; 2631183Speter 2731183Speter if ((fd = socket(AF_DLI, SOCK_RAW, 0)) == -1) 2831183Speter perror("socket"); 2931183Speter return fd; 3031183Speter} 3131183Speter 3231183Speter 3331183Speter/* 3431183Speter * output an IP packet onto a fd opened for /dev/bpf 3531183Speter */ 3631183Speterint sendip(fd, pkt, len) 3731183Speterint fd, len; 3831183Speterchar *pkt; 3931183Speter{ 4031183Speter if (send(fd, pkt, len, 0) == -1) 4131183Speter { 4231183Speter perror("send"); 4331183Speter return -1; 4431183Speter } 4531183Speter 4631183Speter return len; 4731183Speter} 4831183Speter 4931183Speter 5031183Speterchar *strdup(str) 5131183Speterchar *str; 5231183Speter{ 5331183Speter char *s; 5431183Speter 5531183Speter if ((s = (char *)malloc(strlen(str) + 1))) 5631183Speter return strcpy(s, str); 5731183Speter return NULL; 5831183Speter} 5931183Speter/* 6031183Speter * (C)opyright 1997 Darren Reed. (from tcplog) 6131183Speter * 6231183Speter * Redistribution and use in source and binary forms are permitted 6331183Speter * provided that this notice is preserved and due credit is given 6431183Speter * to the original author and the contributors. 6531183Speter */ 6631183Speter#include <stdio.h> 6731183Speter#include <strings.h> 6831183Speter#include <unistd.h> 6931183Speter#include <stdlib.h> 7031183Speter#include <sys/types.h> 7131183Speter#include <sys/param.h> 7231183Speter#include <sys/socket.h> 7331183Speter#include <sys/file.h> 7431183Speter#include <sys/ioctl.h> 7531183Speter 7631183Speter 7731183Speterint initdevice(device, sport, tout) 7831183Speterchar *device; 7931183Speterint sport, tout; 8031183Speter{ 8131183Speter int fd; 8231183Speter 8331183Speter if ((fd = socket(AF_DLI, SOCK_RAW, 0)) == -1) 8431183Speter perror("socket"); 8531183Speter return fd; 8631183Speter} 8731183Speter 8831183Speter 8931183Speter/* 9031183Speter * output an IP packet onto a fd opened for /dev/bpf 9131183Speter */ 9231183Speterint sendip(fd, pkt, len) 9331183Speterint fd, len; 9431183Speterchar *pkt; 9531183Speter{ 9631183Speter if (send(fd, pkt, len, 0) == -1) 9731183Speter { 9831183Speter perror("send"); 9931183Speter return -1; 10031183Speter } 10131183Speter 10231183Speter return len; 10331183Speter} 10431183Speter 10531183Speter 10631183Speterchar *strdup(str) 10731183Speterchar *str; 10831183Speter{ 10931183Speter char *s; 11031183Speter 11131183Speter if ((s = (char *)malloc(strlen(str) + 1))) 11231183Speter return strcpy(s, str); 11331183Speter return NULL; 11431183Speter} 115