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