Lines Matching refs:pParms

917  * @param  pParms->CreateFlags   Creation or open parameters, see include/VBox/shflsvc.h
918 * @param pParms->Info When a new file is created this specifies the initial parameters.
921 * @retval pParms->Result Shared folder status code, see include/VBox/shflsvc.h
922 * @retval pParms->Handle On success the (shared folder) handle of the file opened or
924 * @retval pParms->Info On success the parameters of the file opened or created
926 static int vbsfOpenFile(SHFLCLIENTDATA *pClient, const char *pszPath, SHFLCREATEPARMS *pParms)
928 LogFlow(("vbsfOpenFile: pszPath = %s, pParms = %p\n", pszPath, pParms));
929 Log(("SHFL create flags %08x\n", pParms->CreateFlags));
938 int rc = vbsfConvertFileOpenFlags(pParms->CreateFlags, pParms->Info.Attr.fMode, pParms->Handle, &fOpen);
957 pParms->Result = SHFL_FILE_NOT_FOUND;
964 pParms->Result = SHFL_PATH_NOT_FOUND;
979 vbfsCopyFsObjInfoFromIprt(&pParms->Info, &info);
981 pParms->Result = SHFL_FILE_EXISTS;
997 pParms->Result = SHFL_NO_RESULT;
1000 pParms->Result = SHFL_NO_RESULT;
1007 pParms->Result = SHFL_FILE_EXISTS; /* We lost the information as to whether it was
1010 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_EXISTS))
1012 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_EXISTS)))
1017 RTFileSetSize(pHandle->file.Handle, pParms->Info.cbObject);
1018 pParms->Result = SHFL_FILE_REPLACED;
1021 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_EXISTS))
1023 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_NEW)))
1025 pParms->Result = SHFL_FILE_CREATED;
1031 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_EXISTS))
1033 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_NEW)))
1036 &pParms->Info.AccessTime,
1037 &pParms->Info.ModificationTime,
1038 &pParms->Info.ChangeTime,
1039 &pParms->Info.BirthTime
1042 RTFileSetMode (pHandle->file.Handle, pParms->Info.Attr.fMode);
1054 vbfsCopyFsObjInfoFromIprt(&pParms->Info, &info);
1071 pParms->Handle = SHFL_HANDLE_NIL;
1075 pParms->Handle = handle;
1091 * @param pParms->CreateFlags Creation or open parameters, see include/VBox/shflsvc.h
1092 * @retval pParms->Result Shared folder status code, see include/VBox/shflsvc.h
1093 * @retval pParms->Handle On success the (shared folder) handle of the folder opened or
1095 * @retval pParms->Info On success the parameters of the folder opened or created
1100 SHFLCREATEPARMS *pParms)
1102 LogFlow(("vbsfOpenDir: pszPath = %s, pParms = %p\n", pszPath, pParms));
1103 Log(("SHFL create flags %08x\n", pParms->CreateFlags));
1111 pParms->Result = SHFL_FILE_EXISTS; /* May be overwritten with SHFL_FILE_CREATED. */
1118 == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_NEW))
1124 pParms->Result = SHFL_FILE_CREATED;
1131 pParms->Result = SHFL_FILE_EXISTS;
1134 pParms->Result = SHFL_PATH_NOT_FOUND;
1137 pParms->Result = SHFL_NO_RESULT;
1142 || (SHFL_CF_ACT_OPEN_IF_EXISTS == BIT_FLAG(pParms->CreateFlags, SHFL_CF_ACT_MASK_IF_EXISTS)))
1153 vbfsCopyFsObjInfoFromIprt(&pParms->Info, &info);
1161 pParms->Result = SHFL_FILE_NOT_FOUND;
1164 pParms->Result = SHFL_PATH_NOT_FOUND;
1167 pParms->Result = SHFL_FILE_EXISTS;
1170 pParms->Result = SHFL_NO_RESULT;
1187 pParms->Handle = SHFL_HANDLE_NIL;
1191 pParms->Handle = handle;
1240 * @retval pParms->Result Status of the operation (success or error)
1241 * @retval pParms->Info On success, information returned about the file
1243 static int vbsfLookupFile(SHFLCLIENTDATA *pClient, char *pszPath, SHFLCREATEPARMS *pParms)
1258 vbfsCopyFsObjInfoFromIprt(&pParms->Info, &info);
1259 pParms->Result = SHFL_FILE_EXISTS;
1265 pParms->Result = SHFL_FILE_NOT_FOUND;
1272 pParms->Result = SHFL_PATH_NOT_FOUND;
1277 pParms->Handle = SHFL_HANDLE_NIL;
1309 * @param pParms->Info If a new file is created or an old one overwritten, set
1311 * @retval pParms->Result Shared folder result code, see include/VBox/shflsvc.h
1312 * @retval pParms->Handle Shared folder handle to the newly opened file
1313 * @retval pParms->Info Attributes of the file or folder opened
1317 * pParms->Result return value and whether pParms->Handle is valid.
1319 int vbsfCreate(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLSTRING *pPath, uint32_t cbPath, SHFLCREATEPARMS *pParms)
1323 LogFlow(("vbsfCreate: pClient = %p, pPath = %p, cbPath = %d, pParms = %p CreateFlags=%x\n",
1324 pClient, pPath, cbPath, pParms, pParms->CreateFlags));
1340 * pParms->Handle must not be reset here, as it is used
1343 pParms->Result = SHFL_NO_RESULT;
1345 if (BIT_FLAG(pParms->CreateFlags, SHFL_CF_LOOKUP))
1347 rc = vbsfLookupFile(pClient, pszFullPath, pParms);
1367 pParms->CreateFlags |= SHFL_CF_DIRECTORY;
1374 if (BIT_FLAG(pParms->CreateFlags, SHFL_CF_OPEN_TARGET_DIRECTORY))
1377 pParms->CreateFlags &= ~SHFL_CF_ACT_MASK_IF_EXISTS;
1378 pParms->CreateFlags &= ~SHFL_CF_ACT_MASK_IF_NEW;
1379 pParms->CreateFlags |= SHFL_CF_DIRECTORY;
1380 pParms->CreateFlags |= SHFL_CF_ACT_OPEN_IF_EXISTS;
1381 pParms->CreateFlags |= SHFL_CF_ACT_FAIL_IF_NEW;
1393 if ( (pParms->CreateFlags & SHFL_CF_ACT_MASK_IF_EXISTS) == SHFL_CF_ACT_REPLACE_IF_EXISTS
1394 || (pParms->CreateFlags & SHFL_CF_ACT_MASK_IF_EXISTS) == SHFL_CF_ACT_OVERWRITE_IF_EXISTS
1395 || (pParms->CreateFlags & SHFL_CF_ACT_MASK_IF_NEW) == SHFL_CF_ACT_CREATE_IF_NEW
1407 if (BIT_FLAG(pParms->CreateFlags, SHFL_CF_DIRECTORY))
1409 rc = vbsfOpenDir(pClient, pszFullPath, pParms);
1413 rc = vbsfOpenFile(pClient, pszFullPath, pParms);
1418 pParms->Handle = SHFL_HANDLE_NIL;
1426 Log(("vbsfCreate: handle = %RX64 rc = %Rrc result=%x\n", (uint64_t)pParms->Handle, rc, pParms->Result));