(go to: table of contents, index, list of vms_sys, prev: TIMCON, next: VERIFY_PROXY)
vms_sys.trnlnm() does _not_ raise an exception when the SYS$TRNLNM routine
returns an error. You must check 'status' in the dictionary that is returned.
Format:
It is only put into the dictionary, when SYS$TRNLNM returns a success status.
TRNLNM - Translate Logical Name
Returns information about a logical name.
29-NOV-1998 ZE.
dict = vms_sys.trnlnm ([attr] ,tabnam ,lognam \
,[acmode] ,[itmlst])
Returns:
Arguments:
Examples:
>>> import vms_sys
>>> import vms_lnmdef
>>> def show_attr (l_attributes):
... from vms_lnmdef import *
... if (l_attributes & LNM_M_NO_ALIAS):
... print 'LNM_M_NO_ALIAS'
... if (l_attributes & LNM_M_CONFINE):
... print 'LNM_M_CONFINE'
... if (l_attributes & LNM_M_CRELOG):
... print 'LNM_M_CRELOG'
... if (l_attributes & LNM_M_TABLE):
... print 'LNM_M_TABLE'
... if (l_attributes & LNM_M_CONCEALED):
... print 'LNM_M_CONCEALED'
... if (l_attributes & LNM_M_TERMINAL):
... print 'LNM_M_TERMINAL'
... if (l_attributes & LNM_M_EXISTS):
... print 'LNM_M_EXISTS'
... if (l_attributes & LNM_M_SHAREABLE):
... print 'LNM_M_SHAREABLE'
... if (l_attributes & LNM_M_CREATE_IF):
... print 'LNM_M_CREATE_IF'
... # - show_attr()
...
>>>
----------
>>> dict = vms_sys.trnlnm (0, 'LNM$JOB', 'SYS$LOGIN', None,
... (('LNM$_TABLE',None) ,
... ('LNM$_STRING',None) ,
... ('LNM$_ATTRIBUTES',None),
... ('LNM$_ACMODE',None)
... )
... )
>>>
>>> for k in dict.keys():
... print k, dict.get(k)
...
LNM$_TABLE LNM$JOB_814D5680
LNM$_ATTRIBUTES 66560 # see below
LNM$_ACMODE 1 # 1 = PSL$C_EXEC
status 1
LNM$_STRING USER_HERE:[ZESSIN]
>>>
>>> l_attributes = dict.get('LNM$_ATTRIBUTES')
>>> show_attr (l_attributes)
LNM_M_EXISTS
LNM_M_SHAREABLE
>>>
$ show logical /full SYS$LOGIN
"SYS$LOGIN" [exec] = "USER_HERE:[ZESSIN]" (LNM$JOB_814D5680)
$
----------
$ DEFINE LNM1 V1,V2,V3,V4,V5
>>> dict = vms_sys.trnlnm (0, 'LNM$PROCESS', 'LNM1', None,
... (('LNM$_MAX_INDEX',None),
... )
... )
>>> for k in dict.keys():
... print k, dict.get(k)
...
LNM$_MAX_INDEX 4
status 1
>>>
>>> max_index = dict.get('LNM$_MAX_INDEX')
>>> for idx in range (max_index+1):
... dict = vms_sys.trnlnm (0, 'LNM$PROCESS', 'LNM1', None,
... (('LNM$_INDEX',idx) , # input-item !
... ('LNM$_STRING',None) # output-item
... )
... )
... status = dict.get('status')
... if (status == 1): # 1 = SS$_NORMAL
... print idx, dict.get('LNM$_STRING')
... else:
... vms_sys.getmsg (status)
...
0 V1
1 V2
2 V3
3 V4
4 V5
>>>
----------
$ SHOW LOGICAL /TABLE=LNM$SYSTEM_DIRECTORY LNM$FILE_DEV*
(LNM$SYSTEM_DIRECTORY)
"LNM$FILE_DEV" [super] = "LNM$PROCESS"
= "LNM$JOB"
= "LNM$GROUP"
= "LNM$SYSTEM"
= "DECW$LOGICAL_NAMES"
"LNM$FILE_DEV" [exec] = "LNM$SYSTEM"
$
>>> # by default the outermost (regarding processor-mode)
>>> # logical name is translated
>>> dict = vms_sys.trnlnm (0, 'LNM$SYSTEM_DIRECTORY',
... 'LNM$FILE_DEV', None,
... (('LNM$_TABLE',None) ,
... ('LNM$_STRING',None) ,
... ('LNM$_ATTRIBUTES',None),
... ('LNM$_ACMODE',None) ,
... ('LNM$_MAX_INDEX',None)
... )
... )
>>> for k in dict.keys():
... print k, dict.get(k)
...
LNM$_TABLE LNM$SYSTEM_DIRECTORY
LNM$_MAX_INDEX 4 # 5 equivalence names (0 to 4)
LNM$_ATTRIBUTES 66560 # see below
LNM$_ACMODE 2 # 2 = PSL$C_SUPER
status 1
LNM$_STRING LNM$PROCESS # at index 0
>>>
>>> l_attributes = dict.get('LNM$_ATTRIBUTES')
>>> show_attr (l_attributes)
LNM_M_EXISTS
LNM_M_SHAREABLE
>>>
-----
>>> # specify an explicit access mode
>>> PSL_C_EXEC = 1
>>> dict = vms_sys.trnlnm (0, 'LNM$SYSTEM_DIRECTORY',
... 'LNM$FILE_DEV', PSL_C_EXEC,
... (('LNM$_TABLE',None) ,
... ('LNM$_STRING',None) ,
... ('LNM$_ATTRIBUTES',None),
... ('LNM$_ACMODE',None) ,
... ('LNM$_MAX_INDEX',None)
... )
... )
>>> for k in dict.keys():
... print k, dict.get(k)
...
LNM$_TABLE LNM$SYSTEM_DIRECTORY
LNM$_MAX_INDEX 0 # only one equivalence name
LNM$_ATTRIBUTES 66560 # see below
LNM$_ACMODE 1 # 1 = PSL$C_EXEC
status 1
LNM$_STRING LNM$SYSTEM
>>>
--------------------
>>> dict = vms_sys.trnlnm (0, 'LNM$PROCESS',
... 'BAD_LNM', None,
... (('LNM$_STRING',None),
... )
... )
>>> for k in dict.keys():
... print k, dict.get(k)
...
status 444
>>>
>>> status = dict.get('status')
>>> vms_sys.getmsg (status)
('%SYSTEM-F-NOLOGNAM, no logical name match', (0, 0, 0, 0))
>>>
@@ more examples for TRNLNM
(go to: table of contents,
index,
list of vms_sys,
prev: TIMCON,
next: VERIFY_PROXY)