jdc@beach.cis.ufl.edu.UUCP (11/24/87)
I have been trying to use logical names in separate job tables and this works fine for the processes that use that job table. Any other process which has access to the LNM$JOB_xxxxxxxx table cannot translate the logical name unless it knows what the name of the table is. The only way I can think of finding out the "logical name table tree" for a given process is to use SHOW LOGICAL/Structure and route the output to a file and then scan it for job tables. Is there an easier way to do this? I can't even use the $TRNLNM service to use a wildcard in the field for logical name. Wildcards can be used on $GETJPI but not on log names. If anyone has any suggestions I would greatly appreciate it. Please don't tell me to use the system table because this has to be done from a regular user account. It would be nice to have SYSNAM... but... Thanks in advance... -- Jeff Capehart Internet: micronaut%oak.decnet@pine.circa.ufl.edu University of Florida UUCP: ..!ihnp4!codas!ufcsv!beach.cis.ufl.edu!jdc
gary@tsc.UUCP (Gary Upchurch) (11/25/87)
Use the group tables. Since it sounds like all the users are in the same UIC group, this will allow all the users in the group access to any of the logicals in the table. But, if the user wants to redefine the logical he still can since it will only affect his process. -- Gary Upchurch Life's a virgin; UUCP - decwrl!csc32.dec.com!g_upchurch if it was a bitch, ARPA - g_upchurch@csc32.dec.com It would be easy. g_upchurch%csc32.dec@decwrl.dec.com
jdc@beach.cis.ufl.edu.UUCP (11/30/87)
Using the group table would not do the trick because I am looking for more than just the users in my group to have access to the table. It would be nice if I could set an ACL on the table but I do not have the privileges either to set an ACL or to put my logical name in the group table. What I would like is for there to be some possibly non- documented field for $GETJPI which would return the name of the job table associated with the process. It sounds reasonable, there is a field for MASTER_PID, so why not for the job table too? Basically all I want is to know what the name of the job table for some process not in the current process tree. Is it possible to do this? SHOW LOG/structure can do it, how does it know? Can I get access to the same information without CMKRNL priv? -- Jeff Capehart Internet: micronaut%oak.decnet@pine.circa.ufl.edu University of Florida UUCP: ..!ihnp4!codas!ufcsv!beach.cis.ufl.edu!jdc
rrk@byuvax.bitnet (12/02/87)
I believe the name of the JOB logical name table is constructed from the JOB header address, which (I believe) IS available through GETJPI. Just get it and do a FAO on a control string like "LNM$JOB_!XL".
mbr@beta.UUCP (Mike Rose) (12/03/87)
In article <37rrk@byuvax.bitnet> rrk@byuvax.bitnet writes: >I believe the name of the JOB logical name table is constructed from the >JOB header address, which (I believe) IS available through GETJPI. Just >get it and do a FAO on a control string like "LNM$JOB_!XL". Currently the name of the job logical name table is built using the address of the Job Information Block (JIB), as described above. Unfortunately this is not available from $getjpi. If you really want it, the JIB address is stored in the PCB at offset PCB$L_JIB. I don't think DEC has stated officially that the jib address is, and will continue to be, used to build the name of the job logical name table. I doubt that they have. It seems a reasonable choice to me, except for it not being available from $getjpi. It might be like pid's: they provide a number (or in this case a name) and you make assumptions about how they generate that name at your own risk. This should certainly be a consideration for programs with a long expected lifetime. I missed the original posting on this. Why is the name of the job table needed? Mike Rose
jdc@beach.cis.ufl.edu.UUCP (12/07/87)
In response to my original question about the name of the job table, mbr@beta.UUCP writes: >... If you really want it, the JIB address is stored in the PCB >at offset PCB$L_JIB. Well, I really do want it! I think many people here have gotten a bit too comfortable with all their privs. I am forced to use the JOB table because there is NO other table to which I have access to write other than my own. Because it is possible to set ACL's on job tables, it would be really nice if there were a way to fetch the name of the table also. I don't have any of these wonderful privs SYSNAM, GRPNAM, CMKRNL, SYSPRV, so it is very difficult to extract the name of a foreign processes job table name. I also don't have GROUP or WORLD priv so I am even limited to my own tables. A nice feature available in SHOW is the SHOW LOGICAL /STRUCTURE command which will show all the tables currently accessible. I bet any system manager doesn't use this a lot because it might be a few pages long... Users, on the other hand, only get the standard ones... proc, job, group, sys I tried using the offset, I am not sure but I think the explicit address that I got was %x80135430 (which was not the table name either) but I had no read access to that area of virtual memory. I hope DEC straightens some things out. I don't understand what was wrong with using the top level process on the process tree PID ... that would be unique wouldn't it? I am still wondering about how to get it, through some table lookup or a system service. JPI would be nice, but if there are other ways, please let me know. Thanks, I appreciate all the replys on this topic!! -- Jeff Capehart Internet: micronaut%oak.decnet@pine.circa.ufl.edu University of Florida UUCP: ..!ihnp4!codas!ufcsv!beach.cis.ufl.edu!jdc