summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2004-05-28 19:13:52 +0000
committerJeremy Katz <katzj@redhat.com>2004-05-28 19:13:52 +0000
commit01c1abd3cc4b424fab4ec598a65a7b835fd32944 (patch)
tree1a454fd021b68cb37cac5a77442138cbdd3305d8
parent5a352613e7929006fa5c8c294abb7f2ec16b9a73 (diff)
downloadanaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.tar.gz
anaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.tar.xz
anaconda-01c1abd3cc4b424fab4ec598a65a7b835fd32944.zip
add set_managed
-rw-r--r--isys/wireless.c18
-rw-r--r--isys/wireless.h1
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