]>
Commit | Line | Data |
---|---|---|
1c001dd2 | 1 | /* cygserver_transport.h |
f449bfef | 2 | |
73ea29f4 | 3 | Copyright 2001, 2002 Red Hat Inc. |
f449bfef RC |
4 | |
5 | Written by Robert Collins <rbtcollins@hotmail.com> | |
6 | ||
1c001dd2 | 7 | This file is part of Cygwin. |
f449bfef | 8 | |
1c001dd2 CS |
9 | This software is a copyrighted work licensed under the terms of the |
10 | Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
11 | details. */ | |
f449bfef RC |
12 | |
13 | #ifndef _CYGSERVER_TRANSPORT_ | |
14 | #define _CYGSERVER_TRANSPORT_ | |
f449bfef | 15 | |
1c001dd2 CS |
16 | class transport_layer_base *create_server_transport (); |
17 | ||
f449bfef RC |
18 | class transport_layer_base |
19 | { | |
1c001dd2 CS |
20 | public: |
21 | #ifndef __INSIDE_CYGWIN__ | |
22 | virtual int listen () = 0; | |
23 | virtual class transport_layer_base *accept (bool *recoverable) = 0; | |
24 | #endif | |
25 | ||
26 | virtual void close () = 0; | |
27 | virtual ssize_t read (void *buf, size_t len) = 0; | |
28 | virtual ssize_t write (void *buf, size_t len) = 0; | |
29 | virtual int connect () = 0; | |
30 | ||
31 | #ifndef __INSIDE_CYGWIN__ | |
32 | virtual void impersonate_client (); | |
33 | virtual void revert_to_self (); | |
34 | #endif | |
35 | ||
36 | virtual ~transport_layer_base (); | |
f449bfef RC |
37 | }; |
38 | ||
39 | #endif /* _CYGSERVER_TRANSPORT_ */ |