Wireshark 4.5.0
The Wireshark network protocol analyzer
|
#include <wireshark.h>
#include <wsutil/wmem/wmem.h>
#include <wsutil/inet_addr.h>
#include <wsutil/nstime.h>
Go to the source code of this file.
Functions | |
WS_DLL_PUBLIC char * | uint8_to_hex (char *out, uint8_t val) |
WS_DLL_PUBLIC char * | word_to_hex (char *out, uint16_t word) |
WS_DLL_PUBLIC char * | word_to_hex_punct (char *out, uint16_t word, char punct) |
WS_DLL_PUBLIC char * | word_to_hex_npad (char *out, uint16_t word) |
WS_DLL_PUBLIC char * | dword_to_hex (char *out, uint32_t dword) |
WS_DLL_PUBLIC char * | dword_to_hex_punct (char *out, uint32_t dword, char punct) |
WS_DLL_PUBLIC char * | qword_to_hex (char *out, uint64_t qword) |
WS_DLL_PUBLIC char * | qword_to_hex_punct (char *out, uint64_t qword, char punct) |
WS_DLL_PUBLIC char * | bytes_to_hexstr (char *out, const uint8_t *ad, size_t len) |
WS_DLL_PUBLIC char * | bytes_to_hexstr_punct (char *out, const uint8_t *ad, size_t len, char punct) |
WS_DLL_PUBLIC char * | bytes_to_str_punct_maxlen (wmem_allocator_t *scope, const uint8_t *buf, size_t buf_size, char punct, size_t max_bytes_len) |
WS_DLL_PUBLIC char * | bytes_to_str_maxlen (wmem_allocator_t *scope, const uint8_t *buf, size_t buf_size, size_t max_bytes_len) |
WS_DLL_PUBLIC char * | oct_to_str_back (char *ptr, uint32_t value) |
WS_DLL_PUBLIC char * | oct64_to_str_back (char *ptr, uint64_t value) |
WS_DLL_PUBLIC char * | hex_to_str_back_len (char *ptr, uint32_t value, int len) |
WS_DLL_PUBLIC char * | hex64_to_str_back_len (char *ptr, uint64_t value, int len) |
WS_DLL_PUBLIC char * | uint_to_str_back (char *ptr, uint32_t value) |
WS_DLL_PUBLIC char * | uint64_to_str_back (char *ptr, uint64_t value) |
WS_DLL_PUBLIC char * | uint_to_str_back_len (char *ptr, uint32_t value, int len) |
WS_DLL_PUBLIC char * | uint64_to_str_back_len (char *ptr, uint64_t value, int len) |
WS_DLL_PUBLIC char * | int_to_str_back (char *ptr, int32_t value) |
WS_DLL_PUBLIC char * | int64_to_str_back (char *ptr, int64_t value) |
WS_DLL_PUBLIC void | uint32_to_str_buf (uint32_t u, char *buf, size_t buf_len) |
WS_DLL_PUBLIC void | uint64_to_str_buf (uint64_t u, char *buf, size_t buf_len) |
WS_DEPRECATED_X ("Use ip_num_to_str_buf() or ip_addr_to_str() instead") WS_DLL_PUBLIC void ip_to_str_buf(const uint8_t *ad | |
WS_DEPRECATED_X ("Use ip_num_to_str() or ip_addr_to_str() instead") WS_DLL_PUBLIC char *ip_to_str(wmem_allocator_t *scope | |
WS_DLL_PUBLIC void | ip_num_to_str_buf (uint32_t ad, char *buf, const int buf_len) |
WS_DLL_PUBLIC char * | ip_num_to_str (wmem_allocator_t *scope, uint32_t ad) |
WS_DLL_PUBLIC void | ip_addr_to_str_buf (const ws_in4_addr *ad, char *buf, const int buf_len) |
WS_DLL_PUBLIC char * | ip_addr_to_str (wmem_allocator_t *scope, const ws_in4_addr *ad) |
WS_DLL_PUBLIC void | ip6_to_str_buf (const ws_in6_addr *ad, char *buf, size_t buf_size) |
WS_DLL_PUBLIC char * | ip6_to_str (wmem_allocator_t *scope, const ws_in6_addr *ad) |
WS_DLL_PUBLIC char * | ipxnet_to_str_punct (wmem_allocator_t *scope, const uint32_t ad, const char punct) |
WS_DLL_PUBLIC char * | eui64_to_str (wmem_allocator_t *scope, const uint64_t ad) |
WS_DLL_PUBLIC int | format_fractional_part_nsecs (char *, size_t, uint32_t, const char *, int) |
WS_DLL_PUBLIC void | display_epoch_time (char *, size_t, const nstime_t *, int) |
WS_DLL_PUBLIC void | display_signed_time (char *, size_t, const nstime_t *, int) |
WS_DLL_PUBLIC void | format_nstime_as_iso8601 (char *, size_t, const nstime_t *, char *, bool, int) |
Variables | |
char * | buf |
char const int | buf_len |
const uint8_t * | ad |
Definitions for utilities to convert various other types to strings.
Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later
WS_DLL_PUBLIC char * bytes_to_hexstr | ( | char * | out, |
const uint8_t * | ad, | ||
size_t | len | ||
) |
Output hex representation of uint8_t array, and return pointer after last character. It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least len * 2 bytes in the buffer.
WS_DLL_PUBLIC char * bytes_to_hexstr_punct | ( | char * | out, |
const uint8_t * | ad, | ||
size_t | len, | ||
char | punct | ||
) |
Output hex representation of uint8_t array, and return pointer after last character. Each byte will be separated with punct character (cannot be NUL). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least len * 3 - 1 bytes in the buffer.
WS_DLL_PUBLIC char * bytes_to_str_maxlen | ( | wmem_allocator_t * | scope, |
const uint8_t * | buf, | ||
size_t | buf_size, | ||
size_t | max_bytes_len | ||
) |
Turn an array of bytes into a string showing the bytes in hex.
scope | memory allocation scheme used |
buf | A pointer to the byte array |
buf_size | The length of the byte array |
max_bytes_len | Maximum number of bytes to represent, zero for no limit. |
WS_DLL_PUBLIC char * bytes_to_str_punct_maxlen | ( | wmem_allocator_t * | scope, |
const uint8_t * | buf, | ||
size_t | buf_size, | ||
char | punct, | ||
size_t | max_bytes_len | ||
) |
Turn an array of bytes into a string showing the bytes in hex, separated by a punctuation character.
scope | memory allocation scheme used |
buf | A pointer to the byte array |
buf_size | The length of the byte array |
punct | The punctuation character |
max_bytes_len | Maximum number of bytes to represent, zero for no limit. |
WS_DLL_PUBLIC char * dword_to_hex | ( | char * | out, |
uint32_t | dword | ||
) |
Output uint32_t hex representation to 'out', and return pointer after last character. It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 8 bytes in the buffer.
WS_DLL_PUBLIC char * dword_to_hex_punct | ( | char * | out, |
uint32_t | dword, | ||
char | punct | ||
) |
Output uint32_t hex representation to 'out', and return pointer after last character. Each byte will be separated with punct character (cannot be NUL). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 11 bytes in the buffer.
WS_DLL_PUBLIC char * hex64_to_str_back_len | ( | char * | ptr, |
uint64_t | value, | ||
int | len | ||
) |
hex64_to_str_back()
Output uint64_t hex representation backward (last character will be written on ptr - 1), and return pointer to first character. This routine will output for sure (can output more) 'len' decimal characters (number padded with '0').
String is not NUL terminated by this routine. There needs to be at least 2 + MAX(16, len) bytes in the buffer.
WS_DLL_PUBLIC char * hex_to_str_back_len | ( | char * | ptr, |
uint32_t | value, | ||
int | len | ||
) |
hex_to_str_back()
Output uint32_t hex representation backward (last character will be written on ptr - 1), and return pointer to first character. This routine will output for sure (can output more) 'len' decimal characters (number padded with '0').
String is not NUL terminated by this routine. There needs to be at least 2 + MAX(8, len) bytes in the buffer.
WS_DLL_PUBLIC char * int64_to_str_back | ( | char * | ptr, |
int64_t | value | ||
) |
Output int64_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 21 bytes in the buffer.
WS_DLL_PUBLIC char * int_to_str_back | ( | char * | ptr, |
int32_t | value | ||
) |
Output int32_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 11 bytes in the buffer.
WS_DLL_PUBLIC char * oct64_to_str_back | ( | char * | ptr, |
uint64_t | value | ||
) |
Output uint64_t octal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 12 bytes in the buffer.
WS_DLL_PUBLIC char * oct_to_str_back | ( | char * | ptr, |
uint32_t | value | ||
) |
Output uint32_t octal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 12 bytes in the buffer.
WS_DLL_PUBLIC char * qword_to_hex | ( | char * | out, |
uint64_t | qword | ||
) |
Output uint64_t hex representation to 'out', and return pointer after last character. It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 16 bytes in the buffer.
WS_DLL_PUBLIC char * qword_to_hex_punct | ( | char * | out, |
uint64_t | qword, | ||
char | punct | ||
) |
Output uint64_t hex representation to 'out', and return pointer after last character. Each byte will be separated with punct character (cannot be NUL). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 22 bytes in the buffer.
WS_DLL_PUBLIC char * uint64_to_str_back | ( | char * | ptr, |
uint64_t | value | ||
) |
uint64_str_back()
Output uint64_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 20 bytes in the buffer.
WS_DLL_PUBLIC char * uint64_to_str_back_len | ( | char * | ptr, |
uint64_t | value, | ||
int | len | ||
) |
Output uint64_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character. This routine will output for sure (can output more) 'len' decimal characters (number padded with '0').
String is not NUL terminated by this routine. There needs to be at least MAX(20, len) bytes in the buffer.
WS_DLL_PUBLIC char * uint8_to_hex | ( | char * | out, |
uint8_t | val | ||
) |
Output uint8_t hex representation to 'out', and return pointer after last character (out + 2). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 2 bytes in the buffer.
WS_DLL_PUBLIC char * uint_to_str_back | ( | char * | ptr, |
uint32_t | value | ||
) |
Output uint32_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character.
String is not NUL terminated by this routine. There needs to be at least 10 bytes in the buffer.
WS_DLL_PUBLIC char * uint_to_str_back_len | ( | char * | ptr, |
uint32_t | value, | ||
int | len | ||
) |
Output uint32_t decimal representation backward (last character will be written on ptr - 1), and return pointer to first character. This routine will output for sure (can output more) 'len' decimal characters (number padded with '0').
String is not NUL terminated by this routine. There needs to be at least MAX(10, len) bytes in the buffer.
WS_DLL_PUBLIC char * word_to_hex | ( | char * | out, |
uint16_t | word | ||
) |
Output uint16_t hex representation to 'out', and return pointer after last character (out + 4). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 4 bytes in the buffer.
WS_DLL_PUBLIC char * word_to_hex_npad | ( | char * | out, |
uint16_t | word | ||
) |
Output uint16_t hex representation to 'out', and return pointer after last character. Value is not padded.
String is not NUL terminated by this routine. There needs to be at least 4 bytes in the buffer.
WS_DLL_PUBLIC char * word_to_hex_punct | ( | char * | out, |
uint16_t | word, | ||
char | punct | ||
) |
Output uint16_t hex representation to 'out', and return pointer after last character. Each byte will be separated with punct character (cannot be NUL). It will always output full representation (padded with 0).
String is not NUL terminated by this routine. There needs to be at least 5 bytes in the buffer.