apps/streamer/event.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include "event.h"

Include dependency graph for event.c:

Go to the source code of this file.

Functions

int time_diff (time_ref *tr_start, time_ref *tr_end)
int time_ago (time_ref *tr)
void time_now (time_ref *tr)
void time_add (time_ref *tr, int msec)
void time_future (time_ref *tr, int msec)
static struct eventnew_event (callback f, void *d)
static void strip_events (struct event **list)
eventadd_timer_event (int msec, unsigned int flags, callback f, void *d)
eventadd_alarm_event (time_ref *t, unsigned int flags, callback f, void *d)
void resched_event (struct event *e, time_ref *tr)
eventadd_fd_event (int fd, int write, unsigned int flags, callback f, void *d)
eventadd_always_event (unsigned int flags, callback f, void *d)
void remove_event (struct event *e)
void set_event_interval (struct event *e, int msec)
void set_event_enabled (struct event *e, int enabled)
int get_event_enabled (struct event *e)
void exit_event_loop (void)
void event_loop (int single)

Variables

static struct eventtime_event_list = NULL
static struct eventfd_event_list = NULL
static struct eventalways_event_list = NULL
static int end_loop = 0


Function Documentation

struct event* add_alarm_event ( time_ref t,
unsigned int  flags,
callback  f,
void *  d 
)

Definition at line 108 of file event.c.

References e, EVENT_F_ONESHOT, EVENT_TIME, new_event(), resched_event(), and time_event_list.

struct event* add_always_event ( unsigned int  flags,
callback  f,
void *  d 
)

Definition at line 150 of file event.c.

References always_event_list, e, EVENT_ALWAYS, EVENT_F_ENABLED, and new_event().

struct event* add_fd_event ( int  fd,
int  write,
unsigned int  flags,
callback  f,
void *  d 
)

Definition at line 135 of file event.c.

References e, EVENT_F_ENABLED, EVENT_FD, fd_event_list, and new_event().

Referenced by do_accept(), and rtsp_listen().

struct event* add_timer_event ( int  msec,
unsigned int  flags,
callback  f,
void *  d 
)

Definition at line 92 of file event.c.

References e, EVENT_TIME, new_event(), resched_event(), time_event_list, and time_now().

void event_loop ( int  single  ) 

Definition at line 191 of file event.c.

References always_event_list, e, end_loop, EVENT_F_ENABLED, EVENT_F_RUNNING, time_ago(), and time_event_list.

Referenced by rtsp_loop().

void exit_event_loop ( void   ) 

Definition at line 186 of file event.c.

References end_loop.

int get_event_enabled ( struct event e  ) 

Definition at line 181 of file event.c.

References e, and EVENT_F_ENABLED.

static struct event* new_event ( callback  f,
void *  d 
) [static]

Definition at line 62 of file event.c.

References e, and malloc().

Referenced by add_alarm_event(), add_always_event(), add_fd_event(), and add_timer_event().

void remove_event ( struct event e  ) 

Definition at line 163 of file event.c.

References e, EVENT_F_REMOVE, and EVENT_F_RUNNING.

Referenced by drop_conn().

void resched_event ( struct event e,
time_ref tr 
)

Definition at line 122 of file event.c.

References e, EVENT_F_ENABLED, EVENT_F_REMOVE, time_add(), and time_future().

Referenced by add_alarm_event(), add_timer_event(), and set_event_interval().

void set_event_enabled ( struct event e,
int  enabled 
)

Definition at line 175 of file event.c.

References e, and EVENT_F_ENABLED.

Referenced by conn_write(), do_accept(), and send_data().

void set_event_interval ( struct event e,
int  msec 
)

Definition at line 169 of file event.c.

References e, EVENT_F_ENABLED, and resched_event().

static void strip_events ( struct event **  list  )  [static]

Definition at line 76 of file event.c.

References e, EVENT_F_REMOVE, and n.

void time_add ( time_ref tr,
int  msec 
)

Definition at line 50 of file event.c.

Referenced by resched_event(), and time_future().

int time_ago ( time_ref tr  ) 

Definition at line 37 of file event.c.

References time_diff().

Referenced by event_loop().

int time_diff ( time_ref tr_start,
time_ref tr_end 
)

Definition at line 31 of file event.c.

Referenced by time_ago().

void time_future ( time_ref tr,
int  msec 
)

Definition at line 56 of file event.c.

References time_add().

Referenced by resched_event().

void time_now ( time_ref tr  ) 

Definition at line 45 of file event.c.

Referenced by add_timer_event().


Variable Documentation

struct event* always_event_list = NULL [static]

Definition at line 28 of file event.c.

Referenced by add_always_event(), and event_loop().

int end_loop = 0 [static]

Definition at line 29 of file event.c.

Referenced by event_loop(), and exit_event_loop().

struct event* fd_event_list = NULL [static]

Definition at line 27 of file event.c.

Referenced by add_fd_event().

struct event* time_event_list = NULL [static]

Definition at line 26 of file event.c.

Referenced by add_alarm_event(), add_timer_event(), and event_loop().


Generated on Fri Nov 28 00:07:24 2008 for elphel by  doxygen 1.5.1