myMPD
Internal API documentation
Loading...
Searching...
No Matches
utility.h File Reference

Utility functions. More...

#include "dist/sds/sds.h"
#include "src/lib/config/config_def.h"
#include <stdbool.h>
#include <time.h>
Include dependency graph for utility.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MEASURE_INIT
#define MEASURE_START   (void)clock_gettime(CLOCK_MONOTONIC, &tic);
#define MEASURE_END   (void)clock_gettime(CLOCK_MONOTONIC, &toc);
#define MEASURE_PRINT(PART, X)

Functions

bool is_streamuri (const char *uri)
bool is_virtual_cuedir (sds music_directory, sds filename)
const char * get_extension_from_filename (const char *filename)
void my_msleep (int msec)
sds resolv_mympd_uri (sds uri, sds mpd_host, struct t_config *config, bool prefer_ssl)
bool get_ipv6_support (void)

Detailed Description

Utility functions.

Macro Definition Documentation

◆ MEASURE_END

#define MEASURE_END   (void)clock_gettime(CLOCK_MONOTONIC, &toc);

Stop measurement

◆ MEASURE_INIT

#define MEASURE_INIT
Value:
struct timespec tic;\
struct timespec toc;

Initialize time measurement

◆ MEASURE_PRINT

#define MEASURE_PRINT ( PART,
X )
Value:
MYMPD_LOG_DEBUG(PART, "Execution time for %s: %" PRId64 " ms", X, \
(int64_t)(((toc.tv_sec * 1000) + (toc.tv_nsec / 1000000)) - ((tic.tv_sec * 1000) + (tic.tv_nsec / 1000000))));

Print measurement result

◆ MEASURE_START

#define MEASURE_START   (void)clock_gettime(CLOCK_MONOTONIC, &tic);

Start measurement

Function Documentation

◆ get_extension_from_filename()

const char * get_extension_from_filename ( const char * filename)

Gets the extension of a filename

Parameters
filenamefilename to get extension from
Returns
pointer to the extension

◆ get_ipv6_support()

bool get_ipv6_support ( void )

Checks for IPv6 support by searching for an IPv6 address on all interfaces

Returns
true on IPv6 support, else false

◆ is_streamuri()

bool is_streamuri ( const char * uri)

Checks if uri is a remote uri or a local file

Parameters
uriuri to check
Returns
true it is a uri else false

◆ is_virtual_cuedir()

bool is_virtual_cuedir ( sds music_directory,
sds filename )

Checks if the filename is a mpd virtual cue sheet directory MPD uses the cue filename as path, we simply check if the filename is a file or not

Parameters
music_directorympd music directory
filenamefilename to check
Returns
true if it is a cue file else false

◆ my_msleep()

void my_msleep ( int msec)

Public functions Sleep function that is interruptible

Parameters
msecmilliseconds to sleep

◆ resolv_mympd_uri()

sds resolv_mympd_uri ( sds uri,
sds mpd_host,
struct t_config * config,
bool prefer_ssl )

Resolves mympd:// uris to the real myMPD host address and respects the mympd_uri config option

Parameters
uriuri to resolv
mpd_hostmpd host
configpointer to config struct
prefer_sslPrefer https over http
Returns
resolved uri