home *** CD-ROM | disk | FTP | other *** search
- /*
- (C) 1995-96 AROS - The Amiga Replacement OS
- $Id: closelibrary.c,v 1.7 1997/01/01 03:46:07 ldp Exp $
-
- Desc:
- Lang: english
- */
- #include <exec/execbase.h>
- #include <dos/dos.h>
- #include <aros/libcall.h>
- #include <proto/exec.h>
-
- /*****************************************************************************
-
- NAME */
-
- AROS_LH1(void, CloseLibrary,
-
- /* SYNOPSIS */
- AROS_LHA(struct Library *, library, A1),
-
- /* LOCATION */
- struct ExecBase *, SysBase, 69, Exec)
-
- /* FUNCTION
- Closes a previously opened library. It is legal to call this function
- with a NULL pointer.
-
- INPUTS
- library - Pointer to library structure or NULL.
-
- RESULT
-
- NOTES
-
- EXAMPLE
-
- BUGS
-
- SEE ALSO
- OpenLibrary().
-
- INTERNALS
-
- HISTORY
-
- ******************************************************************************/
- {
- AROS_LIBFUNC_INIT
-
- /* Something to do? */
- if(library!=NULL)
- {
- /* Single-thread the close routine. */
- Forbid();
-
- /* Do the close */
- (void)AROS_LVO_CALL0(BPTR,struct Library,library,2,);
- /*
- Normally you'd expect the library to be expunged if this returns
- non-zero, but this is only exec which doesn't know anything about
- seglists - therefore dos.library has to SetFunction() into this
- vector for the additional functionality.
- */
-
- /* All done. */
- Permit();
- }
-
- AROS_LIBFUNC_EXIT
- } /* CloseLibrary */
-
-