struct proc_dir_entry* juju; struct jakaś_strukturka* to_moje_data; to_moje_data = kmalloc(sizeof(struct jakaś_strukturka), GFP_KERNEL); juju->data = to_moje_data;Pole data jest typu void* więc może być zainicjalizowane na cokolwiek. Teraz zaś, kiedy już pole data jest zainicjalizowane to funkcje czytacz i pisacz mogą go użyć do rozróżnienia plików ponieważ dostają go jako argument wywołania:
int czytacz(char* strona, char** start, off_f off, int licznik, int* eof, void* data) { ... if (data==to_moje_data) { ... /* specjalny przypadek dla tego pliku */ } else { ... /* zwykły kod dla reszty plików */ } ... }