blob: 7ba231b76eaaadaf0fe9ba85e5dd68f7e5ad2679 [file] [log] [blame]
The Android Open Source Project00f06fc2009-03-03 19:32:15 -08001/* //device/libs/telephony/ril_event.h
2**
3** Copyright 2008, The Android Open Source Project
4**
Wink Saville7f856802009-06-09 10:23:37 -07005** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
The Android Open Source Project00f06fc2009-03-03 19:32:15 -08008**
Wink Saville7f856802009-06-09 10:23:37 -07009** http://www.apache.org/licenses/LICENSE-2.0
The Android Open Source Project00f06fc2009-03-03 19:32:15 -080010**
Wink Saville7f856802009-06-09 10:23:37 -070011** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
The Android Open Source Project00f06fc2009-03-03 19:32:15 -080015** limitations under the License.
16*/
17
18// Max number of fd's we watch at any one time. Increase if necessary.
19#define MAX_FD_EVENTS 8
20
21typedef void (*ril_event_cb)(int fd, short events, void *userdata);
22
23struct ril_event {
24 struct ril_event *next;
25 struct ril_event *prev;
26
27 int fd;
28 int index;
29 bool persist;
30 struct timeval timeout;
31 ril_event_cb func;
32 void *param;
33};
34
35// Initialize internal data structs
36void ril_event_init();
37
38// Initialize an event
39void ril_event_set(struct ril_event * ev, int fd, bool persist, ril_event_cb func, void * param);
40
41// Add event to watch list
42void ril_event_add(struct ril_event * ev);
43
44// Add timer event
45void ril_timer_add(struct ril_event * ev, struct timeval * tv);
46
47// Remove event from watch list
48void ril_event_del(struct ril_event * ev);
49
The Android Open Source Project00f06fc2009-03-03 19:32:15 -080050// Event loop
51void ril_event_loop();
52