mars-nwe/include/nwfile.h

70 lines
2.7 KiB
C
Raw Normal View History

2011-11-13 00:38:59 +01:00
/* nwfile.h 10-Nov-99 */
2011-11-13 00:38:56 +01:00
#ifndef _NWFILE_H_
#define _NWFILE_H_
2011-11-13 00:38:59 +01:00
#include "extpipe.h"
2011-11-13 00:38:56 +01:00
typedef struct {
2011-11-13 00:38:57 +01:00
int task; /* for which task */
2011-11-13 00:38:56 +01:00
int fd; /* filehandle from system open/creat */
2011-11-13 00:38:57 +01:00
long offd; /* actual file offset */
2011-11-13 00:38:57 +01:00
uint8 *p_mmap; /* for use with mmap */
int size_mmap;
2011-11-13 00:38:56 +01:00
time_t tmodi; /* modification TIME */
2011-11-13 00:38:59 +01:00
int modified; /* is file modified / written */
2011-11-13 00:38:56 +01:00
FILE_PIPE *f; /* for PIPE */
2011-11-13 00:38:57 +01:00
int fh_flags; /* 2 = PIPE */
2011-11-13 00:38:56 +01:00
/* 4 = don't reuse after close */
2011-11-13 00:38:56 +01:00
/* 0x20 = readonly */
2011-11-13 00:38:59 +01:00
int st_dev; /* device */
int st_ino; /* inode */
2011-11-13 00:38:56 +01:00
char fname[256]; /* UNIX filename */
2011-11-13 00:38:59 +01:00
int volume; /* Volume */
int inuse; /* used for multiple open of filehandle */
int access; /* open access */
2011-11-13 00:38:56 +01:00
} FILE_HANDLE;
2011-11-13 00:38:57 +01:00
/* fh_flags */
#define FH_IS_PIPE 0x01
#define FH_IS_PIPE_COMMAND 0x02
#define FH_DO_NOT_REUSE 0x04
2011-11-13 00:38:58 +01:00
#define FH_IS_READONLY 0x20 /* filesystem is readonly */
#define FH_OPENED_RO 0x40 /* is opened RO */
2011-11-13 00:38:56 +01:00
2011-11-13 00:38:57 +01:00
extern void sig_bus_mmap(int rsig);
2011-11-13 00:38:57 +01:00
extern void init_file_module(int task);
2011-11-13 00:38:56 +01:00
extern int file_creat_open(int volume, uint8 *unixname,
struct stat *stbuff,
2011-11-13 00:38:57 +01:00
int attrib, int access, int creatmode, int task);
2011-11-13 00:38:56 +01:00
extern int nw_set_fdate_time(uint32 fhandle, uint8 *datum, uint8 *zeit);
2011-11-13 00:38:59 +01:00
extern int nw_close_file(int fhandle, int reset_reuse, int task);
2011-11-13 00:38:58 +01:00
extern int nw_commit_file(int fhandle);
2011-11-13 00:38:56 +01:00
extern uint8 *file_get_unix_name(int fhandle);
2011-11-13 00:38:58 +01:00
extern int nw_read_file(int fhandle, uint8 *data, int size, uint32 offset);
extern int nw_seek_file(int fhandle, int modus);
extern int nw_write_file(int fhandle, uint8 *data, int size, uint32 offset);
2011-11-13 00:38:56 +01:00
extern int nw_server_copy(int qfhandle, uint32 qoffset,
int zfhandle, uint32 zoffset,
uint32 size);
2011-11-13 00:39:00 +01:00
extern int nw_log_physical_record(int fhandle, uint32 offset, uint32 size, uint16 timeout, int do_lock);
2011-11-13 00:38:56 +01:00
2011-11-13 00:38:58 +01:00
extern int fd_2_fname(int fhandle, char *buf, int bufsize);
2011-11-13 00:38:58 +01:00
extern FILE_HANDLE *fd_2_fh(int fhandle);
2011-11-13 00:38:58 +01:00
extern int get_nwfd(int fhandle);
2011-11-13 00:38:59 +01:00
extern void log_file_module(FILE *f);
extern int nw_get_count_open_files(uint8 *handlebuf, uint32 offset);
2011-11-13 00:38:56 +01:00
2011-11-13 00:38:59 +01:00
extern int nw_log_logical_record(int lock_flag,
int timeout,
int len,
uint8 *data);
2011-11-13 00:39:00 +01:00
extern void dump_locks(int dev, int inode, int fd, FILE *f);
2011-11-13 00:38:56 +01:00
#endif