diff options
-rw-r--r-- | lib/libveth/veth.c | 8 | ||||
-rw-r--r-- | lib/libveth/veth.h | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/libveth/veth.c b/lib/libveth/veth.c index 7487308..a8e19ba 100644 --- a/lib/libveth/veth.c +++ b/lib/libveth/veth.c @@ -164,7 +164,7 @@ static int veth_term(net_driver_t *driver) return 0; } -static int veth_receive(char *f_buffer_pc, int f_len_i, net_driver_t *driver) +static int veth_receive(char *f_buffer_pc, unsigned f_len_i, net_driver_t *driver) { int packet = 0; @@ -223,10 +223,14 @@ static int veth_xmit(char *f_buffer_pc, int f_len_i, net_driver_t *driver) return f_len_i; } -net_driver_t *libveth_open(char *mac_addr, int mac_len, char *reg, int reg_len) +net_driver_t *libveth_open(char *mac_addr, unsigned mac_len, char *reg, unsigned reg_len) { net_driver_t *driver; + if (reg_len != sizeof(uint32_t)) { + printf("vio reg must 1 cell long\n"); + return NULL; + } driver = SLOF_alloc_mem(sizeof(*driver)); if (!driver) { printf("Unable to allocate veth driver\n"); diff --git a/lib/libveth/veth.h b/lib/libveth/veth.h index 23af0ea..6a1cb4c 100644 --- a/lib/libveth/veth.h +++ b/lib/libveth/veth.h @@ -16,7 +16,7 @@ #include <stdint.h> #include <netdriver.h> -extern net_driver_t *libveth_open(char *mac_addr, int mac_len, char *reg, int reg_len); +extern net_driver_t *libveth_open(char *mac_addr, unsigned mac_len, char *reg, unsigned reg_len); extern void libveth_close(net_driver_t *driver); extern int libveth_read(char *buf, int len, net_driver_t *driver); extern int libveth_write(char *buf, int len, net_driver_t *driver); |