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 char *retbuf, uint32_t *
offset, uint32_t retbuflen,
const uint8_t *buf,
size_t buflen)
96 for (
size_t u = 0; u < buflen; u++) {
97 if (isprint(buf[u]) && buf[u] !=
'\"') {
117 fprintf(fp,
" (null)\n");
120 for (uint32_t u = 0; u < buflen; u += 16) {
121 fprintf(fp ,
" %04X ", u);
122 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
123 fprintf(fp,
"%02X ", (uint8_t)buf[u+ch]);
125 if (ch == 7) fprintf(fp,
" ");
127 if (ch == 16) fprintf(fp,
" ");
129 int spaces = (16 - ch) * 3 + 2 + 1;
131 for ( ; s < spaces; s++) fprintf(fp,
" ");
133 int spaces = (16 - ch) * 3 + 2;
135 for ( ; s < spaces; s++) fprintf(fp,
" ");
138 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
139 fprintf(fp,
"%c", isprint((uint8_t)buf[u+ch]) ? (uint8_t)buf[u+ch] :
'.');
141 if (ch == 7) fprintf(fp,
" ");
142 if (ch == 15) fprintf(fp,
"\n");
150 const uint8_t *src_buf, uint32_t src_buf_len)
154 for (uint32_t u = 0; u < src_buf_len; u += 16) {
157 for (ch = 0; (u + ch) < src_buf_len && ch < 16; ch++) {
159 "%02X ", (uint8_t)src_buf[u + ch]);
167 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
169 int spaces = (16 - ch) * 3 + 2 + 1;
171 for ( ; s < spaces; s++)
172 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
174 int spaces = (16 - ch) * 3 + 2;
176 for ( ; s < spaces; s++)
177 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
180 for (ch = 0; (u+ch) < src_buf_len && ch < 16; ch++) {
183 isprint((uint8_t)src_buf[u + ch]) ? (uint8_t)src_buf[u + ch] :
'.');
186 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
188 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
192 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
196 const uint8_t *src_buf,
const uint32_t src_buf_len)
198 for (uint32_t ch = 0; ch < src_buf_len && *dst_buf_offset_ptr < dst_buf_size;
199 ch++, (*dst_buf_offset_ptr)++) {
200 if (isprint((uint8_t)src_buf[ch]) || src_buf[ch] ==
'\n' || src_buf[ch] ==
'\r') {
201 dst_buf[*dst_buf_offset_ptr] = src_buf[ch];
203 dst_buf[*dst_buf_offset_ptr] =
'.';
206 dst_buf[dst_buf_size - 1] = 0;
209 static const char *PrintInetIPv6(
const void *
src,
char *
dst, socklen_t size)
220 memset(
dst, 0, size);
221 for (
int i = 0; i < 8; i++) {
222 snprintf(s_part,
sizeof(s_part),
"%04x:", htons(x[i]));
235 #if defined(OS_WIN32) && NTDDI_VERSION >= NTDDI_VISTA
240 memcpy(&_src,
src,
sizeof(
struct in_addr));
241 return inet_ntop(
af, &_src,
dst, size);
244 return inet_ntop(
af,
src,
dst, size);
248 return PrintInetIPv6(
src,
dst, size);
258 rs_to_hex((uint8_t *)
str, size, buf, buf_len);