diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:48 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:48 -0800 |
commit | 3bbe5328cd738976443822502e23fb3971c5f87b (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /uevent | |
parent | 1c83481e3c1a4e0df017147fdfa7d856dd3012ed (diff) | |
download | hardware_libhardware_legacy-3bbe5328cd738976443822502e23fb3971c5f87b.zip hardware_libhardware_legacy-3bbe5328cd738976443822502e23fb3971c5f87b.tar.gz hardware_libhardware_legacy-3bbe5328cd738976443822502e23fb3971c5f87b.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'uevent')
-rw-r--r-- | uevent/Android.mk | 7 | ||||
-rw-r--r-- | uevent/uevent.c | 78 | ||||
-rw-r--r-- | uevent/uevent_stub.c | 33 |
3 files changed, 0 insertions, 118 deletions
diff --git a/uevent/Android.mk b/uevent/Android.mk deleted file mode 100644 index 74ccdbc..0000000 --- a/uevent/Android.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2008 The Android Open Source Project - -ifeq ($(TARGET_SIMULATOR),true) -LOCAL_SRC_FILES += uevent/uevent_stub.c -else -LOCAL_SRC_FILES += uevent/uevent.c -endif diff --git a/uevent/uevent.c b/uevent/uevent.c deleted file mode 100644 index d1d4b8e..0000000 --- a/uevent/uevent.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <hardware_legacy/uevent.h> - -#include <string.h> -#include <unistd.h> -#include <poll.h> - -#include <sys/socket.h> -#include <sys/un.h> -#include <linux/netlink.h> - - -static int fd = -1; - -/* Returns 0 on failure, 1 on success */ -int uevent_init() -{ - struct sockaddr_nl addr; - int sz = 64*1024; - int s; - - memset(&addr, 0, sizeof(addr)); - addr.nl_family = AF_NETLINK; - addr.nl_pid = getpid(); - addr.nl_groups = 0xffffffff; - - s = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT); - if(s < 0) - return 0; - - setsockopt(s, SOL_SOCKET, SO_RCVBUFFORCE, &sz, sizeof(sz)); - - if(bind(s, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - close(s); - return 0; - } - - fd = s; - return (fd > 0); -} - -int uevent_next_event(char* buffer, int buffer_length) -{ - while (1) { - struct pollfd fds; - int nr; - - fds.fd = fd; - fds.events = POLLIN; - fds.revents = 0; - nr = poll(&fds, 1, -1); - - if(nr > 0 && fds.revents == POLLIN) { - int count = recv(fd, buffer, buffer_length, 0); - if (count > 0) { - return count; - } - } - } - - // won't get here - return 0; -} diff --git a/uevent/uevent_stub.c b/uevent/uevent_stub.c deleted file mode 100644 index 2f28ab4..0000000 --- a/uevent/uevent_stub.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <hardware_legacy/uevent.h> -#include <unistd.h> - -int uevent_init() -{ - return 1; -} - -int uevent_next_event(char* buffer, int buffer_length) -{ - while (1) { - sleep(10000); - } - - // won't get here - return 0; -} |