1/* //device/libs/telephony/ril_event.h 2** 3** Copyright 2008, The Android Open Source Project 4** 5** 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 8** 9** http://www.apache.org/licenses/LICENSE-2.0 10** 11** 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 15** 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 50// Event loop 51void ril_event_loop(); 52 53