Modified to use enum for tag numbers. Moved tag name table from viewrfl.cpp to rflread.h.
git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@242 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
@@ -100,7 +100,7 @@ FSTATIC RCODE rflPutNum(
|
||||
POOL * pPool,
|
||||
NODE * pLinkToNode,
|
||||
FLMBOOL bPutAsSib,
|
||||
FLMUINT uiTagNum,
|
||||
eDispTag eDispTag,
|
||||
FLMUINT uiNum,
|
||||
FLMUINT uiOffset,
|
||||
FLMUINT uiNumExpectedBytes,
|
||||
@@ -186,6 +186,11 @@ FSTATIC RCODE rflExpandEncryptionPacket(
|
||||
POOL * pPool,
|
||||
NODE ** ppForest);
|
||||
|
||||
FSTATIC RCODE rflExpandConfigSizePacket(
|
||||
RFL_PACKET * pRflPacket,
|
||||
POOL * pPool,
|
||||
NODE ** ppForest);
|
||||
|
||||
FSTATIC void rflFormatCount(
|
||||
RFL_PACKET * pRflPacket,
|
||||
char ** ppszTmp);
|
||||
@@ -667,7 +672,10 @@ void RflFormatPacket(
|
||||
f_strcpy( pszTmp, " DataRec ");
|
||||
break;
|
||||
case RFL_ENC_DATA_RECORD_PACKET:
|
||||
f_strcpy( pszTmp, " EncDataRec ");
|
||||
f_strcpy( pszTmp, " EDataRec ");
|
||||
break;
|
||||
case RFL_DATA_RECORD_PACKET_VER_3:
|
||||
f_strcpy( pszTmp, " DataRec3 ");
|
||||
break;
|
||||
case RFL_INDEX_SET_PACKET:
|
||||
f_strcpy( pszTmp, " IndexSet ");
|
||||
@@ -683,7 +691,7 @@ void RflFormatPacket(
|
||||
rflFormatDRNRange( pRflPacket, &pszTmp);
|
||||
break;
|
||||
case RFL_BLK_CHAIN_FREE_PACKET:
|
||||
f_strcpy( pszTmp, "BlockChainFree");
|
||||
f_strcpy( pszTmp, "BlkChainFree ");
|
||||
rflFormatTransID( pRflPacket, &pszTmp);
|
||||
rflFormatDRN( pRflPacket, &pszTmp);
|
||||
rflFormatCount( pRflPacket, &pszTmp);
|
||||
@@ -718,15 +726,18 @@ void RflFormatPacket(
|
||||
rflFormatIndex( pRflPacket, &pszTmp);
|
||||
break;
|
||||
case RFL_WRAP_KEY_PACKET:
|
||||
f_strcpy( pszTmp, "Wrap Key ");
|
||||
f_strcpy( pszTmp, "Wrap Key ");
|
||||
rflFormatTransID( pRflPacket, &pszTmp);
|
||||
rflFormatDBKeyLen( pRflPacket, &pszTmp);
|
||||
break;
|
||||
case RFL_ENABLE_ENCRYPTION_PACKET:
|
||||
f_strcpy( pszTmp, "Enable Enc ");
|
||||
f_strcpy( pszTmp, "Enable Enc ");
|
||||
rflFormatTransID( pRflPacket, &pszTmp);
|
||||
rflFormatDBKeyLen( pRflPacket, &pszTmp);
|
||||
break;
|
||||
case RFL_CONFIG_SIZE_EVENT_PACKET:
|
||||
f_strcpy( pszTmp, "Config Size ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1111,6 +1122,7 @@ FSTATIC RCODE rflRetrievePacket(
|
||||
case RFL_CHANGE_FIELDS_PACKET:
|
||||
case RFL_DATA_RECORD_PACKET:
|
||||
case RFL_ENC_DATA_RECORD_PACKET:
|
||||
case RFL_DATA_RECORD_PACKET_VER_3:
|
||||
case RFL_UNKNOWN_PACKET:
|
||||
uiExpectedBodyLen = pRflPacket->uiPacketBodyLength;
|
||||
if (uiExpectedBodyLen & 0x03)
|
||||
@@ -1188,6 +1200,12 @@ FSTATIC RCODE rflRetrievePacket(
|
||||
case RFL_ENABLE_ENCRYPTION_PACKET:
|
||||
uiExpectedBodyLen = pRflPacket->uiPacketBodyLength;
|
||||
break;
|
||||
case RFL_CONFIG_SIZE_EVENT_PACKET:
|
||||
uiExpectedBodyLen = 16;
|
||||
pRflPacket->uiNextPacketAddress =
|
||||
uiFileOffset + RFL_PACKET_OVERHEAD +
|
||||
uiExpectedBodyLen;
|
||||
break;
|
||||
default:
|
||||
pRflPacket->bValidPacketType = FALSE;
|
||||
pRflPacket->uiNextPacketAddress =
|
||||
@@ -1224,9 +1242,10 @@ FSTATIC RCODE rflRetrievePacket(
|
||||
// determine where the next packet starts, starting from
|
||||
// the packet overhead.
|
||||
|
||||
if ((pRflPacket->uiPacketType == RFL_CHANGE_FIELDS_PACKET) ||
|
||||
(pRflPacket->uiPacketType == RFL_DATA_RECORD_PACKET) ||
|
||||
(pRflPacket->uiPacketType == RFL_ENC_DATA_RECORD_PACKET))
|
||||
if (pRflPacket->uiPacketType == RFL_CHANGE_FIELDS_PACKET ||
|
||||
pRflPacket->uiPacketType == RFL_DATA_RECORD_PACKET ||
|
||||
pRflPacket->uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
pRflPacket->uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
if ((uiBytesRead != uiExpectedBodyLen) ||
|
||||
(!pRflPacket->bHavePacketChecksum) ||
|
||||
@@ -1619,6 +1638,26 @@ FSTATIC RCODE rflRetrievePacket(
|
||||
uiFileOffset + RFL_PACKET_OVERHEAD +
|
||||
6 + pRflPacket->uiCount;
|
||||
break;
|
||||
|
||||
case RFL_CONFIG_SIZE_EVENT_PACKET:
|
||||
|
||||
// Get transaction ID, size threshhold, time interval, and
|
||||
// size interval
|
||||
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0,
|
||||
4, &pRflPacket->uiTransID,
|
||||
&pRflPacket->uiTransIDBytes);
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 4,
|
||||
4, &pRflPacket->uiSizeThreshold,
|
||||
&pRflPacket->uiSizeThresholdBytes);
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 8,
|
||||
4, &pRflPacket->uiTimeInterval,
|
||||
&pRflPacket->uiTimeIntervalBytes);
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 12,
|
||||
4, &pRflPacket->uiSizeInterval,
|
||||
&pRflPacket->uiSizeInterval);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1644,9 +1683,11 @@ FSTATIC RCODE rflGetNextOpPacket(
|
||||
// Stop when we either don't have a valid packet, or it is an
|
||||
// operation packet.
|
||||
|
||||
if ((!pRflPacket->bValidPacketType) ||
|
||||
((pRflPacket->uiPacketType != RFL_CHANGE_FIELDS_PACKET) &&
|
||||
(pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET)))
|
||||
if (!pRflPacket->bValidPacketType ||
|
||||
(pRflPacket->uiPacketType != RFL_CHANGE_FIELDS_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_ENC_DATA_RECORD_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET_VER_3))
|
||||
{
|
||||
*pbFoundNext = TRUE;
|
||||
break;
|
||||
@@ -1718,7 +1759,8 @@ RCODE RflGetNextNode(
|
||||
|
||||
// Create the packet node.
|
||||
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD, 0, &rc)) == NULL)
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD,
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -1791,9 +1833,11 @@ FSTATIC RCODE rflGetPrevOpPacket(
|
||||
// Stop when we either don't have a valid packet, or it is an
|
||||
// operation packet.
|
||||
|
||||
if ((!pRflPacket->bValidPacketType) ||
|
||||
((pRflPacket->uiPacketType != RFL_CHANGE_FIELDS_PACKET) &&
|
||||
(pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET)))
|
||||
if (!pRflPacket->bValidPacketType ||
|
||||
(pRflPacket->uiPacketType != RFL_CHANGE_FIELDS_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_ENC_DATA_RECORD_PACKET &&
|
||||
pRflPacket->uiPacketType != RFL_DATA_RECORD_PACKET_VER_3))
|
||||
{
|
||||
*pbFoundPrev = TRUE;
|
||||
break;
|
||||
@@ -1883,7 +1927,8 @@ RCODE RflGetPrevNode(
|
||||
|
||||
// Create the packet node.
|
||||
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD, 0, &rc)) == NULL)
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD,
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -1984,7 +2029,8 @@ RCODE RflPositionToNode(
|
||||
|
||||
// Create the packet node.
|
||||
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD, 0, &rc)) == NULL)
|
||||
if ((pPacketNode = GedNodeCreate( pPool, RFL_PACKET_FIELD,
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -2085,7 +2131,7 @@ FSTATIC RCODE rflPutNum(
|
||||
POOL * pPool,
|
||||
NODE * pLinkToNode,
|
||||
FLMBOOL bPutAsSib,
|
||||
FLMUINT uiTagNum,
|
||||
eDispTag eDispTag,
|
||||
FLMUINT uiNum,
|
||||
FLMUINT uiOffset,
|
||||
FLMUINT uiNumExpectedBytes,
|
||||
@@ -2102,7 +2148,7 @@ FSTATIC RCODE rflPutNum(
|
||||
|
||||
// Create the number node.
|
||||
|
||||
if ((pNode = GedNodeCreate( pPool, uiTagNum, uiOffset, &rc)) == NULL)
|
||||
if ((pNode = GedNodeCreate( pPool, makeTagNum( eDispTag), uiOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -2133,7 +2179,8 @@ FSTATIC RCODE rflPutNum(
|
||||
|
||||
// Create the number of bytes valid node.
|
||||
|
||||
if ((pNode2 = GedNodeCreate( pPool, RFL_NUM_BYTES_VALID_FIELD,
|
||||
if ((pNode2 = GedNodeCreate( pPool,
|
||||
makeTagNum( RFL_NUM_BYTES_VALID_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -2171,97 +2218,103 @@ FSTATIC RCODE rflExpandPacketHdr(
|
||||
)
|
||||
{
|
||||
RCODE rc = FERR_OK;
|
||||
FLMUINT uiTagNum;
|
||||
eDispTag eTagNum;
|
||||
NODE * pParent;
|
||||
FLMUINT uiOffset;
|
||||
NODE * pNode;
|
||||
|
||||
if (!pRflPacket->bValidPacketType)
|
||||
{
|
||||
uiTagNum = RFL_UNKNOWN_PACKET_FIELD;
|
||||
eTagNum = RFL_UNKNOWN_PACKET_FIELD;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (pRflPacket->uiPacketType)
|
||||
{
|
||||
case RFL_TRNS_BEGIN_PACKET:
|
||||
uiTagNum = RFL_TRNS_BEGIN_FIELD;
|
||||
eTagNum = RFL_TRNS_BEGIN_FIELD;
|
||||
break;
|
||||
case RFL_TRNS_BEGIN_EX_PACKET:
|
||||
uiTagNum = RFL_TRNS_BEGIN_EX_FIELD;
|
||||
eTagNum = RFL_TRNS_BEGIN_EX_FIELD;
|
||||
break;
|
||||
case RFL_TRNS_COMMIT_PACKET:
|
||||
uiTagNum = RFL_TRNS_COMMIT_FIELD;
|
||||
eTagNum = RFL_TRNS_COMMIT_FIELD;
|
||||
break;
|
||||
case RFL_TRNS_ABORT_PACKET:
|
||||
uiTagNum = RFL_TRNS_ABORT_FIELD;
|
||||
eTagNum = RFL_TRNS_ABORT_FIELD;
|
||||
break;
|
||||
case RFL_ADD_RECORD_PACKET:
|
||||
case RFL_ADD_RECORD_PACKET_VER_2:
|
||||
uiTagNum = RFL_RECORD_ADD_FIELD;
|
||||
eTagNum = RFL_RECORD_ADD_FIELD;
|
||||
break;
|
||||
case RFL_MODIFY_RECORD_PACKET:
|
||||
case RFL_MODIFY_RECORD_PACKET_VER_2:
|
||||
uiTagNum = RFL_RECORD_MODIFY_FIELD;
|
||||
eTagNum = RFL_RECORD_MODIFY_FIELD;
|
||||
break;
|
||||
case RFL_DELETE_RECORD_PACKET:
|
||||
case RFL_DELETE_RECORD_PACKET_VER_2:
|
||||
uiTagNum = RFL_RECORD_DELETE_FIELD;
|
||||
break;
|
||||
case RFL_ENC_DATA_RECORD_PACKET:
|
||||
uiTagNum = RFL_ENC_FIELD;
|
||||
eTagNum = RFL_RECORD_DELETE_FIELD;
|
||||
break;
|
||||
case RFL_RESERVE_DRN_PACKET:
|
||||
uiTagNum = RFL_RESERVE_DRN_FIELD;
|
||||
eTagNum = RFL_RESERVE_DRN_FIELD;
|
||||
break;
|
||||
case RFL_CHANGE_FIELDS_PACKET:
|
||||
uiTagNum = RFL_CHANGE_FIELDS_FIELD;
|
||||
eTagNum = RFL_CHANGE_FIELDS_FIELD;
|
||||
break;
|
||||
case RFL_DATA_RECORD_PACKET:
|
||||
uiTagNum = RFL_DATA_RECORD_FIELD;
|
||||
eTagNum = RFL_DATA_RECORD_FIELD;
|
||||
break;
|
||||
case RFL_ENC_DATA_RECORD_PACKET:
|
||||
eTagNum = RFL_ENC_DATA_RECORD_FIELD;
|
||||
break;
|
||||
case RFL_DATA_RECORD_PACKET_VER_3:
|
||||
eTagNum = RFL_DATA_RECORD3_FIELD;
|
||||
break;
|
||||
case RFL_INDEX_SET_PACKET:
|
||||
uiTagNum = RFL_INDEX_SET_FIELD;
|
||||
eTagNum = RFL_INDEX_SET_FIELD;
|
||||
break;
|
||||
case RFL_INDEX_SET_PACKET_VER_2:
|
||||
uiTagNum = RFL_INDEX_SET2_FIELD;
|
||||
eTagNum = RFL_INDEX_SET2_FIELD;
|
||||
break;
|
||||
case RFL_BLK_CHAIN_FREE_PACKET:
|
||||
uiTagNum = RFL_BLK_CHAIN_FREE_FIELD;
|
||||
eTagNum = RFL_BLK_CHAIN_FREE_FIELD;
|
||||
break;
|
||||
case RFL_START_UNKNOWN_PACKET:
|
||||
uiTagNum = RFL_START_UNKNOWN_FIELD;
|
||||
eTagNum = RFL_START_UNKNOWN_FIELD;
|
||||
break;
|
||||
case RFL_UNKNOWN_PACKET:
|
||||
uiTagNum = RFL_UNKNOWN_USER_PACKET_FIELD;
|
||||
eTagNum = RFL_UNKNOWN_USER_PACKET_FIELD;
|
||||
break;
|
||||
case RFL_REDUCE_PACKET:
|
||||
uiTagNum = RFL_REDUCE_PACKET_FIELD;
|
||||
eTagNum = RFL_REDUCE_PACKET_FIELD;
|
||||
break;
|
||||
case RFL_UPGRADE_PACKET:
|
||||
uiTagNum = RFL_UPGRADE_PACKET_FIELD;
|
||||
eTagNum = RFL_UPGRADE_PACKET_FIELD;
|
||||
break;
|
||||
case RFL_INDEX_SUSPEND_PACKET:
|
||||
uiTagNum = RFL_INDEX_SUSPEND_FIELD;
|
||||
eTagNum = RFL_INDEX_SUSPEND_FIELD;
|
||||
break;
|
||||
case RFL_INDEX_RESUME_PACKET:
|
||||
uiTagNum = RFL_INDEX_RESUME_FIELD;
|
||||
eTagNum = RFL_INDEX_RESUME_FIELD;
|
||||
break;
|
||||
case RFL_WRAP_KEY_PACKET:
|
||||
uiTagNum = RFL_WRAP_KEY_FIELD;
|
||||
eTagNum = RFL_WRAP_KEY_FIELD;
|
||||
break;
|
||||
case RFL_ENABLE_ENCRYPTION_PACKET:
|
||||
uiTagNum = RFL_ENABLE_ENCRYPTION_FIELD;
|
||||
eTagNum = RFL_ENABLE_ENCRYPTION_FIELD;
|
||||
break;
|
||||
case RFL_CONFIG_SIZE_EVENT_PACKET:
|
||||
eTagNum = RFL_CONFIG_SIZE_EVENT_FIELD;
|
||||
break;
|
||||
default:
|
||||
uiTagNum = RFL_UNKNOWN_PACKET_FIELD;
|
||||
eTagNum = RFL_UNKNOWN_PACKET_FIELD;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Create the packet node.
|
||||
|
||||
if ((pParent = GedNodeCreate( pPool, uiTagNum,
|
||||
if ((pParent = GedNodeCreate( pPool, makeTagNum( eTagNum),
|
||||
pRflPacket->uiFileOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -2270,7 +2323,7 @@ FSTATIC RCODE rflExpandPacketHdr(
|
||||
// If packet type is unknown, put it into the data portion of the
|
||||
// field - if we have it.
|
||||
|
||||
if ((uiTagNum == RFL_UNKNOWN_PACKET_FIELD) &&
|
||||
if ((eTagNum == RFL_UNKNOWN_PACKET_FIELD) &&
|
||||
(pRflPacket->bHavePacketType))
|
||||
{
|
||||
if (RC_BAD( rc = GedPutUINT( pPool, pParent,
|
||||
@@ -3132,8 +3185,8 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
if ((pTmpNode = GedNodeCreate( pPool, RFL_MORE_DATA_FIELD,
|
||||
0, &rc)) == 0)
|
||||
if ((pTmpNode = GedNodeCreate( pPool,
|
||||
makeTagNum( RFL_MORE_DATA_FIELD), 0, &rc)) == 0)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -3155,7 +3208,7 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
|
||||
// Create a GEDCOM node.
|
||||
|
||||
if ((pTagNode = GedNodeCreate( pPool, RFL_MORE_DATA_FIELD,
|
||||
if ((pTagNode = GedNodeCreate( pPool, makeTagNum( RFL_MORE_DATA_FIELD),
|
||||
uiOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -3227,14 +3280,25 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
pucPacketBody += uiLevelLen;
|
||||
uiBytesRead -= uiLevelLen;
|
||||
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiDataLen, &uiDataLenLen);
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 4, &uiDataLen, &uiDataLenLen);
|
||||
if (uiDataLenLen < 4)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiDataLen, &uiDataLenLen);
|
||||
if (uiDataLenLen < 2)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
}
|
||||
pucPacketBody += uiDataLenLen;
|
||||
uiBytesRead -= uiDataLenLen;
|
||||
|
||||
if (uiDataLenLen < 2)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
|
||||
// If we have an encrypted packet, handle the remaining fields here
|
||||
|
||||
@@ -3244,7 +3308,8 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
uiEncDefIDLen = 0;
|
||||
uiEncLen = 0;
|
||||
uiEncLenLen = 0;
|
||||
if (uiPacketType == RFL_ENC_DATA_RECORD_PACKET)
|
||||
if (uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 1, &uiEncrypted, &uiEncryptedLen);
|
||||
pucPacketBody += uiEncryptedLen;
|
||||
@@ -3260,14 +3325,24 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
pucPacketBody += uiEncDefIDLen;
|
||||
uiBytesRead -= uiEncDefIDLen;
|
||||
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiEncLen, &uiEncLenLen);
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 4, &uiEncLen, &uiEncLenLen);
|
||||
if (uiEncLenLen < 4)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiEncLen, &uiEncLenLen);
|
||||
if (uiEncLenLen < 2)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
}
|
||||
pucPacketBody += uiEncLenLen;
|
||||
uiBytesRead -= uiEncLenLen;
|
||||
|
||||
if (uiEncLenLen < 2)
|
||||
{
|
||||
bIncompleteHdr = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3307,14 +3382,26 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
}
|
||||
uiOffset += uiLevelLen;
|
||||
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_DATA_LEN_FIELD,
|
||||
uiDataLen, uiOffset, 2, uiDataLenLen, &pTmpNode)))
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
goto Exit;
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_DATA_LEN_FIELD,
|
||||
uiDataLen, uiOffset, 4, uiDataLenLen, &pTmpNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_DATA_LEN_FIELD,
|
||||
uiDataLen, uiOffset, 2, uiDataLenLen, &pTmpNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
uiOffset += uiDataLenLen;
|
||||
|
||||
if (uiPacketType == RFL_ENC_DATA_RECORD_PACKET)
|
||||
if (uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_ENC_FIELD,
|
||||
uiEncrypted, uiOffset, 1, uiEncryptedLen, &pTmpNode)))
|
||||
@@ -3332,10 +3419,21 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
}
|
||||
uiOffset += uiEncDefIDLen;
|
||||
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_ENC_DATA_LEN_FIELD,
|
||||
uiEncLen, uiOffset, 2, uiEncLenLen, &pTmpNode)))
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
goto Exit;
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_ENC_DATA_LEN_FIELD,
|
||||
uiEncLen, uiOffset, 4, uiEncLenLen, &pTmpNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pTmpNode, TRUE, RFL_ENC_DATA_LEN_FIELD,
|
||||
uiEncLen, uiOffset, 2, uiEncLenLen, &pTmpNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
uiOffset += uiEncLenLen;
|
||||
|
||||
@@ -3351,7 +3449,7 @@ FSTATIC RCODE rflExpandDataPacket(
|
||||
|
||||
// Create a GEDCOM node for the data.
|
||||
|
||||
if ((pDataNode = GedNodeCreate( pPool, RFL_DATA_FIELD,
|
||||
if ((pDataNode = GedNodeCreate( pPool, makeTagNum( RFL_DATA_FIELD),
|
||||
uiOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -3502,7 +3600,7 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
FLMBYTE * pucPacketBody;
|
||||
FLMUINT uiBytesRead;
|
||||
FLMUINT uiOffset;
|
||||
FLMUINT uiChangeTagNum;
|
||||
eDispTag eChangeTagNum;
|
||||
FLMUINT uiDataTagNum;
|
||||
FLMUINT uiDataLen;
|
||||
FLMUINT uiChangeType;
|
||||
@@ -3511,6 +3609,7 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
FLMUINT uiNodeDataLen;
|
||||
FLMUINT uiTmp;
|
||||
FLMUINT uiLen;
|
||||
FLMUINT uiDataLenLen;
|
||||
|
||||
// Output the packet header.
|
||||
|
||||
@@ -3569,7 +3668,7 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
|
||||
// Create a dummy change node.
|
||||
|
||||
if ((pChangeNode = GedNodeCreate( pPool, RFL_MORE_DATA_FIELD,
|
||||
if ((pChangeNode = GedNodeCreate( pPool, makeTagNum( RFL_MORE_DATA_FIELD),
|
||||
0, &rc)) == 0)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -3582,30 +3681,42 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
switch (uiChangeType)
|
||||
{
|
||||
case RFL_INSERT_FIELD:
|
||||
uiChangeTagNum = RFL_INSERT_FLD_FIELD;
|
||||
eChangeTagNum = RFL_INSERT_FLD_FIELD;
|
||||
break;
|
||||
case RFL_MODIFY_FIELD:
|
||||
uiChangeTagNum = RFL_MODIFY_FLD_FIELD;
|
||||
eChangeTagNum = RFL_MODIFY_FLD_FIELD;
|
||||
break;
|
||||
case RFL_DELETE_FIELD:
|
||||
uiChangeTagNum = RFL_DELETE_FLD_FIELD;
|
||||
eChangeTagNum = RFL_DELETE_FLD_FIELD;
|
||||
break;
|
||||
case RFL_END_FIELD_CHANGES:
|
||||
uiChangeTagNum = RFL_END_CHANGES_FIELD;
|
||||
eChangeTagNum = RFL_END_CHANGES_FIELD;
|
||||
break;
|
||||
// Added
|
||||
case RFL_INSERT_ENC_FIELD:
|
||||
uiChangeTagNum = RFL_INSERT_ENC_FLD_FIELD;
|
||||
eChangeTagNum = RFL_INSERT_ENC_FLD_FIELD;
|
||||
break;
|
||||
case RFL_MODIFY_ENC_FIELD:
|
||||
uiChangeTagNum = RFL_MODIFY_ENC_FLD_FIELD;
|
||||
eChangeTagNum = RFL_MODIFY_ENC_FLD_FIELD;
|
||||
break;
|
||||
case RFL_INSERT_LARGE_FIELD:
|
||||
eChangeTagNum = RFL_INSERT_LARGE_FLD_FIELD;
|
||||
break;
|
||||
case RFL_INSERT_ENC_LARGE_FIELD:
|
||||
eChangeTagNum = RFL_INSERT_ENC_LARGE_FLD_FIELD;
|
||||
break;
|
||||
case RFL_MODIFY_LARGE_FIELD:
|
||||
eChangeTagNum = RFL_MODIFY_LARGE_FLD_FIELD;
|
||||
break;
|
||||
case RFL_MODIFY_ENC_LARGE_FIELD:
|
||||
eChangeTagNum = RFL_MODIFY_ENC_LARGE_FLD_FIELD;
|
||||
break;
|
||||
default:
|
||||
uiChangeTagNum = RFL_UNKNOWN_CHANGE_TYPE_FIELD;
|
||||
eChangeTagNum = RFL_UNKNOWN_CHANGE_TYPE_FIELD;
|
||||
break;
|
||||
}
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pLastNode, TRUE,
|
||||
uiChangeTagNum,
|
||||
eChangeTagNum,
|
||||
uiChangeType, uiOffset,
|
||||
1, 1, &pChangeNode)))
|
||||
{
|
||||
@@ -3632,7 +3743,9 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
|
||||
uiDataLen = 0;
|
||||
if (uiChangeType == RFL_INSERT_FIELD ||
|
||||
uiChangeType == RFL_INSERT_ENC_FIELD)
|
||||
uiChangeType == RFL_INSERT_ENC_FIELD ||
|
||||
uiChangeType == RFL_INSERT_LARGE_FIELD ||
|
||||
uiChangeType == RFL_INSERT_ENC_LARGE_FIELD)
|
||||
{
|
||||
|
||||
// Output tag number.
|
||||
@@ -3682,12 +3795,16 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
|
||||
// Output data length
|
||||
|
||||
uiDataLenLen = (uiChangeType == RFL_INSERT_LARGE_FIELD ||
|
||||
uiChangeType == RFL_INSERT_ENC_LARGE_FIELD)
|
||||
? 4
|
||||
: 2;
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0,
|
||||
2, &uiTmp, &uiLen);
|
||||
uiDataLenLen, &uiTmp, &uiLen);
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pChangeNode, FALSE,
|
||||
RFL_DATA_LEN_FIELD,
|
||||
uiTmp, uiOffset,
|
||||
2, uiLen, NULL)))
|
||||
uiDataLenLen, uiLen, NULL)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -3700,7 +3817,8 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
}
|
||||
|
||||
uiDataTagNum = RFL_DATA_FIELD;
|
||||
if ( uiChangeType == RFL_INSERT_ENC_FIELD)
|
||||
if (uiChangeType == RFL_INSERT_ENC_FIELD ||
|
||||
uiChangeType == RFL_INSERT_ENC_LARGE_FIELD)
|
||||
{
|
||||
// Output the encryption definition id
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiTmp, &uiLen);
|
||||
@@ -3714,9 +3832,9 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
uiBytesRead -= uiLen;
|
||||
|
||||
// Output the encrypted data length
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiTmp, &uiLen);
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, uiDataLenLen, &uiTmp, &uiLen);
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pChangeNode, FALSE, RFL_ENC_DATA_LEN_FIELD,
|
||||
uiTmp, uiOffset, 2, uiLen, NULL)))
|
||||
uiTmp, uiOffset, uiDataLenLen, uiLen, NULL)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -3730,7 +3848,9 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
}
|
||||
}
|
||||
else if (uiChangeType == RFL_MODIFY_FIELD ||
|
||||
uiChangeType == RFL_MODIFY_ENC_FIELD)
|
||||
uiChangeType == RFL_MODIFY_ENC_FIELD ||
|
||||
uiChangeType == RFL_MODIFY_LARGE_FIELD ||
|
||||
uiChangeType == RFL_MODIFY_ENC_LARGE_FIELD)
|
||||
{
|
||||
|
||||
// Output change bytes type
|
||||
@@ -3763,24 +3883,29 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
|
||||
// Output data length
|
||||
|
||||
uiDataLenLen = (uiChangeType == RFL_MODIFY_LARGE_FIELD ||
|
||||
uiChangeType == RFL_MODIFY_ENC_LARGE_FIELD)
|
||||
? 4
|
||||
: 2;
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0,
|
||||
2, &uiTmp, &uiLen);
|
||||
uiDataLenLen, &uiTmp, &uiLen);
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pChangeNode, FALSE,
|
||||
RFL_DATA_LEN_FIELD,
|
||||
uiTmp, uiOffset,
|
||||
2, uiLen, NULL)))
|
||||
uiDataLenLen, uiLen, NULL)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += uiLen;
|
||||
pucPacketBody += uiLen;
|
||||
uiBytesRead -= uiLen;
|
||||
if (uiLen == 2)
|
||||
if (uiLen == uiDataLenLen)
|
||||
{
|
||||
uiDataLen = uiTmp;
|
||||
}
|
||||
uiDataTagNum = RFL_DATA_FIELD;
|
||||
if ( uiChangeType == RFL_MODIFY_ENC_FIELD)
|
||||
if (uiChangeType == RFL_MODIFY_ENC_FIELD ||
|
||||
uiChangeType == RFL_MODIFY_ENC_LARGE_FIELD)
|
||||
{
|
||||
// Output the encryption definition id
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiTmp, &uiLen);
|
||||
@@ -3794,16 +3919,16 @@ FSTATIC RCODE rflExpandChangeFieldsPacket(
|
||||
uiBytesRead -= uiLen;
|
||||
|
||||
// Output the encrypted data length
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, 2, &uiTmp, &uiLen);
|
||||
rflGetNumValue( pucPacketBody, uiBytesRead, 0, uiDataLenLen, &uiTmp, &uiLen);
|
||||
if ( RC_BAD( rc = rflPutNum( pPool, pChangeNode, FALSE, RFL_ENC_DATA_LEN_FIELD,
|
||||
uiTmp, uiOffset, 2, uiLen, NULL)))
|
||||
uiTmp, uiOffset, uiDataLenLen, uiLen, NULL)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += uiLen;
|
||||
pucPacketBody += uiLen;
|
||||
uiBytesRead -= uiLen;
|
||||
if (uiLen == 2)
|
||||
if (uiLen == uiDataLenLen)
|
||||
{
|
||||
uiDataLen = uiTmp;
|
||||
}
|
||||
@@ -3918,8 +4043,10 @@ FSTATIC RCODE rflExpandRecordPackets(
|
||||
|
||||
if (uiPacketType == 0xFF)
|
||||
{
|
||||
if ((RflPacket.uiPacketType == RFL_DATA_RECORD_PACKET) ||
|
||||
(RflPacket.uiPacketType == RFL_CHANGE_FIELDS_PACKET))
|
||||
if (RflPacket.uiPacketType == RFL_DATA_RECORD_PACKET ||
|
||||
RflPacket.uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
RflPacket.uiPacketType == RFL_DATA_RECORD_PACKET_VER_3 ||
|
||||
RflPacket.uiPacketType == RFL_CHANGE_FIELDS_PACKET)
|
||||
{
|
||||
uiPacketType = RflPacket.uiPacketType;
|
||||
}
|
||||
@@ -3931,8 +4058,8 @@ FSTATIC RCODE rflExpandRecordPackets(
|
||||
|
||||
// Stop when we don't have a valid data packet.
|
||||
|
||||
if ((!RflPacket.bValidPacketType) ||
|
||||
(RflPacket.uiPacketType != uiPacketType))
|
||||
if (!RflPacket.bValidPacketType ||
|
||||
RflPacket.uiPacketType != uiPacketType)
|
||||
{
|
||||
break;
|
||||
}
|
||||
@@ -3942,7 +4069,9 @@ FSTATIC RCODE rflExpandRecordPackets(
|
||||
? (FLMBOOL)TRUE
|
||||
: (FLMBOOL)FALSE);
|
||||
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET || uiPacketType == RFL_ENC_DATA_RECORD_PACKET)
|
||||
if (uiPacketType == RFL_DATA_RECORD_PACKET ||
|
||||
uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
if (RC_BAD( rc = rflExpandDataPacket( &RflPacket, pPool,
|
||||
bOutputPacket, uiPacketType,
|
||||
@@ -4127,7 +4256,7 @@ FSTATIC RCODE rflExpandRecOpPacket(
|
||||
{
|
||||
if (RC_BAD( rc = rflExpandRecordPackets( pPool,
|
||||
pRflPacket->uiNextPacketAddress,
|
||||
RFL_DATA_RECORD_PACKET,
|
||||
0xFF,
|
||||
&pParent, uiPacketOffset)))
|
||||
{
|
||||
goto Exit;
|
||||
@@ -4220,7 +4349,7 @@ FSTATIC RCODE rflExpandUnkPacket(
|
||||
|
||||
// Create a GEDCOM node for the data.
|
||||
|
||||
if ((pTmpNode2 = GedNodeCreate( pPool, RFL_DATA_FIELD,
|
||||
if ((pTmpNode2 = GedNodeCreate( pPool, makeTagNum( RFL_DATA_FIELD),
|
||||
uiOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -4300,7 +4429,7 @@ FSTATIC RCODE rflExpandEncryptionPacket(
|
||||
|
||||
// Create a data node, if there is data to output.
|
||||
|
||||
if ((pDataNode = GedNodeCreate( pPool, RFL_DATA_FIELD,
|
||||
if ((pDataNode = GedNodeCreate( pPool, makeTagNum( RFL_DATA_FIELD),
|
||||
uiOffset, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -4344,6 +4473,91 @@ Exit:
|
||||
return( rc);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
Desc: Expands a config rfl size packet (RFL_CONFIG_SIZE_EVENT_PACKET)
|
||||
*********************************************************************/
|
||||
FSTATIC RCODE rflExpandConfigSizePacket(
|
||||
RFL_PACKET * pRflPacket,
|
||||
POOL * pPool,
|
||||
NODE ** ppForest
|
||||
)
|
||||
{
|
||||
RCODE rc = FERR_OK;
|
||||
void * pvMark = GedPoolMark( pPool);
|
||||
NODE * pParent = NULL;
|
||||
NODE * pLastNode;
|
||||
FLMUINT uiOffset;
|
||||
|
||||
// Output generic packet header information.
|
||||
|
||||
if (RC_BAD( rc = rflExpandPacketHdr( pRflPacket, pPool, &pParent)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
// Output transaction ID
|
||||
|
||||
uiOffset = pRflPacket->uiFileOffset + RFL_PACKET_OVERHEAD;
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pParent, FALSE,
|
||||
RFL_TRANS_ID_FIELD,
|
||||
pRflPacket->uiTransID, uiOffset,
|
||||
4, pRflPacket->uiTransIDBytes, &pLastNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += 4;
|
||||
|
||||
// Output size threshhold
|
||||
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pParent, FALSE,
|
||||
RFL_SIZE_THRESHOLD_FIELD,
|
||||
pRflPacket->uiSizeThreshold, uiOffset,
|
||||
4, pRflPacket->uiSizeThresholdBytes, &pLastNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += 4;
|
||||
|
||||
// Output time interval
|
||||
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pParent, FALSE,
|
||||
RFL_TIME_INTERVAL_FIELD,
|
||||
pRflPacket->uiTimeInterval, uiOffset,
|
||||
4, pRflPacket->uiTimeInterval, &pLastNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += 4;
|
||||
|
||||
// Output size interval
|
||||
|
||||
if (RC_BAD( rc = rflPutNum( pPool, pParent, FALSE,
|
||||
RFL_SIZE_INTERVAL_FIELD,
|
||||
pRflPacket->uiSizeInterval, uiOffset,
|
||||
4, pRflPacket->uiSizeInterval, &pLastNode)))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
uiOffset += 4;
|
||||
|
||||
Exit:
|
||||
|
||||
if (RC_BAD( rc) || !pParent)
|
||||
{
|
||||
if (rc == FERR_IO_END_OF_FILE)
|
||||
{
|
||||
rc = FERR_OK;
|
||||
}
|
||||
*ppForest = NULL;
|
||||
GedPoolReset( pPool, pvMark);
|
||||
}
|
||||
else
|
||||
{
|
||||
*ppForest = pParent;
|
||||
}
|
||||
return( rc);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
Desc: Expands a packet into multiple GEDCOM nodes for display of
|
||||
all of the subcomponents.
|
||||
@@ -4401,6 +4615,7 @@ RCODE RflExpandPacket(
|
||||
case RFL_CHANGE_FIELDS_PACKET:
|
||||
case RFL_DATA_RECORD_PACKET:
|
||||
case RFL_ENC_DATA_RECORD_PACKET:
|
||||
case RFL_DATA_RECORD_PACKET_VER_3:
|
||||
f_memcpy( &tmpPacket, pRflPacket, sizeof( RFL_PACKET));
|
||||
bFoundPrev = FALSE;
|
||||
if (RC_BAD( rc = rflGetPrevOpPacket( &tmpPacket, &bFoundPrev)))
|
||||
@@ -4412,7 +4627,8 @@ RCODE RflExpandPacket(
|
||||
uiDataLen = 0xFFFF;
|
||||
uiLevel = 0;
|
||||
if (pRflPacket->uiPacketType == RFL_DATA_RECORD_PACKET ||
|
||||
pRflPacket->uiPacketType == RFL_ENC_DATA_RECORD_PACKET)
|
||||
pRflPacket->uiPacketType == RFL_ENC_DATA_RECORD_PACKET ||
|
||||
pRflPacket->uiPacketType == RFL_DATA_RECORD_PACKET_VER_3)
|
||||
{
|
||||
rc = rflExpandDataPacket( pRflPacket, pPool,
|
||||
TRUE, pRflPacket->uiPacketType,
|
||||
@@ -4457,6 +4673,9 @@ RCODE RflExpandPacket(
|
||||
case RFL_ENABLE_ENCRYPTION_PACKET:
|
||||
rc = rflExpandEncryptionPacket( pRflPacket, pPool, &pForest);
|
||||
goto Exit;
|
||||
case RFL_CONFIG_SIZE_EVENT_PACKET:
|
||||
rc = rflExpandConfigSizePacket( pRflPacket, pPool, &pForest);
|
||||
goto Exit;
|
||||
default:
|
||||
rc = rflExpandUnkPacket( pRflPacket, pPool, &pForest);
|
||||
goto Exit;
|
||||
|
||||
@@ -47,82 +47,205 @@ REXTERN FLMUINT gv_uiRflEof;
|
||||
|
||||
// Tag numbers for internal fields.
|
||||
|
||||
#define RFL_TRNS_BEGIN_FIELD 32769
|
||||
#define RFL_TRNS_COMMIT_FIELD 32770
|
||||
#define RFL_TRNS_ABORT_FIELD 32771
|
||||
#define RFL_RECORD_ADD_FIELD 32772
|
||||
#define RFL_RECORD_MODIFY_FIELD 32773
|
||||
#define RFL_RECORD_DELETE_FIELD 32774
|
||||
#define RFL_RESERVE_DRN_FIELD 32775
|
||||
#define RFL_CHANGE_FIELDS_FIELD 32776
|
||||
#define RFL_DATA_RECORD_FIELD 32777
|
||||
#define RFL_UNKNOWN_PACKET_FIELD 32778
|
||||
#define RFL_NUM_BYTES_VALID_FIELD 32779
|
||||
#define RFL_PACKET_ADDRESS_FIELD 32780
|
||||
#define RFL_PACKET_CHECKSUM_FIELD 32781
|
||||
#define RFL_PACKET_CHECKSUM_VALID_FIELD 32782
|
||||
#define RFL_PACKET_BODY_LENGTH_FIELD 32783
|
||||
#define RFL_NEXT_PACKET_ADDRESS_FIELD 32784
|
||||
#define RFL_PREV_PACKET_ADDRESS_FIELD 32785
|
||||
#define RFL_TRANS_ID_FIELD 32786
|
||||
#define RFL_START_SECONDS_FIELD 32787
|
||||
#define RFL_START_MSEC_FIELD 32788
|
||||
#define RFL_END_SECONDS_FIELD 32789
|
||||
#define RFL_END_MSEC_FIELD 32790
|
||||
#define RFL_START_TRNS_ADDR_FIELD 32791
|
||||
#define RFL_CONTAINER_FIELD 32792
|
||||
#define RFL_DRN_FIELD 32793
|
||||
#define RFL_TAG_NUM_FIELD 32794
|
||||
#define RFL_TYPE_FIELD 32795
|
||||
#define RFL_LEVEL_FIELD 32796
|
||||
#define RFL_DATA_LEN_FIELD 32797
|
||||
#define RFL_DATA_FIELD 32798
|
||||
#define RFL_MORE_DATA_FIELD 32799
|
||||
#define RFL_INSERT_FLD_FIELD 32800
|
||||
#define RFL_MODIFY_FLD_FIELD 32801
|
||||
#define RFL_DELETE_FLD_FIELD 32802
|
||||
#define RFL_END_CHANGES_FIELD 32803
|
||||
#define RFL_UNKNOWN_CHANGE_TYPE_FIELD 32804
|
||||
#define RFL_POSITION_FIELD 32805
|
||||
#define RFL_REPLACE_BYTES_FIELD 32806
|
||||
#define RFL_UNKNOWN_CHANGE_BYTES_FIELD 32807
|
||||
#define RFL_INDEX_SET_FIELD 32808
|
||||
#define RFL_INDEX_NUM_FIELD 32809
|
||||
#define RFL_START_DRN_FIELD 32810
|
||||
#define RFL_END_DRN_FIELD 32811
|
||||
#define RFL_START_UNKNOWN_FIELD 32812
|
||||
#define RFL_UNKNOWN_USER_PACKET_FIELD 32813
|
||||
#define RFL_HDR_NAME_FIELD 32814
|
||||
#define RFL_HDR_VERSION_FIELD 32815
|
||||
#define RFL_HDR_FILE_NUMBER_FIELD 32816
|
||||
#define RFL_HDR_EOF_FIELD 32817
|
||||
#define RFL_HDR_DB_SERIAL_NUM_FIELD 32818
|
||||
#define RFL_HDR_FILE_SERIAL_NUM_FIELD 32819
|
||||
#define RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD 32820
|
||||
#define RFL_HDR_KEEP_SIGNATURE_FIELD 32821
|
||||
#define RFL_TRNS_BEGIN_EX_FIELD 32822
|
||||
#define RFL_UPGRADE_PACKET_FIELD 32823
|
||||
#define RFL_OLD_DB_VERSION_FIELD 32824
|
||||
#define RFL_NEW_DB_VERSION_FIELD 32825
|
||||
#define RFL_REDUCE_PACKET_FIELD 32826
|
||||
#define RFL_BLOCK_COUNT_FIELD 32827
|
||||
#define RFL_LAST_COMMITTED_TRANS_ID_FIELD 32828
|
||||
#define RFL_INDEX_SET2_FIELD 32829
|
||||
#define RFL_INDEX_SUSPEND_FIELD 32830
|
||||
#define RFL_INDEX_RESUME_FIELD 32831
|
||||
#define RFL_BLK_CHAIN_FREE_FIELD 32832
|
||||
#define RFL_TRACKER_REC_FIELD 32833
|
||||
#define RFL_END_BLK_ADDR_FIELD 32834
|
||||
#define RFL_FLAGS_FIELD 32835
|
||||
#define RFL_INSERT_ENC_FLD_FIELD 32836
|
||||
#define RFL_MODIFY_ENC_FLD_FIELD 32837
|
||||
#define RFL_ENC_FIELD 32838
|
||||
#define RFL_ENC_DEF_ID_FIELD 32839
|
||||
#define RFL_ENC_DATA_LEN_FIELD 32840
|
||||
#define RFL_DB_KEY_LEN_FIELD 32841
|
||||
#define RFL_DB_KEY_FIELD 32842
|
||||
#define RFL_WRAP_KEY_FIELD 32843
|
||||
#define RFL_ENABLE_ENCRYPTION_FIELD 32844
|
||||
typedef enum
|
||||
{
|
||||
RFL_TRNS_BEGIN_FIELD = 0,
|
||||
RFL_TRNS_COMMIT_FIELD,
|
||||
RFL_TRNS_ABORT_FIELD,
|
||||
RFL_RECORD_ADD_FIELD,
|
||||
RFL_RECORD_MODIFY_FIELD,
|
||||
RFL_RECORD_DELETE_FIELD,
|
||||
RFL_RESERVE_DRN_FIELD,
|
||||
RFL_CHANGE_FIELDS_FIELD,
|
||||
RFL_DATA_RECORD_FIELD,
|
||||
RFL_UNKNOWN_PACKET_FIELD,
|
||||
RFL_NUM_BYTES_VALID_FIELD,
|
||||
RFL_PACKET_ADDRESS_FIELD,
|
||||
RFL_PACKET_CHECKSUM_FIELD,
|
||||
RFL_PACKET_CHECKSUM_VALID_FIELD,
|
||||
RFL_PACKET_BODY_LENGTH_FIELD,
|
||||
RFL_NEXT_PACKET_ADDRESS_FIELD,
|
||||
RFL_PREV_PACKET_ADDRESS_FIELD,
|
||||
RFL_TRANS_ID_FIELD,
|
||||
RFL_START_SECONDS_FIELD,
|
||||
RFL_START_MSEC_FIELD,
|
||||
RFL_END_SECONDS_FIELD,
|
||||
RFL_END_MSEC_FIELD,
|
||||
RFL_START_TRNS_ADDR_FIELD,
|
||||
RFL_CONTAINER_FIELD,
|
||||
RFL_DRN_FIELD,
|
||||
RFL_TAG_NUM_FIELD,
|
||||
RFL_TYPE_FIELD,
|
||||
RFL_LEVEL_FIELD,
|
||||
RFL_DATA_LEN_FIELD,
|
||||
RFL_DATA_FIELD,
|
||||
RFL_MORE_DATA_FIELD,
|
||||
RFL_INSERT_FLD_FIELD,
|
||||
RFL_MODIFY_FLD_FIELD,
|
||||
RFL_DELETE_FLD_FIELD,
|
||||
RFL_END_CHANGES_FIELD,
|
||||
RFL_UNKNOWN_CHANGE_TYPE_FIELD,
|
||||
RFL_POSITION_FIELD,
|
||||
RFL_REPLACE_BYTES_FIELD,
|
||||
RFL_UNKNOWN_CHANGE_BYTES_FIELD,
|
||||
RFL_INDEX_SET_FIELD,
|
||||
RFL_INDEX_NUM_FIELD,
|
||||
RFL_START_DRN_FIELD,
|
||||
RFL_END_DRN_FIELD,
|
||||
RFL_START_UNKNOWN_FIELD,
|
||||
RFL_UNKNOWN_USER_PACKET_FIELD,
|
||||
RFL_HDR_NAME_FIELD,
|
||||
RFL_HDR_VERSION_FIELD,
|
||||
RFL_HDR_FILE_NUMBER_FIELD,
|
||||
RFL_HDR_EOF_FIELD,
|
||||
RFL_HDR_DB_SERIAL_NUM_FIELD,
|
||||
RFL_HDR_FILE_SERIAL_NUM_FIELD,
|
||||
RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD,
|
||||
RFL_HDR_KEEP_SIGNATURE_FIELD,
|
||||
RFL_TRNS_BEGIN_EX_FIELD,
|
||||
RFL_UPGRADE_PACKET_FIELD,
|
||||
RFL_OLD_DB_VERSION_FIELD,
|
||||
RFL_NEW_DB_VERSION_FIELD,
|
||||
RFL_REDUCE_PACKET_FIELD,
|
||||
RFL_BLOCK_COUNT_FIELD,
|
||||
RFL_LAST_COMMITTED_TRANS_ID_FIELD,
|
||||
RFL_INDEX_SET2_FIELD,
|
||||
RFL_INDEX_SUSPEND_FIELD,
|
||||
RFL_INDEX_RESUME_FIELD,
|
||||
RFL_BLK_CHAIN_FREE_FIELD,
|
||||
RFL_TRACKER_REC_FIELD,
|
||||
RFL_END_BLK_ADDR_FIELD,
|
||||
RFL_FLAGS_FIELD,
|
||||
RFL_INSERT_ENC_FLD_FIELD,
|
||||
RFL_MODIFY_ENC_FLD_FIELD,
|
||||
RFL_ENC_FIELD,
|
||||
RFL_ENC_DEF_ID_FIELD,
|
||||
RFL_ENC_DATA_LEN_FIELD,
|
||||
RFL_DB_KEY_LEN_FIELD,
|
||||
RFL_DB_KEY_FIELD,
|
||||
RFL_WRAP_KEY_FIELD,
|
||||
RFL_ENABLE_ENCRYPTION_FIELD,
|
||||
RFL_ENC_DATA_RECORD_FIELD,
|
||||
RFL_DATA_RECORD3_FIELD,
|
||||
RFL_INSERT_LARGE_FLD_FIELD,
|
||||
RFL_INSERT_ENC_LARGE_FLD_FIELD,
|
||||
RFL_MODIFY_LARGE_FLD_FIELD,
|
||||
RFL_MODIFY_ENC_LARGE_FLD_FIELD,
|
||||
RFL_CONFIG_SIZE_EVENT_FIELD,
|
||||
RFL_SIZE_THRESHOLD_FIELD,
|
||||
RFL_TIME_INTERVAL_FIELD,
|
||||
RFL_SIZE_INTERVAL_FIELD,
|
||||
|
||||
// IMPORTANT NOTE: WHEN ADDING TO THIS TABLE, BE SURE TO ADD
|
||||
// STRING TO gv_szTagNames TABLE BELOW - STRINGS MUST BE
|
||||
// IN THE ORDER THEY APPEAR IN THIS TABLE
|
||||
|
||||
RFL_TOTAL_FIELDS
|
||||
} eDispTag;
|
||||
|
||||
FINLINE FLMUINT makeTagNum(
|
||||
eDispTag eTagNum)
|
||||
{
|
||||
return( (FLMUINT)eTagNum + 32769);
|
||||
}
|
||||
|
||||
#ifdef MAIN_MODULE
|
||||
|
||||
// Put this table in the header file so that the enums
|
||||
// are right next to the tags that go with them.
|
||||
|
||||
const char * gv_szTagNames [] =
|
||||
{
|
||||
"TransBegin", // RFL_TRNS_BEGIN_FIELD
|
||||
"TransCommit", // RFL_TRNS_COMMIT_FIELD
|
||||
"TransAbort", // RFL_TRNS_ABORT_FIELD
|
||||
"RecAdd", // RFL_RECORD_ADD_FIELD
|
||||
"RecModify", // RFL_RECORD_MODIFY_FIELD
|
||||
"RecDelete", // RFL_RECORD_DELETE_FIELD
|
||||
"ReserveDRN", // RFL_RESERVE_DRN_FIELD
|
||||
"ChangeFields", // RFL_CHANGE_FIELDS_FIELD
|
||||
"DataRecord", // RFL_DATA_RECORD_FIELD
|
||||
"UnknownPacket", // RFL_UNKNOWN_PACKET_FIELD
|
||||
"NumBytesValid", // RFL_NUM_BYTES_VALID_FIELD
|
||||
"PacketAddress", // RFL_PACKET_ADDRESS_FIELD
|
||||
"PacketChecksum", // RFL_PACKET_CHECKSUM_FIELD
|
||||
"PacketChecksumValid", // RFL_PACKET_CHECKSUM_VALID_FIELD
|
||||
"PacketBodyLength", // RFL_PACKET_BODY_LENGTH_FIELD
|
||||
"NextPacketAddress", // RFL_NEXT_PACKET_ADDRESS_FIELD
|
||||
"PrevPacketAddress", // RFL_PREV_PACKET_ADDRESS_FIELD
|
||||
"TransID", // RFL_TRANS_ID_FIELD
|
||||
"StartSeconds", // RFL_START_SECONDS_FIELD
|
||||
"StartMillisec", // RFL_START_MSEC_FIELD
|
||||
"EndSeconds", // RFL_END_SECONDS_FIELD
|
||||
"EndMillisec", // RFL_END_MSEC_FIELD
|
||||
"StartTransAddr", // RFL_START_TRNS_ADDR_FIELD
|
||||
"ContainerNum", // RFL_CONTAINER_FIELD
|
||||
"RecordID", // RFL_DRN_FIELD
|
||||
"TagNum", // RFL_TAG_NUM_FIELD
|
||||
"FieldType", // RFL_TYPE_FIELD
|
||||
"Level", // RFL_LEVEL_FIELD
|
||||
"DataLen", // RFL_DATA_LEN_FIELD
|
||||
"Data", // RFL_DATA_FIELD
|
||||
"MoreData", // RFL_MORE_DATA_FIELD
|
||||
"InsertFld", // RFL_INSERT_FLD_FIELD
|
||||
"ModifyFld", // RFL_MODIFY_FLD_FIELD
|
||||
"DeleteFld", // RFL_DELETE_FLD_FIELD
|
||||
"EndChanges", // RFL_END_CHANGES_FIELD
|
||||
"UnknownChangeType", // RFL_UNKNOWN_CHANGE_TYPE_FIELD
|
||||
"Position", // RFL_POSITION_FIELD
|
||||
"ReplaceBytes", // RFL_REPLACE_BYTES_FIELD
|
||||
"UnknownChangeBytes", // RFL_UNKNOWN_CHANGE_BYTES_FIELD
|
||||
"IndexSet", // RFL_INDEX_SET_FIELD
|
||||
"IndexNum", // RFL_INDEX_NUM_FIELD
|
||||
"StartDRN", // RFL_START_DRN_FIELD
|
||||
"EndDRN", // RFL_END_DRN_FIELD
|
||||
"StartUnknown", // RFL_START_UNKNOWN_FIELD
|
||||
"UserUnknown", // RFL_UNKNOWN_USER_PACKET_FIELD
|
||||
"RFLName", // RFL_HDR_NAME_FIELD
|
||||
"RFLVersion", // RFL_HDR_VERSION_FIELD
|
||||
"FileNumber", // RFL_HDR_FILE_NUMBER_FIELD
|
||||
"FileEOF", // RFL_HDR_EOF_FIELD
|
||||
"DBSerialNum", // RFL_HDR_DB_SERIAL_NUM_FIELD
|
||||
"FileSerialNum", // RFL_HDR_FILE_SERIAL_NUM_FIELD
|
||||
"NextFileSerialNum", // RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD
|
||||
"KeepSignature", // RFL_HDR_KEEP_SIGNATURE_FIELD
|
||||
"TransBeginEx", // RFL_TRNS_BEGIN_EX_FIELD
|
||||
"UpgradeDB", // RFL_UPGRADE_PACKET_FIELD
|
||||
"OldDbVersion", // RFL_OLD_DB_VERSION_FIELD
|
||||
"NewDbVersion", // RFL_NEW_DB_VERSION_FIELD
|
||||
"ReduceDb", // RFL_REDUCE_PACKET_FIELD
|
||||
"BlockCount", // RFL_BLOCK_COUNT_FIELD
|
||||
"LastCommitTransID", // RFL_LAST_COMMITTED_TRANS_ID_FIELD
|
||||
"IndexSet2", // RFL_INDEX_SET2_FIELD
|
||||
"IndexSuspend", // RFL_INDEX_SUSPEND_FIELD
|
||||
"IndexResume", // RFL_INDEX_RESUME_FIELD
|
||||
"BlockChainFree", // RFL_BLK_CHAIN_FREE_FIELD
|
||||
"TrackerRecDRN", // RFL_TRACKER_REC_FIELD
|
||||
"EndBlockAddr", // RFL_END_BLK_ADDR_FIELD
|
||||
"Flags", // RFL_FLAGS_FIELD
|
||||
"InsertEncFld", // RFL_INSERT_ENC_FLD_FIELD
|
||||
"ModifyEncFld", // RFL_MODIFY_ENC_FLD_FIELD
|
||||
"Encrypted", // RFL_ENC_FIELD
|
||||
"EncryptedDefId", // RFL_ENC_DEF_ID_FIELD
|
||||
"EncryptedDataLen", // RFL_ENC_DATA_LEN_FIELD
|
||||
"DataBaseKeyLen", // RFL_DB_KEY_LEN_FIELD
|
||||
"DataBaseKey", // RFL_DB_KEY_FIELD
|
||||
"WrapKey", // RFL_WRAP_KEY_FIELD
|
||||
"EnableEncryption", // RFL_ENABLE_ENCRYPTION_FIELD
|
||||
"EncDataRecord", // RFL_ENC_DATA_RECORD_FIELD
|
||||
"DataRecord3", // RFL_DATA_RECORD3_FIELD
|
||||
"InsertLargeFld", // RFL_INSERT_LARGE_FLD_FIELD
|
||||
"InsertLargeEncFld", // RFL_INSERT_ENC_LARGE_FLD_FIELD
|
||||
"ModifyLargeFld", // RFL_MODIFY_LARGE_FLD_FIELD
|
||||
"ModifyLargeEncFld", // RFL_MODIFY_ENC_LARGE_FLD_FIELD
|
||||
"ConfigSizeEvent", // RFL_CONFIG_SIZE_EVENT_FIELD
|
||||
"SizeThreshold", // RFL_SIZE_THRESHOLD_FIELD
|
||||
"TimeInterval", // RFL_TIME_INTERVAL_FIELD
|
||||
"SizeInterval", // RFL_SIZE_INTERVAL_FIELD
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct Rfl_Packet
|
||||
{
|
||||
@@ -166,6 +289,12 @@ typedef struct Rfl_Packet
|
||||
FLMUINT uiFlagsBytes; // Bytes that were in flags
|
||||
FLMUINT uiCount; // Count (number of blocks, etc.)
|
||||
FLMUINT uiCountBytes; // Bytes that were in count
|
||||
FLMUINT uiSizeThreshold; // Size threshhold
|
||||
FLMUINT uiSizeThresholdBytes; // Bytes in size threshhold
|
||||
FLMUINT uiTimeInterval; // Time interval
|
||||
FLMUINT uiTimeIntervalBytes; // Bytes that were in tine interval
|
||||
FLMUINT uiSizeInterval; // Size interval
|
||||
FLMUINT uiSizeIntervalBytes; // Bytes that were in size interval
|
||||
FLMUINT uiMultiFileSearch; // Is search to span multiple files?
|
||||
} RFL_PACKET, * RFL_PACKET_p;
|
||||
|
||||
|
||||
@@ -86,95 +86,6 @@ FSTATIC RCODE rflOpenNewFile(
|
||||
NetWare hooks
|
||||
*/
|
||||
|
||||
// Data
|
||||
|
||||
typedef struct RflTagName
|
||||
{
|
||||
const char * pszTagName;
|
||||
FLMUINT uiTagNum;
|
||||
} RFL_TAG_NAME;
|
||||
|
||||
RFL_TAG_NAME RflDictTags[] =
|
||||
{
|
||||
{ "TransBegin", RFL_TRNS_BEGIN_FIELD},
|
||||
{ "TransCommit", RFL_TRNS_COMMIT_FIELD},
|
||||
{ "TransAbort", RFL_TRNS_ABORT_FIELD},
|
||||
{ "RecAdd", RFL_RECORD_ADD_FIELD},
|
||||
{ "RecModify", RFL_RECORD_MODIFY_FIELD},
|
||||
{ "RecDelete", RFL_RECORD_DELETE_FIELD},
|
||||
{ "ReserveDRN", RFL_RESERVE_DRN_FIELD},
|
||||
{ "ChangeFields", RFL_CHANGE_FIELDS_FIELD},
|
||||
{ "DataRecord", RFL_DATA_RECORD_FIELD},
|
||||
{ "IndexNum", RFL_INDEX_NUM_FIELD},
|
||||
{ "StartDRN", RFL_START_DRN_FIELD},
|
||||
{ "EndDRN", RFL_END_DRN_FIELD},
|
||||
{ "UnknownPacket", RFL_UNKNOWN_PACKET_FIELD},
|
||||
{ "NumBytesValid", RFL_NUM_BYTES_VALID_FIELD},
|
||||
{ "PacketAddress", RFL_PACKET_ADDRESS_FIELD},
|
||||
{ "PacketChecksum", RFL_PACKET_CHECKSUM_FIELD},
|
||||
{ "PacketChecksumValid", RFL_PACKET_CHECKSUM_VALID_FIELD},
|
||||
{ "PacketBodyLength", RFL_PACKET_BODY_LENGTH_FIELD},
|
||||
{ "NextPacketAddress", RFL_NEXT_PACKET_ADDRESS_FIELD},
|
||||
{ "PrevPacketAddress", RFL_PREV_PACKET_ADDRESS_FIELD},
|
||||
{ "TransID", RFL_TRANS_ID_FIELD},
|
||||
{ "StartSeconds", RFL_START_SECONDS_FIELD},
|
||||
{ "StartMillisec", RFL_START_MSEC_FIELD},
|
||||
{ "EndSeconds", RFL_END_SECONDS_FIELD},
|
||||
{ "EndMillisec", RFL_END_MSEC_FIELD},
|
||||
{ "StartTransAddr", RFL_START_TRNS_ADDR_FIELD},
|
||||
{ "ContainerNum", RFL_CONTAINER_FIELD},
|
||||
{ "RecordID", RFL_DRN_FIELD},
|
||||
{ "TagNum", RFL_TAG_NUM_FIELD},
|
||||
{ "FieldType", RFL_TYPE_FIELD},
|
||||
{ "Level", RFL_LEVEL_FIELD},
|
||||
{ "DataLen", RFL_DATA_LEN_FIELD},
|
||||
{ "Data", RFL_DATA_FIELD},
|
||||
{ "MoreData", RFL_MORE_DATA_FIELD},
|
||||
{ "InsertFld", RFL_INSERT_FLD_FIELD},
|
||||
{ "ModifyFld", RFL_MODIFY_FLD_FIELD},
|
||||
{ "DeleteFld", RFL_DELETE_FLD_FIELD},
|
||||
{ "EndChanges", RFL_END_CHANGES_FIELD},
|
||||
{ "UnknownChangeType", RFL_UNKNOWN_CHANGE_TYPE_FIELD},
|
||||
{ "Position", RFL_POSITION_FIELD},
|
||||
{ "ReplaceBytes", RFL_REPLACE_BYTES_FIELD},
|
||||
{ "UnknownChangeBytes", RFL_UNKNOWN_CHANGE_BYTES_FIELD},
|
||||
{ "IndexSet", RFL_INDEX_SET_FIELD},
|
||||
{ "IndexSet2", RFL_INDEX_SET2_FIELD},
|
||||
{ "StartUnknown", RFL_START_UNKNOWN_FIELD},
|
||||
{ "UserUnknown", RFL_UNKNOWN_USER_PACKET_FIELD},
|
||||
{ "RFLName", RFL_HDR_NAME_FIELD},
|
||||
{ "RFLVersion", RFL_HDR_VERSION_FIELD},
|
||||
{ "FileNumber", RFL_HDR_FILE_NUMBER_FIELD},
|
||||
{ "FileEOF", RFL_HDR_EOF_FIELD},
|
||||
{ "DBSerialNum", RFL_HDR_DB_SERIAL_NUM_FIELD},
|
||||
{ "FileSerialNum", RFL_HDR_FILE_SERIAL_NUM_FIELD},
|
||||
{ "NextFileSerialNum", RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD},
|
||||
{ "KeepSignature", RFL_HDR_KEEP_SIGNATURE_FIELD},
|
||||
{ "TransBeginEx", RFL_TRNS_BEGIN_EX_FIELD},
|
||||
{ "UpgradeDB", RFL_UPGRADE_PACKET_FIELD},
|
||||
{ "OldDbVersion", RFL_OLD_DB_VERSION_FIELD},
|
||||
{ "NewDbVersion", RFL_NEW_DB_VERSION_FIELD},
|
||||
{ "ReduceDb", RFL_REDUCE_PACKET_FIELD},
|
||||
{ "BlockCount", RFL_BLOCK_COUNT_FIELD},
|
||||
{ "LastCommitTransID", RFL_LAST_COMMITTED_TRANS_ID_FIELD},
|
||||
{ "IndexSuspend", RFL_INDEX_SUSPEND_FIELD},
|
||||
{ "IndexResume", RFL_INDEX_RESUME_FIELD},
|
||||
{ "BlockChainFree", RFL_BLK_CHAIN_FREE_FIELD},
|
||||
{ "TrackerRecDRN", RFL_TRACKER_REC_FIELD},
|
||||
{ "EndBlockAddr", RFL_END_BLK_ADDR_FIELD},
|
||||
{ "Flags", RFL_FLAGS_FIELD},
|
||||
{ "InsertEncrypted", RFL_INSERT_ENC_FLD_FIELD},
|
||||
{ "ModifyEncrypted", RFL_MODIFY_ENC_FLD_FIELD},
|
||||
{ "Encrypted", RFL_ENC_FIELD},
|
||||
{ "EncryptedDefId", RFL_ENC_DEF_ID_FIELD},
|
||||
{ "EncryptedDataLen", RFL_ENC_DATA_LEN_FIELD},
|
||||
{ "DataBaseKeyLen", RFL_DB_KEY_LEN_FIELD},
|
||||
{ "DataBaseKey", RFL_DB_KEY_FIELD},
|
||||
{ "WrapKey", RFL_WRAP_KEY_FIELD},
|
||||
{ "EnableEncryption", RFL_ENABLE_ENCRYPTION_FIELD},
|
||||
{ NULL, 0}
|
||||
};
|
||||
|
||||
// Local Prototypes
|
||||
|
||||
void UIMain(
|
||||
@@ -1159,7 +1070,8 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the name field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_NAME_FIELD, 0, &rc)) == NULL)
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_NAME_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -1173,7 +1085,8 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the version field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_VERSION_FIELD, 0, &rc)) == NULL)
|
||||
if ((pNode = GedNodeCreate( &tmpPool,
|
||||
makeTagNum( RFL_HDR_VERSION_FIELD), 0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
@@ -1187,7 +1100,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the file number field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_FILE_NUMBER_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_FILE_NUMBER_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -1201,7 +1114,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the EOF field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_EOF_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_EOF_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -1215,7 +1128,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the database serial number field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_DB_SERIAL_NUM_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_DB_SERIAL_NUM_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -1229,7 +1142,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the file serial number field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_FILE_SERIAL_NUM_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_FILE_SERIAL_NUM_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -1243,7 +1156,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the next file serial number field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_NEXT_FILE_SERIAL_NUM_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -1257,7 +1170,7 @@ FSTATIC RCODE viewRflShowHeader(
|
||||
|
||||
// Create the next file serial number field
|
||||
|
||||
if ((pNode = GedNodeCreate( &tmpPool, RFL_HDR_KEEP_SIGNATURE_FIELD,
|
||||
if ((pNode = GedNodeCreate( &tmpPool, makeTagNum( RFL_HDR_KEEP_SIGNATURE_FIELD),
|
||||
0, &rc)) == NULL)
|
||||
{
|
||||
goto Exit;
|
||||
@@ -2571,12 +2484,10 @@ RCODE viewRflNameTableInit(
|
||||
char szFileName[ F_PATH_MAX_SIZE];
|
||||
HFDB hDb = HFDB_NULL;
|
||||
F_NameTable * pNameTable = NULL;
|
||||
RFL_TAG_NAME * pTag;
|
||||
FLMUINT uiTagNum;
|
||||
RCODE rc = FERR_OK;
|
||||
|
||||
/*
|
||||
Try to open the database
|
||||
*/
|
||||
// Try to open the database
|
||||
|
||||
if( RC_BAD( f_pathReduce( gv_szRflPath, szIoDbPath, szFileName)))
|
||||
{
|
||||
@@ -2625,16 +2536,16 @@ RCODE viewRflNameTableInit(
|
||||
|
||||
// Build the name table
|
||||
|
||||
pTag = &RflDictTags[ 0];
|
||||
while( pTag->pszTagName)
|
||||
uiTagNum = 0;
|
||||
while (gv_szTagNames [uiTagNum])
|
||||
{
|
||||
if( RC_BAD( rc = pNameTable->addTag( NULL, pTag->pszTagName,
|
||||
pTag->uiTagNum, FLM_FIELD_TAG, 0)))
|
||||
if( RC_BAD( rc = pNameTable->addTag( NULL, gv_szTagNames [uiTagNum],
|
||||
uiTagNum + 32769, FLM_FIELD_TAG, 0)))
|
||||
{
|
||||
flmAssert( 0);
|
||||
goto Exit;
|
||||
}
|
||||
pTag++;
|
||||
uiTagNum++;
|
||||
}
|
||||
|
||||
*ppNameTable = pNameTable;
|
||||
@@ -2654,3 +2565,4 @@ Exit:
|
||||
|
||||
return( rc);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user