1cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project/*
2cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
3cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project *
4cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * you may not use this file except in compliance with the License.
6cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * You may obtain a copy of the License at
7cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project *
8cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project *
10cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * See the License for the specific language governing permissions and
14cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project * limitations under the License.
15cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project */
16cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project
17cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#ifndef _HARDWARE_UEVENT_H
18cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#define _HARDWARE_UEVENT_H
19cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project
20cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#if __cplusplus
21cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Projectextern "C" {
22cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#endif
23cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project
24cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Projectint uevent_init();
25020418ec646f989ca14f26e3abd8f23208e9cd4dErik Gillingint uevent_get_fd();
26cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Projectint uevent_next_event(char* buffer, int buffer_length);
271cb1728b1870a5e37360f65864a3642d5a37b21cErik Gillingint uevent_add_native_handler(void (*handler)(void *data, const char *msg, int msg_len),
281cb1728b1870a5e37360f65864a3642d5a37b21cErik Gilling                              void *handler_data);
291cb1728b1870a5e37360f65864a3642d5a37b21cErik Gillingint uevent_remove_native_handler(void (*handler)(void *data, const char *msg, int msg_len));
30cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project
31cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#if __cplusplus
32cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project} // extern "C"
33cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#endif
34cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project
35cc490161f6af9e4a6842ee827e4bfc43bc4509d5The Android Open Source Project#endif // _HARDWARE_UEVENT_H
36