46 for (uint32_t u = 0; u < buflen; u++) {
64 for (uint32_t u = 0; u < buflen; u++) {
71 #define BUFFER_LENGTH 2048
75 for (uint32_t u = 0; u < buflen; u++) {
76 if (isprint(buf[u]) && buf[u] !=
'\"') {
90 fprintf(fp,
"%s", nbuf);
94 uint8_t *buf, uint32_t buflen)
96 for (uint32_t u = 0; u < buflen; u++) {
97 if (isprint(buf[u]) && buf[u] !=
'\"') {
119 fprintf(fp,
" (null)\n");
122 for (uint32_t u = 0; u < buflen; u += 16) {
123 fprintf(fp ,
" %04X ", u);
124 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
125 fprintf(fp,
"%02X ", (uint8_t)buf[u+ch]);
127 if (ch == 7) fprintf(fp,
" ");
129 if (ch == 16) fprintf(fp,
" ");
131 int spaces = (16 - ch) * 3 + 2 + 1;
133 for ( ; s < spaces; s++) fprintf(fp,
" ");
135 int spaces = (16 - ch) * 3 + 2;
137 for ( ; s < spaces; s++) fprintf(fp,
" ");
140 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
141 fprintf(fp,
"%c", isprint((uint8_t)buf[u+ch]) ? (uint8_t)buf[u+ch] :
'.');
143 if (ch == 7) fprintf(fp,
" ");
144 if (ch == 15) fprintf(fp,
"\n");
152 const uint8_t *src_buf, uint32_t src_buf_len)
156 for (uint32_t u = 0; u < src_buf_len; u += 16) {
159 for (ch = 0; (u + ch) < src_buf_len && ch < 16; ch++) {
161 "%02X ", (uint8_t)src_buf[u + ch]);
169 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
171 int spaces = (16 - ch) * 3 + 2 + 1;
173 for ( ; s < spaces; s++)
174 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
176 int spaces = (16 - ch) * 3 + 2;
178 for ( ; s < spaces; s++)
179 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
182 for (ch = 0; (u+ch) < src_buf_len && ch < 16; ch++) {
185 isprint((uint8_t)src_buf[u + ch]) ? (uint8_t)src_buf[u + ch] :
'.');
188 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
190 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
194 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
200 const uint8_t *src_buf,
const uint32_t src_buf_len)
202 for (uint32_t ch = 0; ch < src_buf_len && *dst_buf_offset_ptr < dst_buf_size;
203 ch++, (*dst_buf_offset_ptr)++) {
204 if (isprint((uint8_t)src_buf[ch]) || src_buf[ch] ==
'\n' || src_buf[ch] ==
'\r') {
205 dst_buf[*dst_buf_offset_ptr] = src_buf[ch];
207 dst_buf[*dst_buf_offset_ptr] =
'.';
210 dst_buf[dst_buf_size - 1] = 0;
216 # define s6_addr16 __u6_addr.__u6_addr16
219 static const char *PrintInetIPv6(
const void *
src,
char *
dst, socklen_t size)
230 memset(
dst, 0, size);
231 for (
int i = 0; i < 8; i++) {
232 snprintf(s_part,
sizeof(s_part),
"%04x:", htons(x[i]));
245 #if defined(OS_WIN32) && NTDDI_VERSION >= NTDDI_VISTA
250 memcpy(&_src,
src,
sizeof(
struct in_addr));
251 return inet_ntop(
af, &_src,
dst, size);
254 return inet_ntop(
af,
src,
dst, size);
258 return PrintInetIPv6(
src,
dst, size);
268 rs_to_hex((uint8_t *)
str, size, buf, buf_len);