os: networkInterfaces include scopeid for ipv6

This commit is contained in:
Xidorn Quan 2014-02-18 10:10:30 -08:00 коммит произвёл Timothy J Fontaine
Родитель 937e2e351b
Коммит ae02992872
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -50,6 +50,7 @@ using v8::Context;
using v8::FunctionCallbackInfo;
using v8::Handle;
using v8::HandleScope;
using v8::Integer;
using v8::Local;
using v8::Number;
using v8::Object;
@ -272,6 +273,12 @@ static void GetInterfaceAddresses(const FunctionCallbackInfo<Value>& args) {
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "mac"),
FIXED_ONE_BYTE_STRING(node_isolate, mac));
if (interfaces[i].address.address4.sin_family == AF_INET6) {
uint32_t scopeid = interfaces[i].address.address6.sin6_scope_id;
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "scopeid"),
Integer::NewFromUnsigned(scopeid));
}
const bool internal = interfaces[i].is_internal;
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "internal"),
internal ? True(node_isolate) : False(node_isolate));