#ifndef _MKEXT_H_
#define _MKEXT_H_ 1
#include <sys/cdefs.h>
#include <sys/types.h>
#include <mach/machine.h>
#define MKEXT_MAGIC 'MKXT'
#define MKEXT_SIGN 'MOSX'
#define MKEXT_EXTN ".mkext"
typedef struct mkext_file {
size_t offset; size_t compsize; size_t realsize; time_t modifiedsecs; } mkext_file;
typedef struct mkext_kext {
mkext_file plist; mkext_file module; } mkext_kext;
typedef struct mkext_header {
u_int32_t magic; u_int32_t signature; u_int32_t length;
u_int32_t adler32;
u_int32_t version; u_int32_t numkexts;
cpu_type_t cputype; cpu_subtype_t cpusubtype; mkext_kext kext[1]; } mkext_header;
__BEGIN_DECLS
__private_extern__ u_int8_t *
compress_lzss(u_int8_t *dst, u_int32_t dstlen, u_int8_t *src, u_int32_t srclen);
__private_extern__ int
decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen);
__private_extern__ u_int32_t
adler32(u_int8_t *src, int32_t length);
__END_DECLS
#endif