blob: 64d439d660c8da87905b88bdd373eb8a507fc380 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001#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
9struct Apple80211;
10typedef struct Apple80211 *Apple80211Ref;
11
12int Apple80211Open(Apple80211Ref *ctx);
13int Apple80211Close(Apple80211Ref ctx);
14int Apple80211GetIfListCopy(Apple80211Ref handle, CFArrayRef *list);
15int Apple80211BindToInterface(Apple80211Ref handle,
16 CFStringRef interface);
17int Apple80211GetInterfaceNameCopy(Apple80211Ref handle,
18 CFStringRef *name);
19int Apple80211GetInfoCopy(Apple80211Ref handle,
20 CFDictionaryRef *info);
21int Apple80211GetPower(Apple80211Ref handle, char *pwr);
22int 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() */
26int Apple80211Scan(Apple80211Ref handle, CFArrayRef *list,
27 CFDictionaryRef parameters);
28
29int Apple80211Associate(Apple80211Ref handle, CFDictionaryRef bss,
30 CFStringRef password);
31int Apple80211AssociateAndCopyInfo(Apple80211Ref handle, CFDictionaryRef bss,
32 CFStringRef password,
33 CFDictionaryRef *info);
34
35enum {
36 APPLE80211_VALUE_SSID = 1,
37 APPLE80211_VALUE_BSSID = 9
38};
39
40int Apple80211CopyValue(Apple80211Ref handle, int field, CFDictionaryRef arg2,
41 void *value);
42
43#endif /* MOBILEAPPLE80211_H */