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