The last digit is replaced with x here. Assume it may be 0 or 1. If there is a continuing call, both the 0 and 1 terminated formats will be given as examples.
All returns of 9xxxx should be considered as a failure for the function.ID:1001x/2001x
NAME:GETIRFL_U
SEND:10010:<username>:
RETURN:20010:<IID>:<RCPID>:<FIRST NAME>:<LAST NAME>:
PURPOSE:get unique and descriptive info from a username
COMMENT:may return a 9xxxx error due to missing data in PDB or oracle problemsID:1002x/2002x
NAME:GETIR_FLSB
SEND:10020:<FIRST NAME>:<LAST NAME>:<SSN>:<BIRTH DATE>:
RETURN:20020:<IID>:<RCPID>:
PURPOSE:get rcpid and iid from "secret info"
COMMENT:used for authorizing may return a 9xxxx error due to PDB data.ID:1003x/2003x
NAME:GETRFL_I
SEND:10030:<IID>:
RETURN:20030:<RCPID>:<FIRST NAME>:<LAST NAME>:
PURPOSE:get rcpid first name and last name from iid
COMMENT:may return 9xxxx error due to PDB data.ID:1004x/2004x
NAME:GETIFL_R
SEND:10040:<RCPID>:
RETURN:20040:<IID>:<FIRST NAME>:<LAST NAME>:
PURPOSE:get iid, first and last from an rcpid
COMMENT:may return 9xxxx error due to pdb dataID:1005x/2005x
NAME:GETROLE
SEND:10050:<RCPID>:<ROLE>:
RETURN:20050:0 or 20050:1
PURPOSE:verify is role is associated with rcpid. 0 is no, 1 is yes.
COMMENT:may return a 9xxxx error on oracle error or PDB dataID:1006x/2006x
NAME:GETEMAIL
SEND:10060:<RCPID>:<ROLE>:
RETURN:20060:<EMAIL>:
PURPOSE:retrieve email address associated with rcpid role combo.
COMMENT:may return 9xxxx error on pdb data or oracle error.ID:1007x/2007x
NAME:GETROSTER
SEND:10070:<SSN>:<TERM>:<YEAR>:<REG_I>:
RETURN:20070:0: or 20070:1:
PURPOSE:verify if a ssn in a given course 0 = no 1= yes
COMMENT:may return 9xxxx error on pdb data or oracle error.ID:1008x/2008x
NAME:GETUSEREX
SEND:10080:<USERNAME>:
RETURN:20080:1: or 20080:0:
PURPOSE:verify if a username exists in the pdb already 0 = no 1 = yes
COMMENT:may return 9xxxx on oracle error.ID:1009x/2009x
NAME:GETKERB
SEND:10090:<IID>:<REALM>:
RETURN:20090:0: or 20090:1:
PURPOSE:lets you know if an entry exists for a given principle in a given realm in kerberos. 0 = no, 1 = yes
COMMENT:may return a 9xxxx on fatal kerb problemsID:1010x/2010x
NAME:GETUSRINF
SEND:10100:<RCP_ID>:
RETURN:20100:<PRIMARY USERNAME>:
PURPOSE:lets you retrieve the primary username associated with an rcpid
COMMENT:returns a 9xxxx error on pdb data or oracle error.ID:1011x/2011x
NAME:GETIRFL_S
SEND:10110:<SSN>:
RETURN:20110:<RCPID>:<IID>:<FIRST NAME>:<LAST NAME>:
PURPOSE:retrieve identifying info from an ssn
COMMENT:returns 9xxxx code on pdb data or oracle error.ID:1012x/2012x
NAME:GETCAMPUS
SEND:10120:<RCPID>:<CAMPUS CODE>:
RETURN:20120:0: or 20120:1:
PURPOSE:tells you if a given campus is associated witha given IID 0 = no, 1 = yes
COMMENT:returns 9xxxx on oracle error.ID:1013x/2013x
NAME:OBSOLETED FOR SECURITY PURPOSES.
SEND:
RETURN:
PURPOSE:
COMMENT:may be recycled at some point into a new command.ID:1014x/2014x
NAME:GETMAJOR
SEND:10140:<RCPID>:<MAJOR CODE>:
RETURN:20140:1: or 20140:0:
PURPOSE:tells you if a given rcpid is in a given major.
COMMENT:returns 9xxxx on oracle errorID:1500x/2500x
NAME:SETKERB
SEND:15000:<PRINCIPLE>:<REALM>:<PASSWORD>
RETURN:25000:0: 25000:1:
PURPOSE:set the kerberos prinicple 1= success 0 = failure
COMMENT:returns 9xxxx on fatal kerb errorID:1501x/2501x
NAME:SETEMAIL
SEND:15010:<RCPID>:<EMAIL ADDRESS>:<ROLE>:
RETURN:25010:0: or 25010:1:
PURPOSE:set the email field for a specific rcpid role pair.
COMMENT:may return 9xxxx on oracle error.ID:1502x/2502x
NAME:
SEND:15020:<RCPID>:<USERNAME>:
RETURN:25020:1: or 9xxxx failure
PURPOSE:set a primary username for a given rcpid.
COMMENT:either works or causes an oracle error.ID:1503x/2503x
NAME:REMEMAIL
SEND:15030:<USERNAME>:<EMAIL>:
RETURN:25030:1: oe 9xxxx error
PURPOSE:delete email addresss
COMMENT:this deletes all email addresses where username and email are associated to the same rcpid, and the email address matches email in either all uppercase or all lowercase.ID:1504x/2504x
NAME:obsoleted and moved for security
SEND:
RETURN:
PURPOSE:
COMMENT:may be reused at a later dateID:1505x/2505x
NAME:obsoleted and moved for security
SEND:
RETURN:
PURPOSE:
COMMENT:may be reused at a later dateID:1506x/2506x
NAME:SETNPUSER
SEND:15060:<RCPID>:<NON PRIMARY USERNAME>
RETURN:25060:1: or 9xxxx error
PURPOSE:set a non-primary username for given rcpid
COMMENT:you can multiple non-primary usernames, but only one primary. All usernames are unique within the same space though.ID:1507x/2507x
NAME:CHNGPWD
SEND:15070:<FIRST NAME>:<LAST NAME>:<SSN>:<BIRTH DATE>:<PRINCIPLE>:<REALM>:<PASSWORD>:
RETURN:25070:0: 25070:1:
PURPOSE:authenticate and change password for authenticated individual.
COMMENT:may also return 9xxxx on kerb fatal. 0 = failure 1 = success.ID:19998/29998
NAME:QUIT
SEND:19998:
RETURN:none
PURPOSE:terminate conversation
COMMENT:supported but not neededID:5001x/6001x
NAME:GETPHERDS
SEND:50010:<RCPID>:
RETURN:60010:<HERD NAME>: or 60011:<HERD NAME>:
PURPOSE:give rcpid get the herds they belong to.
COMMENT:repeating return call. gives 9xxxx on error with pdb or oracleID:5002x/6002x
NAME:GETHERDACL
SEND:50020:<RCPID>:<HERD NAME>:
RETURN:60020:0: 60020:1:
PURPOSE:see if rcpid is in the scl for a given herd
COMMENT:9xxxx ...ID:5003x/6003x
NAME:GETHERDUSR
SEND:50030:<HERDNAME>:
RETURN:60030:<RCPID>: or 60031:<RCPID>: or 60030:: if none found
PURPOSE:get rcpids associated with a herd
COMMENT:continuing call so not found behaves differentlyID:5501x/6501x
NAME:SETHERD
SEND:55010:<USER RCPID>:<CREATOR RCPID>:<SPONSOR RCPID>:<HERD NAME>:<EXPIRATION DATE>:
RETURN:65010:1: or 9xxxx error
PURPOSE:to set a herd for a givem user
COMMENT:Pass date as the string "NULL" without quotes to have no expiration date.ID:5502x/6502x
NAME:EXPHERD
SEND:55020:<RCPID>:<HERD NAME>:
RETURN:65020:0: or 65020:1:
PURPOSE:expire herd for given rcpid herd always set ot expire at sysdate as seen by the PDB
COMMENT:as always 1 = success/yes 0 =fail/no, 9xxxx may return for error.ID:5503x/6503x
NAME:EXPUSR
SEND:55030:<RCPID>:<USERNAME>:<EXP_DATE>:<BECOME INACTIVE DATE>:
RETURN:65030:0: or 65030:1:
PURPOSE:expire a users username
COMMENT:works for secondaries too. become inactive date is date actually removed, expiration date is sysdate as seen by PDB.ID:5504x/6504x
NAME:SETHERDACL
SEND:55040:<RCPID>:<HERD NAME>:
RETURN:65040:0: or 65040:1:
PURPOSE:add rcpid given to acl for herd name given.
COMMENT:as always 9xxxx on failure is possible. 0=fail 1=succID:5505x/6505x
NAME:SETHERDNAME
SEND:55050:<HERDNAME>:
RETURN:65050:0: or 65050:1:
PURPOSE:add herd name to ACL
COMMENT:as always 9xxxx on fail 0 = fail 1 = succID:5506x/6506x
NAME:REMHERDACL
SEND:55060:<RCPID>:<HERD NAME>:
RETURN:65060:1: or 9xxxx failure
PURPOSE:delete a herd name from the ACL
COMMENT:1 = success.
ID: 3001x/4001x
NAME: QSET/R_QSET
SEND: 30010:uid:soft:hard:fs:
RETURN: 40010:1:
PURPOSE:setting quotas for a user on a file system
COMMENT:"fs" is a path.
ID: 3002x/4002x
NAME: MKDIR/R_MKDIR
SEND: 30020:uid:gid:path:perm:
RETURN: 40020:1:
PURPOSE:create a directory with permissions and ownership
COMMENT:
ID: 3003x/4003x
NAME: RMDIR/R_RMDIR
SEND: 30030:path:
RETURN: 40030:1:
PURPOSE:remove a directory
COMMENT:
ID: 3004x/4004x
NAME: ADDPWEN/R_ADDPWEN
SEND: 30040:usr:pas:uid:gid:gcos:home:sh:lastchg:minday:maxday:warn:inactive:expire:flag:
RETURN: 40040:1:
PURPOSE:create a new pass/shadow entry
COMMENT:Args match fields in both passwd and shadow.
COMMENT:If uid == $CONFIG::BOGUS_UID then a new uid will be generated.
ID: 3005x/4005x
NAME: REMPWEN/R_REMPWEN
SEND: 30050:user:
RETURN: 40050:1:
PURPOSE:remove a pass/shadow entry
COMMENT:
ID: 3006x/4006x
NAME: ADDTOGRP/R_ADDTOGRP
SEND: 30060:user:group:
RETURN: 40060:1:
PURPOSE:add user to a group
COMMENT:Group manipulation may create group size re-ordering.
ID: 3007x/4007x
NAME: REMFRGRP/R_REMFRGRP
SEND: 30070:user:group:
RETURN: 40070:1:
PURPOSE:remove a user from group
COMMENT:Group manipulation may create group size re-ordering.
ID: 3008x/4008x
NAME: LOG/R_LOG
SEND: 30080:message:
RETURN: 40080:1:
PURPOSE:log a message
COMMENT:Log messages should generaly contain the function name
COMMENT:the proccess name,id, and time will be prepanded.
ID: 3009x/4009x
NAME: DEBUG/R_DEBUG
SEND: 30090:message:
RETURN: 40090:1:
PURPOSE:log a debug message
COMMENT:Log messages should generaly contain the function name
COMMENT:the proccess name,id, and time will be prepanded.
ID: 3010x/4010x
NAME: LINK/R_LINK
SEND: 30100:source:target:uid:gid:
RETURN: 40100:1:
PURPOSE:link a source file to target file
COMMENT:If both source and target already exists it return 1 even if they
COMMENT:don't point at each other.
COMMENT:Ownership will be set with lchown if OS support it.
ID: 3011x/4011x
NAME: COPY/R_COPY
SEND: 30110:source:target:uid:gid:
RETURN: 40110:1:
PURPOSE:copy a source file to a target file
COMMENT:The permission of the target are inherited from the source
ID: 3012x/4012x
NAME: RUN/R_RUN
SEND: 30120:script:username:
RETURN: 40120:1:
PURPOSE:run a script on a host
COMMENT:The path of the script will be appended to $CONFIG::SCRIPT_DIR.
COMMENT:username is passed as arg to the script at run time.
ID: 3013x/4013x
NAME: ARCHIVE/R_ARCHIVE
SEND: 30130:path:
RETURN: 40130:1:
PURPOSE:Archive a user home directory or any other path
COMMENT:Archiving is controled by various vars in CONFIG. read rats.conf docs
ID: 3014x/4014x
NAME: RESERVE/R_RESERVE
SEND: 30140:username:
RETURN: 40140:uid:
PURPOSE:reserve an uid for a user
COMMENT:Reservation control and uid allocation are controled in rats.conf
ID: 3015x/4015x
NAME: CHGSHELL/R_CHGSHELL
SEND: 30150:username:path:
RETURN: 40150:1:
PURPOSE:change a user's shell
COMMENT:Path is used as the new shell for username
ID: 3501x/4501x
NAME: GETUID/R_GETUID
SEND: 35010:username:
RETURN: 45010:uid:
PURPOSE:retrive an uid for a user
COMMENT:Both password and reserve files are checked.
ID: 3502x/4502x
NAME: GETPWENT/R_GETPWENT
SEND: 35020:username:
RETURN: 45020:username:pass:uid:gid:gcos:home:shell:
PURPOSE:get password entry for a user
COMMENT:Note that this does not return shadow info
ID: 3503x/4503x
NAME: QGET/R_QGET
SEND: 35030:uid:fs:
RETURN: 45030:soft:hard:
PURPOSE:get quota for a user on a file system
COMMENT:This call may be expanded to support other quota info
ID: 3504x/4504x
NAME: GETGID/R_GETGID
SEND: 35040:groupname:
RETURN: 45040:gid:
PURPOSE:get gid for a group
COMMENT:ID: 3505x/4505x
NAME: GETGROUP/R_GETGROUP
SEND: 35050:username:
RETURN: 45050:groupname:groupname:...:
PURPOSE:get list of group names for a user
COMMENT:It returns groups from group file and that represent by primary gid
ID: 3506x/4506x
NAME: GETUSERS/R_GETUSERS
SEND: 35060:
RETURN: 45060:user:user:user:...:
PURPOSE:get list of usernames on host
COMMENT:List of usernames includes both password and reserve info
ID: 3507x/4507x
NAME: GETGRNAM/R_GETGRNAM
SEND: 35070:groupname:
RETURN: 45070:groupname:pass:gid:users:
PURPOSE:return group entry
COMMENT:Users is a string of space separated usernames
COMMENT:The entry is compiled from all group following the -ext convention
ID: 3508x/4508x
NAME: GETSHENT/R_GETSHENT
SEND: 35080:username:
RETURN: 45080:user:pass:lastchg:mindays:maxdays:warn:inactive:expire:flag:
PURPOSE:get shadow file entry for user
COMMENT:
ID: 3509x/4509x
NAME: EXUSER/R_EXUSER
SEND: 35090:username
RETURN: 45090:1
PURPOSE:check if a user exists on system
COMMENT:This checks both password and reserve files
COMMENT:Returns error if user not found