void send_artnet_pollreply() { Iface_Entry_Ext iface_entry; unsigned long broadcast; struct sockaddr_in servaddr; struct in_addr ip; int sockfd; int error; unsigned char data[239] = {'A','r','t','-','N','e','t',0,0,0x21, 0,0,0,0,0x36,0x19,0x34,0x32/*Version*/,0,0,0x13,0x37,0, /*Status*/0xF0,'4','2', 'S','h','o','r','t','N','a','m','e',' ','i','s',' ','n','i','k','s',0, 'L','o','n','g','N','a','m','e',' ','h','a','d',' ','i','k',' ', 'o','o','k',' ','a','l',' ','h','e','l','e','m','a','a','l',' ', 'g','e','e','n',' ','z','i','n',' ','i','n',' ','o','m',' ','t', 'e',' ','d','e','f','i','n','e','r','e','n','.','.','.','.',0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0x80,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0,0,0, /*Style = DMX from Art-Net*/0, /*MAC*/ 0,0,0,0,0,0, 0,0,0,0,0, /*Status2*/0x0E, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //Filler Get_Iface_Entries_Ext(&iface_entry, 1); memcpy(&data[10],iface_entry.devIPAddr,4); memcpy(&data[201],iface_entry.PhysAddr,6); broadcast = ((unsigned long)iface_entry.devIPAddr[0]) | (~((unsigned long)iface_entry.devNetmask[0])); sockfd = opensocket(SOCK_DGRAM, &error); if (sockfd != API_ERROR) { servaddr.sin_family = AF_INET; servaddr.sin_port = 0x3619; ip.s_addr = broadcast; servaddr.sin_addr = ip; sendto(sockfd, data, 239, 0, (const struct sockaddr *) &servaddr, &error); closesocket(sockfd, &error); } else { //printf("Waa no socket"); } }