xref: /aosp_15_r20/external/squashfs-tools/squashfs-tools/squashfs_swap.h (revision 79398b2563bcbbbab54656397863972d8fa68df1)
1*79398b25SAndroid Build Coastguard Worker #ifndef SQUASHFS_SWAP_H
2*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_H
3*79398b25SAndroid Build Coastguard Worker /*
4*79398b25SAndroid Build Coastguard Worker  * Squashfs
5*79398b25SAndroid Build Coastguard Worker  *
6*79398b25SAndroid Build Coastguard Worker  * Copyright (c) 2008, 2009, 2010, 2013, 2014
7*79398b25SAndroid Build Coastguard Worker  * Phillip Lougher <[email protected]>
8*79398b25SAndroid Build Coastguard Worker  *
9*79398b25SAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or
10*79398b25SAndroid Build Coastguard Worker  * modify it under the terms of the GNU General Public License
11*79398b25SAndroid Build Coastguard Worker  * as published by the Free Software Foundation; either version 2,
12*79398b25SAndroid Build Coastguard Worker  * or (at your option) any later version.
13*79398b25SAndroid Build Coastguard Worker  *
14*79398b25SAndroid Build Coastguard Worker  * This program is distributed in the hope that it will be useful,
15*79398b25SAndroid Build Coastguard Worker  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16*79398b25SAndroid Build Coastguard Worker  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*79398b25SAndroid Build Coastguard Worker  * GNU General Public License for more details.
18*79398b25SAndroid Build Coastguard Worker  *
19*79398b25SAndroid Build Coastguard Worker  * You should have received a copy of the GNU General Public License
20*79398b25SAndroid Build Coastguard Worker  * along with this program; if not, write to the Free Software
21*79398b25SAndroid Build Coastguard Worker  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22*79398b25SAndroid Build Coastguard Worker  *
23*79398b25SAndroid Build Coastguard Worker  * squashfs_swap.h
24*79398b25SAndroid Build Coastguard Worker  */
25*79398b25SAndroid Build Coastguard Worker 
26*79398b25SAndroid Build Coastguard Worker /*
27*79398b25SAndroid Build Coastguard Worker  * macros to convert each stucture from big endian to little endian
28*79398b25SAndroid Build Coastguard Worker  */
29*79398b25SAndroid Build Coastguard Worker 
30*79398b25SAndroid Build Coastguard Worker #if __BYTE_ORDER == __BIG_ENDIAN
31*79398b25SAndroid Build Coastguard Worker #include <stddef.h>
32*79398b25SAndroid Build Coastguard Worker extern void swap_le16(void *, void *);
33*79398b25SAndroid Build Coastguard Worker extern void swap_le32(void *, void *);
34*79398b25SAndroid Build Coastguard Worker extern void swap_le64(void *, void *);
35*79398b25SAndroid Build Coastguard Worker extern void swap_le16_num(void *, void *, int);
36*79398b25SAndroid Build Coastguard Worker extern void swap_le32_num(void *, void *, int);
37*79398b25SAndroid Build Coastguard Worker extern void swap_le64_num(void *, void *, int);
38*79398b25SAndroid Build Coastguard Worker extern unsigned short inswap_le16(unsigned short);
39*79398b25SAndroid Build Coastguard Worker extern unsigned int inswap_le32(unsigned int);
40*79398b25SAndroid Build Coastguard Worker extern long long inswap_le64(long long);
41*79398b25SAndroid Build Coastguard Worker extern void inswap_le16_num(unsigned short *, int);
42*79398b25SAndroid Build Coastguard Worker extern void inswap_le32_num(unsigned int *, int);
43*79398b25SAndroid Build Coastguard Worker extern void inswap_le64_num(long long *, int);
44*79398b25SAndroid Build Coastguard Worker 
45*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_SUPER_BLOCK(s, d, SWAP_FUNC) {\
46*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, s_magic, struct squashfs_super_block);\
47*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inodes, struct squashfs_super_block);\
48*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mkfs_time, struct squashfs_super_block);\
49*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, block_size, struct squashfs_super_block);\
50*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, fragments, struct squashfs_super_block);\
51*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, compression, struct squashfs_super_block);\
52*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, block_log, struct squashfs_super_block);\
53*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, flags, struct squashfs_super_block);\
54*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, no_ids, struct squashfs_super_block);\
55*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, s_major, struct squashfs_super_block);\
56*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, s_minor, struct squashfs_super_block);\
57*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, root_inode, struct squashfs_super_block);\
58*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, bytes_used, struct squashfs_super_block);\
59*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, id_table_start, struct squashfs_super_block);\
60*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, xattr_id_table_start, struct squashfs_super_block);\
61*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, inode_table_start, struct squashfs_super_block);\
62*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, directory_table_start, struct squashfs_super_block);\
63*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, fragment_table_start, struct squashfs_super_block);\
64*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, lookup_table_start, struct squashfs_super_block);\
65*79398b25SAndroid Build Coastguard Worker }
66*79398b25SAndroid Build Coastguard Worker 
67*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_DIR_INDEX(s, d, SWAP_FUNC) {\
68*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, index, struct squashfs_dir_index);\
69*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, start_block, struct squashfs_dir_index);\
70*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, size, struct squashfs_dir_index);\
71*79398b25SAndroid Build Coastguard Worker }
72*79398b25SAndroid Build Coastguard Worker 
73*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, SWAP_FUNC) {\
74*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_base_inode_header);\
75*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_base_inode_header);\
76*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_base_inode_header);\
77*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_base_inode_header);\
78*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_base_inode_header);\
79*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_base_inode_header);\
80*79398b25SAndroid Build Coastguard Worker }
81*79398b25SAndroid Build Coastguard Worker 
82*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_IPC_INODE_HEADER(s, d, SWAP_FUNC) {\
83*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_ipc_inode_header);\
84*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_ipc_inode_header);\
85*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_ipc_inode_header);\
86*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_ipc_inode_header);\
87*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_ipc_inode_header);\
88*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_ipc_inode_header);\
89*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_ipc_inode_header);\
90*79398b25SAndroid Build Coastguard Worker }
91*79398b25SAndroid Build Coastguard Worker 
92*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_LIPC_INODE_HEADER(s, d, SWAP_FUNC) {\
93*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_lipc_inode_header);\
94*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_lipc_inode_header);\
95*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_lipc_inode_header);\
96*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_lipc_inode_header);\
97*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_lipc_inode_header);\
98*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_lipc_inode_header);\
99*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_lipc_inode_header);\
100*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, xattr, struct squashfs_lipc_inode_header);\
101*79398b25SAndroid Build Coastguard Worker }
102*79398b25SAndroid Build Coastguard Worker 
103*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_DEV_INODE_HEADER(s, d, SWAP_FUNC) {\
104*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_dev_inode_header);\
105*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_dev_inode_header);\
106*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_dev_inode_header);\
107*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_dev_inode_header);\
108*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_dev_inode_header);\
109*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_dev_inode_header);\
110*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_dev_inode_header);\
111*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, rdev, struct squashfs_dev_inode_header);\
112*79398b25SAndroid Build Coastguard Worker }
113*79398b25SAndroid Build Coastguard Worker 
114*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_LDEV_INODE_HEADER(s, d, SWAP_FUNC) {\
115*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_ldev_inode_header);\
116*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_ldev_inode_header);\
117*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_ldev_inode_header);\
118*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_ldev_inode_header);\
119*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_ldev_inode_header);\
120*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_ldev_inode_header);\
121*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_ldev_inode_header);\
122*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, rdev, struct squashfs_ldev_inode_header);\
123*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, xattr, struct squashfs_ldev_inode_header);\
124*79398b25SAndroid Build Coastguard Worker }
125*79398b25SAndroid Build Coastguard Worker 
126*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d, SWAP_FUNC) {\
127*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_symlink_inode_header);\
128*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_symlink_inode_header);\
129*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_symlink_inode_header);\
130*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_symlink_inode_header);\
131*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_symlink_inode_header);\
132*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_symlink_inode_header);\
133*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_symlink_inode_header);\
134*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, symlink_size, struct squashfs_symlink_inode_header);\
135*79398b25SAndroid Build Coastguard Worker }
136*79398b25SAndroid Build Coastguard Worker 
137*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_REG_INODE_HEADER(s, d, SWAP_FUNC) {\
138*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_reg_inode_header);\
139*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_reg_inode_header);\
140*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_reg_inode_header);\
141*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_reg_inode_header);\
142*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_reg_inode_header);\
143*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_reg_inode_header);\
144*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, start_block, struct squashfs_reg_inode_header);\
145*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, fragment, struct squashfs_reg_inode_header);\
146*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, offset, struct squashfs_reg_inode_header);\
147*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, file_size, struct squashfs_reg_inode_header);\
148*79398b25SAndroid Build Coastguard Worker }
149*79398b25SAndroid Build Coastguard Worker 
150*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_LREG_INODE_HEADER(s, d, SWAP_FUNC) {\
151*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_lreg_inode_header);\
152*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_lreg_inode_header);\
153*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_lreg_inode_header);\
154*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_lreg_inode_header);\
155*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_lreg_inode_header);\
156*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_lreg_inode_header);\
157*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, start_block, struct squashfs_lreg_inode_header);\
158*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, file_size, struct squashfs_lreg_inode_header);\
159*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, sparse, struct squashfs_lreg_inode_header);\
160*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_lreg_inode_header);\
161*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, fragment, struct squashfs_lreg_inode_header);\
162*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, offset, struct squashfs_lreg_inode_header);\
163*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, xattr, struct squashfs_lreg_inode_header);\
164*79398b25SAndroid Build Coastguard Worker }
165*79398b25SAndroid Build Coastguard Worker 
166*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_DIR_INODE_HEADER(s, d, SWAP_FUNC) {\
167*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_dir_inode_header);\
168*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_dir_inode_header);\
169*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_dir_inode_header);\
170*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_dir_inode_header);\
171*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_dir_inode_header);\
172*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_dir_inode_header);\
173*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, start_block, struct squashfs_dir_inode_header);\
174*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_dir_inode_header);\
175*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, file_size, struct squashfs_dir_inode_header);\
176*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, offset, struct squashfs_dir_inode_header);\
177*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, parent_inode, struct squashfs_dir_inode_header);\
178*79398b25SAndroid Build Coastguard Worker }
179*79398b25SAndroid Build Coastguard Worker 
180*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d, SWAP_FUNC) {\
181*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, inode_type, struct squashfs_ldir_inode_header);\
182*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, mode, struct squashfs_ldir_inode_header);\
183*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, uid, struct squashfs_ldir_inode_header);\
184*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, guid, struct squashfs_ldir_inode_header);\
185*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(32, s, d, mtime, struct squashfs_ldir_inode_header);\
186*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_ldir_inode_header);\
187*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, nlink, struct squashfs_ldir_inode_header);\
188*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, file_size, struct squashfs_ldir_inode_header);\
189*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, start_block, struct squashfs_ldir_inode_header);\
190*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, parent_inode, struct squashfs_ldir_inode_header);\
191*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, i_count, struct squashfs_ldir_inode_header);\
192*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, offset, struct squashfs_ldir_inode_header);\
193*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, xattr, struct squashfs_ldir_inode_header);\
194*79398b25SAndroid Build Coastguard Worker }
195*79398b25SAndroid Build Coastguard Worker 
196*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_DIR_ENTRY(s, d, SWAP_FUNC) {\
197*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, offset, struct squashfs_dir_entry);\
198*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC##S(16, s, d, inode_number, struct squashfs_dir_entry);\
199*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, type, struct squashfs_dir_entry);\
200*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, size, struct squashfs_dir_entry);\
201*79398b25SAndroid Build Coastguard Worker }
202*79398b25SAndroid Build Coastguard Worker 
203*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_DIR_HEADER(s, d, SWAP_FUNC) {\
204*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, count, struct squashfs_dir_header);\
205*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, start_block, struct squashfs_dir_header);\
206*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, inode_number, struct squashfs_dir_header);\
207*79398b25SAndroid Build Coastguard Worker }
208*79398b25SAndroid Build Coastguard Worker 
209*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d, SWAP_FUNC) {\
210*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, start_block, struct squashfs_fragment_entry);\
211*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, size, struct squashfs_fragment_entry);\
212*79398b25SAndroid Build Coastguard Worker }
213*79398b25SAndroid Build Coastguard Worker 
214*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_XATTR_ENTRY(s, d, SWAP_FUNC) {\
215*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, type, struct squashfs_xattr_entry);\
216*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(16, s, d, size, struct squashfs_xattr_entry);\
217*79398b25SAndroid Build Coastguard Worker }
218*79398b25SAndroid Build Coastguard Worker 
219*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_XATTR_VAL(s, d, SWAP_FUNC) {\
220*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, vsize, struct squashfs_xattr_val);\
221*79398b25SAndroid Build Coastguard Worker }
222*79398b25SAndroid Build Coastguard Worker 
223*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_XATTR_ID(s, d, SWAP_FUNC) {\
224*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, xattr, struct squashfs_xattr_id);\
225*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, count, struct squashfs_xattr_id);\
226*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, size, struct squashfs_xattr_id);\
227*79398b25SAndroid Build Coastguard Worker }
228*79398b25SAndroid Build Coastguard Worker 
229*79398b25SAndroid Build Coastguard Worker #define _SQUASHFS_SWAP_XATTR_TABLE(s, d, SWAP_FUNC) {\
230*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(64, s, d, xattr_table_start, struct squashfs_xattr_table);\
231*79398b25SAndroid Build Coastguard Worker 	SWAP_FUNC(32, s, d, xattr_ids, struct squashfs_xattr_table);\
232*79398b25SAndroid Build Coastguard Worker }
233*79398b25SAndroid Build Coastguard Worker 
234*79398b25SAndroid Build Coastguard Worker /* big endian architecture copy and swap macros */
235*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SUPER_BLOCK(s, d)	\
236*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_SUPER_BLOCK(s, d, SWAP_LE)
237*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_INDEX(s, d) \
238*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_INDEX(s, d, SWAP_LE)
239*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d) \
240*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, SWAP_LE)
241*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) \
242*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_IPC_INODE_HEADER(s, d, SWAP_LE)
243*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LIPC_INODE_HEADER(s, d) \
244*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LIPC_INODE_HEADER(s, d, SWAP_LE)
245*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) \
246*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DEV_INODE_HEADER(s, d, SWAP_LE)
247*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LDEV_INODE_HEADER(s, d) \
248*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LDEV_INODE_HEADER(s, d, SWAP_LE)
249*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) \
250*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d, SWAP_LE)
251*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) \
252*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_REG_INODE_HEADER(s, d, SWAP_LE)
253*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) \
254*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LREG_INODE_HEADER(s, d, SWAP_LE)
255*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) \
256*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_INODE_HEADER(s, d, SWAP_LE)
257*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) \
258*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d, SWAP_LE)
259*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_ENTRY(s, d) \
260*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_ENTRY(s, d, SWAP_LE)
261*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_HEADER(s, d) \
262*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_HEADER(s, d, SWAP_LE)
263*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) \
264*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d, SWAP_LE)
265*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_ENTRY(s, d) \
266*79398b25SAndroid Build Coastguard Worker 			 _SQUASHFS_SWAP_XATTR_ENTRY(s, d, SWAP_LE)
267*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_VAL(s, d) \
268*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_XATTR_VAL(s, d, SWAP_LE)
269*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_ID(s, d) \
270*79398b25SAndroid Build Coastguard Worker 			 _SQUASHFS_SWAP_XATTR_ID(s, d, SWAP_LE)
271*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_TABLE(s, d) \
272*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_XATTR_TABLE(s, d, SWAP_LE)
273*79398b25SAndroid Build Coastguard Worker #define SWAP_LE(bits, s, d, field, type) \
274*79398b25SAndroid Build Coastguard Worker 			SWAP_LE##bits(((void *)(s)) + offsetof(type, field), \
275*79398b25SAndroid Build Coastguard Worker 				((void *)(d)) + offsetof(type, field))
276*79398b25SAndroid Build Coastguard Worker #define SWAP_LES(bits, s, d, field, type) \
277*79398b25SAndroid Build Coastguard Worker 			SWAP_LE(bits, s, d, field, type)
278*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_INODE_T(s, d) SQUASHFS_SWAP_LONG_LONGS(s, d, 1)
279*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) \
280*79398b25SAndroid Build Coastguard Worker 			SQUASHFS_SWAP_LONG_LONGS(s, d, n)
281*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LOOKUP_BLOCKS(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
282*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_ID_BLOCKS(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
283*79398b25SAndroid Build Coastguard Worker 
284*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SHORTS(s, d, n) swap_le16_num(s, d, n)
285*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_INTS(s, d, n) swap_le32_num(s, d, n)
286*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LONG_LONGS(s, d, n) swap_le64_num(s, d, n)
287*79398b25SAndroid Build Coastguard Worker 
288*79398b25SAndroid Build Coastguard Worker #define SWAP_LE16(s, d)		swap_le16(s, d)
289*79398b25SAndroid Build Coastguard Worker #define SWAP_LE32(s, d)		swap_le32(s, d)
290*79398b25SAndroid Build Coastguard Worker #define SWAP_LE64(s, d)		swap_le64(s, d)
291*79398b25SAndroid Build Coastguard Worker 
292*79398b25SAndroid Build Coastguard Worker /* big endian architecture swap in-place macros */
293*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SUPER_BLOCK(s) \
294*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_SUPER_BLOCK(s, s, INSWAP_LE)
295*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_INDEX(s) \
296*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_INDEX(s, s, INSWAP_LE)
297*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_BASE_INODE_HEADER(s) \
298*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_BASE_INODE_HEADER(s, s, INSWAP_LE)
299*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_IPC_INODE_HEADER(s) \
300*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_IPC_INODE_HEADER(s, s, INSWAP_LE)
301*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LIPC_INODE_HEADER(s) \
302*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LIPC_INODE_HEADER(s, s, INSWAP_LE)
303*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DEV_INODE_HEADER(s) \
304*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DEV_INODE_HEADER(s, s, INSWAP_LE)
305*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LDEV_INODE_HEADER(s) \
306*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LDEV_INODE_HEADER(s, s, INSWAP_LE)
307*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SYMLINK_INODE_HEADER(s) \
308*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, s, INSWAP_LE)
309*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_REG_INODE_HEADER(s) \
310*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_REG_INODE_HEADER(s, s, INSWAP_LE)
311*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LREG_INODE_HEADER(s) \
312*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LREG_INODE_HEADER(s, s, INSWAP_LE)
313*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_INODE_HEADER(s) \
314*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_INODE_HEADER(s, s, INSWAP_LE)
315*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LDIR_INODE_HEADER(s) \
316*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_LDIR_INODE_HEADER(s, s, INSWAP_LE)
317*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_ENTRY(s) \
318*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_ENTRY(s, s, INSWAP_LE)
319*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_HEADER(s) \
320*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_DIR_HEADER(s, s, INSWAP_LE)
321*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_FRAGMENT_ENTRY(s) \
322*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_FRAGMENT_ENTRY(s, s, INSWAP_LE)
323*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_ENTRY(s) \
324*79398b25SAndroid Build Coastguard Worker 			 _SQUASHFS_SWAP_XATTR_ENTRY(s, s, INSWAP_LE)
325*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_VAL(s) \
326*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_XATTR_VAL(s, s, INSWAP_LE)
327*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_ID(s) \
328*79398b25SAndroid Build Coastguard Worker 			 _SQUASHFS_SWAP_XATTR_ID(s, s, INSWAP_LE)
329*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_TABLE(s) \
330*79398b25SAndroid Build Coastguard Worker 			_SQUASHFS_SWAP_XATTR_TABLE(s, s, INSWAP_LE)
331*79398b25SAndroid Build Coastguard Worker #define INSWAP_LE(bits, s, d, field, type) \
332*79398b25SAndroid Build Coastguard Worker 			(s)->field = inswap_le##bits((s)->field)
333*79398b25SAndroid Build Coastguard Worker #define INSWAP_LES(bits, s, d, field, type) \
334*79398b25SAndroid Build Coastguard Worker 			(s)->field = INSWAP_LES##bits((s)->field)
335*79398b25SAndroid Build Coastguard Worker #define INSWAP_LES16(num) (short) inswap_le16((unsigned short) (num))
336*79398b25SAndroid Build Coastguard Worker #define INSWAP_LES32(num) (int) inswap_le32((unsigned int) (num))
337*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_INODE_T(s) s = inswap_le64(s)
338*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_FRAGMENT_INDEXES(s, n) inswap_le64_num(s, n)
339*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LOOKUP_BLOCKS(s, n) inswap_le64_num(s, n)
340*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_ID_BLOCKS(s, n) inswap_le64_num(s, n)
341*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SHORTS(s, n) inswap_le16_num(s, n)
342*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_INTS(s, n) inswap_le32_num(s, n)
343*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LONG_LONGS(s, n) inswap_le64_num(s, n)
344*79398b25SAndroid Build Coastguard Worker #else
345*79398b25SAndroid Build Coastguard Worker /* little endian architecture, just copy */
346*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SUPER_BLOCK(s, d)	\
347*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_super_block))
348*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_INDEX(s, d) \
349*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_dir_index))
350*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d) \
351*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_base_inode_header))
352*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) \
353*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_ipc_inode_header))
354*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LIPC_INODE_HEADER(s, d) \
355*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_lipc_inode_header))
356*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) \
357*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_dev_inode_header))
358*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LDEV_INODE_HEADER(s, d) \
359*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_ldev_inode_header))
360*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) \
361*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_symlink_inode_header))
362*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) \
363*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_reg_inode_header))
364*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) \
365*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_lreg_inode_header))
366*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) \
367*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_dir_inode_header))
368*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) \
369*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_ldir_inode_header))
370*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_ENTRY(s, d) \
371*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_dir_entry))
372*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_DIR_HEADER(s, d) \
373*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_dir_header))
374*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) \
375*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_fragment_entry))
376*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_ENTRY(s, d) \
377*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_xattr_entry))
378*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_VAL(s, d) \
379*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_xattr_val))
380*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_ID(s, d) \
381*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_xattr_id))
382*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_XATTR_TABLE(s, d) \
383*79398b25SAndroid Build Coastguard Worker 		SQUASHFS_MEMCPY(s, d, sizeof(struct squashfs_xattr_table))
384*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_INODE_T(s, d) SQUASHFS_SWAP_LONG_LONGS(s, d, 1)
385*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) \
386*79398b25SAndroid Build Coastguard Worker 			SQUASHFS_SWAP_LONG_LONGS(s, d, n)
387*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LOOKUP_BLOCKS(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
388*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_ID_BLOCKS(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
389*79398b25SAndroid Build Coastguard Worker 
390*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_MEMCPY(s, d, n)	memcpy(d, s, n)
391*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_SHORTS(s, d, n)	memcpy(d, s, n * sizeof(short))
392*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_INTS(s, d, n)	memcpy(d, s, n * sizeof(int))
393*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_SWAP_LONG_LONGS(s, d, n) \
394*79398b25SAndroid Build Coastguard Worker 					memcpy(d, s, n * sizeof(long long))
395*79398b25SAndroid Build Coastguard Worker 
396*79398b25SAndroid Build Coastguard Worker /* little endian architecture, data already in place so do nothing */
397*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SUPER_BLOCK(s)
398*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_INDEX(s)
399*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_BASE_INODE_HEADER(s)
400*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_IPC_INODE_HEADER(s)
401*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LIPC_INODE_HEADER(s)
402*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DEV_INODE_HEADER(s)
403*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LDEV_INODE_HEADER(s)
404*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SYMLINK_INODE_HEADER(s)
405*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_REG_INODE_HEADER(s)
406*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LREG_INODE_HEADER(s)
407*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_INODE_HEADER(s)
408*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LDIR_INODE_HEADER(s)
409*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_ENTRY(s)
410*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_DIR_HEADER(s)
411*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_FRAGMENT_ENTRY(s)
412*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_ENTRY(s)
413*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_VAL(s)
414*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_ID(s)
415*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_XATTR_TABLE(s)
416*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_INODE_T(s)
417*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_FRAGMENT_INDEXES(s, n)
418*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LOOKUP_BLOCKS(s, n)
419*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_ID_BLOCKS(s, n)
420*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_SHORTS(s, n)
421*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_INTS(s, n)
422*79398b25SAndroid Build Coastguard Worker #define SQUASHFS_INSWAP_LONG_LONGS(s, n)
423*79398b25SAndroid Build Coastguard Worker #endif
424*79398b25SAndroid Build Coastguard Worker #endif
425