#include <windows.h>
#include "winapi.h"
-#define BF_CLOSED 0
-#define BF_READ 1 /* BackupRead */
-#define BF_WRITE 2 /* BackupWrite */
+enum {
+ BF_CLOSED,
+ BF_READ, /* BackupRead */
+ BF_WRITE /* BackupWrite */
+};
/* In bfile.c */
/* Basic low level I/O file packet */
-typedef struct s_bfile {
-#ifdef xxx
- int use_win_api; /* set if using WinAPI */
-#endif
+struct BFILE {
int use_backup_api; /* set if using BackupRead/Write */
int mode; /* set if file is open */
HANDLE fh; /* Win32 file handle */
POOLMEM *errmsg; /* error message buffer */
DWORD rw_bytes; /* Bytes read or written */
DWORD lerror; /* Last error code */
-} BFILE;
+};
HANDLE bget_handle(BFILE *bfd);
#else /* Linux/Unix systems */
/* Basic low level I/O file packet */
-typedef struct s_bfile {
+struct BFILE {
int fid; /* file id on Unix */
int berrno;
-} BFILE;
+};
#endif
-void binit(BFILE *bfd);
-int is_bopen(BFILE *bfd);
-int is_win32_data(BFILE *bfd);
-char *berror(BFILE *bfd);
-int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode);
-int bclose(BFILE *bfd);
+void binit(BFILE *bfd);
+int is_bopen(BFILE *bfd);
+int set_win32_backup(BFILE *bfd);
+int set_portable_backup(BFILE *bfd);
+int have_win32_api();
+int is_portable_backup(BFILE *bfd);
+int is_stream_supported(int stream);
+int is_win32_stream(int stream);
+char *berror(BFILE *bfd);
+int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode);
+int bclose(BFILE *bfd);
ssize_t bread(BFILE *bfd, void *buf, size_t count);
ssize_t bwrite(BFILE *bfd, void *buf, size_t count);
-off_t blseek(BFILE *bfd, off_t offset, int whence);
+off_t blseek(BFILE *bfd, off_t offset, int whence);
+char *stream_to_ascii(int stream);
#endif /* __BFILE_H */