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