summaryrefslogtreecommitdiffstats
path: root/src/common/netif.h
blob: d3984df423aaa8189ada40d0a80cc20f866b5862 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "fastfetch.h"

#ifndef _WIN32
    #include <net/if.h>
    #include <netinet/in.h>
#endif

typedef enum FF_A_PACKED FFNetifDefaultRouteResultStatus {
    FF_NETIF_UNINITIALIZED,
    FF_NETIF_INVALID,
    FF_NETIF_OK
} FFNetifDefaultRouteResultStatus;

typedef struct FFNetifDefaultRouteResult {
    uint32_t ifIndex;

#ifndef _WIN32
    char ifName[IF_NAMESIZE + 1];
    uint32_t preferredSourceAddrV4;
#endif
    enum FFNetifDefaultRouteResultStatus status;
} FFNetifDefaultRouteResult;

bool ffNetifGetDefaultRouteImplV4(FFNetifDefaultRouteResult* result);
bool ffNetifGetDefaultRouteImplV6(FFNetifDefaultRouteResult* result);

const FFNetifDefaultRouteResult* ffNetifGetDefaultRouteV4(void);
const FFNetifDefaultRouteResult* ffNetifGetDefaultRouteV6(void);