Lines Matching refs:pszPat

156 static char **              stamR3SplitPattern(const char *pszPat, unsigned *pcExpressions, char **ppszCopy);
157 static int stamR3EnumU(PUVM pUVM, const char *pszPat, bool fUpdateRing0, int (pfnCallback)(PSTAMDESC pDesc, void *pvArg), void *pvArg);
159 static void stamR3Ring0StatsUpdateU(PUVM pUVM, const char *pszPat);
1011 * @param pszPat The name patter to lookup.
1015 static PSTAMDESC stamR3LookupFindPatternDescRange(PSTAMLOOKUP pRoot, PRTLISTANCHOR pList, const char *pszPat,
1023 if ( pszPat[0] == '*' || pszPat[0] == '?'
1024 || pszPat[1] == '*' || pszPat[1] == '?')
1033 while ( *pszPat++ == '/'
1037 const char *pszEnd = strchr(pszPat, '/');
1038 uint32_t cch = pszEnd ? pszEnd - pszPat : (uint32_t)strlen(pszPat);
1042 const char *pszPat1 = (const char *)memchr(pszPat, '*', cch);
1043 const char *pszPat2 = (const char *)memchr(pszPat, '?', cch);
1049 /** @todo narrow the range further if both pszPat1/2 != pszPat. */
1055 PSTAMLOOKUP pChild = stamR3LookupFindChild(pRoot, pszPat, cch, NULL);
1062 pszPat = pszEnd;
1509 * @param pszPat The name pattern.
1511 static int stamR3DeregisterByPattern(PUVM pUVM, const char *pszPat)
1513 Assert(!strchr(pszPat, '|')); /* single pattern! */
1519 PSTAMDESC pCur = stamR3LookupFindPatternDescRange(pUVM->stam.s.pRoot, &pUVM->stam.s.List, pszPat, &pLast);
1526 if (RTStrSimplePatternMatch(pszPat, pCur->pszName))
1550 * @param pszPat The name pattern.
1553 VMMR3DECL(int) STAMR3Deregister(PUVM pUVM, const char *pszPat)
1562 return stamR3DeregisterByPattern(pUVM, pszPat);
1619 * @param pszPat The name matching pattern. See somewhere_where_this_is_described_in_detail.
1623 VMMR3DECL(int) STAMR3Reset(PUVM pUVM, const char *pszPat)
1633 bool fGVMMMatched = !pszPat || !*pszPat;
1644 char **papszExpressions = stamR3SplitPattern(pszPat, &cExpressions, &pszCopy);
1695 stamR3EnumU(pUVM, pszPat, false /* fUpdateRing0 */, stamR3ResetOne, pUVM->pVM);
1788 * @param pszPat The name matching pattern. See somewhere_where_this_is_described_in_detail.
1797 VMMR3DECL(int) STAMR3Snapshot(PUVM pUVM, const char *pszPat, char **ppszSnapshot, size_t *pcchSnapshot, bool fWithDesc)
1814 int rc = stamR3EnumU(pUVM, pszPat, true /* fUpdateRing0 */, stamR3SnapshotOne, &State);
2093 * @param pszPat The name matching pattern. See somewhere_where_this_is_described_in_detail.
2096 VMMR3DECL(int) STAMR3Dump(PUVM pUVM, const char *pszPat)
2106 stamR3EnumU(pUVM, pszPat, true /* fUpdateRing0 */, stamR3PrintOne, &Args);
2133 * @param pszPat The name matching pattern. See somewhere_where_this_is_described_in_detail.
2136 VMMR3DECL(int) STAMR3DumpToReleaseLog(PUVM pUVM, const char *pszPat)
2146 stamR3EnumU(pUVM, pszPat, true /* fUpdateRing0 */, stamR3PrintOne, &Args);
2172 * @param pszPat The name matching pattern. See somewhere_where_this_is_described_in_detail.
2175 VMMR3DECL(int) STAMR3Print(PUVM pUVM, const char *pszPat)
2185 stamR3EnumU(pUVM, pszPat, true /* fUpdateRing0 */, stamR3PrintOne, &Args);
2335 * @param pszPat The pattern to match samples.
2339 VMMR3DECL(int) STAMR3Enum(PUVM pUVM, const char *pszPat, PFNSTAMR3ENUM pfnEnum, void *pvUser)
2349 return stamR3EnumU(pUVM, pszPat, true /* fUpdateRing0 */, stamR3EnumOne, &Args);
2383 * @param pszPat The potential pattern.
2385 static bool stamR3IsPattern(const char *pszPat)
2387 return strchr(pszPat, '*') != NULL
2388 || strchr(pszPat, '?') != NULL;
2406 const char *pszPat = papszExpressions[i];
2407 if (RTStrSimplePatternMatch(pszPat, pszName))
2425 * @param pszPat The pattern to split.
2429 static char **stamR3SplitPattern(const char *pszPat, unsigned *pcExpressions, char **ppszCopy)
2431 Assert(pszPat && *pszPat);
2433 char *pszCopy = RTStrDup(pszPat);
2479 * @param pszPat Pattern.
2486 static int stamR3EnumU(PUVM pUVM, const char *pszPat, bool fUpdateRing0,
2495 if (!pszPat || !*pszPat || !strcmp(pszPat, "*"))
2513 else if (!strchr(pszPat, '|'))
2516 stamR3Ring0StatsUpdateU(pUVM, pszPat);
2520 if (!stamR3IsPattern(pszPat))
2522 pCur = stamR3LookupFindDesc(pUVM->stam.s.pRoot, pszPat);
2529 pCur = stamR3LookupFindPatternDescRange(pUVM->stam.s.pRoot, &pUVM->stam.s.List, pszPat, &pLast);
2534 if (RTStrSimplePatternMatch(pszPat, pCur->pszName))
2553 if (RTStrSimplePatternMatch(pszPat, pCur->pszName))
2574 char **papszExpressions = stamR3SplitPattern(pszPat, &cExpressions, &pszCopy);
2631 * @param pszPat The pattern.
2633 static void stamR3Ring0StatsUpdateU(PUVM pUVM, const char *pszPat)
2635 stamR3Ring0StatsUpdateMultiU(pUVM, &pszPat, 1);
2646 * @param pszPat The pattern (for knowing when to skip).