pacemaker  2.0.4-2deceaa
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
ipcs_internal.h File Reference
#include <stdbool.h>
#include <qb/qbipcs.h>
#include <crm/common/ipc.h>
#include <crm/common/mainloop.h>
Include dependency graph for ipcs_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pcmk__remote_s
 
struct  pcmk__client_s
 

Macros

#define pcmk__ipc_send_ack(c, req, flags, tag)   pcmk__ipc_send_ack_as(__FUNCTION__, __LINE__, (c), (req), (flags), (tag))
 

Typedefs

typedef struct pcmk__client_s pcmk__client_t
 

Enumerations

enum  pcmk__client_type { PCMK__CLIENT_IPC = 1, PCMK__CLIENT_TCP = 2 }
 
enum  pcmk__client_flags { pcmk__client_proxied = 0x00001, pcmk__client_privileged = 0x00002 }
 

Functions

guint pcmk__ipc_client_count (void)
 
void pcmk__foreach_ipc_client (GHFunc func, gpointer user_data)
 
void pcmk__foreach_ipc_client_remove (GHRFunc func, gpointer user_data)
 
void pcmk__client_cleanup (void)
 
pcmk__client_tpcmk__find_client (qb_ipcs_connection_t *c)
 
pcmk__client_tpcmk__find_client_by_id (const char *id)
 
const char * pcmk__client_name (pcmk__client_t *c)
 
const char * pcmk__client_type_str (enum pcmk__client_type client_type)
 
pcmk__client_tpcmk__new_unauth_client (void *key)
 Allocate a new pcmk__client_t object and generate its ID. More...
 
pcmk__client_tpcmk__new_client (qb_ipcs_connection_t *c, uid_t uid, gid_t gid)
 
void pcmk__free_client (pcmk__client_t *c)
 
void pcmk__drop_all_clients (qb_ipcs_service_t *s)
 
bool pcmk__set_client_queue_max (pcmk__client_t *client, const char *qmax)
 
void pcmk__ipc_send_ack_as (const char *function, int line, pcmk__client_t *c, uint32_t request, uint32_t flags, const char *tag)
 
int pcmk__ipc_prepare_iov (uint32_t request, xmlNode *message, uint32_t max_send_size, struct iovec **result, ssize_t *bytes)
 
int pcmk__ipc_send_xml (pcmk__client_t *c, uint32_t request, xmlNode *message, uint32_t flags)
 
int pcmk__ipc_send_iov (pcmk__client_t *c, struct iovec *iov, uint32_t flags)
 
xmlNode * pcmk__client_data2xml (pcmk__client_t *c, void *data, uint32_t *id, uint32_t *flags)
 
int pcmk__client_pid (qb_ipcs_connection_t *c)
 
void pcmk__serve_attrd_ipc (qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers *cb)
 
void pcmk__serve_fenced_ipc (qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers *cb)
 
qb_ipcs_service_t * pcmk__serve_controld_ipc (struct qb_ipcs_service_handlers *cb)
 
void pcmk__serve_based_ipc (qb_ipcs_service_t **ipcs_ro, qb_ipcs_service_t **ipcs_rw, qb_ipcs_service_t **ipcs_shm, struct qb_ipcs_service_handlers *ro_cb, struct qb_ipcs_service_handlers *rw_cb)
 
void pcmk__stop_based_ipc (qb_ipcs_service_t *ipcs_ro, qb_ipcs_service_t *ipcs_rw, qb_ipcs_service_t *ipcs_shm)
 

Macro Definition Documentation

#define pcmk__ipc_send_ack (   c,
  req,
  flags,
  tag 
)    pcmk__ipc_send_ack_as(__FUNCTION__, __LINE__, (c), (req), (flags), (tag))

Definition at line 115 of file ipcs_internal.h.

Typedef Documentation

Definition at line 27 of file ipcs_internal.h.

Enumeration Type Documentation

Enumerator
pcmk__client_proxied 
pcmk__client_privileged 

Definition at line 57 of file ipcs_internal.h.

Enumerator
PCMK__CLIENT_IPC 
PCMK__CLIENT_TCP 

Definition at line 29 of file ipcs_internal.h.

Function Documentation

void pcmk__client_cleanup ( void  )

Definition at line 298 of file ipc.c.

xmlNode* pcmk__client_data2xml ( pcmk__client_t c,
void *  data,
uint32_t *  id,
uint32_t *  flags 
)

Definition at line 577 of file ipc.c.

const char* pcmk__client_name ( pcmk__client_t c)

Definition at line 267 of file ipc.c.

int pcmk__client_pid ( qb_ipcs_connection_t *  c)

Definition at line 556 of file ipc.c.

const char* pcmk__client_type_str ( enum pcmk__client_type  client_type)

Definition at line 281 of file ipc.c.

void pcmk__drop_all_clients ( qb_ipcs_service_t *  s)

Definition at line 312 of file ipc.c.

pcmk__client_t* pcmk__find_client ( qb_ipcs_connection_t *  c)

Definition at line 236 of file ipc.c.

pcmk__client_t* pcmk__find_client_by_id ( const char *  id)

Definition at line 247 of file ipc.c.

void pcmk__foreach_ipc_client ( GHFunc  func,
gpointer  user_data 
)

Definition at line 211 of file ipc.c.

void pcmk__foreach_ipc_client_remove ( GHRFunc  func,
gpointer  user_data 
)

Definition at line 228 of file ipc.c.

void pcmk__free_client ( pcmk__client_t c)

Definition at line 489 of file ipc.c.

guint pcmk__ipc_client_count ( void  )

Definition at line 196 of file ipc.c.

int pcmk__ipc_prepare_iov ( uint32_t  request,
xmlNode *  message,
uint32_t  max_send_size,
struct iovec **  result,
ssize_t *  bytes 
)

Definition at line 773 of file ipc.c.

void pcmk__ipc_send_ack_as ( const char *  function,
int  line,
pcmk__client_t c,
uint32_t  request,
uint32_t  flags,
const char *  tag 
)

Definition at line 958 of file ipc.c.

int pcmk__ipc_send_iov ( pcmk__client_t c,
struct iovec *  iov,
uint32_t  flags 
)

Definition at line 859 of file ipc.c.

int pcmk__ipc_send_xml ( pcmk__client_t c,
uint32_t  request,
xmlNode *  message,
uint32_t  flags 
)

Definition at line 936 of file ipc.c.

pcmk__client_t* pcmk__new_client ( qb_ipcs_connection_t *  c,
uid_t  uid,
gid_t  gid 
)

Definition at line 408 of file ipc.c.

pcmk__client_t* pcmk__new_unauth_client ( void *  key)

Allocate a new pcmk__client_t object and generate its ID.

Parameters
[in]keyWhat to use as connections hash table key (NULL to use ID)
Returns
Pointer to new pcmk__client_t (asserts on failure)

Definition at line 399 of file ipc.c.

void pcmk__serve_attrd_ipc ( qb_ipcs_service_t **  ipcs,
struct qb_ipcs_service_handlers *  cb 
)

Definition at line 1051 of file ipc.c.

void pcmk__serve_based_ipc ( qb_ipcs_service_t **  ipcs_ro,
qb_ipcs_service_t **  ipcs_rw,
qb_ipcs_service_t **  ipcs_shm,
struct qb_ipcs_service_handlers *  ro_cb,
struct qb_ipcs_service_handlers *  rw_cb 
)

Definition at line 985 of file ipc.c.

qb_ipcs_service_t* pcmk__serve_controld_ipc ( struct qb_ipcs_service_handlers *  cb)

Definition at line 1037 of file ipc.c.

void pcmk__serve_fenced_ipc ( qb_ipcs_service_t **  ipcs,
struct qb_ipcs_service_handlers *  cb 
)

Definition at line 1072 of file ipc.c.

bool pcmk__set_client_queue_max ( pcmk__client_t client,
const char *  qmax 
)

Definition at line 540 of file ipc.c.

void pcmk__stop_based_ipc ( qb_ipcs_service_t *  ipcs_ro,
qb_ipcs_service_t *  ipcs_rw,
qb_ipcs_service_t *  ipcs_shm 
)

Definition at line 1019 of file ipc.c.