summaryrefslogtreecommitdiff
path: root/support/dktools/dk4ufit.h
blob: d889b91d72bb012391c55d1458dbc54485e533cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
Copyright 2020, Dirk Krause. All rights reserved.
SPDX-License-Identifier:	BSD-3-Clause
*/

#ifndef DK4UFIT_H_INCLUDED
/**	Protection against multiple inclusion. */
#define	DK4UFIT_H_INCLUDED 1

/**	@file	dk4ufit.h	Data type for unique file identifiers.
*/

#ifndef DK4CONF_H_INCLUDED
#if DK4_BUILDING_DKTOOLS4
#include "dk4conf.h"
#else
#include <dktools-4/dk4conf.h>
#endif
#endif

#ifndef DK4TYPES_H_INCLUDED
#if DK4_BUILDING_DKTOOLS4
#include "dk4types.h"
#else
#include <dktools-4/dk4types.h>
#endif
#endif

#if !DK4_ON_WINDOWS
#ifndef DK4STATT_H_INCLUDED
#if DK4_BUILDING_DKTOOLS4
#include "dk4statt.h"
#else
#include <dktools-4/dk4statt.h>
#endif
#endif
#endif

/**	Unique file identification.
*/
typedef struct {
#if DK4_ON_WINDOWS
  unsigned long	ser;	/**< Volume serial number (originally DWORD). */
  unsigned long	inh;	/**< Higher index part (originally DWORD). */
  unsigned long	inl;	/**< Lower index part (originally DWORD). */
#else
  dk4_um_t	dev;	/**< Device number (originally dev_t). */
  dk4_um_t	ino;	/**< Inode number (originally ino_t). */
#endif
} dk4_ufi_t;

#endif