File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / expat / amiga / launch.c
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 16:09:43 2014 UTC (10 years, 4 months ago) by misho
Branches: expat, MAIN
CVS tags: v2_1_0, HEAD
expat 2.1.0

    1: /*
    2: ** Copyright (c) 2001-2009 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: #ifdef __USE_INLINE__
   25: #undef __USE_INLINE__
   26: #endif
   27: 
   28: #include <stdlib.h>
   29: #include <proto/exec.h>
   30: 
   31: struct Library* ExpatBase = 0;
   32: struct ExpatIFace* IExpat = 0;
   33: 
   34: 
   35: void setup() __attribute__((constructor));
   36: void cleanup() __attribute__((destructor));
   37: 
   38: 
   39: void setup()
   40: {
   41: 	ExpatBase = IExec->OpenLibrary("expat.library", 53);
   42: 	IExpat = (struct ExpatIFace*)IExec->GetInterface(ExpatBase, "main", 1, NULL);
   43: 
   44: 	if ( IExpat == 0 )  {
   45: 		IExec->DebugPrintF("Can't open expat.library\n");
   46: 	}
   47: }
   48: 
   49: 
   50: void cleanup()
   51: {
   52: 	IExec->DropInterface((struct Interface*)IExpat);
   53: 	IExpat = 0;
   54: 
   55: 	IExec->CloseLibrary(ExpatBase);
   56: 	ExpatBase = 0;
   57: }

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