diff options
author | peter <peter@FreeBSD.org> | 2001-09-11 01:13:15 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-09-11 01:13:15 +0000 |
commit | 2975fbf1b355f2dc0a55d5112534cfdc48d0e9df (patch) | |
tree | 86821a17ef3a1d1bb08bc8b0b0c46d5d91382f47 /usr.sbin/kldxref/fileformat | |
parent | 808991de7cecc9e774ffe5031e29362207e75564 (diff) | |
download | FreeBSD-src-2975fbf1b355f2dc0a55d5112534cfdc48d0e9df.zip FreeBSD-src-2975fbf1b355f2dc0a55d5112534cfdc48d0e9df.tar.gz |
Add kldxref(8), for maintaining the linker.hints file for translating
module->pathname.ko. It supports only ELF for now.
Submitted by: bp (with some minor tweaks)
Diffstat (limited to 'usr.sbin/kldxref/fileformat')
-rw-r--r-- | usr.sbin/kldxref/fileformat | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/usr.sbin/kldxref/fileformat b/usr.sbin/kldxref/fileformat new file mode 100644 index 0000000..2eddcca --- /dev/null +++ b/usr.sbin/kldxref/fileformat @@ -0,0 +1,40 @@ +$FreeBSD$ + + linker.hints file consists from the one or more records. First record of +file is special and determines its version: + +int version; + + All subsequent records have following format: + +struct record { + int length; /* length of following data */ + char data[length]; +}; + + Each record is aligned on sizeof(int) boundary. First integer of the field +'data' determines its type: + +struct data { + int type; /* type of data. currently MTD_* values */ +}; + + The rest of record depends on the type. + +struct string { + int length; /* length of string */ + char val[]; /* string itself (no terminating zero) */ +}; + +struct data_mdt_version { + int type = MDT_VERSION; + struct string modname; + int version; + struct string kldname; +}; + +struct data_mdt_module { + int type = MDT_VERSION; + struct string modname; + struct string kldname; +}; |