1/*	$NetBSD: dllmain.c,v 1.2 2011/02/16 03:46:58 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
61int procPid = 0;
62
63static char procExe[256];
64
65/*
66 * DLL Entry
67 */
68
69BOOL APIENTRY
70DllMain(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