#include <linux/raid/pq.h>
#ifndef __KERNEL__
#include <sys/mman.h>
#include <stdio.h>
#else
#include <linux/module.h>
#include <linux/gfp.h>
const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned …));
EXPORT_SYMBOL(…);
#endif
struct raid6_calls raid6_call;
EXPORT_SYMBOL_GPL(…);
const struct raid6_calls * const raid6_algos[] = …;
void (*raid6_2data_recov)(int, size_t, int, int, void **);
EXPORT_SYMBOL_GPL(…);
void (*raid6_datap_recov)(int, size_t, int, void **);
EXPORT_SYMBOL_GPL(…);
const struct raid6_recov_calls *const raid6_recov_algos[] = …;
#ifdef __KERNEL__
#define RAID6_TIME_JIFFIES_LG2 …
#else
#define RAID6_TIME_JIFFIES_LG2 …
#define time_before …
#endif
#define RAID6_TEST_DISKS …
#define RAID6_TEST_DISKS_ORDER …
static inline const struct raid6_recov_calls *raid6_choose_recov(void)
{ … }
static inline const struct raid6_calls *raid6_choose_gen(
void *(*const dptrs)[RAID6_TEST_DISKS], const int disks)
{ … }
int __init raid6_select_algo(void)
{ … }
static void raid6_exit(void)
{ … }
subsys_initcall(raid6_select_algo);
module_exit(raid6_exit);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;