BARfly Help - Contents
Contents
Introduction
What is BARfly?
What is BAR?
Who should use BARfly?
The BARfly interface
The menu
The windows
Moving and resizing windows
Viewing files in BARfly
Creating a new file
Opening an existing file
Using the node browser
Using the node data viewer: many different views
Subnode view
Dump view
Text view
Raw view
Node editing
Constructs: how BAR makes a schema of binary data
Inserting and deleting nodes
Editing data in the data display view
Editing - Subnode view
Editing - Dump view
Editing - Text view
Editing - Raw view
Copying and pasting data
Undo/Redo capability
Finding and replacing data
Saving files
Limits to node editing
Node bookmarks
Node bookmarks: creation and navigation
Managing node bookmarks
The Run menu
Compiling BAR implementation files
Running BAR interfacial functions
Running BAR implementation file (BAR I.F.) functions
File revalidation
The Information menu
Viewing node information
Viewing the log
Viewing memory blocks
Viewing file information
Construct hierarchy diagrams
Determining I.F. protocol support
Load/Save failure reporting
The Options menu
Data file load settings
Data file save settings
Settings for loading and saving BAR implementation files
Node editing settings
Tree control line info settings
Subnode view settings
Dump view settings
Text view settings
Raw view settings
Memory and BAR_Services settings
Message display settings
Toggling tool windows
Resetting window positions
Working with BAR implementation files (BAR I.F.s)
Three forms: text, binary, mixed
Editing BAR I.F.s using BARfly's integrated text editor
The compilation process
Working with BAR registries
About BAR registries
Creating/Opening registries
Adding and removing BAR I.F.s
BAR-specific file formats
BAR interfacial function reference
Summary
Interfacial Types
Compatibility considerations
BAR_Services functions
Initialize
Destroy
Create_BAR_Registry
Create_BAR
Get_Last_Error
Get_Last_Opcode_Error
Get_Last_Failure_Location
Get_Mem_Free
Get_Nodes_Free
BAR_Registry functions
Destroy
Query_Position
Create_BAR
Add
Remove
Save
Save_As
Get_Last_Error
Get_Num_Files
BAR type lookup functions
Get_Construct_Type
Get_Construct_Child_Count
Get_Construct_Size
Get_Construct_Bit_Size
Get_Construct_Min_Size
Get_Construct_Min_Bit_Size
Get_Construct_UID
Get_Construct_Name
Get_Construct_Attribute
Get_Construct_Unit_Type
Get_Top_Level_UID
Get_Construct_Child_UID
Get_Global_Variable_UID
Get_Member_Variable_UID
Get_Variable_Name
Get_Variable_Type
Read_Global_Long
Read_Global_Buffer
Get_Member_Function_UID
Get_Global_Function_UID
Get_Function_Name
Get_Function_Parameter_Count
Get_Function_Return_Type
Get_Function_Parameter_Type
Get_Function_Parameter_Name
Get_Enum_Block_UID
Get_Enum_Block_Name
Get_Enum_Constant
Get_Enum_Name
BAR loading and saving functions
Load
Resume_Load
Create_New
Save
Save_As
Resume_Save
Unload
BAR node navigation functions
Toplevel
Next
Previous
Parent
Child
Search_All
Search_Forward
Focus_Bookmark
Get_Bookmark
Destroy_Bookmark
BAR node information functions
Get_Node_Type
Get_Child_Count
Get_Size
Get_Bit_Size
Get_UID
Get_Absolute_Position
Get_Relative_Position
Get_Hierarchy_Level
BAR data reading functions
Read_Data
Read_Text
Read_Char
Read_UChar
Read_Short
Read_UShort
Read_Long
Read_ULong
Read_Longlong
Read_ULonglong
Read_Float
Read_Double
Read_Struct
Read_Member
Get_Ptr
BAR data writing functions
Write_Data
Replace_Data
Add_Block_Data
Add_Text_Data
Replace_Text_Data
Add_Repeated_Char
Write_Char
Write_UChar
Write_Short
Write_UShort
Write_Long
Write_ULong
Write_Longlong
Write_ULonglong
Write_Float
Write_Double
Write_Struct
Write_Member
Add_Node
Insert_Node
Split_Text_Block
Delete_Node
BAR miscellaneous functions
Validate
Revalidate
Member_Function_Call
Global_Function_Call
Get_Failure_Call_Stack
Get_Failure_Node_Record
Destroy
Is_Fragmented
Is_File_Loaded
Get_Last_Error
BAR implementation file reference
Summary
Deserialization: critical steps
Serialization: critical steps
Fundamental components
Punctuators
Operators
Keywords
Identifiers
Numbers
String literals
Remarks
Preprocessor directives
Whitespace
Unrecognized characters
Common declarations
File scope
Global variable declarations
Global function declarations
Enumerated constant block declarations
Structure declarations
Block declarations
List declarations
Structure scope
Standard structure definitions
Bit field structure definitions
Derived-from-simple structure definitions
Block scope
Organized block definitions
Unorganized block definitions
Regular Expression block definitions
Node list scope
Decision list scope
Function scope
Local variable declarations
Function statements
Evaluation and null statements
The "goto" statement and text labels
The "return" statement
The "if" and "else" statements
The "for" statement
The "while" statement
The "do" statement
The "switch," "case," and "default" statements
The "break" statement
The "continue" statement
Opcode and mod byte escape sequences
Initializers
Expressions
Definition
Expression characteristics
Identifier interpretations
Built-in functions
Special load considerations
Additional rules for expressions
Final expression type result
L-value status gain and loss
Overly complex expressions
Limitations on pointer usage
Structure member dereference: bit scan blocks
Compiler errors
Compiler warnings
The command-line compiler, BARCC
Further information
BARfly Help Copyright © 2009 Christopher Allen