本文整理匯總了C++中DHD_INFO函數的典型用法代碼示例。如果您正苦於以下問題:C++ DHD_INFO函數的具體用法?C++ DHD_INFO怎麽用?C++ DHD_INFO使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了DHD_INFO函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: wl_android_prealloc
void* wl_android_prealloc(int section, unsigned long size)
{
void *alloc_ptr = NULL;
if (wifi_control_data && wifi_control_data->mem_prealloc) {
alloc_ptr = wifi_control_data->mem_prealloc(section, size);
if (alloc_ptr) {
DHD_INFO(("success alloc section %d\n", section));
if (size != 0L)
bzero(alloc_ptr, size);
return alloc_ptr;
}
}
DHD_ERROR(("can't alloc section %d\n", section));
return NULL;
}
示例2: wl_android_get_link_speed
/**
* Local (static) function definitions
*/
static int wl_android_get_link_speed(struct net_device *net, char *command, int total_len)
{
int link_speed;
int bytes_written;
int error;
error = wldev_get_link_speed(net, &link_speed);
if (error)
return -1;
/* Convert Kbps to Android Mbps */
link_speed = link_speed / 1000;
bytes_written = snprintf(command, total_len, "LinkSpeed %d", link_speed);
DHD_INFO(("%s: command result is %s\n", __FUNCTION__, command));
return bytes_written;
}
示例3: wl_android_set_ssid
static int
wl_android_set_ssid(struct net_device *dev, const char* hapd_ssid)
{
wlc_ssid_t ssid;
s32 ret;
ssid.SSID_len = strlen(hapd_ssid);
bcm_strncpy_s(ssid.SSID, sizeof(ssid.SSID), hapd_ssid, ssid.SSID_len);
DHD_INFO(("%s: HAPD_SSID = %s\n", __FUNCTION__, ssid.SSID));
ret = wldev_ioctl(dev, WLC_SET_SSID, &ssid, sizeof(wlc_ssid_t), true);
if (ret < 0) {
DHD_ERROR(("%s : WLC_SET_SSID Error:%d\n", __FUNCTION__, ret));
}
return 1;
}
示例4: wl_android_set_suspendmode
static int wl_android_set_suspendmode(struct net_device *dev, char *command, int total_len)
{
int ret = 0;
int suspend_flag;
suspend_flag = *(command + strlen(CMD_SETSUSPENDMODE) + 1) - '0';
if (suspend_flag != 0)
suspend_flag = 1;
if (!(ret = net_os_set_suspend(dev, suspend_flag, 0)))
DHD_INFO(("%s: Suspend Mode %d\n", __FUNCTION__, suspend_flag));
else
DHD_ERROR(("%s: failed %d\n",__FUNCTION__,ret));
return ret;
}
示例5: wifi_platform_prealloc
void* wifi_platform_prealloc(wifi_adapter_info_t *adapter, int section, unsigned long size)
{
void *alloc_ptr = NULL;
struct wifi_platform_data *plat_data;
if (!adapter || !adapter->wifi_plat_data)
return NULL;
plat_data = adapter->wifi_plat_data;
if (plat_data->mem_prealloc) {
alloc_ptr = plat_data->mem_prealloc(section, size);
if (alloc_ptr) {
DHD_INFO(("success alloc section %d\n", section));
if (size != 0L)
bzero(alloc_ptr, size);
return alloc_ptr;
}
}
return NULL;
}
示例6: dhd_flow_rings_deinit
/* Deinit Flow Ring specific data structures */
void dhd_flow_rings_deinit(dhd_pub_t *dhdp)
{
uint16 idx;
uint32 flow_ring_table_sz;
uint32 if_flow_lkup_sz;
flow_ring_table_t *flow_ring_table;
DHD_INFO(("dhd_flow_rings_deinit\n"));
if (dhdp->flow_ring_table != NULL) {
ASSERT(dhdp->num_flow_rings > 0);
flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table;
for (idx = 0; idx < dhdp->num_flow_rings; idx++) {
if (flow_ring_table[idx].active) {
dhd_bus_clean_flow_ring(dhdp->bus, idx);
}
ASSERT(flow_queue_empty(&flow_ring_table[idx].queue));
/* Deinit flow ring queue locks before destroying flow ring table */
dhd_os_spin_lock_deinit(dhdp->osh, flow_ring_table[idx].queue.lock);
flow_ring_table[idx].queue.lock = NULL;
}
/* Destruct the flow ring table */
flow_ring_table_sz = dhdp->num_flow_rings * sizeof(flow_ring_table_t);
MFREE(dhdp->osh, dhdp->flow_ring_table, flow_ring_table_sz);
dhdp->flow_ring_table = NULL;
}
/* Destruct the per interface flow lkup table */
if (dhdp->if_flow_lkup != NULL) {
if_flow_lkup_sz = sizeof(if_flow_lkup_t) * DHD_MAX_IFS;
MFREE(dhdp->osh, dhdp->if_flow_lkup, if_flow_lkup_sz);
dhdp->if_flow_lkup = NULL;
}
/* Destruct the flowid allocator */
if (dhdp->flowid_allocator != NULL)
dhdp->flowid_allocator = id16_map_fini(dhdp->osh, dhdp->flowid_allocator);
dhdp->num_flow_rings = 0U;
}
示例7: dhd_hostwakeup_isr
/**
* Schedules a tasklet to run when receiving an interrupt on the
* <code>HOST_WAKE</code> GPIO pin.
* @param irq Not used.
* @param dev_id Not used.
*/
static irqreturn_t
dhd_hostwakeup_isr(int irq, void *dev_id)
{
int gpio = 0;
gpio = gpio_get_value(GPIO_WLAN_HOST_WAKE);
printk(KERN_ERR "[%s] HostWakeup Get GPIO %d: %d\n",
__func__, GPIO_WLAN_HOST_WAKE, gpio);
#if !defined(CONFIG_LGE_BCM432X_PATCH)
set_irq_type(dhd_wifi_sleep->host_wake_irq, gpio ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH);
#endif /* CONFIG_LGE_BCM432X_PATCH */
if (!gpio) {
DHD_INFO(("[WiFi] complete on host-wakeup \n"));
return IRQ_HANDLED;
}
/* schedule a tasklet to handle the change in the host wake line */
return IRQ_HANDLED;
}
示例8: dhd_update_interface_link_status
/* Handle a STA interface link status update */
int
dhd_update_interface_link_status(dhd_pub_t *dhdp, uint8 ifindex, uint8 status)
{
if_flow_lkup_t *if_flow_lkup;
ASSERT(ifindex < DHD_MAX_IFS);
if (ifindex >= DHD_MAX_IFS)
return BCME_BADARG;
if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup;
DHD_INFO(("%s: ifindex %d status %d\n", __FUNCTION__, ifindex, status));
if (if_flow_lkup[ifindex].role == WLC_E_IF_ROLE_STA) {
if (status)
if_flow_lkup[ifindex].status = TRUE;
else
if_flow_lkup[ifindex].status = FALSE;
}
return BCME_OK;
}
示例9: wl_android_get_country_rev
static int wl_android_get_country_rev(
struct net_device *dev, char *command, int total_len)
{
int error;
int bytes_written;
char smbuf[WLC_IOCTL_SMLEN];
wl_country_t cspec;
error = wldev_iovar_getbuf(dev, "country", &cspec, sizeof(cspec), smbuf,
sizeof(smbuf), NULL);
if (error) {
DHD_ERROR(("%s: get country failed code %d\n",
__func__, error));
return -1;
} else {
DHD_INFO(("%s: get country '%s %d'\n", __func__, smbuf, smbuf[WLC_CNTRY_BUF_SZ]));
}
bytes_written = snprintf(command, total_len, "%s %s %d", CMD_COUNTRYREV_GET, smbuf, smbuf[WLC_CNTRY_BUF_SZ]);
return bytes_written;
}
示例10: dhd_flow_rings_delete
/* Delete all Flow rings assocaited with the given Interface */
void
dhd_flow_rings_delete(dhd_pub_t *dhdp, uint8 ifindex)
{
uint32 id;
flow_ring_table_t *flow_ring_table;
DHD_INFO(("%s: ifindex %u\n", __FUNCTION__, ifindex));
ASSERT(ifindex < DHD_MAX_IFS);
if (!dhdp->flow_ring_table)
return;
flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table;
for (id = 0; id < dhdp->num_flow_rings; id++) {
if (flow_ring_table[id].active &&
(flow_ring_table[id].flow_info.ifindex == ifindex)) {
dhd_bus_flow_ring_delete_request(dhdp->bus,
(void *) &flow_ring_table[id]);
}
}
}
示例11: WriteRDWR_Macaddr
int WriteRDWR_Macaddr(struct ether_addr *mac)
{
char* filepath = "/data/.mac.info";
struct file *fp_mac = NULL;
char buf[18] = {0};
mm_segment_t oldfs = {0};
int ret = -1;
if ((g_iMacFlag != MACADDR_COB) && (g_iMacFlag != MACADDR_MOD))
return 0;
sprintf(buf,"%02X:%02X:%02X:%02X:%02X:%02X\n",
mac->octet[0],mac->octet[1],mac->octet[2],
mac->octet[3],mac->octet[4],mac->octet[5]);
fp_mac = filp_open(filepath, O_RDWR | O_CREAT, 0666); // File is always created.
if(IS_ERR(fp_mac)) {
DHD_ERROR(("[WIFI] %s: File open error\n", filepath));
return -1;
}
else {
oldfs = get_fs();
set_fs(get_ds());
if(fp_mac->f_mode & FMODE_WRITE) {
ret = fp_mac->f_op->write(fp_mac, (const char *)buf, sizeof(buf), &fp_mac->f_pos);
if(ret < 0)
DHD_ERROR(("[WIFI] Mac address [%s] Failed to write into File: %s\n", buf, filepath));
else
DHD_INFO(("[WIFI] Mac address [%s] written into File: %s\n", buf, filepath));
}
set_fs(oldfs);
filp_close(fp_mac, NULL);
}
return 0;
}
示例12: pkt_frag_info
pkt_frag_t pkt_frag_info(osl_t *osh, void *p)
{
uint8 *frame;
int length;
uint8 *pt; /* Pointer to type field */
uint16 ethertype;
struct ipv4_hdr *iph; /* IP frame pointer */
int ipl; /* IP frame length */
uint16 iph_frag;
ASSERT(osh && p);
frame = PKTDATA(osh, p);
length = PKTLEN(osh, p);
/* Process Ethernet II or SNAP-encapsulated 802.3 frames */
if (length < ETHER_HDR_LEN) {
DHD_INFO(("%s: short eth frame (%d)\n", __FUNCTION__, length));
return DHD_PKT_FRAG_NONE;
} else if (ntoh16(*(uint16 *)(frame + ETHER_TYPE_OFFSET)) >= ETHER_TYPE_MIN) {
/* Frame is Ethernet II */
pt = frame + ETHER_TYPE_OFFSET;
} else if (length >= ETHER_HDR_LEN + SNAP_HDR_LEN + ETHER_TYPE_LEN &&
!bcmp(llc_snap_hdr, frame + ETHER_HDR_LEN, SNAP_HDR_LEN)) {
pt = frame + ETHER_HDR_LEN + SNAP_HDR_LEN;
} else {
DHD_INFO(("%s: non-SNAP 802.3 frame\n", __FUNCTION__));
return DHD_PKT_FRAG_NONE;
}
ethertype = ntoh16(*(uint16 *)pt);
/* Skip VLAN tag, if any */
if (ethertype == ETHER_TYPE_8021Q) {
pt += VLAN_TAG_LEN;
if (pt + ETHER_TYPE_LEN > frame + length) {
DHD_INFO(("%s: short VLAN frame (%d)\n", __FUNCTION__, length));
return DHD_PKT_FRAG_NONE;
}
ethertype = ntoh16(*(uint16 *)pt);
}
if (ethertype != ETHER_TYPE_IP) {
DHD_INFO(("%s: non-IP frame (ethertype 0x%x, length %d)\n",
__FUNCTION__, ethertype, length));
return DHD_PKT_FRAG_NONE;
}
iph = (struct ipv4_hdr *)(pt + ETHER_TYPE_LEN);
ipl = (uint)(length - (pt + ETHER_TYPE_LEN - frame));
/* We support IPv4 only */
if ((ipl < IPV4_OPTIONS_OFFSET) || (IP_VER(iph) != IP_VER_4)) {
DHD_INFO(("%s: short frame (%d) or non-IPv4\n", __FUNCTION__, ipl));
return DHD_PKT_FRAG_NONE;
}
iph_frag = ntoh16(iph->frag);
if (iph_frag & IPV4_FRAG_DONT) {
return DHD_PKT_FRAG_NONE;
} else if ((iph_frag & IPV4_FRAG_MORE) == 0) {
return DHD_PKT_FRAG_LAST;
} else {
return (iph_frag & IPV4_FRAG_OFFSET_MASK)? DHD_PKT_FRAG_CONT : DHD_PKT_FRAG_FIRST;
}
}
示例13: dhd_write_rdwr_korics_macaddr
int dhd_write_rdwr_korics_macaddr(struct dhd_info *dhd, struct ether_addr *mac)
{
struct file *fp = NULL;
char macbuffer[18] = {0};
mm_segment_t oldfs = {0};
char randommac[3] = {0};
char buf[18] = {0};
char *filepath_efs = MACINFO_EFS;
int is_zeromac = 0;
int ret = 0;
/* MAC address copied from efs/wifi.mac.info */
fp = filp_open(filepath_efs, O_RDONLY, 0);
if (IS_ERR(fp)) {
/* File Doesn't Exist. Create and write mac addr. */
fp = filp_open(filepath_efs, O_RDWR | O_CREAT, 0666);
if (IS_ERR(fp)) {
DHD_ERROR(("[WIFI] %s: File open error\n",
filepath_efs));
return -1;
}
oldfs = get_fs();
set_fs(get_ds());
/* Generating the Random Bytes for
* 3 last octects of the MAC address
*/
get_random_bytes(randommac, 3);
sprintf(macbuffer, "%02X:%02X:%02X:%02X:%02X:%02X\n",
0x60, 0xd0, 0xa9, randommac[0],
randommac[1], randommac[2]);
DHD_ERROR(("[WIFI] The Random Generated MAC ID : %s\n",
macbuffer));
if (fp->f_mode & FMODE_WRITE) {
ret = fp->f_op->write(fp,
(const char *)macbuffer,
sizeof(macbuffer), &fp->f_pos);
if (ret < 0)
DHD_ERROR(("[WIFI] Mac address [%s]"
" Failed to write into File:"
" %s\n", macbuffer, filepath_efs));
else
DHD_ERROR(("[WIFI] Mac address [%s]"
" written into File: %s\n",
macbuffer, filepath_efs));
}
set_fs(oldfs);
} else {
/* Reading the MAC Address from .mac.info file
* (the existed file or just created file)
*/
ret = kernel_read(fp, 0, buf, 18);
/* to prevent abnormal string display when mac address
* is displayed on the screen.
*/
buf[17] = '\0';
/* Remove security log */
/* DHD_ERROR(("Read MAC : [%s] [%d] \r\n", buf,
* strncmp(buf, "00:00:00:00:00:00", 17)));
*/
if ((buf[0] == '\0') ||
(strncmp(buf, "00:00:00:00:00:00", 17) == 0)) {
is_zeromac = 1;
}
}
if (ret)
sscanf(buf, "%02X:%02X:%02X:%02X:%02X:%02X",
(unsigned int *)&(mac->octet[0]),
(unsigned int *)&(mac->octet[1]),
(unsigned int *)&(mac->octet[2]),
(unsigned int *)&(mac->octet[3]),
(unsigned int *)&(mac->octet[4]),
(unsigned int *)&(mac->octet[5]));
else
DHD_INFO(("dhd_bus_start: Reading from the"
" '%s' returns 0 bytes\n", filepath_efs));
if (fp)
filp_close(fp, NULL);
if (!is_zeromac) {
/* Writing Newly generated MAC ID to the Dongle */
if (_dhd_set_mac_address(dhd, 0, mac) == 0)
DHD_INFO(("dhd_bus_start: MACID is overwritten\n"));
else
DHD_ERROR(("dhd_bus_start: _dhd_set_mac_address() "
"failed\n"));
} else {
DHD_ERROR(("dhd_bus_start:Is ZeroMAC BypassWrite.mac.info!\n"));
}
return 0;
}
示例14: dhd_check_rdwr_macaddr
int dhd_check_rdwr_macaddr(struct dhd_info *dhd, dhd_pub_t *dhdp,
struct ether_addr *mac)
{
struct file *fp_mac = NULL;
struct file *fp_nvm = NULL;
char macbuffer[18] = {0};
char randommac[3] = {0};
char buf[18] = {0};
char *filepath_data = MACINFO;
char *filepath_efs = MACINFO_EFS;
#ifdef CONFIG_TARGET_LOCALE_NA
char *nvfilepath = "/data/misc/wifi/.nvmac.info";
#else
char *nvfilepath = "/efs/wifi/.nvmac.info";
#endif
char cur_mac[128] = {0};
char dummy_mac[ETHER_ADDR_LEN] = {0x00, 0x90, 0x4C, 0xC5, 0x12, 0x38};
char cur_macbuffer[18] = {0};
int ret = -1;
g_imac_flag = MACADDR_NONE;
fp_nvm = filp_open(nvfilepath, O_RDONLY, 0);
if (IS_ERR(fp_nvm)) { /* file does not exist */
/* read MAC Address */
strcpy(cur_mac, "cur_etheraddr");
ret = dhd_wl_ioctl_cmd(dhdp, WLC_GET_VAR, cur_mac,
sizeof(cur_mac), 0, 0);
if (ret < 0) {
DHD_ERROR(("Current READ MAC error \r\n"));
memset(cur_mac, 0, ETHER_ADDR_LEN);
return -1;
} else {
DHD_ERROR(("MAC (OTP) : "
"[%02X:%02X:%02X:%02X:%02X:%02X] \r\n",
cur_mac[0], cur_mac[1], cur_mac[2], cur_mac[3],
cur_mac[4], cur_mac[5]));
}
sprintf(cur_macbuffer, "%02X:%02X:%02X:%02X:%02X:%02X\n",
cur_mac[0], cur_mac[1], cur_mac[2],
cur_mac[3], cur_mac[4], cur_mac[5]);
fp_mac = filp_open(filepath_data, O_RDONLY, 0);
if (IS_ERR(fp_mac)) { /* file does not exist */
/* read mac is the dummy mac (00:90:4C:C5:12:38) */
if (memcmp(cur_mac, dummy_mac, ETHER_ADDR_LEN) == 0)
g_imac_flag = MACADDR_MOD_RANDOM;
else if (strncmp(buf, "00:00:00:00:00:00", 17) == 0)
g_imac_flag = MACADDR_MOD_RANDOM;
else
g_imac_flag = MACADDR_MOD;
} else {
int is_zeromac;
ret = kernel_read(fp_mac, 0, buf, 18);
filp_close(fp_mac, NULL);
buf[17] = '\0';
is_zeromac = strncmp(buf, "00:00:00:00:00:00", 17);
DHD_ERROR(("MAC (FILE): [%s] [%d] \r\n",
buf, is_zeromac));
if (is_zeromac == 0) {
DHD_ERROR(("Zero MAC detected."
" Trying Random MAC.\n"));
g_imac_flag = MACADDR_MOD_RANDOM;
} else {
sscanf(buf, "%02X:%02X:%02X:%02X:%02X:%02X",
(unsigned int *)&(mac->octet[0]),
(unsigned int *)&(mac->octet[1]),
(unsigned int *)&(mac->octet[2]),
(unsigned int *)&(mac->octet[3]),
(unsigned int *)&(mac->octet[4]),
(unsigned int *)&(mac->octet[5]));
/* current MAC address is same as previous one */
if (memcmp(cur_mac, mac->octet, ETHER_ADDR_LEN) == 0) {
g_imac_flag = MACADDR_NONE;
} else { /* change MAC address */
if (_dhd_set_mac_address(dhd, 0, mac) == 0) {
DHD_INFO(("%s: MACID is"
" overwritten\n", __FUNCTION__));
g_imac_flag = MACADDR_MOD;
} else {
DHD_ERROR(("%s: "
"_dhd_set_mac_address()"
" failed\n", __FUNCTION__));
g_imac_flag = MACADDR_NONE;
}
}
}
}
fp_mac = filp_open(filepath_efs, O_RDONLY, 0);
if (IS_ERR(fp_mac)) { /* file does not exist */
/* read mac is the dummy mac (00:90:4C:C5:12:38) */
if (memcmp(cur_mac, dummy_mac, ETHER_ADDR_LEN) == 0)
g_imac_flag = MACADDR_MOD_RANDOM;
else if (strncmp(buf, "00:00:00:00:00:00", 17) == 0)
g_imac_flag = MACADDR_MOD_RANDOM;
//.........這裏部分代碼省略.........
示例15: dhd_write_rdwr_macaddr
int dhd_write_rdwr_macaddr(struct ether_addr *mac)
{
char *filepath_data = MACINFO;
char *filepath_efs = MACINFO_EFS;
struct file *fp_mac = NULL;
char buf[18] = {0};
mm_segment_t oldfs = {0};
int ret = -1;
if ((g_imac_flag != MACADDR_COB) && (g_imac_flag != MACADDR_MOD))
return 0;
sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X\n",
mac->octet[0], mac->octet[1], mac->octet[2],
mac->octet[3], mac->octet[4], mac->octet[5]);
/* /efs/wifi/.mac.info will be created */
fp_mac = filp_open(filepath_efs, O_RDWR | O_CREAT, 0666);
if (IS_ERR(fp_mac)) {
DHD_ERROR(("[WIFI] %s: File open error\n", filepath_data));
return -1;
} else {
oldfs = get_fs();
set_fs(get_ds());
if (fp_mac->f_mode & FMODE_WRITE) {
ret = fp_mac->f_op->write(fp_mac, (const char *)buf,
sizeof(buf), &fp_mac->f_pos);
if (ret < 0)
DHD_ERROR(("[WIFI] Mac address [%s] Failed"
" to write into File: %s\n", buf, filepath_data));
else
DHD_INFO(("[WIFI] Mac address [%s] written"
" into File: %s\n", buf, filepath_data));
}
set_fs(oldfs);
filp_close(fp_mac, NULL);
}
/* /data/.mac.info will be created */
fp_mac = filp_open(filepath_data, O_RDWR | O_CREAT, 0666);
if (IS_ERR(fp_mac)) {
DHD_ERROR(("[WIFI] %s: File open error\n", filepath_efs));
return -1;
} else {
oldfs = get_fs();
set_fs(get_ds());
if (fp_mac->f_mode & FMODE_WRITE) {
ret = fp_mac->f_op->write(fp_mac, (const char *)buf,
sizeof(buf), &fp_mac->f_pos);
if (ret < 0)
DHD_ERROR(("[WIFI] Mac address [%s] Failed"
" to write into File: %s\n", buf, filepath_efs));
else
DHD_INFO(("[WIFI] Mac address [%s] written"
" into File: %s\n", buf, filepath_efs));
}
set_fs(oldfs);
filp_close(fp_mac, NULL);
}
return 0;
}