1/** 2 * D header file for POSIX. 3 * 4 * Copyright: Copyright Sean Kelly 2005 - 2009. 5 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0). 6 * Authors: Sean Kelly 7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition 8 */ 9 10/* Copyright Sean Kelly 2005 - 2009. 11 * Distributed under the Boost Software License, Version 1.0. 12 * (See accompanying file LICENSE or copy at 13 * http://www.boost.org/LICENSE_1_0.txt) 14 */ 15module core.sys.posix.net.if_; 16 17import core.sys.posix.config; 18 19version (OSX) 20 version = Darwin; 21else version (iOS) 22 version = Darwin; 23else version (TVOS) 24 version = Darwin; 25else version (WatchOS) 26 version = Darwin; 27 28version (Posix): 29extern (C) nothrow @nogc: 30 31// 32// Required 33// 34/* 35struct if_nameindex // renamed to if_nameindex_t 36{ 37 uint if_index; 38 char* if_name; 39} 40 41IF_NAMESIZE 42 43uint if_nametoindex(const scope char*); 44char* if_indextoname(uint, char*); 45if_nameindex_t* if_nameindex(); 46void if_freenameindex(if_nameindex_t*); 47*/ 48 49version (CRuntime_Glibc) 50{ 51 struct if_nameindex_t 52 { 53 uint if_index; 54 char* if_name; 55 } 56 57 enum IF_NAMESIZE = 16; 58 59 uint if_nametoindex(const scope char*); 60 char* if_indextoname(uint, char*); 61 if_nameindex_t* if_nameindex(); 62 void if_freenameindex(if_nameindex_t*); 63} 64else version (Darwin) 65{ 66 struct if_nameindex_t 67 { 68 uint if_index; 69 char* if_name; 70 } 71 72 enum IF_NAMESIZE = 16; 73 74 uint if_nametoindex(const scope char*); 75 char* if_indextoname(uint, char*); 76 if_nameindex_t* if_nameindex(); 77 void if_freenameindex(if_nameindex_t*); 78} 79else version (FreeBSD) 80{ 81 struct if_nameindex_t 82 { 83 uint if_index; 84 char* if_name; 85 } 86 87 enum IF_NAMESIZE = 16; 88 89 uint if_nametoindex(const scope char*); 90 char* if_indextoname(uint, char*); 91 if_nameindex_t* if_nameindex(); 92 void if_freenameindex(if_nameindex_t*); 93} 94else version (NetBSD) 95{ 96 struct if_nameindex_t 97 { 98 uint if_index; 99 char* if_name; 100 } 101 102 enum IF_NAMESIZE = 16; 103 104 uint if_nametoindex(const scope char*); 105 char* if_indextoname(uint, char*); 106 if_nameindex_t* if_nameindex(); 107 void if_freenameindex(if_nameindex_t*); 108} 109else version (OpenBSD) 110{ 111 struct if_nameindex_t 112 { 113 uint if_index; 114 char* if_name; 115 } 116 117 enum IF_NAMESIZE = 16; 118 119 uint if_nametoindex(const scope char*); 120 char* if_indextoname(uint, char*); 121 if_nameindex_t* if_nameindex(); 122 void if_freenameindex(if_nameindex_t*); 123} 124else version (DragonFlyBSD) 125{ 126 struct if_nameindex_t 127 { 128 uint if_index; 129 char* if_name; 130 } 131 132 enum IF_NAMESIZE = 16; 133 134 uint if_nametoindex(const scope char*); 135 char* if_indextoname(uint, char*); 136 if_nameindex_t* if_nameindex(); 137 void if_freenameindex(if_nameindex_t*); 138} 139else version (CRuntime_Bionic) 140{ 141 enum IF_NAMESIZE = 16; 142 143 uint if_nametoindex(const scope char*); 144 char* if_indextoname(uint, char*); 145} 146else version (CRuntime_UClibc) 147{ 148 struct if_nameindex_t 149 { 150 uint if_index; 151 char* if_name; 152 } 153 154 enum IF_NAMESIZE = 16; 155 156 uint if_nametoindex(const scope char*); 157 char* if_indextoname(uint, char*); 158 if_nameindex_t* if_nameindex(); 159 void if_freenameindex(if_nameindex_t*); 160}