|
Data Structures |
| struct | short_string |
| struct | sha1 |
| struct | tth |
Defines |
| #define | SIZE_FIELD_MAX 64 |
| | Max size of sprintf-ed size quantity.
|
| #define | GUID_RAW_SIZE 16 |
| | Binary representation of 128 bits.
|
| #define | GUID_HEX_SIZE 32 |
| | Hexadecimal GUID representation.
|
| #define | GUID_BASE32_SIZE 26 |
| | base32 GUID representation
|
| #define | g_string_printf g_string_sprintf |
| #define | g_strlcpy strlcpy |
| #define | g_strlcat strlcat |
| #define | CONST_STRLEN(x) (sizeof(x) - 1) |
| #define | set_flags(r, f) (r |= (f)) |
| #define | clear_flags(r, f) (r &= ~(f)) |
| #define | UINT8_HEX_BUFLEN (sizeof "FF") |
| #define | UINT8_DEC_BUFLEN (sizeof "255") |
| #define | UINT16_HEX_BUFLEN (sizeof "01234") |
| #define | UINT16_DEC_BUFLEN (sizeof "65535") |
| #define | UINT32_HEX_BUFLEN (sizeof "012345678") |
| #define | UINT32_DEC_BUFLEN (sizeof "4294967295") |
| #define | UINT64_HEX_BUFLEN (sizeof "0123456789ABCDEF") |
| #define | UINT64_DEC_BUFLEN (sizeof "18446744073709551615") |
| #define | IPV4_ADDR_BUFLEN (sizeof "255.255.255.255") |
| #define | IPV6_ADDR_BUFLEN (sizeof "0001:0203:0405:0607:0809:1011:255.255.255.255") |
| #define | TIMESTAMP_BUF_LEN (sizeof "9999-12-31 23:59:61") |
| #define | OFF_T_DEC_BUFLEN (sizeof(off_t) * CHAR_BIT) |
| #define | TIME_T_DEC_BUFLEN (sizeof(time_t) * CHAR_BIT) |
| #define | HOST_ADDR_BUFLEN (MAX(IPV4_ADDR_BUFLEN, IPV6_ADDR_BUFLEN)) |
| #define | HOST_ADDR_PORT_BUFLEN (HOST_ADDR_BUFLEN + sizeof ":[65535]") |
| #define | port_is_valid(port) (port != 0) |
| #define | IS_POWER_OF_2(x) ((x) && 0 == ((x) & ((x) - 1))) |
| #define | DEFAULT_DIRECTORY_MODE (S_IRWXU | S_IRGRP | S_IXGRP) |
| #define | BINARY_SEARCH(bs_type, bs_key, bs_size, bs_cmp, bs_get_key, bs_found) |
| | Perform a binary search over an array.
|
| #define | BINARY_ARRAY_SORTED(bs_array, bs_type, bs_field, bs_cmp, bs_field2str) |
| | Ensure a table used for binary search is sorted.
|
Typedefs |
| typedef short_string | short_string_t |
| typedef guint16 | flag_t |
| typedef time_t | time_delta_t |
| typedef sha1 | sha1_t |
| typedef tth | tth_t |
| typedef void(* | signal_handler_t )(gint signo) |
| typedef void(* | cidr_split_t )(guint32 ip, guint bits, gpointer udata) |
Functions |
| size_t | strlcpy (gchar *dst, const gchar *src, size_t dst_size) |
| | Needs to be defined if we are not using Glib 2.
|
| size_t | strlcat (gchar *dst, const gchar *src, size_t dst_size) |
| size_t | concat_strings (gchar *dst, size_t size, const gchar *s,...) G_GNUC_NULL_TERMINATED |
| | Concatenates a variable number of NUL-terminated strings into ``dst''.
|
| size_t | w_concat_strings (gchar **dst, const gchar *first,...) G_GNUC_NULL_TERMINATED |
| | Concatenates a variable number of NUL-terminated strings into buffer which will be allocated using walloc().
|
| gint | ascii_strcasecmp (const gchar *s1, const gchar *s2) |
| | Same as strcasecmp() but only case-insensitive for ASCII characters.
|
| gint | ascii_strncasecmp (const gchar *s1, const gchar *s2, size_t len) |
| | Same as strncasecmp() but only case-insensitive for ASCII characters.
|
| guchar | hex_digit (guchar x) |
| | Converts an integer to a single hexadecimal ASCII digit.
|
| gint | hex2int_inline (guchar c) |
| | Converts a hexadecimal char (0-9, A-F, a-f) to an integer.
|
| gint | dec2int_inline (guchar c) |
| | Converts a decimal char (0-9) to an integer.
|
| gint | alnum2int_inline (guchar c) |
| | Converts an alphanumeric char (0-9, A-Z, a-z) to an integer.
|
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_blank (gint c) |
| | ctype-like functions that allow only ASCII characters whereas the locale would allow others.
|
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_cntrl (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_digit (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_xdigit (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_upper (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_lower (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_alpha (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_alnum (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_space (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_graph (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_print (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gboolean | is_ascii_punct (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gint | ascii_toupper (gint c) |
G_GNUC_CONST WARN_UNUSED_RESULT
gint | ascii_tolower (gint c) |
| WARN_UNUSED_RESULT const gchar * | g_strip_context (const gchar *id, const gchar *val) |
| WARN_UNUSED_RESULT gchar * | skip_ascii_spaces (const gchar *s) |
| | Skips over all ASCII space characters starting at ``s''.
|
| WARN_UNUSED_RESULT gchar * | skip_ascii_non_spaces (const gchar *s) |
| | Skips over all characters which are not ASCII spaces starting at ``s''.
|
| WARN_UNUSED_RESULT gchar * | skip_ascii_alnum (const gchar *s) |
| | Skips over all characters which are ASCII alphanumerical characters starting at ``s''.
|
| WARN_UNUSED_RESULT gchar * | skip_ascii_blanks (const gchar *s) |
| | Skips over all ASCII blank characters starting at ``s''.
|
| WARN_UNUSED_RESULT gchar * | skip_dir_separators (const gchar *s) |
| gboolean | parse_ipv6_addr (const gchar *s, uint8_t *dst, const gchar **endptr) |
| const gchar * | ipv6_to_string (const guint8 *ipv6) |
| | Prints the IPv6 address ``ipv6'' to a static buffer.
|
| size_t | ipv6_to_string_buf (const guint8 *ipv6, gchar *dst, size_t size) |
| guint32 | string_to_ip (const gchar *) |
| gboolean | string_to_ip_strict (const gchar *s, guint32 *addr, const gchar **ep) |
| | A strict string to IP address conversion; when other stuff from misc.[ch] is not sufficient.
|
| gboolean | string_to_ip_and_mask (const gchar *str, guint32 *ip, guint32 *netmask) |
| | Extracts the IP address into `ip' and the netmask into `netmask'.
|
| gboolean | string_to_ip_port (const gchar *str, guint32 *ip, guint16 *port) |
| | Decompiles ip:port into ip and port.
|
| const gchar * | ip_to_string (guint32) |
| size_t | ipv4_to_string_buf (guint32 ip, gchar *buf, size_t size) |
| | Converts an IPv4 address in host-endian order to a string.
|
| const gchar * | hostname_port_to_string (const gchar *hostname, guint16 port) |
| const gchar * | local_hostname (void) |
| const gchar * | timestamp_to_string (time_t date) |
| | Convert time to ISO 8601 date plus time, e.g.
|
| const gchar * | timestamp_utc_to_string (time_t date) |
| | Convert time to an ISO 8601 timestamp, e.g.
|
| const gchar * | timestamp_rfc822_to_string (time_t date) |
| | Convert time to RFC-822 style date.
|
| const gchar * | timestamp_rfc822_to_string2 (time_t date) |
| | Same as date_to_rfc822_gchar(), to be able to use the two in the same printf() line.
|
| const gchar * | timestamp_rfc1123_to_string (time_t date) |
| | Convert time to RFC-1123 style date.
|
| size_t | timestamp_to_string_buf (time_t date, gchar *dst, size_t size) |
| | Convert time to ISO 8601 date plus time, e.g.
|
| size_t | time_locale_to_string_buf (time_t date, gchar *dst, size_t size) |
| | Convert time (without the date) to a human-readable string using the time representation of the current locale.
|
| short_string_t | timestamp_get_string (time_t date) |
| time_delta_t | delta_time (time_t t1, time_t t0) |
| void | time_t_check (void) |
| time_t | time_advance (time_t t, gulong delta) |
| | Advances the given timestamp by delta using saturation arithmetic.
|
| const gchar * | short_time (time_delta_t s) |
| const gchar * | short_time_ascii (time_delta_t t) |
| const gchar * | short_uptime (time_delta_t s) |
| | Alternate time formatter for uptime.
|
| const gchar * | compact_time (time_delta_t t) |
| | A variant of short_time_ascii() without whitespace.
|
| const gchar * | short_size (guint64 size, gboolean metric) |
| const gchar * | short_html_size (guint64 size, gboolean metric) |
| | Like short_size() but with unbreakable space between the digits and unit.
|
| const gchar * | short_kb_size (guint64 size, gboolean metric) |
| const gchar * | short_rate (guint64 rate, gboolean metric) |
| const gchar * | compact_size (guint64 size, gboolean metric) |
| const gchar * | compact_rate (guint64 rate, gboolean metric) |
| const gchar * | compact_kb_size (guint32 size, gboolean metric) |
| gchar * | short_value (gchar *buf, size_t size, guint64 v, gboolean metric) |
| gchar * | compact_value (gchar *buf, size_t size, guint64 v, gboolean metric) |
| short_string_t | short_rate_get_string (guint64 rate, gboolean metric) |
| const gchar * | sha1_to_string (const struct sha1 sha1) |
| const gchar * | sha1_to_urn_string (const struct sha1 *sha1) |
| gchar * | sha1_to_base32_buf (const struct sha1 *sha1, gchar *dst, size_t size) |
| | Convert binary SHA1 into a base32 string.
|
| const gchar * | sha1_base32 (const struct sha1 *sha1) |
| | Convert binary SHA1 into a base32 string.
|
| const struct sha1 * | base32_sha1 (const gchar *base32) |
| | Convert base32 string into binary SHA1.
|
| int | sha1_cmp (const struct sha1 *a, const struct sha1 *b) |
| const gchar * | tth_base32 (const struct tth *tth) |
| | Convert binary TTH into a base32 string.
|
| const struct tth * | base32_tth (const gchar *base32) |
| | Convert base32 string into a binary TTH.
|
| const gchar * | bitprint_to_urn_string (const struct sha1 *, const struct tth *) |
| const gchar * | guid_hex_str (const gchar *guid) |
| gboolean | hex_to_guid (const gchar *hexguid, gchar *guid) |
| | Converts hexadecimal string into a GUID.
|
| size_t | guid_to_string_buf (const gchar *guid, gchar *dst, size_t size) |
| const gchar * | guid_to_string (const gchar *guid) |
| gchar * | guid_base32_str (const gchar *guid) |
| | Converts GUID into its base32 representation, without the trailing padding.
|
| gchar * | base32_to_guid (const gchar *base32) |
| | Decode the base32 representation of a GUID.
|
| gboolean | is_absolute_path (const char *pathname) |
| | Check whether path is an absolute path.
|
| gboolean | is_directory (const gchar *pathname) |
| | Check whether path is a directory.
|
| gboolean | is_regular (const gchar *pathname) |
| | Check whether path points to a regular file.
|
| gboolean | is_symlink (const gchar *pathname) |
| | Check whether path is a symbolic link.
|
| gboolean | file_exists (const gchar *pathname) |
| | Check for file existence.
|
| gboolean | file_does_not_exist (const gchar *pathname) |
| | Check for file non-existence.
|
| guint32 | next_pow2 (guint32 n) |
| G_GNUC_CONST gboolean | is_pow2 (guint32 value) |
| | Checks whether the given value is a power of 2.
|
| void | random_init (void) |
| | Initialize random number generator.
|
| guint32 | random_value (guint32 max) WARN_UNUSED_RESULT |
| guint32 | random_raw (void) WARN_UNUSED_RESULT |
| void | guid_random_fill (gchar *xuid) |
| | Generate a new random GUID within given `xuid'.
|
| void | misc_init (void) |
| size_t | str_chomp (gchar *str, size_t len) |
| | Remove antepenultimate char of string if it is a "\r" followed by "\n".
|
| gint | hex2int (guchar c) |
| | Converts a hexadecimal char (0-9, A-F, a-f) to an integer.
|
| gboolean | is_printable (const gchar *buf, gint len) |
| | Check whether buffer contains printable data, suitable for "%s" printing.
|
| void | dump_hex (FILE *, const gchar *, gconstpointer, gint) |
| | Displays hex & ascii lines to the terminal (for debug) Displays the "title" then the characters in "s", # of bytes to print in "b".
|
| void | locale_strlower (gchar *, const gchar *) |
| | Copies ``src'' to ``dst'', converting all upper-case characters to lower-case.
|
| void | ascii_strlower (gchar *dst, const gchar *src) |
| | Copies ``src'' to ``dst'', converting all ASCII upper-case characters to ASCII lower-case.
|
| gint | strcmp_delimit (const gchar *a, const gchar *b, const gchar *delimit) |
| | Compare two strings case-senstive up to the specified delimiters.
|
| gint | ascii_strcasecmp_delimit (const gchar *a, const gchar *b, const gchar *delimit) |
| | Compare two strings case-insensitive up to the specified delimiters.
|
| size_t | filename_shrink (const gchar *filename, gchar *buf, size_t size) |
| | Shrinks a filename so that it fits into the given buffer.
|
| char * | unique_filename (const gchar *path, const gchar *file, const gchar *ext, gboolean(*name_is_uniq)(const gchar *pathname)) |
| | Determine unique filename for `file' in `path', with optional trailing extension `ext'.
|
| gchar * | hex_escape (const gchar *name, gboolean strict) |
| | Escape all non-printable chars into the hexadecimal "\xhh" form.
|
| gchar * | control_escape (const gchar *s) |
| | Escape all ASCII control chars except LF into the hexadecimal "\xhh" form.
|
| const gchar * | lazy_string_to_printf_escape (const gchar *src) |
| | Escapes a string so that it can be used careless with the POSIX printf tool.
|
| gint | highest_bit_set (guint32 n) G_GNUC_CONST |
| | Determine the highest bit set in `n', -1 if value was 0.
|
| gfloat | force_range (gfloat value, gfloat min, gfloat max) |
| | Enforce range boundaries on a given floating point number.
|
| gchar * | absolute_pathname (const gchar *file) |
| gchar * | make_pathname (const gchar *dir, const gchar *file) |
| | Create new pathname from the concatenation of the dirname and the basename of the file.
|
| gchar * | short_filename (gchar *fullname) |
| | Determine stripped down path, removing SRC_PREFIX if present.
|
| gchar * | data_hex_str (const gchar *data, size_t len) |
| gint | create_directory (const gchar *dir, mode_t mode) |
| | Creates the given directory including sub-directories if necessary.
|
| gint | compat_mkdir (const gchar *path, mode_t mode) |
| gboolean | filepath_exists (const gchar *dir, const gchar *file) |
| | Check whether file given by its dirname and its basename exists.
|
| const gchar * | filepath_basename (const gchar *pathname) |
| | Returns a pointer to the basename of the given pathname.
|
| gchar * | filepath_directory (const gchar *pathname) |
| | Creates a copy with the given pathname with the basename cut off.
|
| guint16 | parse_uint16 (const gchar *, gchar const **, guint, gint *) |
| guint32 | parse_uint32 (const gchar *, gchar const **, guint, gint *) |
| guint64 | parse_uint64 (const gchar *, gchar const **, guint, gint *) |
| size_t | uint32_to_string_buf (guint32 v, gchar *dst, size_t size) |
| size_t | uint64_to_string_buf (guint64 v, gchar *dst, size_t size) |
| size_t | off_t_to_string_buf (off_t v, gchar *dst, size_t size) |
| size_t | time_t_to_string_buf (time_t v, gchar *dst, size_t size) |
| const gchar * | uint32_to_string (guint32 v) |
| const gchar * | uint64_to_string (guint64 v) |
| const gchar * | uint64_to_string2 (guint64 v) |
| const gchar * | off_t_to_string (off_t v) |
| const gchar * | time_t_to_string (time_t v) |
| const gchar * | filesize_to_string (filesize_t v) |
| gint | parse_major_minor (const gchar *src, gchar const **endptr, guint *major, guint *minor) |
| gchar * | is_strprefix (const gchar *s, const gchar *prefix) WARN_UNUSED_RESULT |
| | Checks whether ``prefix'' is a prefix of ``str''.
|
| gchar * | is_strcaseprefix (const gchar *s, const gchar *prefix) WARN_UNUSED_RESULT |
| | Checks whether ``prefix'' is a prefix of ``str'' performing an case-insensitive (ASCII only) check.
|
| size_t | html_escape (const gchar *src, gchar *dst, size_t dst_size) |
| | Copies the NUL-terminated string ``src'' to ``dst'' replacing all characters which are reserved in HTML with a replacement string.
|
| guint32 | html_decode_entity (const gchar *src, const gchar **endptr) |
| gint | canonize_path (gchar *dst, const gchar *path) |
| | Creates the canonical representation of a path.
|
| guint | compat_max_fd (void) |
| void | close_file_descriptors (const int first_fd) |
| | Closes all file descriptors greater or equal to ``first_fd''.
|
| gboolean | compat_is_superuser (void) |
| int | compat_daemonize (const char *directory) |
| | Daemonizes the current process.
|
| void | set_close_on_exec (gint fd) |
| void | compat_fadvise_sequential (int fd, off_t offset, off_t size) |
| void * | compat_memmem (const void *data, size_t data_size, const void *pattern, size_t pattern_size) |
| | Equivalent to strstr() for raw memory without NUL-termination.
|
| int | get_non_stdio_fd (int fd) |
| | If we detect that stdio cannot handle file descriptors above 255, this functions tries to reassign 'fd' to a file descriptor above 255 in order to reserve lower file descriptors for stdio.
|
| signal_handler_t | set_signal (gint signo, signal_handler_t handler) |
| | Installs a signal handler.
|
| gchar * | ascii_strcasestr (const gchar *haystack, const gchar *needle) |
| | Same as strstr() but case-insensitive with respect to ASCII characters.
|
| gchar * | normalize_dir_separators (const gchar *s) |
| | Creates a string copy with all directory separators replaced with the canonic path component separator '/' (a slash).
|
| size_t | memcmp_diff (const void *a, const void *b, size_t n) |
| | Counts the number of bytes that differ between two chunks of memory.
|
| guint32 | cpu_noise (void) |
| guint | pointer_hash_func (const void *p) |
| guint | str_case_hash_func (gconstpointer key) |
| gint | str_case_eq_func (gconstpointer a, gconstpointer b) |
| size_t | clamp_strlen (const gchar *src, size_t src_size) |
| | Determines the length of a NUL-terminated string looking only at the first "src_size" bytes.
|
| const gchar * | NULL_STRING (const gchar *s) |
| const gchar * | EMPTY_STRING (const gchar *s) |
| G_GNUC_CONST guint32 | swap_guint32 (guint32 i) |
| | Swap endianness of a guint32.
|
G_GNUC_CONST WARN_UNUSED_RESULT
guint8 | netmask_to_cidr (guint32 netmask) |
| | Converts the given IPv4 netmask in host byte order to a CIDR prefix length.
|
G_GNUC_CONST WARN_UNUSED_RESULT
guint32 | cidr_to_netmask (guint bits) |
| | Converts the CIDR prefix length to a IPv4 netmask in host byte order.
|
| size_t | round_size (size_t align, size_t n) |
| | Rounds ``n'' up so that it matches the given alignment ``align''.
|
| gint | do_stat (const gchar *path, struct stat *buf) |
| | Wrapper for the stat() system call.
|
| gboolean | is_temporary_error (gint error) |
| gint | seek_to_filepos (gint fd, filesize_t pos) |
| | A wrapper around lseek() for handling filesize_t to off_t conversion.
|
| guint | filesize_per_100 (filesize_t size, filesize_t part) |
| guint | filesize_per_1000 (filesize_t size, filesize_t part) |
| guint | filesize_per_10000 (filesize_t size, filesize_t part) |
| void | ip_range_split (guint32 lower_ip, guint32 upper_ip, cidr_split_t cb, gpointer udata) |
| | Computes the set of CIDR ranges that make up the set of IPs between two boundary IPs, included.
|
| const char * | print_number (char *dst, size_t size, unsigned long value) |
Variables |
| gint | do_errno |