Skip to main content

Module note

Module note 

Source
Expand description

Note record parsing.

A note is the unit of user-visible data inside an NSF database - emails, calendar entries, contacts, design notes, the ACL, etc. all live as notes distinguished by note_class.

Note header layout per libnsfdb/nsfdb_note.h (100 bytes):

offset  width  field
    0      2   signature (0x0004)
    2      4   size
    6      4   rrv_identifier
   10      8   file_identifier (TIMEDATE-shaped opaque)
   18      8   note_identifier (TIMEDATE-shaped opaque - half of UNID)
   26      4   sequence_number
   30      8   sequence_time (TIMEDATE)
   38      2   status_flags
   40      2   note_class
   42      8   modification_time (TIMEDATE)
   50      2   number_of_note_items
   52      2   unknown1
   54      2   number_of_responses
   56      4   non_summary_data_identifier
   60      4   non_summary_data_size
   64      8   access_time (TIMEDATE)
   72      8   creation_time (TIMEDATE)
   80      4   parent_note_identifier
   84      2   unknown3
   86      4   folder_reference_count
   90      4   unknown4
   94      4   folder_note_identifier
   98      2   unknown5

Note class catalogue (bit flags; a note can carry multiple class bits but in practice each note is one class):

NOTE_CLASS_DOCUMENT    0x0001  // user-visible documents (mail, etc)
NOTE_CLASS_INFO        0x0002  // database info note
NOTE_CLASS_FORM        0x0004  // form design
NOTE_CLASS_VIEW        0x0008  // view design
NOTE_CLASS_ICON        0x0010  // database icon
NOTE_CLASS_DESIGN      0x0020  // design collection
NOTE_CLASS_ACL         0x0040  // access control list
NOTE_CLASS_HELP_INDEX  0x0080
NOTE_CLASS_HELP        0x0100
NOTE_CLASS_FILTER      0x0200  // agent / mail rule
NOTE_CLASS_FIELD       0x0400  // shared field
NOTE_CLASS_REPLFORMULA 0x0800
NOTE_CLASS_PRIVATE     0x1000

Modules§

class
Note class flag values. A note’s note_class is typically one of these; multi-bit values are uncommon in practice.

Structs§

NoteHeader
Parsed note header. Self-contained snapshot - the reader does not retain a reference into bucket bytes.

Constants§

NOTE_HEADER_BYTES
Note header size in bytes.
NOTE_SIGNATURE
Magic two bytes at offset 0 of every note header.