xref: /openbsd-src/gnu/usr.bin/binutils/gdb/nlm/prelude.c (revision e93f7393d476ad1c5192174ea92f14ecc97182e7)
1*e93f7393Sniklas /*===========================================================================
2*e93f7393Sniklas =	Novell Standard C Library for NetWare Loadable Modules
3*e93f7393Sniklas =
4*e93f7393Sniklas =	Unpublished Copyright (C) 1993 by Novell, Inc. All rights reserved.
5*e93f7393Sniklas =
6*e93f7393Sniklas =	No part of this file may be duplicated, revised, translated, localized or
7*e93f7393Sniklas =	modified in any manner or compiled, linked or uploaded or downloaded to or
8*e93f7393Sniklas =	from any computer system without the prior written consent of Novell, Inc.
9*e93f7393Sniklas ==============================================================================
10*e93f7393Sniklas =	The object produced by compiling this file is for use by the client of this
11*e93f7393Sniklas =	library and is not linked in;  Prelude.Obj is therefore one of the files to
12*e93f7393Sniklas =	be distributed with CLib.NLM and its headers.
13*e93f7393Sniklas ==============================================================================
14*e93f7393Sniklas */
15*e93f7393Sniklas 
16*e93f7393Sniklas #include <stddef.h>
17*e93f7393Sniklas #if defined(__netware__) && defined(__i386__)
18*e93f7393Sniklas #define TERMINATE_BY_UNLOAD	5
19*e93f7393Sniklas #else
20*e93f7393Sniklas #include <nwpre.h>
21*e93f7393Sniklas #endif
22*e93f7393Sniklas /*#include "libhooks.h"*/
23*e93f7393Sniklas 
24*e93f7393Sniklas extern int main (int, char **);
25*e93f7393Sniklas 
26*e93f7393Sniklas static int	NLMID;
27*e93f7393Sniklas 
28*e93f7393Sniklas 
_Stop(void)29*e93f7393Sniklas void _Stop( void )
30*e93f7393Sniklas {
31*e93f7393Sniklas 	_TerminateNLM(NLMID, NULL, TERMINATE_BY_UNLOAD);
32*e93f7393Sniklas }
33*e93f7393Sniklas 
_cstart_(void)34*e93f7393Sniklas int _cstart_( void )
35*e93f7393Sniklas {
36*e93f7393Sniklas    return _SetupArgv(main);
37*e93f7393Sniklas }
38*e93f7393Sniklas 
_Prelude(int NLMHandle,int initErrorScreenID,char * commandLine,char * loadDirectoryPath,int uninitializedDataLength,int NLMFileHandle,int (* readRoutineP)(),int customDataOffset,int customDataSize)39*e93f7393Sniklas int _Prelude
40*e93f7393Sniklas (
41*e93f7393Sniklas 	int	NLMHandle,
42*e93f7393Sniklas 	int	initErrorScreenID,
43*e93f7393Sniklas 	char	*commandLine,
44*e93f7393Sniklas 	char	*loadDirectoryPath,
45*e93f7393Sniklas 	int	uninitializedDataLength,
46*e93f7393Sniklas 	int	NLMFileHandle,
47*e93f7393Sniklas 	int	(*readRoutineP)(),
48*e93f7393Sniklas 	int	customDataOffset,
49*e93f7393Sniklas 	int	customDataSize
50*e93f7393Sniklas )
51*e93f7393Sniklas {
52*e93f7393Sniklas 	int	rc;
53*e93f7393Sniklas 
54*e93f7393Sniklas    rc = _StartNLM(NLMHandle,
55*e93f7393Sniklas 					initErrorScreenID,
56*e93f7393Sniklas 					commandLine,
57*e93f7393Sniklas 					loadDirectoryPath,
58*e93f7393Sniklas 					uninitializedDataLength,
59*e93f7393Sniklas 					NLMFileHandle,
60*e93f7393Sniklas 					readRoutineP,
61*e93f7393Sniklas 					customDataOffset,
62*e93f7393Sniklas 					customDataSize,
63*e93f7393Sniklas                &NLMID,
64*e93f7393Sniklas 					_cstart_);
65*e93f7393Sniklas 
66*e93f7393Sniklas 	return rc;
67*e93f7393Sniklas }
68