MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to view SVCTABLE

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Other Technical Topics
View previous topic :: View next topic  
Author Message
gritzky
Beginner


Joined: 12 Oct 2007
Posts: 2
Topics: 1

PostPosted: Sat Oct 13, 2007 3:44 pm    Post subject: How to view SVCTABLE Reply with quote

Does anyone know of an easy way to view the SVCTABLE? I need to see if certain SVCs are restricted or not. I DO NOT have access to any auditing tools such as CA Examine. Thanks.
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Sun Oct 14, 2007 12:52 am    Post subject: Reply with quote

TASID might be able to help (not sure what you mean by restricted), as might SHOWMVS on the CBT tape. If you need TASID for an unsupported version of [MVS, OS/390, z/OS], you can get it here but 5.14 has a fix in the SVC list that shows SVC 255 if it exists. There may be an operator (console) command you can use too, but I could not find it quickly. Or, if you really want to, you can write your own Assembler, Rexx, COBOL, etc routine using this info as a starting point.
_________________
New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html.
Back to top
View user's profile Send private message Visit poster's website
gritzky
Beginner


Joined: 12 Oct 2007
Posts: 2
Topics: 1

PostPosted: Mon Oct 15, 2007 8:59 am    Post subject: Reply with quote

Thanks semigeezer. By restricted, I meant APF protected. I am hoping to find an operator command as I am doing an audit with limited access and cannot request that they install new tools. Unfortunately, I do not have the programming skills to write my own routine.
Back to top
View user's profile Send private message
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Mon Oct 15, 2007 1:09 pm    Post subject: Reply with quote

Could IPCS be used to browse thru an active ASID and follow the pointers to the SVC table?
_________________
Regards,
Bill Dennis

Disclaimer: My comments on this foorum are my own and do not represent the opinions or suggestions of any other person or business entity.
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Mon Oct 15, 2007 9:52 pm    Post subject: Reply with quote

Assuming it hasn't changed in a few years, you could allocate this file to ddname ISRDDN and then type
Code:
TSO ISRDDN ; B SVCTABLE
to view the storage for the SVC table, but that is just raw data. The ARRAY command in ISRDDN could format it somewhat but you'd still have to interpret it per the book. Also, some SVC numbers have multiple SVCs associated with them so you'd need to chase those too. It has been a long time since I looked at that but it is theoretically possible but it would be less than ideal. On the other hand, once you issue the B SVCTABLE command, you might be able to give the locater string shown in the short message to a Rexx programmer and have him/her turn that into a small program to display the storage in a formatted fashion. Not a trivial exercise, but maybe an intermediate level. If anyone is interested in the formatting within ISRDDN, I can try it later and give the command (maybe something like ARRAY 8 but I can't test it right now).
_________________
New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html.
Back to top
View user's profile Send private message Visit poster's website
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Mon Oct 15, 2007 11:39 pm    Post subject: Reply with quote

I got intrigued and decided to give it a quick try.... This is an example of how to do this in Rexx. Not all info is presented and I only used the primary entries -- not showing extended SVCs (ESRs), but this is a start. The report is shown in VIEW so you have to run it as a command within ISPF. Not well tested or verified.
Code:
/* Rexx - show SVC table in View.  ESRs not expanded                 */
/* ref: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2v260/1.4.2  */
cvt=ptr(16)                            /* Get CVT                    */
scvt=ptr(cvt+200)                      /* Get scvt                   */
svctable=ptr(scvt+132)                 /* Get addr of SVC table      */
'ALLOC F(SVCXXX) NEW DEL RECF(F B) LREC(80) SPA(3) TRA UNI(SYSDA) REU'
Do queued();Pull;End
Do a = 0 to 255
  Parse Value '_-_ _-_ __--__ __--__' With apf ext pre ast
  entry = stg(svctable+a*8 ,8)          /* get whole entry    */
  flags= substr(entry,5,1)              /* get svctable flags */
  If bitand(entry,'000000007fffffff'x) <> '0000000000000000'x Then
    Do
      typebits  = bitand(flags,'11100000'b)
      authbit   = bitand(flags,'00001000'b)
      extbit    = bitand(flags,'00000100'b)
      nprebit   = bitand(flags,'00000010'b)
      assistbit = bitand(flags,'00000001'b)
      If typebits='00'x Then type='1  '
      If typebits='80'x Then type='2  '
      If typebits='C0'x Then type='3/4'
      If typebits='20'x Then type='6  '
      If authbit   <> '00'x Then apf='APF'
      If extbit    <> '00'x Then ext='ESR'
      If nprebit   <> '00'x Then pre='Nonpre'
      If assistbit <> '00'x Then ast='Assist'
      line='SVC '''right(d2x(a),2,'0')'''x ('right(a,3)'):'
      line=line c2x(substr(entry,1,4)) c2x(substr(entry,5,4))
      line=line ' Type='type apf ext pre ast
      Queue translate(line,' ','_')
    End
End
'EXECIO 'queued()' DISKW SVCXXX (FINIS'
Address ispexec 'LMINIT DATAID(SVC) DDNAME(SVCXXX)'
Address ispexec 'VIEW   DATAID(&SVC)'
Address ispexec 'LMFREE DATAID(&SVC)'
'FREE F(SVCXXX)'
Exit
ptr:  Return c2d(storage(d2x(Arg(1)),4))     /* Return a pointer     */
stg:  Return storage(d2x(Arg(1)),Arg(2))     /* Return storage       */

_________________
New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Other Technical Topics All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group