/*
   Copyright (c) 2003, 2021, Oracle and/or its affiliates.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License, version 2.0,
   as published by the Free Software Foundation.

   This program is also distributed with certain software (including
   but not limited to OpenSSL) that is licensed under separate terms,
   as designated in a particular file or component or in included license
   documentation.  The authors of MySQL hereby grant you an additional
   permission to link the program and your derivative works with the
   separately licensed software that they have included with MySQL.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License, version 2.0, for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
*/

#ifndef GLOBAL_SIGNAL_NUMBERS_H
#define GLOBAL_SIGNAL_NUMBERS_H

#include <kernel_types.h>
/**
 * NOTE
 *
 * When adding a new signal, remember to update MAX_GSN and SignalNames.cpp
 */
const GlobalSignalNumber MAX_GSN = 830;

struct GsnName {
  GlobalSignalNumber gsn;
  const char * name;
};

extern const GsnName SignalNames[];
extern const GlobalSignalNumber NO_OF_SIGNAL_NAMES;

/**
 * These are used by API and kernel
 */
#define GSN_API_REGCONF                 1
#define GSN_API_REGREF                  2
#define GSN_API_REGREQ                  3

#define GSN_ATTRINFO                    4
#define GSN_TRANSID_AI                  5
#define GSN_KEYINFO                     6
#define GSN_READCONF                    7

#define GSN_TCKEY_FAILCONF              8
#define GSN_TCKEY_FAILREF               9
#define GSN_TCKEYCONF                   10
#define GSN_TCKEYREF                    11
#define GSN_TCKEYREQ                    12

#define GSN_TCROLLBACKCONF              13
#define GSN_TCROLLBACKREF               14
#define GSN_TCROLLBACKREQ               15
#define GSN_TCROLLBACKREP               16

#define GSN_TC_COMMITCONF               17
#define GSN_TC_COMMITREF                18
#define GSN_TC_COMMITREQ                19
#define GSN_TC_HBREP                    20

#define GSN_TRANSID_AI_R                21
#define GSN_KEYINFO20_R                 22

#define GSN_GET_TABINFOREF              23
#define GSN_GET_TABINFOREQ              24
#define GSN_GET_TABINFO_CONF            190

/* Signals removed from 8.0.27 */
/* 683 used to be GET_TABLEID_REQ, no longer used */
/* 684 used to be GET_TABLEID_REF, no longer used */
/* 685 used to be GET_TABLEID_CONF, no longer used */

#define GSN_DIHNDBTAMPER                25
#define GSN_NODE_FAILREP                26
#define GSN_NF_COMPLETEREP              27

#define GSN_SCAN_NEXTREQ                28
#define GSN_SCAN_TABCONF                29
/* 30 unused */
#define GSN_SCAN_TABREF                 31
#define GSN_SCAN_TABREQ                 32
#define GSN_KEYINFO20                   33

#define GSN_TCRELEASECONF               34
#define GSN_TCRELEASEREF                35
#define GSN_TCRELEASEREQ                36

#define GSN_TCSEIZECONF                 37
#define GSN_TCSEIZEREF                  38
#define GSN_TCSEIZEREQ                  39

#define GSN_TCKEY_FAILREFCONF_R         40

#define GSN_DBINFO_SCANREQ              41
#define GSN_DBINFO_SCANCONF             42
#define GSN_DBINFO_SCANREF              43
#define GSN_DBINFO_TRANSID_AI           44

#define GSN_CONFIG_CHANGE_REQ           45
#define GSN_CONFIG_CHANGE_REF           46
#define GSN_CONFIG_CHANGE_CONF          47

#define GSN_CONFIG_CHANGE_IMPL_REQ      48
#define GSN_CONFIG_CHANGE_IMPL_REF      49
#define GSN_CONFIG_CHANGE_IMPL_CONF     50

#define GSN_CONFIG_CHECK_REQ            51
#define GSN_CONFIG_CHECK_REF            52
#define GSN_CONFIG_CHECK_CONF           53

#define GSN_GET_CONFIG_REQ        54
#define GSN_GET_CONFIG_REF        55
#define GSN_GET_CONFIG_CONF       56

/* 57 unused */
/* 58 unused */
/* 59 unused */
#define GSN_ALLOC_NODEID_REQ            60
#define GSN_ALLOC_NODEID_CONF           61
#define GSN_ALLOC_NODEID_REF            62
/* 63 unused */
/* 64 unused */
/* 65 unused */
/* 66 unused */

/**
 * These are used only by kernel
 */

#define GSN_ACC_ABORTCONF               67
/* 68 not unused */
/* 69 not unused */
#define GSN_UPDATE_FRAG_DIST_KEY_ORD    70
#define GSN_ACC_ABORTREQ                71
#define GSN_ACC_CHECK_SCAN              72
#define GSN_ACC_COMMITCONF              73
#define GSN_ACC_COMMITREQ               74
/* 75 unused */
/* 76 unused */

/* 79 unused */
/* 78 unused */
/* 77 unused */

/* 80 unused */
#define GSN_ACC_OVER_REC                81

/* 83 unused */
#define GSN_ACC_SCAN_INFO               84 /* local */
#define GSN_ALLOC_MEM_REQ               85 /* local */
#define GSN_ACC_SCANCONF                86
#define GSN_ACC_SCANREF                 87
#define GSN_ACC_SCANREQ                 88

#define GSN_RESTORE_LCP_REQ             91
#define GSN_RESTORE_LCP_REF             90
#define GSN_RESTORE_LCP_CONF            89

#define GSN_ACC_TO_CONF                 92
#define GSN_ACC_TO_REF                  93
#define GSN_ACC_TO_REQ                  94
#define GSN_ACCFRAGCONF                 95
#define GSN_ACCFRAGREF                  96
#define GSN_ACCFRAGREQ                  97
#define GSN_ACCKEYCONF                  98
#define GSN_ACCKEYREF                   99
#define GSN_ACCKEYREQ                   100
#define GSN_ACCMINUPDATE                101
#define GSN_ACCSEIZECONF                103
#define GSN_ACCSEIZEREF                 104
#define GSN_ACCSEIZEREQ                 105
#define GSN_ACCUPDATECONF               106
#define GSN_ACCUPDATEKEY                107
#define GSN_ACCUPDATEREF                108

#define GSN_ADD_FRAGCONF                109
#define GSN_ADD_FRAGREF                 110
#define GSN_ADD_FRAGREQ                 111

#define GSN_API_START_REP               120
#define GSN_API_FAILCONF                113
#define GSN_API_FAILREQ                 114
#define GSN_CNTR_START_REQ              115
/* 116 not unused */
#define GSN_CNTR_START_REF              117
#define GSN_CNTR_START_CONF             118
#define GSN_CNTR_START_REP              119
/* 120 not unused */
#define GSN_ROUTE_ORD                   121
#define GSN_NODE_VERSION_REP            122
/* 123 not unused */
#define GSN_FSSUSPENDORD                124 /* local */
#define GSN_CHECK_LCP_STOP              125
#define GSN_CLOSE_COMCONF               126 /* local */
#define GSN_CLOSE_COMREQ                127 /* local */
#define GSN_CM_ACKADD                   128 /* distr. */
#define GSN_ENABLE_COMCONF              129 /* local */
#define GSN_CM_ADD                      130 /* distr. */
/* 131 unused */
/* 132 not unused */
/* 133 not unused */
#define GSN_CM_HEARTBEAT                134 /* distr. */

#define GSN_PREPARE_COPY_FRAG_REQ       135
#define GSN_PREPARE_COPY_FRAG_REF       136
#define GSN_PREPARE_COPY_FRAG_CONF      137

#define GSN_CM_NODEINFOCONF             138 /* distr. */
#define GSN_CM_NODEINFOREF              139 /* distr. */
#define GSN_CM_NODEINFOREQ              140 /* distr. */
#define GSN_CM_REGCONF                  141 /* distr. */
#define GSN_CM_REGREF                   142 /* distr. */
#define GSN_CM_REGREQ                   143 /* distr. */
/* 144 not unused */
/* 145 not unused */
/* 146 not unused */
#define GSN_CM_ADD_REP                  147 /* local */
/* 148 not unused  */
/* 149 not unused  */
/* 150 not unused  */
#define GSN_CNTR_WAITREP                151 /* distr. */
#define GSN_COMMIT                      152
#define GSN_COMMIT_FAILCONF             153
#define GSN_COMMIT_FAILREQ              154
#define GSN_COMMITCONF                  155
#define GSN_COMMITREQ                   156
#define GSN_COMMITTED                   157
#define GSN_COMPLETE                    159
#define GSN_COMPLETECONF                160
#define GSN_COMPLETED                   161
#define GSN_COMPLETEREQ                 162
#define GSN_CONNECT_REP                 163
#define GSN_CONTINUEB                   164
/* 165 not unused */
#define GSN_COPY_ACTIVECONF             166
#define GSN_COPY_ACTIVEREF              167
#define GSN_COPY_ACTIVEREQ              168
#define GSN_COPY_FRAGCONF               169
#define GSN_COPY_FRAGREF                170
#define GSN_COPY_FRAGREQ                171
#define GSN_COPY_GCICONF                172
#define GSN_COPY_GCIREQ                 173
/* 174 used to be COPY_STATECONF, no longer used */
/* 175 used to be COPY_STATEREQ, no longer used */
#define GSN_COPY_TABCONF                176
#define GSN_COPY_TABREQ                 177
#define GSN_UPDATE_FRAG_STATECONF       178
#define GSN_UPDATE_FRAG_STATEREF        179
#define GSN_UPDATE_FRAG_STATEREQ        180
#define GSN_DEBUG_SIG                   181
#define GSN_DIH_SCAN_TAB_REQ            182
#define GSN_DIH_SCAN_TAB_REF            183
#define GSN_DIH_SCAN_TAB_CONF           184
#define GSN_DIH_SCAN_TAB_COMPLETE_REP   287
#define GSN_DIADDTABCONF                185
#define GSN_DIADDTABREF                 186
#define GSN_DIADDTABREQ                 187
/* 188 not unused */
/* 189 not unused */
/* 190 not unused */
#define GSN_DICTSTARTCONF               191
#define GSN_DICTSTARTREQ                192

#define GSN_LIST_TABLES_REQ             193
#define GSN_LIST_TABLES_CONF            194

#define GSN_ABORT                       195
#define GSN_ABORTCONF                   196
#define GSN_ABORTED                     197
#define GSN_ABORTREQ                    198

/******************************************
 * DROP TABLE
 * 
 */

/**
 * This is drop table's public interface
 */
#define GSN_DROP_TABLE_REQ               82
#define GSN_DROP_TABLE_REF              102
#define GSN_DROP_TABLE_CONF             112

/**
 * This is used for implementing drop table
 */
#define GSN_PREP_DROP_TAB_REQ           199
#define GSN_PREP_DROP_TAB_REF           200
#define GSN_PREP_DROP_TAB_CONF          201

#define GSN_DROP_TAB_REQ                202
#define GSN_DROP_TAB_REF                203
#define GSN_DROP_TAB_CONF               204

#define GSN_DIH_GET_TABINFO_REQ         208 /* distr. */
#define GSN_DIH_GET_TABINFO_REF         209 /* distr. */
#define GSN_DIH_GET_TABINFO_CONF        232 /* distr. */

/*****************************************/

#define GSN_UPDATE_TOCONF               205
#define GSN_UPDATE_TOREF                206
#define GSN_UPDATE_TOREQ                207

#define GSN_DIGETNODESCONF              210
#define GSN_DIGETNODESREF               211
#define GSN_DIGETNODESREQ               212

/*
 Signal 213, 214, 215 no longer used, was
 DIH_SCAN_GET_NODES_REQ/CONF/REF
*/

#define GSN_DIH_RESTARTCONF             217
#define GSN_DIH_RESTARTREF              218
#define GSN_DIH_RESTARTREQ              219

/* 220 not unused */
/* 221 not unused */
/* 222 not unused */

#define GSN_EMPTY_LCP_REQ               223
#define GSN_EMPTY_LCP_CONF              224
#define GSN_EMPTY_LCP_REP               223 // local (LQH - DIH)

#define GSN_SCHEMA_INFO                 225
#define GSN_SCHEMA_INFOCONF             226

#define GSN_MASTER_GCPCONF              227
#define GSN_MASTER_GCPREF               228
#define GSN_MASTER_GCPREQ               229

/* 230 not unused */
/* 231 not unused */

/* 232 not unused */
/* 233 unused */
/* 234 unused */
#define GSN_DISCONNECT_REP              235

#define GSN_FIRE_TRIG_REQ               236
#define GSN_FIRE_TRIG_REF               237
#define GSN_FIRE_TRIG_CONF              238

#define GSN_DIVERIFYCONF                239
#define GSN_DIVERIFYREF                 240
#define GSN_DIVERIFYREQ                 241
#define GSN_ENABLE_COMREQ               242 /* local */
#define GSN_END_LCPCONF                 243
#define GSN_END_LCPREQ                  244
#define GSN_END_TOCONF                  245
#define GSN_END_TOREQ                   246
#define GSN_END_TOREF                   286
#define GSN_EVENT_REP                   247
#define GSN_EXEC_FRAGCONF               248
#define GSN_EXEC_FRAGREF                249
#define GSN_EXEC_FRAGREQ                250
#define GSN_EXEC_SRCONF                 251
#define GSN_EXEC_SRREQ                  252
#define GSN_EXPANDCHECK2                253
#define GSN_FAIL_REP                    254
#define GSN_FSCLOSECONF                 255
#define GSN_FSCLOSEREF                  256
#define GSN_FSCLOSEREQ                  257
#define GSN_FSAPPENDCONF                258
#define GSN_FSOPENCONF                  259
#define GSN_FSOPENREF                   260
#define GSN_FSOPENREQ                   261
#define GSN_FSREADCONF                  262
#define GSN_FSREADREF                   263
#define GSN_FSREADREQ                   264
#define GSN_FSSYNCCONF                  265
#define GSN_FSSYNCREF                   266
#define GSN_FSSYNCREQ                   267
#define GSN_FSAPPENDREQ                 268
#define GSN_FSAPPENDREF                 269
#define GSN_FSWRITECONF                 270
#define GSN_FSWRITEREF                  271
#define GSN_FSWRITEREQ                  272
#define GSN_GCP_ABORT                   273
#define GSN_GCP_ABORTED                 274
#define GSN_GCP_COMMIT                  275
#define GSN_GCP_NODEFINISH              276
#define GSN_GCP_NOMORETRANS             277
#define GSN_GCP_PREPARE                 278
#define GSN_GCP_PREPARECONF             279
#define GSN_GCP_PREPAREREF              280
#define GSN_GCP_SAVECONF                281
#define GSN_GCP_SAVEREF                 282
#define GSN_GCP_SAVEREQ                 283
#define GSN_GCP_TCFINISHED              284

#define GSN_UPGRADE_PROTOCOL_ORD        285

/* 286 not unused */
/* 287 not unused */
#define GSN_GETGCICONF                  288
#define GSN_GETGCIREQ                   289
#define GSN_HOT_SPAREREP                290
#define GSN_INCL_NODECONF               291
#define GSN_INCL_NODEREF                292
#define GSN_INCL_NODEREQ                293

#define GSN_LCP_PREPARE_REQ             296
#define GSN_LCP_PREPARE_REF             295
#define GSN_LCP_PREPARE_CONF            294

#define GSN_CREATE_HASH_MAP_REQ         297
#define GSN_CREATE_HASH_MAP_REF         298
#define GSN_CREATE_HASH_MAP_CONF        299

#define GSN_SHRINKCHECK2                301
#define GSN_GET_SCHEMA_INFOREQ          302
/* 303 not unused */
/* 304 not unused */
#define GSN_ALLOC_MEM_REF               305 /* local */
#define GSN_LQH_TRANSCONF               306
#define GSN_LQH_TRANSREQ                307
#define GSN_LQHADDATTCONF               308
#define GSN_LQHADDATTREF                309
#define GSN_LQHADDATTREQ                310
#define GSN_LQHFRAGCONF                 311
#define GSN_LQHFRAGREF                  312
#define GSN_LQHFRAGREQ                  313
#define GSN_LQHKEYCONF                  314
#define GSN_LQHKEYREF                   315
#define GSN_LQHKEYREQ                   316

#define GSN_MASTER_LCPCONF              318
#define GSN_MASTER_LCPREF               319
#define GSN_MASTER_LCPREQ               320

#define GSN_MEMCHECKCONF                321
#define GSN_MEMCHECKREQ                 322
#define GSN_NDB_FAILCONF                323
#define GSN_NDB_STARTCONF               324
#define GSN_NDB_STARTREF                325
#define GSN_NDB_STARTREQ                326
#define GSN_NDB_STTOR                   327
#define GSN_NDB_STTORRY                 328
#define GSN_NDB_TAMPER                  329
#define GSN_NEXT_SCANCONF               330
#define GSN_NEXT_SCANREF                331
#define GSN_NEXT_SCANREQ                332
#define GSN_ALLOC_MEM_CONF              333 /* local */

#define GSN_READ_CONFIG_REQ             334 /* new name for sizealt, local */
#define GSN_READ_CONFIG_CONF            335 /* new name for sizealt, local */

#define GSN_COPY_DATA_REQ               336
#define GSN_COPY_DATA_REF               337
#define GSN_COPY_DATA_CONF              338

#define GSN_EXPAND_CLNT                 340
#define GSN_OPEN_COMORD                 341
#define GSN_PACKED_SIGNAL               342
#define GSN_PREP_FAILCONF               343
#define GSN_PREP_FAILREF                344
#define GSN_PREP_FAILREQ                345
#define GSN_PRES_TOCONF                 346
#define GSN_PRES_TOREQ                  347
#define GSN_READ_NODESCONF              348
#define GSN_READ_NODESREF               349
#define GSN_READ_NODESREQ               350
#define GSN_SCAN_FRAGCONF               351
#define GSN_SCAN_FRAGREF                352
#define GSN_SCAN_FRAGREQ                353
#define GSN_SCAN_HBREP                  354
#define GSN_SCAN_PROCCONF               355
#define GSN_SCAN_PROCREQ                356
#define GSN_SEND_PACKED                 357
#define GSN_SET_LOGLEVELORD             358

/* 359 used to be LQH_ALLOCREQ, no longer used */
/* 360 used to be TUP_ALLOCREQ, no longer used */
#define GSN_TUP_DEALLOCREQ              361

/* 362 not unused */

#define GSN_TUP_WRITELOG_REQ            363
#define GSN_LQH_WRITELOG_REQ            364

#define GSN_LCP_FRAG_REP                300
#define GSN_LCP_FRAG_ORD                365
#define GSN_LCP_COMPLETE_REP            158

#define GSN_START_LCP_REQ               317
#define GSN_START_LCP_CONF              366

#define GSN_UNBLO_DICTCONF              367
#define GSN_UNBLO_DICTREQ               368
#define GSN_START_COPYCONF              369
#define GSN_START_COPYREF               370
#define GSN_START_COPYREQ               371
#define GSN_START_EXEC_SR               372
#define GSN_START_FRAGCONF              373
#define GSN_START_FRAGREF               374
#define GSN_START_FRAGREQ               375
#define GSN_START_LCP_REF               376
#define GSN_START_LCP_ROUND             377
#define GSN_START_MECONF                378
#define GSN_START_MEREF                 379
#define GSN_START_MEREQ                 380
#define GSN_START_PERMCONF              381
#define GSN_START_PERMREF               382
#define GSN_START_PERMREQ               383
#define GSN_START_PERMREP               422
#define GSN_START_RECCONF               384
#define GSN_START_RECREF                385
#define GSN_START_RECREQ                386

#define GSN_START_TOCONF                387
#define GSN_START_TOREQ                 388
#define GSN_START_TOREF                 421

#define GSN_STORED_PROCCONF             389
#define GSN_STORED_PROCREF              390
#define GSN_STORED_PROCREQ              391
#define GSN_STTOR                       392
#define GSN_STTORRY                     393
#define GSN_BACKUP_TRIG_REQ             394
#define GSN_SYSTEM_ERROR                395
#define GSN_TAB_COMMITCONF              396
#define GSN_TAB_COMMITREF               397
#define GSN_TAB_COMMITREQ               398
#define GSN_TAKE_OVERTCCONF             399
#define GSN_TAKE_OVERTCREQ              400
#define GSN_TC_CLOPSIZECONF             401
#define GSN_TC_CLOPSIZEREQ              402
#define GSN_TC_SCHVERCONF               403
#define GSN_TC_SCHVERREQ                404
#define GSN_TCGETOPSIZECONF             405
#define GSN_TCGETOPSIZEREQ              406
#define GSN_TEST_ORD                    407
#define GSN_TESTSIG                     408
#define GSN_TIME_SIGNAL                 409
#define GSN_TUP_ABORTREQ                414
#define GSN_TUP_ADD_ATTCONF             415
#define GSN_TUP_ADD_ATTRREF             416
#define GSN_TUP_ADD_ATTRREQ             417
#define GSN_TUP_ATTRINFO                418
#define GSN_TUP_COMMITREQ               419

/* 421 not unused */
/* 422 not unused */
#define GSN_COPY_DATA_IMPL_REQ          423 /* local */
#define GSN_COPY_DATA_IMPL_REF          424 /* local */
#define GSN_COPY_DATA_IMPL_CONF         425 /* local */

#define GSN_DROP_FRAG_REQ               426 /* local */
#define GSN_DROP_FRAG_REF               427 /* local */
#define GSN_DROP_FRAG_CONF              428 /* local */
#define GSN_LOCAL_ROUTE_ORD             429 /* local */
/* 430 unused */
#define GSN_TUPFRAGCONF                 431
#define GSN_TUPFRAGREF                  432
#define GSN_TUPFRAGREQ                  433
#define GSN_TUPKEYCONF                  434
#define GSN_TUPKEYREF                   435
#define GSN_TUPKEYREQ                   436
#define GSN_TUPRELEASECONF              437
#define GSN_TUPRELEASEREF               438
#define GSN_TUPRELEASEREQ               439
#define GSN_TUPSEIZECONF                440
#define GSN_TUPSEIZEREF                 441
#define GSN_TUPSEIZEREQ                 442

#define GSN_ABORT_ALL_REQ               445
#define GSN_ABORT_ALL_REF               446
#define GSN_ABORT_ALL_CONF              447

/* 448 not unused - formerly GSN_STATISTICS_REQ */
#define GSN_STOP_ORD                    449
#define GSN_TAMPER_ORD                  450
/* 451 not unused - formerly GSN_SET_VAR_REQ  */
/* 452 not unused - formerly GSN_SET_VAR_CONF */
/* 453 not unused - formerly GSN_SET_VAR_REF  */
/* 454 not unused - formerly GSN_STATISTICS_CONF */

#define GSN_START_ORD                   455
/* 457 not unused */

#define GSN_EVENT_SUBSCRIBE_REQ         458
#define GSN_EVENT_SUBSCRIBE_CONF        459
#define GSN_EVENT_SUBSCRIBE_REF         460

/* NODE_PING signals */
#define GSN_NODE_PING_REQ               461 /* distr. */
#define GSN_NODE_PING_CONF              462 /* distr. */

#define GSN_CANCEL_SUBSCRIPTION_REQ     463
/* 464 unused */

#define GSN_DUMP_STATE_ORD              465

#define GSN_START_INFOREQ               466
#define GSN_START_INFOREF               467
#define GSN_START_INFOCONF              468

#define GSN_TC_COMMIT_ACK               469
#define GSN_REMOVE_MARKER_ORD           470

#define GSN_CHECKNODEGROUPSREQ          471
#define GSN_CHECKNODEGROUPSCONF         472

/* 473 unused */
#define GSN_ARBIT_PREPREQ               474
#define GSN_ARBIT_PREPCONF              475
#define GSN_ARBIT_PREPREF               476
#define GSN_ARBIT_STARTREQ              477
#define GSN_ARBIT_STARTCONF             478
#define GSN_ARBIT_STARTREF              479
#define GSN_ARBIT_CHOOSEREQ             480
#define GSN_ARBIT_CHOOSECONF            481
#define GSN_ARBIT_CHOOSEREF             482
#define GSN_ARBIT_STOPORD               483
#define GSN_ARBIT_STOPREP               484

#define GSN_BLOCK_COMMIT_ORD            485
#define GSN_UNBLOCK_COMMIT_ORD          486

#define GSN_NODE_START_REP              502
#define GSN_NODE_STATE_REP              487
#define GSN_CHANGE_NODE_STATE_REQ       488
#define GSN_CHANGE_NODE_STATE_CONF      489

#define GSN_DIH_SWITCH_REPLICA_REQ      490
#define GSN_DIH_SWITCH_REPLICA_CONF     491
#define GSN_DIH_SWITCH_REPLICA_REF      492

#define GSN_STOP_PERM_REQ               493
#define GSN_STOP_PERM_REF               494
#define GSN_STOP_PERM_CONF              495

#define GSN_STOP_ME_REQ                 496
#define GSN_STOP_ME_REF                 497
#define GSN_STOP_ME_CONF                498

#define GSN_WAIT_GCP_REQ                499
#define GSN_WAIT_GCP_REF                500
#define GSN_WAIT_GCP_CONF               501

/* 502 used */

/**
 * Trigger and index signals
 */

/**
 * These are used by API and kernel
 */
#define GSN_TRIG_ATTRINFO               503
#define GSN_CREATE_TRIG_REQ             504
#define GSN_CREATE_TRIG_CONF            505
#define GSN_CREATE_TRIG_REF             506
#define GSN_ALTER_TRIG_REQ              507
#define GSN_ALTER_TRIG_CONF             508
#define GSN_ALTER_TRIG_REF              509
#define GSN_CREATE_INDX_REQ             510
#define GSN_CREATE_INDX_CONF            511
#define GSN_CREATE_INDX_REF             512
#define GSN_DROP_TRIG_REQ               513
#define GSN_DROP_TRIG_CONF              514
#define GSN_DROP_TRIG_REF               515
#define GSN_DROP_INDX_REQ               516
#define GSN_DROP_INDX_CONF              517
#define GSN_DROP_INDX_REF               518
#define GSN_TCINDXREQ                   519
#define GSN_TCINDXCONF                  520
#define GSN_TCINDXREF                   521
#define GSN_INDXKEYINFO                 522
#define GSN_INDXATTRINFO                523
#define GSN_TCINDXNEXTREQ               524
#define GSN_TCINDXNEXTCONF              525
#define GSN_TCINDXNEXREF                526
#define GSN_FIRE_TRIG_ORD               527
#define GSN_FIRE_TRIG_ORD_L             123 /* local from TUP to SUMA */

/**
 * These are used only by kernel
 */
#define GSN_BUILDINDXREQ                528
#define GSN_BUILDINDXCONF               529
#define GSN_BUILDINDXREF                530

/**
 * Backup interface
 */
#define GSN_BACKUP_REQ                  531
#define GSN_BACKUP_DATA                 532
#define GSN_BACKUP_REF                  533
#define GSN_BACKUP_CONF                 534

#define GSN_ABORT_BACKUP_ORD            535

#define GSN_BACKUP_ABORT_REP            536
#define GSN_BACKUP_COMPLETE_REP         537
#define GSN_BACKUP_NF_COMPLETE_REP      538

/**
 * Internal backup signals
 */
#define GSN_DEFINE_BACKUP_REQ           539
#define GSN_DEFINE_BACKUP_REF           540
#define GSN_DEFINE_BACKUP_CONF          541

#define GSN_START_BACKUP_REQ            542
#define GSN_START_BACKUP_REF            543
#define GSN_START_BACKUP_CONF           544

#define GSN_BACKUP_FRAGMENT_REQ         545
#define GSN_BACKUP_FRAGMENT_REF         546
#define GSN_BACKUP_FRAGMENT_CONF        547

#define GSN_BACKUP_FRAGMENT_COMPLETE_REP 575

#define GSN_STOP_BACKUP_REQ             548
#define GSN_STOP_BACKUP_REF             549
#define GSN_STOP_BACKUP_CONF            550

/**
 * Used for master take-over / API status request
 */
#define GSN_BACKUP_STATUS_REQ           551
#define GSN_BACKUP_STATUS_REF           116
#define GSN_BACKUP_STATUS_CONF          165

/**
 * Db sequence signals
 */
#define GSN_UTIL_SEQUENCE_REQ           552
#define GSN_UTIL_SEQUENCE_REF           553
#define GSN_UTIL_SEQUENCE_CONF          554

#define GSN_FSREMOVEREQ                 555
#define GSN_FSREMOVEREF                 556
#define GSN_FSREMOVECONF                557

#define GSN_UTIL_PREPARE_REQ            558
#define GSN_UTIL_PREPARE_CONF           559
#define GSN_UTIL_PREPARE_REF            560

#define GSN_UTIL_EXECUTE_REQ            561
#define GSN_UTIL_EXECUTE_CONF           562
#define GSN_UTIL_EXECUTE_REF            563

#define GSN_UTIL_RELEASE_REQ            564
#define GSN_UTIL_RELEASE_CONF           565
#define GSN_UTIL_RELEASE_REF            566

/**
 * When dropping a long signal due to lack of memory resources
 */
#define GSN_SIGNAL_DROPPED_REP          567
#define GSN_CONTINUE_FRAGMENTED         568

/**
 * In multithreaded ndbd, sent from crashing thread to other threads to make
 * them stop prior to generating trace dump files.
 */
#define GSN_STOP_FOR_CRASH              761

/* Sent from BACKUP to DICT to lock a table during backup. */
#define GSN_BACKUP_LOCK_TAB_REQ         762
#define GSN_BACKUP_LOCK_TAB_CONF        763
#define GSN_BACKUP_LOCK_TAB_REF         764

/**
 * Suma participant interface
 */
#define GSN_SUB_REMOVE_REQ              569
#define GSN_SUB_REMOVE_REF              570
#define GSN_SUB_REMOVE_CONF             571
#define GSN_SUB_STOP_REQ                572
#define GSN_SUB_STOP_REF                573
#define GSN_SUB_STOP_CONF               574
/*                                      575 used */
#define GSN_SUB_CREATE_REQ              576
#define GSN_SUB_CREATE_REF              577
#define GSN_SUB_CREATE_CONF             578
#define GSN_SUB_START_REQ               579
#define GSN_SUB_START_REF               580
#define GSN_SUB_START_CONF              581
#define GSN_SUB_SYNC_REQ                582
#define GSN_SUB_SYNC_REF                583
#define GSN_SUB_SYNC_CONF               584
/*                                      585 unused */
#define GSN_SUB_TABLE_DATA              586

#define GSN_CREATE_TABLE_REQ            587
#define GSN_CREATE_TABLE_REF            588
#define GSN_CREATE_TABLE_CONF           589

#define GSN_ALTER_TABLE_REQ             624
#define GSN_ALTER_TABLE_REF             625
#define GSN_ALTER_TABLE_CONF            626

#define GSN_SUB_SYNC_CONTINUE_REQ       590
#define GSN_SUB_SYNC_CONTINUE_REF       591
#define GSN_SUB_SYNC_CONTINUE_CONF      592
#define GSN_SUB_GCP_COMPLETE_REP        593

#define GSN_CREATE_FRAGMENTATION_REQ    594
#define GSN_CREATE_FRAGMENTATION_REF    595
#define GSN_CREATE_FRAGMENTATION_CONF   596

#define GSN_CREATE_TAB_REQ              597
#define GSN_CREATE_TAB_REF              598
#define GSN_CREATE_TAB_CONF             599

#define GSN_ALTER_TAB_REQ               600
#define GSN_ALTER_TAB_REF               601
#define GSN_ALTER_TAB_CONF              602

#define GSN_ALTER_INDX_REQ              603
#define GSN_ALTER_INDX_REF              604
#define GSN_ALTER_INDX_CONF             605

#define GSN_ALTER_TABLE_REP             606
#define GSN_API_BROADCAST_REP           607

#define GSN_SYNC_THREAD_REQ             608
#define GSN_SYNC_THREAD_CONF            609

#define GSN_SYNC_REQ                    610
#define GSN_SYNC_REF                    611
#define GSN_SYNC_CONF                   612

#define GSN_SYNC_PATH_REQ               613
#define GSN_SYNC_PATH_CONF              614

#define GSN_LCP_STATUS_REQ              615
#define GSN_LCP_STATUS_CONF             616
#define GSN_LCP_STATUS_REF              617

#define GSN_CHECK_NODE_RESTARTREQ       618
#define GSN_CHECK_NODE_RESTARTCONF      619

#define GSN_GET_CPU_USAGE_REQ           620
#define GSN_OVERLOAD_STATUS_REP         621
#define GSN_SEND_THREAD_STATUS_REP      622
#define GSN_NODE_OVERLOAD_STATUS_ORD    623

#define GSN_CREATE_FK_REQ               627
#define GSN_CREATE_FK_REF               628
#define GSN_CREATE_FK_CONF              629

#define GSN_DROP_FK_REQ                 630
#define GSN_DROP_FK_REF                 631
#define GSN_DROP_FK_CONF                632

#define GSN_CREATE_FK_IMPL_REQ          633
#define GSN_CREATE_FK_IMPL_REF          634
#define GSN_CREATE_FK_IMPL_CONF         635

#define GSN_DROP_FK_IMPL_REQ            636
#define GSN_DROP_FK_IMPL_REF            637
#define GSN_DROP_FK_IMPL_CONF           638

#define GSN_BUILD_FK_REQ                639
#define GSN_BUILD_FK_REF                640
#define GSN_BUILD_FK_CONF               641

#define GSN_BUILD_FK_IMPL_REQ           642
#define GSN_BUILD_FK_IMPL_REF           643
#define GSN_BUILD_FK_IMPL_CONF          644

#define GSN_645
#define GSN_646
#define GSN_647
#define GSN_648
#define GSN_649

#define GSN_SET_WAKEUP_THREAD_ORD       657
#define GSN_WAKEUP_THREAD_ORD           658
#define GSN_SEND_WAKEUP_THREAD_ORD      659

#define GSN_UTIL_CREATE_LOCK_REQ        132
#define GSN_UTIL_CREATE_LOCK_REF        133
#define GSN_UTIL_CREATE_LOCK_CONF       188

#define GSN_UTIL_DESTROY_LOCK_REQ       189
#define GSN_UTIL_DESTROY_LOCK_REF       220
#define GSN_UTIL_DESTROY_LOCK_CONF      221

#define GSN_UTIL_LOCK_REQ               222
#define GSN_UTIL_LOCK_REF               230
#define GSN_UTIL_LOCK_CONF              231

#define GSN_UTIL_UNLOCK_REQ             303
#define GSN_UTIL_UNLOCK_REF             304
#define GSN_UTIL_UNLOCK_CONF            362

/* SUMA */
#define GSN_CREATE_SUBID_REQ            661      
#define GSN_CREATE_SUBID_REF            662      
#define GSN_CREATE_SUBID_CONF           663      

/* used 664 */
/* used 665 */
/* used 666 */
/* used 667 */
/* used 668 */
/* used 669 */

/*
 * TUX
 */
#define GSN_TUXFRAGREQ                  670
#define GSN_TUXFRAGCONF                 671
#define GSN_TUXFRAGREF                  672
#define GSN_TUX_ADD_ATTRREQ             673
#define GSN_TUX_ADD_ATTRCONF            674
#define GSN_TUX_ADD_ATTRREF             675

/*
 * REP
 */
#define GSN_REP_DISCONNECT_REP          676

#define GSN_TUX_MAINT_REQ               677
#define GSN_TUX_MAINT_CONF              678
#define GSN_TUX_MAINT_REF               679

/**
 * from mgmtsrvr to  NDBCNTR
 */
#define GSN_RESUME_REQ                  682
#define GSN_STOP_REQ                    443
#define GSN_STOP_REF                    444
#define GSN_STOP_CONF                   456
#define GSN_API_VERSION_REQ             697
#define GSN_API_VERSION_CONF            698

/* not used                             686 */
/* not used                             687 */
/* not used                             689 */
/* not used                             690 */

/**
 * SUMA restart protocol
 */
#define GSN_SUMA_START_ME_REQ           691
#define GSN_SUMA_START_ME_REF           694
#define GSN_SUMA_START_ME_CONF          695
#define GSN_SUMA_HANDOVER_REQ           692
#define GSN_SUMA_HANDOVER_REF           696
#define GSN_SUMA_HANDOVER_CONF          693

/* used 694 */
/* used 695 */
/* used 696 */

/*
 * EVENT Signals
 */
#define GSN_SUB_GCP_COMPLETE_ACK        699

#define GSN_CREATE_EVNT_REQ             700
#define GSN_CREATE_EVNT_CONF            701
#define GSN_CREATE_EVNT_REF             702

#define GSN_DROP_EVNT_REQ               703
#define GSN_DROP_EVNT_CONF              704
#define GSN_DROP_EVNT_REF               705

#define GSN_TUX_BOUND_INFO		710

#define GSN_ACC_LOCKREQ			711
#define GSN_READ_PSEUDO_REQ             712

/**
 * Filegroup 
 */
#define GSN_CREATE_FILEGROUP_REQ        713
#define GSN_CREATE_FILEGROUP_REF        714
#define GSN_CREATE_FILEGROUP_CONF       715

#define GSN_CREATE_FILE_REQ             716
#define GSN_CREATE_FILE_REF             717
#define GSN_CREATE_FILE_CONF            718

#define GSN_DROP_FILEGROUP_REQ          719
#define GSN_DROP_FILEGROUP_REF          720
#define GSN_DROP_FILEGROUP_CONF         721

#define GSN_DROP_FILE_REQ               722
#define GSN_DROP_FILE_REF               723
#define GSN_DROP_FILE_CONF              724

#define GSN_CREATE_FILEGROUP_IMPL_REQ   725
#define GSN_CREATE_FILEGROUP_IMPL_REF   726
#define GSN_CREATE_FILEGROUP_IMPL_CONF  727

#define GSN_CREATE_FILE_IMPL_REQ        728
#define GSN_CREATE_FILE_IMPL_REF        729
#define GSN_CREATE_FILE_IMPL_CONF       730

#define GSN_ALLOC_EXTENT_REQ             68
#define GSN_FREE_EXTENT_REQ              69

#define GSN_DROP_FILEGROUP_IMPL_REQ     664
#define GSN_DROP_FILEGROUP_IMPL_REF     665
#define GSN_DROP_FILEGROUP_IMPL_CONF    666

#define GSN_DROP_FILE_IMPL_REQ          667
#define GSN_DROP_FILE_IMPL_REF          668
#define GSN_DROP_FILE_IMPL_CONF         669

/* DICT master takeover signals */
#define GSN_DICT_TAKEOVER_REQ           765
#define GSN_DICT_TAKEOVER_REF           766
#define GSN_DICT_TAKEOVER_CONF          767


/* DICT LOCK signals */
#define GSN_DICT_LOCK_REQ               410
#define GSN_DICT_LOCK_CONF              411
#define GSN_DICT_LOCK_REF               412
#define GSN_DICT_UNLOCK_ORD             420

#define GSN_SCHEMA_TRANS_BEGIN_REQ      731
#define GSN_SCHEMA_TRANS_BEGIN_CONF     732
#define GSN_SCHEMA_TRANS_BEGIN_REF      733
#define GSN_SCHEMA_TRANS_END_REQ        734
#define GSN_SCHEMA_TRANS_END_CONF       735
#define GSN_SCHEMA_TRANS_END_REF        736
#define GSN_SCHEMA_TRANS_END_REP        768
#define GSN_SCHEMA_TRANS_IMPL_REQ       737
#define GSN_SCHEMA_TRANS_IMPL_CONF      738
#define GSN_SCHEMA_TRANS_IMPL_REF       739

#define GSN_CREATE_TRIG_IMPL_REQ        740
#define GSN_CREATE_TRIG_IMPL_CONF       741
#define GSN_CREATE_TRIG_IMPL_REF        742
#define GSN_DROP_TRIG_IMPL_REQ          743
#define GSN_DROP_TRIG_IMPL_CONF         744
#define GSN_DROP_TRIG_IMPL_REF          745
#define GSN_ALTER_TRIG_IMPL_REQ         746
#define GSN_ALTER_TRIG_IMPL_CONF        747
#define GSN_ALTER_TRIG_IMPL_REF         748

#define GSN_CREATE_INDX_IMPL_REQ        749
#define GSN_CREATE_INDX_IMPL_CONF       750
#define GSN_CREATE_INDX_IMPL_REF        751
#define GSN_DROP_INDX_IMPL_REQ          752
#define GSN_DROP_INDX_IMPL_CONF         753
#define GSN_DROP_INDX_IMPL_REF          754
#define GSN_ALTER_INDX_IMPL_REQ         755
#define GSN_ALTER_INDX_IMPL_CONF        756
#define GSN_ALTER_INDX_IMPL_REF         757

#define GSN_BUILD_INDX_IMPL_REQ         758
#define GSN_BUILD_INDX_IMPL_CONF        759
#define GSN_BUILD_INDX_IMPL_REF         760

#define GSN_CREATE_NODEGROUP_REQ        144
#define GSN_CREATE_NODEGROUP_REF        145
#define GSN_CREATE_NODEGROUP_CONF       146

#define GSN_CREATE_NODEGROUP_IMPL_REQ   148
#define GSN_CREATE_NODEGROUP_IMPL_REF   149
#define GSN_CREATE_NODEGROUP_IMPL_CONF  150

#define GSN_DROP_NODEGROUP_REQ          451
#define GSN_DROP_NODEGROUP_REF          452
#define GSN_DROP_NODEGROUP_CONF         453

#define GSN_DROP_NODEGROUP_IMPL_REQ     454
#define GSN_DROP_NODEGROUP_IMPL_REF     457
#define GSN_DROP_NODEGROUP_IMPL_CONF    448

#define GSN_DATA_FILE_ORD               706

#define GSN_CALLBACK_REQ                707 /*reserved*/
#define GSN_CALLBACK_CONF               708
#define GSN_CALLBACK_ACK                709

#define GSN_RELEASE_PAGES_REQ           680
#define GSN_RELEASE_PAGES_CONF          681

#define GSN_INDEX_STAT_REQ              650
#define GSN_INDEX_STAT_CONF             651
#define GSN_INDEX_STAT_REF              652
#define GSN_INDEX_STAT_IMPL_REQ         653
#define GSN_INDEX_STAT_IMPL_CONF        654
#define GSN_INDEX_STAT_IMPL_REF         655
#define GSN_INDEX_STAT_REP              656

#define GSN_NODE_STARTED_REP            769

#define GSN_PAUSE_LCP_REQ               770
#define GSN_PAUSE_LCP_CONF              771
#define GSN_FLUSH_LCP_REP_REQ           772
#define GSN_FLUSH_LCP_REP_CONF          773

#define GSN_ISOLATE_ORD                 774

/* 775 free, never used in released version */

#define GSN_ALLOC_NODEID_REP            776
#define GSN_INCL_NODE_HB_PROTOCOL_REP   777
#define GSN_NDBCNTR_START_WAIT_REP      778
#define GSN_NDBCNTR_STARTED_REP         779
#define GSN_SUMA_HANDOVER_COMPLETE_REP  780
#define GSN_END_TOREP                   781
#define GSN_LOCAL_RECOVERY_COMP_REP     782

#define GSN_PROCESSINFO_REP             783
#define GSN_SYNC_PAGE_CACHE_REQ         784
#define GSN_SYNC_PAGE_CACHE_CONF        785

#define GSN_SYNC_EXTENT_PAGES_REQ       786
#define GSN_SYNC_EXTENT_PAGES_CONF      787

#define GSN_RESTORABLE_GCI_REP          788

#define GSN_LCP_START_REP               789 /* No longer used */

#define GSN_WAIT_ALL_COMPLETE_LCP_REQ   790
#define GSN_WAIT_ALL_COMPLETE_LCP_CONF  791

#define GSN_WAIT_COMPLETE_LCP_REQ       792
#define GSN_WAIT_COMPLETE_LCP_CONF      793

#define GSN_INFORM_BACKUP_DROP_TAB_REQ  794
#define GSN_INFORM_BACKUP_DROP_TAB_CONF 795

#define GSN_HALT_COPY_FRAG_REQ          796
#define GSN_HALT_COPY_FRAG_CONF         797
#define GSN_HALT_COPY_FRAG_REF          798

#define GSN_RESUME_COPY_FRAG_REQ        799
#define GSN_RESUME_COPY_FRAG_CONF       800
#define GSN_RESUME_COPY_FRAG_REF        801

#define GSN_READ_LOCAL_SYSFILE_REQ      802
#define GSN_READ_LOCAL_SYSFILE_CONF     803
#define GSN_WRITE_LOCAL_SYSFILE_REQ     804
#define GSN_WRITE_LOCAL_SYSFILE_CONF    805

#define GSN_CUT_UNDO_LOG_TAIL_REQ       806
#define GSN_CUT_UNDO_LOG_TAIL_CONF      807

#define GSN_CUT_REDO_LOG_TAIL_REQ       808
#define GSN_CUT_REDO_LOG_TAIL_CONF      809

#define GSN_LCP_ALL_COMPLETE_REQ        810
#define GSN_LCP_ALL_COMPLETE_CONF       811

#define GSN_START_DISTRIBUTED_LCP_ORD   812
#define GSN_START_FULL_LOCAL_LCP_ORD    813
#define GSN_COPY_FRAG_IN_PROGRESS_REP   814
#define GSN_COPY_FRAG_NOT_IN_PROGRESS_REP 815

#define GSN_SET_LOCAL_LCP_ID_REQ        816
#define GSN_SET_LOCAL_LCP_ID_CONF       817

#define GSN_START_NODE_LCP_REQ          818
#define GSN_START_NODE_LCP_CONF         819

#define GSN_GET_LATEST_GCI_REQ          820

#define GSN_UNDO_LOG_LEVEL_REP          821
#define GSN_START_LOCAL_LCP_ORD         822

#define GSN_INFO_GCP_STOP_TIMER         823

#define GSN_CHECK_LCP_IDLE_ORD          824

#define GSN_SET_LATEST_LCP_ID           825
#define GSN_SYNC_PAGE_WAIT_REP          826

#define GSN_REDO_STATE_REP              827
#define GSN_WAIT_LCP_IDLE_REQ           828
#define GSN_WAIT_LCP_IDLE_CONF          829

#define GSN_LOCAL_LATEST_LCP_ID_REP     830
#endif
