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 */
}
...
}