1 /*
2    fnkdat - an interface for determining common directory names
3    Copyright (C) 2001, 2002  David MacCormack
4    $Header$
5 
6    This program is free software; you can redistribute it and/or
7    modify it under the terms of the GNU General Public License
8    as published by the Free Software Foundation; either version 2
9    of the License, or (at your option) any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 
20    As a special exception, David MacCormack gives permission
21    for additional uses of the text contained in the files named
22    ``fnkdat.h'' and ``fnkdat.c'', hereafter known as FNKDAT.
23 
24    The exception is that, if you link the FNKDAT with other files
25    to produce an executable, this does not by itself cause the
26    resulting executable to be covered by the GNU General Public License.
27    Your use of that executable is in no way restricted on account of
28    linking the FNKDAT code into it.
29 
30    This exception does not however invalidate any other reasons why
31    the executable file might be covered by the GNU General Public License.
32 
33    This exception applies only to the code released by David MacCormack
34    under the name FNKDAT.  If you copy code from other software into a
35    copy of FNKDAT, as the General Public License permits, the exception does
36    not apply to the code that you add in this way.  To avoid misleading
37    anyone as to the status of such modified files, you must delete
38    this exception notice from them.
39 
40    If you write modifications of your own for FNKDAT, it is your choice
41    whether to permit this exception to apply to your modifications.
42    If you do not wish that, delete this exception notice.
43 
44    David MacCormack (djm at maccormack dot net)
45 
46 */
47 
48 #ifndef _FNKDAT_H
49 #define _FNKDAT_H
50 
51 #define FNKDAT_CONF     0x01
52 #define FNKDAT_DATA     0x02
53 #define FNKDAT_VAR      0x04
54 #define FNKDAT_USER     0x08
55 #define FNKDAT_INIT     0x10
56 #define FNKDAT_UNINIT   0x20
57 #define FNKDAT_CREAT    0x80
58 
59 /* version automatically populated */
60 #define FNKDAT_VERSION "0.0.8"
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
66 
67 #ifdef _WIN32
68 
69 /*
70  * Include UNICODE crap
71  */
72 #include <tchar.h>
73 
74 /*
75  * define in a UNICODE compatible way
76  */
77 int fnkdat(const _TCHAR* target, _TCHAR* buffer, int len, int flags);
78 
79 #else
80 
81 /*
82  * basic, lovable ANSI C
83  */
84 int fnkdat(const char* target, char* buffer, int len, int flags);
85 
86 
87 #endif /* _WIN32 */
88 
89 
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 
96 #endif /* _FNKDAT_H */
97 
98 /* vi: set sw=3 ts=3 tw=78 et sts: */
99 
100