Example #1
0
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;
}
Example #2
0
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);
}