Use cfs filesystem to allow for specific implementations (and make use of fastcall).
This commit is contained in:
parent
ae4978e994
commit
e4086d8374
2 changed files with 10 additions and 11 deletions
|
@ -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));
|
||||||
|
|
|
@ -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__ */
|
||||||
|
|
Loading…
Reference in a new issue