Annotation of embedaddon/expat/amiga/launch.c, revision 1.1

1.1     ! misho       1: /*
        !             2: ** Copyright (c) 2001-2007 Expat maintainers.
        !             3: **
        !             4: ** Permission is hereby granted, free of charge, to any person obtaining
        !             5: ** a copy of this software and associated documentation files (the
        !             6: ** "Software"), to deal in the Software without restriction, including
        !             7: ** without limitation the rights to use, copy, modify, merge, publish,
        !             8: ** distribute, sublicense, and/or sell copies of the Software, and to
        !             9: ** permit persons to whom the Software is furnished to do so, subject to
        !            10: ** the following conditions:
        !            11: ** 
        !            12: ** The above copyright notice and this permission notice shall be included
        !            13: ** in all copies or substantial portions of the Software.
        !            14: ** 
        !            15: ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        !            16: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        !            17: ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        !            18: ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
        !            19: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
        !            20: ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
        !            21: ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        !            22: */
        !            23: 
        !            24: #include <stdlib.h>
        !            25: #include <proto/exec.h>
        !            26: 
        !            27: struct Library* ExpatBase = 0;
        !            28: struct ExpatIFace* IExpat = 0;
        !            29: 
        !            30: 
        !            31: void setup() __attribute__((constructor));
        !            32: void cleanup() __attribute__((destructor));
        !            33: 
        !            34: 
        !            35: void setup()
        !            36: {
        !            37:        ExpatBase = OpenLibrary("expat.library", 4);
        !            38:        IExpat = (struct ExpatIFace*)GetInterface(ExpatBase, "main", 1, NULL);
        !            39:        if ( IExpat == 0 )  {
        !            40:                DebugPrintF("Can't open expat.library\n");
        !            41:        }
        !            42: }
        !            43: 
        !            44: 
        !            45: void cleanup()
        !            46: {
        !            47:        if ( IExpat != 0 )  {
        !            48:                DropInterface((struct Interface*)IExpat);
        !            49:                IExpat = 0;
        !            50:        }
        !            51: 
        !            52:        if ( ExpatBase != 0 )  {
        !            53:                CloseLibrary(ExpatBase);
        !            54:                ExpatBase = 0;
        !            55:        }
        !            56: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>