-/* $Id: mfile.h,v 1.18 2002-08-02 19:26:55 adam Exp $
- Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
+/* $Id: mfile.h,v 1.21.2.2 2006-10-04 09:07:19 adam Exp $
+ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
This file is part of the Zebra server.
for more details.
You should have received a copy of the GNU General Public License
-along with Zebra; see the file LICENSE.zebra. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
*/
#include <yaz/yconfig.h>
#ifdef WIN32
-typedef long off_t;
+
+#if 0
+/* 32-bit access .. */
+typedef long mfile_off_t;
+#define mfile_seek lseek
+
+#else
+/* 64-bit access .. */
+typedef __int64 mfile_off_t;
+#define mfile_seek _lseeki64
+#endif
+
#else
#include <sys/types.h>
+typedef off_t mfile_off_t;
+#define mfile_seek lseek
#endif
#ifndef FILENAME_MAX
typedef struct mf_dir
{
char name[FILENAME_MAX+1];
- off_t max_bytes; /* allocated bytes in this dir. */
- off_t avail_bytes; /* bytes left */
+ mfile_off_t max_bytes; /* allocated bytes in this dir. */
+ mfile_off_t avail_bytes; /* bytes left */
struct mf_dir *next;
} mf_dir;
int number;
int top;
int blocks;
- off_t bytes;
+ mfile_off_t bytes;
mf_dir *dir;
char *path;
int fd;
int no_files;
int cur_file;
int open; /* is this file open? */
- off_t blocksize;
- off_t min_bytes_creat; /* minimum bytes required to enter directory */
+ int blocksize;
+ mfile_off_t min_bytes_creat; /* minimum bytes required to enter directory */
MFile_area ma;
int wr;
Zebra_mutex mutex;
int mf_write(MFile mf, int no, int offset, int nbytes, const void *buf);
/*
- * Destroy a metafile, unlinking component files. File must be open.
- */
-int mf_unlink(MFile mf);
-
-
-/*
* Destroy all metafiles. No files may be opened.
*/
-void mf_reset(MFile_area ma);
+void mf_reset(MFile_area ma, int unlink_flag);
/*
* Unlink the file by name, rather than MFile-handle.