1 /* 2 Copyright 2020, Dirk Krause. All rights reserved. 3 SPDX-License-Identifier: BSD-3-Clause 4 */ 5 6 #ifndef DK4UFIT_H_INCLUDED 7 /** Protection against multiple inclusion. */ 8 #define DK4UFIT_H_INCLUDED 1 9 10 /** @file dk4ufit.h Data type for unique file identifiers. 11 */ 12 13 #ifndef DK4CONF_H_INCLUDED 14 #if DK4_BUILDING_DKTOOLS4 15 #include "dk4conf.h" 16 #else 17 #include <dktools-4/dk4conf.h> 18 #endif 19 #endif 20 21 #ifndef DK4TYPES_H_INCLUDED 22 #if DK4_BUILDING_DKTOOLS4 23 #include <libdk4base/dk4types.h> 24 #else 25 #include <dktools-4/dk4types.h> 26 #endif 27 #endif 28 29 #if !DK4_ON_WINDOWS 30 #ifndef DK4STATT_H_INCLUDED 31 #if DK4_BUILDING_DKTOOLS4 32 #include <libdk4c/dk4statt.h> 33 #else 34 #include <dktools-4/dk4statt.h> 35 #endif 36 #endif 37 #endif 38 39 /** Unique file identification. 40 */ 41 typedef struct { 42 #if DK4_ON_WINDOWS 43 unsigned long ser; /**< Volume serial number (originally DWORD). */ 44 unsigned long inh; /**< Higher index part (originally DWORD). */ 45 unsigned long inl; /**< Lower index part (originally DWORD). */ 46 #else 47 dk4_um_t dev; /**< Device number (originally dev_t). */ 48 dk4_um_t ino; /**< Inode number (originally ino_t). */ 49 #endif 50 } dk4_ufi_t; 51 52 #endif 53 54