예제 #1
0
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++;
    }


}
예제 #2
0
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);
}