Files
Arquivotheca.Solaris-2.5/cmd/backup/include/database/dnode.h
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

63 lines
1.8 KiB
C
Executable File

/*
* Copyright (c) 1990-1994 by Sun Microsystems, Inc.
*/
#ifndef DNODE_H
#define DNODE_H
#pragma ident "@(#)dnode.h 1.10 94/08/10 SMI"
#include <sys/types.h>
struct dnode {
u_long dn_mode; /* from stat(2) */
u_long dn_uid; /* from stat(2) */
u_long dn_gid; /* from stat(2) */
long dn_size; /* from stat(2) */
long dn_atime; /* from stat(2) */
long dn_mtime; /* from stat(2) */
long dn_ctime; /* from stat(2) */
long dn_blocks; /* from stat(2) */
u_long dn_flags; /* defines below */
u_long dn_filename; /* index in path_name file */
u_long dn_parent; /* index (this file) of parent d-node */
u_long dn_volid; /* index to header file tape vol id */
u_long dn_vol_position; /* location of file on backup media */
u_long dn_inode; /* inode of this file in dump */
};
/*
* symlink values are constrained to be MAXPATHLEN long, thus we don't
* need to keep a count of data blocks occupied for them. Instead,
* we overlay the blocks field as follows:
*
* in a batch_update file `dn_symlink' contains the length of
* the symlink data string (which immediately follows the dnode
* in the update file)
*
* in a dnode file, `dn_symlink' contains an offset into the file
* `links.dumpid' telling where to obtain the value of the symlink
*/
#define dn_symlink dn_blocks
/*
* values for dn_flags
*/
#define DN_ACTIVE 0x00000001 /* file was changing while dumped */
#define DN_MULTITAPE 0x00000002 /* file spans tapes */
#define DN_OFFSET 0x00000004 /*
* offsets specified in
* dn_vol_position are valid
* 1024-byte block offsets
*/
#define DN_ACL 0x00000008 /* file has an ACL
* note that the mode bits are
* already stripped to owner-only,
* so this bit is just FYI in case
* we want to know about it in the
* future.
*/
#define NULL_DNODE (struct dnode *)0
#endif