blob: 7923018f9ec4dd6313e0d65b497d34ebb632f443 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001#include <stdlib.h>
2#include <stdio.h>
3#include <string.h>
4#include <sys/ioctl.h>
5#include <fcntl.h>
6#include <getopt.h>
7#include "mtr_ioctl.h"
8
9int SetMtrEntry(struct mtr_args *opt, unsigned int cmd)
10{
11 int fd;
12
13 fd = open("/dev/"MTR_DEVNAME, O_RDONLY);
14 if (fd < 0)
15 {
16 printf("Open %s pseudo device failed\n","/dev/"MTR_DEVNAME);
17 return MTR_FAIL;
18 }
19
20 if(ioctl(fd, cmd, opt)<0) {
21 printf("MTR_API: ioctl error\n");
22 close(fd);
23 return MTR_FAIL;
24 }
25
26 close(fd);
27 return MTR_SUCCESS;
28}
29
30int MtrGetAllEntries(struct mtr_list_args *opt)
31{
32 int fd=0;
33
34 fd = open("/dev/"MTR_DEVNAME, O_RDONLY);
35 if (fd < 0)
36 {
37 printf("Open %s pseudo device failed\n","/dev/"MTR_DEVNAME);
38 return MTR_FAIL;
39 }
40
41 if(ioctl(fd, MTR_GET_ALL_ENTRIES, opt)<0) {
42 printf("MTR_API: ioctl error\n");
43 close(fd);
44 return MTR_FAIL;
45 }
46
47 close(fd);
48
49 return MTR_SUCCESS;
50
51}
52