libnjb  2.2.7
Data Fields
njb_datafile_struct Struct Reference

#include <libnjb.h>

Data Fields

char * filename
 
char * folder
 
u_int32_t timestamp
 
u_int32_t flags
 
u_int32_t dfid
 
u_int64_t filesize
 
njb_datafile_tnextdf
 

Detailed Description

This is the struct storing the metadata of a regular file or folder.

Examples
files.c, and getfile.c.

Field Documentation

◆ dfid

u_int32_t njb_datafile_struct::dfid

The 32-bit unsigned file ID.

Examples
files.c, and getfile.c.

◆ filename

char* njb_datafile_struct::filename

The name of this file. The name "." means that this is an empty folder name marker.

Examples
files.c.

Referenced by datafile_pack3(), datafile_set_name(), datafile_unpack(), and NJB_Datafile_Destroy().

◆ filesize

u_int64_t njb_datafile_struct::filesize

The file size as a 64-bit unsigned integer. The files on series 3 devices only have 32-bit signed length (and can only be 2GB in size) but the NJB1 supports 64-bit length.

Examples
files.c, and getfile.c.

Referenced by datafile_set_size(), datafile_size(), and datafile_unpack().

◆ flags

u_int32_t njb_datafile_struct::flags

These are ordinary windows file flags:

bit (from MSB)   meaning
-----------------------------
31               Normal file (0x80000000U)
29               This file should be archived (0x20000000U) 
28               Directory (0x10000000U)
26               System file (0x04000000U)
25               Hidden file (0x02000000U)
24               Read only file (0x01000000U)
22               Encrypted file (0x00400000U)
21               Normal file? (0x00200000U)
19               Compressed file (0x00080000U)
17               Sparse file (0x00020000U)
16               Temporary file (0x00010000U)

SAMBA maps the bits to Unix permissions thus:

 owner        group        world
 r  w  x      r  w  x      r  w  x
 ^  ^  ^            ^            ^
 |  |  |            |            |
 |  |  Archive      System       Hidden
 |  |
 Read only

The meaning of bits 30, 27, 23, 20 and 15-0 is unknown.

Examples
files.c.

◆ folder

char* njb_datafile_struct::folder

This is the name of the folder the file belongs in. All folder names are given with full hierarchy and leading and trailing backslash as in: "\foo\bar\fnord\". If filename is "." this is the name of the empty folder.

Examples
files.c.

Referenced by datafile_pack3(), datafile_set_folder(), and NJB_Datafile_Destroy().

◆ nextdf

njb_datafile_t* njb_datafile_struct::nextdf

This is only to be used internally by libnjb.

◆ timestamp

u_int32_t njb_datafile_struct::timestamp

This is an ordinary UNIX styled timestamp for the file.

Referenced by datafile_set_time().


The documentation for this struct was generated from the following file: