Ho scoperto questo: http://www.csd.uwo.ca/~jamie/C/encapsulatedC.html- Lo sto leggendo adesso, e sembra un esempio interessante: if ((output = Stream.open(proc, outname, "r")) != NULL) { return (Stream.close(proc, outname, output))?(EXIT_SUCCESS) :(EXIT_FAILURE); } else { Non c'e' traccia di Stream in close, (dovrebbe essere Stream.close(Stream, ...)), perche'..., guardate come e' dichiarata: in stream.h: extern File_t Stream; ed in stream.c: /* Exported (program global) opaque type for using functions defined here */ File_t Stream = { &open_file, &close_file}; Per compilare l'esempio, dovete cancellare qualche ridefinizione dal codice, ma funziona. Mario - Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx