Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1144 lines
29 KiB

// 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 ------- //