Data Structures | Enumerations | Functions | Variables

Utilities
[Core]

Data Structures

struct  nl_dump_params
 Dumping parameters. More...

Enumerations

enum  nl_dump_type {
  NL_DUMP_LINE,
  NL_DUMP_DETAILS,
  NL_DUMP_STATS,
  __NL_DUMP_MAX
}
 

Dumping types (dp_type).

More...

Functions

int __nl_read_num_str_file (const char *path, int(*cb)(long, const char *))

Variables

int nl_debug = 0
 Debug level.
struct nl_dump_params nl_debug_dp

Generic Unit Translations



long nl_size2int (const char *str)
 Convert a character string to a size.
char * nl_size2str (const size_t size, char *buf, const size_t len)
 Convert a size toa character string.
long nl_prob2int (const char *str)
 Convert a character string to a probability.

Time Translations



int nl_get_user_hz (void)
 Return the value of HZ.
uint32_t nl_us2ticks (uint32_t us)
 Convert micro seconds to ticks.
uint32_t nl_ticks2us (uint32_t ticks)
 Convert ticks to micro seconds.
int nl_str2msec (const char *str, uint64_t *result)
char * nl_msec2str (uint64_t msec, char *buf, size_t len)
 Convert milliseconds to a character string.

Netlink Family Translations



char * nl_nlfamily2str (int family, char *buf, size_t size)
int nl_str2nlfamily (const char *name)

Link Layer Protocol Translations



char * nl_llproto2str (int llproto, char *buf, size_t len)
int nl_str2llproto (const char *name)

Ethernet Protocol Translations



char * nl_ether_proto2str (int eproto, char *buf, size_t len)
int nl_str2ether_proto (const char *name)

Unit Pretty-Printing



double nl_cancel_down_bytes (unsigned long long l, char **unit)
 Cancel down a byte counter.
double nl_cancel_down_bits (unsigned long long l, char **unit)
 Cancel down a bit counter.
double nl_cancel_down_us (uint32_t l, char **unit)
 Cancel down a micro second value.

IP Protocol Translations



char * nl_ip_proto2str (int proto, char *buf, size_t len)
int nl_str2ip_proto (const char *name)

Dumping Helpers



void nl_new_line (struct nl_dump_params *params)
 Handle a new line while dumping.
void nl_dump (struct nl_dump_params *params, const char *fmt,...)
 Dump a formatted character string.
void nl_dump_line (struct nl_dump_params *parms, const char *fmt,...)

Probability Constants



#define NL_PROB_MIN   0x0
 Lower probability limit.
#define NL_PROB_MAX   0xffffffff
 Upper probability limit.

Enumeration Type Documentation

Dumping types (dp_type).

Enumerator:
NL_DUMP_LINE 

Dump object briefly on one line.

NL_DUMP_DETAILS 

Dump all attributes but no statistics.

NL_DUMP_STATS 

Dump all attributes including statistics.

Definition at line 21 of file types.h.


Function Documentation

double nl_cancel_down_bytes ( unsigned long long  l,
char **  unit 
)

Cancel down a byte counter.

Parameters:
l byte counter
unit destination unit pointer

Cancels down a byte counter until it reaches a reasonable unit. The chosen unit is assigned to unit.

Returns:
The cancelled down byte counter in the new unit.

Definition at line 103 of file utils.c.

double nl_cancel_down_bits ( unsigned long long  l,
char **  unit 
)

Cancel down a bit counter.

Parameters:
l bit counter
unit destination unit pointer

Cancels downa bit counter until it reaches a reasonable unit. The chosen unit is assigned to unit.

Returns:
The cancelled down bit counter in the new unit.

Definition at line 133 of file utils.c.

double nl_cancel_down_us ( uint32_t  l,
char **  unit 
)

Cancel down a micro second value.

Parameters:
l micro seconds
unit destination unit pointer

Cancels down a microsecond counter until it reaches a reasonable unit. The chosen unit is assigned to unit.

Returns:
The cancelled down microsecond in the new unit

Definition at line 164 of file utils.c.

long nl_size2int ( const char *  str  ) 

Convert a character string to a size.

Parameters:
str size encoded as character string

Converts the specified size as character to the corresponding number of bytes.

Supported formats are:

  • b,kb/k,m/mb,gb/g for bytes
  • bit,kbit/mbit/gbit
Returns:
The number of bytes or -1 if the string is unparseable

Definition at line 198 of file utils.c.

char* nl_size2str ( const size_t  size,
char *  buf,
const size_t  len 
)

Convert a size toa character string.

Parameters:
size Size in number of bytes
buf Buffer to write character string to
len Size of buf

This function converts a value in bytes to a human readable representation of it. The function uses IEC prefixes:

 1024 bytes => 1 KiB
 1048576 bytes => 1 MiB

The highest prefix is used which ensures a result of >= 1.0, the result is provided as floating point number with a maximum precision of 2 digits:

 965176 bytes => 942.55 KiB
Returns:
pointer to buf

Definition at line 261 of file utils.c.

long nl_prob2int ( const char *  str  ) 

Convert a character string to a probability.

Parameters:
str probability encoded as character string

Converts the specified probability as character to the corresponding probability number.

Supported formats are:

  • 0.0-1.0
  • 0-100%
Returns:
The probability relative to NL_PROB_MIN and NL_PROB_MAX

Definition at line 290 of file utils.c.

References NL_PROB_MAX.

uint32_t nl_us2ticks ( uint32_t  us  ) 

Convert micro seconds to ticks.

Parameters:
us micro seconds
Returns:
number of ticks

Definition at line 395 of file utils.c.

Referenced by rtnl_netem_set_delay(), and rtnl_netem_set_jitter().

Here is the caller graph for this function:

uint32_t nl_ticks2us ( uint32_t  ticks  ) 

Convert ticks to micro seconds.

Parameters:
ticks number of ticks
Returns:
microseconds

Definition at line 406 of file utils.c.

Referenced by rtnl_netem_get_delay(), and rtnl_netem_get_jitter().

Here is the caller graph for this function:

char* nl_msec2str ( uint64_t  msec,
char *  buf,
size_t  len 
)

Convert milliseconds to a character string.

Parameters:
msec number of milliseconds
buf destination buffer
len buffer length

Converts milliseconds to a character string split up in days, hours, minutes, seconds, and milliseconds and stores it in the specified destination buffer.

Returns:
The destination buffer.

Definition at line 459 of file utils.c.

void nl_new_line ( struct nl_dump_params params  ) 

Handle a new line while dumping.

Parameters:
params Dumping parameters

This function must be called before dumping any onto a new line. It will ensure proper prefixing as specified by the dumping parameters.

Note:
This function will NOT dump any newlines itself

Definition at line 766 of file utils.c.

References nl_dump_params::dp_buf, nl_dump_params::dp_buflen, nl_dump_params::dp_fd, nl_dump_params::dp_nl_cb, and nl_dump_params::dp_prefix.

void nl_dump ( struct nl_dump_params params,
const char *  fmt,
  ... 
)

Dump a formatted character string.

Parameters:
params Dumping parameters
fmt printf style formatting string
... Arguments to formatting string

Dumps a printf style formatting string to the output device as specified by the dumping parameters.

Definition at line 813 of file utils.c.


Variable Documentation

struct nl_dump_params nl_debug_dp
Initial value:
 {
        .dp_type = NL_DUMP_DETAILS,
}

Definition at line 28 of file utils.c.