/*-----------------------------------------------------------------------------------*/ int fs_open(const char *name, struct fs_file *file) { #ifdef FS_STATISTICS #if FS_STATISTICS == 1 u16_t i = 0; #endif /* FS_STATISTICS */ #endif /* FS_STATISTICS */ struct fsdata_file_noconst *f; for (f = (struct fsdata_file_noconst *) FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *) f->next) { if (fs_strcmp(name, f->name) == 0) { file->data = f->data; file->len = f->len; #ifdef FS_STATISTICS #if FS_STATISTICS == 1 ++count[i]; #endif /* FS_STATISTICS */ #endif /* FS_STATISTICS */ return 1; } #ifdef FS_STATISTICS #if FS_STATISTICS == 1 ++i; #endif /* FS_STATISTICS */ #endif /* FS_STATISTICS */ } return 0; }
post_func_t fs_post_func (const char *name) { uchar j; for (j = 0; j < ARRAY_LENGTH(func_dir); j++) { if(fs_strcmp(name, func_dir[j].func_name) == 0) { return func_dir[j].func_ptr; } } return 0; // pnc }
/*-----------------------------------------------------------------------------------*/ int fs_open(const char *name, struct fs_file *file) { uchar j; for (j = 0; j < ARRAY_LENGTH(file_dir); j++) { if(fs_strcmp(name, file_dir[j].name) == 0) { file->dat = file_dir[j].file_ptr; file->len = file_dir[j].len; file->type = file_dir[j].type; return 1; } } return 0; }
u16_t fs_count (char *name) { struct fsdata_file_noconst *f; u16_t i; i = 0; for(f = (struct fsdata_file_noconst *)FS_ROOT; f != NULL; f = (struct fsdata_file_noconst *)f->next) { if(fs_strcmp(name, f->name) == 0) { return count[i]; } ++i; } return 0; }