16dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/*
2ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt * Command structure for dhd command line utility, copied from wl utility
36dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt *
438eaaf5a34502fe465cf8b6ac7a2dfcafa17ba41Dmitry Shmidt * Copyright (C) 1999-2013, Broadcom Corporation
5ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry 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 *
18ac2bc7e7aaad957f235992ff74d5f9af34dc5f88Dmitry Shmidt * $Id: dhdu_cmd.h 241182 2011-02-17 21:50:03Z $
196dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt */
206dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
216dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#ifndef _dhdu_cmd_h_
226dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define _dhdu_cmd_h_
236dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
246dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidttypedef struct cmd cmd_t;
256dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidttypedef int (cmd_func_t)(void *dhd, cmd_t *cmd, char **argv);
266dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
276dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* generic command line argument handler */
286dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtstruct cmd {
296dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt	char *name;
306dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt	cmd_func_t *func;
316dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt	int get;
326dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt	int set;
336dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt	char *help;
346dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt};
356dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
366dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* list of command line arguments */
376dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern cmd_t dhd_cmds[];
386dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern cmd_t dhd_varcmd;
396dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
406dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* Special set cmds to do download via dev node interface if present */
416dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define	DHD_DLDN_ST		0x400
426dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define	DHD_DLDN_WRITE		(DHD_DLDN_ST + 1)
436dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#define	DHD_DLDN_END		(DHD_DLDN_ST + 2)
446dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
456dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt/* per-port ioctl handlers */
466dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern int dhd_get(void *dhd, int cmd, void *buf, int len);
476dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidtextern int dhd_set(void *dhd, int cmd, void *buf, int len);
486dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt
496dbcf2181152a81ab5f3bc5fa765288341a1b7abDmitry Shmidt#endif /* _dhdu_cmd_h_ */
50