File: networkinterfaces.h

package info (click to toggle)
librudiments0 0.27-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,528 kB
  • ctags: 2,284
  • sloc: cpp: 14,657; sh: 7,547; ansic: 2,664; makefile: 945; xml: 15
file content (46 lines) | stat: -rw-r--r-- 1,070 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// FIXME: implement this class

// Copyright (c) 2003 David Muse
// See the COPYING file for more information.

#ifndef RUDIMENTS_NETWORKINTERFACES_H
#define RUDIMENTS_NETWORKINTERFACES_H

#include <rudiments/private/networkinterfacesincludes.h>

typedef listnode< networkinterface * >	networkinterfacelistnode;
typedef list< networkinterface *, networkinterfacelistnode >
						networkinterfacelist;

class networkinterface {
	public:
		sockaddr	getAddress();
		sockaddr	getDestinationAddress();
		sockaddr	getBroadcastAddress();
		sockaddr	getNetmask();
		sockaddr	getHardwareAddress();

		short	getFlags();
		int	getMetric();
		int	getMaximumTransmitUnit();
		ifmap	getDeviceMap();
		int	getSlaveDevice();
		int	getForUseByInterfaceData();
		int	getIndex();
		int	getLinkBandwidth();
		int	getQueueLength();
		char	*getNewName();

	#include <rudiments/private/networkinterface.h>
};

#ifdef ENABLE_RUDIMENTS_INLINES
	#include <rudiments/private/networkinterfaceinlines.h>
#endif

class networkinterfaces {
	public:
		static	networkinterfacelist	*getList();
}

#endif