@MarX, post #4
@MarX, post #5
@Grzegorz Kraszewski, post #6
#include#include #include #include #include main() { struct Task *MojTask; struct Process *MojProces; struct CommandLineInterface *cli; MojTask=FindTask(NULL); MojProces= (struct Process *)MojTask; cli = BADDR(MojProces->pr_CLI);
@MarX, post #8
@MarX, post #1
char linia[128]; // tu ma wylądować linia odczytana z pipe`a
BPTR pipe_out;
BPTR pipe_in;
BPTR wyjscie;
struct TagItem stags[4];
stags[0].ti_Tag = SYS_Input;
stags[0].ti_Data = NULL;
stags[1].ti_Tag = SYS_Output;
stags[1].ti_Data = wyjscie;
stags[2].ti_Tag = SYS_Asynch;
stags[2].ti_Data = TRUE;
stags[3].ti_Tag = TAG_DONE;
stags[3].ti_Data = 0;
// otwieram pipe do pakowania wynikow
pipe_out = Open("PIPE:moj_pipe", MODE_NEWFILE);
// otwieram pipe do odczytania wyplutych wczesniej wynikow
pipe_in = Open("PIPE:moj_pipe", MODE_OLDFILE);
// odpalam jakis konsolowy program
SystemTagList("dh1:jakis_tam_program", stags)
// odczytuje pierwsza linie z "pajpa" wejsciowego
FGets(pipe_in,linia,128 );
printf(" odczytane z pipe %s",linia);
Close(pipe_out);
Close(pipe_in);