corosync 3.1.7
sync.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009-2010 Red Hat, Inc.
3 *
4 * All rights reserved.
5 *
6 * Author: Steven Dake (sdake@redhat.com)
7 *
8 * This software licensed under BSD license, the text of which follows:
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions are met:
12 *
13 * - Redistributions of source code must retain the above copyright notice,
14 * this list of conditions and the following disclaimer.
15 * - Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 * - Neither the name of the MontaVista Software, Inc. nor the names of its
19 * contributors may be used to endorse or promote products derived from this
20 * software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
32 * THE POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#ifndef SYNC_H_DEFINED
36#define SYNC_H_DEFINED
37
39 void (*sync_init) (
40 const unsigned int *trans_list,
41 size_t trans_list_entries,
42 const unsigned int *member_list,
43 size_t member_list_entries,
44 const struct memb_ring_id *ring_id);
45 int (*sync_process) (void);
46 void (*sync_activate) (void);
47 void (*sync_abort) (void);
48 const char *name;
49};
50
51extern int sync_init (
52 int (*sync_callbacks_retrieve) (
53 int service_id,
54 struct sync_callbacks *callbacks),
55 void (*synchronization_completed) (void));
56
57extern void sync_start (
58 const unsigned int *member_list,
59 size_t member_list_entries,
60 const struct memb_ring_id *ring_id);
61
62extern void sync_save_transitional (
63 const unsigned int *member_list,
64 size_t member_list_entries,
65 const struct memb_ring_id *ring_id);
66
67extern void sync_abort (void);
68
69extern void sync_memb_list_determine (const struct memb_ring_id *ring_id);
70
71extern void sync_memb_list_abort (void);
72
73#endif /* SYNC_H_DEFINED */
The memb_ring_id struct.
Definition: coroapi.h:122
void(* sync_init)(const unsigned int *trans_list, size_t trans_list_entries, const unsigned int *member_list, size_t member_list_entries, const struct memb_ring_id *ring_id)
Definition: sync.h:39
const char * name
Definition: sync.h:48
int(* sync_process)(void)
Definition: sync.h:45
void(* sync_activate)(void)
Definition: sync.h:46
void(* sync_abort)(void)
Definition: sync.h:47
int sync_init(int(*sync_callbacks_retrieve)(int service_id, struct sync_callbacks *callbacks), void(*synchronization_completed)(void))
Definition: sync.c:158
void sync_memb_list_determine(const struct memb_ring_id *ring_id)
void sync_abort(void)
Definition: sync.c:535
void sync_save_transitional(const unsigned int *member_list, size_t member_list_entries, const struct memb_ring_id *ring_id)
Definition: sync.c:524
void sync_start(const unsigned int *member_list, size_t member_list_entries, const struct memb_ring_id *ring_id)
Definition: sync.c:512
void sync_memb_list_abort(void)
struct memb_ring_id ring_id
Definition: totemsrp.c:4