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