0,0 → 1,83 |
/** @addtogroup FSDemo |
* @{ |
*/ |
|
/** |
* @file cat.c |
* @brief A file system demonstration task |
*/ |
|
|
#include <err.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <string.h> |
#include <unistd.h> |
#include <async.h> |
#include "../console/console.h" |
#include <io/file.h> |
#include <io/stat.h> |
|
int main(int argc, char *argv[]) |
{ |
|
file_t * file; |
unsigned int dir_items_length; |
dir_item_t* dir_items; |
char buffer[256]; |
int retval; |
|
printf("Cat task\n"); |
|
/* File list in working directory. */ |
/* printf("File list:\n"); |
dir_items = ls(&dir_items_length); |
printf("Got a list\n"); |
|
int entry; |
for (entry = 0; entry < dir_items_length; entry++) { |
printf("Inode number: %u\t\t", dir_items[entry].inode_num); |
printf("File name: %s\n", dir_items[entry].name); |
|
} |
*/ |
/* We want to change working directory */ |
retval = chdir("uspace/fs"); |
|
/* We want to work with specified file. */ |
/* file = fopen("fs.c", F_MODE_READ); |
retval = fstat( file ); |
|
printf("Info about file: %s\n", file->base_info.name); |
printf("Inode number: %d\n", file->stat.st_ino); |
printf("Mode: %d\n", file->stat.st_mode); |
printf("Links: %d\n", file->stat.st_nlink); |
printf("Size: %d\n", file->stat.st_size); |
|
retval = fseek( file, 100, 1); |
retval = fread( file, buffer, 100); |
buffer[100]=0; |
|
printf("%d bytes was read into buffer\n", retval); |
printf("\nContent of the buffer:\n"); |
printf(buffer); |
printf("\n\n"); |
|
retval = fseek( file, 0, 0); |
retval = fread( file, buffer, 50); |
buffer[50]=0; |
|
printf("%d bytes was read into buffer\n", retval); |
printf("\nContent of the buffer:\n"); |
printf(buffer); |
printf("\n\n"); |
*/ |
/* close the file */ |
// retval = fclose( file ); |
|
// return 0; |
} |
|
/** |
* } |
*/ |