Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!daver!leadsv!pyramid!ctnews!risky!pase60!ssridhar From: ssridhar@pase60.Convergent.Com (Srinivasan Sridhar) Newsgroups: comp.sys.apollo Subject: Help needed on sys calls to get user,group names Keywords: ios, sys calls, UID, GID Message-ID: <4092@risky.Convergent.COM> Date: 18 Apr 91 16:09:36 GMT Sender: root@risky.Convergent.COM Lines: 54 I need help on two subjects- both involving system calls in Sys 5. How do you get USER and GROUP NAMES using sys calls ? =================================================== 1. Using system calls (such as ios_$ and name_$), the call should return/ point to user name of the person executing the object code. It does not matter if the call looks up the /etc/passwd and other /etc files to do so. I have examined the Sys V Progammers reference, Domain/OS Call Reference (Volumes I and II) and other related manuals. I have not seen any function that does this easily. Alternatively, is there a way I can use the getuid() calls to acheive this ?? 2. A system call to return/point to the owner and group of an object. Are there any system calls that perform the same function as chacl ? ================================================================== Using Sys V calls, the program should change the acls of an object. Is there a call to do this ? The next question was again posed to Apollo, Chelmsford and the reply that I got only made it more confusing ! Help with the name_$read_dir_lc() call ====================================== This call has been declared as a void. But the description says that the call supplies a list of canonical directory entries. Now name_$read....() cannot be the object type name_$canonical_dir_entry_t (because of ANSI C rules saying that a void function cannot return values _or_ be cast to other object types). Also, one of the arguments to the function namely *dir_list seems to be the best candidate to return a directory list of the form name_$canonical_..._t. But this variable has been declared a pointer to a char. The question is- how do I get name_$canonical_dir_entries_t from the function? BTW, the obsolete form of this same system call seemed to return the complete structure associated with directory entries thru' *dir_list. i.e, name_$read_dir(...,*dir_list,...) used to return the structure associated with a directory thru' *dir_list. For some reason this drastically changed with the implementation of the _lc extension. ======================================================================== Srinivasan Sridhar ssridhar@convergent.com UNIX Systems Group, UNISYS NCG, San Jose, CA (408) 435-7660 ========================================================================