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