FreeBSD-5.3/usr.sbin/kldxref/fileformat

$FreeBSD: src/usr.sbin/kldxref/fileformat,v 1.1 2001/09/11 01:13:15 peter Exp $

    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;
};