diff options
author | Ben Kelly <ben@wanderview.com> | 2013-02-10 17:19:43 -0500 |
---|---|---|
committer | Timothy J Fontaine <tjfontaine@gmail.com> | 2013-05-08 17:04:29 -0700 |
commit | 8a407f58b96ca6c8a5d1542bde39ebb879eb307d (patch) | |
tree | a5ca133522ff86872144c9aa1fa576f2b018016f /src/node_os.cc | |
parent | fbf464146241036598ddbe8141c09f12c06f9b95 (diff) | |
download | android-node-v8-8a407f58b96ca6c8a5d1542bde39ebb879eb307d.tar.gz android-node-v8-8a407f58b96ca6c8a5d1542bde39ebb879eb307d.tar.bz2 android-node-v8-8a407f58b96ca6c8a5d1542bde39ebb879eb307d.zip |
os: Include netmask in os.networkInterfaces()
re #3765 and #5432
fixes #4743
Diffstat (limited to 'src/node_os.cc')
-rw-r--r-- | src/node_os.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/node_os.cc b/src/node_os.cc index 9e80589f46..1d6af2f9ca 100644 --- a/src/node_os.cc +++ b/src/node_os.cc @@ -204,6 +204,7 @@ static Handle<Value> GetInterfaceAddresses(const Arguments& args) { uv_interface_address_t* interfaces; int count, i; char ip[INET6_ADDRSTRLEN]; + char netmask[INET6_ADDRSTRLEN]; Local<Object> ret, o; Local<String> name, family; Local<Array> ifarr; @@ -226,9 +227,11 @@ static Handle<Value> GetInterfaceAddresses(const Arguments& args) { if (interfaces[i].address.address4.sin_family == AF_INET) { uv_ip4_name(&interfaces[i].address.address4,ip, sizeof(ip)); + uv_ip4_name(&interfaces[i].netmask.netmask4, netmask, sizeof(netmask)); family = String::New("IPv4"); } else if (interfaces[i].address.address4.sin_family == AF_INET6) { uv_ip6_name(&interfaces[i].address.address6, ip, sizeof(ip)); + uv_ip6_name(&interfaces[i].netmask.netmask6, netmask, sizeof(netmask)); family = String::New("IPv6"); } else { strncpy(ip, "<unknown sa family>", INET6_ADDRSTRLEN); @@ -237,6 +240,7 @@ static Handle<Value> GetInterfaceAddresses(const Arguments& args) { o = Object::New(); o->Set(String::New("address"), String::New(ip)); + o->Set(String::New("netmask"), String::New(netmask)); o->Set(String::New("family"), family); const bool internal = interfaces[i].is_internal; |