#include <sys/types.h>
#include <sys/socket.h>
#include <netiso/iso.h>
#include <netiso/clnp.h>
#include <stdio.h>
#include <stdlib.h>
char NR[]= "Hello, world!\n";
#define NRL sizeof(NR)
int
main(int argc, char *argv[])
{
int s,r,i;
struct sockaddr_iso dst;
struct sockaddr_iso myname;
socklen_t mynamelen;
memset(&dst, 0, sizeof(dst));
dst.siso_len = sizeof(dst); /* nlen + 1 */
dst.siso_family = AF_ISO;
dst.siso_tlen = 0;
for (i=1; argv[i] && *argv[i] != ':'; i++) {
unsigned foo;
char *bar;
foo = strtoul(argv[i], &bar, 16);
dst.siso_data[i-1] = foo;
}
dst.siso_nlen = i-1;
for (++i; argv[i]; i++) {
unsigned foo;
char *bar;
foo = strtoul(argv[i], &bar, 16);
dst.siso_data[i-2] = foo;
}
dst.siso_tlen = i - 2 - dst.siso_nlen;
printf("nlen %d tlen %d\n", dst.siso_nlen, dst.siso_tlen);
s = socket(PF_ISO, SOCK_DGRAM, ISOPROTO_CLTP);
if (s < 0) {
err(1, "socket");
}
mynamelen = sizeof(myname);
r = sendto(s, NR, NRL, 0, (struct sockaddr *)&dst, sizeof(dst));
if (r < 0)
err(1, "sendto");
return 0;
}