16dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* 2ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt * Linux port of dhd command line utility, hacked from wl utility. 36dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * 438eaaf5a34502fe465cf8b6ac7a2dfcafa17ba41Dmitry Shmidt * Copyright (C) 1999-2013, Broadcom Corporation 56dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * 66dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * Permission to use, copy, modify, and/or distribute this software for any 76dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * purpose with or without fee is hereby granted, provided that the above 86dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * copyright notice and this permission notice appear in all copies. 96dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * 106dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 116dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 126dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 136dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 146dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 156dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 166dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 176dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt * 1838eaaf5a34502fe465cf8b6ac7a2dfcafa17ba41Dmitry Shmidt * $Id: dhdu_common.h 379386 2013-01-17 07:20:55Z $ 196dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt */ 206dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 216dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* Common header file for dhdu_linux.c and dhdu_ndis.c */ 226dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 236dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#ifndef _dhdu_common_h 246dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define _dhdu_common_h 256dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 26ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#if !defined(RWL_WIFI) && !defined(RWL_SOCKET) && !defined(RWL_SERIAL) 27ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 28ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define NO_REMOTE 0 29ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define REMOTE_SERIAL 1 30ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define REMOTE_SOCKET 2 31ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define REMOTE_WIFI 3 32ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define REMOTE_DONGLE 4 33ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 34ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt/* For cross OS support */ 35ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define LINUX_OS 1 36ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define WIN32_OS 2 37ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define MAC_OSX 3 38ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define BACKLOG 4 39ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define WINVISTA_OS 5 40ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define INDONGLE 6 41ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 42ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define RWL_WIFI_ACTION_CMD "wifiaction" 43ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define RWL_WIFI_GET_ACTION_CMD "rwlwifivsaction" 44ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define RWL_DONGLE_SET_CMD "dongleset" 45ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 46ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define SUCCESS 1 47ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define FAIL -1 48ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define NO_PACKET -2 49ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 50ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt/* Added for debug utility support */ 51ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define ERR stderr 52ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define OUTPUT stdout 53ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DEBUG_ERR 0x0001 54ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DEBUG_INFO 0x0002 55ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DEBUG_DBG 0x0004 56ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 57ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DPRINT_ERR if (defined_debug & DEBUG_ERR) \ 58ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt fprintf 59ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DPRINT_INFO if (defined_debug & DEBUG_INFO) \ 60ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt fprintf 61ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#define DPRINT_DBG if (defined_debug & DEBUG_DBG) \ 62ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt fprintf 63ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 64ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtextern int wl_get(void *wl, int cmd, void *buf, int len); 65ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtextern int wl_set(void *wl, int cmd, void *buf, int len); 66ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt#endif 67ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 686dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* DHD utility function declarations */ 696dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern int dhd_check(void *dhd); 706dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern int dhd_atoip(const char *a, struct ipv4_addr *n); 716dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern int dhd_option(char ***pargv, char **pifname, int *phelp); 726dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtvoid dhd_usage(cmd_t *port_cmds); 736dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 74ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt/* Remote DHD declarations */ 75ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtint remote_type = NO_REMOTE; 76ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtextern char *g_rwl_buf_mac; 77ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtextern char* g_rwl_device_name_serial; 78ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtunsigned short g_rwl_servport; 79ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtchar *g_rwl_servIP = NULL; 80ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtunsigned short defined_debug = DEBUG_ERR | DEBUG_INFO; 816dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 826dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 83ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidtstatic int process_args(struct ifreq* ifr, char **argv); 84ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt 856dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define dtoh32(i) i 866dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define dtoh16(i) i 876dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt 886dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#endif /* _dhdu_common_h_ */ 89