* Added methods to get/set the media/metric.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38024 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2010-08-11 13:18:36 +00:00
parent 54b6869f51
commit 9de96be375
2 changed files with 44 additions and 0 deletions
+4
View File
@@ -67,12 +67,16 @@ public:
uint32 Index() const;
uint32 Flags() const;
uint32 MTU() const;
uint32 Media() const;
uint32 Metric() const;
uint32 Type() const;
status_t GetStats(ifreq_stats& stats);
bool HasLink() const;
status_t SetFlags(uint32 flags);
status_t SetMTU(uint32 mtu);
status_t SetMedia(uint32 media);
status_t SetMetric(uint32 metric);
int32 CountAddresses() const;
status_t GetAddressAt(int32 index,
@@ -220,6 +220,28 @@ BNetworkInterface::MTU() const
}
uint32
BNetworkInterface::Media() const
{
ifreq request;
if (do_request(request, Name(), SIOCGIFMEDIA) != B_OK)
return 0;
return request.ifr_media;
}
uint32
BNetworkInterface::Metric() const
{
ifreq request;
if (do_request(request, Name(), SIOCGIFMETRIC) != B_OK)
return 0;
return request.ifr_metric;
}
uint32
BNetworkInterface::Type() const
{
@@ -269,6 +291,24 @@ BNetworkInterface::SetMTU(uint32 mtu)
}
status_t
BNetworkInterface::SetMedia(uint32 media)
{
ifreq request;
request.ifr_media = media;
return do_request(request, Name(), SIOCSIFMEDIA);
}
status_t
BNetworkInterface::SetMetric(uint32 metric)
{
ifreq request;
request.ifr_metric = metric;
return do_request(request, Name(), SIOCSIFMETRIC);
}
int32
BNetworkInterface::CountAddresses() const
{