pacemaker  1.1.18-7fdfbbe
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
mainloop.h File Reference

Wrappers for and extensions to glib mainloop. More...

#include <glib.h>
#include <crm/common/ipc.h>
#include <qb/qbipcs.h>
Include dependency graph for mainloop.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ipc_client_callbacks
 
struct  mainloop_fd_callbacks
 

Macros

#define G_PRIORITY_MEDIUM   (G_PRIORITY_HIGH/2)
 

Typedefs

typedef struct trigger_s crm_trigger_t
 
typedef struct mainloop_io_s mainloop_io_t
 
typedef struct mainloop_child_s mainloop_child_t
 
typedef struct mainloop_timer_s mainloop_timer_t
 

Enumerations

enum  mainloop_child_flags { mainloop_leave_pid_group = 0x01 }
 

Functions

void mainloop_cleanup (void)
 
crm_trigger_tmainloop_add_trigger (int priority, int(*dispatch)(gpointer user_data), gpointer userdata)
 
void mainloop_set_trigger (crm_trigger_t *source)
 
void mainloop_trigger_complete (crm_trigger_t *trig)
 
gboolean mainloop_destroy_trigger (crm_trigger_t *source)
 
gboolean crm_signal (int sig, void(*dispatch)(int sig))
 
gboolean mainloop_add_signal (int sig, void(*dispatch)(int sig))
 
gboolean mainloop_destroy_signal (int sig)
 
bool mainloop_timer_running (mainloop_timer_t *t)
 
void mainloop_timer_start (mainloop_timer_t *t)
 
void mainloop_timer_stop (mainloop_timer_t *t)
 
guint mainloop_timer_set_period (mainloop_timer_t *t, guint period_ms)
 
mainloop_timer_tmainloop_timer_add (const char *name, guint period_ms, bool repeat, GSourceFunc cb, void *userdata)
 
void mainloop_timer_del (mainloop_timer_t *t)
 
qb_ipcs_service_t * mainloop_add_ipc_server (const char *name, enum qb_ipc_type type, struct qb_ipcs_service_handlers *callbacks)
 
void mainloop_del_ipc_server (qb_ipcs_service_t *server)
 
mainloop_io_tmainloop_add_ipc_client (const char *name, int priority, size_t max_size, void *userdata, struct ipc_client_callbacks *callbacks)
 
void mainloop_del_ipc_client (mainloop_io_t *client)
 
crm_ipc_tmainloop_get_ipc_client (mainloop_io_t *client)
 
mainloop_io_tmainloop_add_fd (const char *name, int priority, int fd, void *userdata, struct mainloop_fd_callbacks *callbacks)
 
void mainloop_del_fd (mainloop_io_t *client)
 
void mainloop_child_add (pid_t pid, int timeout, const char *desc, void *userdata, void(*callback)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode))
 
void mainloop_child_add_with_flags (pid_t pid, int timeout, const char *desc, void *userdata, enum mainloop_child_flags, void(*callback)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode))
 
void * mainloop_child_userdata (mainloop_child_t *child)
 
int mainloop_child_timeout (mainloop_child_t *child)
 
const char * mainloop_child_name (mainloop_child_t *child)
 
pid_t mainloop_child_pid (mainloop_child_t *child)
 
void mainloop_clear_child_userdata (mainloop_child_t *child)
 
gboolean mainloop_child_kill (pid_t pid)
 

Detailed Description

Wrappers for and extensions to glib mainloop.

Definition in file mainloop.h.

Macro Definition Documentation

#define G_PRIORITY_MEDIUM   (G_PRIORITY_HIGH/2)

Definition at line 124 of file mainloop.h.

Typedef Documentation

typedef struct trigger_s crm_trigger_t

Definition at line 34 of file mainloop.h.

typedef struct mainloop_child_s mainloop_child_t

Definition at line 36 of file mainloop.h.

typedef struct mainloop_io_s mainloop_io_t

Definition at line 35 of file mainloop.h.

typedef struct mainloop_timer_s mainloop_timer_t

Definition at line 37 of file mainloop.h.

Enumeration Type Documentation

Enumerator
mainloop_leave_pid_group 

Definition at line 29 of file mainloop.h.

Function Documentation

gboolean crm_signal ( int  sig,
void(*)(int sig)  dispatch 
)

Definition at line 302 of file mainloop.c.

mainloop_io_t* mainloop_add_fd ( const char *  name,
int  priority,
int  fd,
void *  userdata,
struct mainloop_fd_callbacks callbacks 
)

Definition at line 810 of file mainloop.c.

mainloop_io_t* mainloop_add_ipc_client ( const char *  name,
int  priority,
size_t  max_size,
void *  userdata,
struct ipc_client_callbacks callbacks 
)

Definition at line 767 of file mainloop.c.

qb_ipcs_service_t* mainloop_add_ipc_server ( const char *  name,
enum qb_ipc_type  type,
struct qb_ipcs_service_handlers *  callbacks 
)

Definition at line 589 of file mainloop.c.

gboolean mainloop_add_signal ( int  sig,
void(*)(int sig)  dispatch 
)

Definition at line 327 of file mainloop.c.

crm_trigger_t* mainloop_add_trigger ( int  priority,
int(*)(gpointer user_data)  dispatch,
gpointer  userdata 
)

Definition at line 213 of file mainloop.c.

void mainloop_child_add ( pid_t  pid,
int  timeout,
const char *  desc,
void *  userdata,
void(*)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode)  callback 
)

Definition at line 1131 of file mainloop.c.

void mainloop_child_add_with_flags ( pid_t  pid,
int  timeout,
const char *  desc,
void *  userdata,
enum  mainloop_child_flags,
void(*)(mainloop_child_t *p, pid_t pid, int core, int signo, int exitcode)  callback 
)

Definition at line 1097 of file mainloop.c.

gboolean mainloop_child_kill ( pid_t  pid)

Definition at line 1042 of file mainloop.c.

const char* mainloop_child_name ( mainloop_child_t child)

Definition at line 876 of file mainloop.c.

pid_t mainloop_child_pid ( mainloop_child_t child)

Definition at line 870 of file mainloop.c.

int mainloop_child_timeout ( mainloop_child_t child)

Definition at line 882 of file mainloop.c.

void* mainloop_child_userdata ( mainloop_child_t child)

Definition at line 888 of file mainloop.c.

void mainloop_cleanup ( void  )

Definition at line 411 of file mainloop.c.

void mainloop_clear_child_userdata ( mainloop_child_t child)

Definition at line 894 of file mainloop.c.

void mainloop_del_fd ( mainloop_io_t client)

Definition at line 854 of file mainloop.c.

void mainloop_del_ipc_client ( mainloop_io_t client)

Definition at line 795 of file mainloop.c.

void mainloop_del_ipc_server ( qb_ipcs_service_t *  server)

Definition at line 619 of file mainloop.c.

gboolean mainloop_destroy_signal ( int  sig)

Definition at line 385 of file mainloop.c.

gboolean mainloop_destroy_trigger ( crm_trigger_t source)

Definition at line 233 of file mainloop.c.

crm_ipc_t* mainloop_get_ipc_client ( mainloop_io_t client)

Definition at line 801 of file mainloop.c.

void mainloop_set_trigger ( crm_trigger_t source)

Definition at line 225 of file mainloop.c.

mainloop_timer_t* mainloop_timer_add ( const char *  name,
guint  period_ms,
bool  repeat,
GSourceFunc  cb,
void *  userdata 
)

Definition at line 1221 of file mainloop.c.

void mainloop_timer_del ( mainloop_timer_t t)

Definition at line 1242 of file mainloop.c.

bool mainloop_timer_running ( mainloop_timer_t t)

Definition at line 1178 of file mainloop.c.

guint mainloop_timer_set_period ( mainloop_timer_t t,
guint  period_ms 
)

Definition at line 1204 of file mainloop.c.

void mainloop_timer_start ( mainloop_timer_t t)

Definition at line 1186 of file mainloop.c.

void mainloop_timer_stop ( mainloop_timer_t t)

Definition at line 1195 of file mainloop.c.

void mainloop_trigger_complete ( crm_trigger_t trig)

Definition at line 201 of file mainloop.c.