* Copyright (c) 1988, 1990 Regents of the University of California.
* %sccs.include.redist.c%
* Copyright (c) 1990 Robert Hagens
static char sccsid
[] = "@(#)Tesis.c 1.1 (Berkeley) %G%";
* This is a test program to listen to esis packets.
#include <netiso/tp_param.h>
#include <netiso/tp_user.h>
#define dbprintf if(verbose)printf
#define try(a,b,c) {x = (a b); dbprintf("%s%s returns %d\n",c,"a",x);\
if(x<0) {perror("a"); myexit(0);}}
struct sockaddr_iso faddr
, laddr
= { sizeof(laddr
), AF_ISO
};
struct sockaddr_iso
*siso
= &laddr
;
long size
, count
= 10, forkp
, confp
, echop
, mynamep
, verbose
= 1, playtag
= 0;
long records
, intercept
= 0, isode_mode
;
char your_it
[] = "You're it!";
char cmdata
[128 - sizeof(struct cmsghdr
)];
#define control cbuf.data
iov
, sizeof(iov
)/sizeof(iov
[1]),
int x
, s
, pid
, on
= 1, loop
= 0, n
, fromlen
, flags
= 0;
try(socket
, (AF_ISO
, SOCK_DGRAM
, ISOPROTO_ESIS
),"");
try(recvfrom
, (s
, readbuf
, sizeof(readbuf
), flags
,
dumpit("connection from:", name
, fromlen
);
dumpit("packet is:", readbuf
, n
);
msghdr
.msg_controllen
= 0;
n
= sendmsg(ns
, &msghdr
, flags
);
dbprintf("echoed %d\n", n
);
char *what
; unsigned short *where
; int n
;
unsigned short *s
= where
;
unsigned short *z
= where
+ (n
+1)/2;
printf("got %d records\n", records
);