Home | History | Annotate | Download | only in drivers
      1 #ifndef MOBILEAPPLE80211_H
      2 #define MOBILEAPPLE80211_H
      3 
      4 /*
      5  * MobileApple80211 interface for iPhone/iPod touch
      6  * These functions are available from Aeropuerto.
      7  */
      8 
      9 struct Apple80211;
     10 typedef struct Apple80211 *Apple80211Ref;
     11 
     12 int Apple80211Open(Apple80211Ref *ctx);
     13 int Apple80211Close(Apple80211Ref ctx);
     14 int Apple80211GetIfListCopy(Apple80211Ref handle, CFArrayRef *list);
     15 int Apple80211BindToInterface(Apple80211Ref handle,
     16 			      CFStringRef interface);
     17 int Apple80211GetInterfaceNameCopy(Apple80211Ref handle,
     18 				   CFStringRef *name);
     19 int Apple80211GetInfoCopy(Apple80211Ref handle,
     20 			  CFDictionaryRef *info);
     21 int Apple80211GetPower(Apple80211Ref handle, char *pwr);
     22 int Apple80211SetPower(Apple80211Ref handle, char pwr);
     23 
     24 /* parameters can be NULL; returns scan results in CFArrayRef *list;
     25  * caller will need to free with CFRelease() */
     26 int Apple80211Scan(Apple80211Ref handle, CFArrayRef *list,
     27 		   CFDictionaryRef parameters);
     28 
     29 int Apple80211Associate(Apple80211Ref handle, CFDictionaryRef bss,
     30 			CFStringRef password);
     31 int Apple80211AssociateAndCopyInfo(Apple80211Ref handle, CFDictionaryRef bss,
     32 				   CFStringRef password,
     33 				   CFDictionaryRef *info);
     34 
     35 enum {
     36 	APPLE80211_VALUE_SSID = 1,
     37 	APPLE80211_VALUE_BSSID = 9
     38 };
     39 
     40 int Apple80211CopyValue(Apple80211Ref handle, int field, CFDictionaryRef arg2,
     41 			void *value);
     42 
     43 #endif /* MOBILEAPPLE80211_H */
     44