Android-cuttlefish cvd tool
Classes | Macros | Typedefs | Functions
fdevent.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <atomic>
#include <chrono>
#include <deque>
#include <functional>
#include <map>
#include <mutex>
#include <optional>
#include <set>
#include <variant>
#include <android-base/thread_annotations.h>
#include "adb_unique_fd.h"
Include dependency graph for fdevent.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fdevent_event
 
struct  fdevent
 
struct  fdevent_context
 

Macros

#define FDE_READ   0x0001
 
#define FDE_WRITE   0x0002
 
#define FDE_ERROR   0x0004
 
#define FDE_TIMEOUT   0x0008
 

Typedefs

typedef void(* fd_func) (int fd, unsigned events, void *userdata)
 
typedef void(* fd_func2) (struct fdevent *fde, unsigned events, void *userdata)
 

Functions

void invoke_fde (struct fdevent *fde, unsigned events)
 
std::string dump_fde (const fdevent *fde)
 
fdeventfdevent_create (int fd, fd_func func, void *arg)
 
fdeventfdevent_create (int fd, fd_func2 func, void *arg)
 
unique_fd fdevent_release (fdevent *fde)
 
void fdevent_destroy (fdevent *fde)
 
void fdevent_set (fdevent *fde, unsigned events)
 
void fdevent_add (fdevent *fde, unsigned events)
 
void fdevent_del (fdevent *fde, unsigned events)
 
void fdevent_set_timeout (fdevent *fde, std::optional< std::chrono::milliseconds > timeout)
 
void fdevent_loop ()
 
void fdevent_check_looper ()
 
void fdevent_check_not_looper ()
 
void fdevent_run_on_looper (std::function< void()> fn)
 
void fdevent_terminate_loop ()
 
size_t fdevent_installed_count ()
 
void fdevent_reset ()
 

Macro Definition Documentation

◆ FDE_ERROR

#define FDE_ERROR   0x0004

◆ FDE_READ

#define FDE_READ   0x0001

◆ FDE_TIMEOUT

#define FDE_TIMEOUT   0x0008

◆ FDE_WRITE

#define FDE_WRITE   0x0002

Typedef Documentation

◆ fd_func

typedef void(* fd_func) (int fd, unsigned events, void *userdata)

◆ fd_func2

typedef void(* fd_func2) (struct fdevent *fde, unsigned events, void *userdata)

Function Documentation

◆ dump_fde()

std::string dump_fde ( const fdevent fde)

◆ fdevent_add()

void fdevent_add ( fdevent fde,
unsigned  events 
)

◆ fdevent_check_looper()

void fdevent_check_looper ( )

◆ fdevent_check_not_looper()

void fdevent_check_not_looper ( )

◆ fdevent_create() [1/2]

fdevent * fdevent_create ( int  fd,
fd_func  func,
void *  arg 
)

◆ fdevent_create() [2/2]

fdevent * fdevent_create ( int  fd,
fd_func2  func,
void *  arg 
)

◆ fdevent_del()

void fdevent_del ( fdevent fde,
unsigned  events 
)

◆ fdevent_destroy()

void fdevent_destroy ( fdevent fde)

◆ fdevent_installed_count()

size_t fdevent_installed_count ( )

◆ fdevent_loop()

void fdevent_loop ( )

◆ fdevent_release()

unique_fd fdevent_release ( fdevent fde)

◆ fdevent_reset()

void fdevent_reset ( )

◆ fdevent_run_on_looper()

void fdevent_run_on_looper ( std::function< void()>  fn)

◆ fdevent_set()

void fdevent_set ( fdevent fde,
unsigned  events 
)

◆ fdevent_set_timeout()

void fdevent_set_timeout ( fdevent fde,
std::optional< std::chrono::milliseconds >  timeout 
)

◆ fdevent_terminate_loop()

void fdevent_terminate_loop ( )

◆ invoke_fde()

void invoke_fde ( struct fdevent fde,
unsigned  events 
)