bilytur
Нет у меня конкретного примера. Не писал я такого никогда. Не представляю, зачем это нужно.
Но примерно так:
Код:

//временный файл - открываем через open, не fopen
int fdMain = open("temp.tmp", O_CREAT | O_EXCL | O_TRUNC | O_RDWR);
//копия для передачи в функцию
FILE *fSubst = fdopen(fdMain, "w");
//предварительный буффер - не уверен, что он вообще нужен
void *pTemp = malloc(1024);
//А отсюда мы будем читать после возврата
char * pMemory = (char *)mmap(pTemp, 1024, PROT_READ, MAP_PRIVATE, fdMain, 0);
//теперь вызываем требуемую функцию
FunctionName(fSubst, ...
Не совсем уверен в точном указании флагов (O_EXCL и MAP_PRIVATE)