#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;
}
