totem.h File Reference
`#include "totemip.h"`
`#include <libknet.h>`
`#include <corosync/hdb.h>`
`#include <corosync/totem/totemstats.h>`
Include dependency graph for totem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | totem_interface
struct | totem_logging_configuration
struct | totem_message_header
struct | memb_ring_id
| The memb_ring_id struct. More...
struct | totem_config
struct | totem_node_status

## Macros

#define | PROCESSOR_COUNT_MAX 384
#define | MESSAGE_SIZE_MAX 1024*1024 /* (1MB) */
#define | MESSAGE_QUEUE_MAX ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)
#define | FRAME_SIZE_MAX KNET_MAX_PACKET_SIZE
#define | CONFIG_STRING_LEN_MAX 128
#define | UDP_RECEIVE_FRAME_SIZE_MAX (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)
#define | TRANSMITS_ALLOWED 16
#define | SEND_THREADS_MAX 16
#define | INTERFACE_MAX 8
#define | BIND_MAX_RETRIES 10
#define | BIND_RETRIES_INTERVAL 100
#define | MAX_NO_CONT_GATHER 3
| Maximum number of continuous gather states.
#define | MAX_NO_CONT_SENDMSG_FAILURES 30
#define | TOTEM_MH_MAGIC 0xC070
#define | TOTEM_MH_VERSION 0x03
#define | MEMB_RING_ID
#define | TOTEM_NODE_STATUS_STRUCTURE_VERSION 1
#define | TOTEM_CONFIGURATION_TYPE
#define | TOTEM_CALLBACK_TOKEN_TYPE

## Enumerations

enum | { TOTEM_PRIVATE_KEY_LEN_MIN = KNET_MIN_KEY_LEN , TOTEM_PRIVATE_KEY_LEN_MAX = KNET_MAX_KEY_LEN }
enum | { TOTEM_LINK_MODE_BYTES = 64 }
enum | totem_transport_t { TOTEM_TRANSPORT_UDP = 0 , TOTEM_TRANSPORT_UDPU = 1 , TOTEM_TRANSPORT_KNET = 2 }
enum | cfg_message_crypto_reconfig_phase_t { CRYPTO_RECONFIG_PHASE_ACTIVATE = 1 , CRYPTO_RECONFIG_PHASE_CLEANUP = 2 }
enum | totem_configuration_type { TOTEM_CONFIGURATION_REGULAR , TOTEM_CONFIGURATION_TRANSITIONAL }
enum | totem_callback_token_type { TOTEM_CALLBACK_TOKEN_RECEIVED = 1 , TOTEM_CALLBACK_TOKEN_SENT = 2 }
enum | totem_event_type { TOTEM_EVENT_DELIVERY_CONGESTED , TOTEM_EVENT_NEW_MSG }

## Functions

struct totem_message_header | __attribute__ ((packed))

## Variables

typedef | __attribute__
unsigned short | magic
char | version
char | type
char | encapsulated
unsigned int | nodeid
unsigned int | target_nodeid
unsigned int | rep
unsigned long long | seq

## Macro Definition Documentation

## BIND_MAX_RETRIES

#define BIND_MAX_RETRIES 10

Definition at line 70 of file totem.h.

## BIND_RETRIES_INTERVAL

#define BIND_RETRIES_INTERVAL 100

Definition at line 71 of file totem.h.

## CONFIG_STRING_LEN_MAX

#define CONFIG_STRING_LEN_MAX 128

Definition at line 54 of file totem.h.

## FRAME_SIZE_MAX

#define FRAME_SIZE_MAX KNET_MAX_PACKET_SIZE

Definition at line 52 of file totem.h.

## INTERFACE_MAX

#define INTERFACE_MAX 8

Definition at line 68 of file totem.h.

## MAX_NO_CONT_GATHER

#define MAX_NO_CONT_GATHER 3

Maximum number of continuous gather states.

Definition at line 76 of file totem.h.

## MAX_NO_CONT_SENDMSG_FAILURES

#define MAX_NO_CONT_SENDMSG_FAILURES 30

Definition at line 80 of file totem.h.

## MEMB_RING_ID

#define MEMB_RING_ID

Definition at line 148 of file totem.h.

## MESSAGE_QUEUE_MAX

#define MESSAGE_QUEUE_MAX ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)

Definition at line 49 of file totem.h.

## MESSAGE_SIZE_MAX

#define MESSAGE_SIZE_MAX 1024*1024 /* (1MB) */

Definition at line 48 of file totem.h.

## PROCESSOR_COUNT_MAX

#define PROCESSOR_COUNT_MAX 384

Definition at line 47 of file totem.h.

## SEND_THREADS_MAX

#define SEND_THREADS_MAX 16

Definition at line 65 of file totem.h.

## TOTEM_CALLBACK_TOKEN_TYPE

#define TOTEM_CALLBACK_TOKEN_TYPE

Definition at line 284 of file totem.h.

## TOTEM_CONFIGURATION_TYPE

#define TOTEM_CONFIGURATION_TYPE

Definition at line 278 of file totem.h.

## TOTEM_MH_MAGIC

#define TOTEM_MH_MAGIC 0xC070

Definition at line 123 of file totem.h.

## TOTEM_MH_VERSION

#define TOTEM_MH_VERSION 0x03

Definition at line 124 of file totem.h.

## TOTEM_NODE_STATUS_STRUCTURE_VERSION

#define TOTEM_NODE_STATUS_STRUCTURE_VERSION 1

Definition at line 264 of file totem.h.

## TRANSMITS_ALLOWED

#define TRANSMITS_ALLOWED 16

Definition at line 64 of file totem.h.

## UDP_RECEIVE_FRAME_SIZE_MAX

#define UDP_RECEIVE_FRAME_SIZE_MAX (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)

Definition at line 62 of file totem.h.

## Enumeration Type Documentation

## anonymous enum

anonymous enum

Enumerator
TOTEM_PRIVATE_KEY_LEN_MIN |
TOTEM_PRIVATE_KEY_LEN_MAX |

Definition at line 135 of file totem.h.

## anonymous enum

anonymous enum

Enumerator
TOTEM_LINK_MODE_BYTES |

Definition at line 140 of file totem.h.

## cfg_message_crypto_reconfig_phase_t

enum cfg_message_crypto_reconfig_phase_t

Enumerator
CRYPTO_RECONFIG_PHASE_ACTIVATE |
CRYPTO_RECONFIG_PHASE_CLEANUP |

Definition at line 154 of file totem.h.

## totem_callback_token_type

enum totem_callback_token_type

Enumerator
TOTEM_CALLBACK_TOKEN_RECEIVED |
TOTEM_CALLBACK_TOKEN_SENT |

Definition at line 285 of file totem.h.

## totem_configuration_type

enum totem_configuration_type

Enumerator
TOTEM_CONFIGURATION_REGULAR |
TOTEM_CONFIGURATION_TRANSITIONAL |

Definition at line 279 of file totem.h.

## totem_event_type

enum totem_event_type

Enumerator
TOTEM_EVENT_DELIVERY_CONGESTED |
TOTEM_EVENT_NEW_MSG |

Definition at line 290 of file totem.h.

## totem_transport_t

enum totem_transport_t

Enumerator
TOTEM_TRANSPORT_UDP |
TOTEM_TRANSPORT_UDPU |
TOTEM_TRANSPORT_KNET |

Definition at line 142 of file totem.h.

## Function Documentation

## __attribute__()

struct totem_message_header __attribute__ | ( | (packed) |  | ) |

## Variable Documentation

## __attribute__

struct qb_ipc_request_header header __attribute__

## encapsulated

char encapsulated

Definition at line 3 of file totem.h.

## magic

unsigned short magic

Definition at line 0 of file totem.h.

## nodeid

unsigned int nodeid

Definition at line 4 of file totem.h.

## rep

unsigned int rep

Definition at line 0 of file totem.h.

## seq

unsigned long long seq

Definition at line 1 of file totem.h.

## target_nodeid

unsigned int target_nodeid

Definition at line 5 of file totem.h.

## type

char type

Definition at line 2 of file totem.h.

Referenced by cmap_get(), cmap_get_string(), cmap_iter_next(), cmap_set(), icmap_get(), icmap_get_r(), icmap_get_string_r(), icmap_get_valuetype_len(), icmap_iter_next(), icmap_set(), icmap_set_r(), stats_map_get(), stats_map_iter_next(), stats_map_track_add(), stats_trigger_trackers(), totempg_callback_token_create(), totempg_event_signal(), and totemsrp_callback_token_create().

## version

char version

Definition at line 1 of file totem.h.

Referenced by corosync_cfg_node_status_get().