9857a0fed506e4849b09bccf0c7516ab9faedc4a
[oweals/gnunet.git] / src / util / disk.h
1 /*\r
2      This file is part of GNUnet.\r
3      (C) 2009 Christian Grothoff (and other contributing authors)\r
4 \r
5      GNUnet is free software; you can redistribute it and/or modify\r
6      it under the terms of the GNU General Public License as published\r
7      by the Free Software Foundation; either version 2, or (at your\r
8      option) any later version.\r
9 \r
10      GNUnet is distributed in the hope that it will be useful, but\r
11      WITHOUT ANY WARRANTY; without even the implied warranty of\r
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
13      General Public License for more details.\r
14 \r
15      You should have received a copy of the GNU General Public License\r
16      along with GNUnet; see the file COPYING.  If not, write to the\r
17      Free Software Foundation, Inc., 59 Temple Place - Suite 330,\r
18      Boston, MA 02111-1307, USA.\r
19 */\r
20 \r
21 /**\r
22  * @file util/disk.h\r
23  * @brief Internal DISK related helper functions\r
24  * @author Nils Durner\r
25  */\r
26 \r
27 \r
28 #ifndef GNUNET_DISK_H_\r
29 #define GNUNET_DISK_H_\r
30 \r
31 #include "gnunet_disk_lib.h"\r
32 \r
33 struct GNUNET_DISK_FileHandle\r
34 {\r
35 #ifdef MINGW\r
36   HANDLE h;\r
37 #else\r
38   int fd;\r
39 #endif\r
40 };\r
41 \r
42 /**\r
43  * Retrieve OS file handle\r
44  * @internal\r
45  * @param fh GNUnet file descriptor\r
46  * @param dst destination buffer\r
47  * @param dst_len length of dst\r
48  * @return GNUNET_OK on success, GNUNET_SYSERR otherwise\r
49  */\r
50 int GNUNET_internal_disk_file_handle (const struct GNUNET_DISK_FileHandle *fh,\r
51                                       void *dst, unsigned int dst_len);\r
52 \r
53 #endif /* GNUNET_DISK_H_ */\r