Use cfs filesystem to allow for specific implementations (and make use of fastcall).

This commit is contained in:
oliverschmidt 2007-12-21 01:04:29 +00:00
parent ae4978e994
commit e4086d8374
2 changed files with 10 additions and 11 deletions

View file

@ -30,22 +30,21 @@
* *
* Author: Oliver Schmidt <ol.sc@web.de> * Author: Oliver Schmidt <ol.sc@web.de>
* *
* $Id: config.c,v 1.4 2007/12/20 20:49:59 oliverschmidt Exp $ * $Id: config.c,v 1.5 2007/12/21 01:04:29 oliverschmidt Exp $
*/ */
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "contiki-net.h" #include "contiki-net.h"
#include "cfs/cfs.h"
#include "sys/log.h" #include "sys/log.h"
#include "lib/error.h" #include "lib/error.h"
#include "net/ethernet-drv.h" #include "net/ethernet-drv.h"
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
#if LOG_CONF_ENABLED #if LOG_CONF_ENABLED
static char * static char * CC_FASTCALL
ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer) ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer)
{ {
char *ptr = buffer; char *ptr = buffer;
@ -61,7 +60,7 @@ ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer)
} }
#endif /* LOG_CONF_ENABLED */ #endif /* LOG_CONF_ENABLED */
/*-----------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------*/
struct ethernet_config * struct ethernet_config * CC_FASTCALL
config_read(char *filename) config_read(char *filename)
{ {
static struct { static struct {
@ -73,19 +72,19 @@ config_read(char *filename)
} config; } config;
int file; int file;
file = open(filename, O_RDONLY); file = cfs_open(filename, CFS_READ);
if(file < 0) { if(file < 0) {
log_message(filename, ": File not found"); log_message(filename, ": File not found");
error_exit(); error_exit();
} }
if(read(file, &config, sizeof(config)) < sizeof(config) if(cfs_read(file, &config, sizeof(config)) < sizeof(config)
- sizeof(config.ethernetcfg.name)) { - sizeof(config.ethernetcfg.name)) {
log_message(filename, ": No config file"); log_message(filename, ": No config file");
error_exit(); error_exit();
} }
close(file); cfs_close(file);
log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf)); log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf));
log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf)); log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf));

View file

@ -30,12 +30,12 @@
* *
* Author: Oliver Schmidt <ol.sc@web.de> * Author: Oliver Schmidt <ol.sc@web.de>
* *
* $Id: config.h,v 1.1 2007/11/27 21:42:02 oliverschmidt Exp $ * $Id: config.h,v 1.2 2007/12/21 01:04:29 oliverschmidt Exp $
*/ */
#ifndef __CONFIG_H__ #ifndef __CONFIG_H__
#define __CONFIG_H__ #define __CONFIG_H__
struct ethernet_config *config_read(char *filename); struct ethernet_config * CC_FASTCALL config_read(char *filename);
#endif /* __CONFIG_H__ */ #endif /* __CONFIG_H__ */