/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) International Business Machines Corp., 2000-2004 */ #ifndef _H_JFS_TYPES #define _H_JFS_TYPES /* * jfs_types.h: * * basic type/utility definitions * * note: this header file must be the 1st include file * of JFS include list in all JFS .c file. */ #include <linux/types.h> #include <linux/nls.h> /* * transaction and lock id's * * Don't change these without carefully considering the impact on the * size and alignment of all of the linelock variants */ tid_t; lid_t; /* * Almost identical to Linux's timespec, but not quite */ struct timestruc_t { … }; /* * handy */ #define LEFTMOSTONE … #define HIGHORDER … #define ONES … /* * physical xd (pxd) * * The leftmost 24 bits of len_addr are the extent length. * The rightmost 8 bits of len_addr are the most signficant bits of * the extent address */ pxd_t; /* xd_t field construction */ static inline void PXDlength(pxd_t *pxd, __u32 len) { … } static inline void PXDaddress(pxd_t *pxd, __u64 addr) { … } /* xd_t field extraction */ static inline __u32 lengthPXD(pxd_t *pxd) { … } static inline __u64 addressPXD(pxd_t *pxd) { … } #define MAXTREEHEIGHT … /* pxd list */ struct pxdlist { … }; /* * data extent descriptor (dxd) */ dxd_t; /* - 16 - */ /* dxd_t flags */ #define DXD_INDEX … #define DXD_INLINE … #define DXD_EXTENT … #define DXD_FILE … #define DXD_CORRUPT … /* dxd_t field construction */ #define DXDlength(dxd, len) … #define DXDaddress(dxd, addr) … #define lengthDXD(dxd) … #define addressDXD(dxd) … #define DXDsize(dxd, size32) … #define sizeDXD(dxd) … /* * directory entry argument */ struct component_name { … }; /* * DASD limit information - stored in directory inode */ struct dasd { … }; #define DASDLIMIT(dasdp) … #define setDASDLIMIT(dasdp, limit) … #define DASDUSED(dasdp) … #define setDASDUSED(dasdp, used) … #endif /* !_H_JFS_TYPES */