Files
mars-flaim/xflaim/util/view.h
ahodgkinson 12a621dc04 Changed license to LGPL.
git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@1010 0109f412-320b-0410-ab79-c3e0c5ffbbe6
2007-01-23 11:22:22 +00:00

756 lines
21 KiB
C

//------------------------------------------------------------------------------
// Desc: This file contains global variables, typedefs, and prototypes
// for the VIEW program.
// Tabs: 3
//
// Copyright (c) 1992-2007 Novell, Inc. All Rights Reserved.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; version 2.1
// of the License.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Library Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, contact Novell, Inc.
//
// To contact Novell about this file by physical or electronic mail,
// you may find current contact information at www.novell.com.
//
// $Id$
//------------------------------------------------------------------------------
#ifndef VIEW_H
#define VIEW_H
#include "flaimsys.h"
#include "sharutil.h"
#ifdef MAIN_MODULE
#define EXTERN
#else
#define EXTERN extern
#endif
/* Define the area of the screen where menu items may be displayed */
#define LINES_PER_PAGE ((gv_uiBottomLine) - (gv_uiTopLine) + 1)
/* Common options */
#define ESCAPE_OPTION 0
#define PREV_BLOCK_OPTION 1000
#define NEXT_BLOCK_OPTION 1001
#define PREV_BLOCK_IMAGE_OPTION 1002
#define GOTO_BLOCK_OPTION 1003
#define EDIT_OPTION 1004
#define HEX_OPTION 1005
#define SEARCH_OPTION 1007
#define EDIT_RAW_OPTION 1008
#define LOGICAL_INDEX_OPTION 0x40000
#define LOGICAL_CONTAINER_OPTION 0x80000
#define LFH_OPTION_ROOT_BLOCK 0x80000000
#define BLK_OPTION_CHILD_BLOCK 0x40000000
#define BLK_OPTION_DATA_BLOCK 0x20000000
EXTERN const char * Labels[]
#ifdef MAIN_MODULE
= {
"Database Header", // 0
"Logical Files", // 1
"Prior Image Block Address", // 2
"Block Logical File Name", // 3
"Block Type", // 4
"B-Tree Level", // 5
"Block Bytes Available", // 6
"BLOCK ADDRESS (BLOCK HEADER)", // 7
"Previous Block Address", // 8
"Next Block Address", // 9
"Percent Full", // 10
"Block Transaction ID", // 11
"Little Endian Format", // 12
"Block Status", // 13
"Element Number", // 14
"Element Length", // 15
"First Element Flag", // 16
"Last Element Flag", // 17
"Previous Key Cont. Len", // 18
"Prev. Element Key", // 19
"Key Length", // 20
"Element Key", // 21
"Data Length", // 22
"Data", // 23
"Overall Data Length", // 24
"Domain Number", // 25
"Child Block Address", // 26
"Block Logical File Type", // 27
"Flaim Version", // 28
"Default Language", // 29
"Block Size", // 30
"First LFH Block Address", // 31
"Current Transaction ID", // 32
"Commit Count", // 33
"First Avail Block Address", // 34
"Logical End Of File", // 35
"LOGICAL FILE NAME", // 36
"Logical File Number", // 37
"Logical File Type", // 38
"Root Block Address", // 39
"Next Node Id", // 40
"Element Status", // 41
"(None)", // 42
"Field number", // 43
"Field type", // 44
"Field length", // 45
"Field data", // 46
"Field offset", // 47
"Field level", // 48
"Jump level", // 49
"FOP type", // 50
"FOP Continued Field", // 51
"FOP Standard", // 52
"FOP Open", // 53
"FOP Reserved", // 54
"FOP No Value", // 55
"FOP Set Level", // 56
"FOP Unknown Type", // 57
"TEXT", // 58
"NUMBER", // 59
"BINARY", // 60
"Field Status", // 61
"Unknown Type", // 62
"Element Offset", // 63
"OK", // 64
"Yes", // 65
"No", // 66
"Expected", // 67
"Element DRN", // 68
"Block CRC", // 69
"Block CRC Enabled", // 70
"Signature", // 71
"Header CRC", // 72
"Header Calc CRC", // 73
"Next Record Marker", // 74
"End of Log", // 75
"Current RFL File", // 76
"Current RFL Offset", // 77
"Last Checkpoint RFL File", // 78
"Last Checkpoint RFL Offset", // 79
"Last Checkpoint Trans ID", // 80
"First Checkpoint Block Addr", // 81
"Maximum RFL File Size", // 82
"Last RFL File Deleted", // 83
"Keep RFL Files", // 84
"Child Reference Count", // 85
"Last Backup Trans ID", // 86
"Blocks Changed Since Last Backup", // 87
"Database Serial Number", // 88
"Last Trans RFL Serial Number", // 89
"Incremental Backup Sequence Num", // 90
"Next RFL Serial Number", // 91
"Incremental Backup Serial Number", // 92
"Minumum RFL File Size", // 93
"Keep Aborted Trans. in RFL?", // 94
"Auto Turn Off of Keep RFL Files?", // 95
"Maximum File Size", // 96
"Last Logged Commit ID", // 97
"Root Block", // 98
"Block End", // 99
"Block Flags", // 100
"Number Of Keys", // 101
"Data Only Block", // 102
"Data Only Block Address", // 103
"DOM Data Type", // 104
"DOM Node Type", // 105
"DOM Flags", // 106
"DOM Ext Flags", // 107
"DOM Name ID", // 108
"DOM Prefix ID", // 109
"DOM Base ID", // 110
"DOM Root ID", // 111
"DOM Parent ID", // 112
"DOM Previous Sibling ID", // 113
"DOM Next Sibling", // 114
"DOM First Child ID", // 115
"DOM Last Child ID", // 116
"DOM First Attribute ID", // 117
"DOM LastAttribute ID", // 118
"DOM Annotation ID", // 119
"DOM Padding", // 120
"DOM Value", // 121
"Block Heap Size", // 122
"DOM Encryption ID", // 123
"DOM Ext2 Flags", // 124
"DOM DataLength", // 125
"DB Key Length", // 126
"DB Key", // 127
"Encrypted Block", // 128
"Encryption Id", // 129
"<NoData>", // 130
""
}
#endif
;
enum LabelIndexes {
LBL_DB_HEADER, // 0
LBL_LOGICAL_FILES, // 1
LBL_OLD_BLOCK_IMAGE_ADDRESS, // 2
LBL_BLOCK_LOGICAL_FILE_NAME, // 3
LBL_BLOCK_TYPE, // 4
LBL_B_TREE_LEVEL, // 5
LBL_BLOCK_BYTES_AVAIL, // 6
LBL_BLOCK_ADDRESS_BLOCK_HEADER, // 7
LBL_PREVIOUS_BLOCK_ADDRESS, // 8
LBL_NEXT_BLOCK_ADDRESS, // 9
LBL_PERCENT_FULL, // 10
LBL_BLOCK_TRANS_ID, // 11
LBL_LITTLE_ENDIAN, // 12
LBL_BLOCK_STATUS, // 13
LBL_ELEMENT_NUMBER, // 14
LBL_ELEMENT_LENGTH, // 15
LBL_FIRST_ELEMENT_FLAG, // 16
LBL_LAST_ELEMENT_FLAG, // 17
LBL_PREVIOUS_KEY_CONT_LEN, // 18
LBL_PREV_ELEMENT_KEY, // 19
LBL_KEY_LENGTH, // 20
LBL_ELEMENT_KEY, // 21
LBL_DATA_LENGTH, // 22
LBL_DATA, // 23
LBL_OA_DATA_LENGTH, // 24
LBL_DOMAIN_NUMBER, // 25
LBL_CHILD_BLOCK_ADDRESS, // 26
LBL_BLOCK_LOGICAL_FILE_TYPE, // 27
LBL_FLAIM_VERSION, // 28
LBL_DEFAULT_LANGUAGE, // 29
LBL_BLOCK_SIZE, // 30
LBL_FIRST_LFH_BLOCK_ADDRESS, // 31
LBL_CURRENT_TRANS_ID, // 32
LBL_COMMIT_COUNT, // 33
LBL_FIRST_AVAIL_BLOCK_ADDRESS, // 34
LBL_LOGICAL_END_OF_FILE, // 35
LBL_LOGICAL_FILE_NAME, // 36
LBL_LOGICAL_FILE_NUMBER, // 37
LBL_LOGICAL_FILE_TYPE, // 38
LBL_ROOT_BLOCK_ADDRESS, // 39
LBL_NEXT_NODE_ID, // 40
LBL_ELEMENT_STATUS, // 41
LBL_NONE, // 42
LBL_FIELD_NUMBER, // 43
LBL_FIELD_TYPE, // 44
LBL_FIELD_LENGTH, // 45
LBL_FIELD_DATA, // 46
LBL_FIELD_OFFSET, // 47
LBL_FIELD_LEVEL, // 48
LBL_JUMP_LEVEL, // 49
LBL_FOP_TYPE, // 50
LBL_FOP_CONT, // 51
LBL_FOP_STD, // 52
LBL_FOP_OPEN, // 53
LBL_FOP_RESERVED, // 54
LBL_FOP_NO_VALUE, // 55
LBL_FOP_SET_LEVEL, // 56
LBL_FOP_BAD, // 57
LBL_TYPE_TEXT, // 58
LBL_TYPE_NUMBER, // 59
LBL_TYPE_BINARY, // 60
LBL_FIELD_STATUS, // 61
LBL_TYPE_UNKNOWN, // 62
LBL_ELEMENT_OFFSET, // 63
LBL_OK, // 64
LBL_YES, // 65
LBL_NO, // 66
LBL_EXPECTED, // 67
LBL_ELEMENT_DRN, // 68
LBL_BLOCK_CRC, // 69
LBL_BLK_CRC_ENABLED, // 70
LBL_SIGNATURE, // 71
LBL_HDR_CRC, // 72
LBL_CALC_HDR_CRC, // 73
LBL_NEXT_DRN_MARKER, // 74
LBL_END_OF_LOG_ADDRESS, // 75
LBL_RFL_FILE_NUM, // 76
LBL_RFL_LAST_TRANS_OFFSET, // 77
LBL_RFL_LAST_CP_FILE_NUM, // 78
LBL_RFL_LAST_CP_OFFSET, // 79
LBL_LAST_CP_ID, // 80
LBL_FIRST_CP_BLK_ADDR, // 81
LBL_RFL_MAX_FILE_SIZE, // 82
LBL_LAST_RFL_FILE_DELETED, // 83
LBL_KEEP_RFL_FILES, // 84
LBL_CHILD_REFERENCE_COUNT, // 85
LBL_LAST_BACKUP_TRANS_ID, // 86
LBL_BLK_CHG_SINCE_BACKUP, // 87
LBL_DB_SERIAL_NUM, // 88
LBL_LAST_TRANS_RFL_SERIAL_NUM, // 89
LBL_INC_BACKUP_SEQ_NUM, // 90
LBL_RFL_NEXT_SERIAL_NUM, // 91
LBL_INC_BACKUP_SERIAL_NUM, // 92
LBL_RFL_MIN_FILE_SIZE, // 93
LBL_KEEP_ABORTED_TRANS_IN_RFL_FILES, // 94
LBL_AUTO_TURN_OFF_KEEP_RFL, // 95
LBL_MAX_FILE_SIZE, // 96
LBL_LAST_RFL_COMMIT_ID, // 97
LBL_BLOCK_ROOT, // 98
LBL_BLOCK_END, // 99
LBL_BLOCK_FLAGS, // 100
LBL_BLOCK_NUM_KEYS, // 101
LBL_DATA_BLOCK_FLAG, // 102
LBL_DATA_BLOCK_ADDRESS, // 103
LBL_DOM_DATA_TYPE, // 104
LBL_DOM_NODE_TYPE, // 105
LBL_DOM_FLAGS, // 106
LBL_DOM_EXT_FLAGS, // 107
LBL_DOM_NAME_ID, // 108
LBL_DOM_PREFIX_ID, // 109
LBL_DOM_BASE_ID, // 110
LBL_DOM_ROOT_ID, // 111
LBL_DOM_PARENT_ID, // 112
LBL_DOM_PREV_SIB_ID, // 113
LBL_DOM_NEXT_SIB_ID, // 114
LBL_DOM_FIRST_CHILD_ID, // 115
LBL_DOM_LAST_CHILD_ID, // 116
LBL_DOM_FIRST_ATTR_ID, // 117
LBL_DOM_LAST_ATTR_ID, // 118
LBL_DOM_ANNOTATION_ID, // 119
LBL_DOM_PADDING, // 120
LBL_DOM_VALUE, // 121
LBL_BLOCK_HEAP_SIZE, // 122
LBL_DOM_ENCDEF_ID, // 123
LBL_DOM_EXT2_FLAGS, // 124
LBL_DOM_DATA_LENGTH, // 125
LBL_HDR_KEY_LEN, // 126
LBL_HDR_DB_KEY, // 127
LBL_BLOCK_ENCRYPTED, // 128
LBL_ENCRYPTION_ID, // 129
LBL_NO_VALUE // 130
};
#define NUM_STATUS_BYTES (FLM_NUM_CORRUPT_ERRORS / 8 + 1)
typedef struct View_Menu_Item *VIEW_MENU_ITEM_p;
typedef struct View_Menu_Item
{
FLMUINT uiItemNum;
FLMUINT uiCol;
FLMUINT uiRow;
FLMUINT uiOption;
eColorType uiUnselectBackColor;
eColorType uiUnselectForeColor;
eColorType uiSelectBackColor;
eColorType uiSelectForeColor;
FLMINT iLabelIndex; // Signed number
FLMUINT uiLabelWidth;
FLMUINT uiHorizCurPos;
FLMUINT uiValueType;
// Lower four bits contain data type
#define VAL_IS_LABEL_INDEX 0x01
#define VAL_IS_ERR_INDEX 0x02
#define VAL_IS_TEXT_PTR 0x03
#define VAL_IS_BINARY_PTR 0x04
#define VAL_IS_BINARY 0x05
#define VAL_IS_BINARY_HEX 0x06
#define VAL_IS_NUMBER 0x07
#define VAL_IS_EMPTY 0x08
// Upper four bits contain display format for numbers
#define DISP_DECIMAL 0x00
#define DISP_HEX 0x10
#define DISP_HEX_DECIMAL 0x20
#define DISP_DECIMAL_HEX 0x30
FLMUINT64 ui64Value;
FLMUINT uiValueLen;
VIEW_MENU_ITEM_p pNextItem;
VIEW_MENU_ITEM_p pPrevItem;
// Modification parameters
FLMUINT uiModFileNumber; // Number of block file value is in.
FLMUINT uiModFileOffset; // Zero means it cannot be modified
FLMUINT uiModBufLen; // For binary only
FLMUINT uiModType;
// Lower four bits contains modification type
#define MOD_FLMUINT32 0x01
#define MOD_FLMUINT16 0x02
#define MOD_FLMBYTE 0x03
#define MOD_BINARY 0x04
#define MOD_TEXT 0x05
#define MOD_LANGUAGE 0x06
#define MOD_CHILD_BLK 0x07
#define MOD_BITS 0x08
#define MOD_FLMUINT64 0x0A
#define MOD_DATA_BLK 0x0B
#define MOD_SEN5 0x0C
#define MOD_SEN9 0x0D
// Upper four bits contains how number is to be entered
#define MOD_HEX 0x10
#define MOD_DECIMAL 0x20
#define MOD_NATIVE 0x40
#define MOD_DISABLED 0xF0
} VIEW_MENU_ITEM;
typedef struct BLK_EXP
{
FLMUINT uiBlkAddr;
FLMUINT uiType;
FLMUINT uiLfNum;
FLMUINT uiNextAddr;
FLMUINT uiPrevAddr;
FLMUINT uiLevel;
} BLK_EXP;
typedef struct BLK_EXP *BLK_EXP_p;
typedef struct VIEW_INFO
{
FLMUINT uiCurrItem;
FLMUINT uiTopRow;
FLMUINT uiBottomRow;
FLMUINT uiCurrFileNumber;
FLMUINT uiCurrFileOffset;
} VIEW_INFO;
typedef struct VIEW_INFO *VIEW_INFO_p;
#define HAVE_HORIZ_CUR(vm) ((((vm)->uiValueType & 0x0F) == VAL_IS_BINARY_PTR) || \
(((vm)->uiValueType & 0x0F) == VAL_IS_BINARY_HEX))
#define HORIZ_SIZE(vm) ((vm)->uiValueLen)
#define MAX_HORIZ_SIZE(Col) ((79 - ((Col) + 4)) / 4)
#define COLLECTION_STRING "Collection"
#define INDEX_STRING "Index"
// Global variables
EXTERN FLMBOOL gv_bViewPoppingStack
#ifdef MAIN_MODULE
= FALSE
#endif
;
EXTERN FLMBOOL gv_bViewSearching
#ifdef MAIN_MODULE
= FALSE
#endif
;
EXTERN IF_Db * gv_hViewDb
#ifdef MAIN_MODULE
= NULL
#endif
;
EXTERN FLMBOOL gv_bViewDbInitialized
#ifdef MAIN_MODULE
= FALSE
#endif
;
EXTERN FLMBOOL gv_bShutdown;
EXTERN FLMBOOL gv_bRunning;
EXTERN FLMBOOL gv_bViewExclusive;
EXTERN VIEW_MENU_ITEM_p gv_pViewSearchItem;
EXTERN FLMUINT gv_uiViewSearchLfNum;
EXTERN FLMUINT gv_uiViewSearchLfType;
EXTERN FLMBYTE gv_ucViewSearchKey[ XFLM_MAX_KEY_SIZE];
EXTERN FLMUINT gv_uiViewSearchKeyLen;
EXTERN F_Pool * gv_pViewPool;
EXTERN FLMUINT gv_uiViewTopRow;
EXTERN FLMUINT gv_uiViewBottomRow;
EXTERN F_TMSTAMP gv_ViewLastTime;
EXTERN XFLM_DB_HDR gv_ViewDbHdr;
EXTERN char gv_szFlaimName [10];
EXTERN char gv_szFlaimVersion [10];
EXTERN FLMBYTE gv_uiPcodeAddr;
EXTERN char gv_szViewFileName[ F_PATH_MAX_SIZE];
EXTERN char gv_szDataDir[ F_PATH_MAX_SIZE];
EXTERN char gv_szRflDir[ F_PATH_MAX_SIZE];
EXTERN F_SuperFileHdl * gv_pSFileHdl;
EXTERN FLMBOOL gv_bViewFileOpened;
EXTERN FLMBOOL gv_bViewHaveDictInfo;
EXTERN char gv_szPassword[ 80];
EXTERN FLMBOOL gv_bViewOkToUsePassword;
EXTERN FLMUINT gv_bViewFixHeader;
EXTERN XFLM_CREATE_OPTS gv_ViewFixOptions;
EXTERN FLMBOOL gv_bViewHdrRead;
EXTERN FLMUINT gv_bViewEnabled
#ifdef MAIN_MODULE
= TRUE
#endif
;
EXTERN FLMUINT gv_uiViewCurrFileNumber
#ifdef MAIN_MODULE
= 0
#endif
;
#define VIEW_INVALID_FILE_OFFSET (0xFFFFFFFF)
EXTERN FLMUINT gv_uiViewCurrFileOffset
#ifdef MAIN_MODULE
= 0
#endif
;
EXTERN FLMUINT gv_uiViewLastFileNumber
#ifdef MAIN_MODULE
= 0xFFFFFFFF
#endif
;
EXTERN FLMUINT gv_uiViewLastFileOffset
#ifdef MAIN_MODULE
= 0xFFFFFFFF
#endif
;
EXTERN FLMUINT gv_uiViewMenuCurrItemNum
#ifdef MAIN_MODULE
= 0
#endif
;
EXTERN VIEW_MENU_ITEM_p gv_pViewMenuCurrItem
#ifdef MAIN_MODULE
= NULL
#endif
;
EXTERN VIEW_MENU_ITEM_p gv_pViewMenuFirstItem
#ifdef MAIN_MODULE
= NULL
#endif
;
EXTERN VIEW_MENU_ITEM_p gv_pViewMenuLastItem
#ifdef MAIN_MODULE
= NULL
#endif
;
EXTERN IF_DbSystem * gv_pDbSystem
#ifdef MAIN_MODULE
= NULL
#endif
;
// Function prototypes
#ifdef FLM_NLM
#define viewGiveUpCPU() f_yieldCPU()
#else
#define viewGiveUpCPU() f_sleep( 10)
#endif
RCODE ViewGetDictInfo( void); // Source: view.cpp
void ViewReadHdr( // Source: view.cpp
FLMUINT32 * pui32CalcCRC = NULL);
void ViewShowError( // Source: viewdisp.cpp
const char * pszMessage);
void ViewShowRCError( // Source: viewdisp.cpp
const char * pszWhat,
RCODE rc);
void ViewFreeMenuMemory( void); // Source: viewmenu.cpp
void ViewMenuInit( // Source: viewmenu.cpp
const char * pszTitle);
FLMBOOL ViewAddMenuItem( // Source: viewmenu.cpp
FLMINT iLabelIndex,
FLMUINT uiLabelWidth,
FLMUINT uiValueType,
FLMUINT64 ui64Value,
FLMUINT uiValueLen,
FLMUINT uiModFileNumber,
FLMUINT uiModFileOffset,
FLMUINT uiModBufLen,
FLMUINT uiModType,
FLMUINT uiCol,
FLMUINT uiRow,
FLMUINT uiOption,
eColorType uiUnselectBackColor,
eColorType uiUnselectForeColor,
eColorType uiSelectBackColor,
eColorType uiSelectForeColor);
FLMUINT ViewGetMenuOption( void); // Source: viewmenu.cpp
void ViewUpdateDate( // Source: viewmenu.cpp
FLMBOOL bUpdateFlag,
F_TMSTAMP * pLastTime);
void ViewEscPrompt( void); // Source: viewmenu.cpp
void ViewReset( // Source: viewmenu.cpp
VIEW_INFO_p pSaveView);
void ViewRestore( // Source: viewmenu.cpp
VIEW_INFO_p pSaveView);
void ViewDisable( void); // Source: viewmenu.cpp
void ViewEnable( void); // Source: viewmenu.cpp
void ViewDbHeader( void); // Source: viewhdr.cpp
void ViewLogicalFile( // Source: viewlfil.cpp
FLMUINT uiLfNum,
FLMUINT uiLfType);
void ViewLogicalFiles( void); // Source: viewlfil.cpp
FLMBOOL ViewBlkRead( // Source: viewblk.cpp
FLMUINT uiBlkAddress,
F_BLK_HDR ** ppBlkHdr,
FLMBOOL bOkToConvert,
FLMUINT uiReadLen,
FLMUINT32 * pui32CalcCRC,
FLMUINT32 * pu32BlkCRC,
FLMUINT * puiBytesRead,
FLMBOOL bShowPartialReadError);
FLMBOOL ViewGetLFH( // Source: viewblk.cpp
FLMUINT uiLfNum,
eLFileType eLfType,
F_LF_HDR * pLfHdr,
FLMUINT * puiFileOffset);
FLMBOOL ViewGetLFName( // Source: viewblk.cpp
char * pszName,
FLMUINT uiLfNum,
eLFileType eLfType,
F_LF_HDR * pLfHdr,
FLMUINT * puiFileOffset);
FLMBOOL ViewOutBlkHdr( // Source: viewblk.cpp
FLMUINT uiCol,
FLMUINT * puiRow,
F_BLK_HDR * pBlkHdr,
BLK_EXP_p pBlkExp,
FLMBYTE * pucBlkStatus,
FLMUINT32 ui32CalcCRC,
FLMUINT32 ui32BlkCRC);
FLMBOOL ViewAvailBlk( // Source: viewblk.cpp
FLMUINT uiReadAddress,
FLMUINT uiBlkAddress,
F_BLK_HDR ** ppBlkHdr,
BLK_EXP_p pBlkExp);
FLMBOOL ViewLeafBlk( // Source: viewblk.cpp
FLMUINT uiReadAddress,
FLMUINT uiBlkAddress,
F_BLK_HDR ** ppBlkHdr,
BLK_EXP_p pBlkExp);
FLMBOOL ViewDataBlk( // Source: viewblk.cpp
FLMUINT uiReadAddress,
FLMUINT uiBlkAddress,
F_BLK_HDR ** ppBlkHdr,
BLK_EXP_p pBlkExp);
FLMBOOL ViewNonLeafBlk( // Source: viewblk.cpp
FLMUINT uiReadAddress,
FLMUINT uiBlkAddress,
F_BLK_HDR ** ppBlkHdr,
BLK_EXP_p pBlkExp);
void ViewBlocks( // Source: viewblk.cpp
FLMUINT uiReadAddress,
FLMUINT uiBlkAddress,
BLK_EXP_p pBlkExp);
FLMBOOL GetBlockAddrType( // Source: viewblk.cpp
FLMUINT * puiBlkAddress);
void ViewHexBlock( // Source: viewblk.cpp
FLMUINT uiReadAddress,
F_BLK_HDR ** ppBlkHdr,
FLMUINT uiViewLen);
FLMBOOL OutputHexValue( // Source: viewblk.cpp
FLMUINT uiCol,
FLMUINT * puiRow,
FLMUINT uiBackColor,
FLMUINT uiForeColor,
FLMINT iLabelIndex,
FLMUINT uiFileNumber,
FLMUINT uiFileOffset,
FLMBYTE * pucVal,
FLMUINT uiValLen,
FLMBOOL bCopyVal);
FLMBOOL ViewLFHBlk( // Source: viewlfil.cpp
FLMUINT uiReadAddress,
FLMUINT uiTargBlkAddress,
F_BLK_HDR ** ppBlkHdr,
BLK_EXP_p pBlkExp);
void FormatLFType( // Source: viewlfil.cpp
char * pszDestBuf,
FLMUINT uiLfType);
void ViewAskInput( // Source: view.cpp
const char * pszPrompt,
char * pszBuffer,
FLMUINT uiBufLen);
FLMBOOL ViewEdit( // Source: viewedit.cpp
FLMBOOL bWriteEntireBlock);
FLMBOOL ViewGetNum( // Source: viewedit.cpp
const char * pszPrompt,
void * pvNum,
FLMBOOL bEnterHexFlag,
FLMUINT uiNumBytes,
FLMUINT64 ui64MaxValue,
FLMBOOL * pbValEntered);
FLMBOOL ViewEditNum( // Source: viewedit.cpp
void * pvNum,
FLMBOOL bEnterHexFlag,
FLMUINT uiNumBytes,
FLMUINT64 ui64MaxValue);
FLMBOOL ViewEditText( // Source: viewedit.cpp
const char * pszPrompt,
char * pszText,
FLMUINT uiTextLen,
FLMBOOL * pbValEntered);
FLMBOOL ViewEditBinary( // Source: viewedit.cpp
const char * pszPrompt,
FLMBYTE * pucBuf,
FLMUINT * puiByteCount,
FLMBOOL * pbValEntered);
FLMBOOL ViewEditLanguage( // Source: viewedit.cpp
FLMUINT * puiLang);
FLMBOOL ViewEditBits( // Source: viewedit.cpp
FLMBYTE * pucBit,
FLMBOOL bEnterHexFlag,
FLMBYTE ucMask);
FLMBOOL ViewGetKey( void); // Source: viewsrch.cpp
void ViewSearch( void); // Source: viewsrch.cpp
#endif