/*
* simple return fs type magic number or zero when error
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statfs st;
if (statfs(fname, &st) == 0) {
+#if defined (HAVE_OPENBSD_OS)
+ return (((uint64_t)st.f_fsid.val[0])<<32) | st.f_fsid.val[1];
+#else
return st.f_type;
+#endif
}
return 0;
}
/*
* simple return fs type magic number or zero when error
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statvfs st;
/*
* simple return fs type magic number or zero when error
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statfs st;
/*
* simple return fs type magic number or zero when error
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statfs st;
/*
* simple return fs type magic number
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statvfs st;
/*
* simple return fs type magic number
*/
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
struct statfs st;
}
/* Not implemented for windows, used in ACL code */
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
return 0;
}
#else /* No recognised OS */
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt)
+static uint64_t fstypeid(char *fname, FF_PKT *ff_pkt)
{
Dmsg0(10, "!!! fstypeid() not implemented for this OS. !!!\n");
return 0;
/*
* compares current fstype from FF_PKT for required fstype_magic
*/
-bool check_current_fs(char *fname, FF_PKT *ff, uint32_t fstype_magic)
+bool check_current_fs(char *fname, FF_PKT *ff, uint64_t fstype_magic)
{
- uint32_t fsid;
+ uint64_t fsid;
if (fstype_magic > 0){
// get fsid for file
/* from fstype.c */
bool fstype(FF_PKT *ff_pkt, char *fs, int fslen);
bool fstype(char *fname, FF_PKT *ff_pkt, char *fs, int fslen);
-uint32_t fstypeid(char *fname, FF_PKT *ff_pkt);
bool check_current_fs(char *fname, FF_PKT *ff, const char *fstype_name);
bool check_current_fs(char *fname, FF_PKT *ff, uint32_t fstype_magic);