/*
Bacula® - The Network Backup Solution
- Copyright (C) 2003-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2003-2010 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
*
* Kern Sibbald, April MMIII
*
- * Version $Id$
- *
*/
#include "bacula.h"
return _("Solaris Specific ACL attribs");
case STREAM_ACL_SOLARIS_ACE:
return _("Solaris Specific ACL attribs");
+ case STREAM_XATTR_OPENBSD:
+ return _("OpenBSD Specific Extended attribs");
+ case STREAM_XATTR_SOLARIS_SYS:
+ return _("Solaris Specific Extensible attribs or System Extended attribs");
+ case STREAM_XATTR_SOLARIS:
+ return _("Solaris Specific Extended attribs");
case STREAM_XATTR_DARWIN:
return _("Darwin Specific Extended attribs");
case STREAM_XATTR_FREEBSD:
}
}
-
+/**
+ * Convert a 64 bit little endian to a big endian
+ */
void int64_LE2BE(int64_t* pBE, const int64_t v)
{
/* convert little endian to big endian */
}
}
-
+/**
+ * Convert a 32 bit little endian to a big endian
+ */
void int32_LE2BE(int32_t* pBE, const int32_t v)
{
/* convert little endian to big endian */
}
+/**
+ * Read a BackupRead block and pull out the file data
+ */
bool processWin32BackupAPIBlock (BFILE *bfd, void *pBuffer, ssize_t dwSize)
{
/* pByte contains the buffer
free_pool_memory(win32_fname);
return bfd->mode == BF_CLOSED ? -1 : 1;
}
- Dmsg0(50, "=== NOT plugin\n");
+ Dmsg0(50, "=== NO plugin\n");
- if (!(p_CreateFileA || p_CreateFileW))
+ if (!(p_CreateFileA || p_CreateFileW)) {
+ Dmsg0(50, "No CreateFileA and no CreateFileW!!!!!\n");
return 0;
+ }
- if (p_CreateFileW && p_MultiByteToWideChar)
+ if (p_CreateFileW && p_MultiByteToWideChar) {
make_win32_path_UTF8_2_wchar(&win32_fname_wchar, fname);
+ }
if (flags & O_CREAT) { /* Create */
if (bfd->use_backup_api) {
if (p_CreateFileW && p_MultiByteToWideChar) {
// unicode open for create write
+ Dmsg1(100, "Create CreateFileW=%s\n", win32_fname);
bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
dwaccess, /* Requested access */
0, /* Shared mode */
NULL); /* TemplateFile */
} else {
// ascii open
+ Dmsg1(100, "Create CreateFileA=%s\n", win32_fname);
bfd->fh = p_CreateFileA(win32_fname,
dwaccess, /* Requested access */
0, /* Shared mode */
if (p_CreateFileW && p_MultiByteToWideChar) {
// unicode open for open existing write
+ Dmsg1(100, "Write only CreateFileW=%s\n", win32_fname);
bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
dwaccess, /* Requested access */
0, /* Shared mode */
NULL); /* TemplateFile */
} else {
// ascii open
+ Dmsg1(100, "Write only CreateFileA=%s\n", win32_fname);
bfd->fh = p_CreateFileA(win32_fname,
dwaccess, /* Requested access */
0, /* Shared mode */
if (p_CreateFileW && p_MultiByteToWideChar) {
// unicode open for open existing read
+ Dmsg1(100, "Read CreateFileW=%s\n", win32_fname);
bfd->fh = p_CreateFileW((LPCWSTR)win32_fname_wchar,
dwaccess, /* Requested access */
dwshare, /* Share modes */
NULL); /* TemplateFile */
} else {
// ascii open
+ Dmsg1(100, "Read CreateFileA=%s\n", win32_fname);
bfd->fh = p_CreateFileA(win32_fname,
dwaccess, /* Requested access */
dwshare, /* Share modes */
{
int stat = 0;
- if (bfd->errmsg) {
- free_pool_memory(bfd->errmsg);
- bfd->errmsg = NULL;
- }
if (bfd->mode == BF_CLOSED) {
Dmsg0(50, "=== BFD already closed.\n");
return 0;
}
all_done:
+ if (bfd->errmsg) {
+ free_pool_memory(bfd->errmsg);
+ bfd->errmsg = NULL;
+ }
bfd->mode = BF_CLOSED;
bfd->lpContext = NULL;
bfd->cmd_plugin = false;
free_pool_memory(rsrc_fname);
return bfd->fid;
}
+#else
+int bopen_rsrc(BFILE *bfd, const char *fname, int flags, mode_t mode)
+{
+ return -1;
+}
#endif