/*************************************************************** ** ** Broadcom Corp. Confidential ** Copyright 1998-2000 Broadcom Corp. All Rights Reserved. ** ** THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED ** SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM. ** YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT ** SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. ** ** File: fstore.c ** Description: Flash storage manager ** ****************************************************************/ /* include files */ #include #include "bapp_store.h" #include "bapp_util.h" static char* s_data = NULL; bresult fstore_init(fstore_t *p_fs) { return b_ok; } bresult fstore_update(fstore_t *p_fs, fstore_data_type_t type, void *data, unsigned int length) { FILE* fstore_file = fopen("fstore.dat","wb+"); if (!fstore_file) { return berr_invalid_parameter; } fwrite(data,1,length,fstore_file); fclose(fstore_file); return b_ok; } bresult fstore_get(fstore_t *p_fs, fstore_data_type_t type, void **data, unsigned int *length) { long f_len; FILE* fstore_file = fopen("fstore.dat","wb+"); if (!fstore_file) { return berr_invalid_parameter; } fseek(fstore_file,0,SEEK_END); f_len = ftell(fstore_file); fseek(fstore_file,0,SEEK_SET); if (f_len != *length) { if (s_data) { bapp_util_free(s_data); } fclose(fstore_file); return berr_invalid_parameter; } if (!s_data) { s_data = (char*)bapp_util_malloc(f_len); } *data = s_data; fread(s_data,1,f_len,fstore_file); fclose(fstore_file); return b_ok; }