diff options
author | Jeremy Katz <katzj@redhat.com> | 2004-05-28 19:13:52 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2004-05-28 19:13:52 +0000 |
commit | 01c1abd3cc4b424fab4ec598a65a7b835fd32944 (patch) | |
tree | 1a454fd021b68cb37cac5a77442138cbdd3305d8 /isys | |
parent | 5a352613e7929006fa5c8c294abb7f2ec16b9a73 (diff) | |
download | anaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.tar.gz anaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.tar.xz anaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.zip |
add set_managed
Diffstat (limited to 'isys')
-rw-r--r-- | isys/wireless.c | 18 | ||||
-rw-r--r-- | isys/wireless.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/isys/wireless.c b/isys/wireless.c index 231dc5774..becf4c303 100644 --- a/isys/wireless.c +++ b/isys/wireless.c @@ -215,6 +215,24 @@ int set_wep_key(char * ifname, char * key) { return 0; } +enum { MODE_AUTO, MODE_ADHOC, MODE_MANAGED, MODE_MASTER, MODE_REPEATER, + MODE_SECONDARY, MODE_MONITOR }; + +int set_managed(char * ifname) { + int sock = get_socket(); + struct iwreq wreq = get_wreq(ifname); + + wreq.u.mode = MODE_MANAGED; + int rc = ioctl(sock, SIOCSIWMODE, &wreq); + close(sock); + + if (rc < 0) { + fprintf(stderr, "failed to set wep key: %s\n", strerror(errno)); + return -1; + } + + return 0; +} #ifdef STANDALONE int main(int argc, char **argv) { diff --git a/isys/wireless.h b/isys/wireless.h index 99d1fe42f..01396c419 100644 --- a/isys/wireless.h +++ b/isys/wireless.h @@ -5,5 +5,6 @@ int is_wireless_interface(char * ifname); int set_essid(char * ifname, char * essid); char * get_essid(char * ifname); int set_wep_key(char * ifname, char * key); +int set_managed(char * ifname); #endif |