コード例 #1
0
ファイル: ext2_mkdir.c プロジェクト: bonachit/ext2_ls
int 
main(int argc, char** argv){

    _init_ext2(argv[1]);
    ext2_mkdir(argv[2]);
    _exit_ext2();

    return 0;
}
コード例 #2
0
void procesarPedidoCreateDir(args_t* args) {

	if (strlen(args->ped->path) > 40) {
		resultado_t* res = malloc(sizeof(resultado_t));
		res->data = NULL;
		res->error = NAME_TOO_LONG;
		//log_debug(logueo, "proceso un pedido de create File");
		enviarRespuestaCreateDir(res, args->client, args->lockeos);
		return;
	}
	inode_t* inode = ext2_get_Inode(args->ped->path, NULL);
	if (inode != NULL) {
		resultado_t* res = malloc(sizeof(resultado_t));
		res->data = NULL;
		res->error = YA_EXISTE;
		enviarRespuestaCreateDir(res, args->client, args->lockeos);
		return;
	}
	resultado_t* res = ext2_mkdir(args);

//	if(res==NULL){
//		res=calloc(1,sizeof(resultado_t));
//		res->data=NULL;
//		res->error=YA_EXISTE;
//	}else
	if (*((uint32_t*) res->data) != 0) {
		res->data = NULL;
		res->error = YA_EXISTE;
	} else {
		res->error = OK;
	}
	enviarRespuestaCreateDir(res, args->client, args->lockeos);
	free(args->ped->path);
	free(args->ped);
	free(args);

}
コード例 #3
0
ファイル: dos.c プロジェクト: qingnia/File-System
int main(int argc, char* argv[])
{
	init();
	start();
	while(1)
	{
		printf("fs_dos>>");
		char input[MAXLENGTH];
		int  i = 0;
		scanf("%s", input);
		char* token = NULL;
		char** args = (char**)malloc(ARGS_LEN * sizeof(char*));
		for(; i < ARGS_LEN; i++)
		{
			args[i] = (char*)malloc(MAX_ARGS_COUNT * sizeof(char));
			memset(args + i, 0, MAX_ARGS_COUNT);
		}
		token = strtok(input, ",");
		i = 0;
		args[i] = token;
		token = strtok(NULL, ".");
		while(token)
		{
			i++;
			token = strtok(token, ",");
			args[i] = token;
			token = strtok(NULL, ".");
		}

		if(!strncmp(args[0], "quit", 4))
			return 0;
		if(!strncmp(args[0], "mkdir", 5))
		{
			printf("%s\n", args[0]);
			if(3 != i)
			{
				printf("error: Argument is wrong!\n");
				continue;
			}
			ext2_mkdir(args[1], atoi(args[2]), atoi(args[3]));
		}
		if(!strncmp(args[0], "ls", 2))
		{
			printf("%8s   %4s   %4s   %6s\n", "name", "type", "leng", "inode");
			ext2_lsdir();
		}
		if(!strncmp(args[0], "cd", 2))
		{
			char	str[10] = { 0 };
			printf("dir name: ");
			scanf("%s", str);
			ext2_cddir(str);
		}
		if(!strncmp(args[0], "rmdir", 5))
		{
			if(1 != i)
			{
				printf("Argument is wrong!\n");
				continue;
			}
			ext2_rmdir(args[1]);
		}
		if(!strncmp(args[0], "create", 6))
		{
			if(3 != i)
			{
				printf("Argument is wrong!\n");
				continue;
			}
			ext2_file_create(args[1], atoi(args[2]), atoi(args[3]));
		}
		if(!strncmp(args[0], "delete", 6))
		{
			if(1 != i)
			{
				printf("Argument is wrong!\n");
				continue;
			}
			ext2_file_delete(args[1]);
		}
		if(!strncmp(args[0], "write", 5))
		{
			if(2 != i)
			{
				printf("Argument is wrong!\n");
				continue;
			}
			ext2_file_write(args[1], args[2], MAXLENGTH);
		}
		if(!strncmp(args[0], "read", 4))
		{
			if(1 != i)
			{
				printf("Argument is wrong!\n");
				continue;
			}
			char buf[MAXLENGTH] = { 0 };
			ext2_file_read(args[1], buf, MAXLENGTH);
		}
		memset(input, 0, strlen(input));
	}
	return 0;
}