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