void mountSharedDirs(char * dirsStr,int ro) { int ret; int flags; char **sharedDirSplit = splitStringBy(dirsStr,';',0); int i = 0; //printf("dirs: %s\n",dirsStr); while(sharedDirSplit[i]) { char dirInEnv[1024]; snprintf(dirInEnv, 1024, "%s%s",envDir,sharedDirSplit[i]); printf("dir: %s dirInEnv: %s\n",sharedDirSplit[i],dirInEnv); checkDirectory(dirInEnv); //mount directory flags = MS_BIND; doMount(sharedDirSplit[i], dirInEnv, "none", flags, NULL); if(ro) { flags = MS_REMOUNT|MS_BIND|MS_RDONLY; doMount(sharedDirSplit[i], dirInEnv,"none",flags,NULL); } i++; } }
int Fat::doMount(const char *fsPath, const char *mountPoint, bool ro, bool remount, bool executable, int ownerUid, int ownerGid, int permMask, bool createLost) { return doMount(fsPath, mountPoint, ro, remount, executable, ownerUid, ownerGid, permMask, createLost, false); }