Уже задавал подобный вопрос но ответа так и не получил, веренее была
пара советов, но они не оказали эффекта.
Так что повторюсь. Имеется модуль, в нём реализована функция write ну и
конечно же создаётся девайс, который юзается через внешнюю прогу.
Вот код проги:
/*****************************************************************/
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
char *num; //num of parametrs
//convert int to char
void int_to_char(int n)
{
}
int main(int argc, char *argv[])
{
int fd;
char *end = "$";
//this is dev for netfw control
fd = open("/dev/netfw", O_RDWR);
if(fd == -1){
printf("open failed\n");
return -1;
}
printf("Device netfw open\nTry to write\n");
//calc num of parametrs like: from, to, fport, tport
int ap = argc - 1 - 3;
printf("ap = %d\n",ap); //check it
int i;
//write control element like: add/del, pass/drop and name of table
printf("argc = %d\n",argc); //check it
if(!argv[1])
{
printf("write 1$\n");
write(fd,end,strlen(end) + 1);
return 0;
}
else write(fd, argv[1], strlen(argv[1]) + 1);
if(!argv[2])
{
printf("wrte 2$\n");
write(fd,end,strlen(end) + 1);
return 0;
}
else write(fd, argv[2], strlen(argv[2]) + 1);
if(!argv[3])
{
printf("write 3$\n");
write(fd,end,strlen(end) + 1);
return 0;
}
else write(fd, argv[3], strlen(argv[3]) + 1);
if(ap > 0)
{
//write num of parametrs
int_to_char(ap/2);
write(fd, num, strlen(num) + 1);
//write parametrs
for(i = argc - ap; i < argc; i++)
{
printf(argv[i]);
printf("\n");
write(fd, argv[i], strlen(argv[i]) + 1);
}
}
//write symbol to finish transacton, in this case it's "$"
printf("write 4$\n");
write(fd,end,strlen(end) + 1);
//close file
close(fd);
printf("Device netfw close\n");
free(num);
return EXIT_SUCCESS;
}
/*****************************************************************/
Ответ на:
комментарий
от cyclon

Ответ на:
комментарий
от erDiZz
Ответ на:
комментарий
от erDiZz

Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от erDiZz
Ответ на:
комментарий
от erDiZz

Ответ на:
комментарий
от cyclon

Ответ на:
комментарий
от cyclon

Ответ на:
комментарий
от cyclon
Ответ на:
комментарий
от erDiZz
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Выделение памяти в модуле. (2005)
- Форум Проблемма с выделением памяти. (2005)
- Форум Си (2013)
- Форум Простейший вопрос - свои первые строчки на C. Где argv ? (2004)
- Форум Не получается написать прогу (2010)
- Форум Не компилиься элементарная рога... (2003)
- Форум Не компилится элементарная прога... (2003)
- Форум Непонимаю я как открыть пайп (2014)
- Форум C первые шаги (2007)
- Форум математика (2005)