Utility functions.
More...
#include "src/lib/utility.h"
#include "src/lib/log.h"
#include "src/lib/sds/sds_extras.h"
#include <errno.h>
#include <ifaddrs.h>
#include <netdb.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/stat.h>
◆ get_extension_from_filename()
| const char * get_extension_from_filename |
( |
const char * | filename | ) |
|
Gets the extension of a filename
- Parameters
-
| filename | filename 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
◆ get_local_ip()
| sds get_local_ip |
( |
void | | ) |
|
|
static |
Gets the ip address of the first interface
- Returns
- ip address as sds string
◆ get_mympd_host()
| sds get_mympd_host |
( |
sds | mpd_host, |
|
|
sds | http_host ) |
|
static |
Private definitions
Private functions Gets the listening address of the embedded webserver
- Parameters
-
| mpd_host | mpd_host config setting |
| http_host | http_host config setting |
- Returns
- address of the embedded webserver as sds string
◆ is_streamuri()
| bool is_streamuri |
( |
const char * | uri | ) |
|
Checks if uri is a remote uri or a local file
- Parameters
-
- 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_directory | mpd music directory |
| filename | filename 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
-
| msec | milliseconds 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
-
| uri | uri to resolv |
| mpd_host | mpd host |
| config | pointer to config struct |
| prefer_ssl | Prefer https over http |
- Returns
- resolved uri
◆ mympd_uris
Initial value:= {
{"mympd://webradio/", "/webradio?uri=" },
{"mympd://", "/"},
{NULL, NULL}
}
Struct for mapping the special mympd:// uris