/usr/lib/x86_64-linux-gnu/fis-gtm/V6.3-000A_x86_64/_gbldef.m is in fis-gtm-6.3-000a 6.3-000A-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
; Copyright 2001, 2013 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. ;
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
%gbldef ; ; ;Global Collation Control
;
kill(gname)
n $et
s $et="g error"
i $tl zm 150383202 ; TPNOSUPPORT error
i '$$edit(.gname) q 0
i $zfind($view("REGION",gname),",") zm 150383194:gname ; ISSPANGBL
i "BGMM"'[$view("GVACCESS_METHOD",$view("REGION",gname)) zm 150376418:$view("REGION",gname) ; DBREMOTE
i $d(@gname) zm 150373626 ; Error if there is data in the global
s @gname="" k @gname ; make sure that the global is defined
s gname=$zextract(gname,2,32) ; remove circumflex, take at most 31 chars
v "YDIRTVAL":$zextract($view("YDIRTREE",gname),1,4),"YDIRTREE":gname
q 1
;
set(gname,nct,act)
n ver,$et
s $et="g error"
i $tl zm 150383202 ; TPNOSUPPORT error
i '$$edit(.gname) q 0
i $zfind($view("REGION",gname),",") zm 150383194:gname ; ISSPANGBL
i "BGMM"'[$view("GVACCESS_METHOD",$view("REGION",gname)) zm 150376418:$view("REGION",gname) ; DBREMOTE
i $d(@gname) zm 150373626 ; Error if there is data in the global
s act=+$g(act),nct=+$g(nct) s:nct nct=1
i (act>255)!(act<0) zm 150374290:act ; collation type specified is illegal
s ver=$view("YCOLLATE",act)
i ver<0 zm 150376282:act ; doesn't find coll type, or can't get version
s @gname="" k @gname ; make sure that the global is defined
s gname=$zextract(gname,2,32) ; remove circumflex, take at most 31 chars
v "YDIRTVAL":$zextract($view("YDIRTREE",gname),1,4)_$zchar(1,nct,act,ver),"YDIRTREE":gname
q 1
;
get(gname,reg)
n t,tl,$et,nct,act,ver,ret,dir,error
s $et="g error"
i '$$edit(.gname) q 0
s gname=$zextract(gname,2,32)
i '$d(reg) s reg=$piece($view("REGION","^"_gname),",",1)
i "BGMM"'[$view("GVACCESS_METHOD",reg) zm 150376418:reg ; DBREMOTE
; -----------------------------------
; first check in directory tree
s dir=$view("YDIRTREE",gname,reg)
s t=$zextract(dir,5,999),tl=$zl(t) ; remove circumflex, take at most 31 chars
i tl,tl>4!($a(t,1)'=1) zm 150374058
i tl s nct=$a(t,2),act=$a(t,3),ver=$a(t,4) q nct_","_act_","_ver
; -----------------------------------
; db directory tree has no collation information. next check for gld.
s t=$view("YGLDCOLL","^"_gname)
i t'="0" s nct=$piece(t,",",1),act=$piece(t,",",2),ver=$piece(t,",",3) q nct_","_act_","_ver
; -----------------------------------
; no collation information was found in gld. check for coll info from db file hdr
s nct=0 d q:(act=0) 0
. d getzpeek("FHREG:"_reg,64,4,"U",.act)
. d getzpeek("FHREG:"_reg,68,4,"U",.ver)
q nct_","_act_","_ver
;
getzpeek(mnemonic,offset,length,format,result)
n xstr
i $zver'["VMS" s xstr="s result=$zpeek(mnemonic,offset,length,format)" x xstr q
s result=0
q
edit(gname)
i $zextract(gname)'="^" s gname="^"_gname
i $zextract(gname,2)'="%",$zextract(gname,2)'?1A zm 150373218 ; LKNAMEXPECTED
i gname'?1"^"1E.AN zm 150373218
q 1
;
error s $ec="",error=1
q 0
|