+// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
* All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
typedef enum fldt {
/* attr 3 specific fields */
FLDT_ATTR3,
+ FLDT_ATTR3_BLKINFO,
FLDT_ATTR3_LEAF_HDR,
FLDT_ATTR3_NODE_HDR,
+ FLDT_ATTR3_REMOTE_HDR,
FLDT_BMAPBTA,
FLDT_BMAPBTA_CRC,
FLDT_CFSBLOCK,
FLDT_CHARNS,
FLDT_CHARS,
+ FLDT_REXTLEN,
+ FLDT_RFILEOFFD,
+ FLDT_REXTFLG,
+ FLDT_RATTRFORKFLG,
+ FLDT_RBMBTFLG,
+ FLDT_CAGBLOCK,
+ FLDT_CCOWFLG,
FLDT_CNTBT,
FLDT_CNTBT_CRC,
FLDT_CNTBTKEY,
FLDT_CNTBTPTR,
FLDT_CNTBTREC,
+ FLDT_RMAPBT_CRC,
+ FLDT_RMAPBTKEY,
+ FLDT_RMAPBTPTR,
+ FLDT_RMAPBTREC,
+ FLDT_REFCBT_CRC,
+ FLDT_REFCBTKEY,
+ FLDT_REFCBTPTR,
+ FLDT_REFCBTREC,
+
+ /* CRC field type */
+ FLDT_CRC,
+
FLDT_DEV,
FLDT_DFILOFFA,
FLDT_DFILOFFD,
FLDT_DIR3_DATA_HDR,
FLDT_DIR3_FREE_HDR,
FLDT_DIR3_LEAF_HDR,
+ FLDT_DIR3_DATA_UNION,
+ FLDT_DIR3_SF_ENTRY,
+ FLDT_DIR3SF,
/* dir v2/3 node fields */
FLDT_DA_BLKINFO,
FLDT_INO,
FLDT_INOBT,
FLDT_INOBT_CRC,
+ FLDT_INOBT_SPCRC,
FLDT_INOBTKEY,
FLDT_INOBTPTR,
FLDT_INOBTREC,
+ FLDT_INOBTSPREC,
FLDT_INODE,
FLDT_INODE_CRC,
FLDT_INOFREE,
FLDT_QCNT,
FLDT_QWARNCNT,
FLDT_SB,
+
+ /* CRC enabled symlink */
+ FLDT_SYMLINK_CRC,
+
FLDT_TIME,
FLDT_TIMESTAMP,
FLDT_UINT1,
} fldt_t;
typedef int (*offset_fnc_t)(void *obj, int startoff, int idx);
-#define OI(o) ((offset_fnc_t)(__psint_t)(o))
+#define OI(o) ((offset_fnc_t)(intptr_t)(o))
typedef int (*count_fnc_t)(void *obj, int startoff);
-#define CI(c) ((count_fnc_t)(__psint_t)(c))
+#define CI(c) ((count_fnc_t)(intptr_t)(c))
#define C1 CI(1)
typedef struct field
#define FLD_COUNT 16 /* count value is a function pointer */
typedef int (*size_fnc_t)(void *obj, int startoff, int idx);
-#define SI(s) ((size_fnc_t)(__psint_t)(s))
+#define SI(s) ((size_fnc_t)(intptr_t)(s))
typedef struct ftattr
{