Skip to content

Commit

Permalink
Kernel+LibC: Stub out getifaddrs() and freeifaddrs()
Browse files Browse the repository at this point in the history
These are required for some ports.
  • Loading branch information
IdanHo authored and bgianfo committed Dec 22, 2021
1 parent 468ae10 commit 7b24fc6
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 0 deletions.
30 changes: 30 additions & 0 deletions Kernel/API/POSIX/ifaddrs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (c) 2021, Idan Horowitz <[email protected]>
*
* SPDX-License-Identifier: BSD-2-Clause
*/

#pragma once

#ifdef __cplusplus
extern "C" {
#endif

struct ifaddrs {
struct ifaddrs* ifa_next;
char* ifa_name;
unsigned int ifa_flags;
struct sockaddr* ifa_addr;
struct sockaddr* ifa_netmask;
union {
struct sockaddr* ifu_broadaddr;
struct sockaddr* ifu_dstaddr;
} ifa_ifu;
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
void* ifa_data;
};

#ifdef __cplusplus
}
#endif
1 change: 1 addition & 0 deletions Userland/Libraries/LibC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ set(LIBC_SOURCES
fcntl.cpp
fenv.cpp
fnmatch.cpp
ifaddrs.cpp
getopt.cpp
grp.cpp
inttypes.cpp
Expand Down
18 changes: 18 additions & 0 deletions Userland/Libraries/LibC/ifaddrs.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
* Copyright (c) 2021, Idan Horowitz <[email protected]>
*
* SPDX-License-Identifier: BSD-2-Clause
*/

#include <LibC/errno.h>
#include <LibC/ifaddrs.h>

int getifaddrs(struct ifaddrs**)
{
errno = ENOSYS;
return -1;
}

void freeifaddrs(struct ifaddrs*)
{
}
17 changes: 17 additions & 0 deletions Userland/Libraries/LibC/ifaddrs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright (c) 2021, Idan Horowitz <[email protected]>
*
* SPDX-License-Identifier: BSD-2-Clause
*/

#pragma once

#include <Kernel/API/POSIX/ifaddrs.h>
#include <sys/cdefs.h>

__BEGIN_DECLS

int getifaddrs(struct ifaddrs** ifap);
void freeifaddrs(struct ifaddrs* ifa);

__END_DECLS

0 comments on commit 7b24fc6

Please sign in to comment.