blob: 365a183cfdfe12bebccd159f8db06e0b6fed6afd [file] [log] [blame]
// Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#if !defined(IO_H_20080709)
#define IO_H_20080709
#include "global.h"
#include "wm_ioctl.h"
#define IO_TIMEOUT_SEC 10
#define MAX_DNS_SERVERS 2
#define MAX_NET_STR_LEN 256
typedef struct dns_info_s {
char dns_svr[MAX_DNS_SERVERS][MAX_NET_STR_LEN];
char domain[MAX_NET_STR_LEN];
} dns_info_t;
typedef struct dhcp_info_s {
char ip[MAX_NET_STR_LEN];
char netmask[MAX_NET_STR_LEN];
} dhcp_info_t;
int io_send(int dev_idx, void *buf, int len);
int net_updown(int dev_idx, bool up);
unsigned int net_get_dns_info_mtime(void);
int net_get_dns_info(dns_info_t *dns_info);
int net_get_dhcp_info(int dev_idx, dhcp_info_t *dhcp_info);
int net_ioctl(int dev_idx, wm_req_t *wmr, int cmd);
int net_ioctl_data(int dev_idx, bool get, u16 data_id, void *buf, int size);
#define net_ioctl_get_data(dev_idx, data_id, buf, size) \
net_ioctl_data(dev_idx, TRUE, data_id, buf, size)
#define net_ioctl_set_data(dev_idx, data_id, buf, size) \
net_ioctl_data(dev_idx, FALSE, data_id, buf, size)
int io_receiver_create(int dev_idx);
int io_receiver_delete(int dev_idx);
#endif