source: trunk/src/emx/include/socks.h@ 689

Last change on this file since 689 was 183, checked in by bird, 22 years ago

#434: Initial tcpip header merges.

  • Property cvs2svn:cvs-rev set to 1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.0 KB
Line 
1/*-----------------------------------------------------------------
2Copyright (c) 1989 Regents of the University of California.
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions
7are met:
81. Redistributions of source code must retain the above copyright
9 notice, this list of conditions and the following disclaimer.
102. Redistributions in binary form must reproduce the above copyright
11 notice, this list of conditions and the following disclaimer in the
12 documentation and/or other materials provided with the distribution.
133. All advertising materials mentioning features or use of this software
14 must display the following acknowledgement:
15 This product includes software developed by the University of
16 California, Berkeley and its contributors.
174. Neither the name of the University nor the names of its contributors
18 may be used to endorse or promote products derived from this software
19 without specific prior written permission.
20
21THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31SUCH DAMAGE.
32
33-----------------------------------------------------------------
34Portions Copyright (c) 1993, 1994 by NEC Systems Laboratory.
35
36Permission to use, copy, modify, and distribute this software for
37any purpose with or without fee is hereby granted, provided that
38the above copyright notice and this permission notice appear in all
39copies, and that the name of NEC Systems Laboratory not be used in
40advertising or publicity pertaining to distribution of the document
41or software without specific, written prior permission.
42
43THE SOFTWARE IS PROVIDED ``AS IS'' AND NEC SYSTEMS LABORATORY DISCLAIMS
44ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
45WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NEC
46SYSTEMS LABORATORY BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
47CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
48OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
49OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
50OR PERFORMANCE OF THIS SOFTWARE.
51
52-----------------------------------------------------------------*/
53#ifndef _SOCKS_H_
54#define _SOCKS_H_
55#include <netinet\in.h>
56
57/*
58 * Default port number for SOCKS services.
59 */
60#define SOCKS_DEF_PORT 1080
61
62/* Current SOCKS protocol version */
63#define SOCKS_VERSION 4
64
65/*
66** Response commands/codes
67*/
68#define SOCKS_CONNECT 1
69#define SOCKS_BIND 2
70#define SOCKS_RESULT 90
71#define SOCKS_FAIL 91
72#define SOCKS_NO_IDENTD 92 /* Failed to connect to Identd on client machine */
73#define SOCKS_BAD_ID 93 /* Client's Identd reported a different user-id */
74
75typedef unsigned long u_int32;
76
77typedef struct {
78 u_int32 host; /* in network byte order */
79 unsigned short port; /* in network byte oreder */
80 unsigned char version;
81 unsigned char cmd;
82} Socks_t;
83
84
85typedef struct socksdata {
86 /* the following feilds are for socks */
87 char * socks_server;
88 char * socks_serverlist;
89 int direct;
90 struct sockaddr_in cursin;
91 int socks_conn_sock;
92 unsigned short socks_port;
93 unsigned short socks_conn_port;
94 unsigned short socks_last_conn_port;
95 unsigned long socks_conn_host;
96 unsigned long socks_last_conn_host;
97 struct sockaddr_in socks_nsin;
98 struct sockaddr_in me;
99} SD;
100#endif
Note: See TracBrowser for help on using the repository browser.