Struktury używane przez funkcję do_execve() i inne biorące udział w ładowaniu programu.
Struktura linux_binprm przechowuje informacje o pliku konieczne do załadowania reprezentowanego przez niego programu.
struct linux_binprm{ /*Pierwsze 128 "magicznych" bajtów pliku*/ /*zawiera różne ważne informacje o sposobie ładowania*/ char buf[BINPRM_BUF_SIZE]; /*strony używane do przekazania ładowanemu*/ /*programowi argumentów i zmiennych środowiskowych*/ struct page *page[MAX_ARG_PAGES]; /*wskaźnik zapełnienia tablicy page*/ unsigned long p; /*struktura odpowiadająca ładowanemu programowi*/ struct file *file; /*efektywny identyfikator użytkownika i grupy programu*/ int e_uid, e_gid; ... /*liczniki argumentów i zmiennych środowiska*/ int argc, envc; /*ścieżka pliku*/ char *filename; }Struktura linux_binfmt reprezentuje znany format plików wykonywalnych.
struct linux_binfmt { /*wskaźnik do kolejnego formatu na liście*/ struxt linux_binfmt * next; /*wskaźnik do modułu, do którego format należy*/ struct module *module; /*funkcja ładująca plik danego formatu*/ /*zwraca 0 gdy się powiedzie, -ENOEXEC gdy nie poznaje formatu*/ /*lub inną ujemną wartość jako błąd*/ int (*load_binary)(struct linux_binprm *, struct pt_regs *regs); /*funkcja ładująca biblioteki dzielone, których wymaga program*/ int (*load_shlib)(struct file *); /*funkcja dokonująca zrzutu stanu programu na dysk*/ int (*core_dump)(long signr, struct pt_regs *regs, struct file *file); ... }