On Saturday, 13 August 2016 at 15:47:51 UTC, D.Rex wrote:
/* memory.d file */
module memory;
import include.linux.sched; /* contains task_struct definition */

void free_page_tables(task_struct* tsk) {
        /* do something with &tsk */
}

And to use the method from somewhere else
/* use method.d */

module usemethod;
import include.linux.sched;
import mm.memory;

void some method() {
        free_page_tables(*pointer to task_struct*);
}

I hope my explanation is not rambling nonsense.

Cheers.

Yes, you're right. Passing structure pointers to functions is an extremely common practice in C, because there aren't really any other compelling options. In D we have things like methods, classes, 'const ref' params, return-type inference, etc., so there's usually a better way to achieve the same result.

Reply via email to