#pragma once
#include "fastfetch.h"
typedef struct FFLocalIpResult
{
FFstrbuf name;
FFstrbuf ipv4;
FFstrbuf ipv6;
FFstrbuf mac;
FFstrbuf flags;
int32_t mtu;
int32_t speed;
bool defaultRoute;
} FFLocalIpResult;
typedef struct FFLocalIpNIFlag
{
uint32_t flag;
const char *name;
} FFLocalIpNIFlag;
static inline void ffLocalIpFillNIFlags(FFstrbuf *buf, uint32_t flag, const FFLocalIpNIFlag names[])
{
for (const FFLocalIpNIFlag *nf = names; flag && nf->name; ++nf)
{
if (flag & nf->flag)
{
if (buf->length > 0)
ffStrbufAppendC(buf, ',');
ffStrbufAppendS(buf, nf->name);
flag &= ~nf->flag;
}
}
}
const char* ffDetectLocalIps(const FFLocalIpOptions* options, FFlist* results);