|
发表于 2022-6-18 19:40:05
|
显示全部楼层
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#define IOCMD_LOCK 0xC0204D01
#define IOCMD_UNLOCK 0xC0204D02
void usage(const char* app)
{
printf("%s -l <mtd name> ... lock mtd\n", app);
printf("%s -u <mtd name> ... unlock mtd\n", app);
}
int main(int argc, char* argv[])
{
const char* file = "/proc/wap_proc/mtd_protect";
int fd, r;
unsigned long cmd = IOCMD_UNLOCK;
if(argc < 3)
{
usage(argv[0]);
return 1;
}
if('-' == argv[1][0])
{
if('l' == argv[1][1])
cmd = IOCMD_LOCK;
else if('u' != argv[1][1])
{usage(argv[0]); return 1;}
}
else
{
usage(argv[0]);
return 1;
}
fd = open(file, O_RDWR);
if(fd < 0)
{
printf("Can not open: %s\n", file);
return 1;
}
r = ioctl(fd, cmd, argv[2]);
close(fd);
printf("%s '%s' %s. errno:%u\n",
(IOCMD_UNLOCK == cmd ? "Unlock" : "Lock"),
argv[2], (r < 0 ? "failed" : "success"), errno);
return 0;
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|