1 /* Copyright (c) 2003,2004 Benedikt Meurer <benny@xfce.org> 2 * 3 * Redistribution and use in source and binary forms, with or without 4 * modification, are permitted provided that the following conditions 5 * are met: 6 * 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 */ 24 25 #ifndef __WI_H__ 26 #define __WI_H__ 27 28 #define WI_MAXSTRLEN (512) 29 30 struct wi_device; 31 32 struct wi_stats 33 { 34 char ws_netname[WI_MAXSTRLEN]; /* current SSID */ 35 int ws_quality; /* current signal quality (percent or dBm) */ 36 char ws_qunit[4]; /* % or dBm ? */ 37 int ws_rate; /* current rate (Mbps) */ 38 char ws_vendor[WI_MAXSTRLEN]; /* device vendor name */ 39 }; 40 41 enum 42 { 43 WI_OK = 0, /* everything ok */ 44 WI_NOCARRIER = -1, /* no carrier signal, some of the stats may be invalid */ 45 WI_NOSUCHDEV = -2, /* device is currently not attached */ 46 WI_INVAL = -3, /* invalid parameters given */ 47 }; 48 49 extern struct wi_device* wi_open(const char *); 50 extern void wi_close(struct wi_device *); 51 extern int wi_query(struct wi_device *, struct wi_stats *); 52 extern const char *wi_strerror(int); 53 54 #endif /* !__WI_H__ */ 55