1 /*
2 Copyright (C) 2015-2021, Dirk Krause
3 SPDX-License-Identifier: BSD-3-Clause
4 */
5 
6 /*
7 	WARNING: This file was generated by the dkct program (see
8 	http://dktools.sourceforge.net/ for details).
9 	Changes you make here will be lost if dkct is run again!
10 	You should modify the original source and run dkct on it.
11 	Original source: dk4ufi.ctr
12 */
13 
14 #ifndef DK4UFI_H_INCLUDED
15 /** Avoid multiple inclusions. */
16 #define DK4UFI_H_INCLUDED 1
17 
18 
19 /**	@file
20 	Obtain unique file identifier for path specified as dkChar string.
21 	On non-Windows systems the UFI consists of inode number and
22 	device number. On Windows systems the volume serial number,
23 	higher index number and lower index number are used.
24 
25 
26 	CRT on Windows: Not used.
27 */
28 
29 #ifndef	DK4CONF_H_INCLUDED
30 #if DK4_BUILDING_DKTOOLS4
31 #include "dk4conf.h"
32 #else
33 #include <dktools-4/dk4conf.h>
34 #endif
35 #endif
36 
37 #ifndef DK4UFIT_H_INCLUDED
38 #if DK4_BUILDING_DKTOOLS4
39 #include <libdk4c/dk4ufit.h>
40 #else
41 #include <dktools-4/dk4ufit.h>
42 #endif
43 #endif
44 
45 #ifndef DK4ERROR_H_INCLUDED
46 #if DK4_BUILDING_DKTOOLS4
47 #include <libdk4base/dk4error.h>
48 #else
49 #include <dktools-4/dk4error.h>
50 #endif
51 #endif
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif
56 
57 /**	Retrieve unique file identifier (for symbolic links return
58 	information about link target).
59 	@param	dptr	Destination buffer.
60 	@param	fn	File name.
61 	@param	erp	Error report, may be NULL.
62 	@return	1 on success, 0 on error.
63 */
64 int
65 dk4ufi_get(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp);
66 
67 /**	Retrieve unique file identifier (for link itself).
68 	@param	dptr	Destination buffer.
69 	@param	fn	File name.
70 	@param	erp	Error report, may be NULL.
71 	@return	1 on success, 0 on error.
72 */
73 int
74 dk4ufi_get_l(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp);
75 
76 #ifdef __cplusplus
77 }
78 #endif
79 
80 
81 
82 #endif
83