next up previous contents index
Next: Código-fonte: Exemplo de Utilização Up: Códigos-fonte Previous: Código-fonte: Exemplo de Utilização

Código-fonte: Exemplo de Utilização de Arquivos  


2517:464683 /* * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the License); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an AS IS basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the BananaKernel test implementation. * * The Initial Developer of the Original Code is the BananaKernel Developers * Group. Portions created by BananaKernel are Copyright (C) 2004 * BananaKernel Developers Group. All Rights Reserved. * * Contributor(s): */

#include <oskit/clientos.h> #include <oskit/dev/linux.h> #include <oskit/dev/dev.h> #include <oskit/io/blkio.h> #include ../erros/error.h
#ifdef SIMPLES #include ../simples/fs.h #else #include ../intermediaria/fs.h #endif
int  teste_02FS_funcaoteste_02FS_funcao() { BNNK_arquivo arquivo1 = {0}; BNNK_arquivo arquivo2 = {0}; BNNK_arquivo arquivoA = {0}; BNNK_arquivo arquivoB = {0}; char buf[25]; int ret = 0; int qtd_out = 0;
#ifdef SIMPLES #else #endif
printf(\n\n); #ifdef SIMPLES printf(BNNKTeste_#02FS: Criando arquivo 'teste1.txt', tamanho 1000\r\n); #else printf(BNNKTeste_#02FS: Criando arquivo 'teste1.txt'.\r\n); #endif if (!bnnk_open(teste1.txt, 1000, &arquivo1)) { bnnk_perror(); return -1; } printf(BNNKTeste_#02FS: Escrevendo no arquivo 'teste1.txt'\r\n); printf(BNNKTeste_#02FS: Mensagem escrita: 'teste #02FS - arquivo 1'\r\n); #ifdef SIMPLES ret = bnnk_write(&arquivo1, teste #02FS - arquivo 1\0, 515, &qtd_out); #else ret = bnnk_write(&arquivo1, teste #02FS - arquivo 1\0, 24, &qtd_out); #endif if (!ret) { bnnk_perror(); return -2; } printf(BNNKTeste_#02FS: Fechando arquivo 'teste1.txt'\r\n); bnnk_close(&arquivo1); printf(Pressione qualquer tecla para continuar.\n); getchar();
printf(\n\n); #ifdef SIMPLES printf(BNNKTeste_#02FS: Criando arquivo 'teste2.txt', tamanho 250\r\n); #else printf(BNNKTeste_#02FS: Criando arquivo 'teste2.txt'.\r\n); #endif if (!bnnk_open(teste2.txt, 250, &arquivo2)) { bnnk_perror(); return -3; } printf(BNNKTeste_#02FS: Escrevendo no arquivo 'teste2.txt'\r\n); printf(BNNKTeste_#02FS: Mensagem escrita: 'teste #02FS - arquivo 2'\r\n); #ifdef SIMPLES ret = bnnk_write(&arquivo2, teste #02FS - arquivo 2\0, 25, &qtd_out); #else ret = bnnk_write(&arquivo2, teste #02FS - arquivo 2\0, 24, &qtd_out); #endif if (!ret) { bnnk_perror(); return -4; } printf(BNNKTeste_#02FS: Fechando o arquivo 'teste2.txt'\r\n); bnnk_close(&arquivo2);
printf(\n\n); bnnk_fs_dir();
printf(Pressione qualquer tecla para continuar.\n); getchar();
printf(\n\n); printf(BNNKTeste_#02FS: Abrindo novamente arquivo 'teste1.txt'\r\n); memset(&arquivoA, 0, sizeof(BNNK_arquivo)); ret = bnnk_open(teste1.txt, 50, &arquivoA); if (!ret) { bnnk_perror(); return -5; } printf(BNNKTeste_#02FS: Lendo do arquivo 'teste1.txt'\r\n); ret = bnnk_read(&arquivoA, buf, 25, &qtd_out); if (!ret) { bnnk_perror(); return -6; } printf(BNNKTeste_#02FS: Mensagem lida %s\r\n, buf); printf(BNNKTeste_#02FS: Fechando arquivo 'teste1.txt'\r\n); bnnk_close(&arquivoA);
printf(Pressione qualquer tecla para continuar.\n); getchar();
printf(\n\n); printf(BNNKTeste_#02FS: Abrindo arquivo 'teste2.txt'\r\n); memset(&arquivoB, 0, sizeof(BNNK_arquivo)); ret = bnnk_open(teste2.txt, 234, &arquivoB); if (!ret) { bnnk_perror(); return -7; } printf(BNNKTeste_#02FS: Lendo do arquivo 'teste2.txt'\r\n); ret = bnnk_read(&arquivoB, buf, 25, &qtd_out); if (!ret) { bnnk_perror(); return -8; } printf(BNNKTeste_#02FS: Mensagem lida %s\r\n, buf); printf(BNNKTeste_#02FS: Fechando arquivo 'teste2.txt'\r\n); bnnk_close(&arquivoB);
printf(\r\n); printf(BNNKTeste_#02FS: Fechando o BNNK FS\r\n); bnnk_fs_done();
printf(\n\n); return 0; }
int  teste_02FSteste_02FS() { oskit_clientos_init(); start_blk_devices();
printf(BNNKTeste_#02FS: Iniciando BNNK FS\r\n); bnnk_fs_init(); printf(Pressione qualquer tecla para continuar.\n); getchar();
#ifdef SIMPLES printf(Formatando BNNK FS\r\n); bnnk_fs_format(); #else printf(Listando arquivos no diretorio raiz.\r\n); bnnk_fs_dir(); #endif
printf(Pressione qualquer tecla para continuar.\n); getchar();

/* * devel COMETADO PARA TESTES. ESTA DANDO PAU NA HORA EM QUE EH * CHAMADA. */ //bnnk_fs_done();
return teste_02FS_funcao(); }


next up previous contents index
Next: Código-fonte: Exemplo de Utilização Up: Códigos-fonte Previous: Código-fonte: Exemplo de Utilização
rafael@safecore.net