#include "headers.h" static char *hmsg = "headers"; int nbudphdrsize; char * nbudpannounce(ushort port, int *fdp) { int data, ctl; char dir[64], datafile[64+6], addr[NETPATHLEN]; snprint(addr, sizeof(addr), "udp!*!%d", port); /* get a udp port */ ctl = announce(addr, dir); if(ctl < 0) return "can't announce on port"; snprint(datafile, sizeof(datafile), "%s/data", dir); /* turn on header style interface */ nbudphdrsize = Udphdrsize; if (write(ctl, hmsg, strlen(hmsg)) != strlen(hmsg)) return "failed to turn on headers"; data = open(datafile, ORDWR); if (data < 0) { close(ctl); return "failed to open data file"; } close(ctl); *fdp = data; return nil; }