// Copyright (c) 1996-1999 Microsoft Corporation /* declares.h - functions declarations History of Changes 9/30/98 --hsingh-- Added delcaration of function BsetUQMFlag(). This function enables making the UpdateQualityMacro? keyword optional in .gpd file. Bug Report 225088 */ // ---- functions defined in command.c ---- // BOOL BprocessParam( IN PABSARRAYREF paarValue, IN PARRAYREF parStrValue, IN OUT PGLOBL pglobl) ; BOOL BparseCommandString( IN PABSARRAYREF paarValue, IN PARRAYREF parStrValue, IN OUT PGLOBL pglobl ) ; BOOL BconstructRPNtokenStream( IN OUT PABSARRAYREF paarValue, OUT PARRAYREF parRPNtokenStream, IN OUT PGLOBL pglobl) ; VOID VinitOperPrecedence( IN OUT PGLOBL pglobl); BOOL BparseArithmeticToken( IN OUT PABSARRAYREF paarValue, OUT PTOKENSTREAM ptstr, PGLOBL pglobl ) ; BOOL BparseDigits( IN OUT PABSARRAYREF paarValue, OUT PTOKENSTREAM ptstr ) ; BOOL BparseParamKeyword( IN OUT PABSARRAYREF paarValue, OUT PTOKENSTREAM ptstr, PGLOBL pglobl ) ; BOOL BcmpAARtoStr( PABSARRAYREF paarStr1, PBYTE str2) ; // ---- functions defined in constrnt.c ---- // BOOL BparseConstraint( PABSARRAYREF paarValue, PDWORD pdwExistingCList, // index of start of contraint list. BOOL bCreate, PGLOBL pglobl) ; BOOL BexchangeDataInFOATNode( DWORD dwFeature, DWORD dwOption, DWORD dwFieldOff, // offset of field in FeatureOption struct PDWORD pdwOut, // previous contents of attribute node PDWORD pdwIn, BOOL bSynthetic, // access synthetic features PGLOBL pglobl ) ; BOOL BparseInvalidCombination( PABSARRAYREF paarValue, DWORD dwFieldOff, PGLOBL pglobl) ; BOOL BparseInvalidInstallableCombination1( PABSARRAYREF paarValue, DWORD dwFieldOff, PGLOBL pglobl) ; // ---- functions defined in framwrk.c ---- // VOID VinitMainKeywordTable( PGLOBL pglobl) ; VOID VinitValueToSize( PGLOBL pglobl) ; VOID VinitGlobals( DWORD dwVerbosity, PGLOBL pglobl); BOOL BpreAllocateObjects( PGLOBL pglobl) ; BOOL BreturnBuffers( PGLOBL pglobl) ; BOOL BallocateCountableObjects( PGLOBL pglobl) ; BOOL BinitPreAllocatedObjects( PGLOBL pglobl) ; BOOL BinitCountableObjects( PGLOBL pglobl) ; BOOL BcreateGPDbinary( PWSTR pwstrFileName, DWORD dwVerbosity ) ; BOOL BpostProcess( PWSTR pwstrFileName , PGLOBL pglobl) ; BOOL BconsolidateBuffers( PWSTR pwstrFileName , PGLOBL pglobl) ; BOOL BexpandMemConfigShortcut(DWORD dwSubType) ; BOOL BexpandCommandShortcut(DWORD dwSubType) ; // ---- functions defined in helper1.c ---- // PTSTR pwstrGenerateGPDfilename( PTSTR ptstrSrcFilename ) ; PCOMMAND CommandPtr( IN PGPDDRIVERINFO pGPDDrvInfo, IN DWORD UniCmdID ) ; BOOL InitDefaultOptions( IN PRAWBINARYDATA pnRawData, OUT POPTSELECT poptsel, IN INT iMaxOptions, IN INT iMode ) ; BOOL SeparateOptionArray( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pCombinedOptions, OUT POPTSELECT pOptions, IN INT iMaxOptions, IN INT iMode ) ; BOOL CombineOptionArray( IN PRAWBINARYDATA pnRawData, OUT POPTSELECT pCombinedOptions, IN INT iMaxOptions, IN POPTSELECT pDocOptions, IN POPTSELECT pPrinterOptions ) ; PINFOHEADER UpdateBinaryData( IN PRAWBINARYDATA pnRawData, IN PINFOHEADER pInfoHdr, IN POPTSELECT poptsel ) ; BOOL ReconstructOptionArray( IN PRAWBINARYDATA pnRawData, IN OUT POPTSELECT pOptions, IN INT iMaxOptions, IN DWORD dwFeatureIndex, IN PBOOL pbSelectedOptions ) ; BOOL ChangeOptionsViaID( IN PINFOHEADER pInfoHdr , IN OUT POPTSELECT pOptions, IN DWORD dwFeatureID, IN PDEVMODE pDevmode ) ; BOOL BMapDmColorToOptIndex( PINFOHEADER pInfoHdr , IN OUT PDWORD pdwOptIndex , // is current setting ok? // if not return new index to caller DWORD dwDmColor // what is requested in Devmode ) ; BOOL BMapOptIDtoOptIndex( PINFOHEADER pInfoHdr , OUT PDWORD pdwOptIndex , // return index to caller DWORD dwFeatureGID, DWORD dwOptID ) ; BOOL BMapPaperDimToOptIndex( PINFOHEADER pInfoHdr , OUT PDWORD pdwOptIndex , // return index to caller DWORD dwWidth, // in Microns DWORD dwLength, // in Microns OUT PDWORD pdwOptionIndexes ) ; BOOL BMapResToOptIndex( PINFOHEADER pInfoHdr , OUT PDWORD pdwOptIndex , // return index to caller DWORD dwXres, DWORD dwYres ) ; BOOL BGIDtoFeaIndex( PINFOHEADER pInfoHdr , PDWORD pdwFeaIndex , DWORD dwFeatureGID ) ; DWORD MapToDeviceOptIndex( IN PINFOHEADER pInfoHdr , IN DWORD dwFeatureID, IN LONG lParam1, IN LONG lParam2, OUT PDWORD pdwOptionIndexes ) ; BOOL CheckFeatureOptionConflict( IN PRAWBINARYDATA pnRawData, IN DWORD dwFeature1, IN DWORD dwOption1, IN DWORD dwFeature2, IN DWORD dwOption2 ) ; BOOL ResolveUIConflicts( IN PRAWBINARYDATA pnRawData, IN OUT POPTSELECT pOptions, IN INT iMaxOptions, IN INT iMode ) ; BOOL EnumEnabledOptions( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, OUT PBOOL pbEnabledOptions , IN INT iMode ) ; BOOL EnumOptionsUnconstrainedByPrinterSticky( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, OUT PBOOL pbEnabledOptions ) ; BOOL EnumNewUIConflict( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, IN PBOOL pbSelectedOptions, OUT PCONFLICTPAIR pConflictPair ) ; BOOL EnumNewPickOneUIConflict( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, IN DWORD dwOptionIndex, OUT PCONFLICTPAIR pConflictPair ) ; BOOL BIsFeaOptionCurSelected( IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, IN DWORD dwOptionIndex ) ; BOOL BSelectivelyEnumEnabledOptions( IN PRAWBINARYDATA pnRawData, IN POPTSELECT pOptions, IN DWORD dwFeatureIndex, IN PBOOL pbHonorConstraints, // if non NULL // points to array of BOOL corresponding to each feature. // if TRUE means constraint involving this feature is // to be honored. Otherwise ignore the constraint. OUT PBOOL pbEnabledOptions, // assume uninitialized // if pConflictPair is NULL else contains current or proposed // selections. We will leave this array unchanged in this case. IN DWORD dwOptSel, // if pConflictPair exists but pbEnabledOptions // is NULL, assume pickone and dwOptSel holds that selection for // the feature: dwFeatureIndex. OUT PCONFLICTPAIR pConflictPair // if present, pbEnabledOptions // actually lists the current selections. Function then // exits after encountering the first conflict. // if a conflict exists, all fields in pConflictPair // will be properly initialized else dwFeatureIndex1 = -1 // the return value will be TRUE regardless. ) ; BOOL BEnumImposedConstraintsOnFeature ( IN PRAWBINARYDATA pnRawData, IN DWORD dwTgtFeature, IN DWORD dwFeature2, IN DWORD dwOption2, OUT PBOOL pbEnabledOptions, OUT PCONFLICTPAIR pConflictPair // if present, pbEnabledOptions ) ; DWORD DwFindNodeInCurLevel( PATTRIB_TREE patt , // start of ATTRIBUTE tree array. PATREEREF patr , // index to a level in the attribute tree. DWORD dwOption // search current level for this option ) ; BOOL BIsConstraintActive( IN PCONSTRAINTS pcnstr , // root of Constraint nodes IN DWORD dwCNode, // first constraint node in list. IN PBOOL pbHonorConstraints, // if non NULL IN POPTSELECT pOptions, OUT PCONFLICTPAIR pConflictPair ) ; // ---- functions defined in installb.c ---- // DWORD DwCountSynthFeatures( IN BOOL (*fnBCreateFeature)(DWORD, DWORD, DWORD, PGLOBL ) , // callback IN OUT PGLOBL pglobl ) ; BOOL BCreateSynthFeatures( IN DWORD dwFea, // index of installable feature IN DWORD dwOpt, // index of installable Option or set to INVALID_INDEX IN DWORD dwSynFea, IN OUT PGLOBL pglobl) ; BOOL BEnableInvInstallableCombos( PGLOBL pglobl); // ---- functions defined in postproc.c ---- // DWORD dwFindLastNode( DWORD dwFirstNode, PGLOBL pglobl) ; BOOL BappendCommonFontsToPortAndLandscape( PGLOBL pglobl) ; BOOL BinitSpecialFeatureOptionFields( PGLOBL pglobl) ; BOOL BIdentifyConstantString( IN PARRAYREF parString, OUT PDWORD pdwDest, // write dword value here. IN DWORD dwClassIndex, // which class of constant is this? BOOL bCustomOptOK, IN PGLOBL pglobl ) ; BOOL BReadDataInGlobalNode( PATREEREF patr, // address of field in GlobalAttrib struct PDWORD pdwHeapOffset, PGLOBL pglobl) ; BOOL BsetUQMFlag( PGLOBL pglobl); VOID VCountPrinterDocStickyFeatures( PGLOBL pglobl) ; BOOL BConvertSpecVersionToDWORD( PWSTR pwstrFileName , PGLOBL pglobl) ; BOOL BinitMiniRawBinaryData( PGLOBL pglobl) ; BOOL BexchangeArbDataInFOATNode( DWORD dwFeature, DWORD dwOption, DWORD dwFieldOff, // offset of field in FeatureOption struct DWORD dwCount, // number bytes to copy. OUT PBYTE pubOut, // previous contents of attribute node IN PBYTE pubIn, // new contents of attribute node. PBOOL pbPrevsExists, // previous contents existed. BOOL bSynthetic, // access synthetic features PGLOBL pglobl ) ; BOOL BInitPriorityArray( PGLOBL pglobl) ; // ---- functions defined in semanchk.c ---- // BOOL BCheckGPDSemantics( IN PINFOHEADER pInfoHdr, POPTSELECT poptsel // assume fully initialized ) ; // ---- functions defined in snapshot.c ---- // PINFOHEADER PINFOHDRcreateSnapshot( PBYTE pubnRaw, // raw binary data. PSTATIC. BETA2 POPTSELECT poptsel // assume fully initialized ) ; BOOL BinitOptionFields( PBYTE pubDestOption, // ptr to some type of option structure. PBYTE pubDestOptionEx, // option extra structure if any. PBYTE pubnRaw, // raw binary data. DWORD dwFea, DWORD dwOpt, POPTSELECT poptsel , // assume fully initialized PINFOHEADER pInfoHdr, // used to access global structure. BOOL bUpdate // if true only update selected fields. ) ; BOOL BinitUIinfo( PUIINFO pUIinfo , PBYTE pubnRaw, // PSTATIC. BETA2 POPTSELECT poptsel, // assume fully initialized BOOL bUpdate // if true only update selected fields. ) ; BOOL BinitFeatures( PFEATURE pFeaturesDest, PDFEATURE_OPTIONS pfoSrc, PBYTE pubnRaw, // raw binary data. POPTSELECT poptsel, // assume fully initialized BOOL bUpdate // if true only update selected fields. ) ; BOOL BinitGlobals( PGLOBALS pGlobals, PBYTE pubnRaw, // raw binary data. POPTSELECT poptsel, // assume fully initialized BOOL bUpdate // if true only update selected fields. ) ; BOOL BinitCommandTable( PDWORD pdwCmdTable, // dest array PBYTE pubnRaw, // raw binary data. POPTSELECT poptsel // assume fully initialized ) ; BOOL BinitRawData( PRAWBINARYDATA pRawData, // contained in INFOHEADER. PBYTE pubnRaw // Parser's raw binary data. ) ; BOOL BinitGPDdriverInfo( PGPDDRIVERINFO pGPDdriverInfo, PBYTE pubnRaw, // raw binary data. POPTSELECT poptsel // assume fully initialized ) ; BOOL BinitSequencedCmds( PGPDDRIVERINFO pGPDdriverInfo, PBYTE pubnRaw, // raw binary data. POPTSELECT poptsel // assume fully initialized ) ; BOOL BaddSequencedCmdToList( DWORD dwCmdIn, // index of a command in CommandArray PGPDDRIVERINFO pGPDdriverInfo, DWORD dwNewListNode, // an unused listnode to add to the list. PBYTE pubnRaw // raw binary data. ) ; BinitDefaultOptionArray( POPTSELECT poptsel, // assume is large enough PBYTE pubnRaw) ; TRISTATUS EdetermineDefaultOption( PBYTE pubnRaw, // start of Rawbinary data DWORD dwFeature, // determine the default for this feature PDFEATURE_OPTIONS pfo, POPTSELECT poptsel, // assume is large enough PDWORD pdwPriority) ; VOID VtileDefault( PBYTE pubDest, DWORD dwDefault, DWORD dwBytes) ; VOID VtransferValue( OUT PBYTE pubDest, IN PBYTE pubSrc , IN DWORD dwBytes, IN DWORD dwFlags, IN DWORD dwDefaultValue, // holds bit flag value. IN PBYTE pubHeap ) ; // used to form ptr if SSF_MAKE_STRINGPTR BOOL BspecialProcessOption( PBYTE pubnRaw, // start of Rawbinary data PBYTE pubDestOption, // ptr to some type of option structure. PBYTE pubDestOptionEx, PDFEATURE_OPTIONS pfo , // source data IN POPTSELECT poptsel, // option array which determines path // through atr. PINFOHEADER pInfoHdr, // used to access global structure. DWORD dwFea, // feature index DWORD dwOpt, BOOL bDefaultOpt ) ; TRISTATUS EextractValueFromTree( PBYTE pubnRaw, // start of Rawbinary data DWORD dwSSTableIndex, // some info about this value. OUT PBYTE pubDest, // write value or link here OUT PDWORD pdwUnresolvedFeature, // if the attribute tree has // a dependency on this feature and the current option // for that feature is not defined in poptsel, this // function will write the index of the required // feature in pdwUnresolvedFeature. IN ATREEREF atrRoot, // root of attribute tree to navigate. IN POPTSELECT poptsel, // option array which determines path // through atr. may be filled with OPTION_INDEX_ANY // if we are jumpstarting IN DWORD dwFeature, IN OUT PDWORD pdwNextOpt // if multiple options are selected // for dwFeature, pdwNextOpt points to the Nth option to consider // in the poptsel list, at return time, this value // is incremented if there are remaining options selected, // else is reset to zero. // For the first call, or PICKONE features, // this value must be set to zero. ) ; BOOL RaisePriority( DWORD dwFeature1, DWORD dwFeature2, PBYTE pubnRaw, PDWORD pdwPriority) ; DWORD dwNumOptionSelected( IN DWORD dwNumFeatures, IN POPTSELECT poptsel ) ; BOOL BinitSnapShotIndexTable(PBYTE pubnRaw) ; BOOL BinitSizeOptionTables(PBYTE pubnRaw) ; PRAWBINARYDATA LoadRawBinaryData ( IN PTSTR ptstrDataFilename ) ; PRAWBINARYDATA GpdLoadCachedBinaryData( PTSTR ptstrGpdFilename ) ; VOID UnloadRawBinaryData ( IN PRAWBINARYDATA pnRawData ) ; PINFOHEADER InitBinaryData( IN PRAWBINARYDATA pnRawData, // actually pStatic IN PINFOHEADER pInfoHdr, IN POPTSELECT pOptions ) ; VOID FreeBinaryData( IN PINFOHEADER pInfoHdr ) ; BOOL BIsRawBinaryDataInDate( IN PBYTE pubRaw) ; // this is pointer to memory mapped file! BETA2 BOOL BgetLocFeaOptIndex( IN PRAWBINARYDATA pnRawData, OUT PDWORD pdwFea, OUT PDWORD pdwOptIndex ); BOOL BgetLocFeaIndex( IN PRAWBINARYDATA pnRawData, OUT PDWORD pdwFea ); BOOL BfindMatchingOrDefaultNode( IN PATTRIB_TREE patt , // start of ATTRIBUTE tree array. IN OUT PDWORD pdwNodeIndex, // Points to first node in chain IN DWORD dwOptionID // may even take on the value DEFAULT_INIT ) ; // ---- functions defined in snaptbl.c ---- // DWORD DwInitSnapShotTable1( PBYTE pubnRaw) ; DWORD DwInitSnapShotTable2( PBYTE pubnRaw, DWORD dwI) ; // ---- functions defined in state1.c ---- // BOOL BInterpretTokens( PTKMAP ptkmap, // pointer to tokenmap BOOL bFirstPass, // is this the first or 2nd time around? PGLOBL pglobl ) ; BOOL BprocessSpecialKeyword( PTKMAP ptkmap, // pointer to tokenmap BOOL bFirstPass, // is this the first or 2nd time around? PGLOBL pglobl ) ; BOOL BprocessSymbolKeyword( PTKMAP ptkmap, // pointer to current entry in tokenmap PGLOBL pglobl ) ; VOID VinitAllowedTransitions( PGLOBL pglobl) ; BOOL BpushState( PTKMAP ptkmap, // pointer to current entry in tokenmap BOOL bFirstPass, PGLOBL pglobl ) ; BOOL BchangeState( PTKMAP ptkmap, // pointer to construct in tokenmap CONSTRUCT eConstruct, // this will induce a transition to NewState STATE stOldState, BOOL bSymbol, // should dwValue be saved as a SymbolID ? BOOL bFirstPass, PGLOBL pglobl ) ; DWORD DWregisterSymbol( PABSARRAYREF paarSymbol, // the symbol string to register CONSTRUCT eConstruct , // type of construct determines class of symbol. BOOL bCopy, // shall we copy paarSymbol to heap? May set DWORD dwFeatureID, // if you are registering an option symbol PGLOBL pglobl ) ; BOOL BaddAARtoHeap( PABSARRAYREF paarSrc, PARRAYREF parDest, DWORD dwAlign, PGLOBL pglobl) ; BOOL BwriteToHeap( OUT PDWORD pdwDestOff, // heap offset of dest string PBYTE pubSrc, // points to src string DWORD dwCnt, // num bytes to copy from src to dest. DWORD dwAlign, PGLOBL pglobl) ; DWORD DWsearchSymbolListForAAR( PABSARRAYREF paarSymbol, DWORD dwNodeIndex, PGLOBL pglobl) ; DWORD DWsearchSymbolListForID( DWORD dwSymbolID, // find node containing this ID. DWORD dwNodeIndex, PGLOBL pglobl) ; BOOL BCmpAARtoAR( PABSARRAYREF paarStr1, PARRAYREF parStr2, PGLOBL pglobl) ; BOOL BpopState( PGLOBL pglobl) ; VOID VinitDictionaryIndex( PGLOBL pglobl) ; VOID VcharSubstitution( PABSARRAYREF paarStr, BYTE ubTgt, BYTE ubReplcmnt, PGLOBL pglobl) ; VOID VIgnoreBlock( PTKMAP ptkmap, BOOL bIgnoreBlock, PGLOBL pglobl) ; // ---- functions defined in state2.c ---- // BOOL BprocessAttribute( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BstoreFontCartAttrib( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BstoreTTFontSubAttrib( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BstoreCommandAttrib( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BstoreFeatureOptionAttrib( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BstoreGlobalAttrib( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BaddBranchToTree( PTKMAP ptkmap, // pointer to tokenmap PATREEREF patrAttribRoot, // pointer to dword with index PGLOBL pglobl ) ; BOOL BcreateGlobalInitializerNode( PDWORD pdwNodeIndex, DWORD dwOffset, PGLOBL pglobl) ; BOOL BcreateEndNode( PDWORD pdwNodeIndex, DWORD dwFeature, DWORD dwOption, PGLOBL pglobl ) ; BOOL BfindOrCreateMatchingNode( IN DWORD dwRootNodeIndex , // first node in chain matching feature OUT PDWORD pdwNodeIndex, // points to node in chain also matching option DWORD dwFeatureID, // DWORD dwOptionID, // may even take on the value DEFAULT_INIT PGLOBL pglobl ) ; BOOL BfindMatchingNode( IN DWORD dwRootNodeIndex , // first node in chain matching feature OUT PDWORD pdwNodeIndex, // points to node in chain also matching option DWORD dwFeatureID, DWORD dwOptionID, // may even take on the value DEFAULT_INIT PGLOBL pglobl ) ; BOOL BallocElementFromMasterTable( MT_INDICIES eMTIndex, // select type of structure desired. PDWORD pdwNodeIndex, PGLOBL pglobl) ; BOOL BreturnElementFromMasterTable( MT_INDICIES eMTIndex, // select type of structure desired. DWORD dwNodeIndex, PGLOBL pglobl) ; BOOL BconvertSymCmdIDtoUnidrvID( IN DWORD dwCommandID , // from RegisterSymbol OUT PDWORD pdwUnidrvID, PGLOBL pglobl ) ; // ---- functions defined in token1.c ---- // BOOL BcreateTokenMap( PWSTR pwstrFileName, PGLOBL pglobl ) ; PARSTATE PARSTscanForKeyword( PDWORD pdwTKMindex, PGLOBL pglobl) ; PARSTATE PARSTparseColon( PDWORD pdwTKMindex, PGLOBL pglobl) ; PARSTATE PARSTparseValue( PDWORD pdwTKMindex, PGLOBL pglobl) ; BOOL BparseKeyword( DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BisExternKeyword( DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BisColonNext( PGLOBL pglobl) ; BOOL BeatArbitraryWhite( PGLOBL pglobl) ; BOOL BeatComment( PGLOBL pglobl) ; BOOL BscanStringSegment( PGLOBL pglobl) ; BOOL BscanDelimitedString( BYTE ubDelimiter, PBOOL pbMacroDetected, PGLOBL pglobl) ; PARSTATE PARSTrestorePrevsFile( PDWORD pdwTKMindex, PGLOBL pglobl) ; PWSTR PwstrAnsiToUnicode( IN PSTR pstrAnsiString , PGLOBL pglobl) ; PARSTATE PARSTloadIncludeFile( PDWORD pdwTKMindex, PWSTR pwstrFileName, // root GPD file PGLOBL pglobl); BOOL BloadFile( PWSTR pwstrFileName, PGLOBL pglobl ) ; BOOL BarchiveStrings( DWORD dwTKMindex, PGLOBL pglobl) ; DWORD DWidentifyKeyword( DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BidentifyAttributeKeyword( PTKMAP ptkmap, // pointer to tokenmap PGLOBL pglobl ) ; BOOL BcopyToTmpHeap( PABSARRAYREF paarDest, PABSARRAYREF paarSrc, PGLOBL pglobl) ; DWORD dwStoreFileName(PWSTR pwstrFileName, PARRAYREF parDest, PGLOBL pglobl) ; VOID vFreeFileNames( PGLOBL pglobl) ; VOID vIdentifySource( PTKMAP ptkmap , PGLOBL pglobl) ; // ---- functions defined in value1.c ---- // BOOL BaddValueToHeap( IN OUT PDWORD ploHeap, // dest offset to value in binary form IN PTKMAP ptkmap, // pointer to tokenmap IN BOOL bOverWrite, // assume ploHeap contains a valid offset // to a reserved region of the heap of the proper size // and write binary value into this location instead of // growing heap. Note: defer overwriting lpHeap // until we are certain of success. IN OUT PGLOBL pglobl ) ; BOOL BparseAndWrite( IN PBYTE pubDest, // write binary data or link to this address. IN PTKMAP ptkmap, // pointer to tokenmap IN BOOL bAddToHeap, // if true, write to curHeap not pubDest OUT PDWORD pdwHeapOffset, // if (bAddToHeap) heap offset where IN OUT PGLOBL pglobl ) ; BOOL BparseInteger( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // dummy IN PGLOBL pglobl ) ; BOOL BparseList( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // location where index to start of list // is saved IN BOOL (*fnBparseValue)(PABSARRAYREF, PDWORD, VALUE, PGLOBL), // callback IN VALUE eAllowedValue, // dummy IN OUT PGLOBL ) ; BOOL BeatLeadingWhiteSpaces( IN OUT PABSARRAYREF paarSrc ) ; BOOL BeatDelimiter( IN OUT PABSARRAYREF paarSrc, IN PBYTE pubDelStr // points to a string which paarSrc must match ) ; BOOL BdelimitToken( IN OUT PABSARRAYREF paarSrc, // source string IN PBYTE pubDelimiters, // array of valid delimiters OUT PABSARRAYREF paarToken, // token defined by delimiter OUT PDWORD pdwDel // which delimiter was first encountered? ) ; BOOL BeatSurroundingWhiteSpaces( IN PABSARRAYREF paarSrc ) ; BOOL BparseSymbol( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // which class of symbol is this? IN PGLOBL pglobl ) ; BOOL BparseQualifiedName ( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // which class of symbol is this? IN PGLOBL pglobl ) ; BOOL BparsePartiallyQualifiedName ( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // which class of symbol is this? IN PGLOBL pglobl ) ; BOOL BparseOptionSymbol( IN PABSARRAYREF paarValue, IN PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // which class of symbol is this? IN PGLOBL pglobl ) ; BOOL BparseConstant( IN OUT PABSARRAYREF paarValue, OUT PDWORD pdwDest, // write dword value here. IN VALUE eAllowedValue, // which class of constant is this? IN PGLOBL pglobl ) ; BOOL BinitClassIndexTable( IN OUT PGLOBL pglobl) ; BOOL BparseRect( IN PABSARRAYREF paarValue, IN PRECT prcDest, PGLOBL pglobl ) ; BOOL BparsePoint( IN PABSARRAYREF paarValue, IN PPOINT pptDest, PGLOBL pglobl ) ; BOOL BparseString( IN PABSARRAYREF paarValue, IN PARRAYREF parStrValue, IN OUT PGLOBL pglobl ) ; BOOL BparseAndTerminateString( IN PABSARRAYREF paarValue, IN PARRAYREF parStrValue, IN VALUE eAllowedValue, IN OUT PGLOBL pglobl ) ; BOOL BwriteUnicodeToHeap( IN PARRAYREF parSrcString, OUT PARRAYREF parUnicodeString, IN INT iCodepage, IN OUT PGLOBL pglobl ) ; BOOL BparseStrSegment( IN PABSARRAYREF paarStrSeg, // source str segment IN PARRAYREF parStrLiteral, // dest for result IN OUT PGLOBL pglobl ) ; BOOL BparseStrLiteral( IN PABSARRAYREF paarStrSeg, // points to literal substring segment. IN PARRAYREF parStrLiteral, // dest for result IN OUT PGLOBL pglobl ) ; BOOL BparseHexStr( IN PABSARRAYREF paarStrSeg, // points to hex substring segment. IN PARRAYREF parStrLiteral, // dest for result IN OUT PGLOBL pglobl ) ; BOOL BparseOrderDep( IN PABSARRAYREF paarValue, IN PORDERDEPENDENCY pordDest, PGLOBL pglobl ) ; // ---- functions defined in macros1.c ---- // BOOL BevaluateMacros( PGLOBL pglobl) ; BOOL BDefineValueMacroName( PTKMAP pNewtkmap, DWORD dwNewTKMindex, PGLOBL pglobl) ; BOOL BResolveValueMacroReference( PTKMAP ptkmap, DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BdelimitName( PABSARRAYREF paarValue, // the remainder of the string without the Name PABSARRAYREF paarToken, // contains the Name PBYTE pubChar ) ; BOOL BCatToTmpHeap( PABSARRAYREF paarDest, PABSARRAYREF paarSrc, PGLOBL pglobl) ; BOOL BResolveBlockMacroReference( PTKMAP ptkmap, DWORD dwMacRefIndex, PGLOBL pglobl) ; BOOL BDefineBlockMacroName( PTKMAP pNewtkmap, DWORD dwNewTKMindex, PGLOBL pglobl) ; BOOL BIncreaseMacroLevel( BOOL bMacroInProgress, PGLOBL pglobl) ; BOOL BDecreaseMacroLevel( PTKMAP pNewtkmap, DWORD dwNewTKMindex, PGLOBL pglobl) ; VOID VEnumBlockMacro( PTKMAP pNewtkmap, PBLOCKMACRODICTENTRY pBlockMacroDictEntry, PGLOBL pglobl ) ; // ---- functions defined in shortcut.c ---- // BOOL BInitKeywordField( PTKMAP pNewtkmap, PGLOBL pglobl) ; BOOL BExpandMemConfig( PTKMAP ptkmap, PTKMAP pNewtkmap, DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BExpandCommand( PTKMAP ptkmap, PTKMAP pNewtkmap, DWORD dwTKMindex, PGLOBL pglobl) ; BOOL BexpandShortcuts( PGLOBL pglobl) ; BOOL BSsyncTokenMap( PTKMAP ptkmap, PTKMAP pNewtkmap , PGLOBL pglobl) ; // ------- end function declarations ------- //