summaryrefslogtreecommitdiffstats
path: root/LogReceiver/routemanager.h
blob: 0566801dcd669e8a3f1aee4880cb37182bcc8817 (plain) (blame)
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
/*
 * routemanager.h
 *
 *  Created on: Sep 5, 2011
 *      Author: niklas
 */

#ifndef ROUTEMANAGER_H_
#define ROUTEMANAGER_H_

#include <arpa/inet.h>
#include <interface.h>
#include <netlink/netlink.h>
#include <netlink/route/rtnl.h>
#include <netlink/route/route.h>

#include <errno.h>
#include <QtCore>

class routemanager : public QObject{
Q_OBJECT

public:
	routemanager();
	virtual ~routemanager();

	int addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric);
	int delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric);

	int addRoute6(QString ifname, QString destination,
			QString netmask, QString gateway, int metric);
	int delRoute6(QString ifname, QString destination,
				QString netmask, QString gateway, int metric);
	int doRoute(QString destination, QString gateway, int af, int action);

private:
	QByteArray ba;
};


#endif /* ROUTEMANAGER_H_ */