1
2extern crate proc_macro;
3
4mod common;
5mod p;
6mod gf;
7#[cfg(feature="lfsr")] mod lfsr;
8#[cfg(feature="crc")] mod crc;
9#[cfg(feature="shamir")] mod shamir;
10#[cfg(feature="raid")] mod raid;
11#[cfg(feature="rs")] mod rs;
12
13
14#[proc_macro_attribute]
15pub fn p(
16 args: proc_macro::TokenStream,
17 input: proc_macro::TokenStream
18) -> proc_macro::TokenStream {
19 p::p(args, input)
20}
21
22#[proc_macro_attribute]
23pub fn gf(
24 args: proc_macro::TokenStream,
25 input: proc_macro::TokenStream
26) -> proc_macro::TokenStream {
27 gf::gf(args, input)
28}
29
30#[cfg(feature="lfsr")]
31#[proc_macro_attribute]
32pub fn lfsr(
33 args: proc_macro::TokenStream,
34 input: proc_macro::TokenStream
35) -> proc_macro::TokenStream {
36 lfsr::lfsr(args, input)
37}
38
39#[cfg(feature="crc")]
40#[proc_macro_attribute]
41pub fn crc(
42 args: proc_macro::TokenStream,
43 input: proc_macro::TokenStream
44) -> proc_macro::TokenStream {
45 crc::crc(args, input)
46}
47
48#[cfg(feature="shamir")]
49#[proc_macro_attribute]
50pub fn shamir(
51 args: proc_macro::TokenStream,
52 input: proc_macro::TokenStream
53) -> proc_macro::TokenStream {
54 shamir::shamir(args, input)
55}
56
57#[cfg(feature="raid")]
58#[proc_macro_attribute]
59pub fn raid(
60 args: proc_macro::TokenStream,
61 input: proc_macro::TokenStream
62) -> proc_macro::TokenStream {
63 raid::raid(args, input)
64}
65
66#[cfg(feature="rs")]
67#[proc_macro_attribute]
68pub fn rs(
69 args: proc_macro::TokenStream,
70 input: proc_macro::TokenStream
71) -> proc_macro::TokenStream {
72 rs::rs(args, input)
73}