wjw@eba.eb.ele.tue.nl (Willem Jan Withagen) (12/05/90)
We all would like to set the rights of a file once in a while, don't we? Now Apollo has some few more rights then others, so the normal stat(2) does not work. So what's wrong with looking in an Aegis Call reference to lookup anything that has to do with 'acl'? I'll tell you: I wasn't able to find anything except for up/down in a protected subsystem. To me this is nothing more than a std-call I want to use. I can even do it on a dirty of the self MS-BARF-IBM box, so why not under Aegis? Well actually you can, but it's hidden somewhere in my documentation. And I can't find it :-{. So who's going to help me. Maybe in return I'll render something usefull for in the COPS package. Thanx, Willem Jan. PS: for those wanting to know more: try a 'strings -a /com/acl | grep acl' and you'll see what I mean with an obscured operating system. Lots of calls nobody has ever heard about. Eindhoven University of Technology DomainName: wjw@eb.ele.tue.nl Digital Systems Group, Room EH 10.10 BITNET: ELEBWJ@HEITUE5.BITNET P.O. 513 Tel: +31-40-473401 5600 MB Eindhoven The Netherlands
krowitz@RICHTER.MIT.EDU (David Krowitz) (12/06/90)
Most of the ACL manager calls are unreleased calls. Use /systest/ssr_util/dmpf (the hex file dumper) to look at /com/edacl. You'll see the names of all of the global subroutine calls near the end of the listing. If you can get DBX or DDE to display the assembly language for /com/edacl, you may be able to figure out the arguments to the calls. Frankly, if HP/Apollo hasn't released the calls, it's because they don't want you to use them. I think it might be easier to use the Unix "system" call or maybe the Aegis "pgm_$invoke" call to run the /com/edacl program from within your own program, feeding it (edacl) the ACL you want to set. -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter.mit.edu@eddie.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)
rees@pisa.ifs.umich.edu (Jim Rees) (12/07/90)
In article <9012061511.AA04340@richter.mit.edu>, krowitz@RICHTER.MIT.EDU (David Krowitz) writes:
Most of the ACL manager calls are unreleased calls. Use /systest/ssr_util/dmpf
(the hex file dumper) to look at /com/edacl. You'll see the names of all of
the global subroutine calls near the end of the listing.
That's a bit clumsy. I prefer "nm," which will give you just the names of
the system calls made by edacl (or any other program).
If you can get DBX or
DDE to display the assembly language for /com/edacl, you may be able to figure
out the arguments to the calls.
I have a little program I sometimes use for hacking unreleased calls. You
can get the address of the call with "esa." Using "nm" on "esa" will tell
you the name of the routine that returns the address of a system call. Using
this call you can write a program that takes the name of a system call and a
list of arguments, and calls it. Since system calls almost always have a
status out-arg as the last argument, and status codes are easy to recognize,
it's not hard to find out how many arguments the call takes. A little guess
work and some experiments and you can usually figure them out.
Frankly, if HP/Apollo hasn't released the calls,
it's because they don't want you to use them.
Yes, but they're not just trying to make your life difficult (even though it
may seem that way sometimes). Every call that gets released has to be
documented and supported, and can never be changed or un-released.
At one time I think there was a book called something like "Programming With
Dangerous Unreleased Calls" (or something like that) that described some,
but not all, of the unreleased calls. It may have only been available to
OEMs, big customers, or Universities.
krowitz@RICHTER.MIT.EDU (David Krowitz) (12/07/90)
Thanks! "nm" was something I haven't seen before ... it *IS* handy. So is "esa".You are correct about the manual having existed. It was in the actual Apollo price list for awhile back at SR9.x, but they removed it. I think it was called something like "Programming With Advanced System Calls". Somebody like Dave Funk at U. Iowa ought to have copies of it -- I think I remember seeing some code from him that used the CL_$ calls (the Aegis command-line parser and wild-card handling calls). Anyone have a copy of this manual that they are willing to Xerox for the net? -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter.mit.edu@eddie.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)
brady_p@apollo.HP.COM (Peter Brady) (12/14/90)
In article <9012071413.AA04525@richter.mit.edu> krowitz@RICHTER.MIT.EDU (David Krowitz) writes: >....You are correct about the manual having existed. It was >in the actual Apollo price list for awhile back at SR9.x, but they >removed it. I think it was called something like "Programming With >Advanced System Calls"... > > -- David Krowitz The manual was called "Programming with Domain Advanced System Calls". The problem with it is that a lot of the manual is only useful for SR9.X systems; some of the stuff (like the registry and loader calls) are very different in SR10. --pete
wjw@eba.eb.ele.tue.nl (Willem Jan Withagen) (12/14/90)
In article <4e93f2ff.1a630@apollo.HP.COM> brady_p@apollo.hp.COM (Pete Brady) writes: >In article <9012071413.AA04525@richter.mit.edu> krowitz@RICHTER.MIT.EDU (David Krowitz) writes: >>....You are correct about the manual having existed. It was > >The manual was called "Programming with Domain Advanced System Calls". >The problem with it is that a lot of the manual is only useful for SR9.X >systems; some of the stuff (like the registry and loader calls) are very >different in SR10. Mind you though, the loader call are documented in the std-manual(some I guess) the registry call are again a nono. Well I talked with my a friend here at HP/Apollo, and he's going to try to get me the SR9 manual. (IF he can still find it) I know that it's of very little use, but it'll give me a clou as to what is going around as typical parameters in those systemcalls. The argument of not having all calls documented because of future changes is very viable too me. But I think that the user should be supplied with a set of calls large enough to get all of his/hers work done. And this would mean that I would be able to set the aegis rights by making *DOCUMENTED* systemcalls. I don't care about the registry(unless my apollo is standalone, I don't want to mess) or the printer-server. The printer-server however is not fully complete and has always required patching.(This is also not a very trivial thing) So my argument here is: Why are some things documented, and hence fixed in their interfaces and are others completely obscured for the sakes of wanting to limit the OS-engineers? Yours, Willem Jan Withagen. Eindhoven University of Technology DomainName: wjw@eb.ele.tue.nl Digital Systems Group, Room EH 10.10 BITNET: ELEBWJ@HEITUE5.BITNET P.O. 513 Tel: +31-40-473401 5600 MB Eindhoven The Netherlands