Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nsr_data(5) — Solstice Backup 4.1.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mm_data(5)

nsr(8)

nsrmmd(8)

nsrd(8)

recover(8)

save(8)

xdr(3n)

NSR_DATA(5)

NAME

nsr_data − Data formats for NetWorker Save and Recover

DESCRIPTION

All data in the NetWorker system is encoded using the eXternal Data Representation (XDR) standard.  When files are passed between client (see save(8) and recover(8)) and server (see nsrd(8)) or server and media (see nsrmmd(8)), they are represented as a savestream, which is represented as a linked list of savefiles. A savefile consists of information describing the file, a ssaverec, and file data, which is represented by a reference to a bucketlist.

The XDR language description of the data structures is shown below. 


const NSR_MAGIC = 0x09265900;
const NSR_IDLEN = 1024;/∗ length of file id ∗/
const NSR_MAXNAMELEN = 1024;/∗ max length of file system name ∗/
const NSR_MAXCATTRSIZE = 8192;/∗ max size of client specific attributes ∗/
const NSR_MAXBUCKETDATA = 8192; /∗ max size of file bucket’s data (w/o slop) ∗/
const NSR_MAXBUCKETSIZE = 9000;/∗ max total size of file bucket (w/ slop) ∗/
const NSR_MAXCLNTSIZE = 16384;/∗ max size of a clntrec ∗/
 typedef opaque fileid<NSR_IDLEN>;/∗ file identifier ∗/
typedef string nsrname<NSR_MAXNAMELEN>;/∗ file name type ∗/
typedef opaque clientattr<NSR_MAXCATTRSIZE>; /∗ client attributes ∗/
typedef opaque wrapclntrec<NSR_MAXCLNTSIZE>; /∗ wrapped clntrec ∗/
typedef nulong_t checksum;/∗ 4 bytes for checksum ∗/
typedef u_long sfid_t;/∗ savefile id (offset) ∗/
 struct id {
        string  id_str<>;/∗ id string ∗/
        id      ∗id_next;/∗ next such structure ∗/
};
 struct asmrec {
        id      ∗ar_info;/∗ name and args to ASM ∗/
        nsrname ∗ar_path;/∗ path name where applied ∗/
        asmrec  ∗ar_next;/∗ next such structure ∗/
};
struct saverec {
        nsrname sr_filename;/∗ name of this file ∗/
        fileid  sr_fid;/∗ client specific file id ∗/
        asmrec  ∗sr_ar;/∗ ASM list for this file ∗/
        u_long  sr_catype;/∗ client specific attribute type ∗/
        clientattr  sr_cattr;/∗ client specific file attributes ∗/
};
 struct ssaverec {
        sfid_t       sr_id;/∗ savefile id in the savestream ∗/
        u_long       sr_size;/∗ size of encoded savefile ∗/
        nulong_t     sr_savetime;/∗ savetime of this saveset ∗/
        wrapclntrec  sr_wcr;/∗ wrapped saverec ∗/
};
 /∗
 ∗ File data is expressed as a linked list of file buckets.
 ∗/
struct bucketlist {
        bucket      bl_bucket;
        bucketlist  ∗bl_next;
};
 struct savefile {
        u_long      sf_magic;/∗ magic number must be NSR_MAGIC ∗/
        u_long      sf_chksumtype;/∗ file checksum type ∗/
        ssaverec    sf_saverec;/∗ file attributes ∗/
        bucketlist  ∗sf_data;/∗ file data ∗/
        checksum    sf_checksum;/∗ checksum bytes ∗/
};

SEE ALSO

mm_data(5), nsr(8), nsrmmd(8), nsrd(8), recover(8), save(8), xdr(3n). 

RFC 1014 XDR Protocol Spec. 

NetWorker 4.1.2  —  Last change: May 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026