home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-05-23 | 30.8 KB | 1,003 lines |
- TABLE OF CONTENTS
-
- multiuser.library/--background--
- multiuser.library/muAddMonitor
- multiuser.library/muAllocGroupInfo
- multiuser.library/muAllocUserInfo
- multiuser.library/muCheckPasswd
- multiuser.library/muExtOwner2ULONG
- multiuser.library/muFreeExtOwner
- multiuser.library/muFreeGroupInfo
- multiuser.library/muFreeUserInfo
- multiuser.library/muFreeze
- multiuser.library/muGetConfigDirLock
- multiuser.library/muGetDefProtection
- multiuser.library/muGetGroupInfo
- multiuser.library/muGetPasswdDirLock
- multiuser.library/muGetRelationshipA
- multiuser.library/muGetTaskExtOwner
- multiuser.library/muGetTaskOwner
- multiuser.library/muGetUserInfo
- multiuser.library/muKill
- multiuser.library/muLimitDOSSetProtection
- multiuser.library/muLoginA
- multiuser.library/muLogoutA
- multiuser.library/muPasswd
- multiuser.library/muRemMonitor
- multiuser.library/muSetDefProtectionA
- multiuser.library/muSetProtection
- multiuser.library/muUnfreeze
- multiuser.library/muUserInfo2ExtOwner
- multiuser.library/--background-- multiuser.library/--background--
-
- PURPOSE
-
- MultiUser was developed to get a greather access control than the
- standard Amiga Operating System provided. It lets several users work on
- the same computer - even at the same time - without losing their privacy.
-
- OVERVIEW
-
- * Users
-
- A user can only use the system if he/she is authorized to login.
-
- * Groups
-
- Every user belongs to at least one group - his/her primary group - and
- may belong to some secondary groups too.
-
- * Tasks/processess
-
- Every task or process is owned by a user.
-
- * Objects
-
- Objects are owned by a user (specified by his user identifier and one
- of his group identifiers) and generally contain some access flags which
- define whether someone has access to the object or not. There can be
- three kinds of access flags:
-
- - flags for the owner of the object
-
- - flags for a user who belongs to the same group as stored with the
- object
-
- - flags for other users
-
- E.g. the objects used with the MultiUserFileSystem are files and
- directories, the access flags are the protection bits.
-
- * Access control
-
- If a user requests access to an object, the system can check whether
- he/she has access or not via the owner of the requesting task or
- process and via the owner of the wanted object using the access flags.
-
-
- multiuser.library/muAddMonitor multiuser.library/muAddMonitor
-
- NAME muAddMonitor() (V39)
-
- success = muAddMonitor(monitor);
-
- BOOL muAddMonitor(struct muMonitor *);
- D0 A0
-
- DESCRIPTION
- Add a monitor to the system. Depending on the monitor flags, you will be
- notified on some actions via a signal or message. See
- <libraries/multiuser.h> for more information. This call may be made only
- by root.
-
- INPUTS
- monitor - an initialised muMonitor structure.
-
- RESULT
- success - success indicator.
-
- BUGS
- none known
-
- SEE ALSO
- muRemMonitor(), <libraries/multiuser.h>
-
- multiuser.library/muAllocGroupInfo multiuser.library/muAllocGroupInfo
-
- NAME muAllocGroupInfo() (V39)
-
- info = muAllocGroupInfo();
-
- struct muGroupInfo *muAllocGroupInfo(void);
- D0
-
- DESCRIPTION
- Allocate a muGroupInfo structure in a future compatible manner. This is
- the only valid way to allocate a muGroupInfo structure. The structure
- will be made empty for you.
-
- INPUTS
- none
-
- RESULT
- info - pointer to the allocated muGroupInfo structure or NULL for no
- memory.
-
- BUGS
- none known
-
- SEE ALSO
- muFreeGroupInfo(), muGetGroupInfo()
-
- multiuser.library/muAllocUserInfo multiuser.library/muAllocUserInfo
-
- NAME muAllocUserInfo() (V39)
-
- info = muAllocUserInfo();
-
- struct muUserInfo *muAllocUserInfo(void);
- D0
-
- DESCRIPTION
- Allocate a muUserInfo structure in a future compatible manner. This is
- the only valid way to allocate a muUserInfo structure. The structure
- will be made empty for you.
-
- INPUTS
- none
-
- RESULT
- info - pointer to the allocated muUserInfo structure or NULL for no
- memory.
-
- BUGS
- none known
-
- SEE ALSO
- muFreeUserInfo(), muGetUserInfo()
-
- multiuser.library/muCheckPasswd multiuser.library/muCheckPasswd
-
- NAME muCheckPasswd() (V39)
-
- valid = muCheckPasswd(taglist);
-
- BOOL muCheckPasswd(struct TagItem *);
- D0 A0
-
- DESCRIPTION
- Check whether the supplied password is the valid password for the owner
- of the current task.
- This function is mainly intended to support SysLock look-alike programs
- (cfr. XLock for the MIT's X Window System).
-
- TAGS
- muT_Password - (STRPTR)
- The password.
-
- INPUTS
- taglist - a pointer to a taglist (may be NULL).
-
- RESULT
- valid - indicates the password is valid.
-
- NOTE
- This function may be extended in future to let the super user (root)
- check passwords for other tasks.
-
- BUGS
- none known
-
- SEE ALSO
- muPasswd()
-
- multiuser.library/muExtOwner2ULONG multiuser.library/muExtOwner2ULONG
-
- NAME muExtOwner2ULONG() (V39)
-
- user = muExtOwner2ULONG(owner);
-
- ULONG muExtOwner2ULONG(struct muExtOwner *);
-
- DESCRIPTION
- This macro converts a muExtOwner structure to a ULONG (cfr. the
- difference between muGetTaskExtOwner() and muGetTaskOwner()).
-
- INPUTS
- owner - a structure returned by muGetTaskExtOwner() (may be NULL). You
- still have to free this structure by yourself!
-
- RESULT
- user - the bits 31-16 specify the user id (uid), the bits 15-0 specify
- the group id (gid). NULL for nobody.
-
- BUGS
- none known
-
- SEE ALSO
- muGetTaskExtOwner(), muGetTaskOwner(), muGetRelationshipA()
-
- multiuser.library/muFreeExtOwner multiuser.library/muFreeExtOwner
-
- NAME muFreeExtOwner() (V39)
-
- muFreeExtOwner(info);
-
- void muFreeExtOwner(struct muExtOwner *);
- A0
-
- DESCRIPTION
- Free a muExtOwner structure returned by muGetTaskExtOwner or
- muUserInfo2ExtOwner.
-
- INPUTS
- info - a pointer to the muExtOwner structure you want to free. May be
- NULL.
-
- RESULT
- none
-
- BUGS
- none known
-
- SEE ALSO
- muGetTaskExtOwner(), muUserInfo2ExtOwner
-
- multiuser.library/muFreeGroupInfo multiuser.library/muFreeGroupInfo
-
- NAME muFreeGroupInfo() (V39)
-
- muFreeGroupInfo(info);
-
- void muFreeGroupInfo(struct muGroupInfo *);
- A0
-
- DESCRIPTION
- Free a muGroupInfo structure allocated with muAllocGroupInfo.
-
- INPUTS
- info - a pointer to the muGroupInfo structure you want to free. May be
- NULL.
-
- RESULT
- none
-
- BUGS
- none known
-
- SEE ALSO
- muAllocGroupInfo(), muGetGroupInfo()
-
- multiuser.library/muFreeUserInfo multiuser.library/muFreeUserInfo
-
- NAME muFreeUserInfo() (V39)
-
- muFreeUserInfo(info);
-
- void muFreeUserInfo(struct muUserInfo *);
- A0
-
- DESCRIPTION
- Free a muUserInfo structure allocated with muAllocUserInfo.
-
- INPUTS
- info - a pointer to the muUserInfo structure you want to free. May be
- NULL.
-
- RESULT
- none
-
- BUGS
- none known
-
- SEE ALSO
- muAllocUserInfo(), muGetUserInfo()
-
- multiuser.library/muFreeze multiuser.library/muFreeze
-
- NAME muFreeze() (V39)
-
- success = muFreeze(task);
-
- BOOL muFreeze(struct Task *);
- D0 A0
-
- DESCRIPTION
- Freeze a specified task. You cannot freeze yourself nor the
- MultiUser.server. This call may be made only by root.
-
- INPUTS
- task - a pointer to the task you want to freeze.
-
- RESULT
- success - success indicator.
-
- BUGS
- none known
-
- SEE ALSO
- muKill(), muUnfreeze()
-
- multiuser.library/muGetConfigDirLock multiuser.library/muGetConfigDirLock
-
- NAME muGetConfigDirLock() (V39)
-
- lock = muGetConfigDirLock();
-
- BPTR muGetConfigDirLock(void);
- D0
-
- DESCRIPTION
- Get a shared lock on the directory of the configuration and group file.
- The names of these files are defined in <libraries/multiuser.h>. If this
- call succeeds, you must free the returned lock by yourself.
- This function is mainly intended to support configuration tools.
-
- INPUTS
- none
-
- RESULT
- lock - the desired lock, or NULL for failure.
-
- BUGS
- none known
-
- SEE ALSO
- muGetPasswdDirLock(), <libraries/multiuser.h>
-
- multiuser.library/muGetDefProtection multiuser.library/muGetDefProtection
-
- NAME muGetDefProtection() (V39)
-
- mask = muGetDefProtection(task);
-
- ULONG muGetDefProtection(struct Task *);
- D0 D0
-
- DESCRIPTION
- Get the default protection bits related to a task.
-
- INPUTS
- task - a pointer to the task for which you want to know the default
- protection bits, or NULL for the current task.
-
- RESULT
- mask - the default protection bits. They are in the format like defined
- in <dos/dos.h>.
-
- BUGS
- none known
-
- SEE ALSO
- muSetDefProtectionA(), <dos/dos.h>
-
- multiuser.library/muGetGroupInfo multiuser.library/muGetGroupInfo
-
- NAME muGetGroupInfo() (V39)
-
- info = muGetGroupInfo(info, keytype);
-
- struct muGroupInfo *muGetGroupInfo(struct muGroupInfo *, ULONG);
- D0 A0 D0
-
- DESCRIPTION
- Get information about a group. You must pass in a muGroupInfo structure
- and a keytype, which defines the type of information you have filled in
- in the muGroupInfo structure about the wanted group(s). Valid keytypes
- are:
-
- muKeyType_First - find the first group. You don't have to
- fill in any fields in the muGroupInfo
- structure.
- muKeyType_Next - find the next group. Use this only after
- you've made a call with muKeyType_First as
- keytype.
- muKeyType_GroupID - find a group with a specific GroupID. Fill
- in the field GroupID before calling
- muGetGroupInfo(). The search will be case
- sensitive.
- muKeyType_WGroupID - find a group with a specific GroupID. Fill
- in the field GroupID before calling
- muGetGroupInfo(). The search will be case
- insensitive, wild cards are allowed.
- muKeyType_WGroupIDNext - find the next group with a specific GroupID.
- Use this only after you've made a call with
- muKeyType_WGroupID as keytype.
- muKeyType_gid - find a group with a specific gid. Fill in
- the field gid before calling
- muGetGroupInfo().
- muKeyType_GroupName - find a group with a specific GroupName.
- Fill in the field GroupName before calling
- muGetGroupInfo(). The search will be case
- insensitive.
- muKeyType_WGroupName - find a group with a specific GroupName.
- Fill in the field GroupName before calling
- muGetGroupInfo(). The search will be case
- insensitive, wild cards are allowed.
- muKeyType_WGroupNameNext - find the next group with a specific
- GroupName. Use this only after you've made
- a call with muKeyType_WGroupName as keytype.
- muKeyType_MgrUid - find a group which is managed by a user,
- specified by his uid. Fill in the field
- MgrUid before calling muGetGroupInfo().
- muKeyType_MgrUidNext - find the next group which is managed by a
- specified user. Use this only after you've
- made a call with muKeyType_MgrUid as
- keytype.
-
- INPUTS
- info - a muGroupInfo structure, allocated with muAllocGroupInfo.
- keytype - the magic keytype.
-
- RESULT
- info - a pointer to the supplied muGroupInfo structure, or NULL for a
- failure.
-
- NOTE
- Do not change the contents of a muGroupInfo structure before calls to
- muGetGroupInfo() with muKeyType_Next, muKeyType_WGroupIDNext,
- muKeyType_WGroupNameNext or muKeyType_MgrUidNext.
-
- BUGS
- none known
-
- SEE ALSO
- muAllocGroupInfo(), muGetGroupInfo(), <libraries/multiuser.h>,
- dos.library/SetOwner()
-
- multiuser.library/muGetPasswdDirLock multiuser.library/muGetPasswdDirLock
-
- NAME muGetPasswdDirLock() (V39)
-
- lock = muGetPasswdDirLock();
-
- BPTR muGetPasswdDirLock(void);
- D0
-
- DESCRIPTION
- Get a shared lock on the directory of the password file. The name of the
- password file is defined in <libraries/multiuser.h>. If this call
- succeeds, you must free the returned lock by yourself.
- This function is mainly intended to support configuration tools.
-
- INPUTS
- none
-
- RESULT
- lock - the desired lock, or NULL for failure.
-
- BUGS
- none known
-
- SEE ALSO
- muGetConfigDirLock(), <libraries/multiuser.h>
-
- multiuser.library/muGetRelationshipA multiuser.library/muGetRelationshipA
-
- NAME muGetRelationshipA() (V39)
-
- flags = muGetRelationshipA(user, owner, taglist);
-
- ULONG muGetRelationshipA(struct muExtOwner *, ULONG, struct TagItem *);
- D0 D0 D1 A0
-
- DESCRIPTION
- Get the access relationship the user has to an object owned by owner.
- You're strongly advised to use this function for access checking in your
- own programs too, since this functions contains the 'official' access
- rights policy, which may be extended or changed in future. This function
- has been made as fast as possible.
-
- TAGS
- No tags are currently defined.
-
- INPUTS
- user - the user requesting access to the object, as returned by
- muGetTaskExtOwner() (may be NULL).
- owner - the owner of the object (i.e. his uid/gid). Pass NULL if you
- just want to check if the user is root or nobody.
- taglist - a pointer to a taglist (may be NULL).
-
- RESULT
- flags - relationship flags, as defined in <libraries/multiuser.h>.
-
- BUGS
- none known
-
- SEE ALSO
- muGetTaskExtOwner(), <libraries/multiuser.h>
-
- multiuser.library/muGetTaskExtOwner multiuser.library/muGetTaskExtOwner
-
- NAME muGetTaskExtOwner() (V39)
-
- user = muGetTaskExtOwner(task);
-
- struct muExtOwner *muGetTaskExtOwner(struct Task *);
- D0 D0
-
- DESCRIPTION
- Get the owner of a task. Unlike muGetTaskOwner(), this function returns
- a structure which contains the secondary groups the user belongs to, too.
- Do not forget to free the returned structure with muFreeExtOwner().
-
- INPUTS
- task - a pointer to the task of which you want to know the owner, or NULL
- for the current task.
-
- RESULT
- user - a pointer to a structure containing information about the user of
- the specified task. This may (but mostly won't) be NULL for
- nobody. You must use muFreeExtOwner() to free this structure
- after use. You may not alter this structure.
-
- BUGS
- none known
-
- SEE ALSO
- muFreeExtOwner(), muGetRelationshipA(), muGetUserInfo()
-
- multiuser.library/muGetTaskOwner multiuser.library/muGetTaskOwner
-
- NAME muGetTaskOwner() (V39)
-
- user = muGetTaskOwner(task);
-
- ULONG muGetTaskOwner(struct Task *);
- D0 D0
-
- DESCRIPTION
- Get the owner of a task. Use muGetTaskExtOwner() if you want information
- about the owner's secondary groups too.
-
- INPUTS
- task - a pointer to the task of which you want to know the owner, or NULL
- for the current task.
-
- RESULT
- user - the owner of the specified task. The bits 31-16 specify the owner
- user id (uid), the bits 15-0 specify the owner group id (gid).
- NULL for nobody.
-
- BUGS
- none known
-
- SEE ALSO
- muGetTaskExtOwner(), muGetUserInfo()
-
- multiuser.library/muGetUserInfo multiuser.library/muGetUserInfo
-
- NAME muGetUserInfo() (V39)
-
- info = muGetUserInfo(info, keytype);
-
- struct muUserInfo *muGetUserInfo(struct muUserInfo *, ULONG);
- D0 A0 D0
-
- DESCRIPTION
- Get information about a user. You must pass in a muUserInfo structure
- and a keytype, which defines the type of information you have filled in
- in the muUserInfo structure about the wanted user(s). Valid keytypes
- are:
-
- muKeyType_First - find the first user. You don't have to fill
- in any fields in the muUserInfo structure.
- muKeyType_Next - find the next user. Use this only after
- you've made a call with muKeyType_First as
- keytype.
- muKeyType_UserID - find a user with a specific UserID. Fill in
- the field UserID before calling
- muGetUserInfo(). The search will be case
- sensitive.
- muKeyType_WUserID - find a user with a specific UserID. Fill in
- the field UserID before calling
- muGetUserInfo(). The search will be case
- insensitive, wild cards are allowed.
- muKeyType_WUserIDNext - find the next user with a specific UserID.
- Use this only after you've made a call with
- muKeyType_WUserID as keytype.
- muKeyType_uid - find a user with a specific uid. Fill in the
- field uid before calling muGetUserInfo().
- muKeyType_gid - find a user with a specific gid. Fill in the
- field gid before calling muGetUserInfo().
- muKeyType_gidNext - find the next user with a specific gid. Use
- this only after you've made a call with
- muKeyType_gid as keytype.
- muKeyType_UserName - find a user with a specific UserName. Fill
- in the field UserName before calling
- muGetUserInfo(). The search will be case
- insensitive.
- muKeyType_WUserName - find a user with a specific UserName. Fill
- in the field UserName before calling
- muGetUserInfo(). The search will be case
- insensitive, wild cards are allowed.
- muKeyType_WUserNameNext - find the next user with a specific UserName.
- Use this only after you've made a call with
- muKeyType_WUserName as keytype.
-
- INPUTS
- info - a muUserInfo structure, allocated with muAllocUserInfo.
- keytype - the magic keytype.
-
- RESULT
- info - a pointer to the supplied muUserInfo structure, or NULL for a
- failure.
-
- NOTE
- Do not change the contents of a muUserInfo structure before calls to
- muGetUserInfo() with muKeyType_Next, muKeyType_WUserIDNext,
- muKeyType_gidNext or muKeyType_WUserNameNext.
-
- BUGS
- none known
-
- SEE ALSO
- muAllocUserInfo(), muGetUserInfo(), <libraries/multiuser.h>,
- dos.library/SetOwner()
-
- multiuser.library/muKill multiuser.library/muKill
-
- NAME muKill() (V39)
-
- success = muKill(task);
-
- BOOL muKill(struct Task *);
- D0 D0
-
- DESCRIPTION
- Cancel a specified task. You cannot commit suicide nor kill the
- MultiUser.server. This call may be made only by root.
-
- INPUTS
- task - a pointer to the task you want to kill. This task may be frozen.
-
- RESULT
- success - success indicator.
-
- NOTE
- This function will also try to remove all windows and screens belonging
- to the task.
-
- BUGS
- Due to the nature of AmigaOS, killing a task is a very dangerous action!
- Use it at your own risk!
-
- SEE ALSO
- muFreeze(), muUnfreeze()
-
- multiuser.library/muLimitDOSSetProtectionuser.library/muLimitDOSSetProtection
-
- NAME muLimitDOSSetProtection() (V39)
-
- success = muLimitDOSSetProtection(flag);
-
- BOOL muLimitDOSSetProtection(BOOL);
- D0 D0
-
- DESCRIPTION
- Limit dos.library/SetProtection() to change only the protection bits for
- the owner of the file. If limiting is turned on, you can change the
- protection bits for GROUP and OTHER only via muSetProtection(). Default
- limiting is turned off.
-
- INPUTS
- flag - TRUE to turn limiting on, FALSE to turn limiting off.
-
- RESULT
- success - success indicator.
-
- NOTE
- This function is useful because a lot of programs change the protection
- bits of a file without knowing about the new GROUP and OTHER flags.
-
- BUGS
- Limiting will fail if someone has an exclusive lock on the file or
- directory the protection bits will be changed of.
-
- SEE ALSO
- muSetProtection()
-
- multiuser.library/muLoginA multiuser.library/muLoginA
-
- NAME muLoginA() (V39)
-
- user = muLoginA(taglist);
-
- ULONG muLoginA(struct TagItem *);
- D0 A0
-
- DESCRIPTION
- Login to the system and remember the last user. Use the taglist to
- specify options.
-
- TAGS
- muT_Graphical - (BOOL)
- Use a graphical login instead of a console alike one.
- This works only if your pr_WindowPtr is not -1. Default
- is FALSE.
- muT_Input - (BPTR)
- Specify the filehandle to read from. Not used for a
- graphical login. Default is Input().
- muT_Output - (BPTR)
- Specify the filehandle to write to. Not used for a
- graphical login. Default is Output().
- muT_PubScrName - (STRPTR)
- Specify the public screen to open the login requester
- on. Only used for a graphical login. Default is the
- default public screen (mostly the Workbench screen).
- muT_Task - (struct Task *)
- Specify the task you want to login. Of course this
- works only for your own tasks (or for tasks owned by
- nobody), unless you are the super user (root). Default
- is the current task.
- muT_Own - (BOOL)
- Change the owner of the specified task to the owner of
- the task this call is made from. Of course this works
- only for tasks owned by nobody, unless you are the super
- user (root). Default is FALSE.
- muT_Global - (BOOL)
- Login for all tasks on the same level as the specified
- one. Default is FALSE.
- muT_UserID - (STRPTR)
- Do not ask the user for a UserID but use the specified
- UserID.
- muT_Password - (STRPTR)
- Do not ask the user for a Password but use the specified
- Password. If you use this, you must use muT_UserID too.
- muT_NoLog - (BOOL)
- Do not log this action. Of course this works only if
- you're root. Default is FALSE.
-
- INPUTS
- taglist - a pointer to a taglist (may be NULL).
-
- RESULT
- user - the user that logged in, or NULL for a failure. The bits 31-16
- specify the owner user id (uid), the bits 15-0 specify the owner
- group id (gid).
-
- NOTE
- The tags muT_UserID, muT_Password and muT_NoLog are mainly intended to
- let programs change their owner to someone else temporarily (e.g. a
- daemon with a set 'U'-bit owned by root). If you want to restore the
- previous user later you must be aware of the fact that a call to
- muLogoutA() may invoke a login request!
-
- BUGS
- none known
-
- SEE ALSO
- muLogoutA()
-
- multiuser.library/muLogoutA multiuser.library/muLogoutA
-
- NAME muLogoutA() (V39)
-
- user = muLogoutA(taglist);
-
- ULONG muLogoutA(struct TagItem *);
- D0 A0
-
- DESCRIPTION
- Logout and restore the previous user. If there was no previous user or
- the previous user was nobody, a login request will appear. However, the
- behavior of this login request will be slightly different from that of
- muLoginA(), more specifically the following actions will be taken:
-
- - the local variable 'Home' will be set to your home directory.
- - the current directory will be set to your home directory.
- - If there exists a script file called '.profile' in the
- configuration directory, it will be executed.
-
- TAGS
- muT_Input - see muLoginA()
- muT_Output - see muLoginA()
- muT_Graphical - see muLoginA()
- muT_PubScrName - see muLoginA()
- muT_Task - see muLoginA()
- muT_Own - see muLoginA()
- muT_Global - see muLoginA()
- muT_Quiet - (BOOL)
- Never request for a login, simply logout. Default is
- FALSE.
- muT_All - (BOOL)
- Logout all previous users. Default is FALSE.
-
- INPUTS
- taglist - a pointer to a taglist (may be NULL).
-
- RESULT
- user - the user you're now, NULL for nobody. The bits 31-16 specify the
- owner user id (uid), the bits 15-0 specify the owner group id
- (gid).
-
- NOTE
- If there was no previous user, this routine will not return until you
- enter a valid UserID/password pair (unless you used the tag muT_Quiet)!
- However, this tag may be removed in future releases for enhanced
- security.
-
- BUGS
- none known
-
- SEE ALSO
- muLoginA()
-
- multiuser.library/muPasswd multiuser.library/muPasswd
-
- NAME muPasswd() (V39)
-
- success = muPasswd(oldpwd, newpwd);
-
- BOOL muPasswd(STRPTR, STRPTR);
- D0 A0 A1
-
- DESCRIPTION
- Change the password for the owner of the task this routine is called
- from.
-
- INPUTS
- oldpwd - your old password.
- newpwd - your new password.
-
- RESULT
- success - indicates a successful password change.
-
- NOTE
- For the format of the passwd-file, see <libraries/multiuser.h>. This
- format should be compatible with the Commodore AS255 passwd file.
-
- BUGS
- none known
-
- SEE ALSO
- muCheckPasswd(), <libraries/multiuser.h>
-
- multiuser.library/muRemMonitor multiuser.library/muRemMonitor
-
- NAME muRemMonitor() (V39)
-
- muRemMonitor(monitor);
-
- void muRemMonitor(struct muMonitor *);
- A0
-
- DESCRIPTION
- Remove a monitor from the system. This call may be made only by root.
-
- INPUTS
- monitor - a muMonitor structure which was added to the system using
- muAddMonitor().
-
- RESULT
- none
-
- BUGS
- none known
-
- SEE ALSO
- muAddMonitor(), <libraries/multiuser.h>
-
- multiuser.library/muSetDefProtectionA multiuser.library/muSetDefProtectionA
-
- NAME muSetDefProtectionA() (V39)
-
- success = muSetDefProtectionA(taglist);
-
- BOOL muSetDefProtectionA(struct TagItem);
- D0 A0
-
- DESCRIPTION
- Set the default protection bits related to a task. Of course this works
- only for your own tasks (or for tasks owned by nobody), unless you are
- the super user (root).
-
- TAGS
- muT_Task - (struct Task *)
- Specify the task you want to change the default
- protection bits for. Default is the current task.
- muT_DefProtection - (ULONG)
- The default protection bits. They must be in the
- format like defined in <dos/dos.h> (or take a look at
- <libraries/multiuser.h> if you don't have 3.0
- includes:-). Default is FIBF_OTR_READ|FIBF_GRP_READ.
- muT_Global - (BOOL)
- Change the default protection bits for all tasks on
- the same level as the specified one. Default is
- FALSE.
-
- INPUTS
- taglist - a pointer to a taglist (may be NULL).
-
- RESULT
- success - success indicator.
-
- BUGS
- none known
-
- SEE ALSO
- muGetDefProtection(), <dos/dos.h>
-
- multiuser.library/muSetProtection multiuser.library/muSetProtection
-
- NAME muSetProtection() (V39)
-
- success = muSetProtection(name, mask);
-
- BOOL muSetProtection(STRPTR, LONG);
- D0 D1 D2
-
- DESCRIPTION
- Set the protection attributes on a file or directory. See <dos/dos.h>
- for a listing of protection bits and dos.library SetProtection() for more
- information.
- Using this function you can set the protection bits for GROUP and OTHER
- too.
-
- INPUTS
- name - pointer to a null-terminated string
- mask - the protection mask required
-
- RESULT
- success - success indicator.
-
- BUGS
- none known
-
- SEE ALSO
- muLimitDOSSetProtection(), dos.library/SetProtection(), <dos/dos.h>
-
- multiuser.library/muUnfreeze multiuser.library/muUnfreeze
-
- NAME muUnfreeze() (V39)
-
- success = muUnfreeze(task);
-
- BOOL muUnfreeze(struct Task *);
- D0 A0
-
- DESCRIPTION
- Unfreeze a task you have frozen before. This call may be made
- only by root.
-
- INPUTS
- task - a pointer to the task you want to unfreeze.
-
- RESULT
- success - success indicator.
-
- BUGS
- none known
-
- SEE ALSO
- muKill(), muFreeze()
-
- multiuser.library/muUserInfo2ExtOwner multiuser.library/muUserInfo2ExtOwner
-
- NAME muUserInfo2ExtOwner() (V39)
-
- user = muUserInfo2ExtOwner(info);
-
- struct muExtOwner *muUserInfo2ExtOwner(struct muUserInfo *);
- D0 A0
-
- DESCRIPTION
- Convert a muUserInfo structure to a muExtOwner structure.
-
- INPUTS
- info - a pointer to the information structure (may be NULL). You still
- have to free this structure by yourself.
-
- RESULT
- user - a pointer to another information structure. This may (but mostly
- won't) be NULL for nobody. You must use muFreeExtOwner() to free
- this structure after use. You may not alter this structure.
-
- BUGS
- none known
-
- SEE ALSO
- muFreeExtOwner(), muGetTaskExtOwner(), muGetRelationshipA(),
- muGetUserInfo()
-
-