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>