ciao a tutti, ho bisogno di una mano. vorrei passare una struttura fatta così:

codice:
typedef struct {
  char *comando;
  int id;
  char *par1;
  char *par2;
  char *par3;
  int val;
}Comando;
attraverso una named pipe

è possibile farlo?
finora non ci sono riuscito, ecco il mio codice di prova:

MITTENTE:

codice:
int main(){
 int fd;
   if(mkfifo("fifo_in", 0666)==-1)
      printf("errore in\n");
   fd=open("fifo_in", O_WRONLY);
   Comando *p=malloc(sizeof(Comando));
   p->id=2;
   p->par1=malloc(sizeof(char)*10);
   strcpy(p->par1, "ciao\0");
   printf("%d\n", write(fd, &p, sizeof(p)));
   return 0;
}
DESTINATARIO:

codice:
int main (){
   int fd=open("fifo_in", O_RDONLY);
   Comando *p=malloc(sizeof(Comando));
   printf("%d\n", read(fd, &p, sizeof(p)));
   printf("%d\n", p->id);
   printf("%s\n", p->par1);
   return 0;
}
grazie in anticipo