- 1
- 2
- 3
- 4
- 5
- 6
https://govnokod.ru/26202
https://govnokod.ru/26076
https://govnokod.ru/26089
проблема решена)
Всем спасибо, все свободны
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 2
−3
https://govnokod.ru/26202
https://govnokod.ru/26076
https://govnokod.ru/26089
проблема решена)
Всем спасибо, все свободны
−1
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
int Regctl_set_ioctl5(ulong param_1,ulong param_2)
{
int __fd;
int iVar1;
struct {
ulong addr;
ulong flags;
int * resultptr;
int result;
} x;
x.addr = param_1;
x.flags = param_2;
__fd = open("/dev/regctl",O_RDWR);
if (__fd == 0) { printf("%s: error: open dev/misc/regctl fail \n","dwReadRegVal"); } else {
iVar1 = ioctl(__fd,5,&x);
if (iVar1 == -1) {
printf("%s: error: regctl ioctl fail \n","dwReadRegVal");
close(__fd);
}
else {
close(__fd);
}
}
printf("iVar1: %d\n", iVar1);
printf("%d\n", x.result);
//return __fd;
return -1;
}
int Regctl_set_2_dwWriteRegVal(int param_1,int param_2,int param_3)
{
int fd; int iVar1;
struct {
int addr;
int flags;
int * data;
} y;
y.addr = param_1;
y.flags = param_2;
y.data[0] = param_3;
fd = open("/dev/regctl",O_RDWR);
if (fd == 0) {
printf("%s: error: open dev/misc/regctl fail \n","dwWriteRegVal");
}
else {
iVar1 = ioctl(fd,1,&y);
if (iVar1 == -1) {
printf("%s: error: regctl ioctl fail \n","dwWriteRegVal");
close(fd);
}
else {
close(fd);
}
}
//return __fd;
return -1;
}
void Regctl_main_function(void) {
uint uVar1; uVar1 = Regctl_set_ioctl5(0x90c00000,0x54);
printf("uVar1: %d\n", uVar1);
// Regctl_set_2_dwWriteRegVal(-0x6f400000,0x54,uVar1 & 0xfffc3fff | 0x28000);
return;
}
int main() {
Regctl_main_function();
return 0;
}
выдаёт segfault, что тут не так?