home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / new / util / misc / multiuser / auto / multiuser.doc
Text File  |  1994-07-02  |  32KB  |  1,003 lines

  1. TABLE OF CONTENTS
  2.  
  3. multiuser.library/--background--
  4. multiuser.library/muAddMonitor
  5. multiuser.library/muAllocGroupInfo
  6. multiuser.library/muAllocUserInfo
  7. multiuser.library/muCheckPasswd
  8. multiuser.library/muExtOwner2ULONG
  9. multiuser.library/muFreeExtOwner
  10. multiuser.library/muFreeGroupInfo
  11. multiuser.library/muFreeUserInfo
  12. multiuser.library/muFreeze
  13. multiuser.library/muGetConfigDirLock
  14. multiuser.library/muGetDefProtection
  15. multiuser.library/muGetGroupInfo
  16. multiuser.library/muGetPasswdDirLock
  17. multiuser.library/muGetRelationshipA
  18. multiuser.library/muGetTaskExtOwner
  19. multiuser.library/muGetTaskOwner
  20. multiuser.library/muGetUserInfo
  21. multiuser.library/muKill
  22. multiuser.library/muLimitDOSSetProtection
  23. multiuser.library/muLoginA
  24. multiuser.library/muLogoutA
  25. multiuser.library/muPasswd
  26. multiuser.library/muRemMonitor
  27. multiuser.library/muSetDefProtectionA
  28. multiuser.library/muSetProtection
  29. multiuser.library/muUnfreeze
  30. multiuser.library/muUserInfo2ExtOwner
  31. multiuser.library/--background--             multiuser.library/--background--
  32.  
  33.   PURPOSE
  34.  
  35.     MultiUser  was  developed  to  get  a  greather  access  control than the
  36.     standard  Amiga Operating System provided.  It lets several users work on
  37.     the same computer - even at the same time - without losing their privacy.
  38.  
  39.   OVERVIEW
  40.  
  41.     * Users
  42.  
  43.       A user can only use the system if he/she is authorized to login.
  44.  
  45.     * Groups
  46.  
  47.       Every  user belongs to at least one group - his/her primary group - and
  48.       may belong to some secondary groups too.
  49.  
  50.     * Tasks/processess
  51.  
  52.       Every task or process is owned by a user.
  53.  
  54.     * Objects
  55.  
  56.       Objects  are  owned by a user (specified by his user identifier and one
  57.       of his group identifiers) and generally contain some access flags which
  58.       define  whether  someone has access to the object or not.  There can be
  59.       three kinds of access flags:
  60.  
  61.         - flags for the owner of the object
  62.  
  63.         - flags  for  a user who belongs to the same group as stored with the
  64.           object
  65.  
  66.         - flags for other users
  67.  
  68.       E.g.   the  objects  used  with  the  MultiUserFileSystem are files and
  69.       directories, the access flags are the protection bits.
  70.  
  71.     * Access control
  72.  
  73.       If  a  user  requests access to an object, the system can check whether
  74.       he/she  has  access  or  not  via  the  owner of the requesting task or
  75.       process and via the owner of the wanted object using the access flags.
  76.  
  77.  
  78. multiuser.library/muAddMonitor                 multiuser.library/muAddMonitor
  79.  
  80.   NAME  muAddMonitor()  (V39)
  81.  
  82.     success = muAddMonitor(monitor);
  83.  
  84.     BOOL muAddMonitor(struct muMonitor *);
  85.     D0                A0
  86.  
  87.   DESCRIPTION
  88.     Add a monitor to the system.  Depending on the monitor flags, you will be
  89.     notified    on   some   actions   via   a   signal   or   message.    See
  90.     <libraries/multiuser.h> for more information.  This call may be made only
  91.     by root.
  92.  
  93.   INPUTS
  94.     monitor - an initialised muMonitor structure.
  95.  
  96.   RESULT
  97.     success - success indicator.
  98.  
  99.   BUGS
  100.     none known
  101.  
  102.   SEE ALSO
  103.     muRemMonitor(), <libraries/multiuser.h>
  104.  
  105. multiuser.library/muAllocGroupInfo         multiuser.library/muAllocGroupInfo
  106.  
  107.   NAME  muAllocGroupInfo()  (V39)
  108.  
  109.     info = muAllocGroupInfo();
  110.  
  111.     struct muGroupInfo *muAllocGroupInfo(void);
  112.     D0
  113.  
  114.   DESCRIPTION
  115.     Allocate  a muGroupInfo structure in a future compatible manner.  This is
  116.     the  only  valid  way to allocate a muGroupInfo structure.  The structure
  117.     will be made empty for you.
  118.  
  119.   INPUTS
  120.     none
  121.  
  122.   RESULT
  123.     info - pointer  to  the  allocated  muGroupInfo  structure or NULL for no
  124.            memory.
  125.  
  126.   BUGS
  127.     none known
  128.  
  129.   SEE ALSO
  130.     muFreeGroupInfo(), muGetGroupInfo()
  131.  
  132. multiuser.library/muAllocUserInfo           multiuser.library/muAllocUserInfo
  133.  
  134.   NAME  muAllocUserInfo()  (V39)
  135.  
  136.     info = muAllocUserInfo();
  137.  
  138.     struct muUserInfo *muAllocUserInfo(void);
  139.     D0
  140.  
  141.   DESCRIPTION
  142.     Allocate  a  muUserInfo structure in a future compatible manner.  This is
  143.     the  only  valid  way  to allocate a muUserInfo structure.  The structure
  144.     will be made empty for you.
  145.  
  146.   INPUTS
  147.     none
  148.  
  149.   RESULT
  150.     info - pointer  to  the  allocated  muUserInfo  structure  or NULL for no
  151.            memory.
  152.  
  153.   BUGS
  154.     none known
  155.  
  156.   SEE ALSO
  157.     muFreeUserInfo(), muGetUserInfo()
  158.  
  159. multiuser.library/muCheckPasswd               multiuser.library/muCheckPasswd
  160.  
  161.   NAME  muCheckPasswd()  (V39)
  162.  
  163.     valid = muCheckPasswd(taglist);
  164.  
  165.     BOOL  muCheckPasswd(struct TagItem *);
  166.     D0                  A0
  167.  
  168.   DESCRIPTION
  169.     Check  whether  the supplied password is the valid password for the owner
  170.     of the current task.
  171.     This  function  is mainly intended to support SysLock look-alike programs
  172.     (cfr.  XLock for the MIT's X Window System).
  173.  
  174.   TAGS
  175.     muT_Password - (STRPTR)
  176.                    The password.
  177.  
  178.   INPUTS
  179.     taglist - a pointer to a taglist (may be NULL).
  180.  
  181.   RESULT
  182.     valid - indicates the password is valid.
  183.  
  184.   NOTE
  185.     This  function  may  be  extended  in future to let the super user (root)
  186.     check passwords for other tasks.
  187.  
  188.   BUGS
  189.     none known
  190.  
  191.   SEE ALSO
  192.     muPasswd()
  193.  
  194. multiuser.library/muExtOwner2ULONG         multiuser.library/muExtOwner2ULONG
  195.  
  196.   NAME  muExtOwner2ULONG()  (V39)
  197.  
  198.     user = muExtOwner2ULONG(owner);
  199.  
  200.     ULONG muExtOwner2ULONG(struct muExtOwner *);
  201.  
  202.   DESCRIPTION
  203.     This  macro  converts  a  muExtOwner  structure  to  a  ULONG  (cfr.  the
  204.     difference between muGetTaskExtOwner() and muGetTaskOwner()).
  205.  
  206.   INPUTS
  207.     owner - a  structure  returned by muGetTaskExtOwner() (may be NULL).  You
  208.             still have to free this structure by yourself!
  209.  
  210.   RESULT
  211.     user - the  bits  31-16  specify the user id (uid), the bits 15-0 specify
  212.            the group id (gid).  NULL for nobody.
  213.  
  214.   BUGS
  215.     none known
  216.  
  217.   SEE ALSO
  218.     muGetTaskExtOwner(), muGetTaskOwner(), muGetRelationshipA()
  219.  
  220. multiuser.library/muFreeExtOwner             multiuser.library/muFreeExtOwner
  221.  
  222.   NAME  muFreeExtOwner()  (V39)
  223.  
  224.     muFreeExtOwner(info);
  225.  
  226.     void muFreeExtOwner(struct muExtOwner *);
  227.                         A0
  228.  
  229.   DESCRIPTION
  230.     Free   a   muExtOwner   structure   returned   by   muGetTaskExtOwner  or
  231.     muUserInfo2ExtOwner.
  232.  
  233.   INPUTS
  234.     info - a  pointer  to  the muExtOwner structure you want to free.  May be
  235.            NULL.
  236.  
  237.   RESULT
  238.     none
  239.  
  240.   BUGS
  241.     none known
  242.  
  243.   SEE ALSO
  244.     muGetTaskExtOwner(), muUserInfo2ExtOwner
  245.  
  246. multiuser.library/muFreeGroupInfo           multiuser.library/muFreeGroupInfo
  247.  
  248.   NAME  muFreeGroupInfo()  (V39)
  249.  
  250.     muFreeGroupInfo(info);
  251.  
  252.     void muFreeGroupInfo(struct muGroupInfo *);
  253.                          A0
  254.  
  255.   DESCRIPTION
  256.     Free a muGroupInfo structure allocated with muAllocGroupInfo.
  257.  
  258.   INPUTS
  259.     info - a  pointer  to the muGroupInfo structure you want to free.  May be
  260.            NULL.
  261.  
  262.   RESULT
  263.     none
  264.  
  265.   BUGS
  266.     none known
  267.  
  268.   SEE ALSO
  269.     muAllocGroupInfo(), muGetGroupInfo()
  270.  
  271. multiuser.library/muFreeUserInfo             multiuser.library/muFreeUserInfo
  272.  
  273.   NAME  muFreeUserInfo()  (V39)
  274.  
  275.     muFreeUserInfo(info);
  276.  
  277.     void muFreeUserInfo(struct muUserInfo *);
  278.                         A0
  279.  
  280.   DESCRIPTION
  281.     Free a muUserInfo structure allocated with muAllocUserInfo.
  282.  
  283.   INPUTS
  284.     info - a  pointer  to  the muUserInfo structure you want to free.  May be
  285.            NULL.
  286.  
  287.   RESULT
  288.     none
  289.  
  290.   BUGS
  291.     none known
  292.  
  293.   SEE ALSO
  294.     muAllocUserInfo(), muGetUserInfo()
  295.  
  296. multiuser.library/muFreeze                         multiuser.library/muFreeze
  297.  
  298.   NAME  muFreeze()  (V39)
  299.  
  300.     success = muFreeze(task);
  301.  
  302.     BOOL muFreeze(struct Task *);
  303.     D0            A0
  304.  
  305.   DESCRIPTION
  306.     Freeze   a   specified   task.    You  cannot  freeze  yourself  nor  the
  307.     MultiUser.server.  This call may be made only by root.
  308.  
  309.   INPUTS
  310.     task - a pointer to the task you want to freeze.
  311.  
  312.   RESULT
  313.     success - success indicator.
  314.  
  315.   BUGS
  316.     none known
  317.  
  318.   SEE ALSO
  319.     muKill(), muUnfreeze()
  320.  
  321. multiuser.library/muGetConfigDirLock     multiuser.library/muGetConfigDirLock
  322.  
  323.   NAME  muGetConfigDirLock()  (V39)
  324.  
  325.     lock = muGetConfigDirLock();
  326.  
  327.     BPTR muGetConfigDirLock(void);
  328.     D0
  329.  
  330.   DESCRIPTION
  331.     Get  a  shared lock on the directory of the configuration and