/* low-level packet transmit function, used below */ void tx_write(uint8_t *buf, size_t nbytes) { ssize_t ret; ret = osl_write(g_osl, buf, nbytes); if (ret < 0) die("packetio_tx_write: write to socket failed: %s\n", strerror(errno)); if (ret != (ssize_t)nbytes) die("packetio_tx_write: socket write for " FMT_SIZET " bytes, but %d went out\n", nbytes, ret); //#define BYTE_DUMP #ifdef BYTE_DUMP { int i,j=(nbytes>48)?48:nbytes; printf("sending " FMT_SIZET " bytes:\n",nbytes); for (i=0; i<j; i++) { printf("%02x%s%s", buf[i], (i%2)==1?" ": "", (i%16)==15? "\n": ""); } printf("\n"); } #endif }
/* low-level packet transmit function, used below */ void tx_write(uint8_t *buf, size_t nbytes) { ssize_t ret = osl_write(g_osl, buf, nbytes); if (ret < 0) die("packetio_tx_write: write to socket failed: %s\n", strerror(errno)); if (ret != nbytes) die("packetio_tx_write: socket write for %d bytes, but %d went out\n", nbytes, ret); #ifdef BYTE_DUMP { int i; for (i=0; i<nbytes; i++) { printf("%02x%s%s", buf[i], (i%2)==1?" ": "", (i%16)==15? "\n": ""); } printf("\n"); } #endif }