void pcap_pktRx_handler(u_char *args, const struct pcap_pkthdr *header, const u_char *packet) { warpnetEthernetPktHeader* ethPktHdr; ethPktHdr = (warpnetEthernetPktHeader*)packet; if(ethPktHdr->ethType == WARPNET_ETHTYPE_SVR2NODE) ProcessServerMessage(args, header, packet); else if(ethPktHdr->ethType == WARPNET_ETHTYPE_NODE2COPROC) ProcessWARPnodeMessage(args, header, packet); else printf("pcap_pktRx_handler: Unknown ethertype: 0x%04x\n", ethPktHdr->ethType); return; }
static void do_logprintf(const char *format, ...) { SubHook::ScopedRemove remove(&logprintf_hook); char buffer[LogprintfBufferSize]; va_list args; va_start(args, format); #ifdef _MSC_VER vsprintf_s(buffer, sizeof(buffer), format, args); buffer[LogprintfBufferSize - 1] = '\0'; #else vsnprintf(buffer, sizeof(buffer), format, args); #endif va_end(args); for (std::vector<AMX*>::const_iterator it = scripts.begin(); it != scripts.end(); it++) { ProcessServerMessage(*it, buffer); } logprintf("%s", buffer); }