74 lines
3.1 KiB
C
74 lines
3.1 KiB
C
/****************************************************************
|
|
* *
|
|
* Copyright 2010 Fidelity Information Services, Inc *
|
|
* *
|
|
* This source code contains the intellectual property *
|
|
* of its copyright holder(s), and is made available *
|
|
* under a license. If you do not know the terms of *
|
|
* the license, please stop and do not read further. *
|
|
* *
|
|
****************************************************************/
|
|
|
|
#ifndef _GV_TRIGGER_COMMON_INCLUDED
|
|
#define _GV_TRIGGER_COMMON_INCLUDED
|
|
/* Following macros, though related to trigger global (^#t), are needed in trigger non-supported platforms.
|
|
* While gv_trigger.h lives placed in sr_unix, VMS needs the following macros.
|
|
*/
|
|
|
|
#define HASHT_GBL_CHAR1 '#'
|
|
#define HASHT_GBL_CHAR2 't'
|
|
#define HASHT_GBLNAME "#t"
|
|
#define HASHT_FULL_GBLNAME "^#t"
|
|
|
|
#define HASHT_GBLNAME_LEN STR_LIT_LEN(HASHT_GBLNAME)
|
|
#define HASHT_FULL_GBLNM_LEN STR_LIT_LEN(HASHT_FULL_GBLNAME)
|
|
#define HASHT_GBLNAME_FULL_LEN STR_LIT_LEN(HASHT_GBLNAME) + 1 /* including terminating '\0' subscript */
|
|
|
|
/* This macro assumes addr points to a gv_currkey like subscript representation (with potential subscripts) */
|
|
#define IS_GVKEY_HASHT_GBLNAME(LEN, ADDR) ((HASHT_GBLNAME_LEN <= LEN) \
|
|
&& (KEY_DELIMITER == ADDR[HASHT_GBLNAME_LEN]) \
|
|
&& (HASHT_GBL_CHAR1 == ADDR[0]) \
|
|
&& (HASHT_GBL_CHAR2 == ADDR[1]))
|
|
|
|
/* This macro assumes addr points to an mname (i.e. unsubscripted) */
|
|
#define IS_MNAME_HASHT_GBLNAME(MNAME) ((HASHT_GBLNAME_LEN == MNAME.len) && !MEMCMP_LIT(MNAME.addr, HASHT_GBLNAME))
|
|
|
|
/* Similar to IS_GVKEY_HASHT_GBLNAME but used in places where ADDR points to ZWR formatted KEY (includes '^') */
|
|
#define IS_GVKEY_HASHT_FULL_GBLNAME(LEN, ADDR) ((HASHT_FULL_GBLNM_LEN <= LEN) \
|
|
&& ('^' == ADDR[0]) \
|
|
&& (HASHT_GBL_CHAR1 == ADDR[1]) \
|
|
&& (HASHT_GBL_CHAR2 == ADDR[2]))
|
|
|
|
#define HASHT_GBL_CURLABEL "2" /* Currently supported ^#t global format */
|
|
|
|
/* HASHT_GBL_CURLABEL values of prior trigger versions */
|
|
#define V19_HASHT_GBL_LABEL "1" /* V5.4-000 to V5.4-001 */
|
|
|
|
#define LITERAL_HASHLABEL "#LABEL"
|
|
#define LITERAL_HASHCYCLE "#CYCLE"
|
|
#define LITERAL_HASHCOUNT "#COUNT"
|
|
#define LITERAL_CMD "CMD"
|
|
#define LITERAL_GVSUBS "GVSUBS"
|
|
#define LITERAL_OPTIONS "OPTIONS"
|
|
#define LITERAL_DELIM "DELIM"
|
|
#define LITERAL_ZDELIM "ZDELIM"
|
|
#define LITERAL_PIECES "PIECES"
|
|
#define LITERAL_TRIGNAME "TRIGNAME"
|
|
#define LITERAL_XECUTE "XECUTE"
|
|
#define LITERAL_CHSET "CHSET"
|
|
|
|
#define LITERAL_HASHLABEL_LEN STR_LIT_LEN(LITERAL_HASHLABEL)
|
|
#define LITERAL_HASHCYCLE_LEN STR_LIT_LEN(LITERAL_HASHCYCLE)
|
|
#define LITERAL_HASHCOUNT_LEN STR_LIT_LEN(LITERAL_HASHCOUNT)
|
|
#define LITERAL_CMD_LEN STR_LIT_LEN(LITERAL_CMD)
|
|
#define LITERAL_GVSUBS_LEN STR_LIT_LEN(LITERAL_GVSUBS)
|
|
#define LITERAL_OPTIONS_LEN STR_LIT_LEN(LITERAL_OPTIONS)
|
|
#define LITERAL_DELIM_LEN STR_LIT_LEN(LITERAL_DELIM)
|
|
#define LITERAL_ZDELIM_LEN STR_LIT_LEN(LITERAL_ZDELIM)
|
|
#define LITERAL_PIECES_LEN STR_LIT_LEN(LITERAL_PIECES)
|
|
#define LITERAL_XECUTE_LEN STR_LIT_LEN(LITERAL_XECUTE)
|
|
#define LITERAL_TRIGNAME_LEN STR_LIT_LEN(LITERAL_TRIGNAME)
|
|
#define LITERAL_CHSET_LEN STR_LIT_LEN(LITERAL_CHSET)
|
|
|
|
#endif
|