source: trunk/src/wsock32/relaywin.h@ 2013

Last change on this file since 2013 was 2013, checked in by achimha, 26 years ago

promoted new wsock32 as default

File size: 2.9 KB
Line 
1/* $Id: relaywin.h,v 1.1 1999-12-07 20:25:48 achimha Exp $ */
2
3/*
4 *
5 * Project Odin Software License can be found in LICENSE.TXT
6 *
7 * Win32 SOCK32 for OS/2
8 *
9 * Copyright (C) 1999 Patrick Haller <phaller@gmx.net>
10 *
11 */
12
13/* Remark:
14 * - this is an object window that acts as "relay", this is
15 * it receives WSAAsyncSelect()'s messages and redirects
16 * them to the appropriate PostMessageA function of USER32.
17 */
18
19
20#ifndef _RELAYWIN_H_
21#define _RELAYWIN_H_
22
23
24/*****************************************************************************
25 * Includes *
26 *****************************************************************************/
27
28/* object.c: the object window procedure on thread 2 */
29// os2 includes
30#define INCL_DOSPROCESS
31#define INCL_WIN
32#include <os2.h>
33
34/*****************************************************************************
35 * Structures *
36 *****************************************************************************/
37
38/* these are the request types so we can interpret the messages and convert the results */
39
40#define ASYNCREQUEST_GETHOSTBYNAME 100
41#define ASYNCREQUEST_GETHOSTBYADDR 101
42#define ASYNCREQUEST_GETSERVBYNAME 102
43#define ASYNCREQUEST_GETSERVBYPORT 103
44#define ASYNCREQUEST_GETPROTOBYNAME 104
45#define ASYNCREQUEST_GETPROTOBYNUMBER 105
46#define ASYNCREQUEST_SELECT 106
47
48
49typedef struct tagHwndMsgPair
50{
51 HWND hwnd; /* target window */
52 ULONG ulMsg; /* the message code to send */
53 ULONG ulRequestType; /* the type of request that this belongs to */
54 PVOID pvUserData1; /* request specific data field */
55 PVOID pvUserData2; /* request specific data field */
56 PVOID pvUserData3; /* request specific data field */
57} HWNDMSGPAIR, *PHWNDMSGPAIR;
58
59
60/*****************************************************************************
61 * Prototypes *
62 *****************************************************************************/
63
64ULONG RelayAlloc (HWND hwnd,
65 ULONG ulMsg,
66 ULONG ulRequestType,
67 BOOL fSingleRequestPerWindow,
68 PVOID pvUserData1 = 0,
69 PVOID pvUserData2 = 0,
70 PVOID pvUserData3 = 0);
71
72ULONG RelayFree (ULONG ulID);
73
74ULONG RelayFreeByHwnd(HWND hwnd);
75
76PHWNDMSGPAIR RelayQuery (ULONG ulID);
77
78MRESULT EXPENTRY RelayWindowProc(HWND hwnd,
79 ULONG ulMsg,
80 MPARAM mp1,
81 MPARAM mp2);
82
83HWND RelayInitialize(HWND hwndPost);
84
85BOOL RelayTerminate (HWND hwndRelay);
86
87
88#endif /* _RELAYWIN_H_ */
89
Note: See TracBrowser for help on using the repository browser.