source: trunk/src/wsock32/wsock32.h@ 2912

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

promoted new wsock32 as default

File size: 2.7 KB
Line 
1/* $Id: wsock32.h,v 1.9 1999-12-07 20:25:48 achimha Exp $ */
2
3/* WSOCK32.H--definitions & conversions for Odin's wsock32.dll.
4 * Unused/unneeded Microsoft declarations removed.
5 *
6 * This header file corresponds to version 1.1 of the Windows Sockets specification.
7 *
8 * This file includes parts which are Copyright (c) 1982-1986 Regents
9 * of the University of California. All rights reserved. The
10 * Berkeley Software License Agreement specifies the terms and
11 * conditions for redistribution.
12 *
13 */
14
15#ifndef _WINSOCK32CONST_
16#define _WINSOCK32CONST_
17
18
19/*
20 * Structure used for manipulating linger option.
21 */
22struct Wlinger {
23 u_short l_onoff; /* option on/off */
24 u_short l_linger; /* linger time */
25};
26
27
28/*
29 * Structures returned by network data base library, taken from the
30 * BSD file netdb.h. All addresses are supplied in host order, and
31 * returned in network order (suitable for use in system calls).
32 */
33
34struct Whostent {
35 char * h_name; /* official name of host */
36 char * * h_aliases; /* alias list */
37 short h_addrtype; /* host address type */
38 short h_length; /* length of address */
39 char * * h_addr_list; /* list of addresses */
40#define h_addr h_addr_list[0] /* address, for backward compat */
41};
42
43/*
44 * It is assumed here that a network number
45 * fits in 32 bits.
46 */
47struct Wnetent {
48 char * n_name; /* official name of net */
49 char * * n_aliases; /* alias list */
50 short n_addrtype; /* net address type */
51 u_long n_net; /* network # */
52};
53typedef struct Whostent WHOSTENT;
54typedef WHOSTENT *PWHOSTENT;
55
56struct Wservent {
57 char * s_name; /* official service name */
58 char * * s_aliases; /* alias list */
59 short s_port; /* port # */
60 char * s_proto; /* protocol to use */
61};
62typedef struct Wservent WSERVENT;
63typedef WSERVENT *PWSERVENT;
64
65struct Wprotoent {
66 char * p_name; /* official protocol name */
67 char * * p_aliases; /* alias list */
68 short p_proto; /* protocol # */
69};
70typedef struct Wprotoent WPROTOENT;
71typedef WPROTOENT *PWPROTOENT;
72
73typedef struct tagWsockThreadData
74{
75 int dwLastError; // Get/SetLastError
76 struct Whostent whsnt; // database conversion buffers
77 struct Wservent wsvnt;
78 struct Wprotoent wptnt;
79 struct Wnetent wntnt;
80 struct Wlinger wlinger;
81} WSOCKTHREADDATA, *PWSOCKTHREADDATA;
82
83// internal prototype
84PWSOCKTHREADDATA iQueryWsockThreadData(void);
85
86
87#endif /* _WINSOCK32CONST_ */
88
89
Note: See TracBrowser for help on using the repository browser.