1 /*	$NetBSD: dllmain.c,v 1.3 2014/12/10 04:37:56 christos Exp $	*/
2 
3 /*
4  * dllmain.c - entry for DLL
5  */
6 
7 /*
8  * Copyright (c) 2000 Japan Network Information Center.  All rights reserved.
9  *
10  * By using this file, you agree to the terms and conditions set forth bellow.
11  *
12  * 			LICENSE TERMS AND CONDITIONS
13  *
14  * The following License Terms and Conditions apply, unless a different
15  * license is obtained from Japan Network Information Center ("JPNIC"),
16  * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
17  * Chiyoda-ku, Tokyo 101-0047, Japan.
18  *
19  * 1. Use, Modification and Redistribution (including distribution of any
20  *    modified or derived work) in source and/or binary forms is permitted
21  *    under this License Terms and Conditions.
22  *
23  * 2. Redistribution of source code must retain the copyright notices as they
24  *    appear in each source code file, this License Terms and Conditions.
25  *
26  * 3. Redistribution in binary form must reproduce the Copyright Notice,
27  *    this License Terms and Conditions, in the documentation and/or other
28  *    materials provided with the distribution.  For the purposes of binary
29  *    distribution the "Copyright Notice" refers to the following language:
30  *    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved."
31  *
32  * 4. The name of JPNIC may not be used to endorse or promote products
33  *    derived from this Software without specific prior written approval of
34  *    JPNIC.
35  *
36  * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
37  *    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
38  *    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
39  *    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE
40  *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
41  *    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
42  *    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
43  *    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
44  *    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
45  *    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
46  *    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
47  */
48 
49 #include <windows.h>
50 #include <stdio.h>
51 #include <stdlib.h>
52 #include <string.h>
53 #include <process.h>
54 
55 #include "dlldef.h"
56 
57 /*
58  * Control Variables
59  */
60 
61 int procPid = 0;
62 
63 static char procExe[256];
64 
65 /*
66  * DLL Entry
67  */
68 
69 BOOL APIENTRY
70 DllMain(HMODULE hmod, DWORD reason, LPVOID *resv) {
71 	switch (reason) {
72 
73 	case DLL_PROCESS_ATTACH:
74 		procPid = getpid();
75 		GetModuleFileName(NULL, procExe, 256);
76 
77 		idnLogInit("ws11");
78 		idnHookInit();
79 
80 		TRACE("Attached to Process <%s>\n", procExe);
81 		return (idnWinsockVersion("1.1"));
82 
83 	case DLL_PROCESS_DETACH:
84 		idnConvDone(idnGetContext());
85 		idnHookDone();
86 		TRACE("Detached from Process\n");
87 		idnLogFinish();
88 		break;
89 
90 	case DLL_THREAD_ATTACH:
91 		break;
92 	case DLL_THREAD_DETACH:
93 		break;
94 	}
95 
96 	return (TRUE);
97 }
98 
99