root/crmd/fsa_matrix.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (C) 2004 Andrew Beekhof <andrew@beekhof.net>
   3  *
   4  * This program is free software; you can redistribute it and/or
   5  * modify it under the terms of the GNU Lesser General Public
   6  * License as published by the Free Software Foundation; either
   7  * version 2 of the License, or (at your option) any later version.
   8  *
   9  * This software is distributed in the hope that it will be useful,
  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12  * General Public License for more details.
  13  *
  14  * You should have received a copy of the GNU Lesser General Public
  15  * License along with this library; if not, write to the Free Software
  16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  17  */
  18 
  19 #ifndef XML_FSA_MATRIX__H
  20 #  define XML_FSA_MATRIX__H
  21 
  22 /*
  23  *      The state transition table.  The rows are inputs, and
  24  *      the columns are states.
  25  */
  26 const enum crmd_fsa_state crmd_fsa_state[MAXINPUT][MAXSTATE] = {
  27 /* Got an I_NULL */
  28     {
  29      /* S_IDLE               ==> */ S_IDLE,
  30      /* S_ELECTION           ==> */ S_ELECTION,
  31      /* S_INTEGRATION        ==> */ S_INTEGRATION,
  32      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
  33      /* S_NOT_DC             ==> */ S_NOT_DC,
  34      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
  35      /* S_RECOVERY           ==> */ S_RECOVERY,
  36      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
  37      /* S_STARTING           ==> */ S_STARTING,
  38      /* S_PENDING            ==> */ S_PENDING,
  39      /* S_STOPPING           ==> */ S_STOPPING,
  40      /* S_TERMINATE          ==> */ S_TERMINATE,
  41      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
  42      /* S_HALT               ==> */ S_HALT,
  43      },
  44 
  45 /* Got an I_CIB_OP */
  46     {
  47      /* S_IDLE               ==> */ S_IDLE,
  48      /* S_ELECTION           ==> */ S_ELECTION,
  49      /* S_INTEGRATION        ==> */ S_INTEGRATION,
  50      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
  51      /* S_NOT_DC             ==> */ S_NOT_DC,
  52      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
  53      /* S_RECOVERY           ==> */ S_RECOVERY,
  54      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
  55      /* S_STARTING           ==> */ S_STARTING,
  56      /* S_PENDING            ==> */ S_PENDING,
  57      /* S_STOPPING           ==> */ S_STOPPING,
  58      /* S_TERMINATE          ==> */ S_TERMINATE,
  59      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
  60      /* S_HALT               ==> */ S_HALT,
  61      },
  62 
  63 /* Got an I_CIB_UPDATE */
  64     {
  65      /* S_IDLE               ==> */ S_IDLE,
  66      /* S_ELECTION           ==> */ S_ELECTION,
  67      /* S_INTEGRATION        ==> */ S_INTEGRATION,
  68      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
  69      /* S_NOT_DC             ==> */ S_RECOVERY,
  70      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
  71      /* S_RECOVERY           ==> */ S_RECOVERY,
  72      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
  73      /* S_STARTING           ==> */ S_RECOVERY,
  74      /* S_PENDING            ==> */ S_RECOVERY,
  75      /* S_STOPPING           ==> */ S_STOPPING,
  76      /* S_TERMINATE          ==> */ S_TERMINATE,
  77      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
  78      /* S_HALT               ==> */ S_HALT,
  79      },
  80 
  81 /* Got an I_DC_TIMEOUT */
  82     {
  83      /* S_IDLE               ==> */ S_RECOVERY,
  84      /* S_ELECTION           ==> */ S_ELECTION,
  85      /* S_INTEGRATION        ==> */ S_RECOVERY,
  86      /* S_FINALIZE_JOIN      ==> */ S_RECOVERY,
  87      /* S_NOT_DC             ==> */ S_ELECTION,
  88      /* S_POLICY_ENGINE      ==> */ S_RECOVERY,
  89      /* S_RECOVERY           ==> */ S_RECOVERY,
  90      /* S_RELEASE_DC         ==> */ S_RECOVERY,
  91      /* S_STARTING           ==> */ S_STARTING,
  92      /* S_PENDING            ==> */ S_ELECTION,
  93      /* S_STOPPING           ==> */ S_STOPPING,
  94      /* S_TERMINATE          ==> */ S_TERMINATE,
  95      /* S_TRANSITION_ENGINE  ==> */ S_RECOVERY,
  96      /* S_HALT               ==> */ S_ELECTION,
  97      },
  98 
  99 /* Got an I_ELECTION */
 100     {
 101      /* S_IDLE               ==> */ S_ELECTION,
 102      /* S_ELECTION           ==> */ S_ELECTION,
 103      /* S_INTEGRATION        ==> */ S_ELECTION,
 104      /* S_FINALIZE_JOIN      ==> */ S_ELECTION,
 105      /* S_NOT_DC             ==> */ S_ELECTION,
 106      /* S_POLICY_ENGINE      ==> */ S_ELECTION,
 107      /* S_RECOVERY           ==> */ S_RECOVERY,
 108      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 109      /* S_STARTING           ==> */ S_STARTING,
 110      /* S_PENDING            ==> */ S_ELECTION,
 111      /* S_STOPPING           ==> */ S_STOPPING,
 112      /* S_TERMINATE          ==> */ S_TERMINATE,
 113      /* S_TRANSITION_ENGINE  ==> */ S_ELECTION,
 114      /* S_HALT               ==> */ S_HALT,
 115      },
 116 
 117 /* Got an I_PE_CALC */
 118     {
 119      /* S_IDLE               ==> */ S_POLICY_ENGINE,
 120      /* S_ELECTION           ==> */ S_ELECTION,
 121      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 122      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 123      /* S_NOT_DC             ==> */ S_NOT_DC,
 124      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 125      /* S_RECOVERY           ==> */ S_RECOVERY,
 126      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 127      /* S_STARTING           ==> */ S_RECOVERY,
 128      /* S_PENDING            ==> */ S_PENDING,
 129      /* S_STOPPING           ==> */ S_STOPPING,
 130      /* S_TERMINATE          ==> */ S_TERMINATE,
 131      /* S_TRANSITION_ENGINE  ==> */ S_POLICY_ENGINE,
 132      /* S_HALT               ==> */ S_HALT,
 133      },
 134 
 135 /* Got an I_RELEASE_DC */
 136     {
 137      /* S_IDLE               ==> */ S_RELEASE_DC,
 138      /* S_ELECTION           ==> */ S_RELEASE_DC,
 139      /* S_INTEGRATION        ==> */ S_RELEASE_DC,
 140      /* S_FINALIZE_JOIN      ==> */ S_RELEASE_DC,
 141      /* S_NOT_DC             ==> */ S_NOT_DC,
 142      /* S_POLICY_ENGINE      ==> */ S_RELEASE_DC,
 143      /* S_RECOVERY           ==> */ S_RECOVERY,
 144      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 145      /* S_STARTING           ==> */ S_RECOVERY,
 146      /* S_PENDING            ==> */ S_PENDING,
 147      /* S_STOPPING           ==> */ S_STOPPING,
 148      /* S_TERMINATE          ==> */ S_TERMINATE,
 149      /* S_TRANSITION_ENGINE  ==> */ S_RELEASE_DC,
 150      /* S_HALT               ==> */ S_HALT,
 151      },
 152 
 153 /* Got an I_ELECTION_DC */
 154     {
 155      /* S_IDLE               ==> */ S_INTEGRATION,
 156      /* S_ELECTION           ==> */ S_INTEGRATION,
 157      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 158      /* S_FINALIZE_JOIN      ==> */ S_INTEGRATION,
 159      /* S_NOT_DC             ==> */ S_INTEGRATION,
 160      /* S_POLICY_ENGINE      ==> */ S_INTEGRATION,
 161      /* S_RECOVERY           ==> */ S_RECOVERY,
 162      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 163      /* S_STARTING           ==> */ S_RECOVERY,
 164      /* S_PENDING            ==> */ S_PENDING,
 165      /* S_STOPPING           ==> */ S_STOPPING,
 166      /* S_TERMINATE          ==> */ S_TERMINATE,
 167      /* S_TRANSITION_ENGINE  ==> */ S_INTEGRATION,
 168      /* S_HALT               ==> */ S_HALT,
 169      },
 170 
 171 /* Got an I_ERROR */
 172     {
 173      /* S_IDLE               ==> */ S_RECOVERY,
 174      /* S_ELECTION           ==> */ S_RECOVERY,
 175      /* S_INTEGRATION        ==> */ S_RECOVERY,
 176      /* S_FINALIZE_JOIN      ==> */ S_RECOVERY,
 177      /* S_NOT_DC             ==> */ S_RECOVERY,
 178      /* S_POLICY_ENGINE      ==> */ S_RECOVERY,
 179      /* S_RECOVERY           ==> */ S_RECOVERY,
 180      /* S_RELEASE_DC         ==> */ S_RECOVERY,
 181      /* S_STARTING           ==> */ S_RECOVERY,
 182      /* S_PENDING            ==> */ S_RECOVERY,
 183      /* S_STOPPING           ==> */ S_TERMINATE,
 184      /* S_TERMINATE          ==> */ S_TERMINATE,
 185      /* S_TRANSITION_ENGINE  ==> */ S_RECOVERY,
 186      /* S_HALT               ==> */ S_RECOVERY,
 187      },
 188 
 189 /* Got an I_FAIL */
 190     {
 191      /* S_IDLE               ==> */ S_RECOVERY,
 192      /* S_ELECTION           ==> */ S_RELEASE_DC,
 193      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 194      /* S_FINALIZE_JOIN      ==> */ S_INTEGRATION,
 195      /* S_NOT_DC             ==> */ S_RECOVERY,
 196      /* S_POLICY_ENGINE      ==> */ S_INTEGRATION,
 197      /* S_RECOVERY           ==> */ S_RECOVERY,
 198      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 199      /* S_STARTING           ==> */ S_STOPPING,
 200      /* S_PENDING            ==> */ S_STOPPING,
 201      /* S_STOPPING           ==> */ S_STOPPING,
 202      /* S_TERMINATE          ==> */ S_TERMINATE,
 203      /* S_TRANSITION_ENGINE  ==> */ S_POLICY_ENGINE,
 204      /* S_HALT               ==> */ S_RELEASE_DC,
 205      },
 206 
 207 /* Got an I_INTEGRATED */
 208     {
 209      /* S_IDLE               ==> */ S_IDLE,
 210      /* S_ELECTION           ==> */ S_ELECTION,
 211      /* S_INTEGRATION        ==> */ S_FINALIZE_JOIN,
 212      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 213      /* S_NOT_DC             ==> */ S_NOT_DC,
 214      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 215      /* S_RECOVERY           ==> */ S_RECOVERY,
 216      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 217      /* S_STARTING           ==> */ S_RECOVERY,
 218      /* S_PENDING            ==> */ S_RECOVERY,
 219      /* S_STOPPING           ==> */ S_STOPPING,
 220      /* S_TERMINATE          ==> */ S_TERMINATE,
 221      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 222      /* S_HALT               ==> */ S_HALT,
 223      },
 224 
 225 /* Got an I_FINALIZED */
 226     {
 227      /* S_IDLE               ==> */ S_IDLE,
 228      /* S_ELECTION           ==> */ S_ELECTION,
 229      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 230      /* S_FINALIZE_JOIN      ==> */ S_POLICY_ENGINE,
 231      /* S_NOT_DC             ==> */ S_NOT_DC,
 232      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 233      /* S_RECOVERY           ==> */ S_RECOVERY,
 234      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 235      /* S_STARTING           ==> */ S_RECOVERY,
 236      /* S_PENDING            ==> */ S_RECOVERY,
 237      /* S_STOPPING           ==> */ S_STOPPING,
 238      /* S_TERMINATE          ==> */ S_TERMINATE,
 239      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 240      /* S_HALT               ==> */ S_HALT,
 241      },
 242 
 243 /* Got an I_NODE_JOIN */
 244     {
 245      /* S_IDLE               ==> */ S_INTEGRATION,
 246      /* S_ELECTION           ==> */ S_ELECTION,
 247      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 248      /* S_FINALIZE_JOIN      ==> */ S_INTEGRATION,
 249      /* S_NOT_DC             ==> */ S_NOT_DC,
 250      /* S_POLICY_ENGINE      ==> */ S_INTEGRATION,
 251      /* S_RECOVERY           ==> */ S_RECOVERY,
 252      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 253      /* S_STARTING           ==> */ S_RECOVERY,
 254      /* S_PENDING            ==> */ S_PENDING,
 255      /* S_STOPPING           ==> */ S_STOPPING,
 256      /* S_TERMINATE          ==> */ S_TERMINATE,
 257      /* S_TRANSITION_ENGINE  ==> */ S_INTEGRATION,
 258      /* S_HALT               ==> */ S_HALT,
 259      },
 260 
 261 /* Got an I_NOT_DC */
 262     {
 263      /* S_IDLE               ==> */ S_RECOVERY,
 264      /* S_ELECTION           ==> */ S_ELECTION,
 265      /* S_INTEGRATION        ==> */ S_RECOVERY,
 266      /* S_FINALIZE_JOIN      ==> */ S_RECOVERY,
 267      /* S_NOT_DC             ==> */ S_NOT_DC,
 268      /* S_POLICY_ENGINE      ==> */ S_RECOVERY,
 269      /* S_RECOVERY           ==> */ S_RECOVERY,
 270      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 271      /* S_STARTING           ==> */ S_RECOVERY,
 272      /* S_PENDING            ==> */ S_NOT_DC,
 273      /* S_STOPPING           ==> */ S_STOPPING,
 274      /* S_TERMINATE          ==> */ S_TERMINATE,
 275      /* S_TRANSITION_ENGINE  ==> */ S_RECOVERY,
 276      /* S_HALT               ==> */ S_HALT,
 277      },
 278 
 279 /* Got an I_RECOVERED */
 280     {
 281      /* S_IDLE               ==> */ S_IDLE,
 282      /* S_ELECTION           ==> */ S_ELECTION,
 283      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 284      /* S_FINALIZE_JOIN      ==> */ S_INTEGRATION,
 285      /* S_NOT_DC             ==> */ S_NOT_DC,
 286      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 287      /* S_RECOVERY           ==> */ S_PENDING,
 288      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 289      /* S_STARTING           ==> */ S_STARTING,
 290      /* S_PENDING            ==> */ S_PENDING,
 291      /* S_STOPPING           ==> */ S_STOPPING,
 292      /* S_TERMINATE          ==> */ S_TERMINATE,
 293      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 294      /* S_HALT               ==> */ S_HALT,
 295      },
 296 
 297 /* Got an I_RELEASE_FAIL */
 298     {
 299      /* S_IDLE               ==> */ S_STOPPING,
 300      /* S_ELECTION           ==> */ S_STOPPING,
 301      /* S_INTEGRATION        ==> */ S_STOPPING,
 302      /* S_FINALIZE_JOIN      ==> */ S_STOPPING,
 303      /* S_NOT_DC             ==> */ S_NOT_DC,
 304      /* S_POLICY_ENGINE      ==> */ S_STOPPING,
 305      /* S_RECOVERY           ==> */ S_STOPPING,
 306      /* S_RELEASE_DC         ==> */ S_STOPPING,
 307      /* S_STARTING           ==> */ S_RECOVERY,
 308      /* S_PENDING            ==> */ S_PENDING,
 309      /* S_STOPPING           ==> */ S_STOPPING,
 310      /* S_TERMINATE          ==> */ S_TERMINATE,
 311      /* S_TRANSITION_ENGINE  ==> */ S_STOPPING,
 312      /* S_HALT               ==> */ S_HALT,
 313      },
 314 
 315 /* Got an I_RELEASE_SUCCESS */
 316     {
 317      /* S_IDLE               ==> */ S_RECOVERY,
 318      /* S_ELECTION           ==> */ S_ELECTION,
 319      /* S_INTEGRATION        ==> */ S_RECOVERY,
 320      /* S_FINALIZE_JOIN      ==> */ S_RECOVERY,
 321      /* S_NOT_DC             ==> */ S_NOT_DC,
 322      /* S_POLICY_ENGINE      ==> */ S_RECOVERY,
 323      /* S_RECOVERY           ==> */ S_RECOVERY,
 324      /* S_RELEASE_DC         ==> */ S_PENDING,
 325      /* S_STARTING           ==> */ S_RECOVERY,
 326      /* S_PENDING            ==> */ S_PENDING,
 327      /* S_STOPPING           ==> */ S_STOPPING,
 328      /* S_TERMINATE          ==> */ S_TERMINATE,
 329      /* S_TRANSITION_ENGINE  ==> */ S_RECOVERY,
 330      /* S_HALT               ==> */ S_HALT,
 331      },
 332 
 333 /* Got an I_RESTART */
 334     {
 335      /* S_IDLE               ==> */ S_IDLE,
 336      /* S_ELECTION           ==> */ S_ELECTION,
 337      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 338      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 339      /* S_NOT_DC             ==> */ S_NOT_DC,
 340      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 341      /* S_RECOVERY           ==> */ S_RECOVERY,
 342      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 343      /* S_STARTING           ==> */ S_STARTING,
 344      /* S_PENDING            ==> */ S_PENDING,
 345      /* S_STOPPING           ==> */ S_STOPPING,
 346      /* S_TERMINATE          ==> */ S_TERMINATE,
 347      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 348      /* S_HALT               ==> */ S_HALT,
 349      },
 350 
 351 /* Got an I_TE_SUCCESS */
 352     {
 353      /* S_IDLE               ==> */ S_IDLE,
 354      /* S_ELECTION           ==> */ S_ELECTION,
 355      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 356      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 357      /* S_NOT_DC             ==> */ S_NOT_DC,
 358      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 359      /* S_RECOVERY           ==> */ S_RECOVERY,
 360      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 361      /* S_STARTING           ==> */ S_RECOVERY,
 362      /* S_PENDING            ==> */ S_PENDING,
 363      /* S_STOPPING           ==> */ S_STOPPING,
 364      /* S_TERMINATE          ==> */ S_TERMINATE,
 365      /* S_TRANSITION_ENGINE  ==> */ S_IDLE,
 366      /* S_HALT               ==> */ S_HALT,
 367      },
 368 
 369 /* Got an I_ROUTER */
 370     {
 371      /* S_IDLE               ==> */ S_IDLE,
 372      /* S_ELECTION           ==> */ S_ELECTION,
 373      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 374      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 375      /* S_NOT_DC             ==> */ S_NOT_DC,
 376      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 377      /* S_RECOVERY           ==> */ S_RECOVERY,
 378      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 379      /* S_STARTING           ==> */ S_STARTING,
 380      /* S_PENDING            ==> */ S_PENDING,
 381      /* S_STOPPING           ==> */ S_STOPPING,
 382      /* S_TERMINATE          ==> */ S_TERMINATE,
 383      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 384      /* S_HALT               ==> */ S_HALT,
 385      },
 386 
 387 /* Got an I_SHUTDOWN */
 388     {
 389      /* S_IDLE               ==> */ S_POLICY_ENGINE,
 390      /* S_ELECTION           ==> */ S_ELECTION,
 391      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 392      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 393      /* S_NOT_DC             ==> */ S_NOT_DC,
 394      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 395      /* S_RECOVERY           ==> */ S_STOPPING,
 396      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 397      /* S_STARTING           ==> */ S_STOPPING,
 398      /* S_PENDING            ==> */ S_PENDING,
 399      /* S_STOPPING           ==> */ S_STOPPING,
 400      /* S_TERMINATE          ==> */ S_TERMINATE,
 401      /* S_TRANSITION_ENGINE  ==> */ S_POLICY_ENGINE,
 402      /* S_HALT               ==> */ S_ELECTION,
 403      },
 404 
 405 /* Got an I_STOP */
 406     {
 407      /* S_IDLE               ==> */ S_STOPPING,
 408      /* S_ELECTION           ==> */ S_STOPPING,
 409      /* S_INTEGRATION        ==> */ S_STOPPING,
 410      /* S_FINALIZE_JOIN      ==> */ S_STOPPING,
 411      /* S_NOT_DC             ==> */ S_STOPPING,
 412      /* S_POLICY_ENGINE      ==> */ S_STOPPING,
 413      /* S_RECOVERY           ==> */ S_STOPPING,
 414      /* S_RELEASE_DC         ==> */ S_STOPPING,
 415      /* S_STARTING           ==> */ S_STOPPING,
 416      /* S_PENDING            ==> */ S_STOPPING,
 417      /* S_STOPPING           ==> */ S_STOPPING,
 418      /* S_TERMINATE          ==> */ S_TERMINATE,
 419      /* S_TRANSITION_ENGINE  ==> */ S_STOPPING,
 420      /* S_HALT               ==> */ S_STOPPING,
 421      },
 422 
 423 /* Got an I_TERMINATE */
 424     {
 425      /* S_IDLE               ==> */ S_TERMINATE,
 426      /* S_ELECTION           ==> */ S_TERMINATE,
 427      /* S_INTEGRATION        ==> */ S_TERMINATE,
 428      /* S_FINALIZE_JOIN      ==> */ S_TERMINATE,
 429      /* S_NOT_DC             ==> */ S_TERMINATE,
 430      /* S_POLICY_ENGINE      ==> */ S_TERMINATE,
 431      /* S_RECOVERY           ==> */ S_TERMINATE,
 432      /* S_RELEASE_DC         ==> */ S_TERMINATE,
 433      /* S_STARTING           ==> */ S_TERMINATE,
 434      /* S_PENDING            ==> */ S_TERMINATE,
 435      /* S_STOPPING           ==> */ S_TERMINATE,
 436      /* S_TERMINATE          ==> */ S_TERMINATE,
 437      /* S_TRANSITION_ENGINE  ==> */ S_TERMINATE,
 438      /* S_HALT               ==> */ S_TERMINATE,
 439      },
 440 
 441 /* Got an I_STARTUP */
 442     {
 443      /* S_IDLE               ==> */ S_RECOVERY,
 444      /* S_ELECTION           ==> */ S_RECOVERY,
 445      /* S_INTEGRATION        ==> */ S_RECOVERY,
 446      /* S_FINALIZE_JOIN      ==> */ S_RECOVERY,
 447      /* S_NOT_DC             ==> */ S_RECOVERY,
 448      /* S_POLICY_ENGINE      ==> */ S_RECOVERY,
 449      /* S_RECOVERY           ==> */ S_RECOVERY,
 450      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 451      /* S_STARTING           ==> */ S_STARTING,
 452      /* S_PENDING            ==> */ S_PENDING,
 453      /* S_STOPPING           ==> */ S_STOPPING,
 454      /* S_TERMINATE          ==> */ S_TERMINATE,
 455      /* S_TRANSITION_ENGINE  ==> */ S_RECOVERY,
 456      /* S_HALT               ==> */ S_HALT,
 457      },
 458 
 459 /* Got an I_PE_SUCCESS */
 460     {
 461      /* S_IDLE               ==> */ S_IDLE,
 462      /* S_ELECTION           ==> */ S_ELECTION,
 463      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 464      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 465      /* S_NOT_DC             ==> */ S_NOT_DC,
 466      /* S_POLICY_ENGINE      ==> */ S_TRANSITION_ENGINE,
 467      /* S_RECOVERY           ==> */ S_RECOVERY,
 468      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 469      /* S_STARTING           ==> */ S_RECOVERY,
 470      /* S_PENDING            ==> */ S_PENDING,
 471      /* S_STOPPING           ==> */ S_STOPPING,
 472      /* S_TERMINATE          ==> */ S_TERMINATE,
 473      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 474      /* S_HALT               ==> */ S_HALT,
 475      },
 476 
 477 /* Got an I_JOIN_OFFER */
 478     {
 479      /* S_IDLE               ==> */ S_IDLE,
 480      /* S_ELECTION           ==> */ S_ELECTION,
 481      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 482      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 483      /* S_NOT_DC             ==> */ S_PENDING,
 484      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 485      /* S_RECOVERY           ==> */ S_RECOVERY,
 486      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 487      /* S_STARTING           ==> */ S_STARTING,
 488      /* S_PENDING            ==> */ S_PENDING,
 489      /* S_STOPPING           ==> */ S_STOPPING,
 490      /* S_TERMINATE          ==> */ S_TERMINATE,
 491      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 492      /* S_HALT               ==> */ S_HALT,
 493      },
 494 
 495 /* Got an I_JOIN_REQUEST */
 496     {
 497      /* S_IDLE               ==> */ S_INTEGRATION,
 498      /* S_ELECTION           ==> */ S_ELECTION,
 499      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 500      /* S_FINALIZE_JOIN      ==> */ S_INTEGRATION,
 501      /* S_NOT_DC             ==> */ S_NOT_DC,
 502      /* S_POLICY_ENGINE      ==> */ S_INTEGRATION,
 503      /* S_RECOVERY           ==> */ S_RECOVERY,
 504      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 505      /* S_STARTING           ==> */ S_STARTING,
 506      /* S_PENDING            ==> */ S_PENDING,
 507      /* S_STOPPING           ==> */ S_STOPPING,
 508      /* S_TERMINATE          ==> */ S_TERMINATE,
 509      /* S_TRANSITION_ENGINE  ==> */ S_INTEGRATION,
 510      /* S_HALT               ==> */ S_HALT,
 511      },
 512 
 513 /* Got an I_JOIN_RESULT */
 514     {
 515      /* S_IDLE               ==> */ S_INTEGRATION,
 516      /* S_ELECTION           ==> */ S_ELECTION,
 517      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 518      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 519      /* S_NOT_DC             ==> */ S_PENDING,
 520      /* S_POLICY_ENGINE      ==> */ S_INTEGRATION,
 521      /* S_RECOVERY           ==> */ S_RECOVERY,
 522      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 523      /* S_STARTING           ==> */ S_RECOVERY,
 524      /* S_PENDING            ==> */ S_PENDING,
 525      /* S_STOPPING           ==> */ S_STOPPING,
 526      /* S_TERMINATE          ==> */ S_TERMINATE,
 527      /* S_TRANSITION_ENGINE  ==> */ S_INTEGRATION,
 528      /* S_HALT               ==> */ S_HALT,
 529      },
 530 
 531 /* Got an I_WAIT_FOR_EVENT */
 532     {
 533      /* S_IDLE               ==> */ S_IDLE,
 534      /* S_ELECTION           ==> */ S_ELECTION,
 535      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 536      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 537      /* S_NOT_DC             ==> */ S_NOT_DC,
 538      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 539      /* S_RECOVERY           ==> */ S_RECOVERY,
 540      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 541      /* S_STARTING           ==> */ S_STARTING,
 542      /* S_PENDING            ==> */ S_PENDING,
 543      /* S_STOPPING           ==> */ S_STOPPING,
 544      /* S_TERMINATE          ==> */ S_TERMINATE,
 545      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 546      /* S_HALT               ==> */ S_HALT,
 547      },
 548 
 549 /* Got an I_DC_HEARTBEAT */
 550     {
 551      /* S_IDLE               ==> */ S_IDLE,
 552      /* S_ELECTION           ==> */ S_ELECTION,
 553      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 554      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 555      /* S_NOT_DC             ==> */ S_NOT_DC,
 556      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 557      /* S_RECOVERY           ==> */ S_RECOVERY,
 558      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 559      /* S_STARTING           ==> */ S_STARTING,
 560      /* S_PENDING            ==> */ S_PENDING,
 561      /* S_STOPPING           ==> */ S_STOPPING,
 562      /* S_TERMINATE          ==> */ S_TERMINATE,
 563      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 564      /* S_HALT               ==> */ S_HALT,
 565      },
 566 
 567 /* Got an I_LRM_EVENT */
 568     {
 569      /* S_IDLE               ==> */ S_IDLE,
 570      /* S_ELECTION           ==> */ S_ELECTION,
 571      /* S_INTEGRATION        ==> */ S_INTEGRATION,
 572      /* S_FINALIZE_JOIN      ==> */ S_FINALIZE_JOIN,
 573      /* S_NOT_DC             ==> */ S_NOT_DC,
 574      /* S_POLICY_ENGINE      ==> */ S_POLICY_ENGINE,
 575      /* S_RECOVERY           ==> */ S_RECOVERY,
 576      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 577      /* S_STARTING           ==> */ S_STARTING,
 578      /* S_PENDING            ==> */ S_PENDING,
 579      /* S_STOPPING           ==> */ S_STOPPING,
 580      /* S_TERMINATE          ==> */ S_TERMINATE,
 581      /* S_TRANSITION_ENGINE  ==> */ S_TRANSITION_ENGINE,
 582      /* S_HALT               ==> */ S_HALT,
 583      },
 584 
 585 /* Got an I_PENDING */
 586     {
 587      /* S_IDLE               ==> */ S_PENDING,
 588      /* S_ELECTION           ==> */ S_PENDING,
 589      /* S_INTEGRATION        ==> */ S_PENDING,
 590      /* S_FINALIZE_JOIN      ==> */ S_PENDING,
 591      /* S_NOT_DC             ==> */ S_PENDING,
 592      /* S_POLICY_ENGINE      ==> */ S_PENDING,
 593      /* S_RECOVERY           ==> */ S_RECOVERY,
 594      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 595      /* S_STARTING           ==> */ S_PENDING,
 596      /* S_PENDING            ==> */ S_PENDING,
 597      /* S_STOPPING           ==> */ S_STOPPING,
 598      /* S_TERMINATE          ==> */ S_TERMINATE,
 599      /* S_TRANSITION_ENGINE  ==> */ S_PENDING,
 600      /* S_HALT               ==> */ S_HALT,
 601      },
 602 
 603 /* Got an I_HALT */
 604     {
 605      /* S_IDLE               ==> */ S_HALT,
 606      /* S_ELECTION           ==> */ S_HALT,
 607      /* S_INTEGRATION        ==> */ S_HALT,
 608      /* S_FINALIZE_JOIN      ==> */ S_HALT,
 609      /* S_NOT_DC             ==> */ S_HALT,
 610      /* S_POLICY_ENGINE      ==> */ S_HALT,
 611      /* S_RECOVERY           ==> */ S_RECOVERY,
 612      /* S_RELEASE_DC         ==> */ S_RELEASE_DC,
 613      /* S_STARTING           ==> */ S_STARTING,
 614      /* S_PENDING            ==> */ S_HALT,
 615      /* S_STOPPING           ==> */ S_STOPPING,
 616      /* S_TERMINATE          ==> */ S_TERMINATE,
 617      /* S_TRANSITION_ENGINE  ==> */ S_HALT,
 618      /* S_HALT               ==> */ S_HALT,
 619      },
 620 };
 621 
 622 /*
 623  *      The action table.  Each entry is a set of actions to take or-ed
 624  *      together.  Like the state table, the rows are inputs, and
 625  *      the columns are states.
 626  */
 627 
 628 /* NOTE: In the fsa, the actions are extracted then state is updated. */
 629 
 630 const long long crmd_fsa_actions[MAXINPUT][MAXSTATE] = {
 631 
 632 /* Got an I_NULL */
 633     {
 634      /* S_IDLE               ==> */ A_NOTHING,
 635      /* S_ELECTION           ==> */ A_NOTHING,
 636      /* S_INTEGRATION        ==> */ A_NOTHING,
 637      /* S_FINALIZE_JOIN      ==> */ A_NOTHING,
 638      /* S_NOT_DC             ==> */ A_NOTHING,
 639      /* S_POLICY_ENGINE      ==> */ A_NOTHING,
 640      /* S_RECOVERY           ==> */ A_NOTHING,
 641      /* S_RELEASE_DC         ==> */ A_NOTHING,
 642      /* S_STARTING           ==> */ A_NOTHING,
 643      /* S_PENDING            ==> */ A_NOTHING,
 644      /* S_STOPPING           ==> */ A_NOTHING,
 645      /* S_TERMINATE          ==> */ A_NOTHING,
 646      /* S_TRANSITION_ENGINE  ==> */ A_NOTHING,
 647      /* S_HALT               ==> */ A_NOTHING,
 648      },
 649 
 650 /* Got an I_CIB_OP */
 651     {
 652      /* S_IDLE               ==> */ A_ERROR,
 653      /* S_ELECTION           ==> */ A_ERROR,
 654      /* S_INTEGRATION        ==> */ A_ERROR,
 655      /* S_FINALIZE_JOIN      ==> */ A_ERROR,
 656      /* S_NOT_DC             ==> */ A_ERROR,
 657      /* S_POLICY_ENGINE      ==> */ A_ERROR,
 658      /* S_RECOVERY           ==> */ A_ERROR,
 659      /* S_RELEASE_DC         ==> */ A_ERROR,
 660      /* S_STARTING           ==> */ A_ERROR,
 661      /* S_PENDING            ==> */ A_ERROR,
 662      /* S_STOPPING           ==> */ A_ERROR,
 663      /* S_TERMINATE          ==> */ A_ERROR,
 664      /* S_TRANSITION_ENGINE  ==> */ A_ERROR,
 665      /* S_HALT               ==> */ A_ERROR,
 666      },
 667 
 668 /* Got an I_CIB_UPDATE */
 669     {
 670      /* S_IDLE               ==> */ A_LOG,
 671      /* S_ELECTION           ==> */ A_LOG,
 672      /* S_INTEGRATION        ==> */ A_WARN,
 673      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 674      /* S_NOT_DC             ==> */ A_WARN,
 675      /* S_POLICY_ENGINE      ==> */ A_LOG,
 676      /* S_RECOVERY           ==> */ A_WARN,
 677      /* S_RELEASE_DC         ==> */ A_WARN,
 678      /* S_STARTING           ==> */ A_WARN,
 679      /* S_PENDING            ==> */ A_WARN,
 680      /* S_STOPPING           ==> */ A_WARN,
 681      /* S_TERMINATE          ==> */ A_WARN,
 682      /* S_TRANSITION_ENGINE  ==> */ A_LOG,
 683      /* S_HALT               ==> */ A_WARN,
 684      },
 685 
 686 /* Got an I_DC_TIMEOUT */
 687     {
 688      /* S_IDLE               ==> */ A_WARN,
 689      /* S_ELECTION           ==> */ A_ELECTION_VOTE,
 690      /* S_INTEGRATION        ==> */ A_WARN,
 691      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 692      /* S_NOT_DC             ==> */ A_ELECTION_VOTE | A_WARN,
 693      /* S_POLICY_ENGINE      ==> */ A_WARN,
 694      /* S_RECOVERY           ==> */ A_NOTHING,
 695      /* S_RELEASE_DC         ==> */ A_WARN,
 696      /* S_STARTING           ==> */ A_WARN,
 697      /* S_PENDING            ==> */ A_ELECTION_VOTE | A_WARN,
 698      /* S_STOPPING           ==> */ A_NOTHING,
 699      /* S_TERMINATE          ==> */ A_NOTHING,
 700      /* S_TRANSITION_ENGINE  ==> */ A_TE_CANCEL | A_WARN,
 701      /* S_HALT               ==> */ A_WARN,
 702      },
 703 
 704 /* Got an I_ELECTION */
 705     {
 706      /* S_IDLE               ==> */ A_ELECTION_VOTE,
 707      /* S_ELECTION           ==> */ A_ELECTION_VOTE,
 708      /* S_INTEGRATION        ==> */ A_ELECTION_VOTE,
 709      /* S_FINALIZE_JOIN      ==> */ A_ELECTION_VOTE,
 710      /* S_NOT_DC             ==> */ A_ELECTION_VOTE,
 711      /* S_POLICY_ENGINE      ==> */ A_ELECTION_VOTE,
 712      /* S_RECOVERY           ==> */ A_LOG,
 713      /* S_RELEASE_DC         ==> */ A_LOG,
 714      /* S_STARTING           ==> */ A_WARN,
 715      /* S_PENDING            ==> */ A_ELECTION_VOTE,
 716      /* S_STOPPING           ==> */ A_LOG,
 717      /* S_TERMINATE          ==> */ A_LOG,
 718      /* S_TRANSITION_ENGINE  ==> */ A_ELECTION_VOTE,
 719      /* S_HALT               ==> */ A_ELECTION_VOTE,
 720      },
 721 
 722 /* Got an I_PE_CALC */
 723     {
 724      /* S_IDLE               ==> */ A_PE_INVOKE,
 725      /* S_ELECTION           ==> */ A_NOTHING,
 726      /* S_INTEGRATION        ==> */ A_NOTHING,
 727      /* S_FINALIZE_JOIN      ==> */ A_NOTHING,
 728      /* S_NOT_DC             ==> */ A_WARN,
 729      /* S_POLICY_ENGINE      ==> */ A_PE_INVOKE,
 730      /* S_RECOVERY           ==> */ A_NOTHING,
 731      /* S_RELEASE_DC         ==> */ A_NOTHING,
 732      /* S_STARTING           ==> */ A_ERROR,
 733      /* S_PENDING            ==> */ A_WARN,
 734      /* S_STOPPING           ==> */ A_WARN,
 735      /* S_TERMINATE          ==> */ A_ERROR,
 736      /* S_TRANSITION_ENGINE  ==> */ A_PE_INVOKE,
 737      /* S_HALT               ==> */ A_ERROR,
 738      },
 739 
 740 /* Got an I_RELEASE_DC */
 741     {
 742      /* S_IDLE               ==> */ O_RELEASE,
 743      /* S_ELECTION           ==> */ O_RELEASE,
 744      /* S_INTEGRATION        ==> */ O_RELEASE | A_WARN,
 745      /* S_FINALIZE_JOIN      ==> */ O_RELEASE | A_WARN,
 746      /* S_NOT_DC             ==> */ A_WARN,
 747      /* S_POLICY_ENGINE      ==> */ O_RELEASE | A_WARN,
 748      /* S_RECOVERY           ==> */ O_RELEASE,
 749      /* S_RELEASE_DC         ==> */ O_RELEASE | A_WARN,
 750      /* S_STARTING           ==> */ A_ERROR,
 751      /* S_PENDING            ==> */ A_WARN,
 752      /* S_STOPPING           ==> */ A_WARN,
 753      /* S_TERMINATE          ==> */ A_WARN,
 754      /* S_TRANSITION_ENGINE  ==> */ O_RELEASE | A_WARN,
 755      /* S_HALT               ==> */ A_WARN,
 756      },
 757 
 758 /* Got an I_ELECTION_DC */
 759     {
 760      /* S_IDLE               ==> */ A_WARN | A_ELECTION_VOTE,
 761      /* S_ELECTION           ==> */
 762      A_LOG | A_DC_TAKEOVER | A_PE_START | A_TE_START | A_DC_JOIN_OFFER_ALL | A_DC_TIMER_STOP,
 763      /* S_INTEGRATION        ==> */ A_WARN | A_ELECTION_VOTE | A_DC_JOIN_OFFER_ALL,
 764      /* S_FINALIZE_JOIN      ==> */ A_WARN | A_ELECTION_VOTE | A_DC_JOIN_OFFER_ALL,
 765      /* S_NOT_DC             ==> */ A_LOG | A_ELECTION_VOTE,
 766      /* S_POLICY_ENGINE      ==> */ A_WARN | A_ELECTION_VOTE,
 767      /* S_RECOVERY           ==> */ A_WARN,
 768      /* S_RELEASE_DC         ==> */ A_WARN | A_ELECTION_VOTE,
 769      /* S_STARTING           ==> */ A_LOG | A_WARN,
 770      /* S_PENDING            ==> */ A_LOG | A_WARN,
 771      /* S_STOPPING           ==> */ A_WARN,
 772      /* S_TERMINATE          ==> */ A_WARN,
 773      /* S_TRANSITION_ENGINE  ==> */ A_WARN | A_ELECTION_VOTE,
 774      /* S_HALT               ==> */ A_WARN,
 775      },
 776 
 777 /* Got an I_ERROR */
 778     {
 779      /* S_IDLE               ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 780      /* S_ELECTION           ==> */ A_ERROR | A_RECOVER | O_RELEASE,
 781      /* S_INTEGRATION        ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 782      /* S_FINALIZE_JOIN      ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 783      /* S_NOT_DC             ==> */ A_ERROR | A_RECOVER,
 784      /* S_POLICY_ENGINE      ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 785      /* S_RECOVERY           ==> */ A_ERROR | O_RELEASE,
 786      /* S_RELEASE_DC         ==> */ A_ERROR | A_RECOVER,
 787      /* S_STARTING           ==> */ A_ERROR | A_RECOVER,
 788      /* S_PENDING            ==> */ A_ERROR | A_RECOVER,
 789      /* S_STOPPING           ==> */ A_ERROR | A_EXIT_1,
 790      /* S_TERMINATE          ==> */ A_ERROR | A_EXIT_1,
 791      /* S_TRANSITION_ENGINE  ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 792      /* S_HALT               ==> */ A_ERROR | A_RECOVER | O_RELEASE | A_ELECTION_START,
 793      },
 794 
 795 /* Got an I_FAIL */
 796     {
 797      /* S_IDLE               ==> */ A_WARN,
 798      /* S_ELECTION           ==> */ A_WARN,
 799      /* S_INTEGRATION        ==> */ A_WARN | A_DC_JOIN_OFFER_ALL,
 800      /* S_FINALIZE_JOIN      ==> */ A_WARN | A_DC_JOIN_OFFER_ALL,
 801      /* S_NOT_DC             ==> */ A_WARN,
 802      /* S_POLICY_ENGINE      ==> */ A_WARN | A_DC_JOIN_OFFER_ALL | A_TE_CANCEL,
 803      /* S_RECOVERY           ==> */ A_WARN | O_RELEASE,
 804      /* S_RELEASE_DC         ==> */ A_WARN,
 805      /* S_STARTING           ==> */ A_WARN,
 806      /* S_PENDING            ==> */ A_WARN,
 807      /* S_STOPPING           ==> */ A_WARN,
 808      /* S_TERMINATE          ==> */ A_WARN | A_EXIT_1,
 809      /* S_TRANSITION_ENGINE  ==> */ A_WARN | O_LRM_RECONNECT | A_PE_INVOKE | A_TE_CANCEL,
 810      /* S_HALT               ==> */ A_WARN,
 811      },
 812 
 813 /* Got an I_INTEGRATED */
 814     {
 815      /* S_IDLE               ==> */ A_NOTHING,
 816      /* S_ELECTION           ==> */ A_WARN,
 817      /* S_INTEGRATION        ==> */ A_DC_JOIN_FINALIZE,
 818      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 819      /* S_NOT_DC             ==> */ A_WARN,
 820      /* S_POLICY_ENGINE      ==> */ A_NOTHING,
 821      /* S_RECOVERY           ==> */ A_WARN,
 822      /* S_RELEASE_DC         ==> */ A_WARN,
 823      /* S_STARTING           ==> */ A_WARN,
 824      /* S_PENDING            ==> */ A_WARN,
 825      /* S_STOPPING           ==> */ A_WARN,
 826      /* S_TERMINATE          ==> */ A_WARN,
 827      /* S_TRANSITION_ENGINE  ==> */ A_NOTHING,
 828      /* S_HALT               ==> */ A_WARN,
 829      },
 830 
 831 /* Got an I_FINALIZED */
 832     {
 833      /* S_IDLE               ==> */ A_NOTHING,
 834      /* S_ELECTION           ==> */ A_WARN,
 835      /* S_INTEGRATION        ==> */ A_WARN,
 836      /* S_FINALIZE_JOIN      ==> */ A_DC_JOIN_FINAL | A_TE_CANCEL,
 837      /* S_NOT_DC             ==> */ A_WARN,
 838      /* S_POLICY_ENGINE      ==> */ A_NOTHING,
 839      /* S_RECOVERY           ==> */ A_WARN,
 840      /* S_RELEASE_DC         ==> */ A_WARN,
 841      /* S_STARTING           ==> */ A_WARN,
 842      /* S_PENDING            ==> */ A_WARN,
 843      /* S_STOPPING           ==> */ A_WARN,
 844      /* S_TERMINATE          ==> */ A_WARN,
 845      /* S_TRANSITION_ENGINE  ==> */ A_NOTHING,
 846      /* S_HALT               ==> */ A_WARN,
 847      },
 848 
 849 /* Got an I_NODE_JOIN */
 850     {
 851      /* S_IDLE               ==> */ A_TE_HALT | A_DC_JOIN_OFFER_ONE,
 852      /* S_ELECTION           ==> */ A_WARN,
 853      /* S_INTEGRATION        ==> */ A_DC_JOIN_OFFER_ONE,
 854      /* S_FINALIZE_JOIN      ==> */ A_DC_JOIN_OFFER_ONE,
 855      /* S_NOT_DC             ==> */ A_WARN,
 856      /* S_POLICY_ENGINE      ==> */ A_DC_JOIN_OFFER_ONE,
 857      /* S_RECOVERY           ==> */ A_WARN,
 858      /* S_RELEASE_DC         ==> */ A_WARN,
 859      /* S_STARTING           ==> */ A_WARN,
 860      /* S_PENDING            ==> */ A_WARN,
 861      /* S_STOPPING           ==> */ A_WARN,
 862      /* S_TERMINATE          ==> */ A_WARN,
 863      /* S_TRANSITION_ENGINE  ==> */ A_TE_HALT | A_DC_JOIN_OFFER_ONE,
 864      /* S_HALT               ==> */ A_WARN,
 865      },
 866 
 867 /* Got an I_NOT_DC */
 868     {
 869      /* S_IDLE               ==> */ A_WARN | O_RELEASE,
 870      /* S_ELECTION           ==> */ A_ERROR | A_ELECTION_START | A_DC_TIMER_STOP,
 871      /* S_INTEGRATION        ==> */ A_ERROR | O_RELEASE,
 872      /* S_FINALIZE_JOIN      ==> */ A_ERROR | O_RELEASE,
 873      /* S_NOT_DC             ==> */ A_LOG,
 874      /* S_POLICY_ENGINE      ==> */ A_ERROR | O_RELEASE,
 875      /* S_RECOVERY           ==> */ A_ERROR | O_RELEASE,
 876      /* S_RELEASE_DC         ==> */ A_ERROR | O_RELEASE,
 877      /* S_STARTING           ==> */ A_WARN,
 878      /* S_PENDING            ==> */ A_LOG | A_DC_TIMER_STOP,
 879      /* S_STOPPING           ==> */ A_WARN,
 880      /* S_TERMINATE          ==> */ A_WARN,
 881      /* S_TRANSITION_ENGINE  ==> */ A_ERROR | O_RELEASE,
 882      /* S_HALT               ==> */ A_WARN,
 883      },
 884 
 885 /* Got an I_RECOVERED */
 886     {
 887      /* S_IDLE               ==> */ A_WARN,
 888      /* S_ELECTION           ==> */ A_ELECTION_VOTE,
 889      /* S_INTEGRATION        ==> */ A_WARN,
 890      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 891      /* S_NOT_DC             ==> */ A_WARN,
 892      /* S_POLICY_ENGINE      ==> */ A_WARN,
 893      /* S_RECOVERY           ==> */ A_LOG,
 894      /* S_RELEASE_DC         ==> */ A_WARN,
 895      /* S_STARTING           ==> */ A_WARN,
 896      /* S_PENDING            ==> */ A_WARN,
 897      /* S_STOPPING           ==> */ A_WARN,
 898      /* S_TERMINATE          ==> */ A_WARN,
 899      /* S_TRANSITION_ENGINE  ==> */ A_WARN,
 900      /* S_HALT               ==> */ A_WARN,
 901      },
 902 
 903 /* Got an I_RELEASE_FAIL */
 904     {
 905      /* S_IDLE               ==> */ A_WARN,
 906      /* S_ELECTION           ==> */ A_WARN,
 907      /* S_INTEGRATION        ==> */ A_WARN,
 908      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 909      /* S_NOT_DC             ==> */ A_WARN,
 910      /* S_POLICY_ENGINE      ==> */ A_NOTHING,
 911      /* S_RECOVERY           ==> */ A_WARN | A_SHUTDOWN_REQ,
 912      /* S_RELEASE_DC         ==> */ A_NOTHING,
 913      /* S_STARTING           ==> */ A_WARN,
 914      /* S_PENDING            ==> */ A_WARN,
 915      /* S_STOPPING           ==> */ A_WARN,
 916      /* S_TERMINATE          ==> */ A_WARN,
 917      /* S_TRANSITION_ENGINE  ==> */ A_WARN,
 918      /* S_HALT               ==> */ A_WARN,
 919      },
 920 
 921 /* Got an I_RELEASE_SUCCESS */
 922     {
 923      /* S_IDLE               ==> */ A_WARN,
 924      /* S_ELECTION           ==> */ A_WARN,
 925      /* S_INTEGRATION        ==> */ A_WARN,
 926      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 927      /* S_NOT_DC             ==> */ A_WARN,
 928      /* S_POLICY_ENGINE      ==> */ A_WARN,
 929      /* S_RECOVERY           ==> */ A_WARN,
 930      /* S_RELEASE_DC         ==> */ A_LOG,
 931      /* S_STARTING           ==> */ A_WARN,
 932      /* S_PENDING            ==> */ A_LOG,
 933      /* S_STOPPING           ==> */ A_WARN,
 934      /* S_TERMINATE          ==> */ A_WARN,
 935      /* S_TRANSITION_ENGINE  ==> */ A_WARN,
 936      /* S_HALT               ==> */ A_WARN,
 937      },
 938 
 939 /* Got an I_RESTART */
 940     {
 941      /* S_IDLE               ==> */ A_NOTHING,
 942      /* S_ELECTION           ==> */ A_LOG | A_ELECTION_VOTE,
 943      /* S_INTEGRATION        ==> */ A_LOG | A_DC_JOIN_OFFER_ALL,
 944      /* S_FINALIZE_JOIN      ==> */ A_LOG | A_DC_JOIN_FINALIZE,
 945      /* S_NOT_DC             ==> */ A_LOG | A_NOTHING,
 946      /* S_POLICY_ENGINE      ==> */ A_LOG | A_PE_INVOKE,
 947      /* S_RECOVERY           ==> */ A_LOG | A_RECOVER | O_RELEASE,
 948      /* S_RELEASE_DC         ==> */ A_LOG | O_RELEASE,
 949      /* S_STARTING           ==> */ A_LOG,
 950      /* S_PENDING            ==> */ A_LOG,
 951      /* S_STOPPING           ==> */ A_LOG,
 952      /* S_TERMINATE          ==> */ A_LOG,
 953      /* S_TRANSITION_ENGINE  ==> */ A_LOG | A_TE_INVOKE,
 954      /* S_HALT               ==> */ A_WARN,
 955      },
 956 
 957 /* Got an I_TE_SUCCESS */
 958     {
 959      /* S_IDLE               ==> */ A_LOG,
 960      /* S_ELECTION           ==> */ A_WARN,
 961      /* S_INTEGRATION        ==> */ A_WARN,
 962      /* S_FINALIZE_JOIN      ==> */ A_WARN,
 963      /* S_NOT_DC             ==> */ A_ERROR,
 964      /* S_POLICY_ENGINE      ==> */ A_WARN,
 965      /* S_RECOVERY           ==> */ A_RECOVER | A_WARN,
 966      /* S_RELEASE_DC         ==> */ A_WARN,
 967      /* S_STARTING           ==> */ A_ERROR,
 968      /* S_PENDING            ==> */ A_ERROR,
 969      /* S_STOPPING           ==> */ A_WARN,
 970      /* S_TERMINATE          ==> */ A_WARN,
 971      /* S_TRANSITION_ENGINE  ==> */ A_LOG,
 972      /* S_HALT               ==> */ A_WARN,
 973      },
 974 
 975 /* Got an I_ROUTER */
 976     {
 977      /* S_IDLE               ==> */ A_MSG_ROUTE,
 978      /* S_ELECTION           ==> */ A_MSG_ROUTE,
 979      /* S_INTEGRATION        ==> */ A_MSG_ROUTE,
 980      /* S_FINALIZE_JOIN      ==> */ A_MSG_ROUTE,
 981      /* S_NOT_DC             ==> */ A_MSG_ROUTE,
 982      /* S_POLICY_ENGINE      ==> */ A_MSG_ROUTE,
 983      /* S_RECOVERY           ==> */ A_MSG_ROUTE,
 984      /* S_RELEASE_DC         ==> */ A_MSG_ROUTE,
 985      /* S_STARTING           ==> */ A_MSG_ROUTE,
 986      /* S_PENDING            ==> */ A_MSG_ROUTE,
 987      /* S_STOPPING           ==> */ A_MSG_ROUTE,
 988      /* S_TERMINATE          ==> */ A_MSG_ROUTE,
 989      /* S_TRANSITION_ENGINE  ==> */ A_MSG_ROUTE,
 990      /* S_HALT               ==> */ A_WARN | A_MSG_ROUTE,
 991      },
 992 
 993 /* Got an I_SHUTDOWN */
 994     {
 995      /* S_IDLE               ==> */ A_LOG | A_SHUTDOWN_REQ,
 996      /* S_ELECTION           ==> */ A_LOG | A_SHUTDOWN_REQ | A_ELECTION_VOTE,
 997      /* S_INTEGRATION        ==> */ A_LOG | A_SHUTDOWN_REQ,
 998      /* S_FINALIZE_JOIN      ==> */ A_LOG | A_SHUTDOWN_REQ,
 999      /* S_NOT_DC             ==> */ A_SHUTDOWN_REQ,
1000      /* S_POLICY_ENGINE      ==> */ A_LOG | A_SHUTDOWN_REQ,
1001      /* S_RECOVERY           ==> */ A_WARN | O_EXIT | O_RELEASE,
1002      /* S_RELEASE_DC         ==> */ A_WARN | A_SHUTDOWN_REQ,
1003      /* S_STARTING           ==> */ A_WARN | O_EXIT,
1004      /* S_PENDING            ==> */ A_SHUTDOWN_REQ,
1005      /* S_STOPPING           ==> */ A_LOG,
1006      /* S_TERMINATE          ==> */ A_LOG,
1007      /* S_TRANSITION_ENGINE  ==> */ A_WARN | A_SHUTDOWN_REQ,
1008      /* S_HALT               ==> */ A_WARN | A_ELECTION_START | A_SHUTDOWN_REQ,
1009      },
1010 
1011 /* Got an I_STOP */
1012     {
1013      /* S_IDLE               ==> */ A_ERROR | O_RELEASE | O_EXIT,
1014      /* S_ELECTION           ==> */ O_RELEASE | O_EXIT,
1015      /* S_INTEGRATION        ==> */ A_WARN | O_RELEASE | O_EXIT,
1016      /* S_FINALIZE_JOIN      ==> */ A_ERROR | O_RELEASE | O_EXIT,
1017      /* S_NOT_DC             ==> */ O_EXIT,
1018      /* S_POLICY_ENGINE      ==> */ A_WARN | O_RELEASE | O_EXIT,
1019      /* S_RECOVERY           ==> */ A_ERROR | O_RELEASE | O_EXIT,
1020      /* S_RELEASE_DC         ==> */ A_ERROR | O_RELEASE | O_EXIT,
1021      /* S_STARTING           ==> */ O_EXIT,
1022      /* S_PENDING            ==> */ O_EXIT,
1023      /* S_STOPPING           ==> */ O_EXIT,
1024      /* S_TERMINATE          ==> */ A_ERROR | A_EXIT_1,
1025      /* S_TRANSITION_ENGINE  ==> */ A_LOG | O_RELEASE | O_EXIT,
1026      /* S_HALT               ==> */ O_RELEASE | O_EXIT | A_WARN,
1027      },
1028 
1029 /* Got an I_TERMINATE */
1030     {
1031      /* S_IDLE               ==> */ A_ERROR | O_EXIT,
1032      /* S_ELECTION           ==> */ A_ERROR | O_EXIT,
1033      /* S_INTEGRATION        ==> */ A_ERROR | O_EXIT,
1034      /* S_FINALIZE_JOIN      ==> */ A_ERROR | O_EXIT,
1035      /* S_NOT_DC             ==> */ A_ERROR | O_EXIT,
1036      /* S_POLICY_ENGINE      ==> */ A_ERROR | O_EXIT,
1037      /* S_RECOVERY           ==> */ A_ERROR | O_EXIT,
1038      /* S_RELEASE_DC         ==> */ A_ERROR | O_EXIT,
1039      /* S_STARTING           ==> */ O_EXIT,
1040      /* S_PENDING            ==> */ A_ERROR | O_EXIT,
1041      /* S_STOPPING           ==> */ O_EXIT,
1042      /* S_TERMINATE          ==> */ O_EXIT,
1043      /* S_TRANSITION_ENGINE  ==> */ A_ERROR | O_EXIT,
1044      /* S_HALT               ==> */ A_ERROR | O_EXIT,
1045      },
1046 
1047 /* Got an I_STARTUP */
1048     {
1049      /* S_IDLE               ==> */ A_WARN,
1050      /* S_ELECTION           ==> */ A_WARN,
1051      /* S_INTEGRATION        ==> */ A_WARN,
1052      /* S_FINALIZE_JOIN      ==> */ A_WARN,
1053      /* S_NOT_DC             ==> */ A_WARN,
1054      /* S_POLICY_ENGINE      ==> */ A_WARN,
1055      /* S_RECOVERY           ==> */ A_WARN,
1056      /* S_RELEASE_DC         ==> */ A_WARN,
1057      /* S_STARTING           ==> */
1058      A_LOG | A_STARTUP | A_CIB_START | A_LRM_CONNECT | A_CCM_CONNECT | A_HA_CONNECT | A_READCONFIG |
1059      A_STARTED,
1060      /* S_PENDING            ==> */ A_LOG,
1061      /* S_STOPPING           ==> */ A_WARN,
1062      /* S_TERMINATE          ==> */ A_WARN,
1063      /* S_TRANSITION_ENGINE  ==> */ A_WARN,
1064      /* S_HALT               ==> */ A_WARN,
1065      },
1066 
1067 /* Got an I_PE_SUCCESS */
1068     {
1069      /* S_IDLE               ==> */ A_LOG,
1070      /* S_ELECTION           ==> */ A_WARN,
1071      /* S_INTEGRATION        ==> */ A_WARN,
1072      /* S_FINALIZE_JOIN      ==> */ A_WARN,
1073      /* S_NOT_DC             ==> */ A_NOTHING,
1074      /* S_POLICY_ENGINE      ==> */ A_TE_INVOKE,
1075      /* S_RECOVERY           ==> */ A_RECOVER | A_LOG,
1076      /* S_RELEASE_DC         ==> */ A_LOG,
1077      /* S_STARTING           ==> */ A_ERROR,
1078      /* S_PENDING            ==> */ A_LOG,
1079      /* S_STOPPING           ==> */ A_ERROR,
1080      /* S_TERMINATE          ==> */ A_ERROR,
1081      /* S_TRANSITION_ENGINE  ==> */ A_LOG,
1082      /* S_HALT               ==> */ A_WARN,
1083      },
1084 
1085 /* Got an I_JOIN_OFFER */
1086     {
1087      /* S_IDLE               ==> */ A_WARN | A_CL_JOIN_REQUEST,
1088      /* S_ELECTION           ==> */ A_WARN | A_ELECTION_VOTE,
1089      /* S_INTEGRATION        ==> */ A_CL_JOIN_REQUEST,
1090      /* S_FINALIZE_JOIN      ==> */ A_CL_JOIN_REQUEST,
1091      /* S_NOT_DC             ==> */ A_CL_JOIN_REQUEST | A_DC_TIMER_STOP,
1092      /* S_POLICY_ENGINE      ==> */ A_WARN | A_CL_JOIN_REQUEST,
1093      /* S_RECOVERY           ==> */ A_WARN | A_CL_JOIN_REQUEST | A_DC_TIMER_STOP,
1094      /* S_RELEASE_DC         ==> */ A_WARN | A_CL_JOIN_REQUEST | A_DC_TIMER_STOP,
1095      /* S_STARTING           ==> */ A_LOG,
1096      /* S_PENDING            ==> */ A_CL_JOIN_REQUEST | A_DC_TIMER_STOP,
1097      /* S_STOPPING           ==> */ A_LOG,
1098      /* S_TERMINATE          ==> */ A_LOG,
1099      /* S_TRANSITION_ENGINE  ==> */ A_WARN | A_CL_JOIN_REQUEST,
1100      /* S_HALT               ==> */ A_WARN,
1101      },
1102 
1103 /* Got an I_JOIN_REQUEST */
1104     {
1105      /* S_IDLE               ==> */ A_DC_JOIN_OFFER_ONE,
1106      /* S_ELECTION           ==> */ A_WARN,
1107      /* S_INTEGRATION        ==> */ A_DC_JOIN_PROCESS_REQ,
1108      /* S_FINALIZE_JOIN      ==> */ A_DC_JOIN_OFFER_ONE,
1109      /* S_NOT_DC             ==> */ A_WARN,
1110      /* S_POLICY_ENGINE      ==> */ A_DC_JOIN_OFFER_ONE,
1111      /* S_RECOVERY           ==> */ A_WARN,
1112      /* S_RELEASE_DC         ==> */ A_WARN,
1113      /* S_STARTING           ==> */ A_WARN,
1114      /* S_PENDING            ==> */ A_WARN,
1115      /* S_STOPPING           ==> */ A_WARN,
1116      /* S_TERMINATE          ==> */ A_WARN,
1117      /* S_TRANSITION_ENGINE  ==> */ A_DC_JOIN_OFFER_ONE,
1118      /* S_HALT               ==> */ A_WARN,
1119      },
1120 
1121 /* Got an I_JOIN_RESULT */
1122     {
1123      /* S_IDLE               ==> */ A_ERROR | A_TE_HALT | A_DC_JOIN_OFFER_ALL,
1124      /* S_ELECTION           ==> */ A_LOG,
1125      /* S_INTEGRATION        ==> */ A_LOG | A_CL_JOIN_RESULT  | A_DC_JOIN_PROCESS_ACK,
1126      /* S_FINALIZE_JOIN      ==> */ A_CL_JOIN_RESULT | A_DC_JOIN_PROCESS_ACK,
1127      /* S_NOT_DC             ==> */ A_ERROR | A_CL_JOIN_ANNOUNCE,
1128      /* S_POLICY_ENGINE      ==> */ A_ERROR | A_TE_HALT | A_DC_JOIN_OFFER_ALL,
1129      /* S_RECOVERY           ==> */ A_LOG,
1130      /* S_RELEASE_DC         ==> */ A_LOG,
1131      /* S_STARTING           ==> */ A_ERROR,
1132      /* S_PENDING            ==> */ A_CL_JOIN_RESULT,
1133      /* S_STOPPING           ==> */ A_ERROR,
1134      /* S_TERMINATE          ==> */ A_ERROR,
1135      /* S_TRANSITION_ENGINE  ==> */ A_ERROR | A_TE_HALT | A_DC_JOIN_OFFER_ALL,
1136      /* S_HALT               ==> */ A_WARN,
1137      },
1138 
1139 /* Got an I_WAIT_FOR_EVENT */
1140     {
1141      /* S_IDLE               ==> */ A_LOG,
1142      /* S_ELECTION           ==> */ A_LOG,
1143      /* S_INTEGRATION        ==> */ A_LOG,
1144      /* S_FINALIZE_JOIN      ==> */ A_LOG,
1145      /* S_NOT_DC             ==> */ A_LOG,
1146      /* S_POLICY_ENGINE      ==> */ A_LOG,
1147      /* S_RECOVERY           ==> */ A_LOG,
1148      /* S_RELEASE_DC         ==> */ A_LOG,
1149      /* S_STARTING           ==> */ A_LOG,
1150      /* S_PENDING            ==> */ A_LOG,
1151      /* S_STOPPING           ==> */ A_LOG,
1152      /* S_TERMINATE          ==> */ A_LOG,
1153      /* S_TRANSITION_ENGINE  ==> */ A_LOG,
1154      /* S_HALT               ==> */ A_WARN,
1155      },
1156 
1157 /* Got an I_DC_HEARTBEAT */
1158     {
1159      /* S_IDLE               ==> */ A_ERROR,
1160      /* S_ELECTION           ==> */ A_WARN | A_ELECTION_VOTE,
1161      /* S_INTEGRATION        ==> */ A_ERROR,
1162      /* S_FINALIZE_JOIN      ==> */ A_ERROR,
1163      /* S_NOT_DC             ==> */ A_NOTHING,
1164      /* S_POLICY_ENGINE      ==> */ A_ERROR,
1165      /* S_RECOVERY           ==> */ A_NOTHING,
1166      /* S_RELEASE_DC         ==> */ A_LOG,
1167      /* S_STARTING           ==> */ A_LOG,
1168      /* S_PENDING            ==> */ A_LOG | A_CL_JOIN_ANNOUNCE,
1169      /* S_STOPPING           ==> */ A_NOTHING,
1170      /* S_TERMINATE          ==> */ A_NOTHING,
1171      /* S_TRANSITION_ENGINE  ==> */ A_ERROR,
1172      /* S_HALT               ==> */ A_WARN,
1173      },
1174 
1175 /* Got an I_LRM_EVENT */
1176     {
1177      /* S_IDLE               ==> */ A_LRM_EVENT,
1178      /* S_ELECTION           ==> */ A_LRM_EVENT,
1179      /* S_INTEGRATION        ==> */ A_LRM_EVENT,
1180      /* S_FINALIZE_JOIN      ==> */ A_LRM_EVENT,
1181      /* S_NOT_DC             ==> */ A_LRM_EVENT,
1182      /* S_POLICY_ENGINE      ==> */ A_LRM_EVENT,
1183      /* S_RECOVERY           ==> */ A_LRM_EVENT,
1184      /* S_RELEASE_DC         ==> */ A_LRM_EVENT,
1185      /* S_STARTING           ==> */ A_LRM_EVENT,
1186      /* S_PENDING            ==> */ A_LRM_EVENT,
1187      /* S_STOPPING           ==> */ A_LRM_EVENT,
1188      /* S_TERMINATE          ==> */ A_LRM_EVENT,
1189      /* S_TRANSITION_ENGINE  ==> */ A_LRM_EVENT,
1190      /* S_HALT               ==> */ A_WARN,
1191      },
1192 
1193 /* For everyone ending up in S_PENDING, (re)start the DC timer and wait for I_JOIN_OFFER or I_NOT_DC */
1194 /* Got an I_PENDING */
1195     {
1196      /* S_IDLE               ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1197      /* S_ELECTION           ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1198      /* S_INTEGRATION        ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1199      /* S_FINALIZE_JOIN      ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1200      /* S_NOT_DC             ==> */ A_LOG | O_DC_TIMER_RESTART,
1201      /* S_POLICY_ENGINE      ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1202      /* S_RECOVERY           ==> */ A_WARN,
1203      /* S_RELEASE_DC         ==> */ A_WARN | O_DC_TIMER_RESTART,
1204      /* S_STARTING           ==> */ A_LOG | A_DC_TIMER_START | A_CL_JOIN_QUERY,
1205      /* S_PENDING            ==> */ A_LOG | O_DC_TIMER_RESTART,
1206      /* S_STOPPING           ==> */ A_WARN,
1207      /* S_TERMINATE          ==> */ A_WARN,
1208      /* S_TRANSITION_ENGINE  ==> */ O_RELEASE | O_DC_TIMER_RESTART,
1209      /* S_HALT               ==> */ A_WARN,
1210      },
1211 
1212 /* Got an I_HALT */
1213     {
1214      /* S_IDLE               ==> */ A_WARN,
1215      /* S_ELECTION           ==> */ A_WARN,
1216      /* S_INTEGRATION        ==> */ A_WARN,
1217      /* S_FINALIZE_JOIN      ==> */ A_WARN,
1218      /* S_NOT_DC             ==> */ A_WARN,
1219      /* S_POLICY_ENGINE      ==> */ A_WARN,
1220      /* S_RECOVERY           ==> */ A_WARN,
1221      /* S_RELEASE_DC         ==> */ A_WARN,
1222      /* S_STARTING           ==> */ A_WARN,
1223      /* S_PENDING            ==> */ A_WARN,
1224      /* S_STOPPING           ==> */ A_WARN,
1225      /* S_TERMINATE          ==> */ A_WARN,
1226      /* S_TRANSITION_ENGINE  ==> */ A_WARN,
1227      /* S_HALT               ==> */ A_WARN,
1228      },
1229 };
1230 
1231 #endif

/* [previous][next][first][last][top][bottom][index][help] */