xref: /freebsd/sys/contrib/openzfs/cmd/zstream/zstream_modules.h (revision d0b3ecdc274930e190ea233b6b69ff03782eaf8d)
1*d0b3ecdcSMartin Matuska // SPDX-License-Identifier: CDDL-1.0
2*d0b3ecdcSMartin Matuska /*
3*d0b3ecdcSMartin Matuska  * CDDL HEADER START
4*d0b3ecdcSMartin Matuska  *
5*d0b3ecdcSMartin Matuska  * This file and its contents are supplied under the terms of the Common
6*d0b3ecdcSMartin Matuska  * Development and Distribution License ("CDDL"), version 1.0. You may only use
7*d0b3ecdcSMartin Matuska  * this file in accordance with the terms of version 1.0 of the CDDL.
8*d0b3ecdcSMartin Matuska  *
9*d0b3ecdcSMartin Matuska  * A full copy of the text of the CDDL should have accompanied this source. A
10*d0b3ecdcSMartin Matuska  * copy of the CDDL is also available via the Internet at
11*d0b3ecdcSMartin Matuska  * http://www.illumos.org/license/CDDL.
12*d0b3ecdcSMartin Matuska  *
13*d0b3ecdcSMartin Matuska  * CDDL HEADER END
14*d0b3ecdcSMartin Matuska  */
15*d0b3ecdcSMartin Matuska 
16*d0b3ecdcSMartin Matuska /*
17*d0b3ecdcSMartin Matuska  * Copyright (c) 2026 by Garth Snyder. All rights reserved.
18*d0b3ecdcSMartin Matuska  */
19*d0b3ecdcSMartin Matuska 
20*d0b3ecdcSMartin Matuska #ifndef _ZSTREAM_MODULES_H
21*d0b3ecdcSMartin Matuska #define	_ZSTREAM_MODULES_H
22*d0b3ecdcSMartin Matuska 
23*d0b3ecdcSMartin Matuska #ifdef __cplusplus
24*d0b3ecdcSMartin Matuska extern "C" {
25*d0b3ecdcSMartin Matuska #endif
26*d0b3ecdcSMartin Matuska 
27*d0b3ecdcSMartin Matuska /*
28*d0b3ecdcSMartin Matuska  * This file aggregates all zstream_chain utility modules into a single
29*d0b3ecdcSMartin Matuska  * header and defines macros for standard input and output operations.
30*d0b3ecdcSMartin Matuska  */
31*d0b3ecdcSMartin Matuska 
32*d0b3ecdcSMartin Matuska #include "zstream_byteswap.h"
33*d0b3ecdcSMartin Matuska #include "zstream_chain.h"
34*d0b3ecdcSMartin Matuska #include "zstream_fletcher4.h"
35*d0b3ecdcSMartin Matuska #include "zstream_io.h"
36*d0b3ecdcSMartin Matuska #include "zstream_recompress.h"
37*d0b3ecdcSMartin Matuska #include "zstream_util.h"
38*d0b3ecdcSMartin Matuska #include "zstream_validate.h"
39*d0b3ecdcSMartin Matuska 
40*d0b3ecdcSMartin Matuska #define	READ_STEP 0
41*d0b3ecdcSMartin Matuska 
42*d0b3ecdcSMartin Matuska #define	STANDARD_INPUT_STACK(infile)					\
43*d0b3ecdcSMartin Matuska 	serial_read_stream(infile),					\
44*d0b3ecdcSMartin Matuska 	serial_validate_fletcher4(),					\
45*d0b3ecdcSMartin Matuska 	serial_byteswap(BS_INCOMING),					\
46*d0b3ecdcSMartin Matuska 	serial_validate_records()
47*d0b3ecdcSMartin Matuska 
48*d0b3ecdcSMartin Matuska #define	STANDARD_OUTPUT_STACK(outfile)					\
49*d0b3ecdcSMartin Matuska 	serial_byteswap(BS_OUTGOING),					\
50*d0b3ecdcSMartin Matuska 	serial_add_fletcher4(),						\
51*d0b3ecdcSMartin Matuska 	serial_write_stream(outfile),					\
52*d0b3ecdcSMartin Matuska 	chain_terminator()
53*d0b3ecdcSMartin Matuska 
54*d0b3ecdcSMartin Matuska #define	NULL_OUTPUT_STACK()						\
55*d0b3ecdcSMartin Matuska 	serial_null_output(),						\
56*d0b3ecdcSMartin Matuska 	chain_terminator()
57*d0b3ecdcSMartin Matuska 
58*d0b3ecdcSMartin Matuska #ifdef __cplusplus
59*d0b3ecdcSMartin Matuska }
60*d0b3ecdcSMartin Matuska #endif
61*d0b3ecdcSMartin Matuska 
62*d0b3ecdcSMartin Matuska #endif  /* _ZSTREAM_MODULES_H */
63