prog2:arquivador_vina [castilho]
Trace: • arquivador_vina
O objetivo deste trabalho é implementar o programa vina1), que consiste de um arquivador básico (archiver), isto é, um programa que salva em sequência uma coleção de arquivos (denominados membros) em um outro arquivo (denominado archive) cuja estrutura permite recuperar os arquivos originais individualmente.
-m target : move o membro indicado na linha de comando para depois do membro target existente em archive. A movimentação deve ocorrer na seção de dados do archive;
O início ou final do archive deve ter um cabeçalho, após/antes (d)o qual os membros são armazenados, conforme ilustrado na figura abaixo.
Todas as informações sobre os membros, necessárias para a manipulação do archive, devem estar armazenadas única e exclusivamente no cabeçalho. A parte restante deve conter apenas os dados dos membros;
Para cada membro, devem ser armazenadas as seguintes informações: nome (sem espaços), UID, permissões, tamanho, data de modificação e sua ordem no arquivo;
A ordem de um membro é dada pela ordem de inserção, e pode ser alterada pela opção -m.
O conteúdo do cabeçalho pode ser manipulado em memória RAM, ou em disco, a critério da equipe.
O conteúdo dos membros do archive deve ser manipulado diretamente em disco, não sendo permitida a alocação de mais de 1.024 bytes de memória para manipulação dos conteúdos dos membros;
Deve-se entregar um pacote de software completo contendo os fontes em linguagem C. O pacote deve ser arquivado e compactado com tar (1) e gzip (1) em um arquivo chamado login.tar.gz ou login1-login2.tar.gz (grupo com 2 membros).
./login/: diretório principal;
./login/src: diretório contendo os arquivos fonte (*.c, *.h)
./login/doc;
./login/LEIAME;
./login/Makefile;
Note que a extração dos arquivos de login.tar.gz deve criar o diretório login1/ contendo todos os arquivos e diretórios acima. Os arquivos fonte também devem estar contidos no sub-diretório src.
autoria do software (nome e RA do(s) autor(es));
O diretório ./login/doc deve conter um arquivo de configuração para a documentação automática, que deve ser gerada a partir dos comentários no código fonte, utilizando o programa doxygen (1). A documentação (arquivos gerados pelo doxygen) também deve ficar neste diretório.