summaryrefslogtreecommitdiffstats
path: root/private/inc/sockets/sys/psxsock.h
blob: 5c30fe35b2f2c03bd6cf227bf9b2afda22c19d65 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
/*++

Copyright (c) 1991 Microsoft Corporation

Module Name:

  psxsock.h

Abstract:

	Types, prototypes and definitions for Win32 sockets.

Author:

  	Sam Patton (sampa)   September 11, 1991

Revision History:

  when        	who      what
  ----        	---      ----
  11-21-91      mikemas  intitial version - cloned from winsock.h

--*/

#ifndef PSXSOCK_INCLUDED
#define PSXSOCK_INCLUDED

//
// POSIX includes
//
// #include <posix.h>


//
// POSIX-specific defintions
//
#define INVALID_SOCKET_HANDLE  ((int) -1)
#define SOCKET_HANDLE          int


//
// common sockets include file
//
#include <sys\socket.h>


//
// Prototypes for all exported socket functions
//

SOCKET_HANDLE
accept(
    IN SOCKET_HANDLE,              //socket to accept on
    OUT struct sockaddr *,         //peer address
    OUT int *);                    //size of peer address

int
bind(
    IN SOCKET_HANDLE,              //socket to bind
    IN struct sockaddr *,          //address to bind to
    IN int);                       //size of address

int
connect(
    IN SOCKET_HANDLE,              //socket to connect from
    IN struct sockaddr *,          //address to connect to
    IN int);                       //size of address

int
listen(
    IN SOCKET_HANDLE,              //socket to listen with
    IN int);                       //length of listen queue

int
getpeername(
    IN SOCKET_HANDLE,              //connected socket to get peer of
    OUT struct sockaddr *,         //buffer to put peer address into
    OUT int *);                    //length of buffer

int
getsockname(
    IN SOCKET_HANDLE,              //socket to get the address of
    OUT struct sockaddr *,         //buffer to put my address into
    OUT int *);                    //length of buffer


int
poll(
    IN OUT struct pollfd *,
    IN unsigned int,
    IN int);

int
recv(
    IN SOCKET_HANDLE,              //socket to receive with
    IN char *,                     //buffer to receive into
    IN int,                        //size of buffer
    IN int);                       //receive flags

int
recvfrom(
    IN SOCKET_HANDLE,              //socket to receive with
    OUT char *,                    //buffer to receive into
    IN int,                        //size of buffer
    IN int,                        //receive flags
    OUT struct sockaddr *,         //address received from
    OUT int *);                    //size of address

int
send(
    IN SOCKET_HANDLE,              //socket to send from
    IN char *,                     //buffer to send
    IN int,                        //size of buffer
    IN int);                       //send flags

int
sendto(
    IN SOCKET_HANDLE,              //socket to send from
    IN char *,                     //buffer to send
    IN int,                        //size of buffer
    IN int,                        //send flags
    IN struct sockaddr *,          //address to send to
    IN int);                       //size of address

SOCKET_HANDLE
socket(
    IN int,                         //address family
    IN int,                         //socket type
    IN int);                        //protocol

int
so_recv(
    IN SOCKET_HANDLE,               //socket to receive with
    OUT char *,                     //buffer to receive into
    IN int,                         //size of buffer
    OUT int *);                     //receive flags

int
setsockopt(
	IN SOCKET_HANDLE,
	int,
	int,
	char *,
	int);

int
getsockopt(
	IN SOCKET_HANDLE,
	int,
	int,
	char *,
	int *);

int
shutdown(
	IN SOCKET_HANDLE,
	IN int);

	
//
// Host name control
//
	
int
gethostname(
    OUT char *name,
    IN int namelen
    );

int
sethostname (
    IN char *name,
    IN int   namelen
    );


//
//  Remote execution utilities
//

SOCKET_HANDLE
rcmd(
    IN OUT char         **ahost,
    IN unsigned short     inport,
    IN char              *locuser,
    IN char              *remuser,
    IN char              *cmd,
    IN OUT SOCKET_HANDLE        *fd2p      OPTIONAL
    );

SOCKET_HANDLE
rresvport(
    IN OUT unsigned short *port
    );

SOCKET_HANDLE
rexec(
    IN  char          **ahost,
    IN  unsigned short  rport,
    IN  char           *name,
    IN  char           *pass,
    IN  char           *cmd,
    OUT SOCKET_HANDLE         *fd2p      OPTIONAL
    );


//
//  Resolver error return utilities
//

DWORD
GetLastHError(
    VOID
    );

VOID
SetLastHError(
    DWORD ErrCode
    );


#endif //PSXSOCK_INCLUDED