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>
*
* $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 <string.h>
#include "contiki-net.h"
#include "cfs/cfs.h"
#include "sys/log.h"
#include "lib/error.h"
#include "net/ethernet-drv.h"
/*-----------------------------------------------------------------------------------*/
#if LOG_CONF_ENABLED
static char *
static char * CC_FASTCALL
ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer)
{
char *ptr = buffer;
@ -61,7 +60,7 @@ ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer)
}
#endif /* LOG_CONF_ENABLED */
/*-----------------------------------------------------------------------------------*/
struct ethernet_config *
struct ethernet_config * CC_FASTCALL
config_read(char *filename)
{
static struct {
@ -73,19 +72,19 @@ config_read(char *filename)
} config;
int file;
file = open(filename, O_RDONLY);
file = cfs_open(filename, CFS_READ);
if(file < 0) {
log_message(filename, ": File not found");
error_exit();
}
if(read(file, &config, sizeof(config)) < sizeof(config)
- sizeof(config.ethernetcfg.name)) {
if(cfs_read(file, &config, sizeof(config)) < sizeof(config)
- sizeof(config.ethernetcfg.name)) {
log_message(filename, ": No config file");
error_exit();
}
close(file);
cfs_close(file);
log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf));
log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf));

View file

@ -30,12 +30,12 @@
*
* 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__
#define __CONFIG_H__
struct ethernet_config *config_read(char *filename);
struct ethernet_config * CC_FASTCALL config_read(char *filename);
#endif /* __CONFIG_H__ */