[Info-vax] DCL's flaws (both scripting and UI)

Jan-Erik Soderholm jan-erik.soderholm at telia.com
Mon Jan 19 18:23:23 EST 2015


Simon Clubley skrev den 2015-01-19 22:52:

>
> I see Jan-Erik has also posted a queue example in Python which does
> pretty much the same thing. If I read that code correctly, it appears
> to populate an object in a similar way to the one I am suggesting.
>
> Simon.
>

I was just thinking if commenting your OO-DCL example code. :-)

Yes, the Python implementation use the OO model that Python
is built upon. I have move the Python file that contains the
queue definitions to:

http://jescab2.dyndns.org/pub_docs/queues.py

so you can study how it is implementet. That file is what is
read by my first command in my example, "from vms import queues".
That "loads" the queue definitions and functions into Python.

As you can see, the higher level functions are built on the
interface to getquiw() that is included in the "starlet"
part of the VMS module for Python.

The "starlet" module has quite a few of the common system
services implented and directly usable from Python. Doing

import vms.starlet
help (vms-starlet) gives a list of functions directly
callable from the VMS port of Python:

     acquire_galaxy_lock(...)
     add_holder(...)
     add_ident(...)
     add_proxy(...)
     adjwsl(...)
     alloc(...)
     ascefc(...)
     asctim(...)
     asctoid(...)
     ascutc(...)
     assign(...)
     audit_event(...)
     audit_eventw(...)
     avoid_preempt(...)
     bintim(...)
     binutc(...)
     brkthruw(...)
     cancel(...)
     check_access(...)
     check_privilegew(...)
     chkpro(...)
     clref(...)
     cpu_capabilities(...)
     create_galaxy_lock(...)
     create_galaxy_lock_table(...)
     create_uid(...)
     create_user_profile(...)
     crelnm(...)
     crelnt(...)
     crembx(...)
     creprc(...)
     cvt_filename(...)
     dacefc(...)
     dalloc(...)
     dassgn(...)
     delete_galaxy_lock(...)
     delete_galaxy_lock_table(...)
     delete_intrusion(...)
     delete_proxy(...)
     dellnm(...)
     delmbx(...)
     delprc(...)
     deq(...)
     device_path_scan(...)
     device_scan(...)
     dismou(...)
     display_proxy(...)
     dlcefc(...)
     enq(...)
     enqw(...)
     erapat(...)
     expreg(...)
     filescan(...)
     find_held(...)
     find_holder(...)
     finish_rdb(...)
     forcex(...)
     format_acl(...)
     format_audit(...)
     free_user_capability(...)
     get_align_fault_data(...)
     get_galaxy_lock_info(...)
     get_galaxy_lock_size(...)
     get_security(...)
     get_user_capability(...)
     getdviw(...)
     getenv(...)
     getjpiw(...)
     getlkiw(...)
     getmsg(...)
     getquiw(...)
     getrmi(...)
     getsyiw(...)
     gettim(...)
     getuai(...)
     getutc(...)
     grantid(...)
     hash_password(...)
     hiber(...)
     icc_accept(...)
     icc_close_assoc(...)
     icc_connectw(...)
     icc_disconnectw(...)
     icc_open_assoc(...)
     icc_receivew(...)
     icc_reject(...)
     icc_replyw(...)
     icc_transceivew(...)
     icc_transmitw(...)
     idtoasc(...)
     init_vol(...)
     io_cleanup(...)
     io_fastpathw(...)
     io_performw(...)
     io_setup(...)
     mod_holder(...)
     mod_ident(...)
     mount(...)
     numtim(...)
     numutc(...)
     parse_acl(...)
     perm_dis_align_fault_report(...)
     perm_report_align_fault(...)
     persona_assume(...)
     persona_clone(...)
     persona_create(...)
     persona_create_extension(...)
     persona_delegate(...)
     persona_delete(...)
     persona_delete_extension(...)
     persona_extension_lookup(...)
     persona_find(...)
     persona_modify(...)
     persona_query(...)
     persona_reserve(...)
     process_affinity(...)
     process_capabilities(...)
     process_scan(...)
     purgws(...)
     readef(...)
     registryw(...)
     release_galaxy_lock(...)
     rem_holder(...)
     rem_ident(...)
     resched(...)
     resume(...)
     revokid(...)
     scan_intrusion(...)
     schdwk(...)
     set_devicew(...)
     set_implicit_affinity(...)
     set_process_propertiesw(...)
     set_resource_domain(...)
     set_security(...)
     setddir(...)
     setdfprot(...)
     setef(...)
     setime(...)
     setpri(...)
     setprn(...)
     setprv(...)
     setshlv(...)
     setswm(...)
     setuai(...)
     setup_avoid_preempt(...)
     snderr(...)
     sndjbcw(...)
     start_align_fault_report(...)
     stop_align_fault_report(...)
     subsystem(...)
     suspnd(...)
     timcon(...)
     time_to_utc(...)
     trnlnm(...)
     utc_to_time(...)
     verify_proxy(...)
     waitfr(...)
     wake(...)
     wfland(...)
     wflor(...)

In many cases higher level funtions has been created like
the ones I used in my example to read queue and job info.

Jan-Erik.






More information about the Info-vax mailing list