components/samba/Solaris/include/samfs/stat.h
author Jiri Sasek <Jiri.Sasek@Oracle.COM>
Tue, 22 Dec 2015 04:53:40 -0800
changeset 5222 8298df727253
parent 4109 components/samba/samba/Solaris/include/samfs/stat.h@b8f324d4e07c
permissions -rw-r--r--
22456590 Component path components/samba/samba now can be reduced to components/samba .
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4109
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     1
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     2
 * stat.h - SAM-FS file information definitions.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     3
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     4
 * Defines the SAM-FS file information structure and functions.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     5
 * The POSIX stat structure and associated macros are used to allow
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     6
 * the sam_stat structure to be used on various client machine
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     7
 * architectures.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     8
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     9
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    10
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    11
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    12
 *    SAM-QFS_notice_begin
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    13
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    14
 * CDDL HEADER START
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    15
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    16
 * The contents of this file are subject to the terms of the
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    17
 * Common Development and Distribution License (the "License").
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    18
 * You may not use this file except in compliance with the License.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    19
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    20
 * You can obtain a copy of the license at pkg/OPENSOLARIS.LICENSE
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    21
 * or http://www.opensolaris.org/os/licensing.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    22
 * See the License for the specific language governing permissions
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    23
 * and limitations under the License.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    24
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    25
 * When distributing Covered Code, include this CDDL HEADER in each
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    26
 * file and include the License file at pkg/OPENSOLARIS.LICENSE.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    27
 * If applicable, add the following below this CDDL HEADER, with the
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    28
 * fields enclosed by brackets "[]" replaced with your own identifying
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    29
 * information: Portions Copyright [yyyy] [name of copyright owner]
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    30
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    31
 * CDDL HEADER END
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    32
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    33
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    34
 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    35
 *
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    36
 *    SAM-QFS_notice_end
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    37
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    38
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    39
#ifndef	SAM_STAT_H
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    40
#define	SAM_STAT_H
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    41
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    42
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    43
#ifdef linux
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    44
#include <sam/linux_types.h>	/* u_longlong_t */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    45
#endif /* linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    46
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    47
#ifdef  __cplusplus
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    48
extern "C" {
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    49
#endif
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    50
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    51
#define	MAX_ARCHIVE		4
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    52
#define	SAM_MIN_SEGMENT_SIZE	(1024*1024) /* Minimum segment size in bytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    53
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    54
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    55
 * If sam/stat.h and sys/stat.h are needed in the same module, then
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    56
 * sys/stat.h must be included before sam/stat.h.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    57
 * The following is provided to avoid compilation errors:
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    58
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    59
#if defined(_SYS_STAT_H) || defined(_LINUX_STAT_H) || defined(_BITS_STAT_H)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    60
#undef st_atime
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    61
#undef st_mtime
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    62
#undef st_ctime
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    63
#undef S_ISBLK
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    64
#undef S_ISCHR
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    65
#undef S_ISDIR
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    66
#undef S_ISFIFO
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    67
#undef S_ISGID
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    68
#undef S_ISREG
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    69
#undef S_ISUID
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    70
#undef S_ISLNK
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    71
#undef S_ISSOCK
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    72
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    73
#ifdef	linux
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    74
#undef S_IRWXU
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    75
#undef S_IRUSR
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    76
#undef S_IWUSR
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    77
#undef S_IXUSR
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    78
#undef S_IRWXG
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    79
#undef S_IRGRP
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    80
#undef S_IWGRP
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    81
#undef S_IXGRP
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    82
#undef S_IRWXO
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    83
#undef S_IROTH
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    84
#undef S_IWOTH
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    85
#undef S_IXOTH
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    86
#endif	/* linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    87
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    88
#endif /* defined(_SYS_STAT_H) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    89
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    90
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    91
 *	NOTE that in order to pass the following structures from a 64-bit
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    92
 *	kernel to a 32-bit application, we need to conditionally define the
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    93
 *	positions of the 32-bit time and the pad differently for SPARC and X86.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    94
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    95
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    96
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    97
 * Begin: 32-bit align copyin() structs for amd64 only due to 32-bit x86 ABI
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    98
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    99
#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   100
#pragma pack(4)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   101
#endif
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   102
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   103
#if defined(__sparcv9) || defined(__amd64) || defined(linux)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   104
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   105
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   106
 * For each archive copy
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   107
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   108
struct sam_copy_s {
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   109
	/* Location of archive file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   110
	u_longlong_t 	position;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   111
	/* Time archive copy created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   112
	time_t		creation_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   113
	/* Location of copy in archive file - in units of 512 bytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   114
	uint_t		offset;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   115
	ushort_t	flags;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   116
	/* Number of VSNs the archive used */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   117
	short		n_vsns;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   118
	/* Media type */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   119
	char		media[4];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   120
	/* VSN */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   121
	char		vsn[32];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   122
};
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   123
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   124
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   125
 * POSIX stat structure.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   126
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   127
struct sam_stat {
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   128
	uint_t		st_mode;	/* File mode */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   129
	uint_t		st_ino;		/* File serial number */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   130
#ifdef  sun
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   131
	/* ID of the device containing the file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   132
	dev_t		st_dev;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   133
#endif  /* sun */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   134
#ifdef  linux
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   135
	/* ID of the device containing the file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   136
	ushort_t	st_dev;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   137
#endif  /* linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   138
	uint_t		st_nlink;	/* Number of links */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   139
	uint_t		st_uid;		/* User ID of the file's owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   140
	uint_t		st_gid;		/* Group ID of the file's owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   141
	u_longlong_t 	st_size;	/* The file size in bytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   142
	time_t 		st_atime;	/* Time of last access */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   143
	time_t 		st_mtime;	/* Time of last data modification */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   144
	time_t 		st_ctime;	/* Time of last file status change */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   145
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   146
	/* SAM-FS information. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   147
	time_t 		attribute_time;	/* Time attributes last changed */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   148
	time_t 		creation_time;	/* Time inode created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   149
	time_t 		residence_time;	/* Time file changed residence */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   150
	struct 		sam_copy_s copy[MAX_ARCHIVE];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   151
	uint_t		old_attr;	/* File attr, backwards compatible */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   152
	uchar_t		cs_algo;	/* Checksum algorithm indicator */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   153
	uchar_t		flags;		/* Flags:  staging, stage err, etc. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   154
	uchar_t		stripe_width;	/* Stripe Width set by setfa -s or -h */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   155
	uchar_t		stripe_group;	/* Stripe Group set by setfa -g or -o */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   156
	uint_t 		gen;		/* File generation number */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   157
	uint_t 		partial_size;	/* Partial size in kilobytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   158
#ifdef	sun
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   159
	/* ID of device if S_IFBLK or S_IFCHR */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   160
	dev_t		rdev;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   161
#endif 	/* sun */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   162
#ifdef linux
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   163
	/* ID of device if S_IFBLK or S_IFCHR */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   164
	ushort_t	rdev;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   165
#endif 	/* linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   166
	/* Block count in units of 512 byte blocks */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   167
	u_longlong_t 	st_blocks;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   168
	/* Segment size in megabytes (SS_SEGMENT_A) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   169
	uint_t 		segment_size;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   170
	/* Number of this segment */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   171
	/* 0 - SS_SEGMENT_F, 1 .. n - SS_SEGMENT_S */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   172
	uint_t 		segment_number;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   173
	/* Number of segments to stage ahead */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   174
	uint_t 		stage_ahead;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   175
	/* admin ID; inherited from dir */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   176
	uint_t 		admin_id;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   177
	/* Allocate ahead size set by setfa -A */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   178
	uint_t 		allocahead;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   179
	/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   180
	 * Object stripe depth in kilobytes.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   181
	 * If this field is used only for OSD support then it should be removed
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   182
	 * once it is determined that removing it is safe.  Update the man page
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   183
	 * for sam_stat(3) when this is done.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   184
	 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   185
	uint_t		obj_depth;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   186
	/* 128 bit checksum */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   187
	u_longlong_t 	cs_val[2];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   188
	/* WORM retention period start and duration. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   189
	time_t		rperiod_start_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   190
	uint_t		rperiod_duration;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   191
	projid_t	projid;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   192
	u_longlong_t	attr;		/* File attributes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   193
};
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   194
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   195
#else   /* __sparcv9 || __amd64 || linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   196
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   197
 * For each archive copy.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   198
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   199
struct sam_copy_s {
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   200
	/* Location of archive file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   201
	u_longlong_t 	position;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   202
#if 	defined(__i386)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   203
	/* Time archive copy created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   204
	time_t		creation_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   205
	ulong_t		pad0;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   206
#else
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   207
	ulong_t		pad0;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   208
	/* Time archive copy created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   209
	time_t		creation_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   210
#endif	/* __i386 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   211
	/* Location of copy in archive file - in units of 512 bytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   212
	ulong_t		offset;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   213
	ushort_t 	flags;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   214
	short		n_vsns;		/* Number of VSNs the archive used */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   215
	char		media[4];	/* Media type */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   216
	char		vsn[32];	/* VSN */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   217
};
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   218
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   219
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   220
 * POSIX stat structure.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   221
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   222
struct sam_stat {
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   223
	/* File mode */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   224
	ulong_t		st_mode;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   225
	/* File serial number */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   226
	ulong_t		st_ino;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   227
	/* ID of the device containing the file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   228
	dev_t		st_dev;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   229
	long		pad1;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   230
	ulong_t		st_nlink;	/* Number of links */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   231
	ulong_t		st_uid;		/* User ID of the file's owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   232
	ulong_t		st_gid;		/* Group ID of the file's owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   233
	u_longlong_t 	st_size;	/* The file size in bytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   234
#if 	defined(__i386)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   235
	time_t		st_atime;	/* Time of last access */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   236
	ulong_t		pad2;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   237
	time_t		st_mtime;	/* Time of last data modification */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   238
	ulong_t		pad3;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   239
	time_t		st_ctime;	/* Time of last file status change */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   240
	ulong_t		pad4;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   241
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   242
	/* SAM-FS information. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   243
	time_t		attribute_time;	/* Time attributes last changed */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   244
	ulong_t		pad5;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   245
	time_t		creation_time;	/* Time inode created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   246
	ulong_t		pad6;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   247
	time_t		residence_time;	/* Time file changed residence */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   248
	ulong_t		pad7;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   249
#else	/* __i386 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   250
	ulong_t		pad2;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   251
	time_t		st_atime;	/* Time of last access */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   252
	ulong_t		pad3;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   253
	time_t		st_mtime;	/* Time of last data modification */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   254
	ulong_t		pad4;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   255
	time_t		st_ctime;	/* Time of last file status change */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   256
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   257
	/* SAM-FS information. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   258
	ulong_t		pad5;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   259
	time_t		attribute_time;	/* Time attributes last changed */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   260
	ulong_t		pad6;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   261
	time_t		creation_time;	/* Time inode created */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   262
	ulong_t		pad7;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   263
	time_t		residence_time;	/* Time file changed residence */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   264
#endif	/* __i386 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   265
	struct		sam_copy_s copy[MAX_ARCHIVE];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   266
	uint_t		old_attr;	/* File attr, backwards compatible */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   267
	uchar_t 	cs_algo;	/* Checksum algorithm indicator */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   268
	uchar_t		flags;		/* Flags:  staging, stage err, etc. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   269
	uchar_t		stripe_width;	/* Stripe Width set by setfa -s or -h */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   270
	uchar_t		stripe_group;	/* Stripe Group set by setfa -g or -o */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   271
	ulong_t		gen;		/* File generation number */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   272
	ulong_t		partial_size;	/* Partial size in kilobytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   273
	dev_t		rdev;		/* ID of device if S_IFBLK or S_IFCHR */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   274
	ulong_t		pad8;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   275
	/* Block count in units of 512 byte blocks */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   276
	u_longlong_t 	st_blocks;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   277
	/* Segment size in megabytes (SS_SEGMENT_A) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   278
	ulong_t 	segment_size;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   279
	/* Number of this segment */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   280
	/* 0 - SS_SEGMENT_F, 1 .. n - SS_SEGMENT_S */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   281
	ulong_t 	segment_number;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   282
	/* Number of segments to stage ahead */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   283
	uint_t 		stage_ahead;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   284
	/* admin ID; inherited from dir */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   285
	ulong_t 	admin_id;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   286
	/* Allocate ahead size set by setfa -A */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   287
	ulong_t 	allocahead;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   288
	ulong_t 	obj_depth;	/* Object stripe depth in kilobytes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   289
	/* 128 bit checksum */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   290
	u_longlong_t 	cs_val[2];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   291
	/* WORM retention period start and duration. */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   292
#if	defined(__i386)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   293
	time_t		rperiod_start_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   294
	ulong_t		pad10;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   295
#else	/* __i386 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   296
	ulong_t		pad10;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   297
	time_t		rperiod_start_time;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   298
#endif	/* __i386 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   299
	ulong_t		rperiod_duration;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   300
	ulong_t		projid;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   301
	u_longlong_t	attr;		/* File attributes */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   302
};
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   303
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   304
#endif   /* __sparcv9 || __amd64 || linux */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   305
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   306
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   307
#define	SAM_SECTION_SIZE(n) (sizeof (struct sam_section) * n)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   308
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   309
struct sam_section {	/* For each archive copy volume section */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   310
	/* VSN */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   311
	char		vsn[32];
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   312
	/* Section length of file on this volume */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   313
	u_longlong_t 	length;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   314
	/* Position of archive file for this section */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   315
	u_longlong_t 	position;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   316
	/* Location of copy section in archive file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   317
	u_longlong_t 	offset;
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   318
};
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   319
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   320
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   321
 * End: 32-bit align copyin() structs for amd64 only due to 32-bit x86 ABI
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   322
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   323
#if _LONG_LONG_ALIGNMENT == 8 && _LONG_LONG_ALIGNMENT_32 == 4
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   324
#pragma pack()
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   325
#endif
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   326
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   327
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   328
 * POSIX symbols.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   329
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   330
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   331
#define	S_IRWXU 	00700		/* read, write, execute: owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   332
#define	S_IRUSR 	00400		/* read permission: owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   333
#define	S_IWUSR 	00200		/* write permission: owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   334
#define	S_IXUSR 	00100		/* execute permission: owner */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   335
#define	S_IRWXG 	00070		/* read, write, execute: group */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   336
#define	S_IRGRP 	00040		/* read permission: group */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   337
#define	S_IWGRP 	00020		/* write permission: group */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   338
#define	S_IXGRP 	00010		/* execute permission: group */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   339
#define	S_IRWXO 	00007		/* read, write, execute: other */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   340
#define	S_IROTH 	00004		/* read permission: other */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   341
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   342
#define	S_IWOTH 	00002		/* write permission: other */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   343
#define	S_IXOTH 	00001		/* execute permission: other */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   344
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   345
#define	S_ISBLK(mode)  	(((mode)&0xf000) == 0x6000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   346
#define	S_ISCHR(mode)  	(((mode)&0xf000) == 0x2000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   347
#define	S_ISDIR(mode)  	(((mode)&0xf000) == 0x4000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   348
#define	S_ISFIFO(mode) 	(((mode)&0xf000) == 0x1000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   349
#define	S_ISGID(mode)  	((mode)&0x400)  /* set group id on execution */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   350
#define	S_ISREG(mode)  	(((mode)&0xf000) == 0x8000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   351
#define	S_ISUID(mode)  	((mode)&0x800)  /* set user id on execution */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   352
#define	S_ISLNK(mode)  	(((mode)&0xf000) == 0xa000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   353
#define	S_ISSOCK(mode) 	(((mode)&0xf000) == 0xc000)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   354
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   355
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   356
 * SAMFS attributes mapped into sam_stat but not in inode (ino_status_t).
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   357
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   358
#define	SS_SAMFS	0x00000800	/* SAM-FS file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   359
#define	SS_ARCHIVE_R 	0x00002000	/* Re-archive */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   360
#define	SS_ARCHIVED  	0x00010000	/* File has at least one archive copy */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   361
#define	SS_DATA_V	0x00040000 	/* File requires data verification */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   362
#define	SS_AIO		0x00080000 	/* AIO Char Device file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   363
#define	SS_ARCHIVE_A 	0x08000000	/* Archive immediate */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   364
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   365
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   366
 * SAMFS attributes from the inode.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   367
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   368
#define	SS_REMEDIA   	0x00000001	/* Removable media file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   369
#define	SS_RELEASE_A 	0x00000002	/* Release after archive */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   370
#define	SS_RELEASE_N 	0x00000004	/* Release never (nodrop) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   371
#define	SS_STAGE_N   	0x00000008	/* Stage never (direct) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   372
#define	SS_DAMAGED   	0x00000010	/* File is damaged - */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   373
					/* not online and no copy */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   374
#define	SS_RELEASE_P 	0x00000020	/* Release partial (bof_online) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   375
#define	SS_ARCHIVE_N 	0x00000040	/* Archive never (noarch) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   376
#define	SS_STAGE_A	0x00000080	/* Stage associative (stageall) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   377
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   378
#define	SS_CSVAL	0x00000100	/* Valid checksum exists in inode */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   379
#define	SS_CSUSE	0x00000200	/* Checksum will be used upon stage */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   380
#define	SS_CSGEN	0x00000400	/* Checksum will be generated upon - */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   381
					/* archive */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   382
/*	SS_SAMFS	0x00000800	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   383
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   384
#define	SS_ARCHDONE  	0x00001000	/* File has all required -  */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   385
					/* archiving done */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   386
/*	SS_ARCHIVE_R    0x00002000    	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   387
#define	SS_PARTIAL   	0x00004000	/* Partial extents are online */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   388
#define	SS_OFFLINE   	0x00008000	/* File is offline */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   389
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   390
/*	SS_ARCHIVED   	0x00010000  	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   391
#define	SS_SEGMENT_A 	0x00020000	/* Segment attribute */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   392
/*	SS_DATA_V    	0x00040000   	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   393
/*	SS_AIO		0x00080000	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   394
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   395
#define	SS_ARCHIVE_C 	0x00100000	/* Archive concurrent */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   396
#define	SS_DIRECTIO  	0x00200000	/* Directio */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   397
#define	SS_ARCHIVE_I 	0x00400000	/* Archive inconsistent copies */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   398
#define	SS_WORM		0x00800000	/* Read only attribute (worm_attr) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   399
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   400
#define	SS_READONLY  	0x01000000	/* Read only file enabled (worm_set) */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   401
#define	SS_SEGMENT_S 	0x02000000	/* This is a segment of a - */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   402
					/* segmented file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   403
#define	SS_SEGMENT_F 	0x04000000	/* Stage/archive file in segments */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   404
/*	SS_ARCHIVE_A    0x08000000	used by sam_stat() - see above */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   405
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   406
#define	SS_SETFA_S   	0x10000000	/* Stripe Width set by setfa -s */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   407
#define	SS_SETFA_H   	0x10000000	/* Stripe Width set by setfa -h */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   408
#define	SS_SETFA_G   	0x20000000	/* Stripe Group set by setfa -g */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   409
#define	SS_SETFA_O   	0x20000000	/* Stripe Group set by setfa -o */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   410
#define	SS_DFACL	0x40000000	/* Default access control list - */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   411
					/* present */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   412
#define	SS_ACL		0x80000000	/* Access control list present */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   413
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   414
#define	SS_OBJECT_FS   	0x000100000000	/* Object file system "mb" */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   415
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   416
#define	SS_ISSAMFS(attr)	(((attr)&SS_SAMFS) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   417
#define	SS_ISREMEDIA(attr)   	(((attr)&SS_REMEDIA) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   418
#define	SS_ISARCHIVED(attr)  	(((attr)&SS_ARCHIVED) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   419
#define	SS_ISARCHDONE(attr)  	(((attr)&SS_ARCHDONE) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   420
#define	SS_ISDAMAGED(attr)   	(((attr)&SS_DAMAGED) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   421
#define	SS_ISOFFLINE(attr)   	(((attr)&SS_OFFLINE) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   422
#define	SS_ISPARTIAL(attr)   	(((attr)&SS_PARTIAL) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   423
#define	SS_ISARCHIVE_C(attr) 	(((attr)&SS_ARCHIVE_C) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   424
#define	SS_ISARCHIVE_I(attr) 	(((attr)&SS_ARCHIVE_I) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   425
#define	SS_ISARCHIVE_N(attr) 	(((attr)&SS_ARCHIVE_N) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   426
#define	SS_ISARCHIVE_A(attr) 	(((attr)&SS_ARCHIVE_A) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   427
#define	SS_ISARCHIVE_R(attr) 	(((attr)&SS_ARCHIVE_R) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   428
#define	SS_ISRELEASE_A(attr) 	(((attr)&SS_RELEASE_A) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   429
#define	SS_ISRELEASE_N(attr) 	(((attr)&SS_RELEASE_N) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   430
#define	SS_ISRELEASE_P(attr) 	(((attr)&SS_RELEASE_P) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   431
#define	SS_ISSTAGE_A(attr)   	(((attr)&SS_STAGE_A) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   432
#define	SS_ISSTAGE_N(attr)   	(((attr)&SS_STAGE_N) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   433
#define	SS_ISSEGMENT_A(attr) 	(((attr)&SS_SEGMENT_A) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   434
#define	SS_ISSEGMENT_S(attr) 	(((attr)&SS_SEGMENT_S) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   435
#define	SS_ISSEGMENT_F(attr) 	(((attr)&SS_SEGMENT_F) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   436
#define	SS_ISCSGEN(attr)	(((attr)&SS_CSGEN) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   437
#define	SS_ISCSUSE(attr)	(((attr)&SS_CSUSE) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   438
#define	SS_ISCSVAL(attr)	(((attr)&SS_CSVAL) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   439
#define	SS_ISDIRECTIO(attr)  	(((attr)&SS_DIRECTIO) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   440
#define	SS_ISWORM(attr)		(((attr)&SS_WORM) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   441
#define	SS_ISREADONLY(attr)  	(((attr)&SS_READONLY) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   442
#define	SS_ISSETFA_G(attr)   	(((attr)&SS_SETFA_G) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   443
#define	SS_ISSETFA_S(attr)   	(((attr)&SS_SETFA_S) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   444
#define	SS_ISDFACL(attr)	(((attr)&SS_DFACL) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   445
#define	SS_ISACL(attr)		(((attr)&SS_ACL) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   446
#define	SS_ISDATAV(attr)	(((attr)&SS_DATA_V) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   447
#define	SS_ISAIO(attr)		(((attr)&SS_AIO) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   448
#define	SS_ISOBJECT_FS(attr)	(((attr)&SS_OBJECT_FS) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   449
#define	SS_ISSETFA_O(attr)	(((attr)&SS_SETFA_O) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   450
#define	SS_ISSETFA_H(attr)	(((attr)&SS_SETFA_H) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   451
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   452
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   453
 * SAMFS flags.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   454
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   455
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   456
#define	SS_STAGING		0x01	/* Stage is pending on the file */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   457
#define	SS_STAGEFAIL		0x02	/* Error occurred on - */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   458
					/* last stage attempt */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   459
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   460
#define	SS_ISSTAGING(flags)	(((flags)&SS_STAGING) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   461
#define	SS_ISSTAGEFAIL(flags)	(((flags)&SS_STAGEFAIL) != 0)
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   462
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   463
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   464
 * Copy flag masks.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   465
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   466
#define	CF_STALE		0x0001	/* This archive copy is stale */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   467
#define	CF_REARCH		0x0002	/* Copy is to be rearchived */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   468
#define	CF_ARCH_I		0x0004	/* Copy is to be archived immediately */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   469
#define	CF_VERIFIED		0x0008	/* Copy has been verified */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   470
#define	CF_DAMAGED		0x0010	/* This archive copy is damaged */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   471
#define	CF_UNARCHIVED		0x0020	/* This archive copy was unarchived */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   472
#define	CF_INCONSISTENT 	0x0040	/* This archive copy is inconsistent */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   473
#define	CF_ARCHIVED		0x0080	/* This archive copy made */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   474
#define	CF_AR_FLAGS_MASK	0x00FF  /* the flags in the stat struct from */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   475
					/* the AR_FLAGS in the inode */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   476
#define	CF_PAX_ARCH_FMT		0x8000	/* from SAR_hdr_off0 in the inode */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   477
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   478
int sam_stat(const char *path, struct sam_stat *buf, size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   479
int sam_lstat(const char *path, struct sam_stat *buf, size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   480
int sam_vsn_stat(const char *path, int copy, struct sam_section *buf,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   481
	size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   482
int sam_segment_vsn_stat(const char *path, int copy, int segment_index,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   483
	struct sam_section *buf, size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   484
int sam_segment_stat(const char *path, struct sam_stat *buf,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   485
	size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   486
int sam_segment_lstat(const char *path, struct sam_stat *buf,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   487
	size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   488
int sam_restore_file(const char *path, struct sam_stat *buf,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   489
	size_t bufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   490
int sam_restore_copy(const char *path, int copy, struct sam_stat *buf,
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   491
	size_t bufsize, struct sam_section *vbuf, size_t vbufsize);
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   492
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   493
/*
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   494
 * macro NUM_SEGS, takes in, fsbuff,  a ptr to a sam_stat struct, returns the
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   495
 * number of segments of the file associated with fsbuff.
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   496
 */
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   497
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   498
#define	NUM_SEGS(fsbuff) (int)(((fsbuff) == NULL || (fsbuff)->st_size <= 0 || \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   499
				(fsbuff)->segment_size <= 0 || \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   500
				!SS_ISSEGMENT_F((fsbuff)->attr)) ? 0 : \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   501
				((fsbuff)->st_size + \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   502
				(offset_t)(fsbuff)->segment_size * \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   503
				(SAM_MIN_SEGMENT_SIZE) - 1LL) / \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   504
				((offset_t)(fsbuff)->segment_size * \
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   505
				(SAM_MIN_SEGMENT_SIZE)))
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   506
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   507
#ifdef  __cplusplus
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   508
}
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   509
#endif
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   510
b8f324d4e07c 17027687 smbd is still not closing stale Samba connections w/ 119758-27 w/ SAMFS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   511
#endif /* SAM_STAT_H */