cfg.c File Reference
`#include <config.h>`
`#include <stdio.h>`
`#include <string.h>`
`#include <stdlib.h>`
`#include <unistd.h>`
`#include <errno.h>`
`#include <pthread.h>`
`#include <limits.h>`
`#include <sys/types.h>`
`#include <sys/socket.h>`
`#include <sys/select.h>`
`#include <sys/un.h>`
`#include <sys/uio.h>`
`#include <qb/qbipcc.h>`
`#include <corosync/corotypes.h>`
`#include <corosync/corodefs.h>`
`#include <corosync/hdb.h>`
`#include <corosync/cfg.h>`
`#include <corosync/ipc_cfg.h>`
`#include "util.h"`
Include dependency graph for lib/cfg.c:

Go to the source code of this file.

## Data Structures

struct | cfg_inst

## Functions

| DECLARE_HDB_DATABASE (cfg_hdb, cfg_inst_free)
cs_error_t | corosync_cfg_initialize (corosync_cfg_handle_t *cfg_handle, const corosync_cfg_callbacks_t *cfg_callbacks)
| corosync_cfg_initialize
cs_error_t | corosync_cfg_fd_get (corosync_cfg_handle_t cfg_handle, int32_t *selection_fd)
| corosync_cfg_fd_get
cs_error_t | corosync_cfg_dispatch (corosync_cfg_handle_t cfg_handle, cs_dispatch_flags_t dispatch_flags)
| corosync_cfg_dispatch
cs_error_t | corosync_cfg_finalize (corosync_cfg_handle_t cfg_handle)
| corosync_cfg_finalize
cs_error_t | corosync_cfg_ring_status_get (corosync_cfg_handle_t cfg_handle, char ***interface_names, char ***status, unsigned int *interface_count)
| corosync_cfg_ring_status_get
cs_error_t | corosync_cfg_node_status_get (corosync_cfg_handle_t cfg_handle, unsigned int nodeid, corosync_cfg_node_status_version_t version, void *node_status)
| corosync_cfg_node_status_get
cs_error_t | corosync_cfg_trackstart (corosync_cfg_handle_t cfg_handle, uint8_t track_flags)
| corosync_cfg_trackstart Track CFG for shutdown requests
cs_error_t | corosync_cfg_trackstop (corosync_cfg_handle_t cfg_handle)
| corosync_cfg_trackstop Stop tracking CFG for shutdown requests
cs_error_t | corosync_cfg_kill_node (corosync_cfg_handle_t cfg_handle, unsigned int nodeid, const char *reason)
| corosync_cfg_kill_node
cs_error_t | corosync_cfg_try_shutdown (corosync_cfg_handle_t cfg_handle, corosync_cfg_shutdown_flags_t flags)
| corosync_cfg_try_shutdown
cs_error_t | corosync_cfg_replyto_shutdown (corosync_cfg_handle_t cfg_handle, corosync_cfg_shutdown_reply_flags_t response)
| corosync_cfg_replyto_shutdown
cs_error_t | corosync_cfg_get_node_addrs (corosync_cfg_handle_t cfg_handle, unsigned int nodeid, size_t max_addrs, int *num_addrs, corosync_cfg_node_address_t *addrs)
| corosync_cfg_get_node_addrs
cs_error_t | corosync_cfg_local_get (corosync_cfg_handle_t handle, unsigned int *local_nodeid)
| corosync_cfg_local_get
cs_error_t | corosync_cfg_reload_config (corosync_cfg_handle_t handle)
| corosync_cfg_reload_config
cs_error_t | corosync_cfg_reopen_log_files (corosync_cfg_handle_t handle)
| Reopen logging files.

## Function Documentation

## corosync_cfg_dispatch()

cs_error_t corosync_cfg_dispatch | ( | corosync_cfg_handle_t | cfg_handle,
|  | cs_dispatch_flags_t | dispatch_flags
| ) |  |

corosync_cfg_dispatch

Parameters

  cfg_handle |
  dispatch_flags |

Returns

Definition at line 145 of file lib/cfg.c.

References cfg_inst::c, cfg_inst::callbacks, corosync_cfg_callbacks_t::corosync_cfg_shutdown_callback, CS_DISPATCH_ALL, CS_DISPATCH_ONE, CS_DISPATCH_ONE_NONBLOCKING, CS_ERR_BAD_HANDLE, CS_ERR_LIBRARY, CS_ERR_TRY_AGAIN, CS_OK, cfg_inst::finalize, res_lib_cfg_testshutdown::flags, hdb_error_to_cs(), IPC_DISPATCH_SIZE, MESSAGE_RES_CFG_TESTSHUTDOWN, nodeid, and qb_to_cs_error().

## corosync_cfg_fd_get()

cs_error_t corosync_cfg_fd_get | ( | corosync_cfg_handle_t | cfg_handle,
|  | int32_t * | selection_fd
| ) |  |

corosync_cfg_fd_get

Parameters

  cfg_handle |
  selection_fd |

Returns

Definition at line 126 of file lib/cfg.c.

References cfg_inst::c, CS_OK, hdb_error_to_cs(), nodeid, and qb_to_cs_error().

## corosync_cfg_finalize()

cs_error_t corosync_cfg_finalize | ( | corosync_cfg_handle_t | cfg_handle | ) |

corosync_cfg_finalize

Parameters

  cfg_handle |

Returns

Definition at line 254 of file lib/cfg.c.

References CS_ERR_BAD_HANDLE, CS_OK, cfg_inst::finalize, hdb_error_to_cs(), and nodeid.

## corosync_cfg_get_node_addrs()

cs_error_t corosync_cfg_get_node_addrs | ( | corosync_cfg_handle_t | cfg_handle,
|  | unsigned int | nodeid,
|  | size_t | max_addrs,
|  | int * | num_addrs,
|  | corosync_cfg_node_address_t * | addrs
| ) |  |

corosync_cfg_get_node_addrs

Parameters

  cfg_handle |
  nodeid |
  max_addrs |
  num_addrs |
  addrs |

Returns

Definition at line 630 of file lib/cfg.c.

References corosync_cfg_node_address_t::address_length, res_lib_cfg_get_node_addrs::addrs, cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, res_lib_cfg_get_node_addrs::family, hdb_error_to_cs(), IPC_RESPONSE_SIZE, MESSAGE_REQ_CFG_GET_NODE_ADDRS, nodeid, req_lib_cfg_get_node_addrs::nodeid, res_lib_cfg_get_node_addrs::num_addrs, qb_to_cs_error(), and TOTEMIP_ADDRLEN.

## corosync_cfg_initialize()

cs_error_t corosync_cfg_initialize | ( | corosync_cfg_handle_t * | cfg_handle,
|  | const corosync_cfg_callbacks_t * | cfg_callbacks
| ) |  |

corosync_cfg_initialize

Parameters

  cfg_handle |
  cfg_callbacks |

Returns

Definition at line 85 of file lib/cfg.c.

References cfg_inst::c, cfg_inst::callbacks, CS_OK, cfg_inst::finalize, hdb_error_to_cs(), IPC_REQUEST_SIZE, nodeid, and qb_to_cs_error().

## corosync_cfg_kill_node()

cs_error_t corosync_cfg_kill_node | ( | corosync_cfg_handle_t | cfg_handle,
|  | unsigned int | nodeid,
|  | const char * | reason
| ) |  |

corosync_cfg_kill_node

Parameters

  cfg_handle |
  nodeid |
  reason |

Returns

Definition at line 520 of file lib/cfg.c.

References cfg_inst::c, CS_ERR_NAME_TOO_LONG, CS_IPC_TIMEOUT_MS, CS_MAX_NAME_LENGTH, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_KILLNODE, nodeid, and qb_to_cs_error().

## corosync_cfg_local_get()

cs_error_t corosync_cfg_local_get | ( | corosync_cfg_handle_t | handle,
|  | unsigned int * | local_nodeid
| ) |  |

corosync_cfg_local_get

Parameters

  handle |
  local_nodeid |

Returns

Definition at line 717 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_LOCAL_GET, nodeid, and qb_to_cs_error().

## corosync_cfg_node_status_get()

cs_error_t corosync_cfg_node_status_get | ( | corosync_cfg_handle_t | cfg_handle,
|  | unsigned int | nodeid,
|  | corosync_cfg_node_status_version_t | version,
|  | void * | node_status
| ) |  |

corosync_cfg_node_status_get

Parameters

  cfg_handle |
  nodeid |
  node_status |

Returns

Definition at line 371 of file lib/cfg.c.

References cfg_inst::c, CFG_NODE_STATUS_V1, CS_ERR_INVALID_PARAM, CS_ERR_NOT_SUPPORTED, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_NODESTATUSGET, nodeid, qb_to_cs_error(), and version.

## corosync_cfg_reload_config()

cs_error_t corosync_cfg_reload_config | ( | corosync_cfg_handle_t | handle | ) |

corosync_cfg_reload_config

Parameters

  handle |

Returns

Definition at line 759 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_RELOAD_CONFIG, nodeid, and qb_to_cs_error().

## corosync_cfg_reopen_log_files()

cs_error_t corosync_cfg_reopen_log_files | ( | corosync_cfg_handle_t | handle | ) |

Reopen logging files.

Parameters

  handle | CFG service handle

Returns
  CS_OK on success, CS_ERR_NOT_SUPPORTED if reopening of logging files is not available, otherwise one of common errors.

Definition at line 798 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_REOPEN_LOG_FILES, nodeid, and qb_to_cs_error().

## corosync_cfg_replyto_shutdown()

cs_error_t corosync_cfg_replyto_shutdown | ( | corosync_cfg_handle_t | cfg_handle,
|  | corosync_cfg_shutdown_reply_flags_t | flags
| ) |  |

corosync_cfg_replyto_shutdown

Parameters

  cfg_handle |
  flags |

Returns

Definition at line 598 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_REPLYTOSHUTDOWN, nodeid, qb_to_cs_error(), and req_lib_cfg_replytoshutdown::response.

## corosync_cfg_ring_status_get()

cs_error_t corosync_cfg_ring_status_get | ( | corosync_cfg_handle_t | cfg_handle,
|  | char *** | interface_names,
|  | char *** | status,
|  | unsigned int * | interface_count
| ) |  |

corosync_cfg_ring_status_get

Parameters

  cfg_handle |
  interface_names |
  status |
  interface_count |

Returns

Definition at line 283 of file lib/cfg.c.

References cfg_inst::c, CS_ERR_NO_MEMORY, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), MESSAGE_REQ_CFG_RINGSTATUSGET, nodeid, and qb_to_cs_error().

## corosync_cfg_trackstart()

cs_error_t corosync_cfg_trackstart | ( | corosync_cfg_handle_t | cfg_handle,
|  | uint8_t | track_flags
| ) |  |

corosync_cfg_trackstart Track CFG for shutdown requests

Parameters

  cfg_handle |
  track_flags | (none currently supported)
  reason |

Returns

Definition at line 452 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), req_lib_cfg_trackstart::header, res_lib_cfg_trackstart::header, MESSAGE_REQ_CFG_TRACKSTART, nodeid, qb_to_cs_error(), and req_lib_cfg_trackstart::track_flags.

## corosync_cfg_trackstop()

cs_error_t corosync_cfg_trackstop | ( | corosync_cfg_handle_t | cfg_handle | ) |

corosync_cfg_trackstop Stop tracking CFG for shutdown requests

Parameters

  cfg_handle |
  reason |

Returns

Definition at line 487 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, hdb_error_to_cs(), req_lib_cfg_trackstop::header, res_lib_cfg_trackstop::header, MESSAGE_REQ_CFG_TRACKSTOP, nodeid, and qb_to_cs_error().

## corosync_cfg_try_shutdown()

cs_error_t corosync_cfg_try_shutdown | ( | corosync_cfg_handle_t | cfg_handle,
|  | corosync_cfg_shutdown_flags_t | flags
| ) |  |

corosync_cfg_try_shutdown

Parameters

  cfg_handle |
  flags |

Returns

Definition at line 563 of file lib/cfg.c.

References cfg_inst::c, CS_IPC_TIMEOUT_MS, CS_OK, flags, req_lib_cfg_tryshutdown::flags, hdb_error_to_cs(), MESSAGE_REQ_CFG_TRYSHUTDOWN, nodeid, and qb_to_cs_error().

## DECLARE_HDB_DATABASE()

DECLARE_HDB_DATABASE | ( | cfg_hdb | ,
|  | cfg_inst_free |
| ) |  |