bio test fixed
[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 \r
34 /**\r
35  * Handle used to access files (and pipes).  \r
36  */\r
37 struct GNUNET_DISK_FileHandle\r
38 {\r
39 #ifdef MINGW\r
40   /**\r
41    * File handle under W32.\r
42    */\r
43   HANDLE h;\r
44 #else\r
45   /**\r
46    * File handle on other OSes.\r
47    */\r
48   int fd;\r
49 #endif\r
50 };\r
51 \r
52 \r
53 \r
54 /**\r
55  * Retrieve OS file handle\r
56  *\r
57  * @internal\r
58  * @param fh GNUnet file descriptor\r
59  * @param dst destination buffer\r
60  * @param dst_len length of dst\r
61  * @return GNUNET_OK on success, GNUNET_SYSERR otherwise\r
62  */\r
63 int GNUNET_DISK_internal_file_handle_ (const struct GNUNET_DISK_FileHandle *fh,\r
64                                       void *dst,\r
65                                       size_t dst_len);\r
66 \r
67 #endif /* GNUNET_DISK_H_ */\r