#include <crm_internal.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <glib.h>
#include <dirent.h>
#include <crm/crm.h>
#include <crm/lrmd.h>
#include <crm/services.h>
#include <crm/common/mainloop.h>
#include <crm/common/ipcs.h>
#include <crm/msg_xml.h>
#include <crm/stonith-ng.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <netdb.h>
 
Go to the source code of this file.
 | 
|   | CRM_TRACE_INIT_DATA (lrmd) | 
|   | 
| int  | lrmd_internal_proxy_send (lrmd_t *lrmd, xmlNode *msg) | 
|   | 
| void  | lrmd_internal_set_proxy_callback (lrmd_t *lrmd, void *userdata, void(*callback)(lrmd_t *lrmd, void *userdata, xmlNode *msg)) | 
|   | 
| void  | lrmd_list_freeall (lrmd_list_t *head) | 
|   | 
| lrmd_key_value_t *  | lrmd_key_value_add (lrmd_key_value_t *head, const char *key, const char *value) | 
|   | 
| void  | lrmd_key_value_freeall (lrmd_key_value_t *head) | 
|   | 
| lrmd_event_data_t *  | lrmd_copy_event (lrmd_event_data_t *event) | 
|   | 
| void  | lrmd_free_event (lrmd_event_data_t *event) | 
|   | 
| int  | lrmd_poll (lrmd_t *lrmd, int timeout) | 
|   | Poll for a specified timeout period to determine if a message is ready for dispatch.  More...
  | 
|   | 
| bool  | lrmd_dispatch (lrmd_t *lrmd) | 
|   | Use after lrmd_poll returns 1 to read and dispatch a message.  More...
  | 
|   | 
| int  | remote_proxy_check (lrmd_t *lrmd, GHashTable *hash) | 
|   | 
| lrmd_rsc_info_t *  | lrmd_copy_rsc_info (lrmd_rsc_info_t *rsc_info) | 
|   | 
| void  | lrmd_free_rsc_info (lrmd_rsc_info_t *rsc_info) | 
|   | 
| lrmd_t *  | lrmd_api_new (void) | 
|   | Create a new local lrmd connection.  More...
  | 
|   | 
| lrmd_t *  | lrmd_remote_api_new (const char *nodename, const char *server, int port) | 
|   | Create a new remote lrmd connection using tls backend.  More...
  | 
|   | 
| void  | lrmd_api_delete (lrmd_t *lrmd) | 
|   | Destroy lrmd object.  More...
  | 
|   | 
      
        
          | #define MAX_TLS_RECV_WAIT   10000 | 
        
      
 
 
      
        
          | CRM_TRACE_INIT_DATA  | 
          ( | 
          lrmd  | 
           | ) | 
           | 
        
      
 
 
      
        
          | void lrmd_api_delete  | 
          ( | 
          lrmd_t *  | 
          lrmd | ) | 
           | 
        
      
 
 
      
        
          | bool lrmd_dispatch  | 
          ( | 
          lrmd_t *  | 
          lrmd | ) | 
           | 
        
      
 
Use after lrmd_poll returns 1 to read and dispatch a message. 
- Parameters
 - 
  
    | [in,out] | lrmd | lrmd connection object | 
  
   
- Returns
 - TRUE if connection is still up, FALSE if disconnected 
 
Definition at line 428 of file lrmd_client.c.
 
 
      
        
          | int lrmd_internal_proxy_send  | 
          ( | 
          lrmd_t *  | 
          lrmd,  | 
        
        
           | 
           | 
          xmlNode *  | 
          msg  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
      
        
          | void lrmd_internal_set_proxy_callback  | 
          ( | 
          lrmd_t *  | 
          lrmd,  | 
        
        
           | 
           | 
          void *  | 
          userdata,  | 
        
        
           | 
           | 
          void(*)(lrmd_t *lrmd, void *userdata, xmlNode *msg)  | 
          callback  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
      
        
          | int lrmd_poll  | 
          ( | 
          lrmd_t *  | 
          lrmd,  | 
        
        
           | 
           | 
          int  | 
          timeout  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Poll for a specified timeout period to determine if a message is ready for dispatch. 
- Return values
 - 
  
    | 1 | msg is ready  | 
    | 0 | timeout occurred  | 
    | negative | error code  | 
  
   
Definition at line 403 of file lrmd_client.c.
 
 
      
        
          | lrmd_t* lrmd_remote_api_new  | 
          ( | 
          const char *  | 
          nodename,  | 
        
        
           | 
           | 
          const char *  | 
          server,  | 
        
        
           | 
           | 
          int  | 
          port  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Create a new remote lrmd connection using tls backend. 
- Parameters
 - 
  
    | nodename | name of remote node identified with this connection  | 
    | server | name of server to connect to  | 
    | port | port number to connect to | 
  
   
- Note
 - nodename and server may be the same value. 
 
Definition at line 1855 of file lrmd_client.c.
 
 
      
        
          | int remote_proxy_check  | 
          ( | 
          lrmd_t *  | 
          lrmd,  | 
        
        
           | 
           | 
          GHashTable *  | 
          hash  | 
        
        
           | 
          ) | 
           |  |