
D front-end changes: - Import dmd v2.108.1-beta-1. D runtime changes: - Import druntime v2.108.1-beta-1. Phobos changes: - Import phobos v2.108.1-beta-1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd f8bae04558. * dmd/VERSION: Bump version to v2.108.0-beta.1. * d-builtins.cc (build_frontend_type): Update for new front-end interface. * d-codegen.cc (build_assert_call): Likewise. * d-convert.cc (d_array_convert): Likewise. * decl.cc (get_vtable_decl): Likewise. * expr.cc (ExprVisitor::visit (EqualExp *)): Likewise. (ExprVisitor::visit (VarExp *)): Likewise. (ExprVisitor::visit (ArrayLiteralExp *)): Likewise. (ExprVisitor::visit (AssocArrayLiteralExp)): Likewise. * intrinsics.cc (build_shuffle_mask_type): Likewise. (maybe_warn_intrinsic_mismatch): Likewise. * runtime.cc (get_libcall_type): Likewise. * typeinfo.cc (TypeInfoVisitor::layout_string): Likewise. (TypeInfoVisitor::visit(TypeInfoTupleDeclaration *)): Likewise. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 02d6d07a69. * src/MERGE: Merge upstream phobos a2ade9dec.
61 lines
1.7 KiB
D
61 lines
1.7 KiB
D
/*******************************************************************************
|
|
|
|
D binding for the interface addresses querying
|
|
|
|
Defines functions getifaddrs/freeifaddrs and the structure
|
|
they operate on.
|
|
|
|
getifaddrs(3) get interface addresses
|
|
freeifaddrs(3) deallocates the structure returned from getifaddrs
|
|
|
|
Copyright: Copyright (c) 2016 Sociomantic Labs. All rights reserved.
|
|
License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
|
|
Authors: Nemanja Boric
|
|
|
|
*******************************************************************************/
|
|
|
|
module core.sys.linux.ifaddrs;
|
|
|
|
import core.sys.posix.sys.socket;
|
|
|
|
version (linux):
|
|
extern (C):
|
|
nothrow:
|
|
@nogc:
|
|
|
|
struct ifaddrs
|
|
{
|
|
/// Next item in the list
|
|
ifaddrs* ifa_next;
|
|
/// Name of the interface
|
|
char* ifa_name;
|
|
/// Flags from SIOCGIFFLAGS
|
|
uint ifa_flags;
|
|
/// Address of interface
|
|
sockaddr* ifa_addr;
|
|
/// Netmask of interface
|
|
sockaddr* ifa_netmask;
|
|
|
|
union
|
|
{
|
|
/// Broadcast address of the interface
|
|
sockaddr* ifa_broadaddr;
|
|
|
|
/// Point-to-point destination addresss
|
|
sockaddr* ifa_dstaddr;
|
|
}
|
|
|
|
deprecated("druntime declared this incorrectly before. The correct name is ifa_broadaddr.")
|
|
alias ifu_broadaddr = ifa_broadaddr;
|
|
|
|
deprecated("druntime declared this incorrectly before. The correct name is ifa_dstaddr.")
|
|
alias if_dstaddr = ifa_dstaddr;
|
|
|
|
/// Address specific data
|
|
void* ifa_data;
|
|
}
|
|
|
|
/// Returns: linked list of ifaddrs structures describing interfaces
|
|
int getifaddrs(ifaddrs** );
|
|
/// Frees the linked list returned by getifaddrs
|
|
void freeifaddrs(ifaddrs* );
|