Main Page | Class List | Directories | File List | Class Members | File Members

backend.h File Reference

#include "global.h"
#include "time_stuff.h"
#include "callback.h"

Go to the source code of this file.

Classes

struct  fd_callback_box

Defines

#define BACKEND_USES_SELECT
#define INIT_FD_CALLBACK_BOX(BOX, BACKEND, REF_OBJ, FD, EVENTS, CALLBACK)
#define PIKE_FD_READ   0
#define PIKE_FD_WRITE   1
#define PIKE_FD_READ_OOB   2
#define PIKE_FD_WRITE_OOB   3
#define PIKE_FD_ERROR   4
#define PIKE_FD_NUM_EVENTS   5
#define PIKE_BIT_FD_READ   (1 << PIKE_FD_READ)
#define PIKE_BIT_FD_WRITE   (1 << PIKE_FD_WRITE)
#define PIKE_BIT_FD_READ_OOB   (1 << PIKE_FD_READ_OOB)
#define PIKE_BIT_FD_WRITE_OOB   (1 << PIKE_FD_WRITE_OOB)
#define PIKE_BIT_FD_ERROR   (1 << PIKE_FD_ERROR)
#define add_backend_callback(X, Y, Z)   dmalloc_touch(struct callback *,debug_add_backend_callback((X),(Y),(Z)))

Typedefs

typedef int(* fd_box_callback )(struct fd_callback_box *box, int event)
typedef int(* file_callback )(int, void *)

Functions

PMOD_EXPORT void debug_check_fd_not_in_use (int fd)
Backend_structget_backend_for_fd (int fd)
PMOD_EXPORT struct objectget_backend_obj_for_fd (int fd)
PMOD_EXPORT void set_backend_for_fd (int fd, struct Backend_struct *new)
PMOD_EXPORT struct objectget_backend_obj (struct Backend_struct *b)
PMOD_EXPORT void wake_up_backend (void)
void init_backend (void)
void do_debug (void)
void backend (void)
void exit_backend (void)
PMOD_EXPORT int write_to_stderr (char *a, size_t len)
PMOD_EXPORT struct callbackdebug_add_backend_callback (callback_func call, void *arg, callback_func free_func)
PMOD_EXPORT void hook_fd_callback_box (struct fd_callback_box *box)
PMOD_EXPORT void unhook_fd_callback_box (struct fd_callback_box *box)
PMOD_EXPORT void set_fd_callback_events (struct fd_callback_box *box, int events)
PMOD_EXPORT void change_backend_for_box (struct fd_callback_box *box, struct Backend_struct *new)
PMOD_EXPORT void change_fd_for_box (struct fd_callback_box *box, int new_fd)
PMOD_EXPORT void set_read_callback (int fd, file_callback cb, void *data)
PMOD_EXPORT void set_write_callback (int fd, file_callback cb, void *data)
PMOD_EXPORT void set_read_oob_callback (int fd, file_callback cb, void *data)
PMOD_EXPORT void set_write_oob_callback (int fd, file_callback cb, void *data)
PMOD_EXPORT file_callback query_read_callback (int fd)
PMOD_EXPORT file_callback query_write_callback (int fd)
PMOD_EXPORT file_callback query_read_oob_callback (int fd)
PMOD_EXPORT file_callback query_write_oob_callback (int fd)
PMOD_EXPORT void * query_read_callback_data (int fd)
PMOD_EXPORT void * query_write_callback_data (int fd)
PMOD_EXPORT void * query_read_oob_callback_data (int fd)
PMOD_EXPORT void * query_write_oob_callback_data (int fd)

Variables

PMOD_EXPORT struct timeval current_time
PMOD_EXPORT struct timeval next_timeout
PMOD_EXPORT struct Backend_structdefault_backend
callback_list do_debug_callbacks
PMOD_EXPORT struct programBackend_program


Define Documentation

#define add_backend_callback X,
Y,
 )     dmalloc_touch(struct callback *,debug_add_backend_callback((X),(Y),(Z)))
 

#define BACKEND_USES_SELECT
 

#define INIT_FD_CALLBACK_BOX BOX,
BACKEND,
REF_OBJ,
FD,
EVENTS,
CALLBACK   ) 
 

Value:

do { \
    struct fd_callback_box *box__ = (BOX);                              \
    box__->backend = (BACKEND);                                         \
    box__->ref_obj = (REF_OBJ);                                         \
    box__->next = NULL;                                                 \
    box__->fd = (FD);                                                   \
    box__->events = (EVENTS);                                           \
    box__->revents = 0;                                                 \
    box__->callback = (CALLBACK);                                       \
    hook_fd_callback_box (box__);                                       \
  } while (0)

#define PIKE_BIT_FD_ERROR   (1 << PIKE_FD_ERROR)
 

#define PIKE_BIT_FD_READ   (1 << PIKE_FD_READ)
 

#define PIKE_BIT_FD_READ_OOB   (1 << PIKE_FD_READ_OOB)
 

#define PIKE_BIT_FD_WRITE   (1 << PIKE_FD_WRITE)
 

#define PIKE_BIT_FD_WRITE_OOB   (1 << PIKE_FD_WRITE_OOB)
 

#define PIKE_FD_ERROR   4
 

#define PIKE_FD_NUM_EVENTS   5
 

#define PIKE_FD_READ   0
 

#define PIKE_FD_READ_OOB   2
 

#define PIKE_FD_WRITE   1
 

#define PIKE_FD_WRITE_OOB   3
 


Typedef Documentation

typedef int(* fd_box_callback)(struct fd_callback_box *box, int event)
 

typedef int(* file_callback)(int, void *)
 


Function Documentation

void backend void   ) 
 

PMOD_EXPORT void change_backend_for_box struct fd_callback_box box,
struct Backend_struct new
 

PMOD_EXPORT void change_fd_for_box struct fd_callback_box box,
int  new_fd
 

PMOD_EXPORT struct callback* debug_add_backend_callback callback_func  call,
void *  arg,
callback_func  free_func
 

PMOD_EXPORT void debug_check_fd_not_in_use int  fd  ) 
 

void do_debug void   ) 
 

void exit_backend void   ) 
 

struct Backend_struct* get_backend_for_fd int  fd  ) 
 

PMOD_EXPORT struct object* get_backend_obj struct Backend_struct b  ) 
 

PMOD_EXPORT struct object* get_backend_obj_for_fd int  fd  ) 
 

PMOD_EXPORT void hook_fd_callback_box struct fd_callback_box box  ) 
 

void init_backend void   ) 
 

PMOD_EXPORT file_callback query_read_callback int  fd  ) 
 

PMOD_EXPORT void* query_read_callback_data int  fd  ) 
 

PMOD_EXPORT file_callback query_read_oob_callback int  fd  ) 
 

PMOD_EXPORT void* query_read_oob_callback_data int  fd  ) 
 

PMOD_EXPORT file_callback query_write_callback int  fd  ) 
 

PMOD_EXPORT void* query_write_callback_data int  fd  ) 
 

PMOD_EXPORT file_callback query_write_oob_callback int  fd  ) 
 

PMOD_EXPORT void* query_write_oob_callback_data int  fd  ) 
 

PMOD_EXPORT void set_backend_for_fd int  fd,
struct Backend_struct new
 

PMOD_EXPORT void set_fd_callback_events struct fd_callback_box box,
int  events
 

PMOD_EXPORT void set_read_callback int  fd,
file_callback  cb,
void *  data
 

PMOD_EXPORT void set_read_oob_callback int  fd,
file_callback  cb,
void *  data
 

PMOD_EXPORT void set_write_callback int  fd,
file_callback  cb,
void *  data
 

PMOD_EXPORT void set_write_oob_callback int  fd,
file_callback  cb,
void *  data
 

PMOD_EXPORT void unhook_fd_callback_box struct fd_callback_box box  ) 
 

PMOD_EXPORT void wake_up_backend void   ) 
 

PMOD_EXPORT int write_to_stderr char *  a,
size_t  len
 


Variable Documentation

PMOD_EXPORT struct program* Backend_program
 

PMOD_EXPORT struct timeval current_time
 

PMOD_EXPORT struct Backend_struct* default_backend
 

struct callback_list do_debug_callbacks
 

PMOD_EXPORT struct timeval next_timeout
 


Generated on Fri Jul 22 23:44:28 2005 for Pike by  doxygen 1.3.9.1