Lines Matching defs:pSpec

143     PRTVFSCHAINSPEC pSpec = (PRTVFSCHAINSPEC)RTMemTmpAlloc(sizeof(*pSpec));
144 if (pSpec)
146 pSpec->iActionElement = UINT32_MAX;
147 pSpec->cElements = 0;
148 pSpec->paElements = NULL;
150 return pSpec;
211 * @param pSpec The chain specification.
215 static PRTVFSCHAINELEMSPEC rtVfsChainSpecAddElement(PRTVFSCHAINSPEC pSpec, int *prc)
217 AssertPtr(pSpec);
222 uint32_t const iElement = pSpec->cElements;
232 memcpy(paNew, pSpec->paElements, iElement * sizeof(paNew[0]));
233 RTMemTmpFree(pSpec->paElements);
234 pSpec->paElements = paNew;
240 PRTVFSCHAINELEMSPEC pElement = &pSpec->paElements[iElement];
242 pElement->enmTypeIn = iElement ? pSpec->paElements[iElement - 1].enmTypeOut : RTVFSOBJTYPE_INVALID;
248 pSpec->cElements = iElement + 1;
283 RTDECL(void) RTVfsChainSpecFree(PRTVFSCHAINSPEC pSpec)
285 if (!pSpec)
288 uint32_t i = pSpec->cElements;
291 uint32_t iArg = pSpec->paElements[i].cArgs;
293 RTMemTmpFree(pSpec->paElements[i].papszArgs[iArg]);
294 RTMemTmpFree(pSpec->paElements[i].papszArgs);
295 RTMemTmpFree(pSpec->paElements[i].pszProvider);
298 RTMemTmpFree(pSpec->paElements);
299 pSpec->paElements = NULL;
300 RTMemTmpFree(pSpec);
375 PRTVFSCHAINSPEC pSpec = rtVfsChainSpecAlloc();
376 if (!pSpec)
408 if (pSpec->iActionElement != UINT32_MAX)
413 pSpec->iActionElement = pSpec->cElements;
416 else if (pSpec->cElements > 0)
423 if ( pSpec->cElements == 0
434 PRTVFSCHAINELEMSPEC pElement = rtVfsChainSpecAddElement(pSpec, &rc);
510 *ppSpec = pSpec;
515 RTVfsChainSpecFree(pSpec);
594 PRTVFSCHAINSPEC pSpec;
600 &pSpec,
606 RTVfsChainSpecFree(pSpec);
645 PRTVFSCHAINSPEC pSpec;
651 &pSpec,
658 RTVfsChainSpecFree(pSpec);