core/expat-2.0.1/amiga/launch.c
changeset 300 b6d834208d33
parent 296 ea3dbc023c80
equal deleted inserted replaced
299:f06c5eba524d 300:b6d834208d33
       
     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 }